From 32acf345f67fc3ede0f1980ad7c247c0ee1f93ba Mon Sep 17 00:00:00 2001 From: arsam Date: Fri, 18 Sep 2026 23:13:47 +0330 Subject: [PATCH] Import source: backend/src/worker Import the existing local project snapshot. This commit organizes existing files; it does not represent newly developed functionality. --- backend/src/worker.ts | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 backend/src/worker.ts diff --git a/backend/src/worker.ts b/backend/src/worker.ts new file mode 100644 index 0000000..623e82e --- /dev/null +++ b/backend/src/worker.ts @@ -0,0 +1,19 @@ +import { store } from './services/store.js'; +import { deleteFile } from './utils/gdrive.js'; + +async function expireFiles() { + const now = Date.now(); + await store.update(async (db) => { + const toExpire = db.files.filter( + (f) => f.status === 'uploaded' && new Date(f.expiresAt).getTime() <= now, + ); + await Promise.allSettled(toExpire.map((f) => deleteFile(f.gdriveId))); + for (const file of toExpire) { + file.status = 'expired'; + file.deletedAt = new Date().toISOString(); + } + }); +} + +await expireFiles(); +setInterval(expireFiles, 60_000);