using LehrerApp.Data; using LehrerApp.Sync.Crypto; using LehrerApp.Sync.Models; namespace LehrerApp.Sync; /// /// Wandelt -Aufrufe in ausgehende Sync-Ereignisse um. Wird in /// AppBootstrapper an gehängt, wenn Sync konfiguriert ist — /// dort entsteht aus den ~27 Repository-Aufrufen genau ein verschlüsseltes Ereignis pro Aufruf. /// public class SyncEventPublisher(EventQueue queue, string deviceId, byte[] syncKey) { public void Publish(string entityType, string entityId, string operation, object? payload) { var encrypted = payload is null ? "" : SyncCrypto.EncryptObject(payload, syncKey); queue.Enqueue(deviceId, DeviceType.Desktop, entityType, entityId, operation, encrypted); } }