Skip to main content

Kaskadelukk

Kaskadelukk er en utvidet lukkeoperasjon for vegobjekter som lukker alle arvinger med relasjonstype komposisjon i tillegg til å lukke valgt objekt.

Merk at objektene som kan lukkes samtidig er basert på relasjoner som er lagret i NVDB. De er derfor helt uavhengig av hvilke objekter som er importert til kontrakten og eventuelle relasjonsendringer i kontrakten. Dersom noen arvinger med relasjonstype komposisjon ligger i kontrakten vil eventuelle endringer på disse bli tilbakestilt og objektene fjernes fra kontrakten. Selve kaskadelukkingen skjer først ved innsending til NVDB.

Eksempel på API-kall

curl -X 'PUT' \
'https://datafangst.api.vegvesen.no/api/v2/kontrakter/{kontraktId}/vegobjekter/{vegobjektId}/kaskadelukk' \
-H 'accept: */*' \
-H 'X-Client: Geometri-Redigerings-Verktøy'

Eksempel på respons

{
"arvingerFjernetFraKontrakt": ["<arving-uuid>", "..."]
}

Hente arvinger som påvirkes av kaskadelukk

For å se hvilke arvinger som vil lukkes ved innsending med operasjon kaskadelukk, kan det gjøres et eget kall til endepunktet kaskade-paavirkede-barn

Eksempel på API-kall for å se arvinger som påvirkes av kaskadelukk

curl -X 'GET' \
'https://datafangst.api.vegvesen.no/api/v2/kontrakter/{kontraktId}/vegobjekter/{vegobjektId}/relasjoner/kaskade-paavirkede-barn' \
-H 'accept: */*' \
-H 'X-Client: NVDB Datafangst Swagger UI'

Eksempel på respons

{
"toppnivåForeldre": [
{
"foreldre": [],
"vegobjektId": "c1e06eb3-2fd3-4292-a6c2-34a807f0a15b",
"nvdbId": 85735343,
"navn": "Rasteplass 85735343",
"typeId": 39,
"typeFordelteBarn": {
"27": [
{
"foreldre": [],
"nvdbId": 674967785,
"navn": "Renovasjon 674967785",
"typeId": 27,
"typeFordelteBarn": {}
}
],
"28": [
{
"foreldre": [],
"nvdbId": 1012929490,
"navn": "Utemøbler 1012929490",
"typeId": 28,
"typeFordelteBarn": {}
}
],
"508": [
{
"foreldre": [],
"nvdbId": 594238993,
"navn": "Grøntanlegg 594238993",
"typeId": 508,
"typeFordelteBarn": {}
}
],
"623": [
{
"foreldre": [],
"nvdbId": 674967786,
"navn": "Stativ for turistinfo 674967786",
"typeId": 623,
"typeFordelteBarn": {}
},
{
"foreldre": [],
"nvdbId": 674967787,
"navn": "Stativ for turistinfo 674967787",
"typeId": 623,
"typeFordelteBarn": {}
}
]
}
}
],
"feiledeVegobjekter": []
}

Andre måter å kaskadelukke på

Merk: Ved å sette operasjon til kaskadelukk i disse endepunktene har vi ingen automatikk for å fjerne eventuelle arvinger fra kontrakten. Dette betyr at brukeren selv må ta hensyn til å overholde reglene fra Skriv, det kan oppstå problemer dersom man gjør endringer på kaskadepåvirkede arvinger samtidig som man kaskadelukker.

Viktige begrensninger

  • Dersom det fins arvinger i kontrakten med status 'sendt' vil disse ikke fjernes når et objekt får operasjon 'kaskadelukk'.
  • Lukkede objekter kan ikke få nye relasjoner eller redigeres.