User module ports — persistence and service seams for the user domain.
Three repositories (users, sessions, audit log) and one service facade. The repositories are what an alternative backend implements; the service is what the rest of the framework calls.
Email, notifications, events and metrics are not here — email lives in libs/email, observability owns logging/metrics/audit.
User module ports — persistence and service seams for the user domain. Three repositories (users, sessions, audit log) and one service facade. The repositories are what an alternative backend implements; the service is what the rest of the framework calls. Email, notifications, events and metrics are not here — email lives in libs/email, observability owns logging/metrics/audit.
Audit-log persistence. Entries are immutable once written.
Audit-log persistence. Entries are immutable once written.
(create-audit-log this audit-entity)(find-audit-logs this options)(find-audit-logs-by-user this user-id options)User persistence. Entities are kebab-case maps per wagoe.user.schema.
User persistence. Entities are kebab-case maps per wagoe.user.schema.
(create-user this user-entity)(find-user-by-email this email)(find-user-by-id this user-id)(find-users this options)(hard-delete-user this user-id)(soft-delete-user this user-id)(update-user this user-entity)User domain service — orchestrates the repositories, the auth shell, the cache and the audit trail. Every method may throw an ex-info carrying :type (ADR-022); the listed types are the ones callers branch on.
User domain service — orchestrates the repositories, the auth shell, the cache and the audit trail. Every method may throw an ex-info carrying :type (ADR-022); the listed types are the ones callers branch on.
(logout-user this session-token)(list-audit-logs this options)(change-password this user-id current-password new-password)(get-user-by-id this user-id)(update-user-profile this user-entity)(register-user this user-data)(validate-session this session-token)(register-or-authenticate-user this user-data login-context)(claim-user-identity this request)(get-audit-logs-for-user this user-id options)(logout-user-everywhere this user-id)(permanently-delete-user this user-id)(list-users this options)(deactivate-user this user-id)(authenticate-user this user-credentials)(get-user-sessions this user-id)(get-user-by-email this email)Session persistence. A session is active when it has not expired and has no :revoked-at; every read here filters on both.
Session persistence. A session is active when it has not expired and has no :revoked-at; every read here filters on both.
(create-session this session-entity)(delete-sessions-expired-before this cutoff)(find-all-sessions this)(find-session-by-token this session-token)(find-sessions-by-user this user-id)(invalidate-all-user-sessions this user-id)(invalidate-session this session-token)(update-session this session-entity)cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |