Questa pagina sostituisce /api/czba/schedule-call del monolite. La differenza non e'
solo di indirizzo: il monolite parlava con Google usando credenziali proprie, qui l'evento
lo crea il backend Buddies con la propria catena di credenziali (la stessa del calendar
watcher). Il nodo e' una catena di tre anelli:
1. l'evento viene creato su Google con il panda fra gli invitati →
2. il calendar_watcher lo rivede entro 5 minuti dall'inizio e riconosce
il panda dall'indirizzo → 3. parte l'auto-join su /meet/join.
Se l'indirizzo dell'invitato non e' fra quelli riconosciuti, l'evento si crea comunque ma
il panda non entrera' mai in call: per questo l'indirizzo non e' modificabile a mano.
La creazione di una call (/api/create-calendar-event) è aperta: nessun segreto
richiesto (CZBA-CONSOLE-UNLOCK 09/09). L'annullamento invece resta protetto da
require_internal: per annullare serve il segreto admin ("Sblocca admin").
L'elenco qui sotto è pubblico e si vede anche in sola lettura.
Verifica di coerenza fra chi crea l'evento e chi lo riconosce. Gli indirizzi elencati qui sono quelli che il watcher accetta: se il panda scelto non compare, l'auto-join non scattera'.
Il watcher gira ogni 60 secondi e guarda i 5 minuti successivi: un evento creato adesso per
fra un'ora viene raccolto solo a ridosso dell'orario, non subito. Un evento senza link
Meet viene saltato: il link lo genera Google al momento della creazione
(conferenceDataVersion=1), quindi va sempre verificato in elenco.
Fonte: GET /api/calendar/upcoming-panda-calls, che legge direttamente Google su tutte
le integrazioni collegate. Il monolite teneva invece un file JSON locale
(data/panda-scheduled-calls.json) che poteva divergere dal calendario reale: qui la
fonte di verita' e' Google, quindi compaiono anche gli eventi creati altrove.