====== Appalti ======
===== Gestione delle schede preparatorie =====
La gestione delle schede preparatorie avviene tramite il servizio di storage ed è composta dai seguenti passaggi.
Di seguito il flusso operativo per la gestione di una scheda preparatoria.
+------------------------+
| Inizio |
+-----------+------------+
|
v
+------------------------+
| Creazione file vuoto |
| /v1/media/create/file |
+-----------+------------+
|
| restituisce mediaUUID
v
+------------------------+
| Upload del file |
| /v1/media/upload/:uuid |
+-----------+------------+
|
v
+-------------------------------+
| Impostazione autorizzazioni |
| /v1/auth/:mediaUUID |
+-----------+-------------------+
|
v
+-----------------------------------------------+
| Aggiornamento metadati risorsa booking |
| /booking/v1/book/entity/update/resource/:id |
+-----------+-----------------------------------+
|
v
+------------------------+
| Fine |
+------------------------+
==== 1. Creazione del file vuoto ====
Utilizzare il servizio di storage per creare un nuovo file vuoto tramite l’API:
/v1/media/create/file
Nel body della richiesta specificare il percorso di destinazione, ad esempio:
{
"path": "/booking/appalti/schede_preparatorie/edificio_14"
}
La risposta dell’API restituisce un payload contenente l’identificativo univoco del file.
È necessario conservarlo per le operazioni successive, ad esempio:
{
"errorCode": 0,
"payload": "696f5dd158b473231bfca779"
}
==== 2. Upload del file ====
Per caricare il file all’interno dell’entry appena creata, utilizzare l’API:
/v1/media/upload/:uuid
Sostituire `:uuid` con l’identificativo restituito nel campo `payload` della risposta precedente e allegare il file da caricare.
==== 3. Abilitazione del download per il servizio di booking ====
Per consentire il download del file da parte del servizio di booking, è necessario configurare le autorizzazioni tramite l’API:
/v1/auth/:mediaUUID
Dove `mediaUUID` è l’ID del file.
Nel body della richiesta POST inserire:
{
"authorizedUUID": [
"305f164d-2a14-46d0-920b-e0f4b03611e2"
]
}
dove l'UUID 305f164d-2a14-46d0-920b-e0f4b03611e2 corrisponde all'APP di booking
==== 4. Aggiornamento dei metadati della risorsa di booking ====
Infine, aggiornare i metadati della risorsa di booking in modo che punti al file caricato, utilizzando l’API:
/booking/v1/book/entity/update/resource/:resourceID
Sostituire `:resourceID` con l’identificativo della risorsa e inviare il seguente body nella richiesta POST:
{
"metadata": [
{
"name": "appalti:scheda-preparatoria",
"value": "{ID del file}"
}
]
}