Repository navigation
v0.2.0
What's Changed
An account must now be activated before its settings can be changed or the account deleted. The web app already worked this way; the API now enforces it as well.
⚠️ Breaking: activation required for account changes
These endpoints now return 403 with code access_denied for an account that is not activated:
PATCH /api/users/me/passwordPATCH /api/users/me/emailPATCH /api/users/me/localePATCH /api/users/me/time-formatDELETE /api/users/me
Before this change they worked for any signed-in user. Projects and timers already required activation.
A user who is not activated can still:
- load their profile with
GET /api/users/me - activate the account, request a new code and check the resend cooldown
- list and revoke sessions, and sign out
API clients that let users change settings or delete the account before activation need to handle the new 403.
Internal
- The activation check moved from the adapters layer into the application layer.
- Use cases for creating a project, starting a timer and adding a manual time entry now take the user id as a separate parameter instead of inside the request DTO with the rest of the data.
No database migrations.
Full Changelog: v0.1.12...v0.2.0