Florian Sylvain
|
10a66cd979
|
feat: change email, export my data, delete account (with data anonymization)
|
2026-10-30 20:19:07 +01:00 |
|
Florian Sylvain
|
b39a41be88
|
refac: DELETE /v1/user/{id}?expected_role_id=N, user.remove audit event, 409 target_role_not_found, GetAll returns its error, Own-scope visibility filter moved into repos, JSON tags removed from use-case types
|
2026-10-29 16:28:25 +01:00 |
|
Florian Sylvain
|
5d6f378fce
|
refac: stale test entries, failing web tests, Postgre backup bug, Hardcoded MySQL table count, Stale Postgre connection in test, own-scope visibility filter, GetAll ignoring its error, JSON tags in use-case types, 31 copies of DESKTOP_QUERY, ProfileView endpoint paths
|
2026-10-28 17:54:10 +01:00 |
|
Florian Sylvain
|
34dffe222f
|
feat: roles SPA Users, Profile, API keys, Activity
|
2026-10-28 00:10:15 +01:00 |
|
Florian Sylvain
|
80f7037d3a
|
feat: Users API, ownership transfer and removal of the legacy role string
|
2026-10-27 03:08:15 +01:00 |
|
Florian Sylvain
|
73a75d5cb9
|
feat: custom content type icons, built-in types, user lookup
|
2026-10-19 18:22:55 +02:00 |
|
fsylvain
|
e37a46a027
|
feat: activity log producers
|
2026-10-06 22:25:23 +02:00 |
|
fsylvain
|
153fd8719a
|
feat: invite management API: DELETE /v1/user/invite/:id (204, cancels a pending invite) and POST /v1/user/invite/:id/renew (200, new code, expires_at = now+3d, created_at = now, resends the invitation email, old link dead)
|
2026-09-30 01:36:43 +02:00 |
|
fsylvain
|
461e93e3b5
|
feat: add Role (owner|admin) to the user domain, persistence model and mapper
|
2026-09-30 00:58:58 +02:00 |
|
fsylvain
|
da36c78bc0
|
refac: hardening pass with multiple overhauls
|
2026-09-29 10:55:23 +02:00 |
|
fsylvain
|
acdef18b37
|
feat(API): user invitations and emails
|
2026-09-29 07:15:17 +02:00 |
|
fsylvain
|
7aae704d0a
|
feat(API): optional display name on users
|
2026-09-29 06:52:58 +02:00 |
|