Repository navigation
v1.1.0
What's New
Docker Support
The authentication service is now containerized and ready for production deployment via Docker.
Registration Control
GET /config(public) — returns auth configuration including whether sign-up is enabled.PATCH /config(admin only) — allows admins to toggle registration on/off.- Sign-up requests rejected with 403 Forbidden when registration is disabled.
- New
auth_configdatabase table seeded with registration enabled by default.
Admin User Creation
Administrators can now create new user accounts directly through the API.
Role Management
- First registered user is automatically assigned the
ADMINrole. PATCH /users/:id/roleendpoint added for role management (admin only).- All user endpoints are now auth-guarded (JWT required).
- Passwords are no longer returned in user API responses.
Fixes
- Fixed startup crash caused by missing
CryptoGatewayinAppConfigModule. - Fixed first user not receiving
ADMINrole —Result.isSuccesswas implemented as!!value, which returnsfalsefor falsy values like0(empty database). - Fixed sign-up always failing with "User not found" — the failure handler was incorrectly re-throwing a not-found result during email uniqueness check.
- Fixed build error in
AdminCreateUserUseCasecaused by an incompatible interface constraint. - Removed unused import causing CI lint failures.
Refactor
Failureis now an abstract class withcodeandmessagefields;GenericFailurereplaces plainnew Failure(message)usages.Resultnow stores an explicitsuccessboolean instead of deriving it from!!value.Result.success()/Result.failure()renamed toResult.ok()/Result.fail().isSuccessandisFailureconverted from property getters to methods.- The
.on()pattern removed in favour of explicitif/elsechecks.
Full Changelog: v1.0.0...v1.1.0