- Szycy
- 24 kwietnia 2026 22:39 UTC
- Autor
- Kamo
- Pochęt się
- 3bc4f64
Zasób na instancyjny CRUD (rozszerzenia / użytkownicy / urządzenia / poczta głosowa): - VoipExtensionsController na - VoipUsersController at /api/voip/instances/users/users - VoipDevicesController na - VoipVoicemailController na . - Każdy GET akceptuje „refresh-true, aby wymusić od dostawcy i odświeżyć pamięć podręczną;” W przeciwnym razie służy z lokalnej pamięci podręcznej dla snappy UI. - Każda ścieżka pisania wywołuje dostawcę i wstawia lokalną pamięć podręczną, więc zagregowana Widoki pozostają spójne bez czekania na kolejną zaplanowaną synchronizację. - Poczta głosowa GET /-vmId/audio przesyła surowy dźwięk od dostawcy za pośrednictwem StreamingResponseBody więc UI może "audio src"...> to bezpośrednio. Org-agregat (VoipOrggatAggregate Kontroler pod adresem /api/voip/org): - /wygłady, /użytatory, /urządzenia, /voicemails wracają wiersze w każdym przypadku Z "instancjąId, instanceName" pigułki. UI renderuje je do zagregowanych Zakładki w /settings/features/phone. - /serie w zakresie zdrowia kontrolnego() na każdym aktywnym przypadku w równoległej natężeniu (przez buszkowaną liczbę InstanceSyncService), zwraca InstanceHealthDto[]. - POST / synchronizacja działa InstanceSyncSyncSService przeciwko każdej aktywnej instancji Aktualny org. Widnieje przycisk "Sync this org now w interfejsie użytkownika". Synchronizacja wewnętrzna (VoipInternalSyncController): - POST /internal/voip/sync-global pętle na wszystkie aktywne instancje w całej. Nazywany planowaną pracą DaemonService Quartz. Chronione przez istniejące InternalAuthFilter w VOIPService. Buduje zieleń.