Wat verwijderen echt doet, per resource
“Verwijderen” betekent iets anders afhankelijk van wat je verwijdert via de RealityConnect API. Sommige resources gaan naar een herstelbare prullenbak, de meeste worden definitief verwijderd. Deze pagina is de referentie per resource voor het ontwerpen van opruim- of synchronisatie-reconciliatielogica.
Verwijdergedrag per resource
Section titled “Verwijdergedrag per resource”| Resource | Verwijderen | Herstellen | Definitief verwijderen |
|---|---|---|---|
| Datanode (divisie, site, map, twin, project, Data Bundle, Asset Library enz.) | Zacht (gaat naar de prullenbak) | PATCH /v1/nodes/{nodeId}/restore | Automatisch 30 dagen na verwijdering, of direct via DELETE /v1/nodes/{nodeId}/hard |
| POI | Definitief | Niet beschikbaar | Direct |
| Zone | Definitief | Niet beschikbaar | Direct |
| Box asset | Definitief | Niet beschikbaar | Direct |
| Model asset (RealityPlan) | Definitief | Niet beschikbaar | Direct |
| Asset Library-model | Definitief (geblokkeerd zolang een asset er nog naar verwijst) | Niet beschikbaar | Direct zodra geblokkeerd niet meer geldt |
| Asset Library-tag | Definitief | Niet beschikbaar | Direct |
| Groep | Definitief | Niet beschikbaar | Direct |
| Groepslidmaatschap | Definitief | Niet beschikbaar | Direct |
| Uitnodiging (organisatie of node) | Definitief (intrekken) | Niet beschikbaar | Direct |
| Objectbijlage | Definitief (verwijdert alleen het opgeslagen bestand) | Niet beschikbaar | Direct |
Alleen datanodes hebben een prullenbak. Elke andere resource in deze tabel is weg zodra de verwijderaanroep slaagt, zonder enige herstelmogelijkheid aan de serverkant.
Datanodes: zacht verwijderen en prullenbak
Section titled “Datanodes: zacht verwijderen en prullenbak”DELETE /v1/nodes/{nodeId} verwijdert een node zacht: hij gaat naar de prullenbak van de organisatie in plaats van te worden verwijderd. Een node in de prullenbak:
- Wordt vermeld door
GET /v1/trash(gepagineerd, sorteerbaar opdeletedAtofname). - Kan worden hersteld met
PATCH /v1/nodes/{nodeId}/restore, wat kan mislukken met409 StorageLimitExceededals herstellen de opslagquota van de organisatie zou overschrijden. - Wordt definitief verwijderd met
DELETE /v1/nodes/{nodeId}/hard, of automatisch 30 dagen nadat hij naar de prullenbak ging.
Zowel herstellen als definitief verwijderen geven 409 NoNodeRemoved terug als de node zich op dat moment niet in de prullenbak bevindt, ook voor een node-id dat nooit is verwijderd, of dat al definitief is verwijderd of automatisch is opgeruimd.
Een node definitief verwijderen verwijdert ook de afstammelingen ervan in de prullenbak en alle afgeleide rijen die nodes in die substructuur raken. Nodes buiten die substructuur die toevallig van iets daarbinnen zijn afgeleid, blijven ongemoeid.
Wat het verwijderen van een node blokkeert
Section titled “Wat het verwijderen van een node blokkeert”DELETE /v1/nodes/{nodeId} kan om drie redenen worden geweigerd met 409 Conflict:
| Code | Betekenis | Te omzeilen met ?force=true? |
|---|---|---|
NodeHasDerivatives | De node heeft afgeleide outputs (bijv. verwerkte resultaten) die eerst verwijderd moeten worden. De respons vermeldt in derivatives[] precies welke nodes blokkeren. | Nee |
NodeHasBundleDependants | De Data Bundle van de node heeft afhankelijke objecten. | Nee |
NodeNotInDeletableState | De node wordt momenteel verwerkt, of de verwerking is mislukt (isProcessing / isFailed). | Ja |
force=true (een query-string, exact "true" of "false") omzeilt uitsluitend NodeNotInDeletableState. Een node met afgeleide objecten of bundelafhankelijkheden moet eerst worden opgelost: daar is geen omzeiling voor. Zie Foutcodes voor de volledige responsvorm en de aanbevolen afhandeling.
Asset Library-modellen hebben hun eigen, eenvoudigere versie van diezelfde blokkade: DELETE /v1/asset-library/{ownerContextId}/models/{libraryModelId} geeft 409 Conflict terug zolang een asset het model nog steeds gebruikt. Zodra de laatste verwijzing weg is, is het verwijderen definitief en niet herstelbaar, geen zacht verwijderen zoals bij een node.
Zacht verwijderde nodes in bladeren/zoeken
Section titled “Zacht verwijderde nodes in bladeren/zoeken”Een zacht verwijderde node valt direct en zonder uitzondering weg uit GET /v1/nodes/{id}/browse en GET /v1/nodes/search: geen van beide endpoints heeft een parameter om nodes in de prullenbak op te nemen. De enige manier om een node in de prullenbak te zien is GET /v1/trash; hem herstellen maakt hem weer doorbladerbaar en doorzoekbaar.
Voor hoe de nodehiërarchie en het zoeken zelf werken, zie Nodetypen en Hiërarchie en Business Objects en Nodes Doorzoeken.
Wat is de volgende stap?
Section titled “Wat is de volgende stap?”- Foutcodes voor de volledige verzameling benoemde foutcodes, inclusief alle codes waarnaar deze pagina verwijst.
- Wat
contextIdAccepteert voor het herleiden van decontextIddie wordt gebruikt om POI’s, zones, assets en bijlagen te adresseren.