Voeg leesbare slug toe aan Offering naast het GUID-ID #10

Merged
Sluijsens merged 4 commits from feature/offering-slug into master 2026-08-04 16:38:54 +02:00
Owner

Het Offering-ID is een GUID en niet geschikt om aan gebruikers te tonen. Deze PR voegt een op de titel gebaseerde, unieke Slug toe (uniek via -2, -3, ...), meegegeven via de public en admin API. Het bestaande Id blijft ongewijzigd de echte identifier.

Hoort bij de frontend-PR in SlpSoftware die de slug op de pakketkaart toont in plaats van het GUID.

Het Offering-ID is een GUID en niet geschikt om aan gebruikers te tonen. Deze PR voegt een op de titel gebaseerde, unieke Slug toe (uniek via -2, -3, ...), meegegeven via de public en admin API. Het bestaande Id blijft ongewijzigd de echte identifier. Hoort bij de frontend-PR in SlpSoftware die de slug op de pakketkaart toont in plaats van het GUID.
Sluijsens added 1 commit 2026-08-04 13:15:05 +02:00
Voeg leesbare slug toe aan Offering naast het GUID-ID
Continuous Integration / config (pull_request) Successful in 12s
Continuous Integration / changes (pull_request) Successful in 21s
Continuous Integration / frontend-prepare (pull_request) Skipped
Continuous Integration / frontend-build (pull_request) Skipped
Continuous Integration / frontend-test (pull_request) Skipped
Continuous Integration / frontend-lint (pull_request) Skipped
Continuous Integration / backend-build (pull_request) Successful in 4m31s
Continuous Integration / vulnerability-scan (pull_request) Successful in 3m57s
Continuous Integration / backend-test (pull_request) Successful in 6m11s
Continuous Integration / publish-production (pull_request) Skipped
Continuous Integration / deploy-production (pull_request) Skipped
Continuous Integration / publish-test (pull_request) Successful in 5m51s
Continuous Integration / deploy-test (pull_request) Skipped
cc09b46cfb
Het Offering-ID is een GUID en niet geschikt om aan gebruikers te tonen.
Voeg een op de titel gebaseerde, unieke slug toe die via de public en
admin API wordt meegegeven, zodat de frontend iets leesbaars kan tonen
in plaats van het ruwe ID. Het ID blijft ongewijzigd de echte identifier.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Sluijsens added 3 commits 2026-08-04 16:02:49 +02:00
De CMS-admin toonde het nieuwe Slug-veld nog niet — dat bestond alleen
in de API-respons. Voegt een read-only slugweergave onder het
titelveld toe met een potlood-icoon om 'm inline te bewerken.

Backend: Create/UpdateOfferingRequest accepteren nu een optionele
Slug-override. Zonder expliciete waarde blijft het bestaande gedrag
(auto-genereren uit titel, regenereren bij titelwijziging). Met een
expliciete waarde wordt die genormaliseerd en op uniekheid
gecontroleerd; een botsing geeft 409 Conflict (RFC 9457 ProblemDetails,
naar het patroon van MasterControlledAvailabilityException).

Frontend: de slug wordt alleen meegestuurd als de admin 'm daadwerkelijk
bewerkt heeft (dirtyFields.slug), zodat een ongemoeide slug bij een
titelwijziging gewoon blijft auto-regenereren.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Op verzoek: "Slug: gegenereerde-slug [Aanpassen]" direct onder het
titelveld, waarbij de preview meebeweegt met wat je typt in Titel
(client-side mirror van de backend Slugifier) zolang de slug niet
handmatig is overschreven. Zodra de admin 'm expliciet aanpast en
niet leeg laat, stopt het meebewegen met de titel — consistent met
hoe OfferingsService.UpdateAsync de slug al behandelde.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Herstel potlood-icoon voor de aanpassen-knop bij slug
Continuous Integration / config (pull_request) Successful in 12s
Continuous Integration / changes (pull_request) Successful in 21s
Continuous Integration / backend-build (pull_request) Successful in 4m24s
Continuous Integration / vulnerability-scan (pull_request) Successful in 4m2s
Continuous Integration / frontend-prepare (pull_request) Successful in 1m38s
Continuous Integration / backend-test (pull_request) Successful in 6m24s
Continuous Integration / frontend-build (pull_request) Successful in 2m9s
Continuous Integration / frontend-test (pull_request) Successful in 4m57s
Continuous Integration / frontend-lint (pull_request) Successful in 2m0s
Continuous Integration / publish-production (pull_request) Skipped
Continuous Integration / deploy-production (pull_request) Skipped
Continuous Integration / publish-test (pull_request) Successful in 6m2s
Continuous Integration / deploy-test (pull_request) Skipped
927957f04f
Consistent met de confirm/cancel-knoppen ernaast (ghost icon buttons)
in plaats van de tekst-linkknop.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Sluijsens scheduled this pull request to auto merge when all checks succeed 2026-08-04 16:11:06 +02:00
Sluijsens merged commit d9cc539481 into master 2026-08-04 16:38:54 +02:00
Sluijsens deleted branch feature/offering-slug 2026-08-04 16:38:55 +02:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: SLP_Software/slp-modular-cms#10