Strumenti Utente

Strumenti Sito


apireference:lifecycle_oggetto

Sommario

Lifecycle di un oggetto

Un oggetto può assumere uno dei seguenti stati:

GENERATO

ATTIVO

CANCELLATO

Solo gli oggetti in stato “ATTIVO” sono ricercabili da api

Gli oggetti in stato “ATTIVO” o “GENERATO” sono caricabili e salvabili da API

Il comportamento degli oggetti in stato “CANCELLATO” in caricamento o aggiornamento è dipendente dall'implementazione e, tendenzialmente potrebbe essere:

  • consentito (low-consistency - high availability environments, undelete feature)
  • triggerare un errore (high-consistency scenario)

Gli oggetti generati devono essere committati entro un tempo massimo, oltre il quale potrebbero essere rimossi, se la rimozione significhi portarli in stato CANCELLATO o eliminarli fisicamente è dipendente dall'implementazione. Un oggetto generato referenziato da un oggetto attivo potrebbe essere committato automaticamente alla scadenza.

Ciò nonostante non è richiesto (anzi, non bisogna) richiedere la cancellazione esplicita degli elementi non committati.

Questa specifica non prevede prescrizioni particolari per gli oggetti cancellati, se debbano essere archiviati esternamento o rimossi fisicamente dopo un certo tempo.

Esempio:

1) Un attore richiede la generazione di un oggetto di un certo modello

Il backend ritorna l'oggetto con:

  • uuid
  • created
  • createdby
  • ownedby
  • campi con valori di default

Lo stesso viene salvato in base dati (non è ricercabile, ma è caricabile da api, salvabile, e utilizzabile come referenza in altri oggetti)

2) (facoltativo) L'attore popola i campi dell'oggetto e lo salva

Lo stesso viene salvato in base dati (non è ricercabile, ma è caricabile da api, salvabile, e utilizzabile come referenza in altri oggetti)

3) L'attore popola i campi dell'oggetto, e valorizza il campo committed a un numero intero positivo e lo salva

Lo stesso viene salvato in base dati, vengono valorizzati i campi committed e committedby (ora è utilizzabile e ricercabile a tutti gli effetti)

4) L'attore popola i campi dell'oggetto e lo salva

Lo stesso viene salvato in base dati

5) L'attore popola il campo deleted a un valore intero positivo e lo salva

Lo stesso viene salvato in base dati, vengono valorizzati i campi deleted e deletedby (l'oggetto non è più ricercabile)

apireference/lifecycle_oggetto.txt · Ultima modifica: 2024/04/08 12:44 da marcomerlino