Per-instance controller delle risorse + org aggregato + sincronizzazione interna

FeatureVOIPService
Spegnimento
24 aprile 2026 alle ore 22:39 UTC
Autore
Kamo
Impegno
3bc4f64

CRUD (estensione / utenti / dispositivi / segreteria): - VoipExtensionsController a... - VoipUsersController a /api/voip/instances/{id}/users - VoipDevicesController a... - VoipVoicemailController all'indirizzo. - Ogni GET accetta ?refresh=true per forzare-fetch dal fornitore e aggiornare la cache; altrimenti serve dalla cache locale per l'interfaccia utente snappy. - Ogni percorso di scrittura chiama il fornitore e aggiorna la cache locale in modo che l'aggregato le viste rimangono coerenti senza aspettare la prossima sincronizzazione programmata. - Voicemail GET /{vmId}/audio trasmette l'audio grezzo dal fornitore via StreamingResponseBody in modo che l'interfaccia utente possa <audio src=...> direttamente. Org-aggregate (VoipOrgAggregateController a /api/voip/org): - /estensione, /users, /dispositivi, /voicemails restituisce righe in ogni caso con {instanceId, istanzaName} pillole. L'interfaccia utente li rende aggregati schede in /settings/features/phone. - /health run checkHealth() su ogni istanza attiva in parallelo per-instance (tramite i conteggi cacheti di SystemSyncService), restituisce l'istanzaHealthDto[]. - POST /sync esegue instanceSyncService contro ogni istanza attiva corrente. Attiva il pulsante "Sync this org now" nell'interfaccia utente. Sincronizzazione interna (VoipInternalSyncController): - POST /internal/voip/sync-global loops tutte le istanze attive piattaforma-wide. Chiamato dal lavoro al quarzo di DaemonService. Protetto dall'esistente InternalAuthFilter in VOIPService. Costruisce il verde.

Tutte le modifiche

Come quello che vedi la spedizione?

Ognuno di questi aggiornamenti atterra automaticamente nello spazio di lavoro. Inizia gratis e guardalo crescere settimana dopo settimana.

Inizia gratis per sempreVisualizza il prezzo