@portaidentity/server 1.7.2 → 1.8.0
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/CHANGELOG.md +10 -0
- package/dist/applications/index.d.ts +2 -2
- package/dist/applications/index.d.ts.map +1 -1
- package/dist/applications/index.js +2 -2
- package/dist/applications/index.js.map +1 -1
- package/dist/applications/repository.d.ts +49 -4
- package/dist/applications/repository.d.ts.map +1 -1
- package/dist/applications/repository.js +148 -10
- package/dist/applications/repository.js.map +1 -1
- package/dist/applications/service.d.ts +35 -17
- package/dist/applications/service.d.ts.map +1 -1
- package/dist/applications/service.js +144 -35
- package/dist/applications/service.js.map +1 -1
- package/dist/applications/types.d.ts +1 -1
- package/dist/applications/types.d.ts.map +1 -1
- package/dist/applications/validators.d.ts +14 -0
- package/dist/applications/validators.d.ts.map +1 -0
- package/dist/applications/validators.js +14 -0
- package/dist/applications/validators.js.map +1 -0
- package/dist/auth/effective-branding.d.ts +35 -0
- package/dist/auth/effective-branding.d.ts.map +1 -0
- package/dist/auth/effective-branding.js +81 -0
- package/dist/auth/effective-branding.js.map +1 -0
- package/dist/auth/email-service.d.ts +3 -8
- package/dist/auth/email-service.d.ts.map +1 -1
- package/dist/auth/email-service.js +22 -30
- package/dist/auth/email-service.js.map +1 -1
- package/dist/auth/i18n.d.ts +5 -0
- package/dist/auth/i18n.d.ts.map +1 -1
- package/dist/auth/i18n.js +6 -5
- package/dist/auth/i18n.js.map +1 -1
- package/dist/auth/rate-limiter.d.ts +6 -10
- package/dist/auth/rate-limiter.d.ts.map +1 -1
- package/dist/auth/rate-limiter.js +12 -16
- package/dist/auth/rate-limiter.js.map +1 -1
- package/dist/auth/recovery-job-processor.d.ts.map +1 -1
- package/dist/auth/recovery-job-processor.js +1 -1
- package/dist/auth/recovery-job-processor.js.map +1 -1
- package/dist/auth/template-engine.d.ts +3 -1
- package/dist/auth/template-engine.d.ts.map +1 -1
- package/dist/auth/template-engine.js +1 -1
- package/dist/auth/template-engine.js.map +1 -1
- package/dist/cli/commands/init.d.ts +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +12 -12
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/error-handler.d.ts +3 -2
- package/dist/cli/error-handler.d.ts.map +1 -1
- package/dist/cli/error-handler.js +9 -2
- package/dist/cli/error-handler.js.map +1 -1
- package/dist/cli/index.d.ts +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/clients/index.d.ts +1 -1
- package/dist/clients/index.js +1 -1
- package/dist/clients/repository.d.ts +18 -0
- package/dist/clients/repository.d.ts.map +1 -1
- package/dist/clients/repository.js +36 -0
- package/dist/clients/repository.js.map +1 -1
- package/dist/clients/secret-repository.d.ts +35 -8
- package/dist/clients/secret-repository.d.ts.map +1 -1
- package/dist/clients/secret-repository.js +69 -16
- package/dist/clients/secret-repository.js.map +1 -1
- package/dist/clients/secret-service.d.ts +5 -9
- package/dist/clients/secret-service.d.ts.map +1 -1
- package/dist/clients/secret-service.js +13 -22
- package/dist/clients/secret-service.js.map +1 -1
- package/dist/clients/service.d.ts +10 -13
- package/dist/clients/service.d.ts.map +1 -1
- package/dist/clients/service.js +112 -40
- package/dist/clients/service.js.map +1 -1
- package/dist/clients/types.d.ts +1 -1
- package/dist/clients/types.d.ts.map +1 -1
- package/dist/clients/validators.d.ts +83 -1
- package/dist/clients/validators.d.ts.map +1 -1
- package/dist/clients/validators.js +110 -0
- package/dist/clients/validators.js.map +1 -1
- package/dist/config/index.d.ts +1 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +1 -0
- package/dist/config/index.js.map +1 -1
- package/dist/config/schema.d.ts +1 -0
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +23 -1
- package/dist/config/schema.js.map +1 -1
- package/dist/custom-claims/repository.d.ts +14 -9
- package/dist/custom-claims/repository.d.ts.map +1 -1
- package/dist/custom-claims/repository.js +38 -11
- package/dist/custom-claims/repository.js.map +1 -1
- package/dist/custom-claims/service.d.ts +11 -6
- package/dist/custom-claims/service.d.ts.map +1 -1
- package/dist/custom-claims/service.js +43 -20
- package/dist/custom-claims/service.js.map +1 -1
- package/dist/index.js +8 -2
- package/dist/index.js.map +1 -1
- package/dist/lib/admin-permissions.d.ts +12 -7
- package/dist/lib/admin-permissions.d.ts.map +1 -1
- package/dist/lib/admin-permissions.js +26 -16
- package/dist/lib/admin-permissions.js.map +1 -1
- package/dist/lib/audit-log.d.ts +2 -2
- package/dist/lib/audit-log.d.ts.map +1 -1
- package/dist/lib/audit-log.js +1 -1
- package/dist/lib/audit-log.js.map +1 -1
- package/dist/lib/authority-revocation.d.ts +18 -0
- package/dist/lib/authority-revocation.d.ts.map +1 -0
- package/dist/lib/authority-revocation.js +37 -0
- package/dist/lib/authority-revocation.js.map +1 -0
- package/dist/lib/branding-assets.d.ts +35 -5
- package/dist/lib/branding-assets.d.ts.map +1 -1
- package/dist/lib/branding-assets.js +33 -26
- package/dist/lib/branding-assets.js.map +1 -1
- package/dist/lib/bulk-operations.d.ts +1 -1
- package/dist/lib/bulk-operations.d.ts.map +1 -1
- package/dist/lib/bulk-operations.js +1 -13
- package/dist/lib/bulk-operations.js.map +1 -1
- package/dist/lib/cursor.d.ts +2 -0
- package/dist/lib/cursor.d.ts.map +1 -1
- package/dist/lib/cursor.js +2 -7
- package/dist/lib/cursor.js.map +1 -1
- package/dist/lib/database.d.ts.map +1 -1
- package/dist/lib/database.js +5 -0
- package/dist/lib/database.js.map +1 -1
- package/dist/lib/deletion-cleanup.d.ts +43 -0
- package/dist/lib/deletion-cleanup.d.ts.map +1 -0
- package/dist/lib/deletion-cleanup.js +207 -0
- package/dist/lib/deletion-cleanup.js.map +1 -0
- package/dist/lib/image-validator.d.ts +3 -1
- package/dist/lib/image-validator.d.ts.map +1 -1
- package/dist/lib/image-validator.js +32 -19
- package/dist/lib/image-validator.js.map +1 -1
- package/dist/lib/log-format.d.ts +20 -0
- package/dist/lib/log-format.d.ts.map +1 -0
- package/dist/lib/log-format.js +22 -0
- package/dist/lib/log-format.js.map +1 -0
- package/dist/lib/logger.d.ts +3 -1
- package/dist/lib/logger.d.ts.map +1 -1
- package/dist/lib/logger.js +21 -4
- package/dist/lib/logger.js.map +1 -1
- package/dist/lib/redis.d.ts.map +1 -1
- package/dist/lib/redis.js +3 -0
- package/dist/lib/redis.js.map +1 -1
- package/dist/lib/session-tracking.d.ts +73 -11
- package/dist/lib/session-tracking.d.ts.map +1 -1
- package/dist/lib/session-tracking.js +76 -32
- package/dist/lib/session-tracking.js.map +1 -1
- package/dist/lib/signing-key-crypto.d.ts.map +1 -1
- package/dist/lib/signing-key-crypto.js +4 -5
- package/dist/lib/signing-key-crypto.js.map +1 -1
- package/dist/lib/signing-keys.d.ts +3 -4
- package/dist/lib/signing-keys.d.ts.map +1 -1
- package/dist/lib/signing-keys.js +66 -41
- package/dist/lib/signing-keys.js.map +1 -1
- package/dist/lib/super-admin-protection.d.ts +5 -5
- package/dist/lib/super-admin-protection.d.ts.map +1 -1
- package/dist/lib/super-admin-protection.js +6 -9
- package/dist/lib/super-admin-protection.js.map +1 -1
- package/dist/lib/system-config-catalog.d.ts +268 -0
- package/dist/lib/system-config-catalog.d.ts.map +1 -0
- package/dist/lib/system-config-catalog.js +90 -0
- package/dist/lib/system-config-catalog.js.map +1 -0
- package/dist/lib/system-config.d.ts +30 -33
- package/dist/lib/system-config.d.ts.map +1 -1
- package/dist/lib/system-config.js +78 -93
- package/dist/lib/system-config.js.map +1 -1
- package/dist/lib/with-timeout.d.ts +32 -0
- package/dist/lib/with-timeout.d.ts.map +1 -0
- package/dist/lib/with-timeout.js +45 -0
- package/dist/lib/with-timeout.js.map +1 -0
- package/dist/middleware/admin-auth.d.ts +6 -5
- package/dist/middleware/admin-auth.d.ts.map +1 -1
- package/dist/middleware/admin-auth.js +30 -20
- package/dist/middleware/admin-auth.js.map +1 -1
- package/dist/middleware/admin-cors.d.ts +3 -3
- package/dist/middleware/admin-cors.js +3 -3
- package/dist/middleware/admin-mutation-audit.d.ts +3 -2
- package/dist/middleware/admin-mutation-audit.d.ts.map +1 -1
- package/dist/middleware/admin-mutation-audit.js +12 -5
- package/dist/middleware/admin-mutation-audit.js.map +1 -1
- package/dist/middleware/admin-rate-limiter.d.ts +7 -8
- package/dist/middleware/admin-rate-limiter.d.ts.map +1 -1
- package/dist/middleware/admin-rate-limiter.js +7 -8
- package/dist/middleware/admin-rate-limiter.js.map +1 -1
- package/dist/middleware/client-secret-hash.d.ts +10 -29
- package/dist/middleware/client-secret-hash.d.ts.map +1 -1
- package/dist/middleware/client-secret-hash.js +161 -59
- package/dist/middleware/client-secret-hash.js.map +1 -1
- package/dist/middleware/health.d.ts +17 -0
- package/dist/middleware/health.d.ts.map +1 -1
- package/dist/middleware/health.js +25 -21
- package/dist/middleware/health.js.map +1 -1
- package/dist/middleware/ready.d.ts.map +1 -1
- package/dist/middleware/ready.js +1 -12
- package/dist/middleware/ready.js.map +1 -1
- package/dist/middleware/require-existing-organization.d.ts +18 -0
- package/dist/middleware/require-existing-organization.d.ts.map +1 -0
- package/dist/middleware/require-existing-organization.js +38 -0
- package/dist/middleware/require-existing-organization.js.map +1 -0
- package/dist/middleware/require-permission.d.ts.map +1 -1
- package/dist/middleware/require-permission.js +35 -1
- package/dist/middleware/require-permission.js.map +1 -1
- package/dist/middleware/require-user-organization.d.ts.map +1 -1
- package/dist/middleware/require-user-organization.js +4 -2
- package/dist/middleware/require-user-organization.js.map +1 -1
- package/dist/middleware/security-headers.d.ts +18 -0
- package/dist/middleware/security-headers.d.ts.map +1 -1
- package/dist/middleware/security-headers.js +32 -1
- package/dist/middleware/security-headers.js.map +1 -1
- package/dist/middleware/tenant-resolver.d.ts +1 -2
- package/dist/middleware/tenant-resolver.d.ts.map +1 -1
- package/dist/middleware/tenant-resolver.js +1 -5
- package/dist/middleware/tenant-resolver.js.map +1 -1
- package/dist/middleware/token-rate-limiter.d.ts +37 -16
- package/dist/middleware/token-rate-limiter.d.ts.map +1 -1
- package/dist/middleware/token-rate-limiter.js +126 -54
- package/dist/middleware/token-rate-limiter.js.map +1 -1
- package/dist/oidc/account-finder.d.ts +5 -5
- package/dist/oidc/account-finder.d.ts.map +1 -1
- package/dist/oidc/account-finder.js +31 -23
- package/dist/oidc/account-finder.js.map +1 -1
- package/dist/oidc/adapter-factory.d.ts.map +1 -1
- package/dist/oidc/adapter-factory.js +83 -3
- package/dist/oidc/adapter-factory.js.map +1 -1
- package/dist/oidc/configuration.d.ts +3 -8
- package/dist/oidc/configuration.d.ts.map +1 -1
- package/dist/oidc/configuration.js +64 -50
- package/dist/oidc/configuration.js.map +1 -1
- package/dist/oidc/provider.d.ts.map +1 -1
- package/dist/oidc/provider.js +7 -0
- package/dist/oidc/provider.js.map +1 -1
- package/dist/oidc/redis-adapter.d.ts +2 -3
- package/dist/oidc/redis-adapter.d.ts.map +1 -1
- package/dist/oidc/redis-adapter.js +54 -46
- package/dist/oidc/redis-adapter.js.map +1 -1
- package/dist/organizations/branding-url.d.ts +17 -0
- package/dist/organizations/branding-url.d.ts.map +1 -0
- package/dist/organizations/branding-url.js +38 -0
- package/dist/organizations/branding-url.js.map +1 -0
- package/dist/organizations/index.d.ts +2 -2
- package/dist/organizations/index.d.ts.map +1 -1
- package/dist/organizations/index.js +1 -1
- package/dist/organizations/index.js.map +1 -1
- package/dist/organizations/repository.d.ts +22 -32
- package/dist/organizations/repository.d.ts.map +1 -1
- package/dist/organizations/repository.js +64 -45
- package/dist/organizations/repository.js.map +1 -1
- package/dist/organizations/service.d.ts +14 -46
- package/dist/organizations/service.d.ts.map +1 -1
- package/dist/organizations/service.js +60 -112
- package/dist/organizations/service.js.map +1 -1
- package/dist/organizations/types.d.ts +1 -15
- package/dist/organizations/types.d.ts.map +1 -1
- package/dist/organizations/validators.d.ts +41 -0
- package/dist/organizations/validators.d.ts.map +1 -0
- package/dist/organizations/validators.js +48 -0
- package/dist/organizations/validators.js.map +1 -0
- package/dist/portability/apply.d.ts +15 -0
- package/dist/portability/apply.d.ts.map +1 -0
- package/dist/portability/apply.js +274 -0
- package/dist/portability/apply.js.map +1 -0
- package/dist/portability/authorization.d.ts +30 -0
- package/dist/portability/authorization.d.ts.map +1 -0
- package/dist/portability/authorization.js +130 -0
- package/dist/portability/authorization.js.map +1 -0
- package/dist/portability/cleanup.d.ts +29 -0
- package/dist/portability/cleanup.d.ts.map +1 -0
- package/dist/portability/cleanup.js +167 -0
- package/dist/portability/cleanup.js.map +1 -0
- package/dist/portability/export.d.ts +18 -0
- package/dist/portability/export.d.ts.map +1 -0
- package/dist/portability/export.js +125 -0
- package/dist/portability/export.js.map +1 -0
- package/dist/portability/import-repository.d.ts +204 -0
- package/dist/portability/import-repository.d.ts.map +1 -0
- package/dist/portability/import-repository.js +347 -0
- package/dist/portability/import-repository.js.map +1 -0
- package/dist/portability/import-user-client-writers.d.ts +40 -0
- package/dist/portability/import-user-client-writers.d.ts.map +1 -0
- package/dist/portability/import-user-client-writers.js +168 -0
- package/dist/portability/import-user-client-writers.js.map +1 -0
- package/dist/portability/index.d.ts +8 -0
- package/dist/portability/index.d.ts.map +1 -0
- package/dist/portability/index.js +8 -0
- package/dist/portability/index.js.map +1 -0
- package/dist/portability/plan-support.d.ts +137 -0
- package/dist/portability/plan-support.d.ts.map +1 -0
- package/dist/portability/plan-support.js +336 -0
- package/dist/portability/plan-support.js.map +1 -0
- package/dist/portability/plan.d.ts +34 -0
- package/dist/portability/plan.d.ts.map +1 -0
- package/dist/portability/plan.js +450 -0
- package/dist/portability/plan.js.map +1 -0
- package/dist/portability/repository.d.ts +95 -0
- package/dist/portability/repository.d.ts.map +1 -0
- package/dist/portability/repository.js +388 -0
- package/dist/portability/repository.js.map +1 -0
- package/dist/portability/schema.d.ts +589 -0
- package/dist/portability/schema.d.ts.map +1 -0
- package/dist/portability/schema.js +458 -0
- package/dist/portability/schema.js.map +1 -0
- package/dist/portability/types.d.ts +381 -0
- package/dist/portability/types.d.ts.map +1 -0
- package/dist/portability/types.js +19 -0
- package/dist/portability/types.js.map +1 -0
- package/dist/rbac/errors.d.ts +4 -0
- package/dist/rbac/errors.d.ts.map +1 -1
- package/dist/rbac/errors.js +7 -0
- package/dist/rbac/errors.js.map +1 -1
- package/dist/rbac/index.d.ts +3 -3
- package/dist/rbac/index.d.ts.map +1 -1
- package/dist/rbac/index.js +3 -3
- package/dist/rbac/index.js.map +1 -1
- package/dist/rbac/mapping-repository.d.ts +84 -9
- package/dist/rbac/mapping-repository.d.ts.map +1 -1
- package/dist/rbac/mapping-repository.js +222 -55
- package/dist/rbac/mapping-repository.js.map +1 -1
- package/dist/rbac/permission-repository.d.ts +36 -19
- package/dist/rbac/permission-repository.d.ts.map +1 -1
- package/dist/rbac/permission-repository.js +93 -35
- package/dist/rbac/permission-repository.js.map +1 -1
- package/dist/rbac/permission-service.d.ts +18 -19
- package/dist/rbac/permission-service.d.ts.map +1 -1
- package/dist/rbac/permission-service.js +100 -57
- package/dist/rbac/permission-service.js.map +1 -1
- package/dist/rbac/role-repository.d.ts +29 -24
- package/dist/rbac/role-repository.d.ts.map +1 -1
- package/dist/rbac/role-repository.js +66 -43
- package/dist/rbac/role-repository.js.map +1 -1
- package/dist/rbac/role-service.d.ts +35 -32
- package/dist/rbac/role-service.d.ts.map +1 -1
- package/dist/rbac/role-service.js +210 -96
- package/dist/rbac/role-service.js.map +1 -1
- package/dist/rbac/slugs.d.ts +16 -27
- package/dist/rbac/slugs.d.ts.map +1 -1
- package/dist/rbac/slugs.js +36 -59
- package/dist/rbac/slugs.js.map +1 -1
- package/dist/rbac/types.d.ts +2 -4
- package/dist/rbac/types.d.ts.map +1 -1
- package/dist/rbac/types.js.map +1 -1
- package/dist/rbac/user-role-service.d.ts +23 -24
- package/dist/rbac/user-role-service.d.ts.map +1 -1
- package/dist/rbac/user-role-service.js +117 -61
- package/dist/rbac/user-role-service.js.map +1 -1
- package/dist/routes/applications.d.ts +4 -2
- package/dist/routes/applications.d.ts.map +1 -1
- package/dist/routes/applications.js +57 -19
- package/dist/routes/applications.js.map +1 -1
- package/dist/routes/audit.js +1 -1
- package/dist/routes/audit.js.map +1 -1
- package/dist/routes/branding.d.ts +3 -3
- package/dist/routes/branding.d.ts.map +1 -1
- package/dist/routes/branding.js +44 -16
- package/dist/routes/branding.js.map +1 -1
- package/dist/routes/bulk.d.ts +0 -5
- package/dist/routes/bulk.d.ts.map +1 -1
- package/dist/routes/bulk.js +3 -5
- package/dist/routes/bulk.js.map +1 -1
- package/dist/routes/clients.d.ts +4 -4
- package/dist/routes/clients.d.ts.map +1 -1
- package/dist/routes/clients.js +111 -52
- package/dist/routes/clients.js.map +1 -1
- package/dist/routes/config.d.ts +17 -12
- package/dist/routes/config.d.ts.map +1 -1
- package/dist/routes/config.js +165 -64
- package/dist/routes/config.js.map +1 -1
- package/dist/routes/custom-claims.d.ts.map +1 -1
- package/dist/routes/custom-claims.js +8 -2
- package/dist/routes/custom-claims.js.map +1 -1
- package/dist/routes/exports.d.ts +2 -1
- package/dist/routes/exports.d.ts.map +1 -1
- package/dist/routes/exports.js +57 -1
- package/dist/routes/exports.js.map +1 -1
- package/dist/routes/imports.d.ts +2 -2
- package/dist/routes/imports.d.ts.map +1 -1
- package/dist/routes/imports.js +95 -40
- package/dist/routes/imports.js.map +1 -1
- package/dist/routes/interactions.d.ts.map +1 -1
- package/dist/routes/interactions.js +16 -34
- package/dist/routes/interactions.js.map +1 -1
- package/dist/routes/invitation.d.ts.map +1 -1
- package/dist/routes/invitation.js +10 -23
- package/dist/routes/invitation.js.map +1 -1
- package/dist/routes/keys.d.ts.map +1 -1
- package/dist/routes/keys.js +26 -13
- package/dist/routes/keys.js.map +1 -1
- package/dist/routes/magic-link.d.ts.map +1 -1
- package/dist/routes/magic-link.js +5 -17
- package/dist/routes/magic-link.js.map +1 -1
- package/dist/routes/organizations.d.ts +1 -2
- package/dist/routes/organizations.d.ts.map +1 -1
- package/dist/routes/organizations.js +43 -104
- package/dist/routes/organizations.js.map +1 -1
- package/dist/routes/password-reset.d.ts.map +1 -1
- package/dist/routes/password-reset.js +13 -35
- package/dist/routes/password-reset.js.map +1 -1
- package/dist/routes/permissions.d.ts +1 -1
- package/dist/routes/permissions.d.ts.map +1 -1
- package/dist/routes/permissions.js +58 -17
- package/dist/routes/permissions.js.map +1 -1
- package/dist/routes/public-branding.d.ts +16 -0
- package/dist/routes/public-branding.d.ts.map +1 -0
- package/dist/routes/public-branding.js +52 -0
- package/dist/routes/public-branding.js.map +1 -0
- package/dist/routes/roles.d.ts +1 -1
- package/dist/routes/roles.d.ts.map +1 -1
- package/dist/routes/roles.js +63 -21
- package/dist/routes/roles.js.map +1 -1
- package/dist/routes/sessions.d.ts.map +1 -1
- package/dist/routes/sessions.js +23 -12
- package/dist/routes/sessions.js.map +1 -1
- package/dist/routes/two-factor.d.ts.map +1 -1
- package/dist/routes/two-factor.js +91 -38
- package/dist/routes/two-factor.js.map +1 -1
- package/dist/routes/user-roles.d.ts.map +1 -1
- package/dist/routes/user-roles.js +56 -9
- package/dist/routes/user-roles.js.map +1 -1
- package/dist/routes/users.d.ts +4 -8
- package/dist/routes/users.d.ts.map +1 -1
- package/dist/routes/users.js +108 -265
- package/dist/routes/users.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +53 -37
- package/dist/server.js.map +1 -1
- package/dist/two-factor/errors.d.ts +9 -0
- package/dist/two-factor/errors.d.ts.map +1 -1
- package/dist/two-factor/errors.js +12 -0
- package/dist/two-factor/errors.js.map +1 -1
- package/dist/two-factor/index.d.ts +5 -4
- package/dist/two-factor/index.d.ts.map +1 -1
- package/dist/two-factor/index.js +4 -4
- package/dist/two-factor/index.js.map +1 -1
- package/dist/two-factor/repository.d.ts +17 -6
- package/dist/two-factor/repository.d.ts.map +1 -1
- package/dist/two-factor/repository.js +37 -9
- package/dist/two-factor/repository.js.map +1 -1
- package/dist/two-factor/service.d.ts.map +1 -1
- package/dist/two-factor/service.js +26 -19
- package/dist/two-factor/service.js.map +1 -1
- package/dist/two-factor/totp.d.ts +13 -2
- package/dist/two-factor/totp.d.ts.map +1 -1
- package/dist/two-factor/totp.js +20 -7
- package/dist/two-factor/totp.js.map +1 -1
- package/dist/two-factor/types.d.ts +3 -0
- package/dist/two-factor/types.d.ts.map +1 -1
- package/dist/two-factor/types.js +5 -0
- package/dist/two-factor/types.js.map +1 -1
- package/dist/users/gdpr.d.ts +2 -40
- package/dist/users/gdpr.d.ts.map +1 -1
- package/dist/users/gdpr.js +3 -110
- package/dist/users/gdpr.js.map +1 -1
- package/dist/users/index.d.ts +5 -4
- package/dist/users/index.d.ts.map +1 -1
- package/dist/users/index.js +5 -4
- package/dist/users/index.js.map +1 -1
- package/dist/users/repository.d.ts +49 -3
- package/dist/users/repository.d.ts.map +1 -1
- package/dist/users/repository.js +169 -18
- package/dist/users/repository.js.map +1 -1
- package/dist/users/service.d.ts +19 -51
- package/dist/users/service.d.ts.map +1 -1
- package/dist/users/service.js +72 -122
- package/dist/users/service.js.map +1 -1
- package/dist/users/types.d.ts +4 -5
- package/dist/users/types.d.ts.map +1 -1
- package/dist/users/types.js.map +1 -1
- package/dist/users/validators.d.ts +28 -0
- package/dist/users/validators.d.ts.map +1 -0
- package/dist/users/validators.js +25 -0
- package/dist/users/validators.js.map +1 -0
- package/locales/default/en/errors.json +2 -1
- package/migrations/024_application_client_correction.sql +39 -0
- package/migrations/025_record_deletion_lifecycle.sql +26 -0
- package/migrations/026_simplify_user_lifecycle.sql +33 -0
- package/migrations/027_branding_asset_size_limits.sql +19 -0
- package/migrations/028_totp_replay_protection.sql +17 -0
- package/migrations/029_public_session_identifiers.sql +16 -0
- package/migrations/030_global_configuration_catalog.sql +39 -0
- package/migrations/031_monotonic_updated_at.sql +28 -0
- package/package.json +2 -2
- package/dist/lib/data-import-plan.d.ts +0 -50
- package/dist/lib/data-import-plan.d.ts.map +0 -1
- package/dist/lib/data-import-plan.js +0 -235
- package/dist/lib/data-import-plan.js.map +0 -1
- package/dist/lib/data-import.d.ts +0 -276
- package/dist/lib/data-import.d.ts.map +0 -1
- package/dist/lib/data-import.js +0 -1694
- package/dist/lib/data-import.js.map +0 -1
package/dist/users/service.js
CHANGED
|
@@ -14,18 +14,18 @@
|
|
|
14
14
|
*
|
|
15
15
|
* Status lifecycle rules:
|
|
16
16
|
* - deactivate: active → inactive
|
|
17
|
-
* -
|
|
18
|
-
* -
|
|
19
|
-
* - unsuspend: suspended → active
|
|
20
|
-
* - lock: active → locked (with reason and timestamp)
|
|
21
|
-
* - unlock: locked → active (clears reason and timestamp)
|
|
17
|
+
* - activate: inactive → active
|
|
18
|
+
* - automatic lockout: active → locked → active after the configured cooldown
|
|
22
19
|
*/
|
|
23
20
|
import { writeAuditLog } from '../lib/audit-log.js';
|
|
24
21
|
import { getSystemConfigNumber } from '../lib/system-config.js';
|
|
25
22
|
import { cacheUser, getCachedUserById, invalidateUserCache } from './cache.js';
|
|
26
23
|
import { UserNotFoundError, UserValidationError } from './errors.js';
|
|
27
24
|
import { ensureDummyPasswordHash, hashPassword, validatePassword, verifyPassword, } from './password.js';
|
|
28
|
-
import { emailExists, getPasswordHash, incrementFailedLoginCount, insertUser, findUserByEmail as repoFindByEmail, findUserById as repoFindById, listUsers as repoList, listUsersCursor as repoListCursor, updateUser as repoUpdate, resetFailedLoginCount, recordEligiblePasswordFailure, unlockEligiblePasswordAccount, updateLoginStats, } from './repository.js';
|
|
25
|
+
import { emailExists, getPasswordHash, incrementFailedLoginCount, insertUser, findUserByEmail as repoFindByEmail, findUserById as repoFindById, listUsers as repoList, listUsersCursor as repoListCursor, updateUser as repoUpdate, resetFailedLoginCount, recordEligiblePasswordFailure, unlockEligiblePasswordAccount, updateLoginStats, deleteUserCapture, deleteCapturedUser, } from './repository.js';
|
|
26
|
+
import { getDatabaseTransactionClient } from '../lib/database.js';
|
|
27
|
+
import { writeAuditLogInTransaction } from '../lib/audit-log.js';
|
|
28
|
+
import { registerDeletionCleanup } from '../lib/deletion-cleanup.js';
|
|
29
29
|
/** Fixed UUID that can never identify a persisted account. */
|
|
30
30
|
const NON_ACCOUNT_USER_ID = '00000000-0000-0000-0000-000000000000';
|
|
31
31
|
// ---------------------------------------------------------------------------
|
|
@@ -288,64 +288,17 @@ export async function deactivateUser(id, actorId) {
|
|
|
288
288
|
});
|
|
289
289
|
}
|
|
290
290
|
/**
|
|
291
|
-
*
|
|
291
|
+
* Activate a user (inactive → active).
|
|
292
292
|
*
|
|
293
293
|
* @param id - User UUID
|
|
294
294
|
* @param actorId - UUID of the user performing the action
|
|
295
295
|
* @throws UserNotFoundError if not found
|
|
296
296
|
* @throws UserValidationError if not currently inactive
|
|
297
297
|
*/
|
|
298
|
-
export async function
|
|
298
|
+
export async function activateUser(id, actorId) {
|
|
299
299
|
const user = await loadUserForStatusChange(id);
|
|
300
300
|
if (user.status !== 'inactive') {
|
|
301
|
-
throw new UserValidationError(`Cannot
|
|
302
|
-
}
|
|
303
|
-
await repoUpdate(id, { status: 'active' });
|
|
304
|
-
await invalidateUserCache(id);
|
|
305
|
-
await writeAuditLog({
|
|
306
|
-
organizationId: user.organizationId,
|
|
307
|
-
actorId,
|
|
308
|
-
eventType: 'user.reactivated',
|
|
309
|
-
eventCategory: 'admin',
|
|
310
|
-
metadata: { userId: id },
|
|
311
|
-
});
|
|
312
|
-
}
|
|
313
|
-
/**
|
|
314
|
-
* Suspend a user (active → suspended).
|
|
315
|
-
*
|
|
316
|
-
* @param id - User UUID
|
|
317
|
-
* @param reason - Optional reason for suspension
|
|
318
|
-
* @param actorId - UUID of the user performing the action
|
|
319
|
-
* @throws UserNotFoundError if not found
|
|
320
|
-
* @throws UserValidationError if not currently active
|
|
321
|
-
*/
|
|
322
|
-
export async function suspendUser(id, reason, actorId) {
|
|
323
|
-
const user = await loadUserForStatusChange(id);
|
|
324
|
-
if (user.status !== 'active') {
|
|
325
|
-
throw new UserValidationError(`Cannot suspend user from status: ${user.status}`);
|
|
326
|
-
}
|
|
327
|
-
await repoUpdate(id, { status: 'suspended' });
|
|
328
|
-
await invalidateUserCache(id);
|
|
329
|
-
await writeAuditLog({
|
|
330
|
-
organizationId: user.organizationId,
|
|
331
|
-
actorId,
|
|
332
|
-
eventType: 'user.suspended',
|
|
333
|
-
eventCategory: 'admin',
|
|
334
|
-
metadata: { userId: id, reason: reason ?? null },
|
|
335
|
-
});
|
|
336
|
-
}
|
|
337
|
-
/**
|
|
338
|
-
* Unsuspend a user (suspended → active).
|
|
339
|
-
*
|
|
340
|
-
* @param id - User UUID
|
|
341
|
-
* @param actorId - UUID of the user performing the action
|
|
342
|
-
* @throws UserNotFoundError if not found
|
|
343
|
-
* @throws UserValidationError if not currently suspended
|
|
344
|
-
*/
|
|
345
|
-
export async function unsuspendUser(id, actorId) {
|
|
346
|
-
const user = await loadUserForStatusChange(id);
|
|
347
|
-
if (user.status !== 'suspended') {
|
|
348
|
-
throw new UserValidationError(`Cannot unsuspend user from status: ${user.status}`);
|
|
301
|
+
throw new UserValidationError(`Cannot activate user from status: ${user.status}`);
|
|
349
302
|
}
|
|
350
303
|
await repoUpdate(id, { status: 'active' });
|
|
351
304
|
await invalidateUserCache(id);
|
|
@@ -357,66 +310,6 @@ export async function unsuspendUser(id, actorId) {
|
|
|
357
310
|
metadata: { userId: id },
|
|
358
311
|
});
|
|
359
312
|
}
|
|
360
|
-
/**
|
|
361
|
-
* Lock a user (active → locked).
|
|
362
|
-
*
|
|
363
|
-
* Sets the locked_at timestamp and locked_reason. Locked users
|
|
364
|
-
* cannot authenticate (getPasswordHash only returns for active users).
|
|
365
|
-
*
|
|
366
|
-
* @param id - User UUID
|
|
367
|
-
* @param reason - Reason for locking the account
|
|
368
|
-
* @param actorId - UUID of the user performing the action
|
|
369
|
-
* @throws UserNotFoundError if not found
|
|
370
|
-
* @throws UserValidationError if not currently active
|
|
371
|
-
*/
|
|
372
|
-
export async function lockUser(id, reason, actorId) {
|
|
373
|
-
const user = await loadUserForStatusChange(id);
|
|
374
|
-
if (user.status !== 'active') {
|
|
375
|
-
throw new UserValidationError(`Cannot lock user from status: ${user.status}`);
|
|
376
|
-
}
|
|
377
|
-
await repoUpdate(id, {
|
|
378
|
-
status: 'locked',
|
|
379
|
-
lockedAt: new Date(),
|
|
380
|
-
lockedReason: reason,
|
|
381
|
-
});
|
|
382
|
-
await invalidateUserCache(id);
|
|
383
|
-
await writeAuditLog({
|
|
384
|
-
organizationId: user.organizationId,
|
|
385
|
-
actorId,
|
|
386
|
-
eventType: 'user.locked',
|
|
387
|
-
eventCategory: 'admin',
|
|
388
|
-
metadata: { userId: id, reason },
|
|
389
|
-
});
|
|
390
|
-
}
|
|
391
|
-
/**
|
|
392
|
-
* Unlock a user (locked → active).
|
|
393
|
-
*
|
|
394
|
-
* Clears the locked_at timestamp and locked_reason.
|
|
395
|
-
*
|
|
396
|
-
* @param id - User UUID
|
|
397
|
-
* @param actorId - UUID of the user performing the action
|
|
398
|
-
* @throws UserNotFoundError if not found
|
|
399
|
-
* @throws UserValidationError if not currently locked
|
|
400
|
-
*/
|
|
401
|
-
export async function unlockUser(id, actorId) {
|
|
402
|
-
const user = await loadUserForStatusChange(id);
|
|
403
|
-
if (user.status !== 'locked') {
|
|
404
|
-
throw new UserValidationError(`Cannot unlock user from status: ${user.status}`);
|
|
405
|
-
}
|
|
406
|
-
await repoUpdate(id, {
|
|
407
|
-
status: 'active',
|
|
408
|
-
lockedAt: null,
|
|
409
|
-
lockedReason: null,
|
|
410
|
-
});
|
|
411
|
-
await invalidateUserCache(id);
|
|
412
|
-
await writeAuditLog({
|
|
413
|
-
organizationId: user.organizationId,
|
|
414
|
-
actorId,
|
|
415
|
-
eventType: 'user.unlocked',
|
|
416
|
-
eventCategory: 'admin',
|
|
417
|
-
metadata: { userId: id },
|
|
418
|
-
});
|
|
419
|
-
}
|
|
420
313
|
// ---------------------------------------------------------------------------
|
|
421
314
|
// Password management
|
|
422
315
|
// ---------------------------------------------------------------------------
|
|
@@ -498,7 +391,7 @@ export async function verifyLoginPassword(id, password, dependencies) {
|
|
|
498
391
|
*/
|
|
499
392
|
export async function prepareUserForPasswordLogin(organizationId, email) {
|
|
500
393
|
const candidate = await getUserByEmail(organizationId, email);
|
|
501
|
-
const cooldownSeconds = await getSystemConfigNumber('lockout_duration_seconds'
|
|
394
|
+
const cooldownSeconds = await getSystemConfigNumber('lockout_duration_seconds');
|
|
502
395
|
const candidateId = candidate?.id ?? NON_ACCOUNT_USER_ID;
|
|
503
396
|
const unlocked = await unlockEligiblePasswordAccount(candidateId, new Date(Date.now() - cooldownSeconds * 1_000));
|
|
504
397
|
await invalidateUserCache(candidateId);
|
|
@@ -593,7 +486,7 @@ export async function recordLogin(id) {
|
|
|
593
486
|
* @returns Object with `locked: true` if the account was just auto-locked
|
|
594
487
|
*/
|
|
595
488
|
export async function recordFailedLogin(user) {
|
|
596
|
-
const maxAttempts = await getSystemConfigNumber('max_failed_logins'
|
|
489
|
+
const maxAttempts = await getSystemConfigNumber('max_failed_logins');
|
|
597
490
|
const result = await incrementFailedLoginCount(user.id, maxAttempts);
|
|
598
491
|
await invalidateUserCache(user.id);
|
|
599
492
|
const justLocked = result.status === 'locked' && user.status === 'active';
|
|
@@ -621,7 +514,7 @@ export async function recordPasswordFailure(user, dependencies) {
|
|
|
621
514
|
recordEligibleFailure: recordEligiblePasswordFailure,
|
|
622
515
|
invalidateCache: invalidateUserCache,
|
|
623
516
|
};
|
|
624
|
-
const maxAttempts = await getSystemConfigNumber('max_failed_logins'
|
|
517
|
+
const maxAttempts = await getSystemConfigNumber('max_failed_logins');
|
|
625
518
|
const userId = user?.id ?? NON_ACCOUNT_USER_ID;
|
|
626
519
|
const result = await boundaries.recordEligibleFailure(userId, maxAttempts);
|
|
627
520
|
await boundaries.invalidateCache(userId);
|
|
@@ -642,7 +535,7 @@ export async function recordPasswordFailure(user, dependencies) {
|
|
|
642
535
|
* Check whether an auto-locked account should be unlocked (cooldown elapsed).
|
|
643
536
|
*
|
|
644
537
|
* Only applies to users with `status = 'locked'` and
|
|
645
|
-
* `lockedReason = 'auto_lockout'`.
|
|
538
|
+
* `lockedReason = 'auto_lockout'`.
|
|
646
539
|
*
|
|
647
540
|
* The cooldown duration comes from system_config `lockout_duration_seconds`
|
|
648
541
|
* (default 900 = 15 minutes).
|
|
@@ -656,7 +549,7 @@ export async function checkAutoUnlock(user) {
|
|
|
656
549
|
}
|
|
657
550
|
if (!user.lockedAt)
|
|
658
551
|
return false;
|
|
659
|
-
const cooldownSeconds = await getSystemConfigNumber('lockout_duration_seconds'
|
|
552
|
+
const cooldownSeconds = await getSystemConfigNumber('lockout_duration_seconds');
|
|
660
553
|
const elapsed = (Date.now() - user.lockedAt.getTime()) / 1000;
|
|
661
554
|
if (elapsed < cooldownSeconds) {
|
|
662
555
|
return false;
|
|
@@ -687,7 +580,9 @@ export async function checkAutoUnlock(user) {
|
|
|
687
580
|
* @returns Active user or null
|
|
688
581
|
*/
|
|
689
582
|
export async function findUserForOidc(sub) {
|
|
690
|
-
|
|
583
|
+
// OIDC account authority is deliberately database-backed so deletion or a
|
|
584
|
+
// restrictive status change takes effect even while a user cache key exists.
|
|
585
|
+
const user = await repoFindById(sub);
|
|
691
586
|
if (!user)
|
|
692
587
|
return null;
|
|
693
588
|
// Only active users can interact with OIDC endpoints
|
|
@@ -695,4 +590,59 @@ export async function findUserForOidc(sub) {
|
|
|
695
590
|
return null;
|
|
696
591
|
return user;
|
|
697
592
|
}
|
|
593
|
+
/**
|
|
594
|
+
* Physically delete a user through its authoritative organization boundary.
|
|
595
|
+
* The repository serializes control-plane deletion and preserves another
|
|
596
|
+
* active user assigned the exact `porta-super-admin` role.
|
|
597
|
+
*
|
|
598
|
+
* @param organizationId - Owning organization UUID.
|
|
599
|
+
* @param userId - User UUID.
|
|
600
|
+
* @param actorId - Actor identifier available for audit attribution.
|
|
601
|
+
* @returns The graph captured before PostgreSQL applied its cascade.
|
|
602
|
+
* @throws UserNotFoundError for a missing or mismatched user.
|
|
603
|
+
* @throws UserValidationError when the last active exact super administrator is protected.
|
|
604
|
+
*/
|
|
605
|
+
export async function deleteUser(organizationId, userId, actorId) {
|
|
606
|
+
// The repository performs the locked exact `porta-super-admin` survivor check;
|
|
607
|
+
// this service deliberately cannot bypass that control-plane guard.
|
|
608
|
+
const client = getDatabaseTransactionClient();
|
|
609
|
+
if (!client)
|
|
610
|
+
throw new Error('User deletion requires an active database transaction');
|
|
611
|
+
const capture = await deleteUserCapture(organizationId, userId);
|
|
612
|
+
if (!capture)
|
|
613
|
+
throw new UserNotFoundError(userId);
|
|
614
|
+
await client.query(`UPDATE admin_sessions SET revoked_at = NOW()
|
|
615
|
+
WHERE user_id = ANY($1::uuid[]) AND revoked_at IS NULL`, [capture.userIds]);
|
|
616
|
+
await client.query(`DELETE FROM oidc_payloads
|
|
617
|
+
WHERE id = ANY($1::varchar[]) OR grant_id = ANY($1::varchar[])
|
|
618
|
+
OR payload->>'accountId' = ANY($2::text[])`, [capture.grantIds, capture.userIds]);
|
|
619
|
+
await writeAuditLogInTransaction(client, {
|
|
620
|
+
organizationId,
|
|
621
|
+
userId,
|
|
622
|
+
actorId,
|
|
623
|
+
eventType: 'user.deleted',
|
|
624
|
+
eventCategory: 'admin',
|
|
625
|
+
metadata: {
|
|
626
|
+
organizationId,
|
|
627
|
+
userId,
|
|
628
|
+
email: capture.user.email,
|
|
629
|
+
status: capture.user.status,
|
|
630
|
+
},
|
|
631
|
+
});
|
|
632
|
+
await deleteCapturedUser(organizationId, userId);
|
|
633
|
+
await registerDeletionCleanup({
|
|
634
|
+
resource: 'user',
|
|
635
|
+
targetId: userId,
|
|
636
|
+
parentId: organizationId,
|
|
637
|
+
userIds: capture.userIds,
|
|
638
|
+
clientIds: [],
|
|
639
|
+
publicClientIds: [],
|
|
640
|
+
grantIds: capture.grantIds,
|
|
641
|
+
roleIds: capture.roleIds,
|
|
642
|
+
permissionIds: [],
|
|
643
|
+
claimIds: capture.claimIds,
|
|
644
|
+
applicationIds: capture.applicationIds,
|
|
645
|
+
});
|
|
646
|
+
return capture;
|
|
647
|
+
}
|
|
698
648
|
//# sourceMappingURL=service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/users/service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/users/service.ts"],"names":[],"mappings":"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"}
|
package/dist/users/types.d.ts
CHANGED
|
@@ -22,12 +22,11 @@ export type { PaginatedResult };
|
|
|
22
22
|
* User status values — matches the DB CHECK constraint.
|
|
23
23
|
*
|
|
24
24
|
* Lifecycle transitions:
|
|
25
|
-
* - active → inactive (
|
|
26
|
-
* - inactive → active (
|
|
27
|
-
* -
|
|
28
|
-
* - locked → active (unlock)
|
|
25
|
+
* - active → inactive (administrator deactivation)
|
|
26
|
+
* - inactive → active (activate)
|
|
27
|
+
* - active → locked → active (automatic failed-login protection)
|
|
29
28
|
*/
|
|
30
|
-
export type UserStatus = 'active' | 'inactive' | '
|
|
29
|
+
export type UserStatus = 'active' | 'inactive' | 'locked';
|
|
31
30
|
/**
|
|
32
31
|
* Full user record as used throughout the application.
|
|
33
32
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/users/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAG9D,YAAY,EAAE,eAAe,EAAE,CAAC;AAMhC
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/users/types.ts"],"names":[],"mappings":"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"}
|
package/dist/users/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/users/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/users/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAkPH;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,YAAY,CAAC,GAAY;IACvC,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,cAAc,EAAE,GAAG,CAAC,eAAe;QAEnC,yDAAyD;QACzD,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,aAAa,EAAE,GAAG,CAAC,cAAc;QACjC,WAAW,EAAE,GAAG,CAAC,aAAa,KAAK,IAAI;QACvC,iBAAiB,EAAE,GAAG,CAAC,mBAAmB;QAE1C,uBAAuB;QACvB,SAAS,EAAE,GAAG,CAAC,UAAU;QACzB,UAAU,EAAE,GAAG,CAAC,WAAW;QAC3B,UAAU,EAAE,GAAG,CAAC,WAAW;QAC3B,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,iBAAiB,EAAE,GAAG,CAAC,kBAAkB;QACzC,UAAU,EAAE,GAAG,CAAC,WAAW;QAC3B,UAAU,EAAE,GAAG,CAAC,WAAW;QAC3B,UAAU,EAAE,GAAG,CAAC,WAAW;QAC3B,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,WAAW,EAAE,GAAG,CAAC,YAAY;QAC7B,mBAAmB,EAAE,GAAG,CAAC,qBAAqB;QAE9C,UAAU;QACV,aAAa,EAAE,GAAG,CAAC,cAAc;QACjC,eAAe,EAAE,GAAG,CAAC,gBAAgB;QACrC,aAAa,EAAE,GAAG,CAAC,cAAc;QACjC,iBAAiB,EAAE,GAAG,CAAC,mBAAmB;QAC1C,cAAc,EAAE,GAAG,CAAC,eAAe;QAEnC,4BAA4B;QAC5B,gBAAgB,EAAE,GAAG,CAAC,kBAAkB;QACxC,eAAe,EAAG,GAAG,CAAC,iBAAqC,IAAI,IAAI;QAEnE,qBAAqB;QACrB,MAAM,EAAE,GAAG,CAAC,MAAoB;QAChC,QAAQ,EAAE,GAAG,CAAC,SAAS;QACvB,YAAY,EAAE,GAAG,CAAC,aAAa;QAC/B,WAAW,EAAE,GAAG,CAAC,aAAa;QAC9B,UAAU,EAAE,GAAG,CAAC,WAAW;QAE3B,0CAA0C;QAC1C,gBAAgB,EAAE,GAAG,CAAC,kBAAkB,IAAI,CAAC;QAC7C,iBAAiB,EAAE,GAAG,CAAC,oBAAoB,IAAI,IAAI;QAEnD,aAAa;QACb,SAAS,EAAE,GAAG,CAAC,UAAU;QACzB,SAAS,EAAE,GAAG,CAAC,UAAU;KAC1B,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/** Shared user field validators used by Admin requests and portability manifests. */
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
/** User email addresses use the existing Admin API syntax and length boundary. */
|
|
4
|
+
export declare const userEmailSchema: z.ZodString;
|
|
5
|
+
/** General OIDC profile names and aliases use the existing database boundary. */
|
|
6
|
+
export declare const userProfileNameSchema: z.ZodString;
|
|
7
|
+
/** OIDC profile URL fields must contain absolute URLs. */
|
|
8
|
+
export declare const userProfileUrlSchema: z.ZodString;
|
|
9
|
+
/** Gender values retain the existing short free-text contract. */
|
|
10
|
+
export declare const userGenderSchema: z.ZodString;
|
|
11
|
+
/** Birthdates use the OIDC calendar-date wire format. */
|
|
12
|
+
export declare const userBirthdateSchema: z.ZodString;
|
|
13
|
+
/** Time-zone values retain the existing bounded IANA-name field contract. */
|
|
14
|
+
export declare const userZoneinfoSchema: z.ZodString;
|
|
15
|
+
/** User locale identifiers retain the existing Admin API length boundary. */
|
|
16
|
+
export declare const userLocaleSchema: z.ZodString;
|
|
17
|
+
/** Phone numbers retain the existing bounded external-number contract. */
|
|
18
|
+
export declare const userPhoneNumberSchema: z.ZodString;
|
|
19
|
+
/** Postal codes retain the existing address field boundary. */
|
|
20
|
+
export declare const userPostalCodeSchema: z.ZodString;
|
|
21
|
+
/** Address countries use two-letter country codes. */
|
|
22
|
+
export declare const userCountrySchema: z.ZodString;
|
|
23
|
+
/** Portable user lifecycle states exclude automatic lock state. */
|
|
24
|
+
export declare const portableUserStatusSchema: z.ZodEnum<{
|
|
25
|
+
active: "active";
|
|
26
|
+
inactive: "inactive";
|
|
27
|
+
}>;
|
|
28
|
+
//# sourceMappingURL=validators.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/users/validators.ts"],"names":[],"mappings":"AAAA,qFAAqF;AAErF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,kFAAkF;AAClF,eAAO,MAAM,eAAe,aAA8B,CAAC;AAE3D,iFAAiF;AACjF,eAAO,MAAM,qBAAqB,aAAsB,CAAC;AAEzD,0DAA0D;AAC1D,eAAO,MAAM,oBAAoB,aAAmB,CAAC;AAErD,kEAAkE;AAClE,eAAO,MAAM,gBAAgB,aAAqB,CAAC;AAEnD,yDAAyD;AACzD,eAAO,MAAM,mBAAmB,aAA0C,CAAC;AAE3E,6EAA6E;AAC7E,eAAO,MAAM,kBAAkB,aAAqB,CAAC;AAErD,6EAA6E;AAC7E,eAAO,MAAM,gBAAgB,aAAqB,CAAC;AAEnD,0EAA0E;AAC1E,eAAO,MAAM,qBAAqB,aAAqB,CAAC;AAExD,+DAA+D;AAC/D,eAAO,MAAM,oBAAoB,aAAqB,CAAC;AAEvD,sDAAsD;AACtD,eAAO,MAAM,iBAAiB,aAAuB,CAAC;AAEtD,mEAAmE;AACnE,eAAO,MAAM,wBAAwB;;;EAAiC,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/** Shared user field validators used by Admin requests and portability manifests. */
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
/** User email addresses use the existing Admin API syntax and length boundary. */
|
|
4
|
+
export const userEmailSchema = z.string().email().max(255);
|
|
5
|
+
/** General OIDC profile names and aliases use the existing database boundary. */
|
|
6
|
+
export const userProfileNameSchema = z.string().max(255);
|
|
7
|
+
/** OIDC profile URL fields must contain absolute URLs. */
|
|
8
|
+
export const userProfileUrlSchema = z.string().url();
|
|
9
|
+
/** Gender values retain the existing short free-text contract. */
|
|
10
|
+
export const userGenderSchema = z.string().max(50);
|
|
11
|
+
/** Birthdates use the OIDC calendar-date wire format. */
|
|
12
|
+
export const userBirthdateSchema = z.string().regex(/^\d{4}-\d{2}-\d{2}$/);
|
|
13
|
+
/** Time-zone values retain the existing bounded IANA-name field contract. */
|
|
14
|
+
export const userZoneinfoSchema = z.string().max(50);
|
|
15
|
+
/** User locale identifiers retain the existing Admin API length boundary. */
|
|
16
|
+
export const userLocaleSchema = z.string().max(10);
|
|
17
|
+
/** Phone numbers retain the existing bounded external-number contract. */
|
|
18
|
+
export const userPhoneNumberSchema = z.string().max(50);
|
|
19
|
+
/** Postal codes retain the existing address field boundary. */
|
|
20
|
+
export const userPostalCodeSchema = z.string().max(20);
|
|
21
|
+
/** Address countries use two-letter country codes. */
|
|
22
|
+
export const userCountrySchema = z.string().length(2);
|
|
23
|
+
/** Portable user lifecycle states exclude automatic lock state. */
|
|
24
|
+
export const portableUserStatusSchema = z.enum(['active', 'inactive']);
|
|
25
|
+
//# sourceMappingURL=validators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/users/validators.ts"],"names":[],"mappings":"AAAA,qFAAqF;AAErF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,kFAAkF;AAClF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAE3D,iFAAiF;AACjF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAEzD,0DAA0D;AAC1D,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC;AAErD,kEAAkE;AAClE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAEnD,yDAAyD;AACzD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;AAE3E,6EAA6E;AAC7E,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAErD,6EAA6E;AAC7E,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAEnD,0EAA0E;AAC1E,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAExD,+DAA+D;AAC/D,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAEvD,sDAAsD;AACtD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAEtD,mEAAmE;AACnE,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC"}
|
|
@@ -17,5 +17,6 @@
|
|
|
17
17
|
"org_suspended": "This organization has been suspended.",
|
|
18
18
|
"org_archived": "This organization is no longer active.",
|
|
19
19
|
"login_method_disabled": "This authentication method is not available for this application.",
|
|
20
|
-
"no_login_methods_configured": "No authentication methods are configured for this application. Please contact your administrator."
|
|
20
|
+
"no_login_methods_configured": "No authentication methods are configured for this application. Please contact your administrator.",
|
|
21
|
+
"two_factor_unavailable": "Verification is temporarily unavailable. Please contact your administrator."
|
|
21
22
|
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
-- Up Migration
|
|
2
|
+
|
|
3
|
+
-- Refuse the upgrade before changing any row when legacy data exceeds the supported credential
|
|
4
|
+
-- overlap bound. Operators can revoke excess credentials with the previous server and retry.
|
|
5
|
+
-- Hold this lock for the migration transaction so a concurrent secret write cannot pass the
|
|
6
|
+
-- precondition and create unsupported over-limit data before the migration commits.
|
|
7
|
+
LOCK TABLE client_secrets IN SHARE ROW EXCLUSIVE MODE;
|
|
8
|
+
|
|
9
|
+
DO $$
|
|
10
|
+
BEGIN
|
|
11
|
+
IF EXISTS (
|
|
12
|
+
SELECT client_id
|
|
13
|
+
FROM client_secrets
|
|
14
|
+
WHERE status = 'active'
|
|
15
|
+
AND (expires_at IS NULL OR expires_at > NOW())
|
|
16
|
+
GROUP BY client_id
|
|
17
|
+
HAVING COUNT(*) > 10
|
|
18
|
+
) THEN
|
|
19
|
+
RAISE EXCEPTION 'Client has more than 10 active secrets; revoke excess secrets before upgrading';
|
|
20
|
+
END IF;
|
|
21
|
+
END $$;
|
|
22
|
+
|
|
23
|
+
-- Existing Application Admin roles need organization read access because client administration
|
|
24
|
+
-- resolves the selected organization. The stable slugs and conflict guard make reruns harmless.
|
|
25
|
+
INSERT INTO role_permissions (role_id, permission_id)
|
|
26
|
+
SELECT role_row.id, permission_row.id
|
|
27
|
+
FROM roles AS role_row
|
|
28
|
+
JOIN permissions AS permission_row
|
|
29
|
+
ON permission_row.application_id = role_row.application_id
|
|
30
|
+
WHERE role_row.slug = 'porta-app-admin'
|
|
31
|
+
AND permission_row.slug = 'admin:org:read'
|
|
32
|
+
ON CONFLICT (role_id, permission_id) DO NOTHING;
|
|
33
|
+
|
|
34
|
+
-- Down Migration
|
|
35
|
+
|
|
36
|
+
-- Forward-only data correction. The up migration cannot distinguish a permission mapping that it
|
|
37
|
+
-- inserted from one that already existed, so rollback deliberately preserves both cases rather
|
|
38
|
+
-- than deleting operator-owned access.
|
|
39
|
+
SELECT 1;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
-- Up Migration
|
|
2
|
+
|
|
3
|
+
ALTER TABLE organizations
|
|
4
|
+
DROP CONSTRAINT organizations_status_check,
|
|
5
|
+
ADD CONSTRAINT organizations_status_check
|
|
6
|
+
CHECK (status IN ('active', 'suspended'));
|
|
7
|
+
|
|
8
|
+
ALTER TABLE applications
|
|
9
|
+
DROP CONSTRAINT applications_status_check,
|
|
10
|
+
ADD CONSTRAINT applications_status_check
|
|
11
|
+
CHECK (status IN ('active', 'inactive'));
|
|
12
|
+
|
|
13
|
+
ALTER TABLE clients
|
|
14
|
+
DROP CONSTRAINT clients_status_check,
|
|
15
|
+
ADD CONSTRAINT clients_status_check
|
|
16
|
+
CHECK (status IN ('active', 'inactive'));
|
|
17
|
+
|
|
18
|
+
ALTER TABLE permissions
|
|
19
|
+
DROP CONSTRAINT permissions_module_id_fkey,
|
|
20
|
+
ADD CONSTRAINT permissions_module_id_fkey
|
|
21
|
+
FOREIGN KEY (module_id) REFERENCES application_modules(id) ON DELETE CASCADE;
|
|
22
|
+
|
|
23
|
+
-- Down Migration
|
|
24
|
+
|
|
25
|
+
-- Deliberate no-op: removed lifecycle values and weaker module ownership are not restored.
|
|
26
|
+
SELECT 1;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
-- Up Migration
|
|
2
|
+
|
|
3
|
+
UPDATE users
|
|
4
|
+
SET status = 'inactive'
|
|
5
|
+
WHERE status = 'suspended';
|
|
6
|
+
|
|
7
|
+
UPDATE users
|
|
8
|
+
SET status = 'inactive',
|
|
9
|
+
locked_at = NULL,
|
|
10
|
+
locked_reason = NULL,
|
|
11
|
+
failed_login_count = 0,
|
|
12
|
+
last_failed_login_at = NULL
|
|
13
|
+
WHERE status = 'locked'
|
|
14
|
+
AND locked_reason IS DISTINCT FROM 'auto_lockout';
|
|
15
|
+
|
|
16
|
+
ALTER TABLE users
|
|
17
|
+
DROP CONSTRAINT users_status_check,
|
|
18
|
+
ADD CONSTRAINT users_status_check
|
|
19
|
+
CHECK (status IN ('active', 'inactive', 'locked'));
|
|
20
|
+
|
|
21
|
+
COMMENT ON COLUMN users.status IS
|
|
22
|
+
'User lifecycle: active/inactive by administrator; locked by automatic login protection';
|
|
23
|
+
|
|
24
|
+
UPDATE permissions
|
|
25
|
+
SET slug = 'admin:user:lifecycle',
|
|
26
|
+
name = 'Manage user lifecycle',
|
|
27
|
+
description = 'Activate and deactivate users'
|
|
28
|
+
WHERE slug = 'admin:user:suspend';
|
|
29
|
+
|
|
30
|
+
-- Down Migration
|
|
31
|
+
|
|
32
|
+
-- Deliberate no-op: removed manual suspension and lock operations are not restored.
|
|
33
|
+
SELECT 1;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
-- Up Migration
|
|
2
|
+
|
|
3
|
+
ALTER TABLE branding_assets
|
|
4
|
+
DROP CONSTRAINT IF EXISTS branding_assets_valid_size;
|
|
5
|
+
|
|
6
|
+
ALTER TABLE branding_assets
|
|
7
|
+
ADD CONSTRAINT branding_assets_valid_size
|
|
8
|
+
CHECK (
|
|
9
|
+
file_size > 0
|
|
10
|
+
AND (
|
|
11
|
+
(asset_type = 'logo' AND file_size <= 2097152)
|
|
12
|
+
OR (asset_type = 'favicon' AND file_size <= 524288)
|
|
13
|
+
)
|
|
14
|
+
);
|
|
15
|
+
|
|
16
|
+
-- Down Migration
|
|
17
|
+
|
|
18
|
+
-- Deliberate no-op: shrinking the limit could reject logos accepted after this migration.
|
|
19
|
+
SELECT 1;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
-- Up Migration
|
|
2
|
+
|
|
3
|
+
ALTER TABLE user_totp
|
|
4
|
+
ADD COLUMN last_accepted_time_step BIGINT;
|
|
5
|
+
|
|
6
|
+
ALTER TABLE user_totp
|
|
7
|
+
ADD CONSTRAINT user_totp_algorithm_check CHECK (algorithm = 'SHA1'),
|
|
8
|
+
ADD CONSTRAINT user_totp_digits_check CHECK (digits = 6),
|
|
9
|
+
ADD CONSTRAINT user_totp_period_check CHECK (period = 30);
|
|
10
|
+
|
|
11
|
+
-- Down Migration
|
|
12
|
+
|
|
13
|
+
ALTER TABLE user_totp
|
|
14
|
+
DROP CONSTRAINT IF EXISTS user_totp_algorithm_check,
|
|
15
|
+
DROP CONSTRAINT IF EXISTS user_totp_digits_check,
|
|
16
|
+
DROP CONSTRAINT IF EXISTS user_totp_period_check,
|
|
17
|
+
DROP COLUMN IF EXISTS last_accepted_time_step;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
-- Up Migration
|
|
2
|
+
|
|
3
|
+
-- Administrative session APIs must not expose the Redis session key because
|
|
4
|
+
-- possession of that key grants access to the live session.
|
|
5
|
+
|
|
6
|
+
ALTER TABLE admin_sessions
|
|
7
|
+
ADD COLUMN public_id UUID NOT NULL DEFAULT gen_random_uuid();
|
|
8
|
+
|
|
9
|
+
ALTER TABLE admin_sessions
|
|
10
|
+
ADD CONSTRAINT admin_sessions_public_id_unique UNIQUE (public_id);
|
|
11
|
+
|
|
12
|
+
-- Down Migration
|
|
13
|
+
|
|
14
|
+
ALTER TABLE admin_sessions
|
|
15
|
+
DROP CONSTRAINT IF EXISTS admin_sessions_public_id_unique,
|
|
16
|
+
DROP COLUMN IF EXISTS public_id;
|