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

Prijs DMN integratie, mapping #14

Open
alextreme opened this issue Nov 24, 2024 · 0 comments
Open

Prijs DMN integratie, mapping #14

alextreme opened this issue Nov 24, 2024 · 0 comments
Labels
enhancement New feature or request

Comments

@alextreme
Copy link
Member

alextreme commented Nov 24, 2024

Gebruikersverhaal

Als gemeentelijke ontwikkelaar
wil ik dat een ProductType PrijsRegels kan bevatten, waarbij elke regel een mapping biedt voor het genereren van de benodigde input voor een DMN-tabel
zodat de aanroepende applicatie de DMN-engine kan gebruiken om een actuele en relevante prijs voor een product te bepalen.


Acceptatiecriteria

PrijsRegels in ProductType

  • Het datamodel van de ProductType-entiteit bevat een veld prijsregels, dat een lijst van PrijsRegels kan opslaan.
  • Elke PrijsRegel bevat de volgende velden:
    • naam: Een beschrijvende naam voor de PrijsRegel (bijv. "Basistarief", "Korting voor inwoners jonger dan 18").
    • dmn_key: Een unieke identificatie of sleutel voor de relevante DMN-tabel. Voor nu een URL?
    • mapping: Een key-value mapping die de benodigde inputvariabelen definieert voor de DMN-tabel (bijv. {"leeftijd": "product.gebruiker.leeftijd", "woonplaats": "product.gebruiker.adres.woonplaats"}).
  • PrijsRegels worden gedefinieerd per ProductType en gelden voor alle Producten onder dat type.

Genereren van DMN-input

  • Bij het opvragen van een ProductType of een Product retourneert de API de gedefinieerde PrijsRegels inclusief de dmn_key en de mapping.
  • De API geeft geen prijsberekeningen terug, maar biedt de benodigde gegevens die een aanroepende applicatie kan gebruiken om de DMN-engine correct aan te roepen.

Validatie

  • De API valideert bij het aanmaken of wijzigen van een PrijsRegel:
    • Dat een geldige dmn_key wordt opgegeven.
    • Dat de mapping correct is gestructureerd.
  • Bij foutieve of ontbrekende waarden retourneert de API duidelijke foutmeldingen in het Nederlands, zoals:
    • "De DMN-sleutel 'basistarief' bestaat niet."
    • "De invoervariabele 'leeftijd' ontbreekt in de mapping."

API-functionaliteit

  • De API biedt endpoints voor het opvragen en beheren van PrijsRegels binnen een ProductType.
  • Bij het opvragen van een Product retourneert de API:
    • De lijst van PrijsRegels van het gekoppelde ProductType.
    • De dmn_key en de mapping van elke PrijsRegel, zodat deze door de aanroepende applicatie kan worden gebruikt.

Documentatie

  • De API-documentatie bevat voorbeelden van het instellen van PrijsRegels, inclusief het configureren van mappings en het opvragen van de benodigde gegevens voor een DMN-aanroep.
  • Voorbeeld-API-aanvragen tonen hoe een aanroepende applicatie de DMN-engine correct kan gebruiken op basis van de output van de API.

Definition of Done (DoD)

  • Het veld prijsregels is toegevoegd aan het ProductType-datamodel en geïmplementeerd in de API.
  • De API ondersteunt het beheren en opvragen van PrijsRegels met dmn_key en mapping.
  • Validatie en foutafhandeling zijn volledig geïmplementeerd.
  • Unit tests en integratietests valideren correcte output van PrijsRegels.
  • Documentatie is bijgewerkt met uitleg, voorbeelden, en validatieregels.
@alextreme alextreme added the enhancement New feature or request label Nov 24, 2024
@alextreme alextreme transferred this issue from maykinmedia/open-producten-prototype Dec 3, 2024
@alextreme alextreme changed the title Prijs, Actie DMN integratie, mappingen Prijs DMN integratie, mapping Dec 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant