From 19af2d7a7ba3b582fd321bd202701d07d2e12f03 Mon Sep 17 00:00:00 2001 From: syuilo Date: Tue, 23 Oct 2018 07:04:00 +0900 Subject: Implement #2983 --- src/services/note/delete.ts | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src/services/note/delete.ts') diff --git a/src/services/note/delete.ts b/src/services/note/delete.ts index d86ca6e506..599525ac8c 100644 --- a/src/services/note/delete.ts +++ b/src/services/note/delete.ts @@ -11,6 +11,7 @@ import perUserNotesChart from '../../chart/per-user-notes'; import config from '../../config'; import NoteUnread from '../../models/note-unread'; import read from './read'; +import DriveFile from '../../models/drive-file'; /** * 投稿を削除します。 @@ -48,6 +49,17 @@ export default async function(user: IUser, note: INote) { }); }); + // ファイルが添付されていた場合ドライブのファイルの「このファイルが添付された投稿一覧」プロパティからこの投稿を削除 + if (note.fileIds) { + note.fileIds.forEach(fileId => { + DriveFile.update({ _id: fileId }, { + $pull: { + 'metadata.attachedNoteIds': note._id + } + }); + }); + } + //#region ローカルの投稿なら削除アクティビティを配送 if (isLocalUser(user)) { const content = pack(renderDelete(renderTombstone(`${config.url}/notes/${note._id}`), user)); -- cgit v1.2.3-freya