From 33ad19052446ab65af32e5dec638fd6b8e920915 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Acid=20Chicken=20=28=E7=A1=AB=E9=85=B8=E9=B6=8F=29?= Date: Sat, 23 Feb 2019 17:19:52 +0900 Subject: [PATCH] Update delete-file.ts --- src/services/drive/delete-file.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/services/drive/delete-file.ts b/src/services/drive/delete-file.ts index c5c15ca20..49d5e4e7d 100644 --- a/src/services/drive/delete-file.ts +++ b/src/services/drive/delete-file.ts @@ -1,5 +1,5 @@ import * as Minio from 'minio'; -import DriveFile, { DriveFileChunk, IDriveFile } from '../../models/drive-file'; +import DriveFile, { DriveFileChunk, IDriveFile, getDriveFileBucket } from '../../models/drive-file'; import DriveFileThumbnail, { DriveFileThumbnailChunk } from '../../models/drive-file-thumbnail'; import config from '../../config'; import driveChart from '../../services/chart/drive'; @@ -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