feat(kb): add category create/edit/delete UI #244

Merged
David merged 2 commits from feat/MAPPS-230-kb-category-crud-ui into main 2026-06-17 12:46:10 +02:00
Owner

The mokosh-server KB module exposes full CRUD for categories (POST/PUT/DELETE /kb/categories), but the SPA only ever GET /kb/categories, so categories could never be created, renamed, or removed from the app and were only settable via direct DB/seed.

Add the missing UI on the Knowledge Base home page: a "New Category" button in the header opens a create/edit modal, and each category card gains edit and delete affordances. The modal collects name, slug (auto-derived from the name until edited, normalized through slugify on save), description, parent category, visibility, and sort order, then POSTs (create) or PUTs (edit) and refetches the grid. Delete goes through the styled ConfirmDialog and DELETEs the category; the confirmation notes that filed articles are not deleted but become uncategorized.

Add CreateKbCategoryRequest and UpdateKbCategoryRequest DTOs mirroring the server's category bodies, alongside the existing article request shapes.

#MAPPS-230

The mokosh-server KB module exposes full CRUD for categories (POST/PUT/DELETE /kb/categories), but the SPA only ever GET /kb/categories, so categories could never be created, renamed, or removed from the app and were only settable via direct DB/seed. Add the missing UI on the Knowledge Base home page: a "New Category" button in the header opens a create/edit modal, and each category card gains edit and delete affordances. The modal collects name, slug (auto-derived from the name until edited, normalized through slugify on save), description, parent category, visibility, and sort order, then POSTs (create) or PUTs (edit) and refetches the grid. Delete goes through the styled ConfirmDialog and DELETEs the category; the confirmation notes that filed articles are not deleted but become uncategorized. Add CreateKbCategoryRequest and UpdateKbCategoryRequest DTOs mirroring the server's category bodies, alongside the existing article request shapes. #MAPPS-230
feat(kb): add category create/edit/delete UI
All checks were successful
Check / clippy + fmt + tests (pull_request) Successful in 2m26s
98c15805fc
The mokosh-server KB module exposes full CRUD for categories (POST/PUT/DELETE /kb/categories), but the SPA only ever GET /kb/categories, so categories could never be created, renamed, or removed from the app and were only settable via direct DB/seed.

Add the missing UI on the Knowledge Base home page: a "New Category" button in the header opens a create/edit modal, and each category card gains edit and delete affordances. The modal collects name, slug (auto-derived from the name until edited, normalized through slugify on save), description, parent category, visibility, and sort order, then POSTs (create) or PUTs (edit) and refetches the grid. Delete goes through the styled ConfirmDialog and DELETEs the category; the confirmation notes that filed articles are not deleted but become uncategorized.

Add CreateKbCategoryRequest and UpdateKbCategoryRequest DTOs mirroring the server's category bodies, alongside the existing article request shapes.

#MAPPS-230
Merge branch 'main' into feat/MAPPS-230-kb-category-crud-ui
All checks were successful
Create release / Create release from merged PR (pull_request) Has been skipped
Check / clippy + fmt + tests (pull_request) Successful in 1m32s
6805af0e95
David merged commit 2515af4541 into main 2026-06-17 12:46:10 +02:00
David deleted branch feat/MAPPS-230-kb-category-crud-ui 2026-06-17 12:46:10 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
psa-systems/mokosh-apps!244
No description provided.