DAR-147 — Implement user management module
Full implementation of the backoffice user management module as specified in the STD.
-
Admin user management (
/api/backoffice/admin-users): SUPER_ADMIN can create, suspend, revoke, and change roles of admin/moderator accounts stored locally; all mutations are audit-logged. -
Investor user management (
/api/backoffice/users): ADMIN/MODERATOR can list, view, change status/role, inspect login logs, detect suspicious logins, and export users to CSV; data is aggregated on-the-fly from downstream services via Feign. -
Security: migrated from legacy Keycloak adapter to Spring Security OAuth2 resource server (JWT); role-based access at both filter and
@PreAuthorizelevel. -
Feign: 5 clients wired (auth, kyc, wallet, investment, support) with a global interceptor forwarding the
Authorizationheader; service URLs are env-overridable. -
Error handling:
GlobalExceptionHandlermaps 4 domain exceptions to RFC 7807ProblemDetail. - Tests: Mockito-based unit tests for both services (no Spring context, no DB).
Closes DAR-147