Collapse filing sync notifications into one batch surface

This commit is contained in:
2026-03-14 19:32:09 -04:00
parent 61b072d31f
commit 0d6c684227
9 changed files with 1148 additions and 280 deletions

View File

@@ -129,6 +129,27 @@ export async function enqueueTask(input: EnqueueTaskInput) {
}
}
export async function findOrEnqueueTask(input: EnqueueTaskInput) {
if (!input.resourceKey) {
return await enqueueTask(input);
}
const existingTask = await findInFlightTaskByResourceKey(
input.userId,
input.taskType,
input.resourceKey
);
if (existingTask) {
const reconciledTask = await reconcileTaskWithWorkflow(existingTask);
if (reconciledTask.status === 'queued' || reconciledTask.status === 'running') {
return reconciledTask;
}
}
return await enqueueTask(input);
}
export async function findInFlightTask(userId: string, taskType: TaskType, resourceKey: string) {
const task = await findInFlightTaskByResourceKey(userId, taskType, resourceKey);