@tinyrack/tinyauth-server 0.0.7
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/LICENSE +661 -0
- package/dist/emails/components/email-layout.d.ts +8 -0
- package/dist/emails/components/email-layout.d.ts.map +1 -0
- package/dist/emails/components/email-layout.js +6 -0
- package/dist/emails/components/email-layout.js.map +1 -0
- package/dist/emails/i18n/en.json +26 -0
- package/dist/emails/i18n/index.d.ts +3 -0
- package/dist/emails/i18n/index.d.ts.map +1 -0
- package/dist/emails/i18n/index.js +12 -0
- package/dist/emails/i18n/index.js.map +1 -0
- package/dist/emails/i18n/ja.json +26 -0
- package/dist/emails/i18n/ko.json +26 -0
- package/dist/emails/render.d.ts +12 -0
- package/dist/emails/render.d.ts.map +1 -0
- package/dist/emails/render.js +22 -0
- package/dist/emails/render.js.map +1 -0
- package/dist/emails/templates/password-reset.d.ts +10 -0
- package/dist/emails/templates/password-reset.d.ts.map +1 -0
- package/dist/emails/templates/password-reset.js +10 -0
- package/dist/emails/templates/password-reset.js.map +1 -0
- package/dist/emails/templates/verification.d.ts +10 -0
- package/dist/emails/templates/verification.d.ts.map +1 -0
- package/dist/emails/templates/verification.js +10 -0
- package/dist/emails/templates/verification.js.map +1 -0
- package/dist/entities/base.entity.d.ts +23 -0
- package/dist/entities/base.entity.d.ts.map +1 -0
- package/dist/entities/base.entity.js +17 -0
- package/dist/entities/base.entity.js.map +1 -0
- package/dist/entities/email-verification.entity.d.ts +90 -0
- package/dist/entities/email-verification.entity.d.ts.map +1 -0
- package/dist/entities/email-verification.entity.js +42 -0
- package/dist/entities/email-verification.entity.js.map +1 -0
- package/dist/entities/jwt-key.entity.d.ts +256 -0
- package/dist/entities/jwt-key.entity.d.ts.map +1 -0
- package/dist/entities/jwt-key.entity.js +125 -0
- package/dist/entities/jwt-key.entity.js.map +1 -0
- package/dist/entities/oauth-client.entity.d.ts +1541 -0
- package/dist/entities/oauth-client.entity.d.ts.map +1 -0
- package/dist/entities/oauth-client.entity.js +68 -0
- package/dist/entities/oauth-client.entity.js.map +1 -0
- package/dist/entities/oauth-code.entity.d.ts +1562 -0
- package/dist/entities/oauth-code.entity.d.ts.map +1 -0
- package/dist/entities/oauth-code.entity.js +79 -0
- package/dist/entities/oauth-code.entity.js.map +1 -0
- package/dist/entities/password-reset.entity.d.ts +90 -0
- package/dist/entities/password-reset.entity.d.ts.map +1 -0
- package/dist/entities/password-reset.entity.js +39 -0
- package/dist/entities/password-reset.entity.js.map +1 -0
- package/dist/entities/pending-oauth-registration.entity.d.ts +116 -0
- package/dist/entities/pending-oauth-registration.entity.d.ts.map +1 -0
- package/dist/entities/pending-oauth-registration.entity.js +67 -0
- package/dist/entities/pending-oauth-registration.entity.js.map +1 -0
- package/dist/entities/revoked-token.entity.d.ts +1559 -0
- package/dist/entities/revoked-token.entity.d.ts.map +1 -0
- package/dist/entities/revoked-token.entity.js +68 -0
- package/dist/entities/revoked-token.entity.js.map +1 -0
- package/dist/entities/terms-content.entity.d.ts +804 -0
- package/dist/entities/terms-content.entity.d.ts.map +1 -0
- package/dist/entities/terms-content.entity.js +46 -0
- package/dist/entities/terms-content.entity.js.map +1 -0
- package/dist/entities/terms.entity.d.ts +797 -0
- package/dist/entities/terms.entity.d.ts.map +1 -0
- package/dist/entities/terms.entity.js +42 -0
- package/dist/entities/terms.entity.js.map +1 -0
- package/dist/entities/user-consent.entity.d.ts +1555 -0
- package/dist/entities/user-consent.entity.d.ts.map +1 -0
- package/dist/entities/user-consent.entity.js +66 -0
- package/dist/entities/user-consent.entity.js.map +1 -0
- package/dist/entities/user-oauth.entity.d.ts +75 -0
- package/dist/entities/user-oauth.entity.d.ts.map +1 -0
- package/dist/entities/user-oauth.entity.js +45 -0
- package/dist/entities/user-oauth.entity.js.map +1 -0
- package/dist/entities/user-passkey.entity.d.ts +145 -0
- package/dist/entities/user-passkey.entity.d.ts.map +1 -0
- package/dist/entities/user-passkey.entity.js +64 -0
- package/dist/entities/user-passkey.entity.js.map +1 -0
- package/dist/entities/user-terms-consent.entity.d.ts +804 -0
- package/dist/entities/user-terms-consent.entity.d.ts.map +1 -0
- package/dist/entities/user-terms-consent.entity.js +62 -0
- package/dist/entities/user-terms-consent.entity.js.map +1 -0
- package/dist/entities/user-totp-recovery-code.entity.d.ts +527 -0
- package/dist/entities/user-totp-recovery-code.entity.d.ts.map +1 -0
- package/dist/entities/user-totp-recovery-code.entity.js +34 -0
- package/dist/entities/user-totp-recovery-code.entity.js.map +1 -0
- package/dist/entities/user-totp.entity.d.ts +527 -0
- package/dist/entities/user-totp.entity.d.ts.map +1 -0
- package/dist/entities/user-totp.entity.js +38 -0
- package/dist/entities/user-totp.entity.js.map +1 -0
- package/dist/entities/user.entity.d.ts +533 -0
- package/dist/entities/user.entity.d.ts.map +1 -0
- package/dist/entities/user.entity.js +70 -0
- package/dist/entities/user.entity.js.map +1 -0
- package/dist/entrypoints/app.d.ts +1300 -0
- package/dist/entrypoints/app.d.ts.map +1 -0
- package/dist/entrypoints/app.js +64 -0
- package/dist/entrypoints/app.js.map +1 -0
- package/dist/entrypoints/config/index.d.ts +2 -0
- package/dist/entrypoints/config/index.d.ts.map +1 -0
- package/dist/entrypoints/config/index.js +2 -0
- package/dist/entrypoints/config/index.js.map +1 -0
- package/dist/entrypoints/database/d1/cli.d.ts +3 -0
- package/dist/entrypoints/database/d1/cli.d.ts.map +1 -0
- package/dist/entrypoints/database/d1/cli.js +12 -0
- package/dist/entrypoints/database/d1/cli.js.map +1 -0
- package/dist/entrypoints/database/d1/compiled-functions.d.ts +666 -0
- package/dist/entrypoints/database/d1/compiled-functions.d.ts.map +1 -0
- package/dist/entrypoints/database/d1/compiled-functions.js +8365 -0
- package/dist/entrypoints/database/d1/compiled-functions.js.map +1 -0
- package/dist/entrypoints/database/d1/d1.d.ts +5 -0
- package/dist/entrypoints/database/d1/d1.d.ts.map +1 -0
- package/dist/entrypoints/database/d1/d1.js +39 -0
- package/dist/entrypoints/database/d1/d1.js.map +1 -0
- package/dist/entrypoints/database/postgres/cli.d.ts +3 -0
- package/dist/entrypoints/database/postgres/cli.d.ts.map +1 -0
- package/dist/entrypoints/database/postgres/cli.js +9 -0
- package/dist/entrypoints/database/postgres/cli.js.map +1 -0
- package/dist/entrypoints/database/postgres/compiled-functions.d.ts +666 -0
- package/dist/entrypoints/database/postgres/compiled-functions.d.ts.map +1 -0
- package/dist/entrypoints/database/postgres/compiled-functions.js +8365 -0
- package/dist/entrypoints/database/postgres/compiled-functions.js.map +1 -0
- package/dist/entrypoints/database/postgres/postgres.d.ts +9 -0
- package/dist/entrypoints/database/postgres/postgres.d.ts.map +1 -0
- package/dist/entrypoints/database/postgres/postgres.js +34 -0
- package/dist/entrypoints/database/postgres/postgres.js.map +1 -0
- package/dist/entrypoints/database/sqlite/cli.d.ts +3 -0
- package/dist/entrypoints/database/sqlite/cli.d.ts.map +1 -0
- package/dist/entrypoints/database/sqlite/cli.js +6 -0
- package/dist/entrypoints/database/sqlite/cli.js.map +1 -0
- package/dist/entrypoints/database/sqlite/compiled-functions.d.ts +666 -0
- package/dist/entrypoints/database/sqlite/compiled-functions.d.ts.map +1 -0
- package/dist/entrypoints/database/sqlite/compiled-functions.js +8365 -0
- package/dist/entrypoints/database/sqlite/compiled-functions.js.map +1 -0
- package/dist/entrypoints/database/sqlite/sqlite.d.ts +6 -0
- package/dist/entrypoints/database/sqlite/sqlite.d.ts.map +1 -0
- package/dist/entrypoints/database/sqlite/sqlite.js +32 -0
- package/dist/entrypoints/database/sqlite/sqlite.js.map +1 -0
- package/dist/entrypoints/frontend/cloudflare.d.ts +2 -0
- package/dist/entrypoints/frontend/cloudflare.d.ts.map +1 -0
- package/dist/entrypoints/frontend/cloudflare.js +2 -0
- package/dist/entrypoints/frontend/cloudflare.js.map +1 -0
- package/dist/entrypoints/frontend/index.d.ts +6 -0
- package/dist/entrypoints/frontend/index.d.ts.map +1 -0
- package/dist/entrypoints/frontend/index.js +3 -0
- package/dist/entrypoints/frontend/index.js.map +1 -0
- package/dist/entrypoints/frontend/proxy.d.ts +2 -0
- package/dist/entrypoints/frontend/proxy.d.ts.map +1 -0
- package/dist/entrypoints/frontend/proxy.js +2 -0
- package/dist/entrypoints/frontend/proxy.js.map +1 -0
- package/dist/entrypoints/frontend/static.d.ts +2 -0
- package/dist/entrypoints/frontend/static.d.ts.map +1 -0
- package/dist/entrypoints/frontend/static.js +2 -0
- package/dist/entrypoints/frontend/static.js.map +1 -0
- package/dist/entrypoints/identity-providers/apple.d.ts +14 -0
- package/dist/entrypoints/identity-providers/apple.d.ts.map +1 -0
- package/dist/entrypoints/identity-providers/apple.js +23 -0
- package/dist/entrypoints/identity-providers/apple.js.map +1 -0
- package/dist/entrypoints/identity-providers/generic-oauth.d.ts +25 -0
- package/dist/entrypoints/identity-providers/generic-oauth.d.ts.map +1 -0
- package/dist/entrypoints/identity-providers/generic-oauth.js +20 -0
- package/dist/entrypoints/identity-providers/generic-oauth.js.map +1 -0
- package/dist/entrypoints/identity-providers/github.d.ts +13 -0
- package/dist/entrypoints/identity-providers/github.d.ts.map +1 -0
- package/dist/entrypoints/identity-providers/github.js +24 -0
- package/dist/entrypoints/identity-providers/github.js.map +1 -0
- package/dist/entrypoints/identity-providers/google.d.ts +13 -0
- package/dist/entrypoints/identity-providers/google.d.ts.map +1 -0
- package/dist/entrypoints/identity-providers/google.js +24 -0
- package/dist/entrypoints/identity-providers/google.js.map +1 -0
- package/dist/entrypoints/index.d.ts +3 -0
- package/dist/entrypoints/index.d.ts.map +1 -0
- package/dist/entrypoints/index.js +3 -0
- package/dist/entrypoints/index.js.map +1 -0
- package/dist/entrypoints/mail/nodemailer.d.ts +11 -0
- package/dist/entrypoints/mail/nodemailer.d.ts.map +1 -0
- package/dist/entrypoints/mail/nodemailer.js +30 -0
- package/dist/entrypoints/mail/nodemailer.js.map +1 -0
- package/dist/entrypoints/scheduler/croner.d.ts +6 -0
- package/dist/entrypoints/scheduler/croner.d.ts.map +1 -0
- package/dist/entrypoints/scheduler/croner.js +22 -0
- package/dist/entrypoints/scheduler/croner.js.map +1 -0
- package/dist/entrypoints/services.d.ts +3 -0
- package/dist/entrypoints/services.d.ts.map +1 -0
- package/dist/entrypoints/services.js +2 -0
- package/dist/entrypoints/services.js.map +1 -0
- package/dist/lib/app-env.d.ts +17 -0
- package/dist/lib/app-env.d.ts.map +1 -0
- package/dist/lib/app-env.js +2 -0
- package/dist/lib/app-env.js.map +1 -0
- package/dist/lib/base64url.d.ts +33 -0
- package/dist/lib/base64url.d.ts.map +1 -0
- package/dist/lib/base64url.js +93 -0
- package/dist/lib/base64url.js.map +1 -0
- package/dist/lib/config/account-deletion.d.ts +11 -0
- package/dist/lib/config/account-deletion.d.ts.map +1 -0
- package/dist/lib/config/account-deletion.js +16 -0
- package/dist/lib/config/account-deletion.js.map +1 -0
- package/dist/lib/config/auth.d.ts +109 -0
- package/dist/lib/config/auth.d.ts.map +1 -0
- package/dist/lib/config/auth.js +155 -0
- package/dist/lib/config/auth.js.map +1 -0
- package/dist/lib/config/branding.d.ts +134 -0
- package/dist/lib/config/branding.d.ts.map +1 -0
- package/dist/lib/config/branding.js +83 -0
- package/dist/lib/config/branding.js.map +1 -0
- package/dist/lib/config/cleanup.d.ts +59 -0
- package/dist/lib/config/cleanup.d.ts.map +1 -0
- package/dist/lib/config/cleanup.js +119 -0
- package/dist/lib/config/cleanup.js.map +1 -0
- package/dist/lib/config/client.d.ts +30 -0
- package/dist/lib/config/client.d.ts.map +1 -0
- package/dist/lib/config/client.js +43 -0
- package/dist/lib/config/client.js.map +1 -0
- package/dist/lib/config/database.d.ts +8 -0
- package/dist/lib/config/database.d.ts.map +1 -0
- package/dist/lib/config/database.js +8 -0
- package/dist/lib/config/database.js.map +1 -0
- package/dist/lib/config/email.d.ts +17 -0
- package/dist/lib/config/email.d.ts.map +1 -0
- package/dist/lib/config/email.js +7 -0
- package/dist/lib/config/email.js.map +1 -0
- package/dist/lib/config/frontend.d.ts +12 -0
- package/dist/lib/config/frontend.d.ts.map +1 -0
- package/dist/lib/config/frontend.js +7 -0
- package/dist/lib/config/frontend.js.map +1 -0
- package/dist/lib/config/i18n.d.ts +31 -0
- package/dist/lib/config/i18n.d.ts.map +1 -0
- package/dist/lib/config/i18n.js +23 -0
- package/dist/lib/config/i18n.js.map +1 -0
- package/dist/lib/config/identity-providers.d.ts +66 -0
- package/dist/lib/config/identity-providers.d.ts.map +1 -0
- package/dist/lib/config/identity-providers.js +71 -0
- package/dist/lib/config/identity-providers.js.map +1 -0
- package/dist/lib/config/index.d.ts +41 -0
- package/dist/lib/config/index.d.ts.map +1 -0
- package/dist/lib/config/index.js +21 -0
- package/dist/lib/config/index.js.map +1 -0
- package/dist/lib/config/logging.d.ts +52 -0
- package/dist/lib/config/logging.d.ts.map +1 -0
- package/dist/lib/config/logging.js +41 -0
- package/dist/lib/config/logging.js.map +1 -0
- package/dist/lib/config/openapi.d.ts +15 -0
- package/dist/lib/config/openapi.d.ts.map +1 -0
- package/dist/lib/config/openapi.js +28 -0
- package/dist/lib/config/openapi.js.map +1 -0
- package/dist/lib/config/registration.d.ts +15 -0
- package/dist/lib/config/registration.d.ts.map +1 -0
- package/dist/lib/config/registration.js +24 -0
- package/dist/lib/config/registration.js.map +1 -0
- package/dist/lib/config/resolved.d.ts +274 -0
- package/dist/lib/config/resolved.d.ts.map +1 -0
- package/dist/lib/config/resolved.js +45 -0
- package/dist/lib/config/resolved.js.map +1 -0
- package/dist/lib/config/scheduler.d.ts +13 -0
- package/dist/lib/config/scheduler.d.ts.map +1 -0
- package/dist/lib/config/scheduler.js +14 -0
- package/dist/lib/config/scheduler.js.map +1 -0
- package/dist/lib/config/security.d.ts +11 -0
- package/dist/lib/config/security.d.ts.map +1 -0
- package/dist/lib/config/security.js +42 -0
- package/dist/lib/config/security.js.map +1 -0
- package/dist/lib/config/server.d.ts +13 -0
- package/dist/lib/config/server.d.ts.map +1 -0
- package/dist/lib/config/server.js +45 -0
- package/dist/lib/config/server.js.map +1 -0
- package/dist/lib/config/terms.d.ts +47 -0
- package/dist/lib/config/terms.d.ts.map +1 -0
- package/dist/lib/config/terms.js +71 -0
- package/dist/lib/config/terms.js.map +1 -0
- package/dist/lib/config/tokens.d.ts +32 -0
- package/dist/lib/config/tokens.d.ts.map +1 -0
- package/dist/lib/config/tokens.js +47 -0
- package/dist/lib/config/tokens.js.map +1 -0
- package/dist/lib/config/user.d.ts +22 -0
- package/dist/lib/config/user.d.ts.map +1 -0
- package/dist/lib/config/user.js +18 -0
- package/dist/lib/config/user.js.map +1 -0
- package/dist/lib/crypto.d.ts +106 -0
- package/dist/lib/crypto.d.ts.map +1 -0
- package/dist/lib/crypto.js +253 -0
- package/dist/lib/crypto.js.map +1 -0
- package/dist/lib/database/compiled-functions.d.ts +16 -0
- package/dist/lib/database/compiled-functions.d.ts.map +1 -0
- package/dist/lib/database/compiled-functions.js +66 -0
- package/dist/lib/database/compiled-functions.js.map +1 -0
- package/dist/lib/database/entities.d.ts +10 -0
- package/dist/lib/database/entities.d.ts.map +1 -0
- package/dist/lib/database/entities.js +43 -0
- package/dist/lib/database/entities.js.map +1 -0
- package/dist/lib/duration.d.ts +44 -0
- package/dist/lib/duration.d.ts.map +1 -0
- package/dist/lib/duration.js +103 -0
- package/dist/lib/duration.js.map +1 -0
- package/dist/lib/email-pattern.d.ts +16 -0
- package/dist/lib/email-pattern.d.ts.map +1 -0
- package/dist/lib/email-pattern.js +41 -0
- package/dist/lib/email-pattern.js.map +1 -0
- package/dist/lib/frontend/cloudflare.d.ts +12 -0
- package/dist/lib/frontend/cloudflare.d.ts.map +1 -0
- package/dist/lib/frontend/cloudflare.js +34 -0
- package/dist/lib/frontend/cloudflare.js.map +1 -0
- package/dist/lib/frontend/proxy.d.ts +24 -0
- package/dist/lib/frontend/proxy.d.ts.map +1 -0
- package/dist/lib/frontend/proxy.js +38 -0
- package/dist/lib/frontend/proxy.js.map +1 -0
- package/dist/lib/frontend/static.d.ts +21 -0
- package/dist/lib/frontend/static.d.ts.map +1 -0
- package/dist/lib/frontend/static.js +108 -0
- package/dist/lib/frontend/static.js.map +1 -0
- package/dist/lib/interpolate-html.d.ts +34 -0
- package/dist/lib/interpolate-html.d.ts.map +1 -0
- package/dist/lib/interpolate-html.js +63 -0
- package/dist/lib/interpolate-html.js.map +1 -0
- package/dist/lib/ip-utils.d.ts +61 -0
- package/dist/lib/ip-utils.d.ts.map +1 -0
- package/dist/lib/ip-utils.js +213 -0
- package/dist/lib/ip-utils.js.map +1 -0
- package/dist/lib/locale.d.ts +57 -0
- package/dist/lib/locale.d.ts.map +1 -0
- package/dist/lib/locale.js +25 -0
- package/dist/lib/locale.js.map +1 -0
- package/dist/lib/logger.d.ts +14 -0
- package/dist/lib/logger.d.ts.map +1 -0
- package/dist/lib/logger.js +41 -0
- package/dist/lib/logger.js.map +1 -0
- package/dist/lib/openapi.d.ts +35 -0
- package/dist/lib/openapi.d.ts.map +1 -0
- package/dist/lib/openapi.js +33 -0
- package/dist/lib/openapi.js.map +1 -0
- package/dist/lib/password-policy.d.ts +39 -0
- package/dist/lib/password-policy.d.ts.map +1 -0
- package/dist/lib/password-policy.js +51 -0
- package/dist/lib/password-policy.js.map +1 -0
- package/dist/lib/pkce.d.ts +26 -0
- package/dist/lib/pkce.d.ts.map +1 -0
- package/dist/lib/pkce.js +52 -0
- package/dist/lib/pkce.js.map +1 -0
- package/dist/lib/scopes.d.ts +10 -0
- package/dist/lib/scopes.d.ts.map +1 -0
- package/dist/lib/scopes.js +35 -0
- package/dist/lib/scopes.js.map +1 -0
- package/dist/lib/swagger-tags.d.ts +15 -0
- package/dist/lib/swagger-tags.d.ts.map +1 -0
- package/dist/lib/swagger-tags.js +15 -0
- package/dist/lib/swagger-tags.js.map +1 -0
- package/dist/middleware/auth.d.ts +64 -0
- package/dist/middleware/auth.d.ts.map +1 -0
- package/dist/middleware/auth.js +123 -0
- package/dist/middleware/auth.js.map +1 -0
- package/dist/middleware/logger.d.ts +18 -0
- package/dist/middleware/logger.d.ts.map +1 -0
- package/dist/middleware/logger.js +38 -0
- package/dist/middleware/logger.js.map +1 -0
- package/dist/middleware/mikro-orm.d.ts +3 -0
- package/dist/middleware/mikro-orm.d.ts.map +1 -0
- package/dist/middleware/mikro-orm.js +11 -0
- package/dist/middleware/mikro-orm.js.map +1 -0
- package/dist/middleware/services.d.ts +8 -0
- package/dist/middleware/services.d.ts.map +1 -0
- package/dist/middleware/services.js +8 -0
- package/dist/middleware/services.js.map +1 -0
- package/dist/middleware/session.d.ts +63 -0
- package/dist/middleware/session.d.ts.map +1 -0
- package/dist/middleware/session.js +89 -0
- package/dist/middleware/session.js.map +1 -0
- package/dist/middleware/trusted-proxy-guard.d.ts +7 -0
- package/dist/middleware/trusted-proxy-guard.d.ts.map +1 -0
- package/dist/middleware/trusted-proxy-guard.js +34 -0
- package/dist/middleware/trusted-proxy-guard.js.map +1 -0
- package/dist/repositories/email-verification.repository.d.ts +18 -0
- package/dist/repositories/email-verification.repository.d.ts.map +1 -0
- package/dist/repositories/email-verification.repository.js +47 -0
- package/dist/repositories/email-verification.repository.js.map +1 -0
- package/dist/repositories/jwt-key.repository.d.ts +49 -0
- package/dist/repositories/jwt-key.repository.d.ts.map +1 -0
- package/dist/repositories/jwt-key.repository.js +72 -0
- package/dist/repositories/jwt-key.repository.js.map +1 -0
- package/dist/repositories/oauth-client.repository.d.ts +5 -0
- package/dist/repositories/oauth-client.repository.d.ts.map +1 -0
- package/dist/repositories/oauth-client.repository.js +4 -0
- package/dist/repositories/oauth-client.repository.js.map +1 -0
- package/dist/repositories/oauth-code.repository.d.ts +19 -0
- package/dist/repositories/oauth-code.repository.d.ts.map +1 -0
- package/dist/repositories/oauth-code.repository.js +32 -0
- package/dist/repositories/oauth-code.repository.js.map +1 -0
- package/dist/repositories/password-reset.repository.d.ts +19 -0
- package/dist/repositories/password-reset.repository.d.ts.map +1 -0
- package/dist/repositories/password-reset.repository.js +53 -0
- package/dist/repositories/password-reset.repository.js.map +1 -0
- package/dist/repositories/pending-oauth-registration.repository.d.ts +38 -0
- package/dist/repositories/pending-oauth-registration.repository.d.ts.map +1 -0
- package/dist/repositories/pending-oauth-registration.repository.js +50 -0
- package/dist/repositories/pending-oauth-registration.repository.js.map +1 -0
- package/dist/repositories/revoked-token.repository.d.ts +32 -0
- package/dist/repositories/revoked-token.repository.d.ts.map +1 -0
- package/dist/repositories/revoked-token.repository.js +43 -0
- package/dist/repositories/revoked-token.repository.js.map +1 -0
- package/dist/repositories/terms-content.repository.d.ts +5 -0
- package/dist/repositories/terms-content.repository.d.ts.map +1 -0
- package/dist/repositories/terms-content.repository.js +4 -0
- package/dist/repositories/terms-content.repository.js.map +1 -0
- package/dist/repositories/terms.repository.d.ts +9 -0
- package/dist/repositories/terms.repository.d.ts.map +1 -0
- package/dist/repositories/terms.repository.js +12 -0
- package/dist/repositories/terms.repository.js.map +1 -0
- package/dist/repositories/user-consent.repository.d.ts +22 -0
- package/dist/repositories/user-consent.repository.d.ts.map +1 -0
- package/dist/repositories/user-consent.repository.js +51 -0
- package/dist/repositories/user-consent.repository.js.map +1 -0
- package/dist/repositories/user-oauth.repository.d.ts +68 -0
- package/dist/repositories/user-oauth.repository.d.ts.map +1 -0
- package/dist/repositories/user-oauth.repository.js +94 -0
- package/dist/repositories/user-oauth.repository.js.map +1 -0
- package/dist/repositories/user-passkey.repository.d.ts +187 -0
- package/dist/repositories/user-passkey.repository.d.ts.map +1 -0
- package/dist/repositories/user-passkey.repository.js +61 -0
- package/dist/repositories/user-passkey.repository.js.map +1 -0
- package/dist/repositories/user-terms-consent.repository.d.ts +38 -0
- package/dist/repositories/user-terms-consent.repository.d.ts.map +1 -0
- package/dist/repositories/user-terms-consent.repository.js +71 -0
- package/dist/repositories/user-terms-consent.repository.js.map +1 -0
- package/dist/repositories/user-totp-recovery-code.repository.d.ts +376 -0
- package/dist/repositories/user-totp-recovery-code.repository.d.ts.map +1 -0
- package/dist/repositories/user-totp-recovery-code.repository.js +41 -0
- package/dist/repositories/user-totp-recovery-code.repository.js.map +1 -0
- package/dist/repositories/user-totp.repository.d.ts +564 -0
- package/dist/repositories/user-totp.repository.d.ts.map +1 -0
- package/dist/repositories/user-totp.repository.js +56 -0
- package/dist/repositories/user-totp.repository.js.map +1 -0
- package/dist/repositories/user.repository.d.ts +32 -0
- package/dist/repositories/user.repository.d.ts.map +1 -0
- package/dist/repositories/user.repository.js +70 -0
- package/dist/repositories/user.repository.js.map +1 -0
- package/dist/routes/.well-known/index.d.ts +12 -0
- package/dist/routes/.well-known/index.d.ts.map +1 -0
- package/dist/routes/.well-known/index.js +4 -0
- package/dist/routes/.well-known/index.js.map +1 -0
- package/dist/routes/.well-known/openid-configuration/get.d.ts +19 -0
- package/dist/routes/.well-known/openid-configuration/get.d.ts.map +1 -0
- package/dist/routes/.well-known/openid-configuration/get.js +12 -0
- package/dist/routes/.well-known/openid-configuration/get.js.map +1 -0
- package/dist/routes/api/auth/email/resend/post.d.ts +22 -0
- package/dist/routes/api/auth/email/resend/post.d.ts.map +1 -0
- package/dist/routes/api/auth/email/resend/post.js +64 -0
- package/dist/routes/api/auth/email/resend/post.js.map +1 -0
- package/dist/routes/api/auth/email/verify/post.d.ts +29 -0
- package/dist/routes/api/auth/email/verify/post.d.ts.map +1 -0
- package/dist/routes/api/auth/email/verify/post.js +55 -0
- package/dist/routes/api/auth/email/verify/post.js.map +1 -0
- package/dist/routes/api/auth/index.d.ts +275 -0
- package/dist/routes/api/auth/index.d.ts.map +1 -0
- package/dist/routes/api/auth/index.js +25 -0
- package/dist/routes/api/auth/index.js.map +1 -0
- package/dist/routes/api/auth/login/post.d.ts +30 -0
- package/dist/routes/api/auth/login/post.d.ts.map +1 -0
- package/dist/routes/api/auth/login/post.js +76 -0
- package/dist/routes/api/auth/login/post.js.map +1 -0
- package/dist/routes/api/auth/logout/post.d.ts +14 -0
- package/dist/routes/api/auth/logout/post.d.ts.map +1 -0
- package/dist/routes/api/auth/logout/post.js +21 -0
- package/dist/routes/api/auth/logout/post.js.map +1 -0
- package/dist/routes/api/auth/passkey/options/post.d.ts +31 -0
- package/dist/routes/api/auth/passkey/options/post.d.ts.map +1 -0
- package/dist/routes/api/auth/passkey/options/post.js +43 -0
- package/dist/routes/api/auth/passkey/options/post.js.map +1 -0
- package/dist/routes/api/auth/passkey/verify/post.d.ts +41 -0
- package/dist/routes/api/auth/passkey/verify/post.d.ts.map +1 -0
- package/dist/routes/api/auth/passkey/verify/post.js +75 -0
- package/dist/routes/api/auth/passkey/verify/post.js.map +1 -0
- package/dist/routes/api/auth/password/forgot/post.d.ts +22 -0
- package/dist/routes/api/auth/password/forgot/post.d.ts.map +1 -0
- package/dist/routes/api/auth/password/forgot/post.js +72 -0
- package/dist/routes/api/auth/password/forgot/post.js.map +1 -0
- package/dist/routes/api/auth/password/reset/post.d.ts +19 -0
- package/dist/routes/api/auth/password/reset/post.d.ts.map +1 -0
- package/dist/routes/api/auth/password/reset/post.js +62 -0
- package/dist/routes/api/auth/password/reset/post.js.map +1 -0
- package/dist/routes/api/auth/register/post.d.ts +39 -0
- package/dist/routes/api/auth/register/post.d.ts.map +1 -0
- package/dist/routes/api/auth/register/post.js +95 -0
- package/dist/routes/api/auth/register/post.js.map +1 -0
- package/dist/routes/api/auth/totp/recovery/verify/post.d.ts +36 -0
- package/dist/routes/api/auth/totp/recovery/verify/post.d.ts.map +1 -0
- package/dist/routes/api/auth/totp/recovery/verify/post.js +68 -0
- package/dist/routes/api/auth/totp/recovery/verify/post.js.map +1 -0
- package/dist/routes/api/auth/totp/verify/post.d.ts +29 -0
- package/dist/routes/api/auth/totp/verify/post.d.ts.map +1 -0
- package/dist/routes/api/auth/totp/verify/post.js +59 -0
- package/dist/routes/api/auth/totp/verify/post.js.map +1 -0
- package/dist/routes/api/config/get.d.ts +76 -0
- package/dist/routes/api/config/get.d.ts.map +1 -0
- package/dist/routes/api/config/get.js +70 -0
- package/dist/routes/api/config/get.js.map +1 -0
- package/dist/routes/api/config/index.d.ts +76 -0
- package/dist/routes/api/config/index.d.ts.map +1 -0
- package/dist/routes/api/config/index.js +4 -0
- package/dist/routes/api/config/index.js.map +1 -0
- package/dist/routes/api/consent/get.d.ts +37 -0
- package/dist/routes/api/consent/get.d.ts.map +1 -0
- package/dist/routes/api/consent/get.js +73 -0
- package/dist/routes/api/consent/get.js.map +1 -0
- package/dist/routes/api/consent/index.d.ts +54 -0
- package/dist/routes/api/consent/index.d.ts.map +1 -0
- package/dist/routes/api/consent/index.js +7 -0
- package/dist/routes/api/consent/index.js.map +1 -0
- package/dist/routes/api/consent/post.d.ts +33 -0
- package/dist/routes/api/consent/post.d.ts.map +1 -0
- package/dist/routes/api/consent/post.js +105 -0
- package/dist/routes/api/consent/post.js.map +1 -0
- package/dist/routes/api/docs/get.d.ts +17 -0
- package/dist/routes/api/docs/get.d.ts.map +1 -0
- package/dist/routes/api/docs/get.js +19 -0
- package/dist/routes/api/docs/get.js.map +1 -0
- package/dist/routes/api/docs/index.d.ts +12 -0
- package/dist/routes/api/docs/index.d.ts.map +1 -0
- package/dist/routes/api/docs/index.js +4 -0
- package/dist/routes/api/docs/index.js.map +1 -0
- package/dist/routes/api/health/get.d.ts +36 -0
- package/dist/routes/api/health/get.d.ts.map +1 -0
- package/dist/routes/api/health/get.js +64 -0
- package/dist/routes/api/health/get.js.map +1 -0
- package/dist/routes/api/health/index.d.ts +66 -0
- package/dist/routes/api/health/index.d.ts.map +1 -0
- package/dist/routes/api/health/index.js +9 -0
- package/dist/routes/api/health/index.js.map +1 -0
- package/dist/routes/api/health/live/get.d.ts +20 -0
- package/dist/routes/api/health/live/get.d.ts.map +1 -0
- package/dist/routes/api/health/live/get.js +28 -0
- package/dist/routes/api/health/live/get.js.map +1 -0
- package/dist/routes/api/health/ready/get.d.ts +35 -0
- package/dist/routes/api/health/ready/get.d.ts.map +1 -0
- package/dist/routes/api/health/ready/get.js +60 -0
- package/dist/routes/api/health/ready/get.js.map +1 -0
- package/dist/routes/api/index.d.ts +927 -0
- package/dist/routes/api/index.d.ts.map +1 -0
- package/dist/routes/api/index.js +19 -0
- package/dist/routes/api/index.js.map +1 -0
- package/dist/routes/api/oauth/_provider/authorize/get.d.ts +21 -0
- package/dist/routes/api/oauth/_provider/authorize/get.d.ts.map +1 -0
- package/dist/routes/api/oauth/_provider/authorize/get.js +60 -0
- package/dist/routes/api/oauth/_provider/authorize/get.js.map +1 -0
- package/dist/routes/api/oauth/_provider/callback/get.d.ts +23 -0
- package/dist/routes/api/oauth/_provider/callback/get.d.ts.map +1 -0
- package/dist/routes/api/oauth/_provider/callback/get.js +137 -0
- package/dist/routes/api/oauth/_provider/callback/get.js.map +1 -0
- package/dist/routes/api/oauth/_provider/callback/post.d.ts +23 -0
- package/dist/routes/api/oauth/_provider/callback/post.d.ts.map +1 -0
- package/dist/routes/api/oauth/_provider/callback/post.js +140 -0
- package/dist/routes/api/oauth/_provider/callback/post.js.map +1 -0
- package/dist/routes/api/oauth/_provider/delete.d.ts +18 -0
- package/dist/routes/api/oauth/_provider/delete.d.ts.map +1 -0
- package/dist/routes/api/oauth/_provider/delete.js +62 -0
- package/dist/routes/api/oauth/_provider/delete.js.map +1 -0
- package/dist/routes/api/oauth/index.d.ts +76 -0
- package/dist/routes/api/oauth/index.d.ts.map +1 -0
- package/dist/routes/api/oauth/index.js +11 -0
- package/dist/routes/api/oauth/index.js.map +1 -0
- package/dist/routes/api/terms/consent/post.d.ts +29 -0
- package/dist/routes/api/terms/consent/post.d.ts.map +1 -0
- package/dist/routes/api/terms/consent/post.js +111 -0
- package/dist/routes/api/terms/consent/post.js.map +1 -0
- package/dist/routes/api/terms/get.d.ts +40 -0
- package/dist/routes/api/terms/get.d.ts.map +1 -0
- package/dist/routes/api/terms/get.js +53 -0
- package/dist/routes/api/terms/get.js.map +1 -0
- package/dist/routes/api/terms/index.d.ts +55 -0
- package/dist/routes/api/terms/index.d.ts.map +1 -0
- package/dist/routes/api/terms/index.js +7 -0
- package/dist/routes/api/terms/index.js.map +1 -0
- package/dist/routes/api/user/delete.d.ts +21 -0
- package/dist/routes/api/user/delete.d.ts.map +1 -0
- package/dist/routes/api/user/delete.js +89 -0
- package/dist/routes/api/user/delete.js.map +1 -0
- package/dist/routes/api/user/index.d.ts +334 -0
- package/dist/routes/api/user/index.d.ts.map +1 -0
- package/dist/routes/api/user/index.js +35 -0
- package/dist/routes/api/user/index.js.map +1 -0
- package/dist/routes/api/user/oauth-accounts/get.d.ts +23 -0
- package/dist/routes/api/user/oauth-accounts/get.d.ts.map +1 -0
- package/dist/routes/api/user/oauth-accounts/get.js +58 -0
- package/dist/routes/api/user/oauth-accounts/get.js.map +1 -0
- package/dist/routes/api/user/passkeys/_id/delete.d.ts +18 -0
- package/dist/routes/api/user/passkeys/_id/delete.d.ts.map +1 -0
- package/dist/routes/api/user/passkeys/_id/delete.js +87 -0
- package/dist/routes/api/user/passkeys/_id/delete.js.map +1 -0
- package/dist/routes/api/user/passkeys/_id/patch.d.ts +22 -0
- package/dist/routes/api/user/passkeys/_id/patch.d.ts.map +1 -0
- package/dist/routes/api/user/passkeys/_id/patch.js +64 -0
- package/dist/routes/api/user/passkeys/_id/patch.js.map +1 -0
- package/dist/routes/api/user/passkeys/get.d.ts +21 -0
- package/dist/routes/api/user/passkeys/get.d.ts.map +1 -0
- package/dist/routes/api/user/passkeys/get.js +52 -0
- package/dist/routes/api/user/passkeys/get.js.map +1 -0
- package/dist/routes/api/user/passkeys/register/options/post.d.ts +55 -0
- package/dist/routes/api/user/passkeys/register/options/post.d.ts.map +1 -0
- package/dist/routes/api/user/passkeys/register/options/post.js +74 -0
- package/dist/routes/api/user/passkeys/register/options/post.js.map +1 -0
- package/dist/routes/api/user/passkeys/register/verify/post.d.ts +50 -0
- package/dist/routes/api/user/passkeys/register/verify/post.d.ts.map +1 -0
- package/dist/routes/api/user/passkeys/register/verify/post.js +95 -0
- package/dist/routes/api/user/passkeys/register/verify/post.js.map +1 -0
- package/dist/routes/api/user/password/delete.d.ts +23 -0
- package/dist/routes/api/user/password/delete.d.ts.map +1 -0
- package/dist/routes/api/user/password/delete.js +78 -0
- package/dist/routes/api/user/password/delete.js.map +1 -0
- package/dist/routes/api/user/password/post.d.ts +23 -0
- package/dist/routes/api/user/password/post.d.ts.map +1 -0
- package/dist/routes/api/user/password/post.js +81 -0
- package/dist/routes/api/user/password/post.js.map +1 -0
- package/dist/routes/api/user/password/put.d.ts +24 -0
- package/dist/routes/api/user/password/put.d.ts.map +1 -0
- package/dist/routes/api/user/password/put.js +74 -0
- package/dist/routes/api/user/password/put.js.map +1 -0
- package/dist/routes/api/user/session/get.d.ts +32 -0
- package/dist/routes/api/user/session/get.d.ts.map +1 -0
- package/dist/routes/api/user/session/get.js +36 -0
- package/dist/routes/api/user/session/get.js.map +1 -0
- package/dist/routes/api/user/totp/confirm/post.d.ts +32 -0
- package/dist/routes/api/user/totp/confirm/post.d.ts.map +1 -0
- package/dist/routes/api/user/totp/confirm/post.js +73 -0
- package/dist/routes/api/user/totp/confirm/post.js.map +1 -0
- package/dist/routes/api/user/totp/delete.d.ts +23 -0
- package/dist/routes/api/user/totp/delete.d.ts.map +1 -0
- package/dist/routes/api/user/totp/delete.js +74 -0
- package/dist/routes/api/user/totp/delete.js.map +1 -0
- package/dist/routes/api/user/totp/recovery/regenerate/post.d.ts +18 -0
- package/dist/routes/api/user/totp/recovery/regenerate/post.d.ts.map +1 -0
- package/dist/routes/api/user/totp/recovery/regenerate/post.js +54 -0
- package/dist/routes/api/user/totp/recovery/regenerate/post.js.map +1 -0
- package/dist/routes/api/user/totp/setup/post.d.ts +22 -0
- package/dist/routes/api/user/totp/setup/post.d.ts.map +1 -0
- package/dist/routes/api/user/totp/setup/post.js +82 -0
- package/dist/routes/api/user/totp/setup/post.js.map +1 -0
- package/dist/routes/api/user/totp/verify/post.d.ts +23 -0
- package/dist/routes/api/user/totp/verify/post.d.ts.map +1 -0
- package/dist/routes/api/user/totp/verify/post.js +71 -0
- package/dist/routes/api/user/totp/verify/post.js.map +1 -0
- package/dist/routes/index.d.ts +1115 -0
- package/dist/routes/index.d.ts.map +1 -0
- package/dist/routes/index.js +9 -0
- package/dist/routes/index.js.map +1 -0
- package/dist/routes/oauth/.well-known/jwks/get.d.ts +24 -0
- package/dist/routes/oauth/.well-known/jwks/get.d.ts.map +1 -0
- package/dist/routes/oauth/.well-known/jwks/get.js +41 -0
- package/dist/routes/oauth/.well-known/jwks/get.js.map +1 -0
- package/dist/routes/oauth/.well-known/openid-configuration/get.d.ts +29 -0
- package/dist/routes/oauth/.well-known/openid-configuration/get.d.ts.map +1 -0
- package/dist/routes/oauth/.well-known/openid-configuration/get.js +119 -0
- package/dist/routes/oauth/.well-known/openid-configuration/get.js.map +1 -0
- package/dist/routes/oauth/authorize/get.d.ts +48 -0
- package/dist/routes/oauth/authorize/get.d.ts.map +1 -0
- package/dist/routes/oauth/authorize/get.js +102 -0
- package/dist/routes/oauth/authorize/get.js.map +1 -0
- package/dist/routes/oauth/index.d.ts +182 -0
- package/dist/routes/oauth/index.d.ts.map +1 -0
- package/dist/routes/oauth/index.js +17 -0
- package/dist/routes/oauth/index.js.map +1 -0
- package/dist/routes/oauth/introspect/post.d.ts +28 -0
- package/dist/routes/oauth/introspect/post.d.ts.map +1 -0
- package/dist/routes/oauth/introspect/post.js +69 -0
- package/dist/routes/oauth/introspect/post.js.map +1 -0
- package/dist/routes/oauth/revoke/post.d.ts +22 -0
- package/dist/routes/oauth/revoke/post.d.ts.map +1 -0
- package/dist/routes/oauth/revoke/post.js +73 -0
- package/dist/routes/oauth/revoke/post.js.map +1 -0
- package/dist/routes/oauth/token/post.d.ts +29 -0
- package/dist/routes/oauth/token/post.d.ts.map +1 -0
- package/dist/routes/oauth/token/post.js +98 -0
- package/dist/routes/oauth/token/post.js.map +1 -0
- package/dist/routes/oauth/userinfo/get.d.ts +23 -0
- package/dist/routes/oauth/userinfo/get.d.ts.map +1 -0
- package/dist/routes/oauth/userinfo/get.js +65 -0
- package/dist/routes/oauth/userinfo/get.js.map +1 -0
- package/dist/schemas/error.d.ts +2104 -0
- package/dist/schemas/error.d.ts.map +1 -0
- package/dist/schemas/error.js +164 -0
- package/dist/schemas/error.js.map +1 -0
- package/dist/schemas/field.d.ts +97 -0
- package/dist/schemas/field.d.ts.map +1 -0
- package/dist/schemas/field.js +168 -0
- package/dist/schemas/field.js.map +1 -0
- package/dist/schemas/header.d.ts +7 -0
- package/dist/schemas/header.d.ts.map +1 -0
- package/dist/schemas/header.js +11 -0
- package/dist/schemas/header.js.map +1 -0
- package/dist/schemas/oauth.d.ts +26 -0
- package/dist/schemas/oauth.d.ts.map +1 -0
- package/dist/schemas/oauth.js +51 -0
- package/dist/schemas/oauth.js.map +1 -0
- package/dist/schemas/provider.d.ts +7 -0
- package/dist/schemas/provider.d.ts.map +1 -0
- package/dist/schemas/provider.js +31 -0
- package/dist/schemas/provider.js.map +1 -0
- package/dist/schemas/response.d.ts +645 -0
- package/dist/schemas/response.d.ts.map +1 -0
- package/dist/schemas/response.js +598 -0
- package/dist/schemas/response.js.map +1 -0
- package/dist/schemas/terms.d.ts +93 -0
- package/dist/schemas/terms.d.ts.map +1 -0
- package/dist/schemas/terms.js +109 -0
- package/dist/schemas/terms.js.map +1 -0
- package/dist/seeders/config.seeder.d.ts +21 -0
- package/dist/seeders/config.seeder.d.ts.map +1 -0
- package/dist/seeders/config.seeder.js +168 -0
- package/dist/seeders/config.seeder.js.map +1 -0
- package/dist/services/cleanup.service.d.ts +166 -0
- package/dist/services/cleanup.service.d.ts.map +1 -0
- package/dist/services/cleanup.service.js +605 -0
- package/dist/services/cleanup.service.js.map +1 -0
- package/dist/services/container.d.ts +201 -0
- package/dist/services/container.d.ts.map +1 -0
- package/dist/services/container.js +75 -0
- package/dist/services/container.js.map +1 -0
- package/dist/services/email.service.d.ts +69 -0
- package/dist/services/email.service.d.ts.map +1 -0
- package/dist/services/email.service.js +164 -0
- package/dist/services/email.service.js.map +1 -0
- package/dist/services/jwt.service.d.ts +321 -0
- package/dist/services/jwt.service.d.ts.map +1 -0
- package/dist/services/jwt.service.js +524 -0
- package/dist/services/jwt.service.js.map +1 -0
- package/dist/services/mikro.service.d.ts +43 -0
- package/dist/services/mikro.service.d.ts.map +1 -0
- package/dist/services/mikro.service.js +68 -0
- package/dist/services/mikro.service.js.map +1 -0
- package/dist/services/oauth-authorize.service.d.ts +91 -0
- package/dist/services/oauth-authorize.service.d.ts.map +1 -0
- package/dist/services/oauth-authorize.service.js +237 -0
- package/dist/services/oauth-authorize.service.js.map +1 -0
- package/dist/services/oauth-client.service.d.ts +38 -0
- package/dist/services/oauth-client.service.d.ts.map +1 -0
- package/dist/services/oauth-client.service.js +80 -0
- package/dist/services/oauth-client.service.js.map +1 -0
- package/dist/services/oauth-connect.service.d.ts +182 -0
- package/dist/services/oauth-connect.service.d.ts.map +1 -0
- package/dist/services/oauth-connect.service.js +592 -0
- package/dist/services/oauth-connect.service.js.map +1 -0
- package/dist/services/oauth-token.service.d.ts +162 -0
- package/dist/services/oauth-token.service.d.ts.map +1 -0
- package/dist/services/oauth-token.service.js +374 -0
- package/dist/services/oauth-token.service.js.map +1 -0
- package/dist/services/passkey.service.d.ts +73 -0
- package/dist/services/passkey.service.d.ts.map +1 -0
- package/dist/services/passkey.service.js +199 -0
- package/dist/services/passkey.service.js.map +1 -0
- package/dist/services/password-auth.service.d.ts +24 -0
- package/dist/services/password-auth.service.d.ts.map +1 -0
- package/dist/services/password-auth.service.js +87 -0
- package/dist/services/password-auth.service.js.map +1 -0
- package/dist/services/password-reset.service.d.ts +31 -0
- package/dist/services/password-reset.service.d.ts.map +1 -0
- package/dist/services/password-reset.service.js +54 -0
- package/dist/services/password-reset.service.js.map +1 -0
- package/dist/services/scheduler.service.d.ts +15 -0
- package/dist/services/scheduler.service.d.ts.map +1 -0
- package/dist/services/scheduler.service.js +52 -0
- package/dist/services/scheduler.service.js.map +1 -0
- package/dist/services/security.service.d.ts +17 -0
- package/dist/services/security.service.d.ts.map +1 -0
- package/dist/services/security.service.js +82 -0
- package/dist/services/security.service.js.map +1 -0
- package/dist/services/terms.service.d.ts +131 -0
- package/dist/services/terms.service.d.ts.map +1 -0
- package/dist/services/terms.service.js +210 -0
- package/dist/services/terms.service.js.map +1 -0
- package/dist/services/totp.service.d.ts +86 -0
- package/dist/services/totp.service.d.ts.map +1 -0
- package/dist/services/totp.service.js +244 -0
- package/dist/services/totp.service.js.map +1 -0
- package/dist/services/user-consent.service.d.ts +34 -0
- package/dist/services/user-consent.service.d.ts.map +1 -0
- package/dist/services/user-consent.service.js +42 -0
- package/dist/services/user-consent.service.js.map +1 -0
- package/dist/services/user.service.d.ts +60 -0
- package/dist/services/user.service.d.ts.map +1 -0
- package/dist/services/user.service.js +176 -0
- package/dist/services/user.service.js.map +1 -0
- package/package.json +155 -0
- package/public/assets/index-CrY7bb7j.css +2 -0
- package/public/assets/index-jYk5DHP_.js +75 -0
- package/public/assets/index-jYk5DHP_.js.map +1 -0
- package/public/index.html +27 -0
- package/public/vite.svg +1 -0
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const termsSchema: {
|
|
3
|
+
TermsResponse: z.ZodObject<{
|
|
4
|
+
terms: z.ZodArray<z.ZodObject<{
|
|
5
|
+
id: z.ZodString;
|
|
6
|
+
required: z.ZodBoolean;
|
|
7
|
+
consentMode: z.ZodEnum<{
|
|
8
|
+
explicit: "explicit";
|
|
9
|
+
implicit: "implicit";
|
|
10
|
+
}>;
|
|
11
|
+
version: z.ZodString;
|
|
12
|
+
effectiveDate: z.ZodOptional<z.ZodString>;
|
|
13
|
+
title: z.ZodString;
|
|
14
|
+
type: z.ZodEnum<{
|
|
15
|
+
link: "link";
|
|
16
|
+
text: "text";
|
|
17
|
+
}>;
|
|
18
|
+
content: z.ZodString;
|
|
19
|
+
userConsent: z.ZodNullable<z.ZodObject<{
|
|
20
|
+
agreed: z.ZodBoolean;
|
|
21
|
+
agreedVersion: z.ZodNullable<z.ZodString>;
|
|
22
|
+
agreedAt: z.ZodNullable<z.ZodString>;
|
|
23
|
+
consentType: z.ZodNullable<z.ZodEnum<{
|
|
24
|
+
explicit: "explicit";
|
|
25
|
+
implicit: "implicit";
|
|
26
|
+
}>>;
|
|
27
|
+
requiresUpdate: z.ZodBoolean;
|
|
28
|
+
}, z.core.$strip>>;
|
|
29
|
+
}, z.core.$strip>>;
|
|
30
|
+
pendingTerms: z.ZodArray<z.ZodString>;
|
|
31
|
+
}, z.core.$strip>;
|
|
32
|
+
TermsConsentRequest: z.ZodObject<{
|
|
33
|
+
consents: z.ZodArray<z.ZodObject<{
|
|
34
|
+
termsId: z.ZodString;
|
|
35
|
+
agreed: z.ZodBoolean;
|
|
36
|
+
consentType: z.ZodOptional<z.ZodEnum<{
|
|
37
|
+
explicit: "explicit";
|
|
38
|
+
implicit: "implicit";
|
|
39
|
+
}>>;
|
|
40
|
+
}, z.core.$strip>>;
|
|
41
|
+
registrationToken: z.ZodOptional<z.ZodString>;
|
|
42
|
+
}, z.core.$strip>;
|
|
43
|
+
TermsConsentResponse: z.ZodObject<{
|
|
44
|
+
ok: z.ZodLiteral<true>;
|
|
45
|
+
recorded: z.ZodNumber;
|
|
46
|
+
registered: z.ZodOptional<z.ZodBoolean>;
|
|
47
|
+
}, z.core.$strip>;
|
|
48
|
+
TermsUserConsent: z.ZodObject<{
|
|
49
|
+
agreed: z.ZodBoolean;
|
|
50
|
+
agreedVersion: z.ZodNullable<z.ZodString>;
|
|
51
|
+
agreedAt: z.ZodNullable<z.ZodString>;
|
|
52
|
+
consentType: z.ZodNullable<z.ZodEnum<{
|
|
53
|
+
explicit: "explicit";
|
|
54
|
+
implicit: "implicit";
|
|
55
|
+
}>>;
|
|
56
|
+
requiresUpdate: z.ZodBoolean;
|
|
57
|
+
}, z.core.$strip>;
|
|
58
|
+
TermItem: z.ZodObject<{
|
|
59
|
+
id: z.ZodString;
|
|
60
|
+
required: z.ZodBoolean;
|
|
61
|
+
consentMode: z.ZodEnum<{
|
|
62
|
+
explicit: "explicit";
|
|
63
|
+
implicit: "implicit";
|
|
64
|
+
}>;
|
|
65
|
+
version: z.ZodString;
|
|
66
|
+
effectiveDate: z.ZodOptional<z.ZodString>;
|
|
67
|
+
title: z.ZodString;
|
|
68
|
+
type: z.ZodEnum<{
|
|
69
|
+
link: "link";
|
|
70
|
+
text: "text";
|
|
71
|
+
}>;
|
|
72
|
+
content: z.ZodString;
|
|
73
|
+
userConsent: z.ZodNullable<z.ZodObject<{
|
|
74
|
+
agreed: z.ZodBoolean;
|
|
75
|
+
agreedVersion: z.ZodNullable<z.ZodString>;
|
|
76
|
+
agreedAt: z.ZodNullable<z.ZodString>;
|
|
77
|
+
consentType: z.ZodNullable<z.ZodEnum<{
|
|
78
|
+
explicit: "explicit";
|
|
79
|
+
implicit: "implicit";
|
|
80
|
+
}>>;
|
|
81
|
+
requiresUpdate: z.ZodBoolean;
|
|
82
|
+
}, z.core.$strip>>;
|
|
83
|
+
}, z.core.$strip>;
|
|
84
|
+
ConsentItem: z.ZodObject<{
|
|
85
|
+
termsId: z.ZodString;
|
|
86
|
+
agreed: z.ZodBoolean;
|
|
87
|
+
consentType: z.ZodOptional<z.ZodEnum<{
|
|
88
|
+
explicit: "explicit";
|
|
89
|
+
implicit: "implicit";
|
|
90
|
+
}>>;
|
|
91
|
+
}, z.core.$strip>;
|
|
92
|
+
};
|
|
93
|
+
//# sourceMappingURL=terms.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terms.d.ts","sourceRoot":"","sources":["../../src/schemas/terms.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAsHxB,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOvB,CAAC"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* User consent status for a term
|
|
4
|
+
*/
|
|
5
|
+
const TermsUserConsent = z
|
|
6
|
+
.object({
|
|
7
|
+
agreed: z.boolean().describe('Whether the user agreed to this term'),
|
|
8
|
+
agreedVersion: z
|
|
9
|
+
.string()
|
|
10
|
+
.nullable()
|
|
11
|
+
.describe('Version of the term the user agreed to'),
|
|
12
|
+
agreedAt: z
|
|
13
|
+
.string()
|
|
14
|
+
.datetime()
|
|
15
|
+
.nullable()
|
|
16
|
+
.describe('When the user agreed to the term'),
|
|
17
|
+
consentType: z
|
|
18
|
+
.enum(['explicit', 'implicit'])
|
|
19
|
+
.nullable()
|
|
20
|
+
.describe('How consent was obtained'),
|
|
21
|
+
requiresUpdate: z
|
|
22
|
+
.boolean()
|
|
23
|
+
.describe('Whether the user needs to re-consent due to version change'),
|
|
24
|
+
})
|
|
25
|
+
.describe('User consent status');
|
|
26
|
+
/**
|
|
27
|
+
* Content type for terms content
|
|
28
|
+
*/
|
|
29
|
+
const TermsContentType = z
|
|
30
|
+
.enum(['link', 'text'])
|
|
31
|
+
.describe('Content type: link (URL) or text (inline content)');
|
|
32
|
+
/**
|
|
33
|
+
* Term item with localized content and user consent status
|
|
34
|
+
*/
|
|
35
|
+
const TermItem = z
|
|
36
|
+
.object({
|
|
37
|
+
id: z.string().describe('Unique identifier for the term'),
|
|
38
|
+
required: z.boolean().describe('Whether this term is mandatory'),
|
|
39
|
+
consentMode: z
|
|
40
|
+
.enum(['explicit', 'implicit'])
|
|
41
|
+
.describe('Consent mode: explicit (checkbox required) or implicit (auto-agree)'),
|
|
42
|
+
version: z.string().describe('Version of the term'),
|
|
43
|
+
effectiveDate: z
|
|
44
|
+
.string()
|
|
45
|
+
.optional()
|
|
46
|
+
.describe('When this version became effective'),
|
|
47
|
+
title: z.string().describe('Localized title'),
|
|
48
|
+
type: TermsContentType.describe('How to interpret the content'),
|
|
49
|
+
content: z
|
|
50
|
+
.string()
|
|
51
|
+
.describe('Content value (URL if type=link, text if type=text)'),
|
|
52
|
+
userConsent: TermsUserConsent.nullable().describe('User consent status (null if not logged in)'),
|
|
53
|
+
})
|
|
54
|
+
.describe('Term item with user consent');
|
|
55
|
+
/**
|
|
56
|
+
* GET /api/terms response
|
|
57
|
+
*/
|
|
58
|
+
const TermsResponse = z
|
|
59
|
+
.object({
|
|
60
|
+
terms: z.array(TermItem).describe('List of terms'),
|
|
61
|
+
pendingTerms: z.array(z.string()).describe('Term IDs that require consent'),
|
|
62
|
+
})
|
|
63
|
+
.describe('Terms response');
|
|
64
|
+
/**
|
|
65
|
+
* Single consent item in request
|
|
66
|
+
*/
|
|
67
|
+
const ConsentItem = z.object({
|
|
68
|
+
termsId: z.string().describe('Term ID to consent to'),
|
|
69
|
+
agreed: z.boolean().describe('Whether user agrees to this term'),
|
|
70
|
+
consentType: z
|
|
71
|
+
.enum(['explicit', 'implicit'])
|
|
72
|
+
.optional()
|
|
73
|
+
.describe('How consent was obtained. Defaults to term consentMode if omitted'),
|
|
74
|
+
});
|
|
75
|
+
/**
|
|
76
|
+
* POST /api/terms/consent request body
|
|
77
|
+
*/
|
|
78
|
+
const TermsConsentRequest = z
|
|
79
|
+
.object({
|
|
80
|
+
consents: z.array(ConsentItem).min(1).describe('List of consent decisions'),
|
|
81
|
+
registrationToken: z
|
|
82
|
+
.string()
|
|
83
|
+
.uuid()
|
|
84
|
+
.optional()
|
|
85
|
+
.describe('Pending OAuth registration token. Required when completing registration after terms consent.'),
|
|
86
|
+
})
|
|
87
|
+
.describe('Terms consent request');
|
|
88
|
+
/**
|
|
89
|
+
* POST /api/terms/consent response
|
|
90
|
+
*/
|
|
91
|
+
const TermsConsentResponse = z
|
|
92
|
+
.object({
|
|
93
|
+
ok: z.literal(true),
|
|
94
|
+
recorded: z.number().int().describe('Number of consents recorded'),
|
|
95
|
+
registered: z
|
|
96
|
+
.boolean()
|
|
97
|
+
.optional()
|
|
98
|
+
.describe('True if OAuth registration was completed with this consent submission'),
|
|
99
|
+
})
|
|
100
|
+
.describe('Terms consent response');
|
|
101
|
+
export const termsSchema = {
|
|
102
|
+
TermsResponse,
|
|
103
|
+
TermsConsentRequest,
|
|
104
|
+
TermsConsentResponse,
|
|
105
|
+
TermsUserConsent,
|
|
106
|
+
TermItem,
|
|
107
|
+
ConsentItem,
|
|
108
|
+
};
|
|
109
|
+
//# sourceMappingURL=terms.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terms.js","sourceRoot":"","sources":["../../src/schemas/terms.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { EntityManager } from '@mikro-orm/core';
|
|
2
|
+
import type { TinyAuthRuntimeConfig } from '../lib/config/index.ts';
|
|
3
|
+
import type { SecurityService } from '../services/security.service.ts';
|
|
4
|
+
/**
|
|
5
|
+
* ConfigSeeder
|
|
6
|
+
*
|
|
7
|
+
* Synchronizes users, OAuth clients, and terms from config.yaml to the database.
|
|
8
|
+
* This seeder is run on every server startup to ensure config data is in DB.
|
|
9
|
+
*
|
|
10
|
+
* Key behaviors:
|
|
11
|
+
* - Uses em.upsert() for atomic INSERT ON CONFLICT operations
|
|
12
|
+
* (cluster-safe: multiple instances can run concurrently without race conditions)
|
|
13
|
+
* - Bypasses entity lifecycle hooks to prevent double-hashing of passwords
|
|
14
|
+
* - Sets managed_by='config' to distinguish from runtime-created records
|
|
15
|
+
* - Cleans up records that were removed from config
|
|
16
|
+
*/
|
|
17
|
+
/**
|
|
18
|
+
* Run config seeder with the given config
|
|
19
|
+
*/
|
|
20
|
+
export declare function seedConfig(em: EntityManager, config: TinyAuthRuntimeConfig, securityService: SecurityService): Promise<void>;
|
|
21
|
+
//# sourceMappingURL=config.seeder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.seeder.d.ts","sourceRoot":"","sources":["../../src/seeders/config.seeder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAKrD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAEvE;;;;;;;;;;;;GAYG;AAEH;;GAEG;AACH,wBAAsB,UAAU,CAC9B,EAAE,EAAE,aAAa,EACjB,MAAM,EAAE,qBAAqB,EAC7B,eAAe,EAAE,eAAe,GAC/B,OAAO,CAAC,IAAI,CAAC,CAIf"}
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
import { OAuthClientEntitySchema } from "../entities/oauth-client.entity.js";
|
|
2
|
+
import { TermsEntitySchema } from "../entities/terms.entity.js";
|
|
3
|
+
import { TermsContentEntitySchema } from "../entities/terms-content.entity.js";
|
|
4
|
+
import { UserEntity } from "../entities/user.entity.js";
|
|
5
|
+
/**
|
|
6
|
+
* ConfigSeeder
|
|
7
|
+
*
|
|
8
|
+
* Synchronizes users, OAuth clients, and terms from config.yaml to the database.
|
|
9
|
+
* This seeder is run on every server startup to ensure config data is in DB.
|
|
10
|
+
*
|
|
11
|
+
* Key behaviors:
|
|
12
|
+
* - Uses em.upsert() for atomic INSERT ON CONFLICT operations
|
|
13
|
+
* (cluster-safe: multiple instances can run concurrently without race conditions)
|
|
14
|
+
* - Bypasses entity lifecycle hooks to prevent double-hashing of passwords
|
|
15
|
+
* - Sets managed_by='config' to distinguish from runtime-created records
|
|
16
|
+
* - Cleans up records that were removed from config
|
|
17
|
+
*/
|
|
18
|
+
/**
|
|
19
|
+
* Run config seeder with the given config
|
|
20
|
+
*/
|
|
21
|
+
export async function seedConfig(em, config, securityService) {
|
|
22
|
+
await syncTerms(em, config);
|
|
23
|
+
await syncUsers(em, config, securityService);
|
|
24
|
+
await syncOAuthClients(em, config, securityService);
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Sync terms from config.yaml to database
|
|
28
|
+
* Uses em.upsert() for atomic upsert operations that are cluster-safe
|
|
29
|
+
*/
|
|
30
|
+
async function syncTerms(em, config) {
|
|
31
|
+
const now = new Date();
|
|
32
|
+
const configTerms = config.terms;
|
|
33
|
+
for (const term of configTerms) {
|
|
34
|
+
// Upsert term entity
|
|
35
|
+
await em.upsert(TermsEntitySchema, {
|
|
36
|
+
id: term.id,
|
|
37
|
+
required: term.required,
|
|
38
|
+
consentMode: term.consent_mode,
|
|
39
|
+
version: term.version,
|
|
40
|
+
managed_by: 'config',
|
|
41
|
+
created_at: now,
|
|
42
|
+
updated_at: now,
|
|
43
|
+
}, {
|
|
44
|
+
onConflictFields: ['id'],
|
|
45
|
+
onConflictAction: 'merge',
|
|
46
|
+
onConflictExcludeFields: ['id', 'created_at'],
|
|
47
|
+
});
|
|
48
|
+
// Delete existing content for this term (to handle language changes)
|
|
49
|
+
await em.nativeDelete(TermsContentEntitySchema, {
|
|
50
|
+
terms: term.id,
|
|
51
|
+
});
|
|
52
|
+
// Insert new content for each language
|
|
53
|
+
for (const lang of Object.keys(term.content)) {
|
|
54
|
+
const content = term.content[lang];
|
|
55
|
+
if (!content) {
|
|
56
|
+
continue;
|
|
57
|
+
}
|
|
58
|
+
const contentEntity = em.create(TermsContentEntitySchema, {
|
|
59
|
+
terms: term.id,
|
|
60
|
+
lang,
|
|
61
|
+
title: content.title,
|
|
62
|
+
type: content.type,
|
|
63
|
+
content: content.content,
|
|
64
|
+
});
|
|
65
|
+
em.persist(contentEntity);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
await em.flush();
|
|
69
|
+
// Remove config-managed terms that are no longer in config
|
|
70
|
+
const configTermIds = configTerms.map((term) => term.id);
|
|
71
|
+
if (configTermIds.length > 0) {
|
|
72
|
+
await em.nativeDelete(TermsEntitySchema, {
|
|
73
|
+
managed_by: 'config',
|
|
74
|
+
id: { $nin: configTermIds },
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
// If no config terms, remove all config-managed terms
|
|
79
|
+
await em.nativeDelete(TermsEntitySchema, { managed_by: 'config' });
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Sync users from config.yaml to database
|
|
84
|
+
* Uses em.upsert() for atomic upsert operations that are cluster-safe
|
|
85
|
+
*/
|
|
86
|
+
async function syncUsers(em, config, securityService) {
|
|
87
|
+
const now = new Date();
|
|
88
|
+
for (const configUser of config.users) {
|
|
89
|
+
const hashedPassword = await securityService.hashPassword(configUser.password);
|
|
90
|
+
// Use upsert for atomic INSERT ON CONFLICT DO UPDATE
|
|
91
|
+
// This is cluster-safe: concurrent instances won't cause race conditions
|
|
92
|
+
await em.upsert(UserEntity, {
|
|
93
|
+
sub: configUser.sub,
|
|
94
|
+
email: configUser.email,
|
|
95
|
+
password_hash: hashedPassword,
|
|
96
|
+
email_verified: true,
|
|
97
|
+
managed_by: 'config',
|
|
98
|
+
role: configUser.role ?? 'user',
|
|
99
|
+
created_at: now,
|
|
100
|
+
updated_at: now,
|
|
101
|
+
}, {
|
|
102
|
+
onConflictFields: ['sub'],
|
|
103
|
+
onConflictAction: 'merge',
|
|
104
|
+
// Exclude sub and created_at from merge (don't update primary key or creation time)
|
|
105
|
+
onConflictExcludeFields: ['sub', 'created_at'],
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
// Remove config-managed users that are no longer in config
|
|
109
|
+
const configUserSubs = config.users.map((user) => user.sub);
|
|
110
|
+
if (configUserSubs.length > 0) {
|
|
111
|
+
await em.nativeDelete(UserEntity, {
|
|
112
|
+
managed_by: 'config',
|
|
113
|
+
sub: { $nin: configUserSubs },
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
// If no config users, remove all config-managed users
|
|
118
|
+
await em.nativeDelete(UserEntity, { managed_by: 'config' });
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Sync OAuth clients from config.yaml to database
|
|
123
|
+
* Uses em.upsert() for atomic upsert operations that are cluster-safe
|
|
124
|
+
*/
|
|
125
|
+
async function syncOAuthClients(em, config, securityService) {
|
|
126
|
+
const now = new Date();
|
|
127
|
+
for (const client of config.clients) {
|
|
128
|
+
// Public clients (PKCE-only) don't have client_secret
|
|
129
|
+
const hashedSecret = client.client_secret
|
|
130
|
+
? await securityService.hashClientSecret(client.client_secret)
|
|
131
|
+
: null;
|
|
132
|
+
// Use upsert for atomic INSERT ON CONFLICT DO UPDATE
|
|
133
|
+
// This is cluster-safe: concurrent instances won't cause race conditions
|
|
134
|
+
await em.upsert(OAuthClientEntitySchema, {
|
|
135
|
+
id: client.id,
|
|
136
|
+
clientId: client.client_id,
|
|
137
|
+
clientSecretHash: hashedSecret,
|
|
138
|
+
name: client.name,
|
|
139
|
+
logoUri: client.logo_uri ?? null,
|
|
140
|
+
redirectUris: client.redirect_uris,
|
|
141
|
+
responseTypes: client.response_types,
|
|
142
|
+
grantTypes: client.grant_types,
|
|
143
|
+
scopes: client.scope.split(' '),
|
|
144
|
+
enabled: true,
|
|
145
|
+
managed_by: 'config',
|
|
146
|
+
created_at: now,
|
|
147
|
+
updated_at: now,
|
|
148
|
+
}, {
|
|
149
|
+
onConflictFields: ['id'],
|
|
150
|
+
onConflictAction: 'merge',
|
|
151
|
+
// Exclude id and created_at from merge (don't update primary key or creation time)
|
|
152
|
+
onConflictExcludeFields: ['id', 'created_at'],
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
// Remove config-managed clients that are no longer in config
|
|
156
|
+
const configClientIds = config.clients.map((client) => client.id);
|
|
157
|
+
if (configClientIds.length > 0) {
|
|
158
|
+
await em.nativeDelete(OAuthClientEntitySchema, {
|
|
159
|
+
managed_by: 'config',
|
|
160
|
+
id: { $nin: configClientIds },
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
else {
|
|
164
|
+
// If no config providers, remove all config-managed clients
|
|
165
|
+
await em.nativeDelete(OAuthClientEntitySchema, { managed_by: 'config' });
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
//# sourceMappingURL=config.seeder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.seeder.js","sourceRoot":"","sources":["../../src/seeders/config.seeder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import type { TinyAuthRuntimeConfig } from '../lib/config/index.ts';
|
|
2
|
+
import type { JwtService } from './jwt.service.ts';
|
|
3
|
+
import type { MikroService } from './mikro.service.ts';
|
|
4
|
+
/**
|
|
5
|
+
* Result of a cleanup operation.
|
|
6
|
+
*/
|
|
7
|
+
export interface CleanupResult {
|
|
8
|
+
/** Number of items deleted (or would be deleted in dry-run mode) */
|
|
9
|
+
deletedCount: number;
|
|
10
|
+
/** If true, the cleanup was skipped (e.g., disabled in config) */
|
|
11
|
+
skipped: boolean;
|
|
12
|
+
/** Optional message with additional details */
|
|
13
|
+
message?: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Options for cleanup operations.
|
|
17
|
+
*/
|
|
18
|
+
export interface CleanupOptions {
|
|
19
|
+
/** If true, don't actually delete anything, just report what would be deleted */
|
|
20
|
+
dryRun: boolean;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Result of a single task execution
|
|
24
|
+
*/
|
|
25
|
+
export interface TaskExecutionResult {
|
|
26
|
+
name: string;
|
|
27
|
+
description: string;
|
|
28
|
+
result: CleanupResult;
|
|
29
|
+
durationMs: number;
|
|
30
|
+
error?: Error;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Summary of all cleanup tasks execution
|
|
34
|
+
*/
|
|
35
|
+
export interface CleanupSummary {
|
|
36
|
+
tasks: TaskExecutionResult[];
|
|
37
|
+
totalDeleted: number;
|
|
38
|
+
totalSkipped: number;
|
|
39
|
+
totalFailed: number;
|
|
40
|
+
totalDurationMs: number;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Cleanup Service
|
|
44
|
+
*
|
|
45
|
+
* Centralizes all cleanup/maintenance tasks for the application.
|
|
46
|
+
* Handles cleanup of:
|
|
47
|
+
* - Revoked tokens (expired JWT revocations)
|
|
48
|
+
* - OAuth authorization codes (expired/consumed)
|
|
49
|
+
* - Email verification tokens (expired)
|
|
50
|
+
* - Password reset tokens (expired)
|
|
51
|
+
* - Deleted users (past retention period)
|
|
52
|
+
* - JWT signing keys (rotation)
|
|
53
|
+
*
|
|
54
|
+
* Can be invoked via:
|
|
55
|
+
* - CLI command: `tinyauth cleanup`
|
|
56
|
+
* - In-process scheduler adapter
|
|
57
|
+
*/
|
|
58
|
+
export declare class CleanupService {
|
|
59
|
+
private readonly config;
|
|
60
|
+
private readonly mikro;
|
|
61
|
+
private readonly jwtService;
|
|
62
|
+
constructor(config: TinyAuthRuntimeConfig, mikro: MikroService, jwtService: JwtService);
|
|
63
|
+
/**
|
|
64
|
+
* Remove expired revoked tokens from the database.
|
|
65
|
+
*
|
|
66
|
+
* Revoked tokens can be safely deleted after their original expiration time
|
|
67
|
+
* since they would be invalid anyway due to JWT expiration.
|
|
68
|
+
* The retention period allows keeping expired tokens for a while longer
|
|
69
|
+
* for debugging purposes. Default is "0" (immediate cleanup after expiry).
|
|
70
|
+
*
|
|
71
|
+
* @param options - Cleanup options (dryRun)
|
|
72
|
+
* @returns Cleanup result with deleted count and details
|
|
73
|
+
*/
|
|
74
|
+
cleanupRevokedTokens(options: CleanupOptions): Promise<CleanupResult>;
|
|
75
|
+
/**
|
|
76
|
+
* Remove expired and consumed OAuth authorization codes.
|
|
77
|
+
*
|
|
78
|
+
* Authorization codes have a short lifetime (typically 10 minutes)
|
|
79
|
+
* and should be cleaned up regularly to prevent database bloat.
|
|
80
|
+
* Also cleans up consumed codes after the configured retention period.
|
|
81
|
+
*
|
|
82
|
+
* @param options - Cleanup options (dryRun)
|
|
83
|
+
* @returns Cleanup result with deleted count and details
|
|
84
|
+
*/
|
|
85
|
+
cleanupOAuthCodes(options: CleanupOptions): Promise<CleanupResult>;
|
|
86
|
+
/**
|
|
87
|
+
* Remove expired email verification tokens.
|
|
88
|
+
*
|
|
89
|
+
* Expired tokens are no longer valid and can be safely deleted.
|
|
90
|
+
* The retention period allows keeping expired tokens for a while longer
|
|
91
|
+
* for debugging purposes. Default is "0" (immediate cleanup after expiry).
|
|
92
|
+
*
|
|
93
|
+
* @param options - Cleanup options (dryRun)
|
|
94
|
+
* @returns Cleanup result with deleted count and details
|
|
95
|
+
*/
|
|
96
|
+
cleanupEmailVerifications(options: CleanupOptions): Promise<CleanupResult>;
|
|
97
|
+
/**
|
|
98
|
+
* Remove expired password reset tokens.
|
|
99
|
+
*
|
|
100
|
+
* Expired tokens are no longer valid and can be safely deleted.
|
|
101
|
+
* The retention period allows keeping expired tokens for a while longer
|
|
102
|
+
* for debugging purposes. Default is "0" (immediate cleanup after expiry).
|
|
103
|
+
*
|
|
104
|
+
* @param options - Cleanup options (dryRun)
|
|
105
|
+
* @returns Cleanup result with deleted count and details
|
|
106
|
+
*/
|
|
107
|
+
cleanupPasswordResets(options: CleanupOptions): Promise<CleanupResult>;
|
|
108
|
+
/**
|
|
109
|
+
* Permanently delete users marked for deletion whose retention period
|
|
110
|
+
* has expired.
|
|
111
|
+
*
|
|
112
|
+
* This is a destructive operation that:
|
|
113
|
+
* 1. Deletes all user-related data (OAuth accounts, TOTP, passkeys, consents)
|
|
114
|
+
* 2. Removes the user record permanently
|
|
115
|
+
*
|
|
116
|
+
* The retention period is configured in account_deletion.retention
|
|
117
|
+
* (e.g., "30d", "90d").
|
|
118
|
+
*
|
|
119
|
+
* @param options - Cleanup options (dryRun)
|
|
120
|
+
* @returns Cleanup result with deleted count and details
|
|
121
|
+
*/
|
|
122
|
+
cleanupDeletedUsers(options: CleanupOptions): Promise<CleanupResult>;
|
|
123
|
+
/**
|
|
124
|
+
* Remove expired pending OAuth registration records.
|
|
125
|
+
*
|
|
126
|
+
* When a new OAuth user needs to accept terms before completing
|
|
127
|
+
* registration, the OAuth tokens and user info are stored in the
|
|
128
|
+
* database. These records expire after 1 hour and can be safely
|
|
129
|
+
* cleaned up afterwards.
|
|
130
|
+
*
|
|
131
|
+
* @param options - Cleanup options (dryRun)
|
|
132
|
+
* @returns Cleanup result with deleted count and details
|
|
133
|
+
*/
|
|
134
|
+
cleanupPendingOAuthRegistrations(options: CleanupOptions): Promise<CleanupResult>;
|
|
135
|
+
/**
|
|
136
|
+
* Rotate expired JWT signing keys and retire old keys.
|
|
137
|
+
*
|
|
138
|
+
* This method checks for expired active keys and performs rotation if needed.
|
|
139
|
+
* Also retires old keys that have passed the overlap period.
|
|
140
|
+
*
|
|
141
|
+
* Key lifecycle:
|
|
142
|
+
* 1. next: Generated, waiting to be activated
|
|
143
|
+
* 2. active: Currently used for signing tokens
|
|
144
|
+
* 3. previous: Recently rotated, still valid for verification
|
|
145
|
+
* 4. retired: No longer valid for any operation
|
|
146
|
+
*
|
|
147
|
+
* @param options - Cleanup options (dryRun)
|
|
148
|
+
* @returns Cleanup result with rotation details
|
|
149
|
+
*/
|
|
150
|
+
rotateExpiredJwtKeys(options: CleanupOptions): Promise<CleanupResult>;
|
|
151
|
+
/**
|
|
152
|
+
* Build cleanup tasks
|
|
153
|
+
*/
|
|
154
|
+
private buildCleanupTasks;
|
|
155
|
+
/**
|
|
156
|
+
* Run all cleanup tasks.
|
|
157
|
+
*
|
|
158
|
+
* @param options - Cleanup options (dryRun, verbose)
|
|
159
|
+
* @returns Summary of all task executions
|
|
160
|
+
*/
|
|
161
|
+
runAll(options: {
|
|
162
|
+
dryRun: boolean;
|
|
163
|
+
verbose?: boolean;
|
|
164
|
+
}): Promise<CleanupSummary>;
|
|
165
|
+
}
|
|
166
|
+
//# sourceMappingURL=cleanup.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cleanup.service.d.ts","sourceRoot":"","sources":["../../src/services/cleanup.service.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAOpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,oEAAoE;IACpE,YAAY,EAAE,MAAM,CAAC;IACrB,kEAAkE;IAClE,OAAO,EAAE,OAAO,CAAC;IACjB,+CAA+C;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,iFAAiF;IACjF,MAAM,EAAE,OAAO,CAAC;CACjB;AAcD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,aAAa,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,mBAAmB,EAAE,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwB;IAC/C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;gBAEtC,MAAM,EAAE,qBAAqB,EAC7B,KAAK,EAAE,YAAY,EACnB,UAAU,EAAE,UAAU;IAWxB;;;;;;;;;;OAUG;IACG,oBAAoB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IAsD3E;;;;;;;;;OASG;IACG,iBAAiB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IA+DxE;;;;;;;;;OASG;IACG,yBAAyB,CAC7B,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,aAAa,CAAC;IAyDzB;;;;;;;;;OASG;IACG,qBAAqB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IAuD5E;;;;;;;;;;;;;OAaG;IACG,mBAAmB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IAiF1E;;;;;;;;;;OAUG;IACG,gCAAgC,CACpC,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,aAAa,CAAC;IAuDzB;;;;;;;;;;;;;;OAcG;IACG,oBAAoB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IAiH3E;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAwCzB;;;;;OAKG;IACG,MAAM,CAAC,OAAO,EAAE;QACpB,MAAM,EAAE,OAAO,CAAC;QAChB,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,GAAG,OAAO,CAAC,cAAc,CAAC;CAmD5B"}
|