added attachment cleanup in tasks
CI / build (push) Has been skipped
CI / deploy_prod (push) Successful in 1m25s
CI / deploy_dev (push) Has been skipped

This commit is contained in:
2026-03-04 18:25:37 -06:00
parent 4c096f18d7
commit 0e85603699
2 changed files with 54 additions and 3 deletions
+29
View File
@@ -552,6 +552,35 @@ export const cleanupNoteAttachments = async (noteId: string) => {
}
};
export const cleanupTaskAttachments = async (taskId: string) => {
if (!pb.authStore.isValid) return;
try {
const task = store.tasks.find(t => t.id === taskId);
if (!task) return;
const record = await pb.collection(TASGRID_COLLECTION).getOne(taskId);
if (!record.attachments || record.attachments.length === 0) return;
const content = task.content || "";
const filesToDelete: string[] = [];
for (const filename of record.attachments) {
if (!content.includes(filename)) {
filesToDelete.push(filename);
}
}
if (filesToDelete.length > 0) {
await pb.collection(TASGRID_COLLECTION).update(taskId, {
"attachments-": filesToDelete
});
console.log(`[CLEANUP] Deleted ${filesToDelete.length} orphaned attachment(s) for task ${taskId}`);
}
} catch (err) {
console.error("[CLEANUP] Failed to clean up orphaned task attachments:", err);
}
};
const mapRecordToShareRule = (r: any): ShareRule => {
return {
id: r.id,