O que excluir realmente faz, por recurso
“Excluir” significa coisas diferentes dependendo do que você exclui pela RealityConnect API. Alguns recursos vão para uma lixeira recuperável; a maioria é removida definitivamente. Esta página é a referência recurso por recurso para planejar lógica de limpeza ou de reconciliação de sincronização.
Comportamento de exclusão por recurso
Seção intitulada “Comportamento de exclusão por recurso”| Recurso | Exclusão | Restauração | Purga |
|---|---|---|---|
| Nó de dados (divisão, site, pasta, twin, projeto, Data Bundle, Asset Library etc.) | Reversível (vai para a lixeira) | PATCH /v1/nodes/{nodeId}/restore | Automática 30 dias após a exclusão, ou imediata via DELETE /v1/nodes/{nodeId}/hard |
| POI | Definitiva | Não disponível | Imediata |
| Zona | Definitiva | Não disponível | Imediata |
| Box asset | Definitiva | Não disponível | Imediata |
| Model asset (RealityPlan) | Definitiva | Não disponível | Imediata |
| Modelo da Asset Library | Definitiva (bloqueada enquanto algum asset ainda o referenciar) | Não disponível | Imediata após desbloqueado |
| Etiqueta da Asset Library | Definitiva | Não disponível | Imediata |
| Grupo | Definitiva | Não disponível | Imediata |
| Membership de grupo | Definitiva | Não disponível | Imediata |
| Convite (organização ou nó) | Definitiva (revogação) | Não disponível | Imediata |
| Anexo de objeto | Definitiva (remove apenas o arquivo armazenado) | Não disponível | Imediata |
Somente nós de dados têm lixeira. Qualquer outro recurso desta tabela desaparece assim que a chamada de exclusão é bem-sucedida, sem nenhuma via de recuperação no servidor.
Nós de dados: exclusão reversível e lixeira
Seção intitulada “Nós de dados: exclusão reversível e lixeira”DELETE /v1/nodes/{nodeId} exclui um nó de forma reversível: ele vai para a lixeira da organização em vez de ser removido. Um nó na lixeira:
- É listado por
GET /v1/trash(paginado, ordenável pordeletedAtouname). - Pode ser restaurado com
PATCH /v1/nodes/{nodeId}/restore, que pode falhar com409 StorageLimitExceededse a restauração fizer a organização ultrapassar sua cota de armazenamento. - É removido definitivamente com
DELETE /v1/nodes/{nodeId}/hard, ou automaticamente 30 dias após ir para a lixeira.
Tanto a restauração quanto a exclusão definitiva retornam 409 NoNodeRemoved se o nó não estiver atualmente na lixeira, incluindo um id de nó que nunca foi excluído, ou um que já foi excluído definitivamente ou purgado automaticamente.
Excluir definitivamente um nó também remove seus descendentes na lixeira e quaisquer linhas de derivados que envolvam nós desse subárvore. Nós fora do subárvore que porventura derivem de algo dentro dele não são afetados.
O que bloqueia a exclusão de um nó
Seção intitulada “O que bloqueia a exclusão de um nó”DELETE /v1/nodes/{nodeId} pode ser rejeitada com 409 Conflict por três motivos:
| Código | Significado | Contornável com ?force=true? |
|---|---|---|
NodeHasDerivatives | O nó tem saídas derivadas (por exemplo, resultados processados) que precisam ser removidas primeiro. A resposta lista em derivatives[] exatamente quais nós estão bloqueando. | Não |
NodeHasBundleDependants | O Data Bundle do nó tem dependentes. | Não |
NodeNotInDeletableState | O nó está sendo processado no momento, ou o processamento falhou (isProcessing / isFailed). | Sim |
force=true (uma string de consulta, exatamente "true" ou "false") só contorna NodeNotInDeletableState. Um nó com derivados ou dependentes de bundle precisa ser resolvido antes: não há como contornar isso. Veja Códigos de Erro para a forma completa da resposta e o tratamento sugerido.
Os modelos da Asset Library têm sua própria versão, mais simples, dessa mesma trava: DELETE /v1/asset-library/{ownerContextId}/models/{libraryModelId} retorna 409 Conflict enquanto algum asset ainda referenciar o modelo. Assim que a última referência desaparece, a exclusão é definitiva e não recuperável, não é uma exclusão reversível como a de um nó.
Nós excluídos de forma reversível na navegação e na busca
Seção intitulada “Nós excluídos de forma reversível na navegação e na busca”Um nó excluído de forma reversível some imediata e incondicionalmente de GET /v1/nodes/{id}/browse e GET /v1/nodes/search: nenhum dos dois endpoints tem parâmetro para incluir nós na lixeira. A única forma de ver um nó na lixeira é GET /v1/trash; restaurá-lo é o que o torna navegável e pesquisável novamente.
Para saber como funcionam a hierarquia de nós e a busca em si, veja Tipos de Nó e Hierarquia e Pesquisando Objetos de Negócio e Nós.
Próximos passos
Seção intitulada “Próximos passos”- Códigos de Erro para o conjunto completo de códigos de erro nomeados, incluindo todos os referenciados nesta página.
- O que
contextIdAceita para resolver ocontextIdusado para endereçar POIs, zonas, assets e anexos.