Refaktorierung Calendar Sync: Event-driven Design, Fixes für mehrtägige Termine, Logging und Locking

- Refaktorierung zu event-driven Ansatz ohne PostgreSQL Hub
- Fixes für mehrtägige Termine: korrekte Verwendung von datumBis, Entfernung 24h-Limit
- Per-Employee Locking mit Redis
- Logging via context.logger für Motia Workbench
- Neue Schritte: calendar_sync_all_step.py, calendar_sync_cron_step.py
- Aktualisiertes README.md mit aktueller Architektur
- Workbench-Gruppierung: advoware-calendar-sync
This commit is contained in:
root
2025-10-24 19:13:41 +00:00
parent f4490f21cb
commit 9d40f47e19
7 changed files with 258 additions and 361 deletions

5
bitbylaw/types.d.ts vendored
View File

@@ -25,7 +25,8 @@ declare module 'motia' {
'Advoware Proxy GET': ApiRouteHandler<Record<string, unknown>, unknown, never>
'Advoware Proxy DELETE': ApiRouteHandler<Record<string, unknown>, unknown, never>
'Calendar Sync Event Step': EventHandler<never, never>
'Calendar Sync Cron Job': CronHandler<{ topic: 'calendar_sync_employee'; data: never }>
'Calendar Sync API Trigger': ApiRouteHandler<Record<string, unknown>, unknown, { topic: 'calendar_sync_employee'; data: never }>
'Calendar Sync Cron Job': CronHandler<{ topic: 'calendar_sync_all'; data: never }>
'Calendar Sync API Trigger': ApiRouteHandler<Record<string, unknown>, unknown, { topic: 'calendar_sync_employee'; data: never } | { topic: 'calendar_sync_all'; data: never }>
'Calendar Sync All Step': EventHandler<never, { topic: 'calendar_sync_employee'; data: never }>
}
}