Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Producttype eigenschappen : is analoog aan zaaktype eigenschappen #11

Open
alextreme opened this issue Nov 8, 2024 · 3 comments
Open
Assignees
Labels
blocked enhancement New feature or request
Milestone

Comments

@alextreme
Copy link
Member

alextreme commented Nov 8, 2024

Gebruikersverhaal

Als gemeentelijke ontwikkelaar
wil ik dat een ProductType eigenschappen kan bevatten in de vorm van key/value paren
zodat aanvullende metadata flexibel kan worden toegevoegd aan producttypen, en deze informatie bruikbaar is voor integraties en specifieke gemeentelijke toepassingen.


Acceptatiecriteria

Eigenschappen in ProductType

  • Het datamodel van de ProductType-entiteit bevat een veld eigenschappen, waarin een lijst van key/value paren kan worden opgeslagen.
  • Elke eigenschap bevat:
    • key: Een unieke naam voor de eigenschap binnen het ProductType (bijv. "doelgroep", "leveringstijd").
    • value: De waarde die aan de key is gekoppeld (bijv. "inwoners boven 18", "3 werkdagen").
  • Eigenschappen zijn optioneel per ProductType, maar als ze aanwezig zijn, moet elke key uniek zijn binnen hetzelfde ProductType.

Validatie

  • Bij het aanmaken of wijzigen van een eigenschap valideert de API:
    • Dat de key uniek is binnen het ProductType.
    • Dat zowel de key als de value niet leeg zijn.
  • Bij foutieve invoer retourneert de API duidelijke foutmeldingen in het Nederlands, zoals:
    • "De eigenschap-sleutel 'doelgroep' is al in gebruik binnen dit ProductType."
    • "De waarde voor de eigenschap 'leveringstijd' mag niet leeg zijn."

API-functionaliteit

  • Bij het opvragen van een ProductType retourneert de API de lijst van eigenschappen als key/value paren.
  • Eigenschappen kunnen via de API worden toegevoegd, gewijzigd of verwijderd.
  • Filtering op eigenschappen wordt ondersteund in de API (bijv. GET /producttypen?eigenschappen[doelgroep]=inwoners boven 18).

Documentatie

  • De API-documentatie bevat voorbeelden van het instellen, bewerken en opvragen van eigenschappen.
  • Voorbeeld-API-aanvragen tonen hoe eigenschappen kunnen worden gebruikt in integraties en gemeentelijke toepassingen.

Definition of Done (DoD)

  • Het veld eigenschappen is toegevoegd aan het ProductType-datamodel en geïmplementeerd in de API.
  • De API ondersteunt het beheren en opvragen van eigenschappen als key/value paren.
  • Validatie en foutafhandeling zijn volledig geïmplementeerd.
  • Filtering op eigenschappen werkt zoals beschreven en is getest.
  • Documentatie is bijgewerkt met uitleg, voorbeelden, en validatieregels.
@alextreme alextreme added the enhancement New feature or request label Nov 8, 2024
@alextreme alextreme transferred this issue from maykinmedia/open-producten-prototype Dec 3, 2024
@Floris272 Floris272 moved this to In Progress in Open Producten Feb 4, 2025
@Floris272
Copy link
Contributor

Looking at OpenZaak it seems that Eigenschap is a separate model with its own endpoint. Should this also be the case in Open Producten?

@Floris272 Floris272 moved this from In Progress to Implemented in Open Producten Feb 7, 2025
@Floris272 Floris272 linked a pull request Feb 10, 2025 that will close this issue
@Floris272 Floris272 added this to the mvp 1.0.0 milestone Feb 11, 2025
@stevenbal
Copy link
Contributor

@alextreme since the title mentions "is analoog aan zaaktype eigenschappen": should just ProductType have eigenschappen with naam and waarde (meaning that Product doesn't have any eigenschappen itself). Or should (like in Catalogi and Zaken API) ProductType define types of eigenschappen (naam) and Product.eigenschappen contain the values of these eigenschappen?

@alextreme
Copy link
Member Author

@stevenbal check this with @Floris272 just in case, but my assumption looking at the notes is the second: ProductType define types of eigenschappen (naam) and Product.eigenschappen contain the values of these eigenschappen

But both Floris and I had trouble wrapping our heads around this during our last meeting

@Floris272 Floris272 moved this from Implemented to In Progress in Open Producten Feb 21, 2025
@Floris272 Floris272 moved this from In Progress to Todo in Open Producten Feb 25, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
blocked enhancement New feature or request
Projects
Status: Todo
Development

Successfully merging a pull request may close this issue.

3 participants