diff --git a/apps/api/src/routes/events.ts b/apps/api/src/routes/events.ts index aef146e..1f675f2 100644 --- a/apps/api/src/routes/events.ts +++ b/apps/api/src/routes/events.ts @@ -34,6 +34,7 @@ import { expandOccurrences } from '../broker/expand.js'; import { extractRruleString } from '../broker/vevent.js'; import { getAuth } from '../auth/middleware.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') import '../auth/devBypass.js'; @@ -306,6 +307,7 @@ eventsRouter.post('/create', zValidator('json', eventFieldsSchema), async (c) => payload: JSON.stringify(payload), }); + signalOutboxDrain(); return c.json({ uid }, 202); } catch (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); } @@ -444,6 +447,7 @@ eventsRouter.patch('/:uid/edit', zValidator('json', eventFieldsSchema), async (c payload: JSON.stringify(payload), }); + signalOutboxDrain(); return c.json({ uid }, 202); } catch (err) { console.error('[events/edit] DB operation failed:', err); @@ -518,6 +522,7 @@ eventsRouter.delete('/:uid', async (c) => { etag: eventRow.etag ?? undefined, }); + signalOutboxDrain(); return c.json({ uid }, 202); } catch (err) { console.error('[events/delete] DB operation failed:', err);