diff options
| author | syuilo <syuilotan@yahoo.co.jp> | 2018-04-12 04:05:03 +0900 |
|---|---|---|
| committer | syuilo <syuilotan@yahoo.co.jp> | 2018-04-12 04:05:03 +0900 |
| commit | 92dd4b3e5a701823ebb5a453aa42202da8a326ea (patch) | |
| tree | fc573e1345e82de1db0df4a33b8f18e00a244be3 /src/models/user.ts | |
| parent | wip (diff) | |
| download | misskey-92dd4b3e5a701823ebb5a453aa42202da8a326ea.tar.gz misskey-92dd4b3e5a701823ebb5a453aa42202da8a326ea.tar.bz2 misskey-92dd4b3e5a701823ebb5a453aa42202da8a326ea.zip | |
wip
Diffstat (limited to 'src/models/user.ts')
| -rw-r--r-- | src/models/user.ts | 13 |
1 files changed, 13 insertions, 0 deletions
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<IUser>('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をすべて削除 |