melsk-r / HC-common-issues

0 stars 0 forks source link

Pas DD 5.22 aan n.a.v. dubbele $ref in datum.yaml in HC BRP API #29

Open melsk-r opened 3 months ago

melsk-r commented 3 months ago

Originally created by melsk-r (https://github.com/VNG-Realisatie/Haal-Centraal-common/issues/126):

In DD5.22 staat nu

Bij gebruik van allOf is er altijd exact één component waarnaar gerefereerd wordt en één gedefinieerd object met ten minste één property.

In het voorstel voor datum.yaml (BRP API) staat echter:

 GbaDatum:
  description: Datum conform LO GBA
  allOf:
    - $ref: '#/components/schemas/AbstractDatum'
    - $ref: '#/components/schemas/GbaDatumBasis'
  required:
    - datum
  example:
    value:
      type: GbaDatum
      datum: "20180700"

dus 2 componenten waarnaar gerefereerd wordt en geen object waarin minimaal één property wordt toegevoegd. Inmiddels is me duidelijk dat het toch wat genuanceerder ligt. Er mogen maximaal 2 componenten zijn waarnaar gerefereerd wordt omdat C# en .Net maar van 2 objecten kunnen overerven, multieritance wordt daar niet ondersteund. De vraag is echter of de eis dat er daarnaast ook één gedefinieerd object met ten minste één property aanwezig moet zijn in die situatie nog steeds geldt.

Dus, moet het worden:

Bij gebruik van allOf

  • is er exact één component waaraan gerefereerd wordt en één gedefinieerd object met ten minste één property.
  • of zijn er twee en niet meer dan twee componenten waarnaar gerefereerd wordt.

of

Bij gebruik van allOf

  • is er exact één component waaraan gerefereerd wordt en één gedefinieerd object met ten minste één property.
  • of zijn er twee en niet meer dan twee componenten waarnaar gerefereerd wordt met optioneel nog één gedefinieerd object met ten minste één property.

of ligt het nog genuanceerder?