Commit Graph

  • 75f682a215 fix(docs): Update architecture diagram for improved clarity and accuracy main bitbylaw 2026-02-09 11:07:13 +00:00
  • 64b8c8f366 feat(docs): Revise architecture overview and diagram for clarity and accuracy bitbylaw 2026-02-09 10:55:31 +00:00
  • 8dc699ec9e feat(sync): Add force_espo_wins option for conflict resolution in bidirectional sync bitbylaw 2026-02-09 10:30:01 +00:00
  • af00495cee feat(sync): Optimize matching and updating of communication entries in bidirectional sync bitbylaw 2026-02-09 09:52:52 +00:00
  • fa45aab5a9 fix(cron): Correct calendar sync schedule to run every 15 minutes bitbylaw 2026-02-08 23:13:34 +00:00
  • 7856dd1d68 Add tests for Kommunikation Sync implementation and verification scripts bitbylaw 2026-02-08 23:05:56 +00:00
  • a157d3fa1d feat(docs): Update documentation for Kommunikation Sync and VMH Sync steps, marking legacy files and enhancing clarity bitbylaw 2026-02-08 23:03:44 +00:00
  • 89fc657d47 feat(sync): Implement comprehensive sync fixes and optimizations as of February 8, 2026 bitbylaw 2026-02-08 22:59:47 +00:00
  • 440ad506b8 feat(docs): Add SYNC_STATUS_ANALYSIS documentation for syncStatus values and responsibilities in EspoCRM bitbylaw 2026-02-08 22:47:12 +00:00
  • e057f9fa00 Enhance KommunikationSyncManager and Sync Event Step bitbylaw 2026-02-08 22:21:08 +00:00
  • 8de2654d74 feat(sync): Fix Var6 revert logic for direction='to_advoware' and enhance conflict handling bitbylaw 2026-02-08 22:07:55 +00:00
  • 79e097be6f feat(sync): Implement auto-reset for permanently_failed entities and add retry backoff logic bitbylaw 2026-02-08 21:12:00 +00:00
  • 6e0e9a9730 feat: Enhance logging in sync utilities and add code validation script bitbylaw 2026-02-08 20:10:47 +00:00
  • bfe2f4f7e3 feat: Add Kommunikation-Sync documentation for bidirectional synchronization between EspoCRM and Advoware bitbylaw 2026-02-08 19:58:43 +00:00
  • ebbbf419ee feat: Implement bidirectional synchronization utilities for Advoware and EspoCRM communications bitbylaw 2026-02-08 19:53:40 +00:00
  • da9a962858 feat: Integrate NotificationManager for handling notifications in sync operations bitbylaw 2026-02-08 14:42:33 +00:00
  • b4e41e7381 feat: Add test notification system for EspoCRM integration bitbylaw 2026-02-08 14:40:02 +00:00
  • c770f2c8ee feat: Implement address synchronization between EspoCRM and Advoware bitbylaw 2026-02-08 14:29:29 +00:00
  • 68c8b398aa feat: Implement VMH Bankverbindungen sync handlers and API steps for create, update, and delete operations bitbylaw 2026-02-08 12:49:14 +00:00
  • 709456301c feat: Optimize initial sync logic and remove redundant rowId updates in sync process bitbylaw 2026-02-07 22:38:53 +00:00
  • 7a7a322389 feat: Remove redundant update filtering logic in VMH Webhook handler bitbylaw 2026-02-07 22:29:33 +00:00
  • d10554ea9d feat: Update dateOfBirth mapping and enhance rowId handling in sync process for Beteiligte bitbylaw 2026-02-07 22:27:29 +00:00
  • d5bc17e454 feat: Remove redundant conflict resolution logging in handle_update function bitbylaw 2026-02-07 21:53:37 +00:00
  • bed3c09bb1 feat: Improve logging and rowId handling in sync process for Advoware and EspoCRM bitbylaw 2026-02-07 21:52:58 +00:00
  • 99fb2e22c7 feat: Enhance mapping logic in BeteiligteMapper for additional fields and improved comments bitbylaw 2026-02-07 21:36:50 +00:00
  • f3d41dbb7f feat: Add comprehensive documentation for Advoware Beteiligte API field support and best practices bitbylaw 2026-02-07 21:36:11 +00:00
  • 32c3dc1c37 feat: Enhance sync process with rowId-based change detection and update handling for Advoware and EspoCRM bitbylaw 2026-02-07 21:26:03 +00:00
  • 3d3014750f feat: Enhance sync conflict detection and resolution logic in BeteiligteSync class bitbylaw 2026-02-07 20:04:58 +00:00
  • 101f290293 feat: Implement entity comparison logic for improved sync detection between EspoCRM and Advoware bitbylaw 2026-02-07 19:41:20 +00:00
  • 9076688f58 fix: Replace warning with warn method in logger for consistency in Beteiligte sync steps bitbylaw 2026-02-07 19:18:38 +00:00
  • 46f9301a17 feat: Update advowareLastSync to use EspoCRM datetime format for consistency in sync operations bitbylaw 2026-02-07 19:14:57 +00:00
  • 3354aef936 feat: Refactor webhook handlers for Beteiligte to improve ID processing and logging, and enhance update filtering logic bitbylaw 2026-02-07 18:53:54 +00:00
  • ae1d96f767 Add sync strategy documentation and templates for bidirectional sync between EspoCRM and Advoware bitbylaw 2026-02-07 15:54:13 +00:00
  • 8550107b89 feat: Enhance Advoware API integration with backward compatibility for data payloads and improve logging for sync events bitbylaw 2026-02-07 15:44:56 +00:00
  • b5abe6cf00 Implement EspoCRM-based sync strategy for Beteiligte entities bitbylaw 2026-02-07 15:21:16 +00:00
  • e6ab22d5f4 feat: Add EspoCRM and Advoware integration for Beteiligte comparison bitbylaw 2026-02-07 14:42:58 +00:00
  • 36552903e7 cleanup bitbylaw 2026-02-07 09:23:49 +00:00
  • 96eabe3db6 Refactor calendar sync to prioritize oldest synced employees with human-readable timestamps root 2025-10-26 08:58:48 +00:00
  • b18e770f12 refactor: extract common functions to utils root 2025-10-25 09:21:45 +00:00
  • e4bf21e676 Refactor: Extract common utilities to shared module root 2025-10-25 08:54:54 +00:00
  • c5600b42ec feat: Enhance audit_calendar_sync tool with comprehensive management features root 2025-10-25 08:18:48 +00:00
  • c5ddd02307 Add query and verification features for individual appointments by frNr or Google Event ID root 2025-10-25 07:53:43 +00:00
  • 1539c26be6 Expand audit_calendar_sync.py to comprehensive management tool with pagination, duplicate detection/deletion, and orphaned calendar cleanup root 2025-10-25 07:48:35 +00:00
  • 62f57bb035 Fix ensure_google_calendar to fetch all calendars with pagination to avoid missing calendars on later pages root 2025-10-25 07:42:05 +00:00
  • b4c4bf0a9e Improve calendar sync: Add Token Bucket rate limiting, security check to prevent syncing Advoware-sourced events back, fix random import root 2025-10-24 23:56:00 +00:00
  • 6ab7b4a376 Rate Limiting: Atomisches Lua Script zur Vermeidung von Race Conditions root 2025-10-24 21:54:47 +00:00
  • 774ed3fa0e Dokumentation: Globales Rate Limiting hinzugefügt root 2025-10-24 20:44:20 +00:00
  • 3c6d7e13c6 Globales Rate Limiting: 600 Anfragen/Minute über gleitendes Fenster mit Redis root 2025-10-24 20:43:46 +00:00
  • dcb2dba50f API-Schutz: 100ms Verzögerung bei allen Google API Calls (create, update, delete) root 2025-10-24 19:58:18 +00:00
  • 2bf37b8616 Fix: Korrekte Endzeiten für recurring Events root 2025-10-24 19:48:12 +00:00
  • d154ba8172 Fix: ACL-Prüfung bei existierenden Google-Kalendern root 2025-10-24 19:27:59 +00:00
  • 9d40f47e19 Refaktorierung Calendar Sync: Event-driven Design, Fixes für mehrtägige Termine, Logging und Locking root 2025-10-24 19:13:41 +00:00
  • f4490f21cb Fix logging to appear in Motia workbench root 2025-10-24 07:04:57 +00:00
  • 72ee01b74b Add recreated count to sync statistics root 2025-10-24 06:32:33 +00:00
  • 858d3d4fb3 Add final statistics logging to event step showing operations performed root 2025-10-24 06:16:02 +00:00
  • c14273cac9 Integrate delete calendar functionality into audit script root 2025-10-24 01:11:06 +00:00
  • 25429edd76 Extend debug mode in cron step to accept list of kuerzel (SB, AI, RO) root 2025-10-24 01:08:09 +00:00
  • 2eb8330b1d Implement atomic locking in API and cron steps for per-employee parallel sync root 2025-10-24 00:48:25 +00:00
  • 9a1eb5bf0b Remove lock checking and setting from event step, keep only deletion in finally root 2025-10-24 00:44:31 +00:00
  • f6bcbe664c Fix event handler signature to async def handler(event_data, context) root 2025-10-24 00:38:12 +00:00
  • d18187f3aa Change event topic to calendar_sync_employee without dots to fix INVALID EMIT root 2025-10-24 00:29:09 +00:00
  • 6d2089ec69 Ensure Redis lock is always released with finally block root 2025-10-24 00:26:18 +00:00
  • 9ca3191542 Add flows to API and cron steps to fix INVALID EMIT error root 2025-10-24 00:22:51 +00:00
  • b70619ab2d Update API step to trigger sync for specific employee with kuerzel root 2025-10-24 00:20:41 +00:00
  • 8e9dc87b2a Refactor calendar sync for parallel processing: cron emits per-employee events, event-step processes one employee with per-employee locks root 2025-10-24 00:19:34 +00:00
  • 409bea3615 Update logging to use Motia workbench context for visibility root 2025-10-24 00:12:53 +00:00
  • ddad58faa3 Refactor calendar sync phases into separate functions for better modularity root 2025-10-24 00:10:09 +00:00
  • c91d3fc76d Fix 'adv_map' not defined error by correcting state dict references root 2025-10-24 00:08:18 +00:00
  • 11ca7a5e75 Add missing phase functions to event step root 2025-10-23 23:58:53 +00:00
  • 3a1ed1ee55 Refactor calendar sync: move employee loop to cron step, parallel sync per employee root 2025-10-23 23:57:51 +00:00
  • d15bd04167 Fix variable references in calendar sync after refactoring root 2025-10-23 23:53:38 +00:00
  • a6d061a708 Refactor calendar sync: reduce redundancies, remove dead code, improve structure root 2025-10-23 23:48:16 +00:00
  • 42949c6871 Fix systemd service for automatic Motia startup root 2025-10-23 23:37:52 +00:00
  • 5ef77c91d5 Fix Advoware time filtering pitfall: extend ranges (Advoware -1 to +9 years, Google -2 to +10 years) and document issue in README root 2025-10-23 23:28:49 +00:00
  • db1206f91c Fix recurring event duplication - handle recurringEventId properly in all phases root 2025-10-23 18:46:49 +00:00
  • da2b9960b0 Fix recurring event duplication - handle recurringEventId properly in all phases root 2025-10-23 18:30:46 +00:00
  • 582c9422dc Fix recurring event duration bug - use datum instead of datumBis for event end time root 2025-10-23 18:15:58 +00:00
  • ddd64a5e0f Fix critical bug: End date for recurring events should use 'datum' not 'datumBis' root 2025-10-23 18:12:02 +00:00
  • 08b21ef268 Fix cron handler signature: remove event parameter from cron step root 2025-10-23 17:33:58 +00:00
  • 080eebd5ea Fix calendar sync issues: correct True/False, limit recurrence to 2 years, add share_google_calendar function root 2025-10-23 13:53:51 +00:00
  • 974116c024 Sync all employees in loop, remove employee_kuerzel requirement, update README root 2025-10-23 13:02:52 +00:00
  • 7b6e287b66 Remove AI limit, update README, fix update loops by setting last_sync to post-update time root 2025-10-23 12:57:33 +00:00
  • 48ce8d8e73 Add exponential backoff for Google API calls root 2025-10-23 12:49:45 +00:00
  • 0d758b07ea Fix KeyError in Phase 3 recreate: use str(frnr) for adv_map key root 2025-10-23 12:44:54 +00:00
  • 9312586f18 Fix Advoware timestamp parsing bug causing sync loops root 2025-10-23 12:43:22 +00:00
  • 0d54243e9d Fix Phase 3 logic for symmetric delete handling: remove 'sb' field, add employee_kuerzel to updates, correct missing event recreation/deletion based on source_system root 2025-10-23 11:53:24 +00:00
  • 019a2d4ede Update logging levels: API calls and init messages to debug, keep warnings as warnings and other as info root 2025-10-23 11:28:00 +00:00
  • 9f50f201df Fix Phase 4 in calendar sync to reset unauthorized changes in target system based on timestamps for source_system_wins strategy root 2025-10-23 11:26:25 +00:00
  • 7d5403b4af Fix calendar sync Phase 3 logic for missing Advoware appointments when source is Google; update README with Advoware API peculiarities root 2025-10-23 11:13:15 +00:00
  • a58e6d10a6 Fix Advoware API call to return None on JSON parse error instead of raising, for methods like DELETE that return 200 with no body. root 2025-10-23 10:56:44 +00:00
  • 96fa1f58f5 Update log message for Phase 3 delete operation to reflect the corrected logic. root 2025-10-23 10:51:08 +00:00
  • 6a72809817 Fix Phase 3 logic for source_system_wins: when Google event is missing and source is Google, propagate delete to Advoware instead of recreating. root 2025-10-23 10:49:25 +00:00
  • ed669f8561 Fix Phase 3 delete logic for source_system_wins: propagate delete to Google when Advoware appointment is missing and source is Advoware, instead of recreating. root 2025-10-23 10:42:49 +00:00
  • 9ab90fef5a Fix timestamp-based update logic and remove global last_sync update to prevent redundant syncs and race conditions. Update README with anonymization and latest changes. root 2025-10-23 10:40:00 +00:00
  • 1de5bcd369 Pre-optimization commit: Calendar sync implementation with hub design root 2025-10-23 08:29:46 +00:00
  • 2f9203cac2 Add calendar sync step files: API, cron, and event handlers for bidirectional Advoware-Google Calendar sync root 2025-10-22 23:37:28 +00:00
  • 0a4317c44a Update README.md with comprehensive documentation of Advoware Calendar Sync implementation, including API quirks, token security, and known issues root 2025-10-22 23:36:21 +00:00
  • c897f4c39d Fix: Logger-Aufrufe durch print statements ersetzt root 2025-10-22 19:08:00 +00:00
  • 805a1cce3e Fix: context Parameter für get_google_service Funktion root 2025-10-22 19:06:07 +00:00
  • 76a236ac37 Google Calendar Sync graceful handling für fehlende Credentials root 2025-10-22 19:05:16 +00:00