„api v1 json properties“ ändern

mpeltriaux 2022-04-27 09:29:35 +02:00
parent d9aeb556e9
commit 14c0f27740

@ -1,37 +1,5 @@
# Json Attribute
## Eingriff
* `type`: Muss immer `MultiPolygon` sein
* `coordinates`: Enthält die Koordinaten der Geometrie(n) (EPSG:4326)
* `properties`: Enthält die Attribute des Eingriffsobjektes
* `title` (str): Bezeichnung/Titel des Eingriffs
* `responsible`: Enthält Informationen zu zuständigen Akteuren (Zulassungsbehörde, Naturschutzbehörde, Eingriffsverursacher)
* `responsible.registration_office` (str): Identifiziert eindeutig eine Zulassungsbehörde (bspw. "untere Baubehörde - Kreisverwaltung XY")
* `responsible.registration_file_number` (str): Aktenzeichen der Zulassungsbehörde
* `responsible.conservation_office` (str): Identifiziert eindeutig eine Eintragungsstelle/Naturschutzbehörde (bspw. "Kreisverwaltung XY")
* `responsible.conservation_file_number` (str): Aktenzeichen der Eintragungsstelle
* `responsible.handler`: Enthält Informationen zum Eingriffsverursacher
* `responsible.handler.type` (str): Identifiziert eindeutig die Art des Verursachers (bspw. "Stadt", "Sonstige und private Träger", ...)
* `responsible.handler.details` (str): Details zum Eingriffsverursacher
* `legal`: Enthält Informationen zum rechtlichen Status des Eingriffs
* `legal.registration_date` (str): Zulassungsdatum (ISO Format)
* `legal.binding_date` (str): Bestandskraftdatum/Ende der Widerspruchsfrist (ISO Format)
* `legal.process_type` (str): Identifiziert eindeutig einen Verfahrenstyp für den Eingriff (bspw. "Genehmigung", "Kenntnisgabe", ...)
* `legal.laws` (list): Identifiziert eine Menge von Gesetzen auf deren Grundlage der Eingriff genehmigt wurde
* `payments` (list): Enthält Informationen zu einer Menge von Ersatzzahlungen
* `payment.amount` (float): Zahlungsbetrag in €
* `payment.due_on` (str): Zahlungstermin (ISO Format)
* `payment.comment` (str): Kommentar zur Zahlung (Falls kein Termin angegeben werden kann, soll erklärt werden weshalb)
### Pflichtattribute
#### beim Anlegen
Initial wird per API mindestens ein `title` und eine (ggf. leere) Geometrie erwartet. Alle übrigen Informationen können nachträglich per `PUT` bearbeitet/hinzugefügt werden.
#### beim Bearbeiten
Es werden nur die Attribute in `properties` ausgewertet, die vorhanden sind. Soll z.B. nur ein Aktenzeichen des Eingriffs geändert werden, genügt es in `properties` nur das `responsible` Objekt und darin nur z.B. `registration_file_number` mitzusenden. Alle übrigen Daten bleiben unverändert.
**Achtung:**
Dieser Ablauf bezieht sich nur auf Attribute in `properties`. Die aktuell zu verwendende Geometrie muss immer mitgeschickt werden.
### Beispiel
<details>
@ -105,4 +73,67 @@ Dieser Ablauf bezieht sich nur auf Attribute in `properties`. Die aktuell zu ver
}
```
</details>
</details>
### Attribute
* `type`:
* Muss immer `MultiPolygon` sein
* `coordinates`:
* Enthält die Koordinaten der Geometrie(n) (EPSG:4326)
* `properties`:
* Enthält die Attribute des Eingriffsobjektes
* `title` (str):
* Bezeichnung/Titel des Eingriffs
* `responsible`:
* Enthält Informationen zu zuständigen Akteuren (Zulassungsbehörde, Naturschutzbehörde, Eingriffsverursacher)
* `responsible.registration_office` (str):
* Identifiziert eindeutig eine Zulassungsbehörde (bspw. "untere Baubehörde - Kreisverwaltung XY")
* `responsible.registration_file_number` (str): A
* ktenzeichen der Zulassungsbehörde
* `responsible.conservation_office` (str):
* Identifiziert eindeutig eine Eintragungsstelle/Naturschutzbehörde (bspw. "Kreisverwaltung XY")
* `responsible.conservation_file_number` (str):
* Aktenzeichen der Eintragungsstelle
* `responsible.handler`:
* Enthält Informationen zum Eingriffsverursacher
* `responsible.handler.type` (str):
* Identifiziert eindeutig die Art des Verursachers (bspw. "Stadt", "Sonstige und private Träger", ...)
* `responsible.handler.details` (str):
* Details zum Eingriffsverursacher
* `legal`:
* Enthält Informationen zum rechtlichen Status des Eingriffs
* `legal.registration_date` (str):
* Zulassungsdatum (ISO Format)
* `legal.binding_date` (str):
* Bestandskraftdatum/Ende der Widerspruchsfrist (ISO Format)
* `legal.process_type` (str):
* Identifiziert eindeutig einen Verfahrenstyp für den Eingriff (bspw. "Genehmigung", "Kenntnisgabe", ...)
* `legal.laws` (list):
* Identifiziert eine Menge von Gesetzen auf deren Grundlage der Eingriff genehmigt wurde
* `payments` (list):
* Enthält Informationen zu einer Menge von Ersatzzahlungen
* `payment.amount` (float):
* Zahlungsbetrag in €
* `payment.due_on` (str):
* Zahlungstermin (ISO Format)
* `payment.comment` (str):
* Kommentar zur Zahlung (Falls kein Termin angegeben werden kann, soll erklärt werden weshalb)
### Pflichtattribute
#### beim Anlegen
Initial wird per API mindestens ein `title` und eine (ggf. leere) Geometrie erwartet. Alle übrigen Informationen können nachträglich per `PUT` bearbeitet/hinzugefügt werden.
#### beim Bearbeiten
Es werden nur die Attribute in `properties` ausgewertet, die vorhanden sind. Soll z.B. nur ein Aktenzeichen des Eingriffs geändert werden, genügt es in `properties` nur das `responsible` Objekt und darin nur z.B. `registration_file_number` mitzusenden. Alle übrigen Daten bleiben unverändert.
**Achtung:**
Dieser Ablauf bezieht sich nur auf Attribute in `properties`. Die aktuell zu verwendende Geometrie muss immer mitgeschickt werden.
### Null Werte
Falls ein Attribut gelöscht werden soll, kann beim nächsten `PUT` der leere Wert `null` für dieses Attribut angegeben werden. Für Listenattribute wird hingegen die leere Liste [] genutzt.
### Auswertung von Listen
Listenattribute werden, falls angegeben, immer vollständig ausgewertet. Soll also eine gesetzte Liste ["a", "b", "c"] mittels `PUT` überarbeitet werden und z.B. "b" entfernt werden, muss die Liste wie folgt beim nächsten `PUT` angegeben werden: ["a", "c"].
Sollen alle Einträge in der Liste entfernt werden, wird die leere Liste übergeben: []