From 92dd4b3e5a701823ebb5a453aa42202da8a326ea Mon Sep 17 00:00:00 2001 From: syuilo Date: Thu, 12 Apr 2018 04:05:03 +0900 Subject: wip --- src/models/user.ts | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/models/user.ts') diff --git a/src/models/user.ts b/src/models/user.ts index b1a68b0827..6155324be8 100644 --- a/src/models/user.ts +++ b/src/models/user.ts @@ -11,6 +11,8 @@ import AccessToken, { deleteAccessToken } from './access-token'; import NoteWatching, { deleteNoteWatching } from './note-watching'; import Favorite, { deleteFavorite } from './favorite'; import NoteReaction, { deleteNoteReaction } from './note-reaction'; +import MessagingMessage, { deleteMessagingMessage } from './messaging-message'; +import MessagingHistory, { deleteMessagingHistory } from './messaging-history'; const User = db.get('users'); @@ -173,8 +175,19 @@ export async function deleteUser(user: string | mongo.ObjectID | IUser) { ).map(x => deleteFavorite(x))); // このユーザーのMessageをすべて削除 + await Promise.all(( + await MessagingMessage.find({ userId: u._id }) + ).map(x => deleteMessagingMessage(x))); // このユーザーへのMessageをすべて削除 + await Promise.all(( + await MessagingMessage.find({ recipientId: u._id }) + ).map(x => deleteMessagingMessage(x))); + + // このユーザーの関わるMessagingHistoryをすべて削除 + await Promise.all(( + await MessagingHistory.find({ $or: [{ partnerId: u._id }, { userId: u._id }] }) + ).map(x => deleteMessagingHistory(x))); // このユーザーのDriveFileをすべて削除 -- cgit v1.2.3-freya