summaryrefslogtreecommitdiff
path: root/src/models/user.ts
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2018-04-12 04:05:03 +0900
committersyuilo <syuilotan@yahoo.co.jp>2018-04-12 04:05:03 +0900
commit92dd4b3e5a701823ebb5a453aa42202da8a326ea (patch)
treefc573e1345e82de1db0df4a33b8f18e00a244be3 /src/models/user.ts
parentwip (diff)
downloadmisskey-92dd4b3e5a701823ebb5a453aa42202da8a326ea.tar.gz
misskey-92dd4b3e5a701823ebb5a453aa42202da8a326ea.tar.bz2
misskey-92dd4b3e5a701823ebb5a453aa42202da8a326ea.zip
wip
Diffstat (limited to 'src/models/user.ts')
-rw-r--r--src/models/user.ts13
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をすべて削除