Phase 9: Faster Write-Back (CAL-15) — event-driven outbox drain #14
@@ -34,6 +34,7 @@ import { expandOccurrences } from '../broker/expand.js';
|
|||||||
import { extractRruleString } from '../broker/vevent.js';
|
import { extractRruleString } from '../broker/vevent.js';
|
||||||
import { getAuth } from '../auth/middleware.js';
|
import { getAuth } from '../auth/middleware.js';
|
||||||
import { upsertUser, deriveDisplayName } from '../auth/user.js';
|
import { upsertUser, deriveDisplayName } from '../auth/user.js';
|
||||||
|
import { signalOutboxDrain } from '../lib/outboxTrigger.js';
|
||||||
// Side-effect import: brings in the ContextVariableMap augmentation for c.get('user')
|
// Side-effect import: brings in the ContextVariableMap augmentation for c.get('user')
|
||||||
import '../auth/devBypass.js';
|
import '../auth/devBypass.js';
|
||||||
|
|
||||||
@@ -306,6 +307,7 @@ eventsRouter.post('/create', zValidator('json', eventFieldsSchema), async (c) =>
|
|||||||
payload: JSON.stringify(payload),
|
payload: JSON.stringify(payload),
|
||||||
});
|
});
|
||||||
|
|
||||||
|
signalOutboxDrain();
|
||||||
return c.json({ uid }, 202);
|
return c.json({ uid }, 202);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.error('[events/create] DB operation failed:', err);
|
console.error('[events/create] DB operation failed:', err);
|
||||||
@@ -429,6 +431,7 @@ eventsRouter.patch('/:uid/edit', zValidator('json', eventFieldsSchema), async (c
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
signalOutboxDrain();
|
||||||
return c.json({ uid: newUid }, 202);
|
return c.json({ uid: newUid }, 202);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -444,6 +447,7 @@ eventsRouter.patch('/:uid/edit', zValidator('json', eventFieldsSchema), async (c
|
|||||||
payload: JSON.stringify(payload),
|
payload: JSON.stringify(payload),
|
||||||
});
|
});
|
||||||
|
|
||||||
|
signalOutboxDrain();
|
||||||
return c.json({ uid }, 202);
|
return c.json({ uid }, 202);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.error('[events/edit] DB operation failed:', err);
|
console.error('[events/edit] DB operation failed:', err);
|
||||||
@@ -518,6 +522,7 @@ eventsRouter.delete('/:uid', async (c) => {
|
|||||||
etag: eventRow.etag ?? undefined,
|
etag: eventRow.etag ?? undefined,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
signalOutboxDrain();
|
||||||
return c.json({ uid }, 202);
|
return c.json({ uid }, 202);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.error('[events/delete] DB operation failed:', err);
|
console.error('[events/delete] DB operation failed:', err);
|
||||||
|
|||||||
Reference in New Issue
Block a user