Interface ComunicazioniApi


public interface ComunicazioniApi
Gestisce le comunicazioni del Banco, i riscontri dei destinatari e la consegna degli avvisi operativi. Richieste rimane responsabile della pratica e delle azioni a cui puntano gli avvisi.
  • Method Details

    • inviaComunicazione

      Invia una comunicazione del Banco. Il modulo risolve e registra gli account destinatari al momento dell'invio e rende disponibili nell'app la comunicazione e gli allegati.
      Parameters:
      attore - identità verificata del Banco di coordinamento
      dati - testo, selezione destinatari ed eventuali allegati
      Returns:
      comunicazione registrata
      Throws:
      SecurityException - se l'attore non è il Banco
      IllegalArgumentException - se mancano testo o destinatari, la selezione è incoerente o un allegato non rispetta le regole di caricamento
    • elencoInviate

      Elenca per il Banco le comunicazioni inviate, consultabili anche dopo l'invio.
      Parameters:
      attore - identità verificata del Banco di coordinamento
      Returns:
      comunicazioni inviate, senza contenuto binario
      Throws:
      SecurityException - se l'attore non è il Banco
    • elencoRicevute

      Elenca le comunicazioni ricevute dall'account autenticato.
      Parameters:
      attore - identità verificata dell'account che consulta la propria casella
      Returns:
      comunicazioni con eventuale riscontro dell'account, senza contenuto binario
    • consultaComunicazione

      ComunicazioniApi.Comunicazione consultaComunicazione(UtenzeApi.IdentitaAutenticata attore, UUID comunicazioneId)
      Consulta il testo e i metadati degli allegati. L'apertura lascia il riscontro invariato.
      Parameters:
      attore - identità verificata del Banco o dell'account destinatario
      comunicazioneId - identificativo della comunicazione
      Returns:
      comunicazione visibile all'account
      Throws:
      SecurityException - se l'attore non può leggere la comunicazione
      NoSuchElementException - se la comunicazione non esiste
    • scaricaAllegato

      Scarica un allegato con gli stessi controlli di accesso della comunicazione.
      Parameters:
      attore - identità verificata del Banco o dell'account destinatario
      allegatoId - identificativo dell'allegato
      Returns:
      file e relativi metadati
      Throws:
      SecurityException - se l'attore non può leggere la comunicazione
      NoSuchElementException - se l'allegato non esiste
    • confermaRicezione

      Instant confermaRicezione(UtenzeApi.IdentitaAutenticata attore, UUID comunicazioneId)
      Registra la conferma esplicita per l'account destinatario. Un nuovo tentativo dello stesso account per la stessa comunicazione restituisce la data e l'ora del primo riscontro.
      Parameters:
      attore - identità verificata dell'account destinatario
      comunicazioneId - identificativo della comunicazione ricevuta
      Returns:
      istante della prima conferma
      Throws:
      SecurityException - se l'account non è un destinatario
      NoSuchElementException - se la comunicazione non esiste
    • elencoRiscontri

      List<ComunicazioniApi.Riscontro> elencoRiscontri(UtenzeApi.IdentitaAutenticata attore, UUID comunicazioneId)
      Elenca i riscontri per il Banco, inclusi i destinatari che devono ancora confermare.
      Parameters:
      attore - identità verificata del Banco di coordinamento
      comunicazioneId - identificativo della comunicazione inviata
      Returns:
      una voce per account destinatario
      Throws:
      SecurityException - se l'attore non è il Banco
      NoSuchElementException - se la comunicazione non esiste
    • avvisaDisponibilita

      void avvisaDisponibilita(UUID richiestaId, UUID contattoId, UUID destinatarioId)
      Registra l'avviso per un contatto di disponibilità acquisito da Richieste. Più chiamate per lo stesso contatto e destinatario producono un solo avviso visibile nell'app.
      Parameters:
      richiestaId - riferimento alla pratica
      contattoId - riferimento al contatto da aprire per rispondere
      destinatarioId - unico account interpellato, determinato da Richieste
    • avvisaAnnullamento

      void avvisaAnnullamento(UUID richiestaId, Set<UUID> destinatari)
      Registra gli avvisi per un annullamento acquisito da Richieste. Più chiamate per la stessa richiesta producono un solo avviso di annullamento per account destinatario.
      Parameters:
      richiestaId - riferimento alla pratica annullata
      destinatari - account coinvolti individuati da Richieste
    • elencoAvvisiOperativi

      Elenca gli avvisi operativi destinati all'account, senza esporre i dati della pratica.
      Parameters:
      attore - identità verificata dell'account destinatario
      Returns:
      avvisi visibili al destinatario, eventualmente nessuno