Salta ai contenuti
IT

Esportazione, importazione e clonazione

POST /api/rooms/:roomId/export (token permission: read) # empty body {} = full room → .gpkg
POST /api/rooms/:roomId/import (token permission: write) # multipart file=@room.gpkg, ≤ 2 GiB
Terminal window
curl -X POST "$API/api/rooms/$ROOM/export" -H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" -d '{}' -o room.gpkg
curl -X POST "$API/api/rooms/$ROOM/import" -H "Authorization: Bearer $TOKEN" -F "file=@room.gpkg"

Il corpo e la query dell’esportazione rispecchiano le opzioni dell’app (?include_tiffs=&include_tiles=).

GET /api/rooms/:roomId/export-size (token permission: read)

{ "bytes", "thresholdBytes", "recommended": "sync" | "async" }. Usala per scegliere fra la via sincrona e le attività asincrone (l’app passa automaticamente oltre i ~2 GiB).

POST /api/rooms/:roomId/export-jobs (read) → 202 { "jobId": "<uuid>" }
GET /api/rooms/:roomId/export-jobs/:jobId (read) → { status, bytes, error?, startedAt, finishedAt }
GET /api/rooms/:roomId/export-jobs/:jobId/artifact (read) → .gpkg stream

Gli id delle attività sono legati alla stanza (interrogare l’attività di un’altra stanza → 404). Gli artefatti scadono dopo 24 ore.

Clonare una stanza grande (manifesto di riconnessione)

Sezione intitolata “Clonare una stanza grande (manifesto di riconnessione)”

Le stanze molto grandi superano il limite di importazione di 2 GiB, quindi vengono clonate invece che ricaricate — il server copia i dati sottostanti sul posto.

GET /api/rooms/:roomId/export-manifest (read) # small .json — no bulk data inside
POST /api/rooms/:roomId/clone-jobs (write) → 202 { "jobId": "job-<uuid>" }
GET /api/layers/jobs/:jobId # poll: { stage, progress, layersCloned, ... }

Il manifesto contiene segnaposto, icone, forme disegnate e configurazioni dei livelli; i dati voluminosi dei livelli sono referenziati solo tramite l’id della stanza di origine e copiati sul server nella stanza di destinazione. I byte copiati vengono conteggiati sulla quota di spazio del proprietario di destinazione.