diff --git a/src/services/drive/delete-file.ts b/src/services/drive/delete-file.ts index c5c15ca20..c77b3996f 100644 --- a/src/services/drive/delete-file.ts +++ b/src/services/drive/delete-file.ts @@ -7,7 +7,7 @@ import perUserDriveChart from '../../services/chart/per-user-drive'; import instanceChart from '../../services/chart/instance'; import DriveFileWebpublic, { DriveFileWebpublicChunk } from '../../models/drive-file-webpublic'; import Instance from '../../models/instance'; -import { isRemoteUser } from '../../models/user'; +import User, { isRemoteUser } from '../../models/user'; export default async function(file: IDriveFile, isExpired = false) { if (file.metadata.storage == 'minio') { @@ -56,6 +56,12 @@ export default async function(file: IDriveFile, isExpired = false) { $set: set }); + await Promise.all(['avatarId', 'bannerId', 'wallpaperId'] + .map(target => User.find({ [target]: file._id }) + .then(x => Promise.all(x.map(x => User.update({ _id: x._id }, { + $unset: { [target]: file._id } + })))))); + //#region サムネイルもあれば削除 const thumbnail = await DriveFileThumbnail.findOne({ 'metadata.originalId': file._id