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..86224e318 Binary files /dev/null and b/src/server/file/assets/tombstone.png differ 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);