From 245eb5b59fa2793901a7940b4d18a277139a55d2 Mon Sep 17 00:00:00 2001 From: syuilo Date: Tue, 17 Apr 2018 20:04:19 +0900 Subject: [PATCH] tombstone --- src/models/drive-file.ts | 1 + src/server/file/assets/tombstone.png | 3 +++ src/server/file/send-drive-file.ts | 6 ++++++ 3 files changed, 10 insertions(+) create mode 100644 src/server/file/assets/tombstone.png diff --git a/src/models/drive-file.ts b/src/models/drive-file.ts index 0d0a6523d..a8878d119 100644 --- a/src/models/drive-file.ts +++ b/src/models/drive-file.ts @@ -29,6 +29,7 @@ export type IMetadata = { folderId: mongo.ObjectID; comment: string; uri: string; + deletedAt?: Date; }; export type IDriveFile = { diff --git a/src/server/file/assets/tombstone.png b/src/server/file/assets/tombstone.png new file mode 100644 index 000000000..a5c8e828d --- /dev/null +++ b/src/server/file/assets/tombstone.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bbc253852228f7800fc028363615a040eef9b6adbf47c8ad09bc7aca9a98a5d2 +size 6387 diff --git a/src/server/file/send-drive-file.ts b/src/server/file/send-drive-file.ts index e6ee19ff1..ef458265a 100644 --- a/src/server/file/send-drive-file.ts +++ b/src/server/file/send-drive-file.ts @@ -22,6 +22,12 @@ export default async function(ctx: Koa.Context) { return; } + if (file.metadata.deletedAt) { + ctx.status = 410; + await send(ctx, `${__dirname}/assets/tombstone.png`); + return; + } + const bucket = await getGridFSBucket(); const readable = bucket.openDownloadStream(fileId);