@ackplus/nest-auth 1.1.27 → 1.1.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +480 -59
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +34 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/admin-console/admin-console.module.d.ts.map +1 -0
- package/dist/lib/admin-console/admin-console.module.js +72 -0
- package/dist/lib/admin-console/admin-console.module.js.map +1 -0
- package/dist/lib/admin-console/controllers/admin-auth.controller.d.ts.map +1 -0
- package/dist/lib/admin-console/controllers/admin-auth.controller.js +376 -0
- package/dist/lib/admin-console/controllers/admin-auth.controller.js.map +1 -0
- package/dist/lib/admin-console/controllers/admin-console.controller.d.ts.map +1 -0
- package/dist/lib/admin-console/controllers/admin-console.controller.js +97 -0
- package/dist/lib/admin-console/controllers/admin-console.controller.js.map +1 -0
- package/dist/lib/admin-console/controllers/admin-permissions.controller.d.ts +83 -0
- package/dist/lib/admin-console/controllers/admin-permissions.controller.d.ts.map +1 -0
- package/dist/lib/admin-console/controllers/admin-permissions.controller.js +205 -0
- package/dist/lib/admin-console/controllers/admin-permissions.controller.js.map +1 -0
- package/dist/lib/admin-console/controllers/admin-roles.controller.d.ts.map +1 -0
- package/dist/lib/admin-console/controllers/admin-roles.controller.js +103 -0
- package/dist/lib/admin-console/controllers/admin-roles.controller.js.map +1 -0
- package/dist/lib/admin-console/controllers/admin-tenants.controller.d.ts.map +1 -0
- package/dist/lib/admin-console/controllers/admin-tenants.controller.js +99 -0
- package/dist/lib/admin-console/controllers/admin-tenants.controller.js.map +1 -0
- package/dist/lib/admin-console/controllers/admin-users.controller.d.ts.map +1 -0
- package/dist/lib/admin-console/controllers/admin-users.controller.js +398 -0
- package/dist/lib/admin-console/controllers/admin-users.controller.js.map +1 -0
- package/dist/lib/admin-console/decorators/current-admin.decorator.d.ts.map +1 -0
- package/dist/lib/admin-console/decorators/current-admin.decorator.js +9 -0
- package/dist/lib/admin-console/decorators/current-admin.decorator.js.map +1 -0
- package/dist/lib/admin-console/dto/admin-permission.dto.d.ts.map +1 -0
- package/dist/lib/admin-console/dto/admin-permission.dto.js +143 -0
- package/dist/lib/admin-console/dto/admin-permission.dto.js.map +1 -0
- package/dist/lib/admin-console/dto/admin-role.dto.d.ts.map +1 -0
- package/dist/lib/admin-console/dto/admin-role.dto.js +70 -0
- package/dist/lib/admin-console/dto/admin-role.dto.js.map +1 -0
- package/dist/lib/admin-console/dto/admin-tenant.dto.d.ts.map +1 -0
- package/dist/lib/admin-console/dto/admin-tenant.dto.js +74 -0
- package/dist/lib/admin-console/dto/admin-tenant.dto.js.map +1 -0
- package/dist/lib/admin-console/dto/admin-user.dto.d.ts.map +1 -0
- package/dist/lib/admin-console/dto/admin-user.dto.js +119 -0
- package/dist/lib/admin-console/dto/admin-user.dto.js.map +1 -0
- package/dist/lib/admin-console/dto/create-dashboard-admin.dto.d.ts.map +1 -0
- package/dist/lib/admin-console/dto/create-dashboard-admin.dto.js +53 -0
- package/dist/lib/admin-console/dto/create-dashboard-admin.dto.js.map +1 -0
- package/dist/lib/admin-console/dto/login.dto.d.ts.map +1 -0
- package/dist/lib/admin-console/dto/login.dto.js +28 -0
- package/dist/lib/admin-console/dto/login.dto.js.map +1 -0
- package/dist/lib/admin-console/dto/reset-password.dto.d.ts.map +1 -0
- package/dist/lib/admin-console/dto/reset-password.dto.js +38 -0
- package/dist/lib/admin-console/dto/reset-password.dto.js.map +1 -0
- package/dist/lib/admin-console/dto/setup-admin.dto.d.ts.map +1 -0
- package/dist/lib/admin-console/dto/setup-admin.dto.js +42 -0
- package/dist/lib/admin-console/dto/setup-admin.dto.js.map +1 -0
- package/dist/lib/admin-console/dto/signup.dto.d.ts.map +1 -0
- package/dist/lib/admin-console/dto/signup.dto.js +72 -0
- package/dist/lib/admin-console/dto/signup.dto.js.map +1 -0
- package/dist/lib/admin-console/entities/admin-user.entity.d.ts +18 -0
- package/dist/lib/admin-console/entities/admin-user.entity.d.ts.map +1 -0
- package/dist/lib/admin-console/entities/admin-user.entity.js +150 -0
- package/dist/lib/admin-console/entities/admin-user.entity.js.map +1 -0
- package/dist/lib/admin-console/guards/admin-session.guard.d.ts.map +1 -0
- package/dist/lib/admin-console/guards/admin-session.guard.js +52 -0
- package/dist/lib/admin-console/guards/admin-session.guard.js.map +1 -0
- package/dist/lib/admin-console/services/admin-auth.service.d.ts.map +1 -0
- package/dist/lib/admin-console/services/admin-auth.service.js +88 -0
- package/dist/lib/admin-console/services/admin-auth.service.js.map +1 -0
- package/dist/lib/admin-console/services/admin-console-config.service.d.ts.map +1 -0
- package/dist/lib/admin-console/services/admin-console-config.service.js +66 -0
- package/dist/lib/admin-console/services/admin-console-config.service.js.map +1 -0
- package/dist/lib/admin-console/services/admin-session.service.d.ts +22 -0
- package/dist/lib/admin-console/services/admin-session.service.d.ts.map +1 -0
- package/dist/lib/admin-console/services/admin-session.service.js +130 -0
- package/dist/lib/admin-console/services/admin-session.service.js.map +1 -0
- package/dist/lib/admin-console/services/admin-user.service.d.ts.map +1 -0
- package/dist/lib/admin-console/services/admin-user.service.js +101 -0
- package/dist/lib/admin-console/services/admin-user.service.js.map +1 -0
- package/dist/lib/audit/services/audit.service.d.ts.map +1 -0
- package/dist/lib/audit/services/audit.service.js +153 -0
- package/dist/lib/audit/services/audit.service.js.map +1 -0
- package/dist/lib/auth/auth.module.d.ts.map +1 -0
- package/dist/lib/auth/auth.module.js +74 -0
- package/dist/lib/auth/auth.module.js.map +1 -0
- package/dist/lib/auth/controllers/auth.controller.d.ts +57 -0
- package/dist/lib/auth/controllers/auth.controller.d.ts.map +1 -0
- package/dist/lib/auth/controllers/auth.controller.js +485 -0
- package/dist/lib/auth/controllers/auth.controller.js.map +1 -0
- package/dist/lib/auth/controllers/mfa.controller.d.ts.map +1 -0
- package/dist/lib/auth/controllers/mfa.controller.js +239 -0
- package/dist/lib/auth/controllers/mfa.controller.js.map +1 -0
- package/dist/lib/auth/dto/credentials/email-credentials.dto.d.ts +5 -0
- package/dist/lib/auth/dto/credentials/email-credentials.dto.d.ts.map +1 -0
- package/dist/lib/auth/dto/credentials/email-credentials.dto.js +39 -0
- package/dist/lib/auth/dto/credentials/email-credentials.dto.js.map +1 -0
- package/dist/lib/auth/dto/credentials/phone-credentials.dto.d.ts +5 -0
- package/dist/lib/auth/dto/credentials/phone-credentials.dto.d.ts.map +1 -0
- package/dist/lib/auth/dto/credentials/phone-credentials.dto.js +39 -0
- package/dist/lib/auth/dto/credentials/phone-credentials.dto.js.map +1 -0
- package/dist/lib/auth/dto/credentials/social-credentials.dto.d.ts +4 -0
- package/dist/lib/auth/dto/credentials/social-credentials.dto.d.ts.map +1 -0
- package/dist/lib/auth/dto/credentials/social-credentials.dto.js +28 -0
- package/dist/lib/auth/dto/credentials/social-credentials.dto.js.map +1 -0
- package/dist/lib/auth/dto/index.d.ts.map +1 -0
- package/dist/lib/auth/dto/index.js +1 -0
- package/dist/lib/auth/dto/index.js.map +1 -0
- package/dist/lib/auth/dto/requests/change-password.request.dto.d.ts.map +1 -0
- package/dist/lib/auth/dto/requests/change-password.request.dto.js +53 -0
- package/dist/lib/auth/dto/requests/change-password.request.dto.js.map +1 -0
- package/dist/lib/auth/dto/requests/forgot-password.request.dto.d.ts.map +1 -0
- package/dist/lib/auth/dto/requests/forgot-password.request.dto.js +50 -0
- package/dist/lib/auth/dto/requests/forgot-password.request.dto.js.map +1 -0
- package/dist/lib/auth/dto/requests/initialize-admin.request.dto.d.ts.map +1 -0
- package/dist/lib/auth/dto/requests/initialize-admin.request.dto.js +72 -0
- package/dist/lib/auth/dto/requests/initialize-admin.request.dto.js.map +1 -0
- package/dist/lib/auth/dto/requests/login.request.dto.d.ts +10 -0
- package/dist/lib/auth/dto/requests/login.request.dto.d.ts.map +1 -0
- package/dist/lib/auth/dto/requests/login.request.dto.js +85 -0
- package/dist/lib/auth/dto/requests/login.request.dto.js.map +1 -0
- package/dist/lib/auth/dto/requests/refresh-token.request.dto.d.ts.map +1 -0
- package/dist/lib/auth/dto/requests/refresh-token.request.dto.js +28 -0
- package/dist/lib/auth/dto/requests/refresh-token.request.dto.js.map +1 -0
- package/dist/lib/auth/dto/requests/reset-password-with-token.request.dto.d.ts.map +1 -0
- package/dist/lib/auth/dto/requests/reset-password-with-token.request.dto.js +40 -0
- package/dist/lib/auth/dto/requests/reset-password-with-token.request.dto.js.map +1 -0
- package/dist/lib/auth/dto/requests/reset-password.request.dto.d.ts.map +1 -0
- package/dist/lib/auth/dto/requests/reset-password.request.dto.js +74 -0
- package/dist/lib/auth/dto/requests/reset-password.request.dto.js.map +1 -0
- package/dist/lib/auth/dto/requests/send-email-verification.request.dto.d.ts.map +1 -0
- package/dist/lib/auth/dto/requests/send-email-verification.request.dto.js +28 -0
- package/dist/lib/auth/dto/requests/send-email-verification.request.dto.js.map +1 -0
- package/dist/lib/auth/dto/requests/send-mfa-code.request.dto.d.ts.map +1 -0
- package/dist/lib/auth/dto/requests/send-mfa-code.request.dto.js +35 -0
- package/dist/lib/auth/dto/requests/send-mfa-code.request.dto.js.map +1 -0
- package/dist/lib/auth/dto/requests/signup.request.dto.d.ts.map +1 -0
- package/dist/lib/auth/dto/requests/signup.request.dto.js +62 -0
- package/dist/lib/auth/dto/requests/signup.request.dto.js.map +1 -0
- package/dist/lib/auth/dto/requests/toggle-mfa.request.dto.d.ts.map +1 -0
- package/dist/lib/auth/dto/requests/toggle-mfa.request.dto.js +28 -0
- package/dist/lib/auth/dto/requests/toggle-mfa.request.dto.js.map +1 -0
- package/dist/lib/auth/dto/requests/verify-2fa.request.dto.d.ts.map +1 -0
- package/dist/lib/auth/dto/requests/verify-2fa.request.dto.js +51 -0
- package/dist/lib/auth/dto/requests/verify-2fa.request.dto.js.map +1 -0
- package/dist/lib/auth/dto/requests/verify-email.request.dto.d.ts.map +1 -0
- package/dist/lib/auth/dto/requests/verify-email.request.dto.js +40 -0
- package/dist/lib/auth/dto/requests/verify-email.request.dto.js.map +1 -0
- package/dist/lib/auth/dto/requests/verify-forgot-password-otp-request-dto.d.ts.map +1 -0
- package/dist/lib/auth/dto/requests/verify-forgot-password-otp-request-dto.js +62 -0
- package/dist/lib/auth/dto/requests/verify-forgot-password-otp-request-dto.js.map +1 -0
- package/dist/lib/auth/dto/requests/verify-totp-setup.request.dto.d.ts.map +1 -0
- package/dist/lib/auth/dto/requests/verify-totp-setup.request.dto.js +40 -0
- package/dist/lib/auth/dto/requests/verify-totp-setup.request.dto.js.map +1 -0
- package/dist/lib/auth/dto/responses/auth-cookie.response.dto.d.ts +5 -0
- package/dist/lib/auth/dto/responses/auth-cookie.response.dto.d.ts.map +1 -0
- package/dist/lib/auth/dto/responses/auth-cookie.response.dto.js +40 -0
- package/dist/lib/auth/dto/responses/auth-cookie.response.dto.js.map +1 -0
- package/dist/lib/auth/dto/responses/auth-success.response.dto.d.ts +5 -0
- package/dist/lib/auth/dto/responses/auth-success.response.dto.d.ts.map +1 -0
- package/dist/lib/auth/dto/responses/auth-success.response.dto.js +40 -0
- package/dist/lib/auth/dto/responses/auth-success.response.dto.js.map +1 -0
- package/dist/lib/auth/dto/responses/auth.response.dto.d.ts +22 -0
- package/dist/lib/auth/dto/responses/auth.response.dto.d.ts.map +1 -0
- package/dist/lib/auth/dto/responses/auth.response.dto.js +114 -0
- package/dist/lib/auth/dto/responses/auth.response.dto.js.map +1 -0
- package/dist/lib/auth/dto/responses/client-config.response.dto.d.ts.map +1 -0
- package/dist/lib/auth/dto/responses/client-config.response.dto.js +247 -0
- package/dist/lib/auth/dto/responses/client-config.response.dto.js.map +1 -0
- package/dist/lib/auth/dto/responses/initialize-admin.response.dto.d.ts.map +1 -0
- package/dist/lib/auth/dto/responses/initialize-admin.response.dto.js +42 -0
- package/dist/lib/auth/dto/responses/initialize-admin.response.dto.js.map +1 -0
- package/dist/lib/auth/dto/responses/mfa-code-response.dto.d.ts.map +1 -0
- package/dist/lib/auth/dto/responses/mfa-code-response.dto.js +49 -0
- package/dist/lib/auth/dto/responses/mfa-code-response.dto.js.map +1 -0
- package/dist/lib/auth/dto/responses/mfa-status.response.dto.d.ts.map +1 -0
- package/dist/lib/auth/dto/responses/mfa-status.response.dto.js +130 -0
- package/dist/lib/auth/dto/responses/mfa-status.response.dto.js.map +1 -0
- package/dist/lib/auth/dto/responses/verify-otp.response.dto.d.ts.map +1 -0
- package/dist/lib/auth/dto/responses/verify-otp.response.dto.js +27 -0
- package/dist/lib/auth/dto/responses/verify-otp.response.dto.js.map +1 -0
- package/dist/lib/auth/entities/mfa-secret.entity.d.ts.map +1 -0
- package/dist/lib/auth/entities/mfa-secret.entity.js +67 -0
- package/dist/lib/auth/entities/mfa-secret.entity.js.map +1 -0
- package/dist/lib/auth/entities/otp.entity.d.ts.map +1 -0
- package/dist/lib/auth/entities/otp.entity.js +67 -0
- package/dist/lib/auth/entities/otp.entity.js.map +1 -0
- package/dist/lib/auth/entities/trusted-device.entity.d.ts.map +1 -0
- package/dist/lib/auth/entities/trusted-device.entity.js +69 -0
- package/dist/lib/auth/entities/trusted-device.entity.js.map +1 -0
- package/dist/lib/auth/events/index.d.ts.map +1 -0
- package/dist/lib/auth/events/index.js +29 -0
- package/dist/lib/auth/events/index.js.map +1 -0
- package/dist/lib/auth/events/logged-out-all.event.d.ts.map +1 -0
- package/dist/lib/auth/events/logged-out-all.event.js +11 -0
- package/dist/lib/auth/events/logged-out-all.event.js.map +1 -0
- package/dist/lib/auth/events/logged-out.event.d.ts.map +1 -0
- package/dist/lib/auth/events/logged-out.event.js +11 -0
- package/dist/lib/auth/events/logged-out.event.js.map +1 -0
- package/dist/lib/auth/events/password-reset-requested.event.d.ts.map +1 -0
- package/dist/lib/auth/events/password-reset-requested.event.js +11 -0
- package/dist/lib/auth/events/password-reset-requested.event.js.map +1 -0
- package/dist/lib/auth/events/password-reset.event.d.ts.map +1 -0
- package/dist/lib/auth/events/password-reset.event.js +11 -0
- package/dist/lib/auth/events/password-reset.event.js.map +1 -0
- package/dist/lib/auth/events/two-factor-code-sent.event.d.ts.map +1 -0
- package/dist/lib/auth/events/two-factor-code-sent.event.js +11 -0
- package/dist/lib/auth/events/two-factor-code-sent.event.js.map +1 -0
- package/dist/lib/auth/events/user-2fa-disabled.event.d.ts.map +1 -0
- package/dist/lib/auth/events/user-2fa-disabled.event.js +14 -0
- package/dist/lib/auth/events/user-2fa-disabled.event.js.map +1 -0
- package/dist/lib/auth/events/user-2fa-enabled.event.d.ts.map +1 -0
- package/dist/lib/auth/events/user-2fa-enabled.event.js +17 -0
- package/dist/lib/auth/events/user-2fa-enabled.event.js.map +1 -0
- package/dist/lib/auth/events/user-2fa-verified.event.d.ts.map +1 -0
- package/dist/lib/auth/events/user-2fa-verified.event.js +11 -0
- package/dist/lib/auth/events/user-2fa-verified.event.js.map +1 -0
- package/dist/lib/auth/events/user-logged-in.event.d.ts.map +1 -0
- package/dist/lib/auth/events/user-logged-in.event.js +11 -0
- package/dist/lib/auth/events/user-logged-in.event.js.map +1 -0
- package/dist/lib/auth/events/user-password-changed.event.d.ts.map +1 -0
- package/dist/lib/auth/events/user-password-changed.event.js +17 -0
- package/dist/lib/auth/events/user-password-changed.event.js.map +1 -0
- package/dist/lib/auth/events/user-refresh-token.event.d.ts.map +1 -0
- package/dist/lib/auth/events/user-refresh-token.event.js +11 -0
- package/dist/lib/auth/events/user-refresh-token.event.js.map +1 -0
- package/dist/lib/auth/events/user-registered.event.d.ts.map +1 -0
- package/dist/lib/auth/events/user-registered.event.js +11 -0
- package/dist/lib/auth/events/user-registered.event.js.map +1 -0
- package/dist/lib/auth/guards/auth.guard.d.ts +27 -0
- package/dist/lib/auth/guards/auth.guard.d.ts.map +1 -0
- package/dist/lib/auth/guards/auth.guard.js +355 -0
- package/dist/lib/auth/guards/auth.guard.js.map +1 -0
- package/dist/lib/auth/index.d.ts.map +1 -0
- package/dist/lib/auth/index.js +60 -0
- package/dist/lib/auth/index.js.map +1 -0
- package/dist/lib/auth/interceptors/refresh-token.interceptor.d.ts +16 -0
- package/dist/lib/auth/interceptors/refresh-token.interceptor.d.ts.map +1 -0
- package/dist/lib/auth/interceptors/refresh-token.interceptor.js +87 -0
- package/dist/lib/auth/interceptors/refresh-token.interceptor.js.map +1 -0
- package/dist/lib/auth/services/auth-session-event-listener.service.d.ts +12 -0
- package/dist/lib/auth/services/auth-session-event-listener.service.d.ts.map +1 -0
- package/dist/lib/auth/services/auth-session-event-listener.service.js +58 -0
- package/dist/lib/auth/services/auth-session-event-listener.service.js.map +1 -0
- package/dist/lib/auth/services/auth.service.d.ts +72 -0
- package/dist/lib/auth/services/auth.service.d.ts.map +1 -0
- package/dist/lib/auth/services/auth.service.js +977 -0
- package/dist/lib/auth/services/auth.service.js.map +1 -0
- package/dist/lib/auth/services/client-config.service.d.ts.map +1 -0
- package/dist/lib/auth/services/client-config.service.js +159 -0
- package/dist/lib/auth/services/client-config.service.js.map +1 -0
- package/dist/lib/auth/services/cookie.service.d.ts.map +1 -0
- package/dist/lib/auth/services/cookie.service.js +55 -0
- package/dist/lib/auth/services/cookie.service.js.map +1 -0
- package/dist/lib/auth/services/mfa.service.d.ts.map +1 -0
- package/dist/lib/auth/services/mfa.service.js +420 -0
- package/dist/lib/auth/services/mfa.service.js.map +1 -0
- package/dist/lib/auth.constants.d.ts +210 -0
- package/dist/lib/auth.constants.d.ts.map +1 -0
- package/dist/lib/auth.constants.js +151 -0
- package/dist/lib/auth.constants.js.map +1 -0
- package/dist/lib/core/core.module.d.ts +3 -0
- package/dist/lib/core/core.module.d.ts.map +1 -0
- package/dist/lib/core/core.module.js +59 -0
- package/dist/lib/core/core.module.js.map +1 -0
- package/dist/lib/core/decorators/auth.decorator.d.ts +2 -0
- package/dist/lib/core/decorators/auth.decorator.d.ts.map +1 -0
- package/dist/lib/core/decorators/auth.decorator.js +8 -0
- package/dist/lib/core/decorators/auth.decorator.js.map +1 -0
- package/dist/lib/core/decorators/permissions.decorator.d.ts +3 -0
- package/dist/lib/core/decorators/permissions.decorator.d.ts.map +1 -0
- package/dist/lib/core/decorators/permissions.decorator.js +14 -0
- package/dist/lib/core/decorators/permissions.decorator.js.map +1 -0
- package/dist/lib/core/decorators/public.decorator.d.ts +3 -0
- package/dist/lib/core/decorators/public.decorator.d.ts.map +1 -0
- package/dist/lib/core/decorators/public.decorator.js +8 -0
- package/dist/lib/core/decorators/public.decorator.js.map +1 -0
- package/dist/lib/core/decorators/role.decorator.d.ts.map +1 -0
- package/dist/lib/core/decorators/role.decorator.js +14 -0
- package/dist/lib/core/decorators/role.decorator.js.map +1 -0
- package/dist/lib/core/decorators/skip-mfa.decorator.d.ts.map +1 -0
- package/dist/lib/core/decorators/skip-mfa.decorator.js +8 -0
- package/dist/lib/core/decorators/skip-mfa.decorator.js.map +1 -0
- package/dist/lib/core/dto/message.response.dto.d.ts.map +1 -0
- package/dist/lib/core/dto/message.response.dto.js +22 -0
- package/dist/lib/core/dto/message.response.dto.js.map +1 -0
- package/dist/lib/core/entities.d.ts.map +1 -0
- package/dist/lib/core/entities.js +53 -0
- package/dist/lib/core/entities.js.map +1 -0
- package/dist/lib/core/index.d.ts.map +1 -0
- package/dist/lib/core/index.js +42 -0
- package/dist/lib/core/index.js.map +1 -0
- package/dist/lib/core/interfaces/auth-module-options.interface.d.ts +164 -0
- package/dist/lib/core/interfaces/auth-module-options.interface.d.ts.map +1 -0
- package/dist/lib/core/interfaces/auth-module-options.interface.js +3 -0
- package/dist/lib/core/interfaces/auth-module-options.interface.js.map +1 -0
- package/dist/lib/core/interfaces/mfa-options.interface.d.ts.map +1 -0
- package/dist/lib/core/interfaces/mfa-options.interface.js +10 -0
- package/dist/lib/core/interfaces/mfa-options.interface.js.map +1 -0
- package/dist/lib/core/interfaces/otp.interface.d.ts.map +1 -0
- package/dist/lib/core/interfaces/otp.interface.js +10 -0
- package/dist/lib/core/interfaces/otp.interface.js.map +1 -0
- package/dist/lib/core/interfaces/session-options.interface.d.ts +23 -0
- package/dist/lib/core/interfaces/session-options.interface.d.ts.map +1 -0
- package/dist/lib/core/interfaces/session-options.interface.js +10 -0
- package/dist/lib/core/interfaces/session-options.interface.js.map +1 -0
- package/dist/lib/core/interfaces/token-payload.interface.d.ts +44 -0
- package/dist/lib/core/interfaces/token-payload.interface.d.ts.map +1 -0
- package/dist/lib/core/interfaces/token-payload.interface.js +3 -0
- package/dist/lib/core/interfaces/token-payload.interface.js.map +1 -0
- package/dist/lib/core/providers/apple-auth.provider.d.ts.map +1 -0
- package/dist/lib/core/providers/apple-auth.provider.js +73 -0
- package/dist/lib/core/providers/apple-auth.provider.js.map +1 -0
- package/dist/lib/core/providers/base-auth.provider.d.ts +28 -0
- package/dist/lib/core/providers/base-auth.provider.d.ts.map +1 -0
- package/dist/lib/core/providers/base-auth.provider.js +48 -0
- package/dist/lib/core/providers/base-auth.provider.js.map +1 -0
- package/dist/lib/core/providers/email-auth.provider.d.ts +22 -0
- package/dist/lib/core/providers/email-auth.provider.d.ts.map +1 -0
- package/dist/lib/core/providers/email-auth.provider.js +66 -0
- package/dist/lib/core/providers/email-auth.provider.js.map +1 -0
- package/dist/lib/core/providers/facebook-auth.provider.d.ts.map +1 -0
- package/dist/lib/core/providers/facebook-auth.provider.js +70 -0
- package/dist/lib/core/providers/facebook-auth.provider.js.map +1 -0
- package/dist/lib/core/providers/github-auth.provider.d.ts.map +1 -0
- package/dist/lib/core/providers/github-auth.provider.js +83 -0
- package/dist/lib/core/providers/github-auth.provider.js.map +1 -0
- package/dist/lib/core/providers/google-auth.provider.d.ts +24 -0
- package/dist/lib/core/providers/google-auth.provider.d.ts.map +1 -0
- package/dist/lib/core/providers/google-auth.provider.js +105 -0
- package/dist/lib/core/providers/google-auth.provider.js.map +1 -0
- package/dist/lib/core/providers/jwt-auth.provider.d.ts.map +1 -0
- package/dist/lib/core/providers/jwt-auth.provider.js +61 -0
- package/dist/lib/core/providers/jwt-auth.provider.js.map +1 -0
- package/dist/lib/core/providers/phone-auth.provider.d.ts.map +1 -0
- package/dist/lib/core/providers/phone-auth.provider.js +52 -0
- package/dist/lib/core/providers/phone-auth.provider.js.map +1 -0
- package/dist/lib/core/services/auth-config.service.d.ts +17 -0
- package/dist/lib/core/services/auth-config.service.d.ts.map +1 -0
- package/dist/lib/core/services/auth-config.service.js +152 -0
- package/dist/lib/core/services/auth-config.service.js.map +1 -0
- package/dist/lib/core/services/auth-provider-registry.service.d.ts +27 -0
- package/dist/lib/core/services/auth-provider-registry.service.d.ts.map +1 -0
- package/dist/lib/core/services/auth-provider-registry.service.js +93 -0
- package/dist/lib/core/services/auth-provider-registry.service.js.map +1 -0
- package/dist/lib/core/services/debug-logger.service.d.ts.map +1 -0
- package/dist/lib/core/services/debug-logger.service.js +165 -0
- package/dist/lib/core/services/debug-logger.service.js.map +1 -0
- package/dist/lib/core/services/initialization.service.d.ts.map +1 -0
- package/dist/lib/core/services/initialization.service.js +44 -0
- package/dist/lib/core/services/initialization.service.js.map +1 -0
- package/dist/lib/core/services/jwt.service.d.ts.map +1 -0
- package/dist/lib/core/services/jwt.service.js +132 -0
- package/dist/lib/core/services/jwt.service.js.map +1 -0
- package/dist/lib/nest-auth.module.d.ts.map +1 -0
- package/dist/lib/nest-auth.module.js +151 -0
- package/dist/lib/nest-auth.module.js.map +1 -0
- package/dist/lib/permission/entities/permission.entity.d.ts +12 -0
- package/dist/lib/permission/entities/permission.entity.d.ts.map +1 -0
- package/dist/lib/permission/entities/permission.entity.js +64 -0
- package/dist/lib/permission/entities/permission.entity.js.map +1 -0
- package/dist/lib/permission/index.d.ts.map +1 -0
- package/dist/lib/permission/index.js +20 -0
- package/dist/lib/permission/index.js.map +1 -0
- package/dist/lib/permission/permission.module.d.ts.map +1 -0
- package/dist/lib/permission/permission.module.js +26 -0
- package/dist/lib/permission/permission.module.js.map +1 -0
- package/dist/lib/permission/services/permission.service.d.ts +41 -0
- package/dist/lib/permission/services/permission.service.d.ts.map +1 -0
- package/dist/lib/permission/services/permission.service.js +180 -0
- package/dist/lib/permission/services/permission.service.js.map +1 -0
- package/dist/lib/request-context/index.d.ts.map +1 -0
- package/dist/lib/request-context/index.js +19 -0
- package/dist/lib/request-context/index.js.map +1 -0
- package/dist/lib/request-context/request-context.d.ts.map +1 -0
- package/dist/lib/request-context/request-context.js +111 -0
- package/dist/lib/request-context/request-context.js.map +1 -0
- package/dist/lib/request-context/request-context.middleware.d.ts.map +1 -0
- package/dist/lib/request-context/request-context.middleware.js +21 -0
- package/dist/lib/request-context/request-context.middleware.js.map +1 -0
- package/dist/lib/role/entities/role.entity.d.ts.map +1 -0
- package/dist/lib/role/entities/role.entity.js +129 -0
- package/dist/lib/role/entities/role.entity.js.map +1 -0
- package/dist/lib/role/index.d.ts.map +1 -0
- package/dist/lib/role/index.js +18 -0
- package/dist/lib/role/index.js.map +1 -0
- package/dist/lib/role/role.module.d.ts.map +1 -0
- package/dist/lib/role/role.module.js +28 -0
- package/dist/lib/role/role.module.js.map +1 -0
- package/dist/lib/role/services/role.service.d.ts +23 -0
- package/dist/lib/role/services/role.service.d.ts.map +1 -0
- package/dist/lib/role/services/role.service.js +226 -0
- package/dist/lib/role/services/role.service.js.map +1 -0
- package/dist/lib/session/entities/session.entity.d.ts.map +1 -0
- package/dist/lib/session/entities/session.entity.js +83 -0
- package/dist/lib/session/entities/session.entity.js.map +1 -0
- package/dist/lib/session/index.d.ts.map +1 -0
- package/dist/lib/session/index.js +26 -0
- package/dist/lib/session/index.js.map +1 -0
- package/dist/lib/session/interfaces/session-repository.interface.d.ts +15 -0
- package/dist/lib/session/interfaces/session-repository.interface.d.ts.map +1 -0
- package/dist/lib/session/interfaces/session-repository.interface.js +3 -0
- package/dist/lib/session/interfaces/session-repository.interface.js.map +1 -0
- package/dist/lib/session/repositories/base-session.repository.d.ts +21 -0
- package/dist/lib/session/repositories/base-session.repository.d.ts.map +1 -0
- package/dist/lib/session/repositories/base-session.repository.js +43 -0
- package/dist/lib/session/repositories/base-session.repository.js.map +1 -0
- package/dist/lib/session/repositories/memory-session.repository.d.ts +19 -0
- package/dist/lib/session/repositories/memory-session.repository.d.ts.map +1 -0
- package/dist/lib/session/repositories/memory-session.repository.js +125 -0
- package/dist/lib/session/repositories/memory-session.repository.js.map +1 -0
- package/dist/lib/session/repositories/redis-session.repository.d.ts +22 -0
- package/dist/lib/session/repositories/redis-session.repository.d.ts.map +1 -0
- package/dist/lib/session/repositories/redis-session.repository.js +139 -0
- package/dist/lib/session/repositories/redis-session.repository.js.map +1 -0
- package/dist/lib/session/repositories/typeorm-session.repository.d.ts +19 -0
- package/dist/lib/session/repositories/typeorm-session.repository.d.ts.map +1 -0
- package/dist/lib/session/repositories/typeorm-session.repository.js +88 -0
- package/dist/lib/session/repositories/typeorm-session.repository.js.map +1 -0
- package/dist/lib/session/services/session-manager.service.d.ts +39 -0
- package/dist/lib/session/services/session-manager.service.d.ts.map +1 -0
- package/dist/lib/session/services/session-manager.service.js +193 -0
- package/dist/lib/session/services/session-manager.service.js.map +1 -0
- package/dist/lib/session/session.module.d.ts +4 -0
- package/dist/lib/session/session.module.d.ts.map +1 -0
- package/dist/lib/session/session.module.js +83 -0
- package/dist/lib/session/session.module.js.map +1 -0
- package/dist/lib/session/utils/session.util.d.ts +40 -0
- package/dist/lib/session/utils/session.util.d.ts.map +1 -0
- package/dist/lib/session/utils/session.util.js +96 -0
- package/dist/lib/session/utils/session.util.js.map +1 -0
- package/dist/lib/tenant/entities/tenant.entity.d.ts +12 -0
- package/dist/lib/tenant/entities/tenant.entity.d.ts.map +1 -0
- package/dist/lib/tenant/entities/tenant.entity.js +65 -0
- package/dist/lib/tenant/entities/tenant.entity.js.map +1 -0
- package/dist/lib/tenant/events/tenant-created.event.d.ts.map +1 -0
- package/dist/lib/tenant/events/tenant-created.event.js +11 -0
- package/dist/lib/tenant/events/tenant-created.event.js.map +1 -0
- package/dist/lib/tenant/events/tenant-deleted.event.d.ts.map +1 -0
- package/dist/lib/tenant/events/tenant-deleted.event.js +11 -0
- package/dist/lib/tenant/events/tenant-deleted.event.js.map +1 -0
- package/dist/lib/tenant/events/tenant-updated.event.d.ts.map +1 -0
- package/dist/lib/tenant/events/tenant-updated.event.js +11 -0
- package/dist/lib/tenant/events/tenant-updated.event.js.map +1 -0
- package/dist/lib/tenant/index.d.ts.map +1 -0
- package/dist/lib/tenant/index.js +27 -0
- package/dist/lib/tenant/index.js.map +1 -0
- package/dist/lib/tenant/services/tenant.service.d.ts +28 -0
- package/dist/lib/tenant/services/tenant.service.d.ts.map +1 -0
- package/dist/lib/tenant/services/tenant.service.js +258 -0
- package/dist/lib/tenant/services/tenant.service.js.map +1 -0
- package/dist/lib/tenant/tenant.module.d.ts.map +1 -0
- package/dist/lib/tenant/tenant.module.js +32 -0
- package/dist/lib/tenant/tenant.module.js.map +1 -0
- package/dist/lib/user/dto/requests/update-user.dto.d.ts.map +1 -0
- package/dist/lib/user/dto/requests/update-user.dto.js +35 -0
- package/dist/lib/user/dto/requests/update-user.dto.js.map +1 -0
- package/dist/lib/user/entities/access-key.entity.d.ts.map +1 -0
- package/dist/lib/user/entities/access-key.entity.js +83 -0
- package/dist/lib/user/entities/access-key.entity.js.map +1 -0
- package/dist/lib/user/entities/identity.entity.d.ts.map +1 -0
- package/dist/lib/user/entities/identity.entity.js +63 -0
- package/dist/lib/user/entities/identity.entity.js.map +1 -0
- package/dist/lib/user/entities/user.entity.d.ts +42 -0
- package/dist/lib/user/entities/user.entity.d.ts.map +1 -0
- package/dist/lib/user/entities/user.entity.js +306 -0
- package/dist/lib/user/entities/user.entity.js.map +1 -0
- package/dist/lib/user/events/user-created.event.d.ts.map +1 -0
- package/dist/lib/user/events/user-created.event.js +11 -0
- package/dist/lib/user/events/user-created.event.js.map +1 -0
- package/dist/lib/user/events/user-deleted.event.d.ts.map +1 -0
- package/dist/lib/user/events/user-deleted.event.js +11 -0
- package/dist/lib/user/events/user-deleted.event.js.map +1 -0
- package/dist/lib/user/events/user-updated.event.d.ts.map +1 -0
- package/dist/lib/user/events/user-updated.event.js +11 -0
- package/dist/lib/user/events/user-updated.event.js.map +1 -0
- package/dist/lib/user/index.d.ts.map +1 -0
- package/dist/lib/user/index.js +23 -0
- package/dist/lib/user/index.js.map +1 -0
- package/dist/lib/user/services/access-key.service.d.ts.map +1 -0
- package/dist/lib/user/services/access-key.service.js +133 -0
- package/dist/lib/user/services/access-key.service.js.map +1 -0
- package/dist/lib/user/services/user.service.d.ts.map +1 -0
- package/dist/lib/user/services/user.service.js +371 -0
- package/dist/lib/user/services/user.service.js.map +1 -0
- package/dist/lib/user/user.module.d.ts.map +1 -0
- package/dist/lib/user/user.module.js +39 -0
- package/dist/lib/user/user.module.js.map +1 -0
- package/dist/lib/utils/cookie.helper.d.ts +25 -0
- package/dist/lib/utils/cookie.helper.d.ts.map +1 -0
- package/dist/lib/utils/cookie.helper.js +63 -0
- package/dist/lib/utils/cookie.helper.js.map +1 -0
- package/dist/lib/utils/database.utils.d.ts.map +1 -0
- package/dist/lib/utils/database.utils.js +8 -0
- package/dist/lib/utils/database.utils.js.map +1 -0
- package/dist/lib/utils/date.util.d.ts +17 -0
- package/dist/lib/utils/date.util.d.ts.map +1 -0
- package/dist/lib/utils/date.util.js +78 -0
- package/dist/lib/utils/date.util.js.map +1 -0
- package/dist/lib/utils/device.util.d.ts +20 -0
- package/dist/lib/utils/device.util.d.ts.map +1 -0
- package/dist/lib/utils/device.util.js +85 -0
- package/dist/lib/utils/device.util.js.map +1 -0
- package/dist/lib/utils/index.d.ts.map +1 -0
- package/dist/lib/utils/index.js +23 -0
- package/dist/lib/utils/index.js.map +1 -0
- package/dist/lib/utils/otp.d.ts.map +1 -0
- package/dist/lib/utils/otp.js +7 -0
- package/dist/lib/utils/otp.js.map +1 -0
- package/dist/lib/utils/security.util.d.ts +2 -0
- package/dist/lib/utils/security.util.d.ts.map +1 -0
- package/dist/lib/utils/security.util.js +18 -0
- package/dist/lib/utils/security.util.js.map +1 -0
- package/dist/lib/utils/slug.util.d.ts +3 -0
- package/dist/lib/utils/slug.util.d.ts.map +1 -0
- package/dist/lib/utils/slug.util.js +24 -0
- package/dist/lib/utils/slug.util.js.map +1 -0
- package/package.json +86 -18
- package/src/index.d.ts.map +0 -1
- package/src/index.js +0 -24
- package/src/lib/admin-console/admin-console.module.d.ts.map +0 -1
- package/src/lib/admin-console/admin-console.module.js +0 -69
- package/src/lib/admin-console/controllers/admin-auth.controller.d.ts.map +0 -1
- package/src/lib/admin-console/controllers/admin-auth.controller.js +0 -374
- package/src/lib/admin-console/controllers/admin-console.controller.d.ts.map +0 -1
- package/src/lib/admin-console/controllers/admin-console.controller.js +0 -87
- package/src/lib/admin-console/controllers/admin-permissions.controller.d.ts +0 -86
- package/src/lib/admin-console/controllers/admin-permissions.controller.d.ts.map +0 -1
- package/src/lib/admin-console/controllers/admin-permissions.controller.js +0 -195
- package/src/lib/admin-console/controllers/admin-roles.controller.d.ts.map +0 -1
- package/src/lib/admin-console/controllers/admin-roles.controller.js +0 -93
- package/src/lib/admin-console/controllers/admin-tenants.controller.d.ts.map +0 -1
- package/src/lib/admin-console/controllers/admin-tenants.controller.js +0 -86
- package/src/lib/admin-console/controllers/admin-users.controller.d.ts.map +0 -1
- package/src/lib/admin-console/controllers/admin-users.controller.js +0 -400
- package/src/lib/admin-console/decorators/current-admin.decorator.d.ts.map +0 -1
- package/src/lib/admin-console/decorators/current-admin.decorator.js +0 -8
- package/src/lib/admin-console/dto/admin-permission.dto.d.ts.map +0 -1
- package/src/lib/admin-console/dto/admin-permission.dto.js +0 -123
- package/src/lib/admin-console/dto/admin-role.dto.d.ts.map +0 -1
- package/src/lib/admin-console/dto/admin-role.dto.js +0 -53
- package/src/lib/admin-console/dto/admin-tenant.dto.d.ts.map +0 -1
- package/src/lib/admin-console/dto/admin-tenant.dto.js +0 -57
- package/src/lib/admin-console/dto/admin-user.dto.d.ts.map +0 -1
- package/src/lib/admin-console/dto/admin-user.dto.js +0 -94
- package/src/lib/admin-console/dto/create-dashboard-admin.dto.d.ts.map +0 -1
- package/src/lib/admin-console/dto/create-dashboard-admin.dto.js +0 -39
- package/src/lib/admin-console/dto/login.dto.d.ts.map +0 -1
- package/src/lib/admin-console/dto/login.dto.js +0 -17
- package/src/lib/admin-console/dto/reset-password.dto.d.ts.map +0 -1
- package/src/lib/admin-console/dto/reset-password.dto.js +0 -26
- package/src/lib/admin-console/dto/setup-admin.dto.d.ts.map +0 -1
- package/src/lib/admin-console/dto/setup-admin.dto.js +0 -29
- package/src/lib/admin-console/dto/signup.dto.d.ts.map +0 -1
- package/src/lib/admin-console/dto/signup.dto.js +0 -58
- package/src/lib/admin-console/entities/admin-user.entity.d.ts +0 -16
- package/src/lib/admin-console/entities/admin-user.entity.d.ts.map +0 -1
- package/src/lib/admin-console/entities/admin-user.entity.js +0 -86
- package/src/lib/admin-console/guards/admin-session.guard.d.ts.map +0 -1
- package/src/lib/admin-console/guards/admin-session.guard.js +0 -40
- package/src/lib/admin-console/services/admin-auth.service.d.ts.map +0 -1
- package/src/lib/admin-console/services/admin-auth.service.js +0 -77
- package/src/lib/admin-console/services/admin-console-config.service.d.ts.map +0 -1
- package/src/lib/admin-console/services/admin-console-config.service.js +0 -58
- package/src/lib/admin-console/services/admin-session.service.d.ts +0 -27
- package/src/lib/admin-console/services/admin-session.service.d.ts.map +0 -1
- package/src/lib/admin-console/services/admin-session.service.js +0 -94
- package/src/lib/admin-console/services/admin-user.service.d.ts.map +0 -1
- package/src/lib/admin-console/services/admin-user.service.js +0 -87
- package/src/lib/admin-console/static/index.html +0 -5596
- package/src/lib/audit/services/audit.service.d.ts.map +0 -1
- package/src/lib/audit/services/audit.service.js +0 -143
- package/src/lib/auth/auth.module.d.ts.map +0 -1
- package/src/lib/auth/auth.module.js +0 -68
- package/src/lib/auth/controllers/auth.controller.d.ts +0 -74
- package/src/lib/auth/controllers/auth.controller.d.ts.map +0 -1
- package/src/lib/auth/controllers/auth.controller.js +0 -494
- package/src/lib/auth/controllers/mfa.controller.d.ts.map +0 -1
- package/src/lib/auth/controllers/mfa.controller.js +0 -230
- package/src/lib/auth/dto/credentials/email-credentials.dto.d.ts +0 -8
- package/src/lib/auth/dto/credentials/email-credentials.dto.d.ts.map +0 -1
- package/src/lib/auth/dto/credentials/email-credentials.dto.js +0 -31
- package/src/lib/auth/dto/credentials/phone-credentials.dto.d.ts +0 -8
- package/src/lib/auth/dto/credentials/phone-credentials.dto.d.ts.map +0 -1
- package/src/lib/auth/dto/credentials/phone-credentials.dto.js +0 -31
- package/src/lib/auth/dto/credentials/social-credentials.dto.d.ts +0 -7
- package/src/lib/auth/dto/credentials/social-credentials.dto.d.ts.map +0 -1
- package/src/lib/auth/dto/credentials/social-credentials.dto.js +0 -21
- package/src/lib/auth/dto/index.d.ts.map +0 -1
- package/src/lib/auth/dto/index.js +0 -0
- package/src/lib/auth/dto/requests/change-password.request.dto.d.ts.map +0 -1
- package/src/lib/auth/dto/requests/change-password.request.dto.js +0 -42
- package/src/lib/auth/dto/requests/forgot-password.request.dto.d.ts.map +0 -1
- package/src/lib/auth/dto/requests/forgot-password.request.dto.js +0 -38
- package/src/lib/auth/dto/requests/initialize-admin.request.dto.d.ts.map +0 -1
- package/src/lib/auth/dto/requests/initialize-admin.request.dto.js +0 -58
- package/src/lib/auth/dto/requests/login.request.dto.d.ts +0 -13
- package/src/lib/auth/dto/requests/login.request.dto.d.ts.map +0 -1
- package/src/lib/auth/dto/requests/login.request.dto.js +0 -75
- package/src/lib/auth/dto/requests/refresh-token.request.dto.d.ts.map +0 -1
- package/src/lib/auth/dto/requests/refresh-token.request.dto.js +0 -18
- package/src/lib/auth/dto/requests/reset-password-with-token.request.dto.d.ts.map +0 -1
- package/src/lib/auth/dto/requests/reset-password-with-token.request.dto.js +0 -29
- package/src/lib/auth/dto/requests/reset-password.request.dto.d.ts.map +0 -1
- package/src/lib/auth/dto/requests/reset-password.request.dto.js +0 -60
- package/src/lib/auth/dto/requests/send-email-verification.request.dto.d.ts.map +0 -1
- package/src/lib/auth/dto/requests/send-email-verification.request.dto.js +0 -18
- package/src/lib/auth/dto/requests/send-mfa-code.request.dto.d.ts.map +0 -1
- package/src/lib/auth/dto/requests/send-mfa-code.request.dto.js +0 -25
- package/src/lib/auth/dto/requests/signup.request.dto.d.ts.map +0 -1
- package/src/lib/auth/dto/requests/signup.request.dto.js +0 -49
- package/src/lib/auth/dto/requests/toggle-mfa.request.dto.d.ts.map +0 -1
- package/src/lib/auth/dto/requests/toggle-mfa.request.dto.js +0 -18
- package/src/lib/auth/dto/requests/verify-2fa.request.dto.d.ts.map +0 -1
- package/src/lib/auth/dto/requests/verify-2fa.request.dto.js +0 -39
- package/src/lib/auth/dto/requests/verify-email.request.dto.d.ts.map +0 -1
- package/src/lib/auth/dto/requests/verify-email.request.dto.js +0 -29
- package/src/lib/auth/dto/requests/verify-forgot-password-otp-request-dto.d.ts.map +0 -1
- package/src/lib/auth/dto/requests/verify-forgot-password-otp-request-dto.js +0 -49
- package/src/lib/auth/dto/requests/verify-totp-setup.request.dto.d.ts.map +0 -1
- package/src/lib/auth/dto/requests/verify-totp-setup.request.dto.js +0 -29
- package/src/lib/auth/dto/responses/auth-cookie.response.dto.d.ts +0 -41
- package/src/lib/auth/dto/responses/auth-cookie.response.dto.d.ts.map +0 -1
- package/src/lib/auth/dto/responses/auth-cookie.response.dto.js +0 -65
- package/src/lib/auth/dto/responses/auth-success.response.dto.d.ts +0 -41
- package/src/lib/auth/dto/responses/auth-success.response.dto.d.ts.map +0 -1
- package/src/lib/auth/dto/responses/auth-success.response.dto.js +0 -65
- package/src/lib/auth/dto/responses/auth.response.dto.d.ts +0 -40
- package/src/lib/auth/dto/responses/auth.response.dto.d.ts.map +0 -1
- package/src/lib/auth/dto/responses/auth.response.dto.js +0 -112
- package/src/lib/auth/dto/responses/client-config.response.dto.d.ts.map +0 -1
- package/src/lib/auth/dto/responses/client-config.response.dto.js +0 -202
- package/src/lib/auth/dto/responses/initialize-admin.response.dto.d.ts.map +0 -1
- package/src/lib/auth/dto/responses/initialize-admin.response.dto.js +0 -30
- package/src/lib/auth/dto/responses/mfa-code-response.dto.d.ts.map +0 -1
- package/src/lib/auth/dto/responses/mfa-code-response.dto.js +0 -36
- package/src/lib/auth/dto/responses/mfa-status.response.dto.d.ts.map +0 -1
- package/src/lib/auth/dto/responses/mfa-status.response.dto.js +0 -108
- package/src/lib/auth/dto/responses/verify-otp.response.dto.d.ts.map +0 -1
- package/src/lib/auth/dto/responses/verify-otp.response.dto.js +0 -16
- package/src/lib/auth/entities/mfa-secret.entity.d.ts.map +0 -1
- package/src/lib/auth/entities/mfa-secret.entity.js +0 -49
- package/src/lib/auth/entities/otp.entity.d.ts.map +0 -1
- package/src/lib/auth/entities/otp.entity.js +0 -49
- package/src/lib/auth/entities/trusted-device.entity.d.ts.map +0 -1
- package/src/lib/auth/entities/trusted-device.entity.js +0 -51
- package/src/lib/auth/events/index.d.ts.map +0 -1
- package/src/lib/auth/events/index.js +0 -15
- package/src/lib/auth/events/logged-out-all.event.d.ts.map +0 -1
- package/src/lib/auth/events/logged-out-all.event.js +0 -9
- package/src/lib/auth/events/logged-out.event.d.ts.map +0 -1
- package/src/lib/auth/events/logged-out.event.js +0 -9
- package/src/lib/auth/events/password-reset-requested.event.d.ts.map +0 -1
- package/src/lib/auth/events/password-reset-requested.event.js +0 -9
- package/src/lib/auth/events/password-reset.event.d.ts.map +0 -1
- package/src/lib/auth/events/password-reset.event.js +0 -9
- package/src/lib/auth/events/two-factor-code-sent.event.d.ts.map +0 -1
- package/src/lib/auth/events/two-factor-code-sent.event.js +0 -9
- package/src/lib/auth/events/user-2fa-disabled.event.d.ts.map +0 -1
- package/src/lib/auth/events/user-2fa-disabled.event.js +0 -12
- package/src/lib/auth/events/user-2fa-enabled.event.d.ts.map +0 -1
- package/src/lib/auth/events/user-2fa-enabled.event.js +0 -15
- package/src/lib/auth/events/user-2fa-verified.event.d.ts.map +0 -1
- package/src/lib/auth/events/user-2fa-verified.event.js +0 -9
- package/src/lib/auth/events/user-logged-in.event.d.ts.map +0 -1
- package/src/lib/auth/events/user-logged-in.event.js +0 -10
- package/src/lib/auth/events/user-password-changed.event.d.ts.map +0 -1
- package/src/lib/auth/events/user-password-changed.event.js +0 -15
- package/src/lib/auth/events/user-refresh-token.event.d.ts.map +0 -1
- package/src/lib/auth/events/user-refresh-token.event.js +0 -9
- package/src/lib/auth/events/user-registered.event.d.ts.map +0 -1
- package/src/lib/auth/events/user-registered.event.js +0 -10
- package/src/lib/auth/guards/auth.guard.d.ts +0 -74
- package/src/lib/auth/guards/auth.guard.d.ts.map +0 -1
- package/src/lib/auth/guards/auth.guard.js +0 -454
- package/src/lib/auth/index.d.ts.map +0 -1
- package/src/lib/auth/index.js +0 -53
- package/src/lib/auth/interceptors/refresh-token.interceptor.d.ts +0 -43
- package/src/lib/auth/interceptors/refresh-token.interceptor.d.ts.map +0 -1
- package/src/lib/auth/interceptors/refresh-token.interceptor.js +0 -115
- package/src/lib/auth/services/auth-session-event-listener.service.d.ts +0 -16
- package/src/lib/auth/services/auth-session-event-listener.service.d.ts.map +0 -1
- package/src/lib/auth/services/auth-session-event-listener.service.js +0 -52
- package/src/lib/auth/services/auth.service.d.ts +0 -75
- package/src/lib/auth/services/auth.service.d.ts.map +0 -1
- package/src/lib/auth/services/auth.service.js +0 -999
- package/src/lib/auth/services/client-config.service.d.ts.map +0 -1
- package/src/lib/auth/services/client-config.service.js +0 -152
- package/src/lib/auth/services/cookie.service.d.ts.map +0 -1
- package/src/lib/auth/services/cookie.service.js +0 -42
- package/src/lib/auth/services/mfa.service.d.ts.map +0 -1
- package/src/lib/auth/services/mfa.service.js +0 -410
- package/src/lib/auth.constants.d.ts +0 -218
- package/src/lib/auth.constants.d.ts.map +0 -1
- package/src/lib/auth.constants.js +0 -188
- package/src/lib/core/core.module.d.ts +0 -7
- package/src/lib/core/core.module.d.ts.map +0 -1
- package/src/lib/core/core.module.js +0 -57
- package/src/lib/core/decorators/auth.decorator.d.ts +0 -33
- package/src/lib/core/decorators/auth.decorator.d.ts.map +0 -1
- package/src/lib/core/decorators/auth.decorator.js +0 -38
- package/src/lib/core/decorators/permissions.decorator.d.ts +0 -8
- package/src/lib/core/decorators/permissions.decorator.d.ts.map +0 -1
- package/src/lib/core/decorators/permissions.decorator.js +0 -18
- package/src/lib/core/decorators/public.decorator.d.ts +0 -31
- package/src/lib/core/decorators/public.decorator.d.ts.map +0 -1
- package/src/lib/core/decorators/public.decorator.js +0 -35
- package/src/lib/core/decorators/role.decorator.d.ts.map +0 -1
- package/src/lib/core/decorators/role.decorator.js +0 -13
- package/src/lib/core/decorators/skip-mfa.decorator.d.ts.map +0 -1
- package/src/lib/core/decorators/skip-mfa.decorator.js +0 -7
- package/src/lib/core/dto/message.response.dto.d.ts.map +0 -1
- package/src/lib/core/dto/message.response.dto.js +0 -12
- package/src/lib/core/entities.d.ts.map +0 -1
- package/src/lib/core/entities.js +0 -39
- package/src/lib/core/index.d.ts.map +0 -1
- package/src/lib/core/index.js +0 -35
- package/src/lib/core/interfaces/auth-module-options.interface.d.ts +0 -378
- package/src/lib/core/interfaces/auth-module-options.interface.d.ts.map +0 -1
- package/src/lib/core/interfaces/auth-module-options.interface.js +0 -2
- package/src/lib/core/interfaces/mfa-options.interface.d.ts.map +0 -1
- package/src/lib/core/interfaces/mfa-options.interface.js +0 -9
- package/src/lib/core/interfaces/otp.interface.d.ts.map +0 -1
- package/src/lib/core/interfaces/otp.interface.js +0 -9
- package/src/lib/core/interfaces/session-options.interface.d.ts +0 -68
- package/src/lib/core/interfaces/session-options.interface.d.ts.map +0 -1
- package/src/lib/core/interfaces/session-options.interface.js +0 -9
- package/src/lib/core/interfaces/token-payload.interface.d.ts +0 -49
- package/src/lib/core/interfaces/token-payload.interface.d.ts.map +0 -1
- package/src/lib/core/interfaces/token-payload.interface.js +0 -2
- package/src/lib/core/providers/apple-auth.provider.d.ts.map +0 -1
- package/src/lib/core/providers/apple-auth.provider.js +0 -57
- package/src/lib/core/providers/base-auth.provider.d.ts +0 -34
- package/src/lib/core/providers/base-auth.provider.d.ts.map +0 -1
- package/src/lib/core/providers/base-auth.provider.js +0 -49
- package/src/lib/core/providers/email-auth.provider.d.ts +0 -31
- package/src/lib/core/providers/email-auth.provider.d.ts.map +0 -1
- package/src/lib/core/providers/email-auth.provider.js +0 -66
- package/src/lib/core/providers/facebook-auth.provider.d.ts.map +0 -1
- package/src/lib/core/providers/facebook-auth.provider.js +0 -56
- package/src/lib/core/providers/github-auth.provider.d.ts.map +0 -1
- package/src/lib/core/providers/github-auth.provider.js +0 -74
- package/src/lib/core/providers/google-auth.provider.d.ts +0 -31
- package/src/lib/core/providers/google-auth.provider.d.ts.map +0 -1
- package/src/lib/core/providers/google-auth.provider.js +0 -109
- package/src/lib/core/providers/jwt-auth.provider.d.ts.map +0 -1
- package/src/lib/core/providers/jwt-auth.provider.js +0 -49
- package/src/lib/core/providers/phone-auth.provider.d.ts.map +0 -1
- package/src/lib/core/providers/phone-auth.provider.js +0 -42
- package/src/lib/core/services/auth-config.service.d.ts +0 -39
- package/src/lib/core/services/auth-config.service.d.ts.map +0 -1
- package/src/lib/core/services/auth-config.service.js +0 -170
- package/src/lib/core/services/auth-provider-registry.service.d.ts +0 -42
- package/src/lib/core/services/auth-provider-registry.service.d.ts.map +0 -1
- package/src/lib/core/services/auth-provider-registry.service.js +0 -91
- package/src/lib/core/services/debug-logger.service.d.ts.map +0 -1
- package/src/lib/core/services/debug-logger.service.js +0 -158
- package/src/lib/core/services/initialization.service.d.ts.map +0 -1
- package/src/lib/core/services/initialization.service.js +0 -35
- package/src/lib/core/services/jwt.service.d.ts.map +0 -1
- package/src/lib/core/services/jwt.service.js +0 -119
- package/src/lib/nest-auth.module.d.ts.map +0 -1
- package/src/lib/nest-auth.module.js +0 -149
- package/src/lib/permission/entities/permission.entity.d.ts +0 -27
- package/src/lib/permission/entities/permission.entity.d.ts.map +0 -1
- package/src/lib/permission/entities/permission.entity.js +0 -62
- package/src/lib/permission/index.d.ts.map +0 -1
- package/src/lib/permission/index.js +0 -6
- package/src/lib/permission/permission.module.d.ts.map +0 -1
- package/src/lib/permission/permission.module.js +0 -20
- package/src/lib/permission/services/permission.service.d.ts +0 -44
- package/src/lib/permission/services/permission.service.d.ts.map +0 -1
- package/src/lib/permission/services/permission.service.js +0 -173
- package/src/lib/request-context/index.d.ts.map +0 -1
- package/src/lib/request-context/index.js +0 -5
- package/src/lib/request-context/request-context.d.ts.map +0 -1
- package/src/lib/request-context/request-context.js +0 -114
- package/src/lib/request-context/request-context.middleware.d.ts.map +0 -1
- package/src/lib/request-context/request-context.middleware.js +0 -15
- package/src/lib/role/entities/role.entity.d.ts.map +0 -1
- package/src/lib/role/entities/role.entity.js +0 -110
- package/src/lib/role/index.d.ts.map +0 -1
- package/src/lib/role/index.js +0 -5
- package/src/lib/role/role.module.d.ts.map +0 -1
- package/src/lib/role/role.module.js +0 -22
- package/src/lib/role/services/role.service.d.ts +0 -29
- package/src/lib/role/services/role.service.d.ts.map +0 -1
- package/src/lib/role/services/role.service.js +0 -231
- package/src/lib/session/entities/session.entity.d.ts.map +0 -1
- package/src/lib/session/entities/session.entity.js +0 -62
- package/src/lib/session/index.d.ts.map +0 -1
- package/src/lib/session/index.js +0 -18
- package/src/lib/session/interfaces/session-repository.interface.d.ts +0 -49
- package/src/lib/session/interfaces/session-repository.interface.d.ts.map +0 -1
- package/src/lib/session/interfaces/session-repository.interface.js +0 -2
- package/src/lib/session/repositories/base-session.repository.d.ts +0 -40
- package/src/lib/session/repositories/base-session.repository.d.ts.map +0 -1
- package/src/lib/session/repositories/base-session.repository.js +0 -59
- package/src/lib/session/repositories/memory-session.repository.d.ts +0 -27
- package/src/lib/session/repositories/memory-session.repository.d.ts.map +0 -1
- package/src/lib/session/repositories/memory-session.repository.js +0 -133
- package/src/lib/session/repositories/redis-session.repository.d.ts +0 -30
- package/src/lib/session/repositories/redis-session.repository.d.ts.map +0 -1
- package/src/lib/session/repositories/redis-session.repository.js +0 -141
- package/src/lib/session/repositories/typeorm-session.repository.d.ts +0 -23
- package/src/lib/session/repositories/typeorm-session.repository.d.ts.map +0 -1
- package/src/lib/session/repositories/typeorm-session.repository.js +0 -79
- package/src/lib/session/services/session-manager.service.d.ts +0 -100
- package/src/lib/session/services/session-manager.service.d.ts.map +0 -1
- package/src/lib/session/services/session-manager.service.js +0 -254
- package/src/lib/session/session.module.d.ts +0 -14
- package/src/lib/session/session.module.d.ts.map +0 -1
- package/src/lib/session/session.module.js +0 -96
- package/src/lib/session/utils/session.util.d.ts +0 -73
- package/src/lib/session/utils/session.util.d.ts.map +0 -1
- package/src/lib/session/utils/session.util.js +0 -127
- package/src/lib/tenant/entities/tenant.entity.d.ts +0 -21
- package/src/lib/tenant/entities/tenant.entity.d.ts.map +0 -1
- package/src/lib/tenant/entities/tenant.entity.js +0 -47
- package/src/lib/tenant/events/tenant-created.event.d.ts.map +0 -1
- package/src/lib/tenant/events/tenant-created.event.js +0 -9
- package/src/lib/tenant/events/tenant-deleted.event.d.ts.map +0 -1
- package/src/lib/tenant/events/tenant-deleted.event.js +0 -9
- package/src/lib/tenant/events/tenant-updated.event.d.ts.map +0 -1
- package/src/lib/tenant/events/tenant-updated.event.js +0 -9
- package/src/lib/tenant/index.d.ts.map +0 -1
- package/src/lib/tenant/index.js +0 -14
- package/src/lib/tenant/services/tenant.service.d.ts +0 -35
- package/src/lib/tenant/services/tenant.service.d.ts.map +0 -1
- package/src/lib/tenant/services/tenant.service.js +0 -265
- package/src/lib/tenant/tenant.module.d.ts.map +0 -1
- package/src/lib/tenant/tenant.module.js +0 -26
- package/src/lib/user/dto/requests/update-user.dto.d.ts.map +0 -1
- package/src/lib/user/dto/requests/update-user.dto.js +0 -23
- package/src/lib/user/entities/access-key.entity.d.ts.map +0 -1
- package/src/lib/user/entities/access-key.entity.js +0 -62
- package/src/lib/user/entities/identity.entity.d.ts.map +0 -1
- package/src/lib/user/entities/identity.entity.js +0 -46
- package/src/lib/user/entities/user.entity.d.ts +0 -40
- package/src/lib/user/entities/user.entity.d.ts.map +0 -1
- package/src/lib/user/entities/user.entity.js +0 -237
- package/src/lib/user/events/user-created.event.d.ts.map +0 -1
- package/src/lib/user/events/user-created.event.js +0 -9
- package/src/lib/user/events/user-deleted.event.d.ts.map +0 -1
- package/src/lib/user/events/user-deleted.event.js +0 -9
- package/src/lib/user/events/user-updated.event.d.ts.map +0 -1
- package/src/lib/user/events/user-updated.event.js +0 -9
- package/src/lib/user/index.d.ts.map +0 -1
- package/src/lib/user/index.js +0 -12
- package/src/lib/user/services/access-key.service.d.ts.map +0 -1
- package/src/lib/user/services/access-key.service.js +0 -121
- package/src/lib/user/services/user.service.d.ts.map +0 -1
- package/src/lib/user/services/user.service.js +0 -369
- package/src/lib/user/user.module.d.ts.map +0 -1
- package/src/lib/user/user.module.js +0 -33
- package/src/lib/utils/cookie.helper.d.ts +0 -78
- package/src/lib/utils/cookie.helper.d.ts.map +0 -1
- package/src/lib/utils/cookie.helper.js +0 -115
- package/src/lib/utils/database.utils.d.ts.map +0 -1
- package/src/lib/utils/database.utils.js +0 -7
- package/src/lib/utils/date.util.d.ts +0 -41
- package/src/lib/utils/date.util.d.ts.map +0 -1
- package/src/lib/utils/date.util.js +0 -99
- package/src/lib/utils/device.util.d.ts +0 -50
- package/src/lib/utils/device.util.d.ts.map +0 -1
- package/src/lib/utils/device.util.js +0 -114
- package/src/lib/utils/index.d.ts.map +0 -1
- package/src/lib/utils/index.js +0 -9
- package/src/lib/utils/otp.d.ts.map +0 -1
- package/src/lib/utils/otp.js +0 -6
- package/src/lib/utils/security.util.d.ts +0 -11
- package/src/lib/utils/security.util.d.ts.map +0 -1
- package/src/lib/utils/security.util.js +0 -28
- package/src/lib/utils/slug.util.d.ts +0 -38
- package/src/lib/utils/slug.util.d.ts.map +0 -1
- package/src/lib/utils/slug.util.js +0 -59
- /package/{src → dist}/index.d.ts +0 -0
- /package/{src → dist}/lib/admin-console/admin-console.module.d.ts +0 -0
- /package/{src → dist}/lib/admin-console/controllers/admin-auth.controller.d.ts +0 -0
- /package/{src → dist}/lib/admin-console/controllers/admin-console.controller.d.ts +0 -0
- /package/{src → dist}/lib/admin-console/controllers/admin-roles.controller.d.ts +0 -0
- /package/{src → dist}/lib/admin-console/controllers/admin-tenants.controller.d.ts +0 -0
- /package/{src → dist}/lib/admin-console/controllers/admin-users.controller.d.ts +0 -0
- /package/{src → dist}/lib/admin-console/decorators/current-admin.decorator.d.ts +0 -0
- /package/{src → dist}/lib/admin-console/dto/admin-permission.dto.d.ts +0 -0
- /package/{src → dist}/lib/admin-console/dto/admin-role.dto.d.ts +0 -0
- /package/{src → dist}/lib/admin-console/dto/admin-tenant.dto.d.ts +0 -0
- /package/{src → dist}/lib/admin-console/dto/admin-user.dto.d.ts +0 -0
- /package/{src → dist}/lib/admin-console/dto/create-dashboard-admin.dto.d.ts +0 -0
- /package/{src → dist}/lib/admin-console/dto/login.dto.d.ts +0 -0
- /package/{src → dist}/lib/admin-console/dto/reset-password.dto.d.ts +0 -0
- /package/{src → dist}/lib/admin-console/dto/setup-admin.dto.d.ts +0 -0
- /package/{src → dist}/lib/admin-console/dto/signup.dto.d.ts +0 -0
- /package/{src → dist}/lib/admin-console/guards/admin-session.guard.d.ts +0 -0
- /package/{src → dist}/lib/admin-console/services/admin-auth.service.d.ts +0 -0
- /package/{src → dist}/lib/admin-console/services/admin-console-config.service.d.ts +0 -0
- /package/{src → dist}/lib/admin-console/services/admin-user.service.d.ts +0 -0
- /package/{src → dist}/lib/audit/services/audit.service.d.ts +0 -0
- /package/{src → dist}/lib/auth/auth.module.d.ts +0 -0
- /package/{src → dist}/lib/auth/controllers/mfa.controller.d.ts +0 -0
- /package/{src → dist}/lib/auth/dto/index.d.ts +0 -0
- /package/{src → dist}/lib/auth/dto/requests/change-password.request.dto.d.ts +0 -0
- /package/{src → dist}/lib/auth/dto/requests/forgot-password.request.dto.d.ts +0 -0
- /package/{src → dist}/lib/auth/dto/requests/initialize-admin.request.dto.d.ts +0 -0
- /package/{src → dist}/lib/auth/dto/requests/refresh-token.request.dto.d.ts +0 -0
- /package/{src → dist}/lib/auth/dto/requests/reset-password-with-token.request.dto.d.ts +0 -0
- /package/{src → dist}/lib/auth/dto/requests/reset-password.request.dto.d.ts +0 -0
- /package/{src → dist}/lib/auth/dto/requests/send-email-verification.request.dto.d.ts +0 -0
- /package/{src → dist}/lib/auth/dto/requests/send-mfa-code.request.dto.d.ts +0 -0
- /package/{src → dist}/lib/auth/dto/requests/signup.request.dto.d.ts +0 -0
- /package/{src → dist}/lib/auth/dto/requests/toggle-mfa.request.dto.d.ts +0 -0
- /package/{src → dist}/lib/auth/dto/requests/verify-2fa.request.dto.d.ts +0 -0
- /package/{src → dist}/lib/auth/dto/requests/verify-email.request.dto.d.ts +0 -0
- /package/{src → dist}/lib/auth/dto/requests/verify-forgot-password-otp-request-dto.d.ts +0 -0
- /package/{src → dist}/lib/auth/dto/requests/verify-totp-setup.request.dto.d.ts +0 -0
- /package/{src → dist}/lib/auth/dto/responses/client-config.response.dto.d.ts +0 -0
- /package/{src → dist}/lib/auth/dto/responses/initialize-admin.response.dto.d.ts +0 -0
- /package/{src → dist}/lib/auth/dto/responses/mfa-code-response.dto.d.ts +0 -0
- /package/{src → dist}/lib/auth/dto/responses/mfa-status.response.dto.d.ts +0 -0
- /package/{src → dist}/lib/auth/dto/responses/verify-otp.response.dto.d.ts +0 -0
- /package/{src → dist}/lib/auth/entities/mfa-secret.entity.d.ts +0 -0
- /package/{src → dist}/lib/auth/entities/otp.entity.d.ts +0 -0
- /package/{src → dist}/lib/auth/entities/trusted-device.entity.d.ts +0 -0
- /package/{src → dist}/lib/auth/events/index.d.ts +0 -0
- /package/{src → dist}/lib/auth/events/logged-out-all.event.d.ts +0 -0
- /package/{src → dist}/lib/auth/events/logged-out.event.d.ts +0 -0
- /package/{src → dist}/lib/auth/events/password-reset-requested.event.d.ts +0 -0
- /package/{src → dist}/lib/auth/events/password-reset.event.d.ts +0 -0
- /package/{src → dist}/lib/auth/events/two-factor-code-sent.event.d.ts +0 -0
- /package/{src → dist}/lib/auth/events/user-2fa-disabled.event.d.ts +0 -0
- /package/{src → dist}/lib/auth/events/user-2fa-enabled.event.d.ts +0 -0
- /package/{src → dist}/lib/auth/events/user-2fa-verified.event.d.ts +0 -0
- /package/{src → dist}/lib/auth/events/user-logged-in.event.d.ts +0 -0
- /package/{src → dist}/lib/auth/events/user-password-changed.event.d.ts +0 -0
- /package/{src → dist}/lib/auth/events/user-refresh-token.event.d.ts +0 -0
- /package/{src → dist}/lib/auth/events/user-registered.event.d.ts +0 -0
- /package/{src → dist}/lib/auth/index.d.ts +0 -0
- /package/{src → dist}/lib/auth/services/client-config.service.d.ts +0 -0
- /package/{src → dist}/lib/auth/services/cookie.service.d.ts +0 -0
- /package/{src → dist}/lib/auth/services/mfa.service.d.ts +0 -0
- /package/{src → dist}/lib/core/decorators/role.decorator.d.ts +0 -0
- /package/{src → dist}/lib/core/decorators/skip-mfa.decorator.d.ts +0 -0
- /package/{src → dist}/lib/core/dto/message.response.dto.d.ts +0 -0
- /package/{src → dist}/lib/core/entities.d.ts +0 -0
- /package/{src → dist}/lib/core/index.d.ts +0 -0
- /package/{src → dist}/lib/core/interfaces/mfa-options.interface.d.ts +0 -0
- /package/{src → dist}/lib/core/interfaces/otp.interface.d.ts +0 -0
- /package/{src → dist}/lib/core/providers/apple-auth.provider.d.ts +0 -0
- /package/{src → dist}/lib/core/providers/facebook-auth.provider.d.ts +0 -0
- /package/{src → dist}/lib/core/providers/github-auth.provider.d.ts +0 -0
- /package/{src → dist}/lib/core/providers/jwt-auth.provider.d.ts +0 -0
- /package/{src → dist}/lib/core/providers/phone-auth.provider.d.ts +0 -0
- /package/{src → dist}/lib/core/services/debug-logger.service.d.ts +0 -0
- /package/{src → dist}/lib/core/services/initialization.service.d.ts +0 -0
- /package/{src → dist}/lib/core/services/jwt.service.d.ts +0 -0
- /package/{src → dist}/lib/nest-auth.module.d.ts +0 -0
- /package/{src → dist}/lib/permission/index.d.ts +0 -0
- /package/{src → dist}/lib/permission/permission.module.d.ts +0 -0
- /package/{src → dist}/lib/request-context/index.d.ts +0 -0
- /package/{src → dist}/lib/request-context/request-context.d.ts +0 -0
- /package/{src → dist}/lib/request-context/request-context.middleware.d.ts +0 -0
- /package/{src → dist}/lib/role/entities/role.entity.d.ts +0 -0
- /package/{src → dist}/lib/role/index.d.ts +0 -0
- /package/{src → dist}/lib/role/role.module.d.ts +0 -0
- /package/{src → dist}/lib/session/entities/session.entity.d.ts +0 -0
- /package/{src → dist}/lib/session/index.d.ts +0 -0
- /package/{src → dist}/lib/tenant/events/tenant-created.event.d.ts +0 -0
- /package/{src → dist}/lib/tenant/events/tenant-deleted.event.d.ts +0 -0
- /package/{src → dist}/lib/tenant/events/tenant-updated.event.d.ts +0 -0
- /package/{src → dist}/lib/tenant/index.d.ts +0 -0
- /package/{src → dist}/lib/tenant/tenant.module.d.ts +0 -0
- /package/{src → dist}/lib/user/dto/requests/update-user.dto.d.ts +0 -0
- /package/{src → dist}/lib/user/entities/access-key.entity.d.ts +0 -0
- /package/{src → dist}/lib/user/entities/identity.entity.d.ts +0 -0
- /package/{src → dist}/lib/user/events/user-created.event.d.ts +0 -0
- /package/{src → dist}/lib/user/events/user-deleted.event.d.ts +0 -0
- /package/{src → dist}/lib/user/events/user-updated.event.d.ts +0 -0
- /package/{src → dist}/lib/user/index.d.ts +0 -0
- /package/{src → dist}/lib/user/services/access-key.service.d.ts +0 -0
- /package/{src → dist}/lib/user/services/user.service.d.ts +0 -0
- /package/{src → dist}/lib/user/user.module.d.ts +0 -0
- /package/{src → dist}/lib/utils/database.utils.d.ts +0 -0
- /package/{src → dist}/lib/utils/index.d.ts +0 -0
- /package/{src → dist}/lib/utils/otp.d.ts +0 -0
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.TypeORMSessionRepository = void 0;
|
|
16
|
+
const common_1 = require("@nestjs/common");
|
|
17
|
+
const typeorm_1 = require("@nestjs/typeorm");
|
|
18
|
+
const typeorm_2 = require("typeorm");
|
|
19
|
+
const base_session_repository_1 = require("./base-session.repository");
|
|
20
|
+
const session_entity_1 = require("../entities/session.entity");
|
|
21
|
+
let TypeORMSessionRepository = class TypeORMSessionRepository extends base_session_repository_1.BaseSessionRepository {
|
|
22
|
+
repository;
|
|
23
|
+
constructor(repository) {
|
|
24
|
+
super();
|
|
25
|
+
this.repository = repository;
|
|
26
|
+
}
|
|
27
|
+
async create(session) {
|
|
28
|
+
const sessionEntity = this.repository.create(session);
|
|
29
|
+
return await this.repository.save(sessionEntity);
|
|
30
|
+
}
|
|
31
|
+
async findById(sessionId) {
|
|
32
|
+
return await this.repository.findOne({
|
|
33
|
+
where: { id: sessionId },
|
|
34
|
+
relations: ['user'],
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
async findByUserId(userId) {
|
|
38
|
+
return await this.repository.find({
|
|
39
|
+
where: { userId },
|
|
40
|
+
order: { createdAt: 'DESC' },
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
async findActiveByUserId(userId) {
|
|
44
|
+
return await this.repository.find({
|
|
45
|
+
where: {
|
|
46
|
+
userId,
|
|
47
|
+
expiresAt: (0, typeorm_2.MoreThan)(new Date()),
|
|
48
|
+
},
|
|
49
|
+
order: { lastActive: 'DESC' },
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
async update(sessionId, updates) {
|
|
53
|
+
await this.repository.update(sessionId, updates);
|
|
54
|
+
return await this.findById(sessionId);
|
|
55
|
+
}
|
|
56
|
+
async delete(sessionId) {
|
|
57
|
+
await this.repository.delete(sessionId);
|
|
58
|
+
}
|
|
59
|
+
async deleteByUserId(userId) {
|
|
60
|
+
await this.repository.delete({ userId });
|
|
61
|
+
}
|
|
62
|
+
async deleteExpired() {
|
|
63
|
+
const result = await this.repository.delete({
|
|
64
|
+
expiresAt: (0, typeorm_2.LessThan)(new Date()),
|
|
65
|
+
});
|
|
66
|
+
return result.affected || 0;
|
|
67
|
+
}
|
|
68
|
+
async countActiveByUserId(userId) {
|
|
69
|
+
return await this.repository.count({
|
|
70
|
+
where: {
|
|
71
|
+
userId,
|
|
72
|
+
expiresAt: (0, typeorm_2.MoreThan)(new Date()),
|
|
73
|
+
},
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
async updateLastActive(sessionId) {
|
|
77
|
+
await this.repository.update(sessionId, {
|
|
78
|
+
lastActive: new Date(),
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
exports.TypeORMSessionRepository = TypeORMSessionRepository;
|
|
83
|
+
exports.TypeORMSessionRepository = TypeORMSessionRepository = __decorate([
|
|
84
|
+
(0, common_1.Injectable)(),
|
|
85
|
+
__param(0, (0, typeorm_1.InjectRepository)(session_entity_1.NestAuthSession)),
|
|
86
|
+
__metadata("design:paramtypes", [typeorm_2.Repository])
|
|
87
|
+
], TypeORMSessionRepository);
|
|
88
|
+
//# sourceMappingURL=typeorm-session.repository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typeorm-session.repository.js","sourceRoot":"","sources":["../../../../src/lib/session/repositories/typeorm-session.repository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,6CAAmD;AACnD,qCAAyD;AACzD,uEAAkE;AAClE,+DAA6D;AAStD,IAAM,wBAAwB,GAA9B,MAAM,wBAAyB,SAAQ,+CAAqB;IAG1C;IAFrB,YAEqB,UAAuC;QAExD,KAAK,EAAE,CAAC;QAFS,eAAU,GAAV,UAAU,CAA6B;IAG5D,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAuB;QAChC,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAEtD,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,SAAiB;QAC5B,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YACjC,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE;YACxB,SAAS,EAAE,CAAC,MAAM,CAAC;SACtB,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAc;QAC7B,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAC9B,KAAK,EAAE,EAAE,MAAM,EAAE;YACjB,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE;SAC/B,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,MAAc;QACnC,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAC9B,KAAK,EAAE;gBACH,MAAM;gBACN,SAAS,EAAE,IAAA,kBAAQ,EAAC,IAAI,IAAI,EAAE,CAAC;aAClC;YACD,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE;SAChC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,SAAiB,EAAE,OAAiC;QAC7D,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACjD,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,SAAiB;QAC1B,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,MAAc;QAC/B,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,aAAa;QACf,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YACxC,SAAS,EAAE,IAAA,kBAAQ,EAAC,IAAI,IAAI,EAAE,CAAC;SAClC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,MAAc;QACpC,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;YAC/B,KAAK,EAAE;gBACH,MAAM;gBACN,SAAS,EAAE,IAAA,kBAAQ,EAAC,IAAI,IAAI,EAAE,CAAC;aAClC;SACJ,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,SAAiB;QACpC,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE;YACpC,UAAU,EAAE,IAAI,IAAI,EAAE;SACzB,CAAC,CAAC;IACP,CAAC;CACJ,CAAA;AAxEY,4DAAwB;mCAAxB,wBAAwB;IADpC,IAAA,mBAAU,GAAE;IAGJ,WAAA,IAAA,0BAAgB,EAAC,gCAAe,CAAC,CAAA;qCACL,oBAAU;GAHlC,wBAAwB,CAwEpC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { ISessionRepository } from '../interfaces/session-repository.interface';
|
|
2
|
+
import { NestAuthSession } from '../entities/session.entity';
|
|
3
|
+
import { NestAuthUser } from '../../user/entities/user.entity';
|
|
4
|
+
export declare const SESSION_REPOSITORY = "SESSION_REPOSITORY";
|
|
5
|
+
export declare class SessionManagerService {
|
|
6
|
+
private readonly repository;
|
|
7
|
+
constructor(repository: ISessionRepository);
|
|
8
|
+
private get options();
|
|
9
|
+
private get maxSessionsPerUser();
|
|
10
|
+
private get slidingExpiration();
|
|
11
|
+
createSession(payload: {
|
|
12
|
+
userId: string;
|
|
13
|
+
refreshToken?: string;
|
|
14
|
+
data?: any;
|
|
15
|
+
userAgent?: string;
|
|
16
|
+
deviceName?: string;
|
|
17
|
+
ipAddress?: string;
|
|
18
|
+
}): Promise<NestAuthSession>;
|
|
19
|
+
getSession(sessionId: string, refreshSession?: boolean): Promise<NestAuthSession>;
|
|
20
|
+
getUserSessions(userId: string): Promise<NestAuthSession[]>;
|
|
21
|
+
getActiveSessions(userId: string): Promise<NestAuthSession[]>;
|
|
22
|
+
updateSession(sessionId: string, updates: Partial<NestAuthSession>): Promise<NestAuthSession>;
|
|
23
|
+
revokeSession(sessionId: string): Promise<void>;
|
|
24
|
+
revokeAllUserSessions(userId: string): Promise<void>;
|
|
25
|
+
revokeOtherSessions(userId: string, currentSessionId: string): Promise<void>;
|
|
26
|
+
cleanupExpiredSessions(): Promise<number>;
|
|
27
|
+
extendSession(sessionId: string, duration?: string): Promise<NestAuthSession>;
|
|
28
|
+
validateSession(sessionId: string): Promise<NestAuthSession | null>;
|
|
29
|
+
hasReachedMaxSessions(userId: string): Promise<boolean>;
|
|
30
|
+
private enforceMaxSessions;
|
|
31
|
+
private calculateExpiration;
|
|
32
|
+
private isExpired;
|
|
33
|
+
createSessionFromUser(user: NestAuthUser, extraData?: {
|
|
34
|
+
isMfaVerified?: boolean;
|
|
35
|
+
}): Promise<NestAuthSession>;
|
|
36
|
+
refreshSession(session: NestAuthSession): Promise<NestAuthSession>;
|
|
37
|
+
getCurrentSessions(userId: string): Promise<NestAuthSession[]>;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=session-manager.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-manager.service.d.ts","sourceRoot":"","sources":["../../../../src/lib/session/services/session-manager.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAK7D,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAI/D,eAAO,MAAM,kBAAkB,uBAAuB,CAAC;AAMvD,qBACa,qBAAqB;IAG1B,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAAV,UAAU,EAAE,kBAAkB;IAGnD,OAAO,KAAK,OAAO,GAElB;IAED,OAAO,KAAK,kBAAkB,GAE7B;IAED,OAAO,KAAK,iBAAiB,GAE5B;IAKK,aAAa,CAAC,OAAO,EAAE;QACzB,MAAM,EAAE,MAAM,CAAC;QACf,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,IAAI,CAAC,EAAE,GAAG,CAAC;QACX,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;KACtB,GAAG,OAAO,CAAC,eAAe,CAAC;IAkCtB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,UAAO,GAAG,OAAO,CAAC,eAAe,CAAC;IAwB9E,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAO3D,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAO7D,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC;IAO7F,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB/C,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOpD,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAa5E,sBAAsB,IAAI,OAAO,CAAC,MAAM,CAAC;IAOzC,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAQ7E,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAWnE,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;YAQ/C,kBAAkB;IAsBhC,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,SAAS;IASX,qBAAqB,CAAC,IAAI,EAAE,YAAY,EAAE,SAAS,GAAE;QAAE,aAAa,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,OAAO,CAAC,eAAe,CAAC;IAsChH,cAAc,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IAqBlE,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;CAGvE"}
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
15
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
16
|
+
};
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.SessionManagerService = exports.SESSION_REPOSITORY = void 0;
|
|
19
|
+
const common_1 = require("@nestjs/common");
|
|
20
|
+
const auth_config_service_1 = require("../../core/services/auth-config.service");
|
|
21
|
+
const request_context_1 = require("../../request-context/request-context");
|
|
22
|
+
const uuid_1 = require("uuid");
|
|
23
|
+
const ms_1 = __importDefault(require("ms"));
|
|
24
|
+
exports.SESSION_REPOSITORY = 'SESSION_REPOSITORY';
|
|
25
|
+
let SessionManagerService = class SessionManagerService {
|
|
26
|
+
repository;
|
|
27
|
+
constructor(repository) {
|
|
28
|
+
this.repository = repository;
|
|
29
|
+
}
|
|
30
|
+
get options() {
|
|
31
|
+
return auth_config_service_1.AuthConfigService.getOptions();
|
|
32
|
+
}
|
|
33
|
+
get maxSessionsPerUser() {
|
|
34
|
+
return this.options.session?.maxSessionsPerUser || 10;
|
|
35
|
+
}
|
|
36
|
+
get slidingExpiration() {
|
|
37
|
+
return this.options.session?.slidingExpiration ?? true;
|
|
38
|
+
}
|
|
39
|
+
async createSession(payload) {
|
|
40
|
+
const { userId, refreshToken, data, userAgent, deviceName, ipAddress } = payload;
|
|
41
|
+
await this.enforceMaxSessions(userId);
|
|
42
|
+
const sessionPayload = {
|
|
43
|
+
id: (0, uuid_1.v4)(),
|
|
44
|
+
userId,
|
|
45
|
+
refreshToken: refreshToken || '',
|
|
46
|
+
data: data || {},
|
|
47
|
+
expiresAt: this.calculateExpiration(),
|
|
48
|
+
userAgent: userAgent || request_context_1.RequestContext.currentRequest()?.headers['user-agent'] || 'Unknown',
|
|
49
|
+
deviceName: deviceName || request_context_1.RequestContext.getDeviceInfo().deviceName,
|
|
50
|
+
ipAddress: ipAddress || request_context_1.RequestContext.getDeviceInfo().ipAddress,
|
|
51
|
+
lastActive: new Date(),
|
|
52
|
+
};
|
|
53
|
+
const session = await this.repository.create(sessionPayload);
|
|
54
|
+
if (this.options.session?.onCreated) {
|
|
55
|
+
const user = data?.user;
|
|
56
|
+
await this.options.session.onCreated(session, user);
|
|
57
|
+
}
|
|
58
|
+
return session;
|
|
59
|
+
}
|
|
60
|
+
async getSession(sessionId, refreshSession = true) {
|
|
61
|
+
const session = await this.repository.findById(sessionId);
|
|
62
|
+
if (!session) {
|
|
63
|
+
throw new common_1.UnauthorizedException('Session not found');
|
|
64
|
+
}
|
|
65
|
+
if (this.isExpired(session)) {
|
|
66
|
+
await this.repository.delete(sessionId);
|
|
67
|
+
throw new common_1.UnauthorizedException('Session expired');
|
|
68
|
+
}
|
|
69
|
+
if (refreshSession && this.slidingExpiration) {
|
|
70
|
+
await this.repository.updateLastActive(sessionId);
|
|
71
|
+
}
|
|
72
|
+
return session;
|
|
73
|
+
}
|
|
74
|
+
async getUserSessions(userId) {
|
|
75
|
+
return await this.repository.findByUserId(userId);
|
|
76
|
+
}
|
|
77
|
+
async getActiveSessions(userId) {
|
|
78
|
+
return await this.repository.findActiveByUserId(userId);
|
|
79
|
+
}
|
|
80
|
+
async updateSession(sessionId, updates) {
|
|
81
|
+
return await this.repository.update(sessionId, updates);
|
|
82
|
+
}
|
|
83
|
+
async revokeSession(sessionId) {
|
|
84
|
+
let session = null;
|
|
85
|
+
if (this.options.session?.onRevoked) {
|
|
86
|
+
session = await this.repository.findById(sessionId);
|
|
87
|
+
}
|
|
88
|
+
await this.repository.delete(sessionId);
|
|
89
|
+
if (this.options.session?.onRevoked && session) {
|
|
90
|
+
await this.options.session.onRevoked(session, 'admin');
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
async revokeAllUserSessions(userId) {
|
|
94
|
+
await this.repository.deleteByUserId(userId);
|
|
95
|
+
}
|
|
96
|
+
async revokeOtherSessions(userId, currentSessionId) {
|
|
97
|
+
const sessions = await this.repository.findByUserId(userId);
|
|
98
|
+
for (const session of sessions) {
|
|
99
|
+
if (session.id !== currentSessionId) {
|
|
100
|
+
await this.repository.delete(session.id);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
async cleanupExpiredSessions() {
|
|
105
|
+
return await this.repository.deleteExpired();
|
|
106
|
+
}
|
|
107
|
+
async extendSession(sessionId, duration) {
|
|
108
|
+
const expiresAt = this.calculateExpiration(duration);
|
|
109
|
+
return await this.repository.update(sessionId, { expiresAt });
|
|
110
|
+
}
|
|
111
|
+
async validateSession(sessionId) {
|
|
112
|
+
try {
|
|
113
|
+
return await this.getSession(sessionId, true);
|
|
114
|
+
}
|
|
115
|
+
catch {
|
|
116
|
+
return null;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
async hasReachedMaxSessions(userId) {
|
|
120
|
+
const count = await this.repository.countActiveByUserId(userId);
|
|
121
|
+
return count >= this.maxSessionsPerUser;
|
|
122
|
+
}
|
|
123
|
+
async enforceMaxSessions(userId) {
|
|
124
|
+
const activeSessions = await this.repository.findActiveByUserId(userId);
|
|
125
|
+
if (activeSessions.length >= this.maxSessionsPerUser) {
|
|
126
|
+
const sorted = activeSessions.sort((a, b) => {
|
|
127
|
+
const aTime = a.lastActive?.getTime() || 0;
|
|
128
|
+
const bTime = b.lastActive?.getTime() || 0;
|
|
129
|
+
return aTime - bTime;
|
|
130
|
+
});
|
|
131
|
+
const toRemove = sorted.slice(0, activeSessions.length - this.maxSessionsPerUser + 1);
|
|
132
|
+
for (const session of toRemove) {
|
|
133
|
+
await this.repository.delete(session.id);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
calculateExpiration(duration) {
|
|
138
|
+
const expiryDuration = duration || this.options.session?.sessionExpiry || '7d';
|
|
139
|
+
const milliseconds = (0, ms_1.default)(expiryDuration);
|
|
140
|
+
return new Date(Date.now() + milliseconds);
|
|
141
|
+
}
|
|
142
|
+
isExpired(session) {
|
|
143
|
+
if (!session.expiresAt)
|
|
144
|
+
return false;
|
|
145
|
+
return new Date() > new Date(session.expiresAt);
|
|
146
|
+
}
|
|
147
|
+
async createSessionFromUser(user, extraData = {}) {
|
|
148
|
+
const { deviceName, ipAddress, browser } = request_context_1.RequestContext.getDeviceInfo();
|
|
149
|
+
const { isMfaVerified = false } = extraData;
|
|
150
|
+
if (!user) {
|
|
151
|
+
throw new common_1.UnauthorizedException('User not found');
|
|
152
|
+
}
|
|
153
|
+
const roles = await user.getRoles();
|
|
154
|
+
const permissions = await user.getPermissions();
|
|
155
|
+
let sessionData = {
|
|
156
|
+
user,
|
|
157
|
+
isMfaVerified,
|
|
158
|
+
roles,
|
|
159
|
+
permissions,
|
|
160
|
+
};
|
|
161
|
+
if (this.options.session?.customizeSessionData) {
|
|
162
|
+
sessionData = await this.options.session.customizeSessionData(sessionData, user);
|
|
163
|
+
}
|
|
164
|
+
return await this.createSession({
|
|
165
|
+
userId: user.id,
|
|
166
|
+
data: sessionData,
|
|
167
|
+
userAgent: [browser, deviceName].join(' - '),
|
|
168
|
+
ipAddress,
|
|
169
|
+
deviceName,
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
async refreshSession(session) {
|
|
173
|
+
const updates = {
|
|
174
|
+
expiresAt: this.calculateExpiration(),
|
|
175
|
+
lastActive: new Date(),
|
|
176
|
+
};
|
|
177
|
+
if (this.options.session?.onRefreshed) {
|
|
178
|
+
const newSession = { ...session, ...updates };
|
|
179
|
+
await this.options.session.onRefreshed(session, newSession);
|
|
180
|
+
}
|
|
181
|
+
return await this.updateSession(session.id, updates);
|
|
182
|
+
}
|
|
183
|
+
async getCurrentSessions(userId) {
|
|
184
|
+
return await this.getActiveSessions(userId);
|
|
185
|
+
}
|
|
186
|
+
};
|
|
187
|
+
exports.SessionManagerService = SessionManagerService;
|
|
188
|
+
exports.SessionManagerService = SessionManagerService = __decorate([
|
|
189
|
+
(0, common_1.Injectable)(),
|
|
190
|
+
__param(0, (0, common_1.Inject)(exports.SESSION_REPOSITORY)),
|
|
191
|
+
__metadata("design:paramtypes", [Object])
|
|
192
|
+
], SessionManagerService);
|
|
193
|
+
//# sourceMappingURL=session-manager.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-manager.service.js","sourceRoot":"","sources":["../../../../src/lib/session/services/session-manager.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,2CAA2E;AAK3E,iFAA4E;AAC5E,2EAAuE;AAEvE,+BAAoC;AACpC,4CAAoB;AAEP,QAAA,kBAAkB,GAAG,oBAAoB,CAAC;AAOhD,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAGT;IAFrB,YAEqB,UAA8B;QAA9B,eAAU,GAAV,UAAU,CAAoB;IAC/C,CAAC;IAEL,IAAY,OAAO;QACf,OAAO,uCAAiB,CAAC,UAAU,EAAE,CAAC;IAC1C,CAAC;IAED,IAAY,kBAAkB;QAC1B,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,kBAAkB,IAAI,EAAE,CAAC;IAC1D,CAAC;IAED,IAAY,iBAAiB;QACzB,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,iBAAiB,IAAI,IAAI,CAAC;IAC3D,CAAC;IAKD,KAAK,CAAC,aAAa,CAAC,OAOnB;QACG,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;QAGjF,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAEtC,MAAM,cAAc,GAAmB;YACnC,EAAE,EAAE,IAAA,SAAM,GAAE;YACZ,MAAM;YACN,YAAY,EAAE,YAAY,IAAI,EAAE;YAChC,IAAI,EAAE,IAAI,IAAI,EAAE;YAChB,SAAS,EAAE,IAAI,CAAC,mBAAmB,EAAE;YACrC,SAAS,EAAE,SAAS,IAAI,gCAAc,CAAC,cAAc,EAAE,EAAE,OAAO,CAAC,YAAY,CAAC,IAAI,SAAS;YAC3F,UAAU,EAAE,UAAU,IAAI,gCAAc,CAAC,aAAa,EAAE,CAAC,UAAU;YACnE,SAAS,EAAE,SAAS,IAAI,gCAAc,CAAC,aAAa,EAAE,CAAC,SAAS;YAChE,UAAU,EAAE,IAAI,IAAI,EAAE;SACzB,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAG7D,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC;YAGlC,MAAM,IAAI,GAAG,IAAI,EAAE,IAAI,CAAC;YACxB,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACxD,CAAC;QAED,OAAO,OAAO,CAAC;IACnB,CAAC;IAKD,KAAK,CAAC,UAAU,CAAC,SAAiB,EAAE,cAAc,GAAG,IAAI;QACrD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAE1D,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,MAAM,IAAI,8BAAqB,CAAC,mBAAmB,CAAC,CAAC;QACzD,CAAC;QAGD,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACxC,MAAM,IAAI,8BAAqB,CAAC,iBAAiB,CAAC,CAAC;QACvD,CAAC;QAGD,IAAI,cAAc,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3C,MAAM,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QACtD,CAAC;QAED,OAAO,OAAO,CAAC;IACnB,CAAC;IAKD,KAAK,CAAC,eAAe,CAAC,MAAc;QAChC,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IACtD,CAAC;IAKD,KAAK,CAAC,iBAAiB,CAAC,MAAc;QAClC,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC5D,CAAC;IAKD,KAAK,CAAC,aAAa,CAAC,SAAiB,EAAE,OAAiC;QACpE,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC5D,CAAC;IAKD,KAAK,CAAC,aAAa,CAAC,SAAiB;QAEjC,IAAI,OAAO,GAA2B,IAAI,CAAC;QAC3C,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC;YAClC,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAGxC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,IAAI,OAAO,EAAE,CAAC;YAC7C,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC3D,CAAC;IACL,CAAC;IAKD,KAAK,CAAC,qBAAqB,CAAC,MAAc;QACtC,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC;IAKD,KAAK,CAAC,mBAAmB,CAAC,MAAc,EAAE,gBAAwB;QAC9D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAE5D,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC7B,IAAI,OAAO,CAAC,EAAE,KAAK,gBAAgB,EAAE,CAAC;gBAClC,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC7C,CAAC;QACL,CAAC;IACL,CAAC;IAKD,KAAK,CAAC,sBAAsB;QACxB,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;IACjD,CAAC;IAKD,KAAK,CAAC,aAAa,CAAC,SAAiB,EAAE,QAAiB;QACpD,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QACrD,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,SAAS,EAAS,CAAC,CAAC;IACzE,CAAC;IAKD,KAAK,CAAC,eAAe,CAAC,SAAiB;QACnC,IAAI,CAAC;YACD,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAClD,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IAKD,KAAK,CAAC,qBAAqB,CAAC,MAAc;QACtC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAChE,OAAO,KAAK,IAAI,IAAI,CAAC,kBAAkB,CAAC;IAC5C,CAAC;IAKO,KAAK,CAAC,kBAAkB,CAAC,MAAc;QAC3C,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAExE,IAAI,cAAc,CAAC,MAAM,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAEnD,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBACxC,MAAM,KAAK,GAAG,CAAC,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;gBAC3C,MAAM,KAAK,GAAG,CAAC,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;gBAC3C,OAAO,KAAK,GAAG,KAAK,CAAC;YACzB,CAAC,CAAC,CAAC;YAGH,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,MAAM,GAAG,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC,CAAC;YACtF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC7B,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC7C,CAAC;QACL,CAAC;IACL,CAAC;IAKO,mBAAmB,CAAC,QAAiB;QACzC,MAAM,cAAc,GAAG,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,aAAa,IAAI,IAAI,CAAC;QAC/E,MAAM,YAAY,GAAG,IAAA,YAAE,EAAC,cAAc,CAAC,CAAC;QACxC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,YAAY,CAAC,CAAC;IAC/C,CAAC;IAKO,SAAS,CAAC,OAAwB;QACtC,IAAI,CAAC,OAAO,CAAC,SAAS;YAAE,OAAO,KAAK,CAAC;QACrC,OAAO,IAAI,IAAI,EAAE,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;IAMD,KAAK,CAAC,qBAAqB,CAAC,IAAkB,EAAE,YAAyC,EAAE;QACvF,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,gCAAc,CAAC,aAAa,EAAE,CAAC;QAC1E,MAAM,EAAE,aAAa,GAAG,KAAK,EAAE,GAAG,SAAS,CAAC;QAE5C,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,MAAM,IAAI,8BAAqB,CAAC,gBAAgB,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACpC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAGhD,IAAI,WAAW,GAAuB;YAClC,IAAI;YACJ,aAAa;YACb,KAAK;YACL,WAAW;SACd,CAAC;QAGF,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,oBAAoB,EAAE,CAAC;YAC7C,WAAW,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QACrF,CAAC;QAGD,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC;YAC5B,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,IAAI,EAAE,WAAW;YACjB,SAAS,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;YAC5C,SAAS;YACT,UAAU;SACb,CAAC,CAAC;IACP,CAAC;IAMD,KAAK,CAAC,cAAc,CAAC,OAAwB;QACzC,MAAM,OAAO,GAA6B;YACtC,SAAS,EAAE,IAAI,CAAC,mBAAmB,EAAE;YACrC,UAAU,EAAE,IAAI,IAAI,EAAE;SACzB,CAAC;QAGF,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC;YAGpC,MAAM,UAAU,GAAG,EAAE,GAAG,OAAO,EAAE,GAAG,OAAO,EAAqB,CAAC;YACjE,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAChE,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;IAMD,KAAK,CAAC,kBAAkB,CAAC,MAAc;QACnC,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC;CACJ,CAAA;AAzRY,sDAAqB;gCAArB,qBAAqB;IADjC,IAAA,mBAAU,GAAE;IAGJ,WAAA,IAAA,eAAM,EAAC,0BAAkB,CAAC,CAAA;;GAFtB,qBAAqB,CAyRjC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.module.d.ts","sourceRoot":"","sources":["../../../src/lib/session/session.module.ts"],"names":[],"mappings":"AAgBA,qBA0Ca,aAAa;IAKtB,OAAO,CAAC,MAAM,CAAC,qBAAqB;CAsCvC"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.SessionModule = void 0;
|
|
10
|
+
const common_1 = require("@nestjs/common");
|
|
11
|
+
const typeorm_1 = require("@nestjs/typeorm");
|
|
12
|
+
const session_entity_1 = require("./entities/session.entity");
|
|
13
|
+
const session_manager_service_1 = require("./services/session-manager.service");
|
|
14
|
+
const typeorm_session_repository_1 = require("./repositories/typeorm-session.repository");
|
|
15
|
+
const memory_session_repository_1 = require("./repositories/memory-session.repository");
|
|
16
|
+
const core_module_1 = require("../core/core.module");
|
|
17
|
+
const session_options_interface_1 = require("../core/interfaces/session-options.interface");
|
|
18
|
+
const auth_config_service_1 = require("../core/services/auth-config.service");
|
|
19
|
+
let SessionModule = class SessionModule {
|
|
20
|
+
static createRedisRepository(redisUrl) {
|
|
21
|
+
let RedisSessionRepository;
|
|
22
|
+
let ioredisModule;
|
|
23
|
+
let redisClient;
|
|
24
|
+
try {
|
|
25
|
+
RedisSessionRepository = require('./repositories/redis-session.repository').RedisSessionRepository;
|
|
26
|
+
ioredisModule = require('@nestjs-modules/ioredis');
|
|
27
|
+
const Redis = require('ioredis').default || require('ioredis');
|
|
28
|
+
if (redisUrl) {
|
|
29
|
+
redisClient = new Redis(redisUrl);
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
redisClient = new Redis();
|
|
33
|
+
}
|
|
34
|
+
return new RedisSessionRepository(redisClient);
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
38
|
+
if (errorMessage.includes('Cannot find module')) {
|
|
39
|
+
throw new Error('❌ Redis session storage is configured but packages are not installed.\n' +
|
|
40
|
+
' Install them with: npm install ioredis @nestjs-modules/ioredis\n' +
|
|
41
|
+
' Or change session.storageType to SessionStorageType.DATABASE');
|
|
42
|
+
}
|
|
43
|
+
throw new Error(`❌ Failed to initialize Redis session storage: ${errorMessage}\n` +
|
|
44
|
+
' Make sure Redis server is running and accessible.');
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
exports.SessionModule = SessionModule;
|
|
49
|
+
exports.SessionModule = SessionModule = __decorate([
|
|
50
|
+
(0, common_1.Module)({
|
|
51
|
+
imports: [
|
|
52
|
+
typeorm_1.TypeOrmModule.forFeature([session_entity_1.NestAuthSession]),
|
|
53
|
+
(0, common_1.forwardRef)(() => core_module_1.CoreModule),
|
|
54
|
+
],
|
|
55
|
+
providers: [
|
|
56
|
+
typeorm_session_repository_1.TypeORMSessionRepository,
|
|
57
|
+
memory_session_repository_1.MemorySessionRepository,
|
|
58
|
+
{
|
|
59
|
+
provide: session_manager_service_1.SESSION_REPOSITORY,
|
|
60
|
+
useFactory: (typeormRepo) => {
|
|
61
|
+
const config = auth_config_service_1.AuthConfigService.getOptions();
|
|
62
|
+
const storageType = config.session?.storageType || session_options_interface_1.SessionStorageType.DATABASE;
|
|
63
|
+
if (storageType === session_options_interface_1.SessionStorageType.REDIS) {
|
|
64
|
+
return SessionModule.createRedisRepository(config.session?.redisUrl);
|
|
65
|
+
}
|
|
66
|
+
if (storageType === session_options_interface_1.SessionStorageType.MEMORY) {
|
|
67
|
+
return new memory_session_repository_1.MemorySessionRepository();
|
|
68
|
+
}
|
|
69
|
+
return typeormRepo;
|
|
70
|
+
},
|
|
71
|
+
inject: [typeorm_session_repository_1.TypeORMSessionRepository],
|
|
72
|
+
},
|
|
73
|
+
session_manager_service_1.SessionManagerService,
|
|
74
|
+
],
|
|
75
|
+
exports: [
|
|
76
|
+
session_manager_service_1.SESSION_REPOSITORY,
|
|
77
|
+
session_manager_service_1.SessionManagerService,
|
|
78
|
+
typeorm_session_repository_1.TypeORMSessionRepository,
|
|
79
|
+
memory_session_repository_1.MemorySessionRepository,
|
|
80
|
+
],
|
|
81
|
+
})
|
|
82
|
+
], SessionModule);
|
|
83
|
+
//# sourceMappingURL=session.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.module.js","sourceRoot":"","sources":["../../../src/lib/session/session.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAoD;AACpD,6CAAgD;AAChD,8DAA4D;AAC5D,gFAA+F;AAC/F,0FAAqF;AACrF,wFAAmF;AACnF,qDAAiD;AACjD,4FAAkF;AAClF,8EAAyE;AAkDlE,IAAM,aAAa,GAAnB,MAAM,aAAa;IAKd,MAAM,CAAC,qBAAqB,CAAC,QAAiB;QAClD,IAAI,sBAA2B,CAAC;QAChC,IAAI,aAAkB,CAAC;QACvB,IAAI,WAAgB,CAAC;QAGrB,IAAI,CAAC;YAED,sBAAsB,GAAG,OAAO,CAAC,yCAAyC,CAAC,CAAC,sBAAsB,CAAC;YACnG,aAAa,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;YACnD,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC;YAG/D,IAAI,QAAQ,EAAE,CAAC;gBACX,WAAW,GAAG,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;YACtC,CAAC;iBAAM,CAAC;gBACJ,WAAW,GAAG,IAAI,KAAK,EAAE,CAAC;YAC9B,CAAC;YAGD,OAAO,IAAI,sBAAsB,CAAC,WAAW,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAE5E,IAAI,YAAY,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;gBAC9C,MAAM,IAAI,KAAK,CACX,yEAAyE;oBACzE,qEAAqE;oBACrE,iEAAiE,CACpE,CAAC;YACN,CAAC;YAED,MAAM,IAAI,KAAK,CACX,iDAAiD,YAAY,IAAI;gBACjE,sDAAsD,CACzD,CAAC;QACN,CAAC;IACL,CAAC;CACJ,CAAA;AA3CY,sCAAa;wBAAb,aAAa;IA1CzB,IAAA,eAAM,EAAC;QACJ,OAAO,EAAE;YACL,uBAAa,CAAC,UAAU,CAAC,CAAC,gCAAe,CAAC,CAAC;YAC3C,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,wBAAU,CAAC;SAC/B;QACD,SAAS,EAAE;YAEP,qDAAwB;YACxB,mDAAuB;YAGvB;gBACI,OAAO,EAAE,4CAAkB;gBAC3B,UAAU,EAAE,CAAC,WAAqC,EAAE,EAAE;oBAClD,MAAM,MAAM,GAAG,uCAAiB,CAAC,UAAU,EAAE,CAAC;oBAC9C,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,EAAE,WAAW,IAAI,8CAAkB,CAAC,QAAQ,CAAC;oBAG/E,IAAI,WAAW,KAAK,8CAAkB,CAAC,KAAK,EAAE,CAAC;wBAC3C,OAAO,aAAa,CAAC,qBAAqB,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;oBACzE,CAAC;oBAED,IAAI,WAAW,KAAK,8CAAkB,CAAC,MAAM,EAAE,CAAC;wBAC5C,OAAO,IAAI,mDAAuB,EAAE,CAAC;oBACzC,CAAC;oBAGD,OAAO,WAAW,CAAC;gBACvB,CAAC;gBACD,MAAM,EAAE,CAAC,qDAAwB,CAAC;aACrC;YAGD,+CAAqB;SACxB;QACD,OAAO,EAAE;YACL,4CAAkB;YAClB,+CAAqB;YACrB,qDAAwB;YACxB,mDAAuB;SAC1B;KACJ,CAAC;GACW,aAAa,CA2CzB"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { NestAuthSession } from '../entities/session.entity';
|
|
2
|
+
export declare class SessionUtil {
|
|
3
|
+
static extractMetadata(session: NestAuthSession): {
|
|
4
|
+
device: string;
|
|
5
|
+
ip: string;
|
|
6
|
+
location?: string;
|
|
7
|
+
browser?: string;
|
|
8
|
+
os?: string;
|
|
9
|
+
};
|
|
10
|
+
static getRemainingTime(session: NestAuthSession): {
|
|
11
|
+
milliseconds: number;
|
|
12
|
+
seconds: number;
|
|
13
|
+
minutes: number;
|
|
14
|
+
hours: number;
|
|
15
|
+
formatted: string;
|
|
16
|
+
};
|
|
17
|
+
static isExpiringSoon(session: NestAuthSession, thresholdMs?: number): boolean;
|
|
18
|
+
static isExpired(session: NestAuthSession): boolean;
|
|
19
|
+
static isActive(session: NestAuthSession): boolean;
|
|
20
|
+
static formatForDisplay(session: NestAuthSession): {
|
|
21
|
+
id: string;
|
|
22
|
+
device: string;
|
|
23
|
+
ipAddress: string;
|
|
24
|
+
lastActive: string;
|
|
25
|
+
expiresAt: string;
|
|
26
|
+
isActive: boolean;
|
|
27
|
+
isCurrent?: boolean;
|
|
28
|
+
};
|
|
29
|
+
static sanitize(session: NestAuthSession): Partial<NestAuthSession>;
|
|
30
|
+
static isSameDevice(session1: NestAuthSession, session2: NestAuthSession): boolean;
|
|
31
|
+
static getAge(session: NestAuthSession): {
|
|
32
|
+
milliseconds: number;
|
|
33
|
+
formatted: string;
|
|
34
|
+
};
|
|
35
|
+
static getIdleTime(session: NestAuthSession): {
|
|
36
|
+
milliseconds: number;
|
|
37
|
+
formatted: string;
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=session.util.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.util.d.ts","sourceRoot":"","sources":["../../../../src/lib/session/utils/session.util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAO7D,qBAAa,WAAW;IAIpB,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,eAAe,GAAG;QAC9C,MAAM,EAAE,MAAM,CAAC;QACf,EAAE,EAAE,MAAM,CAAC;QACX,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,EAAE,CAAC,EAAE,MAAM,CAAC;KACf;IAWD,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,eAAe,GAAG;QAC/C,YAAY,EAAE,MAAM,CAAC;QACrB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;KACrB;IA+BD,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,eAAe,EAAE,WAAW,GAAE,MAAsB,GAAG,OAAO;IAQ7F,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO;IAQnD,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO;IAOlD,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,eAAe,GAAG;QAC/C,EAAE,EAAE,MAAM,CAAC;QACX,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,OAAO,CAAC;QAClB,SAAS,CAAC,EAAE,OAAO,CAAC;KACvB;IAkBD,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IAQnE,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE,eAAe,GAAG,OAAO;IAWlF,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,eAAe,GAAG;QACrC,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;KACrB;IAeD,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,eAAe,GAAG;QAC1C,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;KACrB;CAWJ"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.SessionUtil = void 0;
|
|
7
|
+
const ms_1 = __importDefault(require("ms"));
|
|
8
|
+
class SessionUtil {
|
|
9
|
+
static extractMetadata(session) {
|
|
10
|
+
return {
|
|
11
|
+
device: session.deviceName || 'Unknown Device',
|
|
12
|
+
ip: session.ipAddress || 'Unknown IP',
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
static getRemainingTime(session) {
|
|
16
|
+
if (!session.expiresAt) {
|
|
17
|
+
return {
|
|
18
|
+
milliseconds: 0,
|
|
19
|
+
seconds: 0,
|
|
20
|
+
minutes: 0,
|
|
21
|
+
hours: 0,
|
|
22
|
+
formatted: 'Never',
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
const now = Date.now();
|
|
26
|
+
const expiresAt = new Date(session.expiresAt).getTime();
|
|
27
|
+
const remaining = Math.max(0, expiresAt - now);
|
|
28
|
+
const seconds = Math.floor(remaining / 1000);
|
|
29
|
+
const minutes = Math.floor(seconds / 60);
|
|
30
|
+
const hours = Math.floor(minutes / 60);
|
|
31
|
+
return {
|
|
32
|
+
milliseconds: remaining,
|
|
33
|
+
seconds,
|
|
34
|
+
minutes,
|
|
35
|
+
hours,
|
|
36
|
+
formatted: (0, ms_1.default)(remaining, { long: true }),
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
static isExpiringSoon(session, thresholdMs = 5 * 60 * 1000) {
|
|
40
|
+
const remaining = this.getRemainingTime(session);
|
|
41
|
+
return remaining.milliseconds > 0 && remaining.milliseconds < thresholdMs;
|
|
42
|
+
}
|
|
43
|
+
static isExpired(session) {
|
|
44
|
+
if (!session.expiresAt)
|
|
45
|
+
return false;
|
|
46
|
+
return new Date() > new Date(session.expiresAt);
|
|
47
|
+
}
|
|
48
|
+
static isActive(session) {
|
|
49
|
+
return !this.isExpired(session);
|
|
50
|
+
}
|
|
51
|
+
static formatForDisplay(session) {
|
|
52
|
+
return {
|
|
53
|
+
id: session.id,
|
|
54
|
+
device: session.deviceName || 'Unknown',
|
|
55
|
+
ipAddress: session.ipAddress || 'Unknown',
|
|
56
|
+
lastActive: session.lastActive
|
|
57
|
+
? new Date(session.lastActive).toLocaleString()
|
|
58
|
+
: 'Unknown',
|
|
59
|
+
expiresAt: session.expiresAt
|
|
60
|
+
? new Date(session.expiresAt).toLocaleString()
|
|
61
|
+
: 'Never',
|
|
62
|
+
isActive: this.isActive(session),
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
static sanitize(session) {
|
|
66
|
+
const { refreshToken, data, ...sanitized } = session;
|
|
67
|
+
return sanitized;
|
|
68
|
+
}
|
|
69
|
+
static isSameDevice(session1, session2) {
|
|
70
|
+
return (session1.deviceName === session2.deviceName &&
|
|
71
|
+
session1.userAgent === session2.userAgent &&
|
|
72
|
+
session1.ipAddress === session2.ipAddress);
|
|
73
|
+
}
|
|
74
|
+
static getAge(session) {
|
|
75
|
+
if (!session.createdAt) {
|
|
76
|
+
return { milliseconds: 0, formatted: 'Unknown' };
|
|
77
|
+
}
|
|
78
|
+
const age = Date.now() - new Date(session.createdAt).getTime();
|
|
79
|
+
return {
|
|
80
|
+
milliseconds: age,
|
|
81
|
+
formatted: (0, ms_1.default)(age, { long: true }),
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
static getIdleTime(session) {
|
|
85
|
+
if (!session.lastActive) {
|
|
86
|
+
return { milliseconds: 0, formatted: 'Unknown' };
|
|
87
|
+
}
|
|
88
|
+
const idle = Date.now() - new Date(session.lastActive).getTime();
|
|
89
|
+
return {
|
|
90
|
+
milliseconds: idle,
|
|
91
|
+
formatted: (0, ms_1.default)(idle, { long: true }),
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
exports.SessionUtil = SessionUtil;
|
|
96
|
+
//# sourceMappingURL=session.util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.util.js","sourceRoot":"","sources":["../../../../src/lib/session/utils/session.util.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare class NestAuthTenant {
|
|
2
|
+
id: string;
|
|
3
|
+
name: string;
|
|
4
|
+
slug: string;
|
|
5
|
+
domain: string;
|
|
6
|
+
description: string;
|
|
7
|
+
metadata: Record<string, any>;
|
|
8
|
+
isActive: boolean;
|
|
9
|
+
createdAt: Date;
|
|
10
|
+
updatedAt: Date;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=tenant.entity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tenant.entity.d.ts","sourceRoot":"","sources":["../../../../src/lib/tenant/entities/tenant.entity.ts"],"names":[],"mappings":"AAEA,qBACa,cAAc;IAEvB,EAAE,EAAE,MAAM,CAAC;IAGX,IAAI,EAAE,MAAM,CAAC;IAQb,IAAI,EAAE,MAAM,CAAC;IAOb,MAAM,EAAE,MAAM,CAAC;IAGf,WAAW,EAAE,MAAM,CAAC;IAGpB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAG9B,QAAQ,EAAE,OAAO,CAAC;IAGlB,SAAS,EAAE,IAAI,CAAC;IAGhB,SAAS,EAAE,IAAI,CAAC;CACnB"}
|