Ga naar inhoud

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.


ResourceVerwijderenHerstellenDefinitief verwijderen
Datanode (divisie, site, map, twin, project, Data Bundle, Asset Library enz.)Zacht (gaat naar de prullenbak)PATCH /v1/nodes/{nodeId}/restoreAutomatisch 30 dagen na verwijdering, of direct via DELETE /v1/nodes/{nodeId}/hard
POIDefinitiefNiet beschikbaarDirect
ZoneDefinitiefNiet beschikbaarDirect
Box assetDefinitiefNiet beschikbaarDirect
Model asset (RealityPlan)DefinitiefNiet beschikbaarDirect
Asset Library-modelDefinitief (geblokkeerd zolang een asset er nog naar verwijst)Niet beschikbaarDirect zodra geblokkeerd niet meer geldt
Asset Library-tagDefinitiefNiet beschikbaarDirect
GroepDefinitiefNiet beschikbaarDirect
GroepslidmaatschapDefinitiefNiet beschikbaarDirect
Uitnodiging (organisatie of node)Definitief (intrekken)Niet beschikbaarDirect
ObjectbijlageDefinitief (verwijdert alleen het opgeslagen bestand)Niet beschikbaarDirect

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 op deletedAt of name).
  • Kan worden hersteld met PATCH /v1/nodes/{nodeId}/restore, wat kan mislukken met 409 StorageLimitExceeded als 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:

CodeBetekenisTe omzeilen met ?force=true?
NodeHasDerivativesDe node heeft afgeleide outputs (bijv. verwerkte resultaten) die eerst verwijderd moeten worden. De respons vermeldt in derivatives[] precies welke nodes blokkeren.Nee
NodeHasBundleDependantsDe Data Bundle van de node heeft afhankelijke objecten.Nee
NodeNotInDeletableStateDe 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.

  • Foutcodes voor de volledige verzameling benoemde foutcodes, inclusief alle codes waarnaar deze pagina verwijst.
  • Wat contextId Accepteert voor het herleiden van de contextId die wordt gebruikt om POI’s, zones, assets en bijlagen te adresseren.