@nauth-toolkit/core 0.1.13 → 0.1.17
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/dist/adapters/database-columns.d.ts +70 -0
- package/dist/adapters/database-columns.d.ts.map +1 -1
- package/dist/adapters/database-columns.js +76 -2
- package/dist/adapters/database-columns.js.map +1 -1
- package/dist/adapters/express.adapter.d.ts +66 -0
- package/dist/adapters/express.adapter.d.ts.map +1 -1
- package/dist/adapters/express.adapter.js +80 -0
- package/dist/adapters/express.adapter.js.map +1 -1
- package/dist/adapters/fastify.adapter.d.ts +42 -0
- package/dist/adapters/fastify.adapter.d.ts.map +1 -1
- package/dist/adapters/fastify.adapter.js +86 -0
- package/dist/adapters/fastify.adapter.js.map +1 -1
- package/dist/adapters/index.d.ts +5 -0
- package/dist/adapters/index.d.ts.map +1 -1
- package/dist/adapters/index.js +9 -0
- package/dist/adapters/index.js.map +1 -1
- package/dist/adapters/storage.factory.d.ts +107 -0
- package/dist/adapters/storage.factory.d.ts.map +1 -1
- package/dist/adapters/storage.factory.js +114 -0
- package/dist/adapters/storage.factory.js.map +1 -1
- package/dist/adapters.d.ts +8 -0
- package/dist/adapters.d.ts.map +1 -1
- package/dist/adapters.js +8 -0
- package/dist/adapters.js.map +1 -1
- package/dist/bootstrap.d.ts +82 -0
- package/dist/bootstrap.d.ts.map +1 -1
- package/dist/bootstrap.js +106 -0
- package/dist/bootstrap.js.map +1 -1
- package/dist/dto/admin-set-password.dto.d.ts +90 -0
- package/dist/dto/admin-set-password.dto.d.ts.map +1 -1
- package/dist/dto/admin-set-password.dto.js +91 -0
- package/dist/dto/admin-set-password.dto.js.map +1 -1
- package/dist/dto/auth-challenge.dto.d.ts +170 -0
- package/dist/dto/auth-challenge.dto.d.ts.map +1 -1
- package/dist/dto/auth-challenge.dto.js +170 -0
- package/dist/dto/auth-challenge.dto.js.map +1 -1
- package/dist/dto/auth-response.dto.d.ts +196 -0
- package/dist/dto/auth-response.dto.d.ts.map +1 -1
- package/dist/dto/auth-response.dto.js +149 -0
- package/dist/dto/auth-response.dto.js.map +1 -1
- package/dist/dto/challenge-response.dto.d.ts +155 -0
- package/dist/dto/challenge-response.dto.d.ts.map +1 -1
- package/dist/dto/challenge-response.dto.js +8 -0
- package/dist/dto/challenge-response.dto.js.map +1 -1
- package/dist/dto/change-password-request.dto.d.ts +35 -0
- package/dist/dto/change-password-request.dto.d.ts.map +1 -1
- package/dist/dto/change-password-request.dto.js +35 -0
- package/dist/dto/change-password-request.dto.js.map +1 -1
- package/dist/dto/change-password-response.dto.d.ts +25 -0
- package/dist/dto/change-password-response.dto.d.ts.map +1 -1
- package/dist/dto/change-password-response.dto.js +25 -0
- package/dist/dto/change-password-response.dto.js.map +1 -1
- package/dist/dto/change-password.dto.d.ts +45 -0
- package/dist/dto/change-password.dto.d.ts.map +1 -1
- package/dist/dto/change-password.dto.js +45 -0
- package/dist/dto/change-password.dto.js.map +1 -1
- package/dist/dto/confirm-forgot-password.dto.d.ts +59 -0
- package/dist/dto/confirm-forgot-password.dto.d.ts.map +1 -1
- package/dist/dto/confirm-forgot-password.dto.js +59 -0
- package/dist/dto/confirm-forgot-password.dto.js.map +1 -1
- package/dist/dto/error-response.dto.d.ts +103 -0
- package/dist/dto/error-response.dto.d.ts.map +1 -1
- package/dist/dto/error-response.dto.js +103 -0
- package/dist/dto/error-response.dto.js.map +1 -1
- package/dist/dto/forgot-password.dto.d.ts +58 -0
- package/dist/dto/forgot-password.dto.d.ts.map +1 -1
- package/dist/dto/forgot-password.dto.js +58 -0
- package/dist/dto/forgot-password.dto.js.map +1 -1
- package/dist/dto/get-available-methods.dto.d.ts +37 -0
- package/dist/dto/get-available-methods.dto.d.ts.map +1 -1
- package/dist/dto/get-available-methods.dto.js +37 -0
- package/dist/dto/get-available-methods.dto.js.map +1 -1
- package/dist/dto/get-challenge-data-response.dto.d.ts +24 -0
- package/dist/dto/get-challenge-data-response.dto.d.ts.map +1 -1
- package/dist/dto/get-challenge-data-response.dto.js +24 -0
- package/dist/dto/get-challenge-data-response.dto.js.map +1 -1
- package/dist/dto/get-challenge-data.dto.d.ts +46 -0
- package/dist/dto/get-challenge-data.dto.d.ts.map +1 -1
- package/dist/dto/get-challenge-data.dto.js +46 -0
- package/dist/dto/get-challenge-data.dto.js.map +1 -1
- package/dist/dto/get-client-info.dto.d.ts +74 -0
- package/dist/dto/get-client-info.dto.d.ts.map +1 -1
- package/dist/dto/get-client-info.dto.js +74 -0
- package/dist/dto/get-client-info.dto.js.map +1 -1
- package/dist/dto/get-device-token-response.dto.d.ts +21 -0
- package/dist/dto/get-device-token-response.dto.d.ts.map +1 -1
- package/dist/dto/get-device-token-response.dto.js +21 -0
- package/dist/dto/get-device-token-response.dto.js.map +1 -1
- package/dist/dto/get-events-by-type.dto.d.ts +50 -0
- package/dist/dto/get-events-by-type.dto.d.ts.map +1 -1
- package/dist/dto/get-events-by-type.dto.js +50 -0
- package/dist/dto/get-events-by-type.dto.js.map +1 -1
- package/dist/dto/get-ip-address-response.dto.d.ts +20 -0
- package/dist/dto/get-ip-address-response.dto.d.ts.map +1 -1
- package/dist/dto/get-ip-address-response.dto.js +20 -0
- package/dist/dto/get-ip-address-response.dto.js.map +1 -1
- package/dist/dto/get-mfa-status.dto.d.ts +59 -0
- package/dist/dto/get-mfa-status.dto.d.ts.map +1 -1
- package/dist/dto/get-mfa-status.dto.js +59 -0
- package/dist/dto/get-mfa-status.dto.js.map +1 -1
- package/dist/dto/get-risk-assessment-history.dto.d.ts +28 -0
- package/dist/dto/get-risk-assessment-history.dto.d.ts.map +1 -1
- package/dist/dto/get-risk-assessment-history.dto.js +28 -0
- package/dist/dto/get-risk-assessment-history.dto.js.map +1 -1
- package/dist/dto/get-session-id-response.dto.d.ts +21 -0
- package/dist/dto/get-session-id-response.dto.d.ts.map +1 -1
- package/dist/dto/get-session-id-response.dto.js +21 -0
- package/dist/dto/get-session-id-response.dto.js.map +1 -1
- package/dist/dto/get-setup-data-response.dto.d.ts +27 -0
- package/dist/dto/get-setup-data-response.dto.d.ts.map +1 -1
- package/dist/dto/get-setup-data-response.dto.js +27 -0
- package/dist/dto/get-setup-data-response.dto.js.map +1 -1
- package/dist/dto/get-setup-data.dto.d.ts +51 -0
- package/dist/dto/get-setup-data.dto.d.ts.map +1 -1
- package/dist/dto/get-setup-data.dto.js +51 -0
- package/dist/dto/get-setup-data.dto.js.map +1 -1
- package/dist/dto/get-suspicious-activity.dto.d.ts +31 -0
- package/dist/dto/get-suspicious-activity.dto.d.ts.map +1 -1
- package/dist/dto/get-suspicious-activity.dto.js +31 -0
- package/dist/dto/get-suspicious-activity.dto.js.map +1 -1
- package/dist/dto/get-user-agent-response.dto.d.ts +19 -0
- package/dist/dto/get-user-agent-response.dto.d.ts.map +1 -1
- package/dist/dto/get-user-agent-response.dto.js +19 -0
- package/dist/dto/get-user-agent-response.dto.js.map +1 -1
- package/dist/dto/get-user-auth-history.dto.d.ts +64 -0
- package/dist/dto/get-user-auth-history.dto.d.ts.map +1 -1
- package/dist/dto/get-user-auth-history.dto.js +64 -0
- package/dist/dto/get-user-auth-history.dto.js.map +1 -1
- package/dist/dto/get-user-by-email.dto.d.ts +42 -0
- package/dist/dto/get-user-by-email.dto.d.ts.map +1 -1
- package/dist/dto/get-user-by-email.dto.js +42 -0
- package/dist/dto/get-user-by-email.dto.js.map +1 -1
- package/dist/dto/get-user-by-id.dto.d.ts +32 -0
- package/dist/dto/get-user-by-id.dto.d.ts.map +1 -1
- package/dist/dto/get-user-by-id.dto.js +32 -0
- package/dist/dto/get-user-by-id.dto.js.map +1 -1
- package/dist/dto/get-user-devices.dto.d.ts +34 -0
- package/dist/dto/get-user-devices.dto.d.ts.map +1 -1
- package/dist/dto/get-user-devices.dto.js +34 -0
- package/dist/dto/get-user-devices.dto.js.map +1 -1
- package/dist/dto/get-user-response.dto.d.ts +14 -0
- package/dist/dto/get-user-response.dto.d.ts.map +1 -1
- package/dist/dto/get-user-response.dto.js +15 -0
- package/dist/dto/get-user-response.dto.js.map +1 -1
- package/dist/dto/has-provider.dto.d.ts +33 -0
- package/dist/dto/has-provider.dto.d.ts.map +1 -1
- package/dist/dto/has-provider.dto.js +33 -0
- package/dist/dto/has-provider.dto.js.map +1 -1
- package/dist/dto/index.js +5 -0
- package/dist/dto/index.js.map +1 -1
- package/dist/dto/is-trusted-device-response.dto.d.ts +28 -0
- package/dist/dto/is-trusted-device-response.dto.d.ts.map +1 -1
- package/dist/dto/is-trusted-device-response.dto.js +28 -0
- package/dist/dto/is-trusted-device-response.dto.js.map +1 -1
- package/dist/dto/list-providers-response.dto.d.ts +19 -0
- package/dist/dto/list-providers-response.dto.d.ts.map +1 -1
- package/dist/dto/list-providers-response.dto.js +19 -0
- package/dist/dto/list-providers-response.dto.js.map +1 -1
- package/dist/dto/login.dto.d.ts +48 -0
- package/dist/dto/login.dto.d.ts.map +1 -1
- package/dist/dto/login.dto.js +50 -1
- package/dist/dto/login.dto.js.map +1 -1
- package/dist/dto/logout-all-response.dto.d.ts +20 -0
- package/dist/dto/logout-all-response.dto.d.ts.map +1 -1
- package/dist/dto/logout-all-response.dto.js +20 -0
- package/dist/dto/logout-all-response.dto.js.map +1 -1
- package/dist/dto/logout-all.dto.d.ts +42 -0
- package/dist/dto/logout-all.dto.d.ts.map +1 -1
- package/dist/dto/logout-all.dto.js +42 -0
- package/dist/dto/logout-all.dto.js.map +1 -1
- package/dist/dto/logout-response.dto.d.ts +21 -0
- package/dist/dto/logout-response.dto.d.ts.map +1 -1
- package/dist/dto/logout-response.dto.js +21 -0
- package/dist/dto/logout-response.dto.js.map +1 -1
- package/dist/dto/logout.dto.d.ts +45 -0
- package/dist/dto/logout.dto.d.ts.map +1 -1
- package/dist/dto/logout.dto.js +45 -0
- package/dist/dto/logout.dto.js.map +1 -1
- package/dist/dto/refresh-token.dto.d.ts +28 -0
- package/dist/dto/refresh-token.dto.d.ts.map +1 -1
- package/dist/dto/refresh-token.dto.js +28 -0
- package/dist/dto/refresh-token.dto.js.map +1 -1
- package/dist/dto/remove-devices.dto.d.ts +51 -0
- package/dist/dto/remove-devices.dto.d.ts.map +1 -1
- package/dist/dto/remove-devices.dto.js +51 -0
- package/dist/dto/remove-devices.dto.js.map +1 -1
- package/dist/dto/resend-code-response.dto.d.ts +28 -0
- package/dist/dto/resend-code-response.dto.d.ts.map +1 -1
- package/dist/dto/resend-code-response.dto.js +28 -0
- package/dist/dto/resend-code-response.dto.js.map +1 -1
- package/dist/dto/resend-code.dto.d.ts +37 -0
- package/dist/dto/resend-code.dto.d.ts.map +1 -1
- package/dist/dto/resend-code.dto.js +37 -0
- package/dist/dto/resend-code.dto.js.map +1 -1
- package/dist/dto/reset-password.dto.d.ts +74 -0
- package/dist/dto/reset-password.dto.d.ts.map +1 -1
- package/dist/dto/reset-password.dto.js +76 -1
- package/dist/dto/reset-password.dto.js.map +1 -1
- package/dist/dto/respond-challenge.dto.d.ts +147 -0
- package/dist/dto/respond-challenge.dto.d.ts.map +1 -1
- package/dist/dto/respond-challenge.dto.js +162 -0
- package/dist/dto/respond-challenge.dto.js.map +1 -1
- package/dist/dto/set-mfa-exemption.dto.d.ts +65 -0
- package/dist/dto/set-mfa-exemption.dto.d.ts.map +1 -1
- package/dist/dto/set-mfa-exemption.dto.js +65 -0
- package/dist/dto/set-mfa-exemption.dto.js.map +1 -1
- package/dist/dto/set-must-change-password-response.dto.d.ts +23 -0
- package/dist/dto/set-must-change-password-response.dto.d.ts.map +1 -1
- package/dist/dto/set-must-change-password-response.dto.js +23 -0
- package/dist/dto/set-must-change-password-response.dto.js.map +1 -1
- package/dist/dto/set-must-change-password.dto.d.ts +32 -0
- package/dist/dto/set-must-change-password.dto.d.ts.map +1 -1
- package/dist/dto/set-must-change-password.dto.js +32 -0
- package/dist/dto/set-must-change-password.dto.js.map +1 -1
- package/dist/dto/set-preferred-method.dto.d.ts +48 -0
- package/dist/dto/set-preferred-method.dto.d.ts.map +1 -1
- package/dist/dto/set-preferred-method.dto.js +48 -0
- package/dist/dto/set-preferred-method.dto.js.map +1 -1
- package/dist/dto/setup-mfa.dto.d.ts +62 -0
- package/dist/dto/setup-mfa.dto.d.ts.map +1 -1
- package/dist/dto/setup-mfa.dto.js +62 -0
- package/dist/dto/setup-mfa.dto.js.map +1 -1
- package/dist/dto/signup.dto.d.ts +92 -0
- package/dist/dto/signup.dto.d.ts.map +1 -1
- package/dist/dto/signup.dto.js +93 -0
- package/dist/dto/signup.dto.js.map +1 -1
- package/dist/dto/social-auth.dto.d.ts +234 -0
- package/dist/dto/social-auth.dto.d.ts.map +1 -1
- package/dist/dto/social-auth.dto.js +234 -0
- package/dist/dto/social-auth.dto.js.map +1 -1
- package/dist/dto/trust-device-response.dto.d.ts +26 -0
- package/dist/dto/trust-device-response.dto.d.ts.map +1 -1
- package/dist/dto/trust-device-response.dto.js +26 -0
- package/dist/dto/trust-device-response.dto.js.map +1 -1
- package/dist/dto/trust-device.dto.d.ts +9 -0
- package/dist/dto/trust-device.dto.d.ts.map +1 -1
- package/dist/dto/trust-device.dto.js +9 -0
- package/dist/dto/trust-device.dto.js.map +1 -1
- package/dist/dto/update-user-attributes-request.dto.d.ts +36 -0
- package/dist/dto/update-user-attributes-request.dto.d.ts.map +1 -1
- package/dist/dto/update-user-attributes-request.dto.js +36 -0
- package/dist/dto/update-user-attributes-request.dto.js.map +1 -1
- package/dist/dto/user-response.dto.d.ts +81 -0
- package/dist/dto/user-response.dto.d.ts.map +1 -1
- package/dist/dto/user-response.dto.js +84 -2
- package/dist/dto/user-response.dto.js.map +1 -1
- package/dist/dto/user-update.dto.d.ts +132 -0
- package/dist/dto/user-update.dto.d.ts.map +1 -1
- package/dist/dto/user-update.dto.js +133 -0
- package/dist/dto/user-update.dto.js.map +1 -1
- package/dist/dto/verify-email.dto.d.ts +171 -0
- package/dist/dto/verify-email.dto.d.ts.map +1 -1
- package/dist/dto/verify-email.dto.js +173 -1
- package/dist/dto/verify-email.dto.js.map +1 -1
- package/dist/dto/verify-mfa-code.dto.d.ts +65 -0
- package/dist/dto/verify-mfa-code.dto.d.ts.map +1 -1
- package/dist/dto/verify-mfa-code.dto.js +65 -0
- package/dist/dto/verify-mfa-code.dto.js.map +1 -1
- package/dist/dto/verify-phone-by-sub.dto.d.ts +49 -0
- package/dist/dto/verify-phone-by-sub.dto.d.ts.map +1 -1
- package/dist/dto/verify-phone-by-sub.dto.js +49 -0
- package/dist/dto/verify-phone-by-sub.dto.js.map +1 -1
- package/dist/dto/verify-phone.dto.d.ts +139 -0
- package/dist/dto/verify-phone.dto.d.ts.map +1 -1
- package/dist/dto/verify-phone.dto.js +142 -1
- package/dist/dto/verify-phone.dto.js.map +1 -1
- package/dist/dto.d.ts +10 -0
- package/dist/dto.d.ts.map +1 -1
- package/dist/dto.js +10 -0
- package/dist/dto.js.map +1 -1
- package/dist/entities/auth-audit.entity.d.ts +159 -0
- package/dist/entities/auth-audit.entity.d.ts.map +1 -1
- package/dist/entities/auth-audit.entity.js +166 -0
- package/dist/entities/auth-audit.entity.js.map +1 -1
- package/dist/entities/challenge-session.entity.d.ts +87 -0
- package/dist/entities/challenge-session.entity.d.ts.map +1 -1
- package/dist/entities/challenge-session.entity.js +87 -0
- package/dist/entities/challenge-session.entity.js.map +1 -1
- package/dist/entities/index.d.ts +18 -0
- package/dist/entities/index.d.ts.map +1 -1
- package/dist/entities/index.js +18 -0
- package/dist/entities/index.js.map +1 -1
- package/dist/entities/login-attempt.entity.d.ts +43 -0
- package/dist/entities/login-attempt.entity.d.ts.map +1 -1
- package/dist/entities/login-attempt.entity.js +43 -0
- package/dist/entities/login-attempt.entity.js.map +1 -1
- package/dist/entities/mfa-device.entity.d.ts +112 -0
- package/dist/entities/mfa-device.entity.d.ts.map +1 -1
- package/dist/entities/mfa-device.entity.js +112 -0
- package/dist/entities/mfa-device.entity.js.map +1 -1
- package/dist/entities/rate-limit.entity.d.ts +31 -0
- package/dist/entities/rate-limit.entity.d.ts.map +1 -1
- package/dist/entities/rate-limit.entity.js +31 -0
- package/dist/entities/rate-limit.entity.js.map +1 -1
- package/dist/entities/session.entity.d.ts +121 -0
- package/dist/entities/session.entity.d.ts.map +1 -1
- package/dist/entities/session.entity.js +121 -0
- package/dist/entities/session.entity.js.map +1 -1
- package/dist/entities/social-account.entity.d.ts +75 -0
- package/dist/entities/social-account.entity.d.ts.map +1 -1
- package/dist/entities/social-account.entity.js +75 -0
- package/dist/entities/social-account.entity.js.map +1 -1
- package/dist/entities/storage-lock.entity.d.ts +28 -0
- package/dist/entities/storage-lock.entity.d.ts.map +1 -1
- package/dist/entities/storage-lock.entity.js +28 -0
- package/dist/entities/storage-lock.entity.js.map +1 -1
- package/dist/entities/trusted-device.entity.d.ts +83 -0
- package/dist/entities/trusted-device.entity.d.ts.map +1 -1
- package/dist/entities/trusted-device.entity.js +83 -0
- package/dist/entities/trusted-device.entity.js.map +1 -1
- package/dist/entities/user.entity.d.ts +166 -0
- package/dist/entities/user.entity.d.ts.map +1 -1
- package/dist/entities/user.entity.js +166 -0
- package/dist/entities/user.entity.js.map +1 -1
- package/dist/entities/verification-token.entity.d.ts +102 -0
- package/dist/entities/verification-token.entity.d.ts.map +1 -1
- package/dist/entities/verification-token.entity.js +102 -0
- package/dist/entities/verification-token.entity.js.map +1 -1
- package/dist/entities.d.ts +8 -0
- package/dist/entities.d.ts.map +1 -1
- package/dist/entities.js +8 -0
- package/dist/entities.js.map +1 -1
- package/dist/enums/auth-audit-event-type.enum.d.ts +211 -0
- package/dist/enums/auth-audit-event-type.enum.d.ts.map +1 -1
- package/dist/enums/auth-audit-event-type.enum.js +244 -0
- package/dist/enums/auth-audit-event-type.enum.js.map +1 -1
- package/dist/enums/error-codes.enum.d.ts +296 -0
- package/dist/enums/error-codes.enum.d.ts.map +1 -1
- package/dist/enums/error-codes.enum.js +332 -0
- package/dist/enums/error-codes.enum.js.map +1 -1
- package/dist/enums/mfa-method.enum.d.ts +74 -0
- package/dist/enums/mfa-method.enum.d.ts.map +1 -1
- package/dist/enums/mfa-method.enum.js +64 -0
- package/dist/enums/mfa-method.enum.js.map +1 -1
- package/dist/enums/risk-factor.enum.d.ts +91 -0
- package/dist/enums/risk-factor.enum.d.ts.map +1 -1
- package/dist/enums/risk-factor.enum.js +97 -0
- package/dist/enums/risk-factor.enum.js.map +1 -1
- package/dist/exceptions/nauth.exception.d.ts +149 -0
- package/dist/exceptions/nauth.exception.d.ts.map +1 -1
- package/dist/exceptions/nauth.exception.js +159 -0
- package/dist/exceptions/nauth.exception.js.map +1 -1
- package/dist/handlers/auth.handler.d.ts +32 -0
- package/dist/handlers/auth.handler.d.ts.map +1 -1
- package/dist/handlers/auth.handler.js +47 -1
- package/dist/handlers/auth.handler.js.map +1 -1
- package/dist/handlers/client-info.handler.d.ts +25 -0
- package/dist/handlers/client-info.handler.d.ts.map +1 -1
- package/dist/handlers/client-info.handler.js +36 -2
- package/dist/handlers/client-info.handler.js.map +1 -1
- package/dist/handlers/csrf.handler.d.ts +32 -0
- package/dist/handlers/csrf.handler.d.ts.map +1 -1
- package/dist/handlers/csrf.handler.js +49 -1
- package/dist/handlers/csrf.handler.js.map +1 -1
- package/dist/handlers/token-delivery.handler.d.ts +16 -0
- package/dist/handlers/token-delivery.handler.d.ts.map +1 -1
- package/dist/handlers/token-delivery.handler.js +22 -1
- package/dist/handlers/token-delivery.handler.js.map +1 -1
- package/dist/index.d.ts +34 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +67 -0
- package/dist/index.js.map +1 -1
- package/dist/interfaces/client-info.interface.d.ts +58 -0
- package/dist/interfaces/client-info.interface.d.ts.map +1 -1
- package/dist/interfaces/config.interface.d.ts +1774 -0
- package/dist/interfaces/config.interface.d.ts.map +1 -1
- package/dist/interfaces/config.interface.js +16 -0
- package/dist/interfaces/config.interface.js.map +1 -1
- package/dist/interfaces/entities.interface.d.ts +48 -0
- package/dist/interfaces/entities.interface.d.ts.map +1 -1
- package/dist/interfaces/entities.interface.js +8 -0
- package/dist/interfaces/entities.interface.js.map +1 -1
- package/dist/interfaces/index.js +5 -0
- package/dist/interfaces/index.js.map +1 -1
- package/dist/interfaces/logger.interface.d.ts +213 -0
- package/dist/interfaces/logger.interface.d.ts.map +1 -1
- package/dist/interfaces/logger.interface.js +35 -0
- package/dist/interfaces/logger.interface.js.map +1 -1
- package/dist/interfaces/mfa-provider.interface.d.ts +134 -0
- package/dist/interfaces/mfa-provider.interface.d.ts.map +1 -1
- package/dist/interfaces/oauth.interface.d.ts +110 -0
- package/dist/interfaces/oauth.interface.d.ts.map +1 -1
- package/dist/interfaces/provider.interface.d.ts +83 -0
- package/dist/interfaces/provider.interface.d.ts.map +1 -1
- package/dist/interfaces/sms-template.interface.d.ts +246 -0
- package/dist/interfaces/sms-template.interface.d.ts.map +1 -1
- package/dist/interfaces/sms-template.interface.js +26 -0
- package/dist/interfaces/sms-template.interface.js.map +1 -1
- package/dist/interfaces/social-auth-provider.interface.d.ts +115 -0
- package/dist/interfaces/social-auth-provider.interface.d.ts.map +1 -1
- package/dist/interfaces/storage-adapter.interface.d.ts +37 -0
- package/dist/interfaces/storage-adapter.interface.d.ts.map +1 -1
- package/dist/interfaces/template.interface.d.ts +351 -0
- package/dist/interfaces/template.interface.d.ts.map +1 -1
- package/dist/interfaces/template.interface.js +13 -0
- package/dist/interfaces/template.interface.js.map +1 -1
- package/dist/interfaces/token-verifier.interface.d.ts +101 -0
- package/dist/interfaces/token-verifier.interface.d.ts.map +1 -1
- package/dist/interfaces.d.ts +8 -0
- package/dist/interfaces.d.ts.map +1 -1
- package/dist/interfaces.js +8 -0
- package/dist/interfaces.js.map +1 -1
- package/dist/internal.d.ts +120 -0
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +138 -0
- package/dist/internal.js.map +1 -1
- package/dist/platform/interfaces.d.ts +187 -0
- package/dist/platform/interfaces.d.ts.map +1 -1
- package/dist/platform/interfaces.js +11 -0
- package/dist/platform/interfaces.js.map +1 -1
- package/dist/schemas/auth-config.schema.d.ts +48 -0
- package/dist/schemas/auth-config.schema.d.ts.map +1 -1
- package/dist/schemas/auth-config.schema.js +188 -9
- package/dist/schemas/auth-config.schema.js.map +1 -1
- package/dist/services/adaptive-mfa-decision.service.d.ts +144 -0
- package/dist/services/adaptive-mfa-decision.service.d.ts.map +1 -1
- package/dist/services/adaptive-mfa-decision.service.js +151 -5
- package/dist/services/adaptive-mfa-decision.service.js.map +1 -1
- package/dist/services/auth-audit.service.d.ts +195 -0
- package/dist/services/auth-audit.service.d.ts.map +1 -1
- package/dist/services/auth-audit.service.js +228 -1
- package/dist/services/auth-audit.service.js.map +1 -1
- package/dist/services/auth-challenge-helper.service.d.ts +144 -1
- package/dist/services/auth-challenge-helper.service.d.ts.map +1 -1
- package/dist/services/auth-challenge-helper.service.js +295 -16
- package/dist/services/auth-challenge-helper.service.js.map +1 -1
- package/dist/services/auth-flow-context-builder.service.d.ts +120 -1
- package/dist/services/auth-flow-context-builder.service.d.ts.map +1 -1
- package/dist/services/auth-flow-context-builder.service.js +184 -5
- package/dist/services/auth-flow-context-builder.service.js.map +1 -1
- package/dist/services/auth-flow-rules.d.ts +136 -0
- package/dist/services/auth-flow-rules.d.ts.map +1 -1
- package/dist/services/auth-flow-rules.js +137 -0
- package/dist/services/auth-flow-rules.js.map +1 -1
- package/dist/services/auth-flow-state-definitions.d.ts +40 -0
- package/dist/services/auth-flow-state-definitions.d.ts.map +1 -1
- package/dist/services/auth-flow-state-definitions.js +98 -0
- package/dist/services/auth-flow-state-definitions.js.map +1 -1
- package/dist/services/auth-flow-state-machine.service.d.ts +91 -0
- package/dist/services/auth-flow-state-machine.service.d.ts.map +1 -1
- package/dist/services/auth-flow-state-machine.service.js +102 -0
- package/dist/services/auth-flow-state-machine.service.js.map +1 -1
- package/dist/services/auth-flow-state-machine.types.d.ts +221 -0
- package/dist/services/auth-flow-state-machine.types.d.ts.map +1 -1
- package/dist/services/auth-flow-state-machine.types.js +47 -0
- package/dist/services/auth-flow-state-machine.types.js.map +1 -1
- package/dist/services/auth.service.d.ts +397 -1
- package/dist/services/auth.service.d.ts.map +1 -1
- package/dist/services/auth.service.js +943 -27
- package/dist/services/auth.service.js.map +1 -1
- package/dist/services/challenge.service.d.ts +255 -1
- package/dist/services/challenge.service.d.ts.map +1 -1
- package/dist/services/challenge.service.js +327 -3
- package/dist/services/challenge.service.js.map +1 -1
- package/dist/services/client-info.service.d.ts +143 -0
- package/dist/services/client-info.service.d.ts.map +1 -1
- package/dist/services/client-info.service.js +161 -0
- package/dist/services/client-info.service.js.map +1 -1
- package/dist/services/csrf.service.d.ts +15 -0
- package/dist/services/csrf.service.d.ts.map +1 -1
- package/dist/services/csrf.service.js +16 -0
- package/dist/services/csrf.service.js.map +1 -1
- package/dist/services/email-verification.service.d.ts +52 -0
- package/dist/services/email-verification.service.d.ts.map +1 -1
- package/dist/services/email-verification.service.js +149 -10
- package/dist/services/email-verification.service.js.map +1 -1
- package/dist/services/geo-location.service.d.ts +105 -0
- package/dist/services/geo-location.service.d.ts.map +1 -1
- package/dist/services/geo-location.service.js +188 -2
- package/dist/services/geo-location.service.js.map +1 -1
- package/dist/services/jwt.service.d.ts +257 -0
- package/dist/services/jwt.service.d.ts.map +1 -1
- package/dist/services/jwt.service.js +284 -1
- package/dist/services/jwt.service.js.map +1 -1
- package/dist/services/mfa-base.service.d.ts +179 -1
- package/dist/services/mfa-base.service.d.ts.map +1 -1
- package/dist/services/mfa-base.service.js +256 -2
- package/dist/services/mfa-base.service.js.map +1 -1
- package/dist/services/mfa.service.d.ts +304 -0
- package/dist/services/mfa.service.d.ts.map +1 -1
- package/dist/services/mfa.service.js +380 -0
- package/dist/services/mfa.service.js.map +1 -1
- package/dist/services/password-reset.service.d.ts +46 -0
- package/dist/services/password-reset.service.d.ts.map +1 -1
- package/dist/services/password-reset.service.js +79 -0
- package/dist/services/password-reset.service.js.map +1 -1
- package/dist/services/password.service.d.ts +139 -0
- package/dist/services/password.service.d.ts.map +1 -1
- package/dist/services/password.service.js +167 -9
- package/dist/services/password.service.js.map +1 -1
- package/dist/services/phone-verification.service.d.ts +75 -0
- package/dist/services/phone-verification.service.d.ts.map +1 -1
- package/dist/services/phone-verification.service.js +188 -6
- package/dist/services/phone-verification.service.js.map +1 -1
- package/dist/services/risk-detection.service.d.ts +198 -0
- package/dist/services/risk-detection.service.d.ts.map +1 -1
- package/dist/services/risk-detection.service.js +358 -11
- package/dist/services/risk-detection.service.js.map +1 -1
- package/dist/services/risk-scoring.service.d.ts +84 -0
- package/dist/services/risk-scoring.service.d.ts.map +1 -1
- package/dist/services/risk-scoring.service.js +87 -0
- package/dist/services/risk-scoring.service.js.map +1 -1
- package/dist/services/session.service.d.ts +204 -0
- package/dist/services/session.service.d.ts.map +1 -1
- package/dist/services/session.service.js +289 -4
- package/dist/services/session.service.js.map +1 -1
- package/dist/services/social-auth-base.service.d.ts +123 -1
- package/dist/services/social-auth-base.service.d.ts.map +1 -1
- package/dist/services/social-auth-base.service.js +155 -2
- package/dist/services/social-auth-base.service.js.map +1 -1
- package/dist/services/social-auth.service.d.ts +191 -0
- package/dist/services/social-auth.service.d.ts.map +1 -1
- package/dist/services/social-auth.service.js +215 -2
- package/dist/services/social-auth.service.js.map +1 -1
- package/dist/services/social-provider-registry.service.d.ts +86 -0
- package/dist/services/social-provider-registry.service.d.ts.map +1 -1
- package/dist/services/social-provider-registry.service.js +86 -0
- package/dist/services/social-provider-registry.service.js.map +1 -1
- package/dist/services/trusted-device.service.d.ts +105 -0
- package/dist/services/trusted-device.service.d.ts.map +1 -1
- package/dist/services/trusted-device.service.js +133 -4
- package/dist/services/trusted-device.service.js.map +1 -1
- package/dist/storage/account-lockout-storage.service.d.ts +35 -0
- package/dist/storage/account-lockout-storage.service.d.ts.map +1 -1
- package/dist/storage/account-lockout-storage.service.js +35 -0
- package/dist/storage/account-lockout-storage.service.js.map +1 -1
- package/dist/storage/memory-storage.adapter.d.ts +148 -0
- package/dist/storage/memory-storage.adapter.d.ts.map +1 -1
- package/dist/storage/memory-storage.adapter.js +201 -6
- package/dist/storage/memory-storage.adapter.js.map +1 -1
- package/dist/storage/rate-limit-storage.service.d.ts +3 -0
- package/dist/storage/rate-limit-storage.service.d.ts.map +1 -1
- package/dist/storage/rate-limit-storage.service.js +4 -0
- package/dist/storage/rate-limit-storage.service.js.map +1 -1
- package/dist/storage.d.ts +8 -0
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +8 -0
- package/dist/storage.js.map +1 -1
- package/dist/templates/html-template.engine.d.ts +110 -0
- package/dist/templates/html-template.engine.d.ts.map +1 -1
- package/dist/templates/html-template.engine.js +147 -0
- package/dist/templates/html-template.engine.js.map +1 -1
- package/dist/templates/index.d.ts +5 -0
- package/dist/templates/index.d.ts.map +1 -1
- package/dist/templates/index.js +5 -0
- package/dist/templates/index.js.map +1 -1
- package/dist/templates/sms-template.engine.d.ts +151 -0
- package/dist/templates/sms-template.engine.d.ts.map +1 -1
- package/dist/templates/sms-template.engine.js +171 -0
- package/dist/templates/sms-template.engine.js.map +1 -1
- package/dist/templates.d.ts +8 -0
- package/dist/templates.d.ts.map +1 -1
- package/dist/templates.js +8 -0
- package/dist/templates.js.map +1 -1
- package/dist/utils/common-passwords.d.ts +42 -0
- package/dist/utils/common-passwords.d.ts.map +1 -1
- package/dist/utils/common-passwords.js +88 -0
- package/dist/utils/common-passwords.js.map +1 -1
- package/dist/utils/context-storage.d.ts +129 -0
- package/dist/utils/context-storage.d.ts.map +1 -1
- package/dist/utils/context-storage.js +129 -0
- package/dist/utils/context-storage.js.map +1 -1
- package/dist/utils/cookie-names.util.d.ts +35 -0
- package/dist/utils/cookie-names.util.d.ts.map +1 -1
- package/dist/utils/cookie-names.util.js +37 -0
- package/dist/utils/cookie-names.util.js.map +1 -1
- package/dist/utils/cookies.util.d.ts +19 -0
- package/dist/utils/cookies.util.d.ts.map +1 -1
- package/dist/utils/cookies.util.js +30 -3
- package/dist/utils/cookies.util.js.map +1 -1
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +4 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/ip-extractor.d.ts +88 -0
- package/dist/utils/ip-extractor.d.ts.map +1 -1
- package/dist/utils/ip-extractor.js +109 -16
- package/dist/utils/ip-extractor.js.map +1 -1
- package/dist/utils/nauth-logger.d.ts +70 -0
- package/dist/utils/nauth-logger.d.ts.map +1 -1
- package/dist/utils/nauth-logger.js +82 -4
- package/dist/utils/nauth-logger.js.map +1 -1
- package/dist/utils/pii-redactor.d.ts +70 -0
- package/dist/utils/pii-redactor.d.ts.map +1 -1
- package/dist/utils/pii-redactor.js +102 -0
- package/dist/utils/pii-redactor.js.map +1 -1
- package/dist/utils/setup/get-repositories.d.ts +16 -0
- package/dist/utils/setup/get-repositories.d.ts.map +1 -1
- package/dist/utils/setup/get-repositories.js +21 -0
- package/dist/utils/setup/get-repositories.js.map +1 -1
- package/dist/utils/setup/init-services.d.ts +40 -1
- package/dist/utils/setup/init-services.d.ts.map +1 -1
- package/dist/utils/setup/init-services.js +98 -0
- package/dist/utils/setup/init-services.js.map +1 -1
- package/dist/utils/setup/init-social.d.ts +27 -0
- package/dist/utils/setup/init-social.d.ts.map +1 -1
- package/dist/utils/setup/init-social.js +49 -0
- package/dist/utils/setup/init-social.js.map +1 -1
- package/dist/utils/setup/init-storage.d.ts +22 -0
- package/dist/utils/setup/init-storage.d.ts.map +1 -1
- package/dist/utils/setup/init-storage.js +36 -0
- package/dist/utils/setup/init-storage.js.map +1 -1
- package/dist/utils/setup/register-mfa.d.ts +22 -0
- package/dist/utils/setup/register-mfa.d.ts.map +1 -1
- package/dist/utils/setup/register-mfa.js +41 -0
- package/dist/utils/setup/register-mfa.js.map +1 -1
- package/dist/utils/setup/run-nauth-migrations.d.ts +7 -0
- package/dist/utils/setup/run-nauth-migrations.d.ts.map +1 -1
- package/dist/utils/setup/run-nauth-migrations.js +8 -0
- package/dist/utils/setup/run-nauth-migrations.js.map +1 -1
- package/dist/utils/token-delivery-policy.d.ts +17 -0
- package/dist/utils/token-delivery-policy.d.ts.map +1 -1
- package/dist/utils/token-delivery-policy.js +17 -0
- package/dist/utils/token-delivery-policy.js.map +1 -1
- package/dist/utils.d.ts +8 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +8 -0
- package/dist/utils.js.map +1 -1
- package/dist/validators/template.validator.d.ts +80 -0
- package/dist/validators/template.validator.d.ts.map +1 -1
- package/dist/validators/template.validator.js +94 -0
- package/dist/validators/template.validator.js.map +1 -1
- package/package.json +7 -2
|
@@ -12,9 +12,52 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.VerifyEmailResponseDTO = exports.ResendVerificationEmailResponseDTO = exports.ResendVerificationEmailDTO = exports.SendVerificationEmailResponseDTO = exports.SendVerificationEmailDTO = exports.VerifyEmailWithTokenDTO = exports.VerifyEmailWithCodeDTO = void 0;
|
|
13
13
|
const class_validator_1 = require("class-validator");
|
|
14
14
|
const class_transformer_1 = require("class-transformer");
|
|
15
|
+
/**
|
|
16
|
+
* DTO for verifying email with code (6-digit OTP)
|
|
17
|
+
*
|
|
18
|
+
* Security:
|
|
19
|
+
* - Email must be valid format and match DB limits
|
|
20
|
+
* - Code must be exactly 6 digits (no more, no less)
|
|
21
|
+
* - All fields are required (no optional fields to prevent attacks)
|
|
22
|
+
* - Input sanitization applied automatically
|
|
23
|
+
*/
|
|
15
24
|
class VerifyEmailWithCodeDTO {
|
|
25
|
+
/**
|
|
26
|
+
* User's email address
|
|
27
|
+
* Must match the email used during signup
|
|
28
|
+
*
|
|
29
|
+
* Validation:
|
|
30
|
+
* - Valid email format (RFC 5322)
|
|
31
|
+
* - Max 255 characters (matches DB column limit)
|
|
32
|
+
* - Automatically trimmed and lowercased
|
|
33
|
+
*
|
|
34
|
+
* Sanitization:
|
|
35
|
+
* - Removes leading/trailing whitespace
|
|
36
|
+
* - Converts to lowercase for case-insensitive matching
|
|
37
|
+
*/
|
|
16
38
|
email;
|
|
39
|
+
/**
|
|
40
|
+
* 6-digit verification code from email
|
|
41
|
+
*
|
|
42
|
+
* Validation:
|
|
43
|
+
* - Must be numeric string (digits only)
|
|
44
|
+
* - Exactly 6 characters long
|
|
45
|
+
* - Fixed length prevents timing attacks
|
|
46
|
+
*
|
|
47
|
+
* Sanitization:
|
|
48
|
+
* - Removes all whitespace (users might copy "123 456")
|
|
49
|
+
* - Removes non-digit characters
|
|
50
|
+
*/
|
|
17
51
|
code;
|
|
52
|
+
/**
|
|
53
|
+
* Challenge session ID (internal use)
|
|
54
|
+
* Optional - used internally to link verification to specific challenge session.
|
|
55
|
+
* Provides security by ensuring codes are only valid for the session they were created for.
|
|
56
|
+
*
|
|
57
|
+
* Validation:
|
|
58
|
+
* - Must be a positive integer if provided
|
|
59
|
+
* - Optional (for backward compatibility and direct verification flows)
|
|
60
|
+
*/
|
|
18
61
|
challengeSessionId;
|
|
19
62
|
}
|
|
20
63
|
exports.VerifyEmailWithCodeDTO = VerifyEmailWithCodeDTO;
|
|
@@ -34,8 +77,9 @@ __decorate([
|
|
|
34
77
|
(0, class_validator_1.MaxLength)(6, { message: 'Verification code must be exactly 6 digits' }),
|
|
35
78
|
(0, class_transformer_1.Transform)(({ value }) => {
|
|
36
79
|
if (typeof value === 'string') {
|
|
80
|
+
// Remove all whitespace and non-digit characters, then validate length
|
|
37
81
|
const cleaned = value.replace(/\D/g, '');
|
|
38
|
-
return cleaned.length === 6 ? cleaned : value;
|
|
82
|
+
return cleaned.length === 6 ? cleaned : value; // Return original if not 6 digits (let validator catch it)
|
|
39
83
|
}
|
|
40
84
|
return value;
|
|
41
85
|
}),
|
|
@@ -47,7 +91,28 @@ __decorate([
|
|
|
47
91
|
(0, class_validator_1.Min)(1, { message: 'challengeSessionId must be a positive integer' }),
|
|
48
92
|
__metadata("design:type", Number)
|
|
49
93
|
], VerifyEmailWithCodeDTO.prototype, "challengeSessionId", void 0);
|
|
94
|
+
/**
|
|
95
|
+
* DTO for verifying email with URL token
|
|
96
|
+
*
|
|
97
|
+
* Security:
|
|
98
|
+
* - Token must be valid hex format
|
|
99
|
+
* - Exact length enforced (64 chars = 32 bytes SHA-256 hash)
|
|
100
|
+
* - No SQL injection or XSS possible
|
|
101
|
+
* - Input sanitization prevents malformed tokens
|
|
102
|
+
*/
|
|
50
103
|
class VerifyEmailWithTokenDTO {
|
|
104
|
+
/**
|
|
105
|
+
* Verification token from email link
|
|
106
|
+
*
|
|
107
|
+
* Validation:
|
|
108
|
+
* - Exactly 64 hexadecimal characters (SHA-256 hash output)
|
|
109
|
+
* - Only 0-9 and a-f characters allowed
|
|
110
|
+
* - Case-insensitive
|
|
111
|
+
*
|
|
112
|
+
* Sanitization:
|
|
113
|
+
* - Removes whitespace
|
|
114
|
+
* - Converts to lowercase for consistent hashing
|
|
115
|
+
*/
|
|
51
116
|
token;
|
|
52
117
|
}
|
|
53
118
|
exports.VerifyEmailWithTokenDTO = VerifyEmailWithTokenDTO;
|
|
@@ -65,10 +130,55 @@ __decorate([
|
|
|
65
130
|
}),
|
|
66
131
|
__metadata("design:type", String)
|
|
67
132
|
], VerifyEmailWithTokenDTO.prototype, "token", void 0);
|
|
133
|
+
/**
|
|
134
|
+
* DTO for sending a verification email
|
|
135
|
+
*
|
|
136
|
+
* Security:
|
|
137
|
+
* - User sub validated as UUID v4
|
|
138
|
+
* - BaseURL validated as max length
|
|
139
|
+
* - Skip flag is boolean (prevents injection)
|
|
140
|
+
*/
|
|
68
141
|
class SendVerificationEmailDTO {
|
|
142
|
+
/**
|
|
143
|
+
* User identifier (UUID v4)
|
|
144
|
+
*
|
|
145
|
+
* Validation:
|
|
146
|
+
* - Must be valid UUID v4 format
|
|
147
|
+
*
|
|
148
|
+
* Sanitization:
|
|
149
|
+
* - Trimmed and lowercased
|
|
150
|
+
*/
|
|
69
151
|
sub;
|
|
152
|
+
/**
|
|
153
|
+
* Base URL for verification link (optional)
|
|
154
|
+
*
|
|
155
|
+
* Validation:
|
|
156
|
+
* - Must be valid URL format (http:// or https://)
|
|
157
|
+
* - Max 2048 characters (typical URL length limit)
|
|
158
|
+
* - Optional field
|
|
159
|
+
*
|
|
160
|
+
* Sanitization:
|
|
161
|
+
* - Trimmed
|
|
162
|
+
*/
|
|
70
163
|
baseUrl;
|
|
164
|
+
/**
|
|
165
|
+
* Skip the "already verified" check
|
|
166
|
+
* Used for MFA contexts where codes are needed even if email is verified
|
|
167
|
+
*
|
|
168
|
+
* Validation:
|
|
169
|
+
* - Must be boolean
|
|
170
|
+
* - Optional (defaults to false)
|
|
171
|
+
*/
|
|
71
172
|
skipAlreadyVerifiedCheck;
|
|
173
|
+
/**
|
|
174
|
+
* Challenge session ID to link this verification token to
|
|
175
|
+
* Optional - for linking verification tokens to specific challenge sessions.
|
|
176
|
+
* Provides security by preventing old tokens from being used with new sessions.
|
|
177
|
+
*
|
|
178
|
+
* Validation:
|
|
179
|
+
* - Must be a positive integer
|
|
180
|
+
* - Optional (for backward compatibility and non-challenge flows like password reset)
|
|
181
|
+
*/
|
|
72
182
|
challengeSessionId;
|
|
73
183
|
}
|
|
74
184
|
exports.SendVerificationEmailDTO = SendVerificationEmailDTO;
|
|
@@ -105,13 +215,63 @@ __decorate([
|
|
|
105
215
|
(0, class_validator_1.Min)(1, { message: 'challengeSessionId must be a positive integer' }),
|
|
106
216
|
__metadata("design:type", Number)
|
|
107
217
|
], SendVerificationEmailDTO.prototype, "challengeSessionId", void 0);
|
|
218
|
+
/**
|
|
219
|
+
* Response DTO for sendVerificationEmail
|
|
220
|
+
*/
|
|
108
221
|
class SendVerificationEmailResponseDTO {
|
|
222
|
+
/**
|
|
223
|
+
* Verification token ID (internal integer)
|
|
224
|
+
*/
|
|
109
225
|
tokenId;
|
|
110
226
|
}
|
|
111
227
|
exports.SendVerificationEmailResponseDTO = SendVerificationEmailResponseDTO;
|
|
228
|
+
/**
|
|
229
|
+
* DTO for requesting a verification email resend
|
|
230
|
+
*
|
|
231
|
+
* Supports both overload patterns:
|
|
232
|
+
* 1. Resend by user sub (string)
|
|
233
|
+
* 2. Resend by email address (object with email property)
|
|
234
|
+
*
|
|
235
|
+
* Security:
|
|
236
|
+
* - Either sub or email must be provided (conditional validation)
|
|
237
|
+
* - Rate limiting applied in service layer
|
|
238
|
+
* - Input sanitization prevents abuse
|
|
239
|
+
*/
|
|
112
240
|
class ResendVerificationEmailDTO {
|
|
241
|
+
/**
|
|
242
|
+
* User identifier (UUID v4) - optional if email provided
|
|
243
|
+
*
|
|
244
|
+
* Validation:
|
|
245
|
+
* - Must be valid UUID v4 format if provided
|
|
246
|
+
* - Required if email is not provided
|
|
247
|
+
*
|
|
248
|
+
* Sanitization:
|
|
249
|
+
* - Trimmed and lowercased
|
|
250
|
+
*/
|
|
113
251
|
sub;
|
|
252
|
+
/**
|
|
253
|
+
* User's email address - optional if sub provided
|
|
254
|
+
*
|
|
255
|
+
* Validation:
|
|
256
|
+
* - Valid email format if provided
|
|
257
|
+
* - Max 255 characters (DB limit)
|
|
258
|
+
* - Required if sub is not provided
|
|
259
|
+
*
|
|
260
|
+
* Sanitization:
|
|
261
|
+
* - Trimmed and lowercased
|
|
262
|
+
*/
|
|
114
263
|
email;
|
|
264
|
+
/**
|
|
265
|
+
* Base URL for verification link (optional)
|
|
266
|
+
*
|
|
267
|
+
* Validation:
|
|
268
|
+
* - Must be valid URL format (http:// or https://)
|
|
269
|
+
* - Max 2048 characters
|
|
270
|
+
* - Optional field
|
|
271
|
+
*
|
|
272
|
+
* Sanitization:
|
|
273
|
+
* - Trimmed
|
|
274
|
+
*/
|
|
115
275
|
baseUrl;
|
|
116
276
|
}
|
|
117
277
|
exports.ResendVerificationEmailDTO = ResendVerificationEmailDTO;
|
|
@@ -150,11 +310,23 @@ __decorate([
|
|
|
150
310
|
}),
|
|
151
311
|
__metadata("design:type", String)
|
|
152
312
|
], ResendVerificationEmailDTO.prototype, "baseUrl", void 0);
|
|
313
|
+
/**
|
|
314
|
+
* Response DTO for resendVerificationEmail
|
|
315
|
+
*/
|
|
153
316
|
class ResendVerificationEmailResponseDTO {
|
|
317
|
+
/**
|
|
318
|
+
* Verification token ID (internal integer)
|
|
319
|
+
*/
|
|
154
320
|
tokenId;
|
|
155
321
|
}
|
|
156
322
|
exports.ResendVerificationEmailResponseDTO = ResendVerificationEmailResponseDTO;
|
|
323
|
+
/**
|
|
324
|
+
* Response DTO for verifyEmailWithCode and verifyEmailWithToken
|
|
325
|
+
*/
|
|
157
326
|
class VerifyEmailResponseDTO {
|
|
327
|
+
/**
|
|
328
|
+
* Success message
|
|
329
|
+
*/
|
|
158
330
|
message;
|
|
159
331
|
}
|
|
160
332
|
exports.VerifyEmailResponseDTO = VerifyEmailResponseDTO;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify-email.dto.js","sourceRoot":"","sources":["../../src/dto/verify-email.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAayB;AACzB,yDAA8C;
|
|
1
|
+
{"version":3,"file":"verify-email.dto.js","sourceRoot":"","sources":["../../src/dto/verify-email.dto.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DTO for verifying MFA code
|
|
3
|
+
*
|
|
4
|
+
* Used to verify MFA code using the appropriate provider.
|
|
5
|
+
* Routes verification to the correct provider based on method name.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* const isValid = await mfaService.verifyCode({
|
|
10
|
+
* sub: 'user-uuid',
|
|
11
|
+
* methodName: 'totp',
|
|
12
|
+
* code: '123456',
|
|
13
|
+
* deviceId: 1
|
|
14
|
+
* });
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
/**
|
|
18
|
+
* DTO for verifying MFA code
|
|
19
|
+
*/
|
|
1
20
|
export declare class VerifyMFACodeDTO {
|
|
21
|
+
/**
|
|
22
|
+
* User's unique identifier (UUID v4)
|
|
23
|
+
*
|
|
24
|
+
* Validation:
|
|
25
|
+
* - Must be a valid UUID v4 format
|
|
26
|
+
* - Matches DB constraint: char(36) or uuid
|
|
27
|
+
*
|
|
28
|
+
* Sanitization:
|
|
29
|
+
* - Trimmed
|
|
30
|
+
* - Lowercased for consistency
|
|
31
|
+
*
|
|
32
|
+
* @example "a21b654c-2746-4168-acee-c175083a65cd"
|
|
33
|
+
*/
|
|
2
34
|
sub: string;
|
|
35
|
+
/**
|
|
36
|
+
* MFA method name
|
|
37
|
+
*
|
|
38
|
+
* Validation:
|
|
39
|
+
* - Must be one of: totp, sms, email, passkey, backup
|
|
40
|
+
* - Max 50 characters
|
|
41
|
+
*
|
|
42
|
+
* Sanitization:
|
|
43
|
+
* - Trimmed and lowercased
|
|
44
|
+
*
|
|
45
|
+
* @example "totp"
|
|
46
|
+
*/
|
|
3
47
|
methodName: string;
|
|
48
|
+
/**
|
|
49
|
+
* Verification code or credential (provider-specific)
|
|
50
|
+
*
|
|
51
|
+
* Validation:
|
|
52
|
+
* - Must be a string or object depending on method
|
|
53
|
+
* - For TOTP/SMS/Email: string code
|
|
54
|
+
* - For Passkey: credential object
|
|
55
|
+
* - For Backup: string code
|
|
56
|
+
*/
|
|
4
57
|
code: string | Record<string, unknown>;
|
|
58
|
+
/**
|
|
59
|
+
* Optional device ID
|
|
60
|
+
*
|
|
61
|
+
* Validation:
|
|
62
|
+
* - Must be a positive integer if provided
|
|
63
|
+
*/
|
|
5
64
|
deviceId?: number;
|
|
6
65
|
}
|
|
66
|
+
/**
|
|
67
|
+
* Response DTO for MFA code verification
|
|
68
|
+
*/
|
|
7
69
|
export declare class VerifyMFACodeResponseDTO {
|
|
70
|
+
/**
|
|
71
|
+
* Whether verification succeeded
|
|
72
|
+
*/
|
|
8
73
|
valid: boolean;
|
|
9
74
|
}
|
|
10
75
|
//# sourceMappingURL=verify-mfa-code.dto.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify-mfa-code.dto.d.ts","sourceRoot":"","sources":["../../src/dto/verify-mfa-code.dto.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"verify-mfa-code.dto.d.ts","sourceRoot":"","sources":["../../src/dto/verify-mfa-code.dto.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAMH;;GAEG;AACH,qBAAa,gBAAgB;IAC3B;;;;;;;;;;;;OAYG;IAQH,GAAG,EAAG,MAAM,CAAC;IAEb;;;;;;;;;;;OAWG;IAYH,UAAU,EAAG,MAAM,CAAC;IAEpB;;;;;;;;OAQG;IACH,IAAI,EAAG,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAExC;;;;;OAKG;IAGH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,qBAAa,wBAAwB;IACnC;;OAEG;IACH,KAAK,EAAG,OAAO,CAAC;CACjB"}
|
|
@@ -1,4 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* DTO for verifying MFA code
|
|
4
|
+
*
|
|
5
|
+
* Used to verify MFA code using the appropriate provider.
|
|
6
|
+
* Routes verification to the correct provider based on method name.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```typescript
|
|
10
|
+
* const isValid = await mfaService.verifyCode({
|
|
11
|
+
* sub: 'user-uuid',
|
|
12
|
+
* methodName: 'totp',
|
|
13
|
+
* code: '123456',
|
|
14
|
+
* deviceId: 1
|
|
15
|
+
* });
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
2
18
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
19
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
20
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -13,10 +29,53 @@ exports.VerifyMFACodeResponseDTO = exports.VerifyMFACodeDTO = void 0;
|
|
|
13
29
|
const class_validator_1 = require("class-validator");
|
|
14
30
|
const class_transformer_1 = require("class-transformer");
|
|
15
31
|
const mfa_method_enum_1 = require("../enums/mfa-method.enum");
|
|
32
|
+
/**
|
|
33
|
+
* DTO for verifying MFA code
|
|
34
|
+
*/
|
|
16
35
|
class VerifyMFACodeDTO {
|
|
36
|
+
/**
|
|
37
|
+
* User's unique identifier (UUID v4)
|
|
38
|
+
*
|
|
39
|
+
* Validation:
|
|
40
|
+
* - Must be a valid UUID v4 format
|
|
41
|
+
* - Matches DB constraint: char(36) or uuid
|
|
42
|
+
*
|
|
43
|
+
* Sanitization:
|
|
44
|
+
* - Trimmed
|
|
45
|
+
* - Lowercased for consistency
|
|
46
|
+
*
|
|
47
|
+
* @example "a21b654c-2746-4168-acee-c175083a65cd"
|
|
48
|
+
*/
|
|
17
49
|
sub;
|
|
50
|
+
/**
|
|
51
|
+
* MFA method name
|
|
52
|
+
*
|
|
53
|
+
* Validation:
|
|
54
|
+
* - Must be one of: totp, sms, email, passkey, backup
|
|
55
|
+
* - Max 50 characters
|
|
56
|
+
*
|
|
57
|
+
* Sanitization:
|
|
58
|
+
* - Trimmed and lowercased
|
|
59
|
+
*
|
|
60
|
+
* @example "totp"
|
|
61
|
+
*/
|
|
18
62
|
methodName;
|
|
63
|
+
/**
|
|
64
|
+
* Verification code or credential (provider-specific)
|
|
65
|
+
*
|
|
66
|
+
* Validation:
|
|
67
|
+
* - Must be a string or object depending on method
|
|
68
|
+
* - For TOTP/SMS/Email: string code
|
|
69
|
+
* - For Passkey: credential object
|
|
70
|
+
* - For Backup: string code
|
|
71
|
+
*/
|
|
19
72
|
code;
|
|
73
|
+
/**
|
|
74
|
+
* Optional device ID
|
|
75
|
+
*
|
|
76
|
+
* Validation:
|
|
77
|
+
* - Must be a positive integer if provided
|
|
78
|
+
*/
|
|
20
79
|
deviceId;
|
|
21
80
|
}
|
|
22
81
|
exports.VerifyMFACodeDTO = VerifyMFACodeDTO;
|
|
@@ -49,7 +108,13 @@ __decorate([
|
|
|
49
108
|
(0, class_validator_1.IsInt)({ message: 'Device ID must be a number' }),
|
|
50
109
|
__metadata("design:type", Number)
|
|
51
110
|
], VerifyMFACodeDTO.prototype, "deviceId", void 0);
|
|
111
|
+
/**
|
|
112
|
+
* Response DTO for MFA code verification
|
|
113
|
+
*/
|
|
52
114
|
class VerifyMFACodeResponseDTO {
|
|
115
|
+
/**
|
|
116
|
+
* Whether verification succeeded
|
|
117
|
+
*/
|
|
53
118
|
valid;
|
|
54
119
|
}
|
|
55
120
|
exports.VerifyMFACodeResponseDTO = VerifyMFACodeResponseDTO;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify-mfa-code.dto.js","sourceRoot":"","sources":["../../src/dto/verify-mfa-code.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"verify-mfa-code.dto.js","sourceRoot":"","sources":["../../src/dto/verify-mfa-code.dto.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;;;;;;;;;;AAEH,qDAAyF;AACzF,yDAA8C;AAC9C,8DAAqD;AAErD;;GAEG;AACH,MAAa,gBAAgB;IAC3B;;;;;;;;;;;;OAYG;IAQH,GAAG,CAAU;IAEb;;;;;;;;;;;OAWG;IAYH,UAAU,CAAU;IAEpB;;;;;;;;OAQG;IACH,IAAI,CAAoC;IAExC;;;;;OAKG;IAGH,QAAQ,CAAU;CACnB;AApED,4CAoEC;AA/CC;IAPC,IAAA,wBAAM,EAAC,GAAG,EAAE,EAAE,OAAO,EAAE,yCAAyC,EAAE,CAAC;IACnE,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;QACvB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACpC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;;6CACW;AAyBb;IAXC,IAAA,0BAAQ,EAAC,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAAC;IACrD,IAAA,wBAAM,EAAC,CAAC,2BAAS,CAAC,IAAI,EAAE,2BAAS,CAAC,GAAG,EAAE,2BAAS,CAAC,KAAK,EAAE,2BAAS,CAAC,OAAO,EAAE,2BAAS,CAAC,MAAM,CAAC,EAAE;QAC7F,OAAO,EAAE,+DAA+D;KACzE,CAAC;IACD,IAAA,2BAAS,EAAC,EAAE,EAAE,EAAE,OAAO,EAAE,2CAA2C,EAAE,CAAC;IACvE,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;QACvB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACpC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;;oDACkB;AAqBpB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,uBAAK,EAAC,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC;;kDAC/B;AAGpB;;GAEG;AACH,MAAa,wBAAwB;IACnC;;OAEG;IACH,KAAK,CAAW;CACjB;AALD,4DAKC"}
|
|
@@ -1,6 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Verify Phone with Code by User Sub DTO
|
|
3
|
+
*
|
|
4
|
+
* Used for phone verification with 6-digit OTP code when allowing duplicate phones.
|
|
5
|
+
* Requires user sub to identify which user's phone to verify.
|
|
6
|
+
*
|
|
7
|
+
* Security:
|
|
8
|
+
* - UUID format validated (prevents injection)
|
|
9
|
+
* - Code format validated (6 digits)
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```typescript
|
|
13
|
+
* POST /auth/verify-phone/verify-by-sub
|
|
14
|
+
* {
|
|
15
|
+
* "sub": "a21b654c-2746-4168-acee-c175083a65cd",
|
|
16
|
+
* "code": "123456"
|
|
17
|
+
* }
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
1
20
|
export declare class VerifyPhoneWithCodeBySubDTO {
|
|
21
|
+
/**
|
|
22
|
+
* User's external identifier (sub/UUID v4)
|
|
23
|
+
*
|
|
24
|
+
* Validation:
|
|
25
|
+
* - Must be a valid UUID v4 format
|
|
26
|
+
* - Matches DB constraint: char(36) or uuid
|
|
27
|
+
*
|
|
28
|
+
* Sanitization:
|
|
29
|
+
* - Trimmed and lowercased for consistency
|
|
30
|
+
*
|
|
31
|
+
* @example "a21b654c-2746-4168-acee-c175083a65cd"
|
|
32
|
+
*/
|
|
2
33
|
sub: string;
|
|
34
|
+
/**
|
|
35
|
+
* 6-digit verification code
|
|
36
|
+
*
|
|
37
|
+
* Validation:
|
|
38
|
+
* - Must be a numeric string
|
|
39
|
+
* - Exactly 6 digits
|
|
40
|
+
*
|
|
41
|
+
* @example "123456"
|
|
42
|
+
*/
|
|
3
43
|
code: string;
|
|
44
|
+
/**
|
|
45
|
+
* Challenge session ID (internal use)
|
|
46
|
+
* Optional - used internally to link verification to specific challenge session.
|
|
47
|
+
* Provides security by ensuring codes are only valid for the session they were created for.
|
|
48
|
+
*
|
|
49
|
+
* Validation:
|
|
50
|
+
* - Must be a positive integer if provided
|
|
51
|
+
* - Optional (for backward compatibility and direct verification flows)
|
|
52
|
+
*/
|
|
4
53
|
challengeSessionId?: number;
|
|
5
54
|
}
|
|
6
55
|
//# sourceMappingURL=verify-phone-by-sub.dto.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify-phone-by-sub.dto.d.ts","sourceRoot":"","sources":["../../src/dto/verify-phone-by-sub.dto.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"verify-phone-by-sub.dto.d.ts","sourceRoot":"","sources":["../../src/dto/verify-phone-by-sub.dto.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,2BAA2B;IACtC;;;;;;;;;;;OAWG;IAQH,GAAG,EAAG,MAAM,CAAC;IAEb;;;;;;;;OAQG;IAUH,IAAI,EAAG,MAAM,CAAC;IAEd;;;;;;;;OAQG;IAIH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B"}
|
|
@@ -12,9 +12,58 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.VerifyPhoneWithCodeBySubDTO = void 0;
|
|
13
13
|
const class_validator_1 = require("class-validator");
|
|
14
14
|
const class_transformer_1 = require("class-transformer");
|
|
15
|
+
/**
|
|
16
|
+
* Verify Phone with Code by User Sub DTO
|
|
17
|
+
*
|
|
18
|
+
* Used for phone verification with 6-digit OTP code when allowing duplicate phones.
|
|
19
|
+
* Requires user sub to identify which user's phone to verify.
|
|
20
|
+
*
|
|
21
|
+
* Security:
|
|
22
|
+
* - UUID format validated (prevents injection)
|
|
23
|
+
* - Code format validated (6 digits)
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```typescript
|
|
27
|
+
* POST /auth/verify-phone/verify-by-sub
|
|
28
|
+
* {
|
|
29
|
+
* "sub": "a21b654c-2746-4168-acee-c175083a65cd",
|
|
30
|
+
* "code": "123456"
|
|
31
|
+
* }
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
15
34
|
class VerifyPhoneWithCodeBySubDTO {
|
|
35
|
+
/**
|
|
36
|
+
* User's external identifier (sub/UUID v4)
|
|
37
|
+
*
|
|
38
|
+
* Validation:
|
|
39
|
+
* - Must be a valid UUID v4 format
|
|
40
|
+
* - Matches DB constraint: char(36) or uuid
|
|
41
|
+
*
|
|
42
|
+
* Sanitization:
|
|
43
|
+
* - Trimmed and lowercased for consistency
|
|
44
|
+
*
|
|
45
|
+
* @example "a21b654c-2746-4168-acee-c175083a65cd"
|
|
46
|
+
*/
|
|
16
47
|
sub;
|
|
48
|
+
/**
|
|
49
|
+
* 6-digit verification code
|
|
50
|
+
*
|
|
51
|
+
* Validation:
|
|
52
|
+
* - Must be a numeric string
|
|
53
|
+
* - Exactly 6 digits
|
|
54
|
+
*
|
|
55
|
+
* @example "123456"
|
|
56
|
+
*/
|
|
17
57
|
code;
|
|
58
|
+
/**
|
|
59
|
+
* Challenge session ID (internal use)
|
|
60
|
+
* Optional - used internally to link verification to specific challenge session.
|
|
61
|
+
* Provides security by ensuring codes are only valid for the session they were created for.
|
|
62
|
+
*
|
|
63
|
+
* Validation:
|
|
64
|
+
* - Must be a positive integer if provided
|
|
65
|
+
* - Optional (for backward compatibility and direct verification flows)
|
|
66
|
+
*/
|
|
18
67
|
challengeSessionId;
|
|
19
68
|
}
|
|
20
69
|
exports.VerifyPhoneWithCodeBySubDTO = VerifyPhoneWithCodeBySubDTO;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verify-phone-by-sub.dto.js","sourceRoot":"","sources":["../../src/dto/verify-phone-by-sub.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAyF;AACzF,yDAA8C;
|
|
1
|
+
{"version":3,"file":"verify-phone-by-sub.dto.js","sourceRoot":"","sources":["../../src/dto/verify-phone-by-sub.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAyF;AACzF,yDAA8C;AAE9C;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAa,2BAA2B;IACtC;;;;;;;;;;;OAWG;IAQH,GAAG,CAAU;IAEb;;;;;;;;OAQG;IAUH,IAAI,CAAU;IAEd;;;;;;;;OAQG;IAIH,kBAAkB,CAAU;CAC7B;AAvDD,kEAuDC;AAnCC;IAPC,IAAA,wBAAM,EAAC,GAAG,EAAE,EAAE,OAAO,EAAE,oCAAoC,EAAE,CAAC;IAC9D,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;QACvB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACpC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;;wDACW;AAoBb;IATC,IAAA,gCAAc,EAAC,EAAE,EAAE,EAAE,OAAO,EAAE,+BAA+B,EAAE,CAAC;IAChE,IAAA,wBAAM,EAAC,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,+BAA+B,EAAE,CAAC;IAC1D,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;QACvB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACzC,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;QAChD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;;yDACY;AAcd;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,uBAAK,EAAC,EAAE,OAAO,EAAE,uCAAuC,EAAE,CAAC;IAC3D,IAAA,qBAAG,EAAC,CAAC,EAAE,EAAE,OAAO,EAAE,+CAA+C,EAAE,CAAC;;uEACzC"}
|