Fix clean deleted files handler

This commit is contained in:
Hakan Shehu
2025-01-06 15:25:00 +01:00
parent c384d7a4f4
commit 4824d43646
2 changed files with 13 additions and 25 deletions

View File

@@ -17,8 +17,8 @@ declare module '@/main/jobs' {
export class CleanDeletedFilesJobHandler
implements JobHandler<CleanDeletedFilesInput>
{
public triggerDebounce = 0;
public interval = 1000 * 60;
public triggerDebounce = 1000;
public interval = 1000 * 60 * 10;
public async handleJob(input: CleanDeletedFilesInput) {
await fileService.cleanDeletedFiles(input.userId);

View File

@@ -408,7 +408,8 @@ class FileService {
const fileIdMap: Record<string, string> = {};
for (const file of batch) {
fileIdMap[file.split('_')[0]!] = file;
const id = path.parse(file).name;
fileIdMap[id] = file;
}
const fileIds = Object.keys(fileIdMap);
@@ -419,29 +420,16 @@ class FileService {
.execute();
for (const fileId of fileIds) {
if (!fileStates.some((f) => f.file_id === fileId)) {
const filePath = path.join(
getWorkspaceFilesDirectoryPath(userId),
fileIdMap[fileId]!
);
fs.rmSync(filePath, { force: true });
const deletedFileState = await workspaceDatabase
.deleteFrom('file_states')
.returningAll()
.where('file_id', '=', fileId)
.executeTakeFirst();
if (!deletedFileState) {
continue;
}
eventBus.publish({
type: 'file_state_deleted',
userId,
fileState: mapFileState(deletedFileState),
});
const fileState = fileStates.find((f) => f.file_id === fileId);
if (fileState) {
continue;
}
const filePath = path.join(
getWorkspaceFilesDirectoryPath(userId),
fileIdMap[fileId]!
);
fs.rmSync(filePath, { force: true });
}
}
}