Files
speckle-server/packages/server/modules/fileuploads/services/tasks.ts
T
Kristaps Fabians Geikins 4b06f42db7 chore(server): run TS files directly (no compilation) (#5134)
* sort of works

* type fixes

* added option to run old way too
2025-07-23 11:20:40 +02:00

25 lines
872 B
TypeScript

import type { Logger } from '@/observability/logging'
import type {
GarbageCollectPendingUploadedFiles,
NotifyChangeInFileStatus
} from '@/modules/fileuploads/domain/operations'
export const manageFileImportExpiryFactory = (deps: {
garbageCollectExpiredPendingUploads: GarbageCollectPendingUploadedFiles
notifyUploadStatus: NotifyChangeInFileStatus
}) => {
const { garbageCollectExpiredPendingUploads, notifyUploadStatus } = deps
return async (params: { logger: Logger; timeoutThresholdSeconds: number }) => {
const { logger, timeoutThresholdSeconds } = params
const updatedUploads = await garbageCollectExpiredPendingUploads({
timeoutThresholdSeconds
})
logger.info(`Expired ${updatedUploads.length} pending uploads`)
for (const upload of updatedUploads) {
await notifyUploadStatus({
file: upload
})
}
}
}