logaritmisk
83a7202861
feat: rename + delete vocabularies, blocked when in use ( #30 )
2026-06-05 19:41:39 +02:00
logaritmisk
09baf2949f
feat: edit/delete terms — audited, blocked when referenced ( #30 )
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-05 19:30:24 +02:00
logaritmisk
146e0164e7
refactor(db): name audit entity_type constants for vocab/term/authority ( #21 )
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-04 22:05:06 +02:00
logaritmisk
984be697ac
feat: audit vocabulary/term/authority creation, attributing the acting user ( #21 )
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-04 21:54:50 +02:00
logaritmisk
7a18e0e9bf
feat(api): admin vocabulary + term management
...
GET/POST /api/admin/vocabularies and GET/POST /api/admin/vocabularies/{id}/terms;
reads gated on ViewInternal, writes on EditCatalogue; labels round-trip verified.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-02 22:20:47 +02:00
logaritmisk
345073b130
test(db): cover zero-label term and duplicate vocabulary key; use try_get in vocabulary_by_key
2026-06-02 08:52:58 +02:00
logaritmisk
5dc07ddf4c
feat(db): add vocabulary/term repository with multilingual labels
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-02 08:48:51 +02:00