summaryrefslogtreecommitdiff
path: root/src/services/drive/delete-file.ts
diff options
context:
space:
mode:
authorMeiMei <30769358+mei23@users.noreply.github.com>2018-11-26 04:25:48 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2018-11-26 04:25:48 +0900
commitbcb04924ff08cc90d046ec7064fa0b89cbf9219e (patch)
tree8ba56067c7be24ca06a833e84f052309773da831 /src/services/drive/delete-file.ts
parent:art: (diff)
downloadsharkey-bcb04924ff08cc90d046ec7064fa0b89cbf9219e.tar.gz
sharkey-bcb04924ff08cc90d046ec7064fa0b89cbf9219e.tar.bz2
sharkey-bcb04924ff08cc90d046ec7064fa0b89cbf9219e.zip
Image for web publish (#3402)
* Image for Web * Add comment * Make main to original
Diffstat (limited to 'src/services/drive/delete-file.ts')
-rw-r--r--src/services/drive/delete-file.ts20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/services/drive/delete-file.ts b/src/services/drive/delete-file.ts
index 3e2f42003b..92d0010bcf 100644
--- a/src/services/drive/delete-file.ts
+++ b/src/services/drive/delete-file.ts
@@ -4,6 +4,7 @@ import DriveFileThumbnail, { DriveFileThumbnailChunk } from '../../models/drive-
import config from '../../config';
import driveChart from '../../chart/drive';
import perUserDriveChart from '../../chart/per-user-drive';
+import DriveFileWebpublic, { DriveFileWebpublicChunk } from '../../models/drive-file-webpublic';
export default async function(file: IDriveFile, isExpired = false) {
if (file.metadata.storage == 'minio') {
@@ -20,6 +21,11 @@ export default async function(file: IDriveFile, isExpired = false) {
const thumbnailObj = file.metadata.storageProps.thumbnailKey ? file.metadata.storageProps.thumbnailKey : `${config.drive.prefix}/${file.metadata.storageProps.id}-thumbnail`;
await minio.removeObject(config.drive.bucket, thumbnailObj);
}
+
+ if (file.metadata.webpublicUrl) {
+ const webpublicObj = file.metadata.storageProps.webpublicKey ? file.metadata.storageProps.webpublicKey : `${config.drive.prefix}/${file.metadata.storageProps.id}-original`;
+ await minio.removeObject(config.drive.bucket, webpublicObj);
+ }
}
// チャンクをすべて削除
@@ -48,6 +54,20 @@ export default async function(file: IDriveFile, isExpired = false) {
}
//#endregion
+ //#region Web公開用もあれば削除
+ const webpublic = await DriveFileWebpublic.findOne({
+ 'metadata.originalId': file._id
+ });
+
+ if (webpublic) {
+ await DriveFileWebpublicChunk.remove({
+ files_id: webpublic._id
+ });
+
+ await DriveFileWebpublic.remove({ _id: webpublic._id });
+ }
+ //#endregion
+
// 統計を更新
driveChart.update(file, false);
perUserDriveChart.update(file, false);