@authup/server-core 1.0.0-beta.63 → 1.0.0-beta.64
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapters/database/data-source/options/module.d.ts +1 -0
- package/dist/adapters/database/data-source/options/module.d.ts.map +1 -1
- package/dist/adapters/database/data-source/options/module.mjs +33 -4
- package/dist/adapters/database/data-source/options/module.mjs.map +1 -1
- package/dist/adapters/database/domains/client/entity.d.ts +1 -2
- package/dist/adapters/database/domains/client/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/client/entity.mjs +7 -14
- package/dist/adapters/database/domains/client/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/identity-provider-attribute/subscriber.d.ts +2 -1
- package/dist/adapters/database/domains/identity-provider-attribute/subscriber.d.ts.map +1 -1
- package/dist/adapters/database/domains/identity-provider-attribute/subscriber.mjs +2 -2
- package/dist/adapters/database/domains/identity-provider-attribute/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/session/entity.d.ts +8 -0
- package/dist/adapters/database/domains/session/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/session/entity.mjs +19 -0
- package/dist/adapters/database/domains/session/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/user/entity.d.ts +1 -0
- package/dist/adapters/database/domains/user/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/user/entity.mjs +6 -0
- package/dist/adapters/database/domains/user/entity.mjs.map +1 -1
- package/dist/adapters/database/extra-attribute-repository/repository.mjs +1 -1
- package/dist/adapters/database/extra-attribute-repository/repository.mjs.map +1 -1
- package/dist/adapters/database/extra-attribute-repository/tree/adapter.mjs +4 -2
- package/dist/adapters/database/extra-attribute-repository/tree/adapter.mjs.map +1 -1
- package/dist/adapters/database/extra-attribute-repository/tree/repository.mjs +1 -1
- package/dist/adapters/database/extra-attribute-repository/tree/repository.mjs.map +1 -1
- package/dist/adapters/database/index.mjs +3 -3
- package/dist/adapters/database/migrations/mysql/1787571998009-SessionUserAndClientColumns.d.ts +56 -0
- package/dist/adapters/database/migrations/mysql/1787571998009-SessionUserAndClientColumns.d.ts.map +1 -0
- package/dist/adapters/database/migrations/mysql/1787571998009-SessionUserAndClientColumns.mjs +105 -0
- package/dist/adapters/database/migrations/mysql/1787571998009-SessionUserAndClientColumns.mjs.map +1 -0
- package/dist/adapters/database/migrations/postgres/1787571998009-SessionUserAndClientColumns.d.ts +56 -0
- package/dist/adapters/database/migrations/postgres/1787571998009-SessionUserAndClientColumns.d.ts.map +1 -0
- package/dist/adapters/database/migrations/postgres/1787571998009-SessionUserAndClientColumns.mjs +104 -0
- package/dist/adapters/database/migrations/postgres/1787571998009-SessionUserAndClientColumns.mjs.map +1 -0
- package/dist/adapters/database/subscriber/module.d.ts +6 -2
- package/dist/adapters/database/subscriber/module.d.ts.map +1 -1
- package/dist/adapters/database/subscriber/module.mjs +9 -5
- package/dist/adapters/database/subscriber/module.mjs.map +1 -1
- package/dist/adapters/http/adapters/oauth2/authorization/module.mjs +1 -1
- package/dist/adapters/http/adapters/oauth2/authorization/module.mjs.map +1 -1
- package/dist/adapters/http/constants.d.ts +18 -0
- package/dist/adapters/http/constants.d.ts.map +1 -0
- package/dist/adapters/http/constants.mjs +23 -0
- package/dist/adapters/http/constants.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/identity-provider/module.mjs +3 -3
- package/dist/adapters/http/controllers/entities/identity-provider/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/identity-provider/types.d.ts +6 -0
- package/dist/adapters/http/controllers/entities/identity-provider/types.d.ts.map +1 -1
- package/dist/adapters/http/controllers/entities/realm/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/entities/realm/module.mjs +2 -0
- package/dist/adapters/http/controllers/entities/realm/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/session/module.d.ts +33 -1
- package/dist/adapters/http/controllers/entities/session/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/entities/session/module.mjs +74 -0
- package/dist/adapters/http/controllers/entities/session/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/index.mjs +3 -1
- package/dist/adapters/http/controllers/workflows/account/index.d.ts +1 -0
- package/dist/adapters/http/controllers/workflows/account/index.d.ts.map +1 -1
- package/dist/adapters/http/controllers/workflows/account/module.d.ts +25 -16
- package/dist/adapters/http/controllers/workflows/account/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/workflows/account/module.mjs +40 -17
- package/dist/adapters/http/controllers/workflows/account/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/workflows/account/types.d.ts +33 -0
- package/dist/adapters/http/controllers/workflows/account/types.d.ts.map +1 -0
- package/dist/adapters/http/controllers/workflows/activate/module.d.ts +8 -4
- package/dist/adapters/http/controllers/workflows/activate/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/workflows/activate/module.mjs +7 -9
- package/dist/adapters/http/controllers/workflows/activate/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/workflows/admin/index.d.ts.map +1 -0
- package/dist/adapters/http/controllers/workflows/admin/index.mjs +5 -0
- package/dist/adapters/http/controllers/workflows/admin/module.d.ts +30 -0
- package/dist/adapters/http/controllers/workflows/admin/module.d.ts.map +1 -0
- package/dist/adapters/http/controllers/workflows/admin/module.mjs +88 -0
- package/dist/adapters/http/controllers/workflows/admin/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/workflows/admin/types.d.ts +14 -0
- package/dist/adapters/http/controllers/workflows/admin/types.d.ts.map +1 -0
- package/dist/adapters/http/controllers/workflows/auth-console.d.ts +16 -0
- package/dist/adapters/http/controllers/workflows/auth-console.d.ts.map +1 -0
- package/dist/adapters/http/controllers/workflows/auth-console.mjs +32 -0
- package/dist/adapters/http/controllers/workflows/auth-console.mjs.map +1 -0
- package/dist/adapters/http/controllers/workflows/authorize/module.d.ts +16 -1
- package/dist/adapters/http/controllers/workflows/authorize/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/workflows/authorize/module.mjs +40 -22
- package/dist/adapters/http/controllers/workflows/authorize/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/workflows/authorize/types.d.ts +5 -0
- package/dist/adapters/http/controllers/workflows/authorize/types.d.ts.map +1 -1
- package/dist/adapters/http/controllers/workflows/console-login/index.d.ts +3 -0
- package/dist/adapters/http/controllers/workflows/console-login/index.d.ts.map +1 -0
- package/dist/adapters/http/controllers/workflows/console-login/index.mjs +5 -0
- package/dist/adapters/http/controllers/workflows/console-login/module.d.ts +83 -0
- package/dist/adapters/http/controllers/workflows/console-login/module.d.ts.map +1 -0
- package/dist/adapters/http/controllers/workflows/console-login/module.mjs +230 -0
- package/dist/adapters/http/controllers/workflows/console-login/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/workflows/console-login/types.d.ts +58 -0
- package/dist/adapters/http/controllers/workflows/console-login/types.d.ts.map +1 -0
- package/dist/adapters/http/controllers/workflows/index.d.ts +2 -0
- package/dist/adapters/http/controllers/workflows/index.d.ts.map +1 -1
- package/dist/adapters/http/controllers/workflows/index.mjs +5 -1
- package/dist/adapters/http/controllers/workflows/logout/module.d.ts +32 -3
- package/dist/adapters/http/controllers/workflows/logout/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/workflows/logout/module.mjs +48 -24
- package/dist/adapters/http/controllers/workflows/logout/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/workflows/logout/types.d.ts +1 -1
- package/dist/adapters/http/controllers/workflows/logout/types.d.ts.map +1 -1
- package/dist/adapters/http/controllers/workflows/password-forgot/module.d.ts +8 -4
- package/dist/adapters/http/controllers/workflows/password-forgot/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/workflows/password-forgot/module.mjs +7 -9
- package/dist/adapters/http/controllers/workflows/password-forgot/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/workflows/password-reset/module.d.ts +8 -4
- package/dist/adapters/http/controllers/workflows/password-reset/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/workflows/password-reset/module.mjs +7 -10
- package/dist/adapters/http/controllers/workflows/password-reset/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/workflows/register/module.d.ts +8 -4
- package/dist/adapters/http/controllers/workflows/register/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/workflows/register/module.mjs +7 -9
- package/dist/adapters/http/controllers/workflows/register/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/workflows/status/module.mjs +1 -1
- package/dist/adapters/http/controllers/workflows/token/module.d.ts +45 -2
- package/dist/adapters/http/controllers/workflows/token/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/workflows/token/module.mjs +102 -24
- package/dist/adapters/http/controllers/workflows/token/module.mjs.map +1 -1
- package/dist/adapters/http/cookie/index.d.ts +2 -0
- package/dist/adapters/http/cookie/index.d.ts.map +1 -0
- package/dist/adapters/http/cookie/index.mjs +5 -0
- package/dist/adapters/http/cookie/session.d.ts +35 -0
- package/dist/adapters/http/cookie/session.d.ts.map +1 -0
- package/dist/adapters/http/cookie/session.mjs +62 -0
- package/dist/adapters/http/cookie/session.mjs.map +1 -0
- package/dist/adapters/http/index.d.ts +2 -0
- package/dist/adapters/http/index.d.ts.map +1 -1
- package/dist/adapters/http/index.mjs +20 -16
- package/dist/adapters/http/internal-client/index.d.ts +3 -0
- package/dist/adapters/http/internal-client/index.d.ts.map +1 -0
- package/dist/adapters/http/internal-client/index.mjs +5 -0
- package/dist/adapters/http/internal-client/module.d.ts +21 -0
- package/dist/adapters/http/internal-client/module.d.ts.map +1 -0
- package/dist/adapters/http/{ui/auth-console/http-client.mjs → internal-client/module.mjs} +16 -15
- package/dist/adapters/http/internal-client/module.mjs.map +1 -0
- package/dist/adapters/http/internal-client/types.d.ts +13 -0
- package/dist/adapters/http/internal-client/types.d.ts.map +1 -0
- package/dist/adapters/http/middleware/built-in/authorization/index.d.ts +1 -0
- package/dist/adapters/http/middleware/built-in/authorization/index.d.ts.map +1 -1
- package/dist/adapters/http/middleware/built-in/authorization/index.mjs +2 -1
- package/dist/adapters/http/middleware/built-in/authorization/issuance.d.ts +45 -0
- package/dist/adapters/http/middleware/built-in/authorization/issuance.d.ts.map +1 -0
- package/dist/adapters/http/middleware/built-in/authorization/issuance.mjs +61 -0
- package/dist/adapters/http/middleware/built-in/authorization/issuance.mjs.map +1 -0
- package/dist/adapters/http/middleware/built-in/authorization/module.d.ts +26 -2
- package/dist/adapters/http/middleware/built-in/authorization/module.d.ts.map +1 -1
- package/dist/adapters/http/middleware/built-in/authorization/module.mjs +67 -1
- package/dist/adapters/http/middleware/built-in/authorization/module.mjs.map +1 -1
- package/dist/adapters/http/middleware/built-in/authorization/types.d.ts +21 -1
- package/dist/adapters/http/middleware/built-in/authorization/types.d.ts.map +1 -1
- package/dist/adapters/http/middleware/built-in/basic.d.ts +2 -2
- package/dist/adapters/http/middleware/built-in/basic.d.ts.map +1 -1
- package/dist/adapters/http/middleware/built-in/basic.mjs.map +1 -1
- package/dist/adapters/http/middleware/built-in/cors.d.ts +8 -2
- package/dist/adapters/http/middleware/built-in/cors.d.ts.map +1 -1
- package/dist/adapters/http/middleware/built-in/cors.mjs +20 -3
- package/dist/adapters/http/middleware/built-in/cors.mjs.map +1 -1
- package/dist/adapters/http/middleware/built-in/error.d.ts +2 -2
- package/dist/adapters/http/middleware/built-in/error.d.ts.map +1 -1
- package/dist/adapters/http/middleware/built-in/error.mjs.map +1 -1
- package/dist/adapters/http/middleware/built-in/index.d.ts +1 -4
- package/dist/adapters/http/middleware/built-in/index.d.ts.map +1 -1
- package/dist/adapters/http/middleware/built-in/index.mjs +3 -4
- package/dist/adapters/http/middleware/built-in/internal-http-client.d.ts +17 -0
- package/dist/adapters/http/middleware/built-in/internal-http-client.d.ts.map +1 -0
- package/dist/adapters/http/middleware/built-in/internal-http-client.mjs +27 -0
- package/dist/adapters/http/middleware/built-in/internal-http-client.mjs.map +1 -0
- package/dist/adapters/http/middleware/built-in/logger.mjs +1 -1
- package/dist/adapters/http/middleware/built-in/logger.mjs.map +1 -1
- package/dist/adapters/http/middleware/built-in/prometheus.d.ts +6 -5
- package/dist/adapters/http/middleware/built-in/prometheus.d.ts.map +1 -1
- package/dist/adapters/http/middleware/built-in/prometheus.mjs +3 -2
- package/dist/adapters/http/middleware/built-in/prometheus.mjs.map +1 -1
- package/dist/adapters/http/middleware/built-in/rate-limit.d.ts +2 -2
- package/dist/adapters/http/middleware/built-in/rate-limit.d.ts.map +1 -1
- package/dist/adapters/http/middleware/built-in/rate-limit.mjs +15 -0
- package/dist/adapters/http/middleware/built-in/rate-limit.mjs.map +1 -1
- package/dist/adapters/http/middleware/index.mjs +3 -4
- package/dist/adapters/http/request/constants.d.ts +1 -1
- package/dist/adapters/http/request/constants.d.ts.map +1 -1
- package/dist/adapters/http/request/constants.mjs +1 -5
- package/dist/adapters/http/request/constants.mjs.map +1 -1
- package/dist/adapters/http/request/helpers/index.d.ts +1 -1
- package/dist/adapters/http/request/helpers/index.d.ts.map +1 -1
- package/dist/adapters/http/request/helpers/index.mjs +2 -2
- package/dist/adapters/http/request/helpers/locale.d.ts +2 -1
- package/dist/adapters/http/request/helpers/locale.d.ts.map +1 -1
- package/dist/adapters/http/request/helpers/locale.mjs +1 -1
- package/dist/adapters/http/request/helpers/locale.mjs.map +1 -1
- package/dist/adapters/http/request/helpers/same-origin.d.ts +38 -0
- package/dist/adapters/http/request/helpers/same-origin.d.ts.map +1 -0
- package/dist/adapters/http/request/helpers/same-origin.mjs +68 -0
- package/dist/adapters/http/request/helpers/same-origin.mjs.map +1 -0
- package/dist/adapters/http/request/index.mjs +2 -2
- package/dist/adapters/http/request/permission/module.mjs +1 -1
- package/dist/adapters/http/request/permission/module.mjs.map +1 -1
- package/dist/adapters/http/request/types.d.ts +1 -2
- package/dist/adapters/http/request/types.d.ts.map +1 -1
- package/dist/adapters/shared/ldap/module.d.ts.map +1 -1
- package/dist/adapters/shared/ldap/module.mjs +4 -1
- package/dist/adapters/shared/ldap/module.mjs.map +1 -1
- package/dist/app/builder.d.ts +4 -4
- package/dist/app/builder.d.ts.map +1 -1
- package/dist/app/builder.mjs +7 -4
- package/dist/app/builder.mjs.map +1 -1
- package/dist/app/factory.d.ts +10 -0
- package/dist/app/factory.d.ts.map +1 -1
- package/dist/app/factory.mjs +26 -2
- package/dist/app/factory.mjs.map +1 -1
- package/dist/app/index.mjs +17 -19
- package/dist/app/modules/authentication/module.d.ts.map +1 -1
- package/dist/app/modules/authentication/module.mjs +15 -2
- package/dist/app/modules/authentication/module.mjs.map +1 -1
- package/dist/app/modules/authentication/repositories/session.d.ts +4 -1
- package/dist/app/modules/authentication/repositories/session.d.ts.map +1 -1
- package/dist/app/modules/authentication/repositories/session.mjs +20 -3
- package/dist/app/modules/authentication/repositories/session.mjs.map +1 -1
- package/dist/app/modules/components/index.d.ts +1 -0
- package/dist/app/modules/components/index.d.ts.map +1 -1
- package/dist/app/modules/components/module.d.ts +3 -1
- package/dist/app/modules/components/module.d.ts.map +1 -1
- package/dist/app/modules/components/module.mjs +26 -7
- package/dist/app/modules/components/module.mjs.map +1 -1
- package/dist/app/modules/components/types.d.ts +11 -0
- package/dist/app/modules/components/types.d.ts.map +1 -0
- package/dist/app/modules/config/app-origins.d.ts +10 -0
- package/dist/app/modules/config/app-origins.d.ts.map +1 -0
- package/dist/app/modules/config/app-origins.mjs +21 -0
- package/dist/app/modules/config/app-origins.mjs.map +1 -0
- package/dist/app/modules/config/constants.d.ts +23 -50
- package/dist/app/modules/config/constants.d.ts.map +1 -1
- package/dist/app/modules/config/constants.mjs +34 -51
- package/dist/app/modules/config/constants.mjs.map +1 -1
- package/dist/app/modules/config/index.d.ts +2 -3
- package/dist/app/modules/config/index.d.ts.map +1 -1
- package/dist/app/modules/config/index.mjs +4 -8
- package/dist/app/modules/config/module.d.ts +2 -2
- package/dist/app/modules/config/module.d.ts.map +1 -1
- package/dist/app/modules/config/module.mjs +1 -1
- package/dist/app/modules/config/module.mjs.map +1 -1
- package/dist/app/modules/config/read.d.ts +29 -0
- package/dist/app/modules/config/read.d.ts.map +1 -0
- package/dist/app/modules/config/read.mjs +65 -0
- package/dist/app/modules/config/read.mjs.map +1 -0
- package/dist/app/modules/config/types.d.ts +30 -405
- package/dist/app/modules/config/types.d.ts.map +1 -1
- package/dist/app/modules/config/validator.d.ts.map +1 -1
- package/dist/app/modules/config/validator.mjs +3 -87
- package/dist/app/modules/config/validator.mjs.map +1 -1
- package/dist/app/modules/database/index.d.ts +1 -0
- package/dist/app/modules/database/index.d.ts.map +1 -1
- package/dist/app/modules/database/index.mjs +2 -1
- package/dist/app/modules/database/migration.d.ts +33 -0
- package/dist/app/modules/database/migration.d.ts.map +1 -0
- package/dist/app/modules/database/migration.mjs +52 -0
- package/dist/app/modules/database/migration.mjs.map +1 -0
- package/dist/app/modules/database/module.d.ts.map +1 -1
- package/dist/app/modules/database/module.mjs +12 -6
- package/dist/app/modules/database/module.mjs.map +1 -1
- package/dist/app/modules/database/repositories/client/repository.d.ts +6 -1
- package/dist/app/modules/database/repositories/client/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/client/repository.mjs +21 -4
- package/dist/app/modules/database/repositories/client/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/event/repository.d.ts +29 -2
- package/dist/app/modules/database/repositories/event/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/event/repository.mjs +42 -24
- package/dist/app/modules/database/repositories/event/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/helpers.d.ts +24 -1
- package/dist/app/modules/database/repositories/helpers.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/helpers.mjs +38 -1
- package/dist/app/modules/database/repositories/helpers.mjs.map +1 -1
- package/dist/app/modules/database/repositories/identity-provider/repository.mjs +1 -1
- package/dist/app/modules/database/repositories/identity-provider-account/repository.mjs +4 -2
- package/dist/app/modules/database/repositories/identity-provider-account/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/key/repository.mjs +1 -1
- package/dist/app/modules/database/repositories/permission/repository.mjs +1 -1
- package/dist/app/modules/database/repositories/policy/repository.mjs +1 -1
- package/dist/app/modules/database/repositories/role/repository.mjs +1 -1
- package/dist/app/modules/database/repositories/scope/repository.mjs +1 -1
- package/dist/app/modules/database/repositories/trust-anchor/repository.mjs +1 -1
- package/dist/app/modules/database/repositories/user/repository.d.ts +7 -2
- package/dist/app/modules/database/repositories/user/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/user/repository.mjs +21 -4
- package/dist/app/modules/database/repositories/user/repository.mjs.map +1 -1
- package/dist/app/modules/http/constants.d.ts +3 -1
- package/dist/app/modules/http/constants.d.ts.map +1 -1
- package/dist/app/modules/http/constants.mjs +3 -2
- package/dist/app/modules/http/constants.mjs.map +1 -1
- package/dist/app/modules/http/module.d.ts +30 -9
- package/dist/app/modules/http/module.d.ts.map +1 -1
- package/dist/app/modules/http/module.mjs +31 -33
- package/dist/app/modules/http/module.mjs.map +1 -1
- package/dist/app/modules/http/modules/controller.d.ts +4 -3
- package/dist/app/modules/http/modules/controller.d.ts.map +1 -1
- package/dist/app/modules/http/modules/controller.mjs +65 -36
- package/dist/app/modules/http/modules/controller.mjs.map +1 -1
- package/dist/app/modules/http/modules/middleware.d.ts +13 -22
- package/dist/app/modules/http/modules/middleware.d.ts.map +1 -1
- package/dist/app/modules/http/modules/middleware.mjs +20 -36
- package/dist/app/modules/http/modules/middleware.mjs.map +1 -1
- package/dist/app/modules/identity/module.mjs +4 -4
- package/dist/app/modules/identity/repositories/client.mjs +4 -2
- package/dist/app/modules/identity/repositories/client.mjs.map +1 -1
- package/dist/app/modules/identity/repositories/user.mjs +4 -2
- package/dist/app/modules/identity/repositories/user.mjs.map +1 -1
- package/dist/app/modules/index.mjs +21 -23
- package/dist/app/modules/logger/module.mjs +1 -1
- package/dist/app/modules/logger/module.mjs.map +1 -1
- package/dist/app/modules/mail/module.d.ts.map +1 -1
- package/dist/app/modules/mail/module.mjs.map +1 -1
- package/dist/app/modules/oauth2/constants.d.ts +2 -1
- package/dist/app/modules/oauth2/constants.d.ts.map +1 -1
- package/dist/app/modules/oauth2/constants.mjs +1 -0
- package/dist/app/modules/oauth2/constants.mjs.map +1 -1
- package/dist/app/modules/oauth2/module.d.ts.map +1 -1
- package/dist/app/modules/oauth2/module.mjs +9 -4
- package/dist/app/modules/oauth2/module.mjs.map +1 -1
- package/dist/app/modules/oauth2/repositories/client/repository.mjs +4 -2
- package/dist/app/modules/oauth2/repositories/client/repository.mjs.map +1 -1
- package/dist/app/modules/oauth2/repositories/consent/repository.d.ts.map +1 -1
- package/dist/app/modules/oauth2/repositories/consent/repository.mjs +3 -2
- package/dist/app/modules/oauth2/repositories/consent/repository.mjs.map +1 -1
- package/dist/app/modules/oauth2/repositories/console-login/index.d.ts +2 -0
- package/dist/app/modules/oauth2/repositories/console-login/index.d.ts.map +1 -0
- package/dist/app/modules/oauth2/repositories/console-login/index.mjs +5 -0
- package/dist/app/modules/oauth2/repositories/console-login/store.d.ts +19 -0
- package/dist/app/modules/oauth2/repositories/console-login/store.d.ts.map +1 -0
- package/dist/app/modules/oauth2/repositories/console-login/store.mjs +47 -0
- package/dist/app/modules/oauth2/repositories/console-login/store.mjs.map +1 -0
- package/dist/app/modules/oauth2/repositories/constants.d.ts +1 -0
- package/dist/app/modules/oauth2/repositories/constants.d.ts.map +1 -1
- package/dist/app/modules/oauth2/repositories/constants.mjs +1 -0
- package/dist/app/modules/oauth2/repositories/constants.mjs.map +1 -1
- package/dist/app/modules/oauth2/repositories/index.d.ts +1 -0
- package/dist/app/modules/oauth2/repositories/index.d.ts.map +1 -1
- package/dist/app/modules/oauth2/repositories/index.mjs +3 -1
- package/dist/app/modules/oauth2/repositories/session-token/repository.d.ts +2 -2
- package/dist/app/modules/oauth2/repositories/session-token/repository.d.ts.map +1 -1
- package/dist/app/modules/oauth2/repositories/session-token/repository.mjs +5 -3
- package/dist/app/modules/oauth2/repositories/session-token/repository.mjs.map +1 -1
- package/dist/app/modules/provisioning/module.d.ts.map +1 -1
- package/dist/app/modules/provisioning/module.mjs +5 -6
- package/dist/app/modules/provisioning/module.mjs.map +1 -1
- package/dist/app/modules/provisioning/sources/composite/module.d.ts.map +1 -1
- package/dist/app/modules/provisioning/sources/composite/module.mjs +2 -1
- package/dist/app/modules/provisioning/sources/composite/module.mjs.map +1 -1
- package/dist/app/modules/provisioning/sources/default/module.d.ts.map +1 -1
- package/dist/app/modules/provisioning/sources/default/module.mjs +2 -1
- package/dist/app/modules/provisioning/sources/default/module.mjs.map +1 -1
- package/dist/app/modules/runtime/module.d.ts.map +1 -1
- package/dist/app/modules/runtime/module.mjs +2 -1
- package/dist/app/modules/runtime/module.mjs.map +1 -1
- package/dist/app/types.d.ts +16 -0
- package/dist/app/types.d.ts.map +1 -1
- package/dist/cli/commands/config.d.ts +40 -0
- package/dist/cli/commands/config.d.ts.map +1 -0
- package/dist/cli/commands/config.mjs +65 -0
- package/dist/cli/commands/config.mjs.map +1 -0
- package/dist/cli/commands/healthcheck.d.ts +3 -2
- package/dist/cli/commands/healthcheck.d.ts.map +1 -1
- package/dist/cli/commands/healthcheck.mjs +6 -3
- package/dist/cli/commands/healthcheck.mjs.map +1 -1
- package/dist/cli/commands/index.d.ts +3 -0
- package/dist/cli/commands/index.d.ts.map +1 -1
- package/dist/cli/commands/index.mjs +3 -1
- package/dist/cli/commands/migration.d.ts +3 -10
- package/dist/cli/commands/migration.d.ts.map +1 -1
- package/dist/cli/commands/migration.mjs +17 -9
- package/dist/cli/commands/migration.mjs.map +1 -1
- package/dist/cli/commands/shutdown.d.ts +16 -0
- package/dist/cli/commands/shutdown.d.ts.map +1 -0
- package/dist/cli/commands/shutdown.mjs +41 -0
- package/dist/cli/commands/shutdown.mjs.map +1 -0
- package/dist/cli/commands/start.d.ts +3 -2
- package/dist/cli/commands/start.d.ts.map +1 -1
- package/dist/cli/commands/start.mjs +3 -21
- package/dist/cli/commands/start.mjs.map +1 -1
- package/dist/cli/commands/types.d.ts.map +1 -0
- package/dist/cli/index.d.ts +8 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.mjs.map +1 -1
- package/dist/cli/module.d.ts +0 -2
- package/dist/cli/module.d.ts.map +1 -1
- package/dist/cli/module.mjs +4 -3
- package/dist/cli/module.mjs.map +1 -1
- package/dist/components/oauth2-cleaner/module.d.ts +2 -2
- package/dist/components/oauth2-cleaner/module.d.ts.map +1 -1
- package/dist/components/oauth2-cleaner/module.mjs +10 -7
- package/dist/components/oauth2-cleaner/module.mjs.map +1 -1
- package/dist/core/authentication/index.mjs +2 -1
- package/dist/core/authentication/session/constants.d.ts +10 -0
- package/dist/core/authentication/session/constants.d.ts.map +1 -0
- package/dist/core/authentication/session/constants.mjs +16 -0
- package/dist/core/authentication/session/constants.mjs.map +1 -0
- package/dist/core/authentication/session/index.d.ts +1 -0
- package/dist/core/authentication/session/index.d.ts.map +1 -1
- package/dist/core/authentication/session/index.mjs +2 -1
- package/dist/core/authentication/session/module.d.ts +2 -1
- package/dist/core/authentication/session/module.d.ts.map +1 -1
- package/dist/core/authentication/session/module.mjs +7 -1
- package/dist/core/authentication/session/module.mjs.map +1 -1
- package/dist/core/authentication/session/types.d.ts +70 -1
- package/dist/core/authentication/session/types.d.ts.map +1 -1
- package/dist/core/authentication/session/types.mjs.map +1 -1
- package/dist/core/entities/client/schema.d.ts.map +1 -1
- package/dist/core/entities/client/schema.mjs +1 -2
- package/dist/core/entities/client/schema.mjs.map +1 -1
- package/dist/core/entities/client/service.d.ts.map +1 -1
- package/dist/core/entities/client/service.mjs +15 -1
- package/dist/core/entities/client/service.mjs.map +1 -1
- package/dist/core/entities/client/system-clients.d.ts +0 -5
- package/dist/core/entities/client/system-clients.d.ts.map +1 -1
- package/dist/core/entities/client/system-clients.mjs +0 -6
- package/dist/core/entities/client/system-clients.mjs.map +1 -1
- package/dist/core/entities/client/types.d.ts +12 -0
- package/dist/core/entities/client/types.d.ts.map +1 -1
- package/dist/core/entities/client-permission/service.mjs +1 -1
- package/dist/core/entities/client-permission/service.mjs.map +1 -1
- package/dist/core/entities/event/constants.d.ts +1 -6
- package/dist/core/entities/event/constants.d.ts.map +1 -1
- package/dist/core/entities/event/constants.mjs +1 -5
- package/dist/core/entities/event/constants.mjs.map +1 -1
- package/dist/core/entities/event/entity-event-handler.d.ts.map +1 -1
- package/dist/core/entities/event/entity-event-handler.mjs +3 -2
- package/dist/core/entities/event/entity-event-handler.mjs.map +1 -1
- package/dist/core/entities/event/service.d.ts.map +1 -1
- package/dist/core/entities/event/service.mjs +3 -3
- package/dist/core/entities/event/service.mjs.map +1 -1
- package/dist/core/entities/event/types.d.ts +15 -1
- package/dist/core/entities/event/types.d.ts.map +1 -1
- package/dist/core/entities/permission/service.mjs +1 -2
- package/dist/core/entities/permission/service.mjs.map +1 -1
- package/dist/core/entities/role-permission/service.mjs +1 -1
- package/dist/core/entities/role-permission/service.mjs.map +1 -1
- package/dist/core/entities/session/service.d.ts +13 -1
- package/dist/core/entities/session/service.d.ts.map +1 -1
- package/dist/core/entities/session/service.mjs +19 -16
- package/dist/core/entities/session/service.mjs.map +1 -1
- package/dist/core/entities/user/schema.d.ts.map +1 -1
- package/dist/core/entities/user/schema.mjs +1 -0
- package/dist/core/entities/user/schema.mjs.map +1 -1
- package/dist/core/entities/user/service.d.ts.map +1 -1
- package/dist/core/entities/user/service.mjs +21 -1
- package/dist/core/entities/user/service.mjs.map +1 -1
- package/dist/core/entities/user/types.d.ts +12 -0
- package/dist/core/entities/user/types.d.ts.map +1 -1
- package/dist/core/entities/user-permission/service.mjs +1 -1
- package/dist/core/entities/user-permission/service.mjs.map +1 -1
- package/dist/core/identity/permission/junction-grant.mjs +1 -1
- package/dist/core/identity/permission/junction-grant.mjs.map +1 -1
- package/dist/core/identity/provider/account/module.mjs +1 -1
- package/dist/core/identity/provider/account/module.mjs.map +1 -1
- package/dist/core/identity/provider/authentication/protocols/oauth2/assurance.mjs +1 -1
- package/dist/core/identity/provider/authentication/protocols/oauth2/assurance.mjs.map +1 -1
- package/dist/core/identity/registration/service.d.ts.map +1 -1
- package/dist/core/identity/registration/service.mjs +2 -1
- package/dist/core/identity/registration/service.mjs.map +1 -1
- package/dist/core/index.mjs +11 -3
- package/dist/core/oauth2/authorization/helpers.d.ts +14 -0
- package/dist/core/oauth2/authorization/helpers.d.ts.map +1 -1
- package/dist/core/oauth2/authorization/helpers.mjs +9 -1
- package/dist/core/oauth2/authorization/helpers.mjs.map +1 -1
- package/dist/core/oauth2/authorization/index.mjs +2 -2
- package/dist/core/oauth2/authorization/module.mjs +1 -1
- package/dist/core/oauth2/authorization/module.mjs.map +1 -1
- package/dist/core/oauth2/backchannel-logout/constants.d.ts +16 -0
- package/dist/core/oauth2/backchannel-logout/constants.d.ts.map +1 -0
- package/dist/core/oauth2/backchannel-logout/constants.mjs +20 -0
- package/dist/core/oauth2/backchannel-logout/constants.mjs.map +1 -0
- package/dist/core/oauth2/backchannel-logout/index.d.ts +4 -0
- package/dist/core/oauth2/backchannel-logout/index.d.ts.map +1 -0
- package/dist/core/oauth2/backchannel-logout/index.mjs +6 -0
- package/dist/core/oauth2/backchannel-logout/module.d.ts +26 -0
- package/dist/core/oauth2/backchannel-logout/module.d.ts.map +1 -0
- package/dist/core/oauth2/backchannel-logout/module.mjs +78 -0
- package/dist/core/oauth2/backchannel-logout/module.mjs.map +1 -0
- package/dist/core/oauth2/backchannel-logout/types.d.ts +29 -0
- package/dist/core/oauth2/backchannel-logout/types.d.ts.map +1 -0
- package/dist/core/oauth2/console-login/constants.d.ts +19 -0
- package/dist/core/oauth2/console-login/constants.d.ts.map +1 -0
- package/dist/core/oauth2/console-login/constants.mjs +24 -0
- package/dist/core/oauth2/console-login/constants.mjs.map +1 -0
- package/dist/core/oauth2/console-login/index.d.ts +3 -0
- package/dist/core/oauth2/console-login/index.d.ts.map +1 -0
- package/dist/core/oauth2/console-login/index.mjs +5 -0
- package/dist/core/oauth2/console-login/types.d.ts +53 -0
- package/dist/core/oauth2/console-login/types.d.ts.map +1 -0
- package/dist/core/oauth2/end-session/service.mjs +1 -1
- package/dist/core/oauth2/end-session/service.mjs.map +1 -1
- package/dist/core/oauth2/federated-login/module.mjs +3 -3
- package/dist/core/oauth2/federated-login/module.mjs.map +1 -1
- package/dist/core/oauth2/index.d.ts +4 -0
- package/dist/core/oauth2/index.d.ts.map +1 -1
- package/dist/core/oauth2/index.mjs +13 -3
- package/dist/core/oauth2/introspection/index.d.ts +3 -0
- package/dist/core/oauth2/introspection/index.d.ts.map +1 -0
- package/dist/core/oauth2/introspection/index.mjs +5 -0
- package/dist/core/oauth2/introspection/module.d.ts +14 -0
- package/dist/core/oauth2/introspection/module.d.ts.map +1 -0
- package/dist/core/oauth2/introspection/module.mjs +49 -0
- package/dist/core/oauth2/introspection/module.mjs.map +1 -0
- package/dist/core/oauth2/introspection/types.d.ts +45 -0
- package/dist/core/oauth2/introspection/types.d.ts.map +1 -0
- package/dist/core/oauth2/introspection/types.mjs +4 -0
- package/dist/core/oauth2/openid/claims.d.ts +20 -2
- package/dist/core/oauth2/openid/claims.d.ts.map +1 -1
- package/dist/core/oauth2/openid/claims.mjs +18 -4
- package/dist/core/oauth2/openid/claims.mjs.map +1 -1
- package/dist/core/oauth2/session-credential/constants.d.ts +30 -0
- package/dist/core/oauth2/session-credential/constants.d.ts.map +1 -0
- package/dist/core/oauth2/session-credential/constants.mjs +34 -0
- package/dist/core/oauth2/session-credential/constants.mjs.map +1 -0
- package/dist/core/oauth2/session-credential/index.d.ts +3 -0
- package/dist/core/oauth2/session-credential/index.d.ts.map +1 -0
- package/dist/core/oauth2/session-credential/index.mjs +6 -0
- package/dist/core/oauth2/session-credential/module.d.ts +31 -0
- package/dist/core/oauth2/session-credential/module.d.ts.map +1 -0
- package/dist/core/oauth2/session-credential/module.mjs +43 -0
- package/dist/core/oauth2/session-credential/module.mjs.map +1 -0
- package/dist/core/oauth2/session-token/constants.d.ts +10 -0
- package/dist/core/oauth2/session-token/constants.d.ts.map +1 -0
- package/dist/core/oauth2/session-token/constants.mjs +16 -0
- package/dist/core/oauth2/session-token/constants.mjs.map +1 -0
- package/dist/core/oauth2/session-token/index.d.ts +1 -0
- package/dist/core/oauth2/session-token/index.d.ts.map +1 -1
- package/dist/core/oauth2/session-token/index.mjs +2 -1
- package/dist/core/oauth2/session-token/types.d.ts +13 -2
- package/dist/core/oauth2/session-token/types.d.ts.map +1 -1
- package/dist/core/provisioning/merge/module.mjs +5 -3
- package/dist/core/provisioning/merge/module.mjs.map +1 -1
- package/dist/core/query/module.mjs +1 -1
- package/dist/core/query/module.mjs.map +1 -1
- package/dist/core/security/policy/evaluator.mjs +1 -1
- package/dist/core/security/policy/evaluator.mjs.map +1 -1
- package/dist/index.mjs +62 -59
- package/dist/path.mjs +1 -1
- package/dist/swagger.json +466 -104
- package/dist/utils/error.d.ts +6 -0
- package/dist/utils/error.d.ts.map +1 -1
- package/dist/utils/error.mjs +6 -2
- package/dist/utils/error.mjs.map +1 -1
- package/dist/utils/index.mjs +2 -2
- package/package.json +31 -25
- package/dist/adapters/http/middleware/built-in/assets.d.ts +0 -11
- package/dist/adapters/http/middleware/built-in/assets.d.ts.map +0 -1
- package/dist/adapters/http/middleware/built-in/assets.mjs +0 -91
- package/dist/adapters/http/middleware/built-in/assets.mjs.map +0 -1
- package/dist/adapters/http/middleware/built-in/theme.d.ts +0 -15
- package/dist/adapters/http/middleware/built-in/theme.d.ts.map +0 -1
- package/dist/adapters/http/middleware/built-in/theme.mjs +0 -27
- package/dist/adapters/http/middleware/built-in/theme.mjs.map +0 -1
- package/dist/adapters/http/middleware/built-in/types.d.ts +0 -14
- package/dist/adapters/http/middleware/built-in/types.d.ts.map +0 -1
- package/dist/adapters/http/middleware/built-in/ui-http-client.d.ts +0 -15
- package/dist/adapters/http/middleware/built-in/ui-http-client.d.ts.map +0 -1
- package/dist/adapters/http/middleware/built-in/ui-http-client.mjs +0 -25
- package/dist/adapters/http/middleware/built-in/ui-http-client.mjs.map +0 -1
- package/dist/adapters/http/request/helpers/redirect.d.ts +0 -14
- package/dist/adapters/http/request/helpers/redirect.d.ts.map +0 -1
- package/dist/adapters/http/request/helpers/redirect.mjs +0 -36
- package/dist/adapters/http/request/helpers/redirect.mjs.map +0 -1
- package/dist/adapters/http/ui/account-console/index.d.ts +0 -4
- package/dist/adapters/http/ui/account-console/index.d.ts.map +0 -1
- package/dist/adapters/http/ui/account-console/index.mjs +0 -6
- package/dist/adapters/http/ui/account-console/module.d.ts +0 -28
- package/dist/adapters/http/ui/account-console/module.d.ts.map +0 -1
- package/dist/adapters/http/ui/account-console/module.mjs +0 -80
- package/dist/adapters/http/ui/account-console/module.mjs.map +0 -1
- package/dist/adapters/http/ui/account-console/ref.d.ts +0 -30
- package/dist/adapters/http/ui/account-console/ref.d.ts.map +0 -1
- package/dist/adapters/http/ui/account-console/ref.mjs +0 -50
- package/dist/adapters/http/ui/account-console/ref.mjs.map +0 -1
- package/dist/adapters/http/ui/account-console/types.d.ts +0 -11
- package/dist/adapters/http/ui/account-console/types.d.ts.map +0 -1
- package/dist/adapters/http/ui/auth-console/http-client.d.ts +0 -22
- package/dist/adapters/http/ui/auth-console/http-client.d.ts.map +0 -1
- package/dist/adapters/http/ui/auth-console/http-client.mjs.map +0 -1
- package/dist/adapters/http/ui/auth-console/index.d.ts +0 -6
- package/dist/adapters/http/ui/auth-console/index.d.ts.map +0 -1
- package/dist/adapters/http/ui/auth-console/index.mjs +0 -8
- package/dist/adapters/http/ui/auth-console/module.d.ts +0 -4
- package/dist/adapters/http/ui/auth-console/module.d.ts.map +0 -1
- package/dist/adapters/http/ui/auth-console/module.mjs +0 -73
- package/dist/adapters/http/ui/auth-console/module.mjs.map +0 -1
- package/dist/adapters/http/ui/auth-console/resolve.d.ts +0 -21
- package/dist/adapters/http/ui/auth-console/resolve.d.ts.map +0 -1
- package/dist/adapters/http/ui/auth-console/resolve.mjs +0 -53
- package/dist/adapters/http/ui/auth-console/resolve.mjs.map +0 -1
- package/dist/adapters/http/ui/auth-console/serve.d.ts +0 -9
- package/dist/adapters/http/ui/auth-console/serve.d.ts.map +0 -1
- package/dist/adapters/http/ui/auth-console/serve.mjs +0 -35
- package/dist/adapters/http/ui/auth-console/serve.mjs.map +0 -1
- package/dist/adapters/http/ui/auth-console/types.d.ts +0 -26
- package/dist/adapters/http/ui/auth-console/types.d.ts.map +0 -1
- package/dist/adapters/http/ui/console-packages/index.d.ts.map +0 -1
- package/dist/adapters/http/ui/console-packages/index.mjs +0 -5
- package/dist/adapters/http/ui/console-packages/module.d.ts +0 -33
- package/dist/adapters/http/ui/console-packages/module.d.ts.map +0 -1
- package/dist/adapters/http/ui/console-packages/module.mjs +0 -70
- package/dist/adapters/http/ui/console-packages/module.mjs.map +0 -1
- package/dist/adapters/http/ui/console-packages/types.d.ts +0 -12
- package/dist/adapters/http/ui/console-packages/types.d.ts.map +0 -1
- package/dist/adapters/http/ui/index.d.ts +0 -6
- package/dist/adapters/http/ui/index.d.ts.map +0 -1
- package/dist/adapters/http/ui/index.mjs +0 -25
- package/dist/adapters/http/ui/shared/html.d.ts +0 -76
- package/dist/adapters/http/ui/shared/html.d.ts.map +0 -1
- package/dist/adapters/http/ui/shared/html.mjs +0 -104
- package/dist/adapters/http/ui/shared/html.mjs.map +0 -1
- package/dist/adapters/http/ui/shared/index.d.ts +0 -2
- package/dist/adapters/http/ui/shared/index.d.ts.map +0 -1
- package/dist/adapters/http/ui/shared/index.mjs +0 -5
- package/dist/adapters/http/ui/theme/apply.d.ts +0 -12
- package/dist/adapters/http/ui/theme/apply.d.ts.map +0 -1
- package/dist/adapters/http/ui/theme/apply.mjs +0 -29
- package/dist/adapters/http/ui/theme/apply.mjs.map +0 -1
- package/dist/adapters/http/ui/theme/assets.d.ts +0 -20
- package/dist/adapters/http/ui/theme/assets.d.ts.map +0 -1
- package/dist/adapters/http/ui/theme/assets.mjs +0 -86
- package/dist/adapters/http/ui/theme/assets.mjs.map +0 -1
- package/dist/adapters/http/ui/theme/constants.d.ts +0 -16
- package/dist/adapters/http/ui/theme/constants.d.ts.map +0 -1
- package/dist/adapters/http/ui/theme/constants.mjs +0 -20
- package/dist/adapters/http/ui/theme/constants.mjs.map +0 -1
- package/dist/adapters/http/ui/theme/contract/constants.d.ts +0 -120
- package/dist/adapters/http/ui/theme/contract/constants.d.ts.map +0 -1
- package/dist/adapters/http/ui/theme/contract/constants.mjs +0 -136
- package/dist/adapters/http/ui/theme/contract/constants.mjs.map +0 -1
- package/dist/adapters/http/ui/theme/contract/head.d.ts +0 -12
- package/dist/adapters/http/ui/theme/contract/head.d.ts.map +0 -1
- package/dist/adapters/http/ui/theme/contract/head.mjs +0 -61
- package/dist/adapters/http/ui/theme/contract/head.mjs.map +0 -1
- package/dist/adapters/http/ui/theme/contract/index.d.ts +0 -6
- package/dist/adapters/http/ui/theme/contract/index.d.ts.map +0 -1
- package/dist/adapters/http/ui/theme/contract/index.mjs +0 -8
- package/dist/adapters/http/ui/theme/contract/manifest.d.ts +0 -25
- package/dist/adapters/http/ui/theme/contract/manifest.d.ts.map +0 -1
- package/dist/adapters/http/ui/theme/contract/manifest.mjs +0 -77
- package/dist/adapters/http/ui/theme/contract/manifest.mjs.map +0 -1
- package/dist/adapters/http/ui/theme/contract/types.d.ts +0 -26
- package/dist/adapters/http/ui/theme/contract/types.d.ts.map +0 -1
- package/dist/adapters/http/ui/theme/contract/utils.d.ts +0 -11
- package/dist/adapters/http/ui/theme/contract/utils.d.ts.map +0 -1
- package/dist/adapters/http/ui/theme/contract/utils.mjs +0 -22
- package/dist/adapters/http/ui/theme/contract/utils.mjs.map +0 -1
- package/dist/adapters/http/ui/theme/index.d.ts +0 -7
- package/dist/adapters/http/ui/theme/index.d.ts.map +0 -1
- package/dist/adapters/http/ui/theme/index.mjs +0 -13
- package/dist/adapters/http/ui/theme/module.d.ts +0 -79
- package/dist/adapters/http/ui/theme/module.d.ts.map +0 -1
- package/dist/adapters/http/ui/theme/module.mjs +0 -206
- package/dist/adapters/http/ui/theme/module.mjs.map +0 -1
- package/dist/adapters/http/ui/theme/types.d.ts +0 -42
- package/dist/adapters/http/ui/theme/types.d.ts.map +0 -1
- package/dist/app/modules/config/helpers.d.ts +0 -9
- package/dist/app/modules/config/helpers.d.ts.map +0 -1
- package/dist/app/modules/config/helpers.mjs +0 -22
- package/dist/app/modules/config/helpers.mjs.map +0 -1
- package/dist/app/modules/config/normalize.d.ts +0 -3
- package/dist/app/modules/config/normalize.d.ts.map +0 -1
- package/dist/app/modules/config/normalize.mjs +0 -117
- package/dist/app/modules/config/normalize.mjs.map +0 -1
- package/dist/app/modules/config/origins.d.ts +0 -25
- package/dist/app/modules/config/origins.d.ts.map +0 -1
- package/dist/app/modules/config/origins.mjs +0 -46
- package/dist/app/modules/config/origins.mjs.map +0 -1
- package/dist/app/modules/config/read/env.d.ts +0 -3
- package/dist/app/modules/config/read/env.d.ts.map +0 -1
- package/dist/app/modules/config/read/env.mjs +0 -139
- package/dist/app/modules/config/read/env.mjs.map +0 -1
- package/dist/app/modules/config/read/fs.d.ts +0 -3
- package/dist/app/modules/config/read/fs.d.ts.map +0 -1
- package/dist/app/modules/config/read/fs.mjs +0 -60
- package/dist/app/modules/config/read/fs.mjs.map +0 -1
- package/dist/app/modules/config/read/index.d.ts +0 -5
- package/dist/app/modules/config/read/index.d.ts.map +0 -1
- package/dist/app/modules/config/read/index.mjs +0 -7
- package/dist/app/modules/config/read/module.d.ts +0 -4
- package/dist/app/modules/config/read/module.d.ts.map +0 -1
- package/dist/app/modules/config/read/module.mjs +0 -29
- package/dist/app/modules/config/read/module.mjs.map +0 -1
- package/dist/app/modules/config/read/types.d.ts +0 -9
- package/dist/app/modules/config/read/types.d.ts.map +0 -1
- package/dist/app/modules/config/trust-proxy.d.ts +0 -28
- package/dist/app/modules/config/trust-proxy.d.ts.map +0 -1
- package/dist/app/modules/config/trust-proxy.mjs +0 -64
- package/dist/app/modules/config/trust-proxy.mjs.map +0 -1
- package/dist/cli/config.d.ts +0 -18
- package/dist/cli/config.d.ts.map +0 -1
- package/dist/cli/config.mjs +0 -34
- package/dist/cli/config.mjs.map +0 -1
- package/dist/cli/types.d.ts.map +0 -1
- package/dist/utils/host.d.ts +0 -2
- package/dist/utils/host.d.ts.map +0 -1
- package/dist/utils/host.mjs +0 -12
- package/dist/utils/host.mjs.map +0 -1
- /package/dist/adapters/http/{middleware/built-in → controllers/workflows/account}/types.mjs +0 -0
- /package/dist/adapters/http/{ui/console-packages → controllers/workflows/admin}/index.d.ts +0 -0
- /package/dist/adapters/http/{ui/account-console → controllers/workflows/admin}/types.mjs +0 -0
- /package/dist/adapters/http/{ui/auth-console → controllers/workflows/console-login}/types.mjs +0 -0
- /package/dist/adapters/http/{ui/console-packages → internal-client}/types.mjs +0 -0
- /package/dist/{adapters/http/ui/theme/contract → app/modules/components}/types.mjs +0 -0
- /package/dist/cli/{types.d.ts → commands/types.d.ts} +0 -0
- /package/dist/{adapters/http/ui/theme → cli/commands}/types.mjs +0 -0
- /package/dist/{app/modules/config/read → core/oauth2/backchannel-logout}/types.mjs +0 -0
- /package/dist/{cli → core/oauth2/console-login}/types.mjs +0 -0
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { DataSourceOptions } from 'typeorm';
|
|
2
2
|
export declare class DataSourceOptionsBuilder {
|
|
3
3
|
buildWithEnv(): DataSourceOptions;
|
|
4
|
+
buildWithEnvOrDefault(): DataSourceOptions;
|
|
4
5
|
buildWith(options: DataSourceOptions): DataSourceOptions;
|
|
5
6
|
protected normalize(options: DataSourceOptions): DataSourceOptions;
|
|
6
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/database/data-source/options/module.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/database/data-source/options/module.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAqFjD,qBAAa,wBAAwB;IACjC,YAAY;IAeZ,qBAAqB;IAiBrB,SAAS,CAAC,OAAO,EAAE,iBAAiB;IAMpC,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,GAAI,iBAAiB;CAoHtE"}
|
|
@@ -53,15 +53,40 @@ import { UserPermissionSubscriber } from "../../domains/user-permission/subscrib
|
|
|
53
53
|
import { UserRoleEntity } from "../../domains/user-role/entity.mjs";
|
|
54
54
|
import { UserRoleSubscriber } from "../../domains/user-role/subscriber.mjs";
|
|
55
55
|
import "../../domains/index.mjs";
|
|
56
|
+
import { DIST_PATH, SRC_PATH } from "../../../../path.mjs";
|
|
56
57
|
import { AuthupError } from "@authup/errors";
|
|
57
|
-
import { CodeTransformation, isCodeTransformation, readDataSourceOptionsFromEnv,
|
|
58
|
+
import { CodeTransformation, isCodeTransformation, readDataSourceOptionsFromEnv, useEnv } from "typeorm-extension";
|
|
59
|
+
import path from "node:path";
|
|
58
60
|
//#region src/adapters/database/data-source/options/module.ts
|
|
61
|
+
const NO_DATABASE_CONFIGURED = "No database is configured. Set DB_TYPE to \"postgres\" or \"mysql\", together with DB_HOST, DB_PORT, DB_USERNAME, DB_PASSWORD and DB_DATABASE.";
|
|
62
|
+
/**
|
|
63
|
+
* Whether the environment names a database connection without naming a driver.
|
|
64
|
+
*
|
|
65
|
+
* `readDataSourceOptionsFromEnv` reports the TYPE alone, so it answers nothing
|
|
66
|
+
* for an environment that carries every credential but no `DB_TYPE`. Read the
|
|
67
|
+
* connection keys through typeorm-extension's own reader rather than a local
|
|
68
|
+
* key list, so this cannot drift from what it accepts (each one is `DB_*` or
|
|
69
|
+
* its `TYPEORM_*` alias). The list-valued keys are excluded deliberately: they
|
|
70
|
+
* default to `[]` and would report every environment as configured.
|
|
71
|
+
*/ function hasDatabaseConnectionEnv() {
|
|
72
|
+
const env = useEnv();
|
|
73
|
+
return typeof env.url !== "undefined" || typeof env.host !== "undefined" || typeof env.port !== "undefined" || typeof env.username !== "undefined" || typeof env.password !== "undefined" || typeof env.database !== "undefined";
|
|
74
|
+
}
|
|
59
75
|
var DataSourceOptionsBuilder = class {
|
|
60
76
|
buildWithEnv() {
|
|
61
77
|
const options = readDataSourceOptionsFromEnv();
|
|
62
|
-
if (!options) throw new AuthupError(
|
|
78
|
+
if (!options) throw new AuthupError(NO_DATABASE_CONFIGURED);
|
|
63
79
|
return this.normalize(options);
|
|
64
80
|
}
|
|
81
|
+
buildWithEnvOrDefault() {
|
|
82
|
+
const options = readDataSourceOptionsFromEnv();
|
|
83
|
+
if (options) return this.normalize(options);
|
|
84
|
+
if (hasDatabaseConnectionEnv()) throw new AuthupError(NO_DATABASE_CONFIGURED);
|
|
85
|
+
return this.normalize({
|
|
86
|
+
type: "better-sqlite3",
|
|
87
|
+
database: "db.sqlite"
|
|
88
|
+
});
|
|
89
|
+
}
|
|
65
90
|
buildWith(options) {
|
|
66
91
|
return this.normalize(options);
|
|
67
92
|
}
|
|
@@ -131,8 +156,12 @@ var DataSourceOptionsBuilder = class {
|
|
|
131
156
|
]
|
|
132
157
|
};
|
|
133
158
|
if (options.type === "mysql" || options.type === "postgres") {
|
|
134
|
-
|
|
135
|
-
|
|
159
|
+
const migrationPath = [
|
|
160
|
+
(isCodeTransformation(CodeTransformation.JUST_IN_TIME) ? SRC_PATH : DIST_PATH).split(path.sep).join("/"),
|
|
161
|
+
"adapters/database/migrations",
|
|
162
|
+
options.type,
|
|
163
|
+
"*.{ts,js,mjs}"
|
|
164
|
+
].join("/");
|
|
136
165
|
Object.assign(options, {
|
|
137
166
|
migrations: [migrationPath],
|
|
138
167
|
migrationsTransactionMode: "all"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.mjs","names":["AuthupError","CodeTransformation","isCodeTransformation","readDataSourceOptionsFromEnv","transformFilePath","ClientEntity","ClientPermissionEntity","ClientPermissionSubscriber","ClientRoleEntity","ClientRoleSubscriber","ClientScopeEntity","ClientScopeSubscriber","ClientSubscriber","ConsentEntity","ConsentEntitySubscriber","EventEntity","IdentityProviderAccountEntity","IdentityProviderAccountSubscriber","IdentityProviderAttributeEntity","IdentityProviderAttributeMappingEntity","IdentityProviderAttributeSubscriber","IdentityProviderEntity","IdentityProviderPermissionMappingEntity","IdentityProviderRoleMappingEntity","IdentityProviderRoleSubscriber","IdentityProviderSubscriber","KeyEntity","PermissionEntity","PermissionPolicyEntity","PermissionSubscriber","PolicyAttributeEntity","PolicyAttributeSubscriber","PolicyEntity","PolicySubscriber","RealmEntity","RealmSubscriber","RoleAttributeEntity","RoleAttributeSubscriber","RoleEntity","RolePermissionEntity","RolePermissionSubscriber","RoleSubscriber","ScopeEntity","ScopeSubscriber","SessionEntity","SessionTokenEntity","TrustAnchorEntity","UserAttributeEntity","UserAttributeSubscriber","UserAuthenticatorEntity","UserEntity","UserPermissionEntity","UserPermissionSubscriber","UserRoleEntity","UserRoleSubscriber","UserSubscriber","DataSourceOptionsBuilder","buildWithEnv","options","normalize","buildWith","type","logging","entities","migrations","migrationsTransactionMode","subscribers","migrationPath","JUST_IN_TIME","Object","assign"],"sources":["../../../../../src/adapters/database/data-source/options/module.ts"],"sourcesContent":["/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { AuthupError } from '@authup/errors';\nimport type { DataSourceOptions } from 'typeorm';\nimport {\n CodeTransformation, \n isCodeTransformation, \n readDataSourceOptionsFromEnv, \n transformFilePath,\n} from 'typeorm-extension';\nimport {\n ClientEntity,\n ClientPermissionEntity,\n ClientPermissionSubscriber,\n ClientRoleEntity,\n ClientRoleSubscriber,\n ClientScopeEntity,\n ClientScopeSubscriber,\n ClientSubscriber,\n ConsentEntity,\n ConsentEntitySubscriber,\n EventEntity,\n IdentityProviderAccountEntity,\n IdentityProviderAccountSubscriber,\n IdentityProviderAttributeEntity,\n IdentityProviderAttributeMappingEntity,\n IdentityProviderAttributeSubscriber,\n IdentityProviderEntity,\n IdentityProviderPermissionMappingEntity,\n IdentityProviderRoleMappingEntity,\n IdentityProviderRoleSubscriber,\n IdentityProviderSubscriber,\n KeyEntity,\n PermissionEntity,\n PermissionPolicyEntity,\n PermissionSubscriber,\n PolicyAttributeEntity,\n PolicyAttributeSubscriber,\n PolicyEntity,\n PolicySubscriber,\n RealmEntity,\n RealmSubscriber,\n RoleAttributeEntity,\n RoleAttributeSubscriber,\n RoleEntity,\n RolePermissionEntity,\n RolePermissionSubscriber,\n RoleSubscriber,\n ScopeEntity,\n ScopeSubscriber,\n SessionEntity,\n SessionTokenEntity,\n TrustAnchorEntity,\n UserAttributeEntity,\n UserAttributeSubscriber,\n UserAuthenticatorEntity,\n UserEntity,\n UserPermissionEntity,\n UserPermissionSubscriber,\n UserRoleEntity,\n UserRoleSubscriber,\n UserSubscriber,\n} from '../../domains/index.ts';\n\nexport class DataSourceOptionsBuilder {\n buildWithEnv() {\n const options = readDataSourceOptionsFromEnv();\n\n if (!options) {\n throw new AuthupError('The database configuration could not be read from env variables.');\n }\n\n return this.normalize(options);\n }\n\n buildWith(options: DataSourceOptions) {\n return this.normalize(options);\n }\n\n // ------------------------------------------------------------------\n\n protected normalize(options: DataSourceOptions) : DataSourceOptions {\n if (\n options.type !== 'mysql' &&\n options.type !== 'postgres' &&\n options.type !== 'better-sqlite3'\n ) {\n throw new AuthupError(`The database type ${options.type} is not supported.`);\n }\n\n options = {\n ...options,\n logging: false,\n entities: [\n ...(options.entities ? options.entities : []) as string[],\n KeyEntity,\n\n EventEntity,\n\n SessionEntity,\n SessionTokenEntity,\n\n TrustAnchorEntity,\n\n ClientEntity,\n ClientPermissionEntity,\n ClientRoleEntity,\n ClientScopeEntity,\n\n ConsentEntity,\n\n IdentityProviderEntity,\n IdentityProviderAttributeEntity,\n IdentityProviderAccountEntity,\n IdentityProviderRoleMappingEntity,\n IdentityProviderPermissionMappingEntity,\n IdentityProviderAttributeMappingEntity,\n\n PermissionEntity,\n PermissionPolicyEntity,\n\n PolicyEntity,\n PolicyAttributeEntity,\n\n RealmEntity,\n\n\n RoleEntity,\n RoleAttributeEntity,\n RolePermissionEntity,\n\n ScopeEntity,\n\n UserEntity,\n UserAttributeEntity,\n UserAuthenticatorEntity,\n UserPermissionEntity,\n UserRoleEntity,\n ],\n migrations: [],\n migrationsTransactionMode: 'each',\n subscribers: [\n ...(options.subscribers || []) as string[],\n ClientSubscriber,\n ClientPermissionSubscriber,\n ClientRoleSubscriber,\n ClientScopeSubscriber,\n\n ConsentEntitySubscriber,\n\n IdentityProviderSubscriber,\n IdentityProviderAccountSubscriber,\n IdentityProviderAttributeSubscriber,\n IdentityProviderRoleSubscriber,\n\n PermissionSubscriber,\n PolicySubscriber,\n PolicyAttributeSubscriber,\n\n RealmSubscriber,\n\n\n RoleSubscriber,\n RoleAttributeSubscriber,\n RolePermissionSubscriber,\n\n ScopeSubscriber,\n\n UserSubscriber,\n UserAttributeSubscriber,\n UserPermissionSubscriber,\n UserRoleSubscriber,\n ],\n };\n\n if (\n options.type === 'mysql' ||\n options.type === 'postgres'\n ) {\n let migrationPath = `src/adapters/database/migrations/${options.type}/*.{ts,js,mjs}`;\n if (!isCodeTransformation(CodeTransformation.JUST_IN_TIME)) {\n migrationPath = transformFilePath(migrationPath, './dist', './src');\n }\n\n Object.assign(options, {\n migrations: [migrationPath],\n migrationsTransactionMode: 'all',\n } as DataSourceOptions);\n }\n\n return options;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqEA,IAAawD,2BAAb,MAAaA;CACTC,eAAe;EACX,MAAMC,UAAUvD,6BAAAA;EAEhB,IAAI,CAACuD,SACD,MAAM,IAAI1D,YAAY,kEAAA;EAG1B,OAAO,KAAK2D,UAAUD,OAAAA;CAC1B;CAEAE,UAAUF,SAA4B;EAClC,OAAO,KAAKC,UAAUD,OAAAA;CAC1B;CAIUC,UAAUD,SAAgD;EAChE,IACIA,QAAQG,SAAS,WACjBH,QAAQG,SAAS,cACjBH,QAAQG,SAAS,kBAEjB,MAAM,IAAI7D,YAAY,qBAAqB0D,QAAQG,KAAK,mBAAmB;EAG/EH,UAAU;GACN,GAAGA;GACHI,SAAS;GACTC,UAAU;IACFL,GAAAA,QAAQK,WAAWL,QAAQK,WAAW,CAAA;IAC1CrC;IAEAX;IAEA6B;IACAC;IAEAC;IAEAzC;IACAC;IACAE;IACAE;IAEAG;IAEAQ;IACAH;IACAF;IACAO;IACAD;IACAH;IAEAQ;IACAC;IAEAI;IACAF;IAEAI;IAGAI;IACAF;IACAG;IAEAG;IAEAQ;IACAH;IACAE;IACAE;IACAE;GACH;GACDW,YAAY,CAAA;GACZC,2BAA2B;GAC3BC,aAAa;IACLR,GAAAA,QAAQQ,eAAe,CAAA;IAC3BtD;IACAL;IACAE;IACAE;IAEAG;IAEAW;IACAR;IACAG;IACAI;IAEAK;IACAI;IACAF;IAEAI;IAGAM;IACAJ;IACAG;IAEAG;IAEAY;IACAP;IACAI;IACAE;GACH;EACL;EAEA,IACII,QAAQG,SAAS,WACjBH,QAAQG,SAAS,YACnB;GACE,IAAIM,gBAAgB,oCAAoCT,QAAQG,KAAK;GACrE,IAAI,CAAC3D,qBAAqBD,mBAAmBmE,YAAY,GACrDD,gBAAgB/D,kBAAkB+D,eAAe,UAAU,OAAA;GAG/DE,OAAOC,OAAOZ,SAAS;IACnBM,YAAY,CAACG,aAAc;IAC3BF,2BAA2B;GAC/B,CAAA;EACJ;EAEA,OAAOP;CACX;AACJ"}
|
|
1
|
+
{"version":3,"file":"module.mjs","names":["AuthupError","path","CodeTransformation","isCodeTransformation","readDataSourceOptionsFromEnv","useEnv","ClientEntity","ClientPermissionEntity","ClientPermissionSubscriber","ClientRoleEntity","ClientRoleSubscriber","ClientScopeEntity","ClientScopeSubscriber","ClientSubscriber","ConsentEntity","ConsentEntitySubscriber","EventEntity","IdentityProviderAccountEntity","IdentityProviderAccountSubscriber","IdentityProviderAttributeEntity","IdentityProviderAttributeMappingEntity","IdentityProviderAttributeSubscriber","IdentityProviderEntity","IdentityProviderPermissionMappingEntity","IdentityProviderRoleMappingEntity","IdentityProviderRoleSubscriber","IdentityProviderSubscriber","KeyEntity","PermissionEntity","PermissionPolicyEntity","PermissionSubscriber","PolicyAttributeEntity","PolicyAttributeSubscriber","PolicyEntity","PolicySubscriber","RealmEntity","RealmSubscriber","RoleAttributeEntity","RoleAttributeSubscriber","RoleEntity","RolePermissionEntity","RolePermissionSubscriber","RoleSubscriber","ScopeEntity","ScopeSubscriber","SessionEntity","SessionTokenEntity","TrustAnchorEntity","UserAttributeEntity","UserAttributeSubscriber","UserAuthenticatorEntity","UserEntity","UserPermissionEntity","UserPermissionSubscriber","UserRoleEntity","UserRoleSubscriber","UserSubscriber","DIST_PATH","SRC_PATH","NO_DATABASE_CONFIGURED","hasDatabaseConnectionEnv","env","url","host","port","username","password","database","DataSourceOptionsBuilder","buildWithEnv","options","normalize","buildWithEnvOrDefault","type","buildWith","logging","entities","migrations","migrationsTransactionMode","subscribers","migrationRoot","JUST_IN_TIME","migrationPath","split","sep","join","Object","assign"],"sources":["../../../../../src/adapters/database/data-source/options/module.ts"],"sourcesContent":["/*\n * Copyright (c) 2022-2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { AuthupError } from '@authup/errors';\nimport path from 'node:path';\nimport type { DataSourceOptions } from 'typeorm';\nimport {\n CodeTransformation,\n isCodeTransformation,\n readDataSourceOptionsFromEnv,\n useEnv,\n} from 'typeorm-extension';\nimport {\n ClientEntity,\n ClientPermissionEntity,\n ClientPermissionSubscriber,\n ClientRoleEntity,\n ClientRoleSubscriber,\n ClientScopeEntity,\n ClientScopeSubscriber,\n ClientSubscriber,\n ConsentEntity,\n ConsentEntitySubscriber,\n EventEntity,\n IdentityProviderAccountEntity,\n IdentityProviderAccountSubscriber,\n IdentityProviderAttributeEntity,\n IdentityProviderAttributeMappingEntity,\n IdentityProviderAttributeSubscriber,\n IdentityProviderEntity,\n IdentityProviderPermissionMappingEntity,\n IdentityProviderRoleMappingEntity,\n IdentityProviderRoleSubscriber,\n IdentityProviderSubscriber,\n KeyEntity,\n PermissionEntity,\n PermissionPolicyEntity,\n PermissionSubscriber,\n PolicyAttributeEntity,\n PolicyAttributeSubscriber,\n PolicyEntity,\n PolicySubscriber,\n RealmEntity,\n RealmSubscriber,\n RoleAttributeEntity,\n RoleAttributeSubscriber,\n RoleEntity,\n RolePermissionEntity,\n RolePermissionSubscriber,\n RoleSubscriber,\n ScopeEntity,\n ScopeSubscriber,\n SessionEntity,\n SessionTokenEntity,\n TrustAnchorEntity,\n UserAttributeEntity,\n UserAttributeSubscriber,\n UserAuthenticatorEntity,\n UserEntity,\n UserPermissionEntity,\n UserPermissionSubscriber,\n UserRoleEntity,\n UserRoleSubscriber,\n UserSubscriber,\n} from '../../domains/index.ts';\nimport { DIST_PATH, SRC_PATH } from '../../../../path.ts';\n\nconst NO_DATABASE_CONFIGURED = 'No database is configured. Set DB_TYPE to \"postgres\" or \"mysql\", together with DB_HOST, DB_PORT, DB_USERNAME, DB_PASSWORD and DB_DATABASE.';\n\n/**\n * Whether the environment names a database connection without naming a driver.\n *\n * `readDataSourceOptionsFromEnv` reports the TYPE alone, so it answers nothing\n * for an environment that carries every credential but no `DB_TYPE`. Read the\n * connection keys through typeorm-extension's own reader rather than a local\n * key list, so this cannot drift from what it accepts (each one is `DB_*` or\n * its `TYPEORM_*` alias). The list-valued keys are excluded deliberately: they\n * default to `[]` and would report every environment as configured.\n */\nfunction hasDatabaseConnectionEnv() : boolean {\n const env = useEnv();\n\n return typeof env.url !== 'undefined' ||\n typeof env.host !== 'undefined' ||\n typeof env.port !== 'undefined' ||\n typeof env.username !== 'undefined' ||\n typeof env.password !== 'undefined' ||\n typeof env.database !== 'undefined';\n}\n\nexport class DataSourceOptionsBuilder {\n buildWithEnv() {\n const options = readDataSourceOptionsFromEnv();\n\n if (!options) {\n throw new AuthupError(NO_DATABASE_CONFIGURED);\n }\n\n return this.normalize(options);\n }\n\n // the application boot path: the `db` config key documents the\n // better-sqlite3 driver default, and DatabaseModule refuses that driver in\n // production downstream. buildWithEnv stays strict for the migration CLI\n // and the CI scripts, which apply no environment check and would otherwise\n // silently target sqlite and report nothing to do.\n buildWithEnvOrDefault() {\n const options = readDataSourceOptionsFromEnv();\n if (options) {\n return this.normalize(options);\n }\n\n // The default answers \"nothing is configured\", never a half-written\n // configuration: a `DB_HOST` or `DB_DATABASE` left without a `DB_TYPE`\n // would otherwise redirect every write to a local file, silently\n // outside production.\n if (hasDatabaseConnectionEnv()) {\n throw new AuthupError(NO_DATABASE_CONFIGURED);\n }\n\n return this.normalize({ type: 'better-sqlite3', database: 'db.sqlite' });\n }\n\n buildWith(options: DataSourceOptions) {\n return this.normalize(options);\n }\n\n // ------------------------------------------------------------------\n\n protected normalize(options: DataSourceOptions) : DataSourceOptions {\n if (\n options.type !== 'mysql' &&\n options.type !== 'postgres' &&\n options.type !== 'better-sqlite3'\n ) {\n throw new AuthupError(`The database type ${options.type} is not supported.`);\n }\n\n options = {\n ...options,\n logging: false,\n entities: [\n ...(options.entities ? options.entities : []) as string[],\n KeyEntity,\n\n EventEntity,\n\n SessionEntity,\n SessionTokenEntity,\n\n TrustAnchorEntity,\n\n ClientEntity,\n ClientPermissionEntity,\n ClientRoleEntity,\n ClientScopeEntity,\n\n ConsentEntity,\n\n IdentityProviderEntity,\n IdentityProviderAttributeEntity,\n IdentityProviderAccountEntity,\n IdentityProviderRoleMappingEntity,\n IdentityProviderPermissionMappingEntity,\n IdentityProviderAttributeMappingEntity,\n\n PermissionEntity,\n PermissionPolicyEntity,\n\n PolicyEntity,\n PolicyAttributeEntity,\n\n RealmEntity,\n\n\n RoleEntity,\n RoleAttributeEntity,\n RolePermissionEntity,\n\n ScopeEntity,\n\n UserEntity,\n UserAttributeEntity,\n UserAuthenticatorEntity,\n UserPermissionEntity,\n UserRoleEntity,\n ],\n migrations: [],\n migrationsTransactionMode: 'each',\n subscribers: [\n ...(options.subscribers || []) as string[],\n ClientSubscriber,\n ClientPermissionSubscriber,\n ClientRoleSubscriber,\n ClientScopeSubscriber,\n\n ConsentEntitySubscriber,\n\n IdentityProviderSubscriber,\n IdentityProviderAccountSubscriber,\n IdentityProviderAttributeSubscriber,\n IdentityProviderRoleSubscriber,\n\n PermissionSubscriber,\n PolicySubscriber,\n PolicyAttributeSubscriber,\n\n RealmSubscriber,\n\n\n RoleSubscriber,\n RoleAttributeSubscriber,\n RolePermissionSubscriber,\n\n ScopeSubscriber,\n\n UserSubscriber,\n UserAttributeSubscriber,\n UserPermissionSubscriber,\n UserRoleSubscriber,\n ],\n };\n\n if (\n options.type === 'mysql' ||\n options.type === 'postgres'\n ) {\n const migrationRoot = isCodeTransformation(CodeTransformation.JUST_IN_TIME) ?\n SRC_PATH :\n DIST_PATH;\n const migrationPath = [\n migrationRoot.split(path.sep).join('/'),\n 'adapters/database/migrations',\n options.type,\n '*.{ts,js,mjs}',\n ].join('/');\n\n Object.assign(options, {\n migrations: [migrationPath],\n migrationsTransactionMode: 'all',\n } as DataSourceOptions);\n }\n\n return options;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuEA,MAAM2D,yBAAyB;;;;;;;;;;GAY/B,SAASC,2BAAAA;CACL,MAAMC,MAAMxD,OAAAA;CAEZ,OAAO,OAAOwD,IAAIC,QAAQ,eACtB,OAAOD,IAAIE,SAAS,eACpB,OAAOF,IAAIG,SAAS,eACpB,OAAOH,IAAII,aAAa,eACxB,OAAOJ,IAAIK,aAAa,eACxB,OAAOL,IAAIM,aAAa;AAChC;AAEA,IAAaC,2BAAb,MAAaA;CACTC,eAAe;EACX,MAAMC,UAAUlE,6BAAAA;EAEhB,IAAI,CAACkE,SACD,MAAM,IAAItE,YAAY2D,sBAAAA;EAG1B,OAAO,KAAKY,UAAUD,OAAAA;CAC1B;CAOAE,wBAAwB;EACpB,MAAMF,UAAUlE,6BAAAA;EAChB,IAAIkE,SACA,OAAO,KAAKC,UAAUD,OAAAA;EAO1B,IAAIV,yBAAAA,GACA,MAAM,IAAI5D,YAAY2D,sBAAAA;EAG1B,OAAO,KAAKY,UAAU;GAAEE,MAAM;GAAkBN,UAAU;EAAY,CAAA;CAC1E;CAEAO,UAAUJ,SAA4B;EAClC,OAAO,KAAKC,UAAUD,OAAAA;CAC1B;CAIUC,UAAUD,SAAgD;EAChE,IACIA,QAAQG,SAAS,WACjBH,QAAQG,SAAS,cACjBH,QAAQG,SAAS,kBAEjB,MAAM,IAAIzE,YAAY,qBAAqBsE,QAAQG,KAAK,mBAAmB;EAG/EH,UAAU;GACN,GAAGA;GACHK,SAAS;GACTC,UAAU;IACFN,GAAAA,QAAQM,WAAWN,QAAQM,WAAW,CAAA;IAC1CjD;IAEAX;IAEA6B;IACAC;IAEAC;IAEAzC;IACAC;IACAE;IACAE;IAEAG;IAEAQ;IACAH;IACAF;IACAO;IACAD;IACAH;IAEAQ;IACAC;IAEAI;IACAF;IAEAI;IAGAI;IACAF;IACAG;IAEAG;IAEAQ;IACAH;IACAE;IACAE;IACAE;GACH;GACDuB,YAAY,CAAA;GACZC,2BAA2B;GAC3BC,aAAa;IACLT,GAAAA,QAAQS,eAAe,CAAA;IAC3BlE;IACAL;IACAE;IACAE;IAEAG;IAEAW;IACAR;IACAG;IACAI;IAEAK;IACAI;IACAF;IAEAI;IAGAM;IACAJ;IACAG;IAEAG;IAEAY;IACAP;IACAI;IACAE;GACH;EACL;EAEA,IACIe,QAAQG,SAAS,WACjBH,QAAQG,SAAS,YACnB;GAIE,MAAMS,gBAAgB;KAHA/E,qBAAqBD,mBAAmB+E,YAAY,IACtEvB,WACAD,UAAAA,CAEc0B,MAAMlF,KAAKmF,GAAG,CAAA,CAAEC,KAAK,GAAA;IACnC;IACAf,QAAQG;IACR;GACH,CAAA,CAACY,KAAK,GAAA;GAEPC,OAAOC,OAAOjB,SAAS;IACnBO,YAAY,CAACK,aAAc;IAC3BJ,2BAA2B;GAC/B,CAAA;EACJ;EAEA,OAAOR;CACX;AACJ"}
|
|
@@ -14,12 +14,11 @@ export declare class ClientEntity implements Client {
|
|
|
14
14
|
secretEncrypted: boolean;
|
|
15
15
|
redirectUri: string | null;
|
|
16
16
|
postLogoutRedirectUri: string | null;
|
|
17
|
+
backchannelLogoutUri: string | null;
|
|
17
18
|
accessPolicyId: string | null;
|
|
18
19
|
accessPolicy: Policy | null;
|
|
19
20
|
grantTypes: string | null;
|
|
20
|
-
scope: string | null;
|
|
21
21
|
baseUrl: string | null;
|
|
22
|
-
rootUrl: string | null;
|
|
23
22
|
createdAt: string;
|
|
24
23
|
updatedAt: string;
|
|
25
24
|
realmId: Realm['id'];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/database/domains/client/entity.ts"],"names":[],"mappings":"AAqBA,OAAO,EACH,KAAK,MAAM,EACX,gBAAgB,EAChB,wBAAwB,EACxB,KAAK,MAAM,EACX,KAAK,KAAK,EACb,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,qBAEa,YAAa,YAAW,MAAM;IAEvC,EAAE,EAAE,MAAM,CAAC;IASX,MAAM,EAAE,OAAO,CAAC;IAQhB,OAAO,EAAE,OAAO,CAAC;IAQjB,UAAU,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAQlC,kBAAkB,EAAE,GAAG,wBAAwB,EAAE,CAAC;IAQlD,IAAI,EAAE,MAAM,CAAC;IASb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAM3B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAU3B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAOtB,YAAY,EAAE,OAAO,CAAC;IAOtB,eAAe,EAAE,OAAO,CAAC;IASzB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAU3B,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;IAQrC,
|
|
1
|
+
{"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/database/domains/client/entity.ts"],"names":[],"mappings":"AAqBA,OAAO,EACH,KAAK,MAAM,EACX,gBAAgB,EAChB,wBAAwB,EACxB,KAAK,MAAM,EACX,KAAK,KAAK,EACb,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,qBAEa,YAAa,YAAW,MAAM;IAEvC,EAAE,EAAE,MAAM,CAAC;IASX,MAAM,EAAE,OAAO,CAAC;IAQhB,OAAO,EAAE,OAAO,CAAC;IAQjB,UAAU,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAQlC,kBAAkB,EAAE,GAAG,wBAAwB,EAAE,CAAC;IAQlD,IAAI,EAAE,MAAM,CAAC;IASb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAM3B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAU3B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAOtB,YAAY,EAAE,OAAO,CAAC;IAOtB,eAAe,EAAE,OAAO,CAAC;IASzB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAU3B,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;IAQrC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IAQpC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAO9B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAQ5B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAQ1B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAMvB,SAAS,EAAE,MAAM,CAAC;IAIlB,SAAS,EAAE,MAAM,CAAC;IAMlB,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAIrB,KAAK,EAAE,WAAW,CAAC;IAMnB,cAAc;CAQjB"}
|
|
@@ -33,12 +33,11 @@ var ClientEntity = class {
|
|
|
33
33
|
secretEncrypted;
|
|
34
34
|
redirectUri;
|
|
35
35
|
postLogoutRedirectUri;
|
|
36
|
+
backchannelLogoutUri;
|
|
36
37
|
accessPolicyId;
|
|
37
38
|
accessPolicy;
|
|
38
39
|
grantTypes;
|
|
39
|
-
scope;
|
|
40
40
|
baseUrl;
|
|
41
|
-
rootUrl;
|
|
42
41
|
createdAt;
|
|
43
42
|
updatedAt;
|
|
44
43
|
realmId;
|
|
@@ -121,6 +120,12 @@ _ts_decorate([Column({
|
|
|
121
120
|
type: "text",
|
|
122
121
|
nullable: true
|
|
123
122
|
}), _ts_metadata("design:type", Object)], ClientEntity.prototype, "postLogoutRedirectUri", void 0);
|
|
123
|
+
_ts_decorate([Column({
|
|
124
|
+
name: "backchannel_logout_uri",
|
|
125
|
+
type: "varchar",
|
|
126
|
+
length: 2e3,
|
|
127
|
+
nullable: true
|
|
128
|
+
}), _ts_metadata("design:type", Object)], ClientEntity.prototype, "backchannelLogoutUri", void 0);
|
|
124
129
|
_ts_decorate([
|
|
125
130
|
Index(),
|
|
126
131
|
Column({
|
|
@@ -144,24 +149,12 @@ _ts_decorate([Column({
|
|
|
144
149
|
length: 512,
|
|
145
150
|
nullable: true
|
|
146
151
|
}), _ts_metadata("design:type", Object)], ClientEntity.prototype, "grantTypes", void 0);
|
|
147
|
-
_ts_decorate([Column({
|
|
148
|
-
type: "varchar",
|
|
149
|
-
length: 512,
|
|
150
|
-
nullable: true,
|
|
151
|
-
default: null
|
|
152
|
-
}), _ts_metadata("design:type", Object)], ClientEntity.prototype, "scope", void 0);
|
|
153
152
|
_ts_decorate([Column({
|
|
154
153
|
name: "base_url",
|
|
155
154
|
type: "varchar",
|
|
156
155
|
length: 2e3,
|
|
157
156
|
nullable: true
|
|
158
157
|
}), _ts_metadata("design:type", Object)], ClientEntity.prototype, "baseUrl", void 0);
|
|
159
|
-
_ts_decorate([Column({
|
|
160
|
-
name: "root_url",
|
|
161
|
-
type: "varchar",
|
|
162
|
-
length: 2e3,
|
|
163
|
-
nullable: true
|
|
164
|
-
}), _ts_metadata("design:type", Object)], ClientEntity.prototype, "rootUrl", void 0);
|
|
165
158
|
_ts_decorate([
|
|
166
159
|
Index(),
|
|
167
160
|
CreateDateColumn({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity.mjs","names":["BeforeInsert","BeforeUpdate","Column","CreateDateColumn","Entity","Index","JoinColumn","ManyToOne","PrimaryGeneratedColumn","Unique","UpdateDateColumn","dateToISOStringTransformer","ClientAuthMethod","ClientTokenBindingMethod","PolicyEntity","RealmEntity","ClientEntity","id","active","builtIn","authMethod","tokenBindingMethod","name","displayName","description","secret","secretHashed","secretEncrypted","redirectUri","postLogoutRedirectUri","accessPolicyId","accessPolicy","grantTypes","
|
|
1
|
+
{"version":3,"file":"entity.mjs","names":["BeforeInsert","BeforeUpdate","Column","CreateDateColumn","Entity","Index","JoinColumn","ManyToOne","PrimaryGeneratedColumn","Unique","UpdateDateColumn","dateToISOStringTransformer","ClientAuthMethod","ClientTokenBindingMethod","PolicyEntity","RealmEntity","ClientEntity","id","active","builtIn","authMethod","tokenBindingMethod","name","displayName","description","secret","secretHashed","secretEncrypted","redirectUri","postLogoutRedirectUri","backchannelLogoutUri","accessPolicyId","accessPolicy","grantTypes","baseUrl","createdAt","updatedAt","realmId","realm","setDisplayName","length","type","default","NONE","nullable","select","onDelete","transformer"],"sources":["../../../../../src/adapters/database/domains/client/entity.ts"],"sourcesContent":["/*\n * Copyright (c) 2022.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport {\n BeforeInsert, \n BeforeUpdate,\n Column,\n CreateDateColumn,\n Entity,\n Index,\n JoinColumn,\n ManyToOne,\n PrimaryGeneratedColumn,\n Unique,\n UpdateDateColumn,\n} from 'typeorm';\nimport { dateToISOStringTransformer } from '../../helpers/index.ts';\nimport {\n type Client,\n ClientAuthMethod,\n ClientTokenBindingMethod,\n type Policy,\n type Realm,\n} from '@authup/core-kit';\nimport { PolicyEntity } from '../policy/index.ts';\nimport { RealmEntity } from '../realm/index.ts';\n\n@Entity({ name: 'auth_clients' })\n@Unique(['name', 'realmId'])\nexport class ClientEntity implements Client {\n @PrimaryGeneratedColumn('uuid')\n id: string;\n\n // ------------------------------------------------------------------\n\n @Index()\n @Column({\n type: 'boolean',\n default: true,\n })\n active: boolean;\n\n @Index()\n @Column({\n name: 'built_in', \n type: 'boolean', \n default: false, \n })\n builtIn: boolean;\n\n @Column({\n name: 'auth_method', \n type: 'varchar', \n length: 16, \n default: ClientAuthMethod.NONE, \n })\n authMethod: `${ClientAuthMethod}`;\n\n @Column({\n name: 'token_binding_method', \n type: 'varchar', \n length: 16, \n default: ClientTokenBindingMethod.NONE, \n })\n tokenBindingMethod: `${ClientTokenBindingMethod}`;\n\n // ------------------------------------------------------------------\n\n @Column({\n type: 'varchar',\n length: 256,\n })\n name: string;\n\n @Index()\n @Column({\n name: 'display_name', \n type: 'varchar', \n length: 256, \n nullable: true, \n })\n displayName: string | null;\n\n @Column({\n type: 'text',\n nullable: true,\n })\n description: string | null;\n\n // ------------------------------------------------------------------\n\n @Column({\n type: 'varchar',\n length: 256,\n select: false,\n nullable: true,\n })\n secret: string | null;\n\n @Column({\n name: 'secret_hashed', \n type: 'boolean', \n default: false, \n })\n secretHashed: boolean;\n\n @Column({\n name: 'secret_encrypted', \n type: 'boolean', \n default: false, \n })\n secretEncrypted: boolean;\n\n // ------------------------------------------------------------------\n\n @Column({\n name: 'redirect_uri', \n type: 'text', \n nullable: true, \n })\n redirectUri: string | null;\n\n // `text` (not varchar) to match `redirectUri` — the provisioner writes the\n // same origin-pattern string to both, so a large trusted-origin set must\n // not overflow only this column.\n @Column({\n name: 'post_logout_redirect_uri', \n type: 'text', \n nullable: true, \n })\n postLogoutRedirectUri: string | null;\n\n @Column({\n name: 'backchannel_logout_uri',\n type: 'varchar',\n length: 2000,\n nullable: true,\n })\n backchannelLogoutUri: string | null;\n\n @Index()\n @Column({\n name: 'access_policy_id',\n nullable: true,\n type: 'uuid',\n })\n accessPolicyId: string | null;\n\n @ManyToOne(() => PolicyEntity, {\n onDelete: 'SET NULL',\n nullable: true,\n })\n @JoinColumn({ name: 'access_policy_id' })\n accessPolicy: Policy | null;\n\n @Column({\n name: 'grant_types', \n type: 'varchar', \n length: 512, \n nullable: true, \n })\n grantTypes: string | null;\n\n @Column({\n name: 'base_url', \n type: 'varchar', \n length: 2000, \n nullable: true, \n })\n baseUrl: string | null;\n\n // ------------------------------------------------------------------\n\n @Index()\n @CreateDateColumn({ name: 'created_at', transformer: dateToISOStringTransformer })\n createdAt: string;\n\n @Index()\n @UpdateDateColumn({ name: 'updated_at', transformer: dateToISOStringTransformer })\n updatedAt: string;\n\n // ------------------------------------------------------------------\n\n @Index()\n @Column({ name: 'realm_id' })\n realmId: Realm['id'];\n\n @ManyToOne(() => RealmEntity, { onDelete: 'CASCADE' })\n @JoinColumn({ name: 'realm_id' })\n realm: RealmEntity;\n\n // ------------------------------------------------------------------\n\n @BeforeInsert()\n @BeforeUpdate()\n setDisplayName() {\n if (\n typeof this.displayName !== 'string' ||\n this.displayName.length === 0\n ) {\n this.displayName = this.name;\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAiCA,IAAagB,eAAb,MAAaA;CAETC;CASAC;CAQAC;CAQAC;CAQAC;CAQAC;CASAC;CAMAC;CAUAC;CAOAC;CAOAC;CASAC;CAUAC;CAQAC;CAQAC;CAOAC;CAQAC;CAQAC;CAMAC;CAIAC;CAMAC;CAIAC;CAMAC,iBAAiB;EACb,IACI,OAAO,KAAKhB,gBAAgB,YAC5B,KAAKA,YAAYiB,WAAW,GAE5B,KAAKjB,cAAc,KAAKD;CAEhC;AACJ;;;;;EAtKQmB,MAAM;EACNC,SAAS;;;;;;;EAMTpB,MAAM;EACNmB,MAAM;EACNC,SAAS;;;;;CAKTpB,MAAM;CACNmB,MAAM;CACND,QAAQ;CACRE,SAAS9B,iBAAiB+B;;;CAK1BrB,MAAM;CACNmB,MAAM;CACND,QAAQ;CACRE,SAAS7B,yBAAyB8B;;;CAOlCF,MAAM;CACND,QAAQ;;;;;EAMRlB,MAAM;EACNmB,MAAM;EACND,QAAQ;EACRI,UAAU;;;;;CAKVH,MAAM;CACNG,UAAU;;;CAOVH,MAAM;CACND,QAAQ;CACRK,QAAQ;CACRD,UAAU;;;CAKVtB,MAAM;CACNmB,MAAM;CACNC,SAAS;;;CAKTpB,MAAM;CACNmB,MAAM;CACNC,SAAS;;;CAOTpB,MAAM;CACNmB,MAAM;CACNG,UAAU;;;CAQVtB,MAAM;CACNmB,MAAM;CACNG,UAAU;;;CAKVtB,MAAM;CACNmB,MAAM;CACND,QAAQ;CACRI,UAAU;;;;;EAMVtB,MAAM;EACNsB,UAAU;EACVH,MAAM;;;;;CAIO3B,gBAAAA,cAAAA;EACbgC,UAAU;EACVF,UAAU;;CAEAtB,WAAAA,EAAAA,MAAM,mBAAA,CAAA;;;;CAIhBA,MAAM;CACNmB,MAAM;CACND,QAAQ;CACRI,UAAU;;;CAKVtB,MAAM;CACNmB,MAAM;CACND,QAAQ;CACRI,UAAU;;;;;EAOMtB,MAAM;EAAcyB,aAAapC;;;;;;;EAIjCW,MAAM;EAAcyB,aAAapC;;;;;;CAM3CW,OAAAA,EAAAA,MAAM,WAAA,CAAA;;;;CAGCP,gBAAAA,aAAAA,EAAe+B,UAAU,UAAA,CAAA;CAC5BxB,WAAAA,EAAAA,MAAM,WAAA,CAAA;;;;;;;;;;AAjKdA,eAAAA,aAAAA,CAAAA,OAAAA,EAAAA,MAAM,eAAA,CAAA,GAAA,OAAA,CACP,QAAQ,SAAA,CAAA,CAAA,GAAA,YAAA"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { EntityDefaultEventName, IdentityProviderAttribute } from '@authup/core-kit';
|
|
2
|
+
import type { EntityManager } from 'typeorm';
|
|
2
3
|
import { EntitySubscriber } from '../../subscriber/index.ts';
|
|
3
4
|
export declare class IdentityProviderAttributeSubscriber extends EntitySubscriber<IdentityProviderAttribute> {
|
|
4
5
|
constructor();
|
|
@@ -8,6 +9,6 @@ export declare class IdentityProviderAttributeSubscriber extends EntitySubscribe
|
|
|
8
9
|
* sides: the previous payload is what an update would otherwise carry the
|
|
9
10
|
* OLD secret in.
|
|
10
11
|
*/
|
|
11
|
-
protected publish(event: `${EntityDefaultEventName}`, data: IdentityProviderAttribute, dataPrevious?: IdentityProviderAttribute): Promise<void>;
|
|
12
|
+
protected publish(event: `${EntityDefaultEventName}`, data: IdentityProviderAttribute, dataPrevious?: IdentityProviderAttribute, transaction?: EntityManager): Promise<void>;
|
|
12
13
|
}
|
|
13
14
|
//# sourceMappingURL=subscriber.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscriber.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/database/domains/identity-provider-attribute/subscriber.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"subscriber.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/database/domains/identity-provider-attribute/subscriber.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAG1F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,OAAO,EAAE,gBAAgB,EAA2B,MAAM,2BAA2B,CAAC;AAItF,qBACa,mCAAoC,SAAQ,gBAAgB,CAAC,yBAAyB,CAAC;;IAiBhG;;;;;OAKG;cACsB,OAAO,CAC5B,KAAK,EAAE,GAAG,sBAAsB,EAAE,EAClC,IAAI,EAAE,yBAAyB,EAC/B,YAAY,CAAC,EAAE,yBAAyB,EACxC,WAAW,CAAC,EAAE,aAAa,GAC5B,OAAO,CAAC,IAAI,CAAC;CAQnB"}
|
|
@@ -35,14 +35,14 @@ var IdentityProviderAttributeSubscriber = class extends EntitySubscriber {
|
|
|
35
35
|
* password, so it must never reach the realtime bus. Stripped on both
|
|
36
36
|
* sides: the previous payload is what an update would otherwise carry the
|
|
37
37
|
* OLD secret in.
|
|
38
|
-
*/ async publish(event, data, dataPrevious) {
|
|
38
|
+
*/ async publish(event, data, dataPrevious, transaction) {
|
|
39
39
|
await super.publish(event, {
|
|
40
40
|
...data,
|
|
41
41
|
value: null
|
|
42
42
|
}, dataPrevious ? {
|
|
43
43
|
...dataPrevious,
|
|
44
44
|
value: null
|
|
45
|
-
} : void 0);
|
|
45
|
+
} : void 0, transaction);
|
|
46
46
|
}
|
|
47
47
|
};
|
|
48
48
|
IdentityProviderAttributeSubscriber = _ts_decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscriber.mjs","names":["EntityType","buildRedisKeyPath","EventSubscriber","EntitySubscriber","buildEntityDestinations","IdentityProviderAttributeEntity","CachePrefix","IdentityProviderAttributeSubscriber","type","IDENTITY_PROVIDER_ATTRIBUTE","target","destinations","cache","keys","data","prefix","key","id","publish","event","dataPrevious","value","undefined"],"sources":["../../../../../src/adapters/database/domains/identity-provider-attribute/subscriber.ts"],"sourcesContent":["/*\n * Copyright (c) 2022-2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { EntityDefaultEventName, IdentityProviderAttribute } from '@authup/core-kit';\nimport { EntityType } from '@authup/core-kit';\nimport { buildRedisKeyPath } from '@authup/server-kit';\nimport { EventSubscriber } from 'typeorm';\nimport { EntitySubscriber, buildEntityDestinations } from '../../subscriber/index.ts';\nimport { IdentityProviderAttributeEntity } from './entity.ts';\nimport { CachePrefix } from '../constants.ts';\n\n@EventSubscriber()\nexport class IdentityProviderAttributeSubscriber extends EntitySubscriber<IdentityProviderAttribute> {\n constructor() {\n super({\n type: EntityType.IDENTITY_PROVIDER_ATTRIBUTE,\n target: IdentityProviderAttributeEntity,\n destinations: buildEntityDestinations(EntityType.IDENTITY_PROVIDER_ATTRIBUTE),\n cache: {\n keys: (data) => [\n buildRedisKeyPath({\n prefix: CachePrefix.IDENTITY_PROVIDER_ATTRIBUTE,\n key: data.id,\n }),\n ],\n },\n });\n }\n\n /**\n * The row's `value` holds the provider's OAuth2 clientSecret or LDAP bind\n * password, so it must never reach the realtime bus. Stripped on both\n * sides: the previous payload is what an update would otherwise carry the\n * OLD secret in.\n */\n protected override async publish(\n event: `${EntityDefaultEventName}`,\n data: IdentityProviderAttribute,\n dataPrevious?: IdentityProviderAttribute,\n ): Promise<void> {\n await super.publish(\n event,\n { ...data, value: null },\n dataPrevious ? { ...dataPrevious, value: null } : undefined,\n );\n }\n}\n"],"mappings":";;;;;;;;;;;AAKC,SAAA,aAAA,YAAA,QAAA,KAAA,MAAA;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"subscriber.mjs","names":["EntityType","buildRedisKeyPath","EventSubscriber","EntitySubscriber","buildEntityDestinations","IdentityProviderAttributeEntity","CachePrefix","IdentityProviderAttributeSubscriber","type","IDENTITY_PROVIDER_ATTRIBUTE","target","destinations","cache","keys","data","prefix","key","id","publish","event","dataPrevious","transaction","value","undefined"],"sources":["../../../../../src/adapters/database/domains/identity-provider-attribute/subscriber.ts"],"sourcesContent":["/*\n * Copyright (c) 2022-2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { EntityDefaultEventName, IdentityProviderAttribute } from '@authup/core-kit';\nimport { EntityType } from '@authup/core-kit';\nimport { buildRedisKeyPath } from '@authup/server-kit';\nimport type { EntityManager } from 'typeorm';\nimport { EventSubscriber } from 'typeorm';\nimport { EntitySubscriber, buildEntityDestinations } from '../../subscriber/index.ts';\nimport { IdentityProviderAttributeEntity } from './entity.ts';\nimport { CachePrefix } from '../constants.ts';\n\n@EventSubscriber()\nexport class IdentityProviderAttributeSubscriber extends EntitySubscriber<IdentityProviderAttribute> {\n constructor() {\n super({\n type: EntityType.IDENTITY_PROVIDER_ATTRIBUTE,\n target: IdentityProviderAttributeEntity,\n destinations: buildEntityDestinations(EntityType.IDENTITY_PROVIDER_ATTRIBUTE),\n cache: {\n keys: (data) => [\n buildRedisKeyPath({\n prefix: CachePrefix.IDENTITY_PROVIDER_ATTRIBUTE,\n key: data.id,\n }),\n ],\n },\n });\n }\n\n /**\n * The row's `value` holds the provider's OAuth2 clientSecret or LDAP bind\n * password, so it must never reach the realtime bus. Stripped on both\n * sides: the previous payload is what an update would otherwise carry the\n * OLD secret in.\n */\n protected override async publish(\n event: `${EntityDefaultEventName}`,\n data: IdentityProviderAttribute,\n dataPrevious?: IdentityProviderAttribute,\n transaction?: EntityManager,\n ): Promise<void> {\n await super.publish(\n event,\n { ...data, value: null },\n dataPrevious ? { ...dataPrevious, value: null } : undefined,\n transaction,\n );\n }\n}\n"],"mappings":";;;;;;;;;;;AAKC,SAAA,aAAA,YAAA,QAAA,KAAA,MAAA;;;;;;;;;AAYD,IAAaO,sCAAb,cAAyDJ,iBAAAA;CACrD,cAAc;EACV,MAAM;GACFK,MAAMR,WAAWS;GACjBC,QAAQL;GACRM,cAAcP,wBAAwBJ,WAAWS,2BAA2B;GAC5EG,OAAO,EACHC,OAAOC,SAAS,CACZb,kBAAkB;IACdc,QAAQT,YAAYG;IACpBO,KAAKF,KAAKG;GACd,CAAA,CACH,EACL;EACJ,CAAA;CACJ;;;;;;IAQA,MAAyBC,QACrBC,OACAL,MACAM,cACAC,aACa;EACb,MAAM,MAAMH,QACRC,OACA;GAAE,GAAGL;GAAMQ,OAAO;EAAK,GACvBF,eAAe;GAAE,GAAGA;GAAcE,OAAO;EAAK,IAAIC,KAAAA,GAClDF,WAAAA;CAER;AACJ"}
|
|
@@ -6,6 +6,14 @@ export declare class SessionEntity implements Session {
|
|
|
6
6
|
id: string;
|
|
7
7
|
sub: string;
|
|
8
8
|
subKind: string;
|
|
9
|
+
/**
|
|
10
|
+
* The opaque credential a console browser presents (plan 088). Unique so
|
|
11
|
+
* one handle resolves at most one session, nullable because every
|
|
12
|
+
* bearer-mode session has none, and `select: false` so it stays in the
|
|
13
|
+
* same class as `user.password` / `key.decryptionKey`: re-selected only by
|
|
14
|
+
* `ISessionRepository.findOneBySecret`, never on an ordinary session read.
|
|
15
|
+
*/
|
|
16
|
+
secret: string | null;
|
|
9
17
|
ipAddress: string;
|
|
10
18
|
userAgent: string;
|
|
11
19
|
expiresAt: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/database/domains/session/entity.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EACR,MAAM,EACN,KAAK,EACL,OAAO,EACP,iBAAiB,EACjB,IAAI,EACP,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,qBAGa,aAAc,YAAW,OAAO;IAEzC,EAAE,EAAE,MAAM,CAAC;IAOX,GAAG,EAAE,MAAM,CAAC;IAQZ,OAAO,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/database/domains/session/entity.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EACR,MAAM,EACN,KAAK,EACL,OAAO,EACP,iBAAiB,EACjB,IAAI,EACP,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,qBAGa,aAAc,YAAW,OAAO;IAEzC,EAAE,EAAE,MAAM,CAAC;IAOX,GAAG,EAAE,MAAM,CAAC;IAQZ,OAAO,EAAE,MAAM,CAAC;IAEhB;;;;;;OAMG;IAUH,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAQtB,SAAS,EAAE,MAAM,CAAC;IAQlB,SAAS,EAAE,MAAM,CAAC;IAUlB,SAAS,EAAE,MAAM,CAAC;IAQlB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAS3B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAQtB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAQrB,UAAU,EAAE,GAAG,iBAAiB,EAAE,GAAG,IAAI,CAAC;IAI1C,SAAS,EAAE,MAAM,CAAC;IAIlB,SAAS,EAAE,MAAM,CAAC;IAUlB,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAO9B,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;IAQ5B,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAO1B,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IAIxB,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAIrB,KAAK,EAAE,WAAW,CAAC;CACtB"}
|
|
@@ -24,6 +24,13 @@ var SessionEntity = class {
|
|
|
24
24
|
id;
|
|
25
25
|
sub;
|
|
26
26
|
subKind;
|
|
27
|
+
/**
|
|
28
|
+
* The opaque credential a console browser presents (plan 088). Unique so
|
|
29
|
+
* one handle resolves at most one session, nullable because every
|
|
30
|
+
* bearer-mode session has none, and `select: false` so it stays in the
|
|
31
|
+
* same class as `user.password` / `key.decryptionKey`: re-selected only by
|
|
32
|
+
* `ISessionRepository.findOneBySecret`, never on an ordinary session read.
|
|
33
|
+
*/ secret;
|
|
27
34
|
ipAddress;
|
|
28
35
|
userAgent;
|
|
29
36
|
expiresAt;
|
|
@@ -58,6 +65,18 @@ _ts_decorate([
|
|
|
58
65
|
}),
|
|
59
66
|
_ts_metadata("design:type", String)
|
|
60
67
|
], SessionEntity.prototype, "subKind", void 0);
|
|
68
|
+
_ts_decorate([
|
|
69
|
+
Index({ unique: true }),
|
|
70
|
+
Column({
|
|
71
|
+
name: "secret",
|
|
72
|
+
type: "varchar",
|
|
73
|
+
length: 64,
|
|
74
|
+
nullable: true,
|
|
75
|
+
default: null,
|
|
76
|
+
select: false
|
|
77
|
+
}),
|
|
78
|
+
_ts_metadata("design:type", Object)
|
|
79
|
+
], SessionEntity.prototype, "secret", void 0);
|
|
61
80
|
_ts_decorate([
|
|
62
81
|
Index(),
|
|
63
82
|
Column({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity.mjs","names":["Column","CreateDateColumn","Entity","Index","JoinColumn","ManyToOne","PrimaryGeneratedColumn","UpdateDateColumn","dateToISOStringTransformer","ClientEntity","RealmEntity","UserEntity","SessionEntity","id","sub","subKind","ipAddress","userAgent","expiresAt","refreshedAt","seenAt","mfaAt","authMethod","updatedAt","createdAt","clientId","client","userId","user","realmId","realm","type","length","name","
|
|
1
|
+
{"version":3,"file":"entity.mjs","names":["Column","CreateDateColumn","Entity","Index","JoinColumn","ManyToOne","PrimaryGeneratedColumn","UpdateDateColumn","dateToISOStringTransformer","ClientEntity","RealmEntity","UserEntity","SessionEntity","id","sub","subKind","secret","ipAddress","userAgent","expiresAt","refreshedAt","seenAt","mfaAt","authMethod","updatedAt","createdAt","clientId","client","userId","user","realmId","realm","type","length","name","unique","nullable","default","select","transformer","onDelete"],"sources":["../../../../../src/adapters/database/domains/session/entity.ts"],"sourcesContent":["/*\n * Copyright (c) 2022.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport {\n Column, \n CreateDateColumn, \n Entity, \n Index, \n JoinColumn, \n ManyToOne, \n PrimaryGeneratedColumn, \n UpdateDateColumn,\n} from 'typeorm';\nimport { dateToISOStringTransformer } from '../../helpers/index.ts';\nimport type {\n Client,\n Realm,\n Session,\n SessionAuthMethod,\n User,\n} from '@authup/core-kit';\nimport { ClientEntity } from '../client/index.ts';\nimport { RealmEntity } from '../realm/index.ts';\nimport { UserEntity } from '../user/index.ts';\n\n@Index(['userId', 'seenAt'])\n@Index(['realmId', 'seenAt'])\n@Entity({ name: 'auth_sessions' })\nexport class SessionEntity implements Session {\n @PrimaryGeneratedColumn('uuid')\n id: string;\n\n @Index()\n @Column({\n type: 'varchar',\n length: 64, \n })\n sub: string;\n\n @Index()\n @Column({\n name: 'sub_kind', \n type: 'varchar', \n length: 64, \n })\n subKind: string;\n\n /**\n * The opaque credential a console browser presents (plan 088). Unique so\n * one handle resolves at most one session, nullable because every\n * bearer-mode session has none, and `select: false` so it stays in the\n * same class as `user.password` / `key.decryptionKey`: re-selected only by\n * `ISessionRepository.findOneBySecret`, never on an ordinary session read.\n */\n @Index({ unique: true })\n @Column({\n name: 'secret',\n type: 'varchar',\n length: 64,\n nullable: true,\n default: null,\n select: false,\n })\n secret: string | null;\n\n @Index()\n @Column({\n name: 'ip_address',\n type: 'varchar', \n length: 45, \n })\n ipAddress: string;\n\n @Index()\n @Column({\n name: 'user_agent', \n type: 'varchar', \n length: 512, \n })\n userAgent: string;\n\n // ------------------------------------------------------------------\n\n @Index()\n @Column({\n name: 'expires_at', \n type: 'varchar', \n length: 28, \n })\n expiresAt: string;\n\n @Column({\n name: 'refreshed_at', \n type: 'varchar', \n length: 28, \n nullable: true, \n })\n refreshedAt: string | null;\n\n @Index()\n @Column({\n name: 'seen_at', \n type: 'varchar', \n length: 28, \n nullable: true, \n })\n seenAt: string | null;\n\n @Column({\n name: 'mfa_at', \n type: 'varchar', \n length: 28, \n nullable: true, \n })\n mfaAt: string | null;\n\n @Column({\n name: 'auth_method', \n type: 'varchar', \n length: 16, \n nullable: true, \n })\n authMethod: `${SessionAuthMethod}` | null;\n\n @Index()\n @UpdateDateColumn({ name: 'updated_at', transformer: dateToISOStringTransformer })\n updatedAt: string;\n\n @Index()\n @CreateDateColumn({ name: 'created_at', transformer: dateToISOStringTransformer })\n createdAt: string;\n\n // ------------------------------------------------------------------\n\n @Index()\n @Column({\n name: 'client_id', \n nullable: true, \n default: null, \n })\n clientId: Client['id'] | null;\n\n @ManyToOne(() => ClientEntity, {\n onDelete: 'CASCADE',\n nullable: true, \n })\n @JoinColumn({ name: 'client_id' })\n client: ClientEntity | null;\n\n @Index()\n @Column({\n name: 'user_id', \n nullable: true, \n default: null, \n })\n userId: User['id'] | null;\n\n @ManyToOne(() => UserEntity, {\n onDelete: 'CASCADE',\n nullable: true, \n })\n @JoinColumn({ name: 'user_id' })\n user: UserEntity | null;\n\n @Index()\n @Column({ name: 'realm_id' })\n realmId: Realm['id'];\n\n @ManyToOne(() => RealmEntity, { onDelete: 'CASCADE' })\n @JoinColumn({ name: 'realm_id' })\n realm: RealmEntity;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAgCA,IAAaY,gBAAb,MAAaA;CAETC;CAOAC;CAQAC;;;;;;;IASA;CAiBAE;CAQAC;CAUAC;CAQAC;CASAC;CAQAC;CAQAC;CAIAC;CAIAC;CAUAC;CAOAC;CAQAC;CAOAC;CAIAC;CAIAC;AACJ;;;;;EAzIQC,MAAM;EACNC,QAAQ;;;;;;;EAMRC,MAAM;EACNF,MAAM;EACNC,QAAQ;;;;;CAWHE,MAAAA,EAAAA,QAAQ,KAAA,CAAA;;EAEbD,MAAM;EACNF,MAAM;EACNC,QAAQ;EACRG,UAAU;EACVC,SAAS;EACTC,QAAQ;;;;;;;EAMRJ,MAAM;EACNF,MAAM;EACNC,QAAQ;;;;;;;EAMRC,MAAM;EACNF,MAAM;EACNC,QAAQ;;;;;;;EAQRC,MAAM;EACNF,MAAM;EACNC,QAAQ;;;;;CAKRC,MAAM;CACNF,MAAM;CACNC,QAAQ;CACRG,UAAU;;;;;EAMVF,MAAM;EACNF,MAAM;EACNC,QAAQ;EACRG,UAAU;;;;;CAKVF,MAAM;CACNF,MAAM;CACNC,QAAQ;CACRG,UAAU;;;CAKVF,MAAM;CACNF,MAAM;CACNC,QAAQ;CACRG,UAAU;;;;;EAKMF,MAAM;EAAcK,aAAa/B;;;;;;;EAIjC0B,MAAM;EAAcK,aAAa/B;;;;;;;EAOjD0B,MAAM;EACNE,UAAU;EACVC,SAAS;;;;;CAII5B,gBAAAA,cAAAA;EACb+B,UAAU;EACVJ,UAAU;;CAEAF,WAAAA,EAAAA,MAAM,YAAA,CAAA;;;;;;EAKhBA,MAAM;EACNE,UAAU;EACVC,SAAS;;;;;CAII1B,gBAAAA,YAAAA;EACb6B,UAAU;EACVJ,UAAU;;CAEAF,WAAAA,EAAAA,MAAM,UAAA,CAAA;;;;;CAIVA,OAAAA,EAAAA,MAAM,WAAA,CAAA;;;;CAGCxB,gBAAAA,aAAAA,EAAe8B,UAAU,UAAA,CAAA;CAC5BN,WAAAA,EAAAA,MAAM,WAAA,CAAA;;;;CAhJhB,MAAA,CAAA,UAAU,QAAA,CAAA;CACV,MAAA,CAAA,WAAW,QAAA,CAAA;CACTA,OAAAA,EAAAA,MAAM,gBAAA,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/database/domains/user/entity.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAGpD,qBAEa,UAAW,YAAW,IAAI;IAEnC,EAAE,EAAE,MAAM,CAAC;IAOX,IAAI,EAAE,MAAM,CAAC;IAOb,UAAU,EAAE,OAAO,CAAC;IAQpB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAQzB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IASxB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAQ3B,KAAK,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/database/domains/user/entity.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAGpD,qBAEa,UAAW,YAAW,IAAI;IAEnC,EAAE,EAAE,MAAM,CAAC;IAOX,IAAI,EAAE,MAAM,CAAC;IAOb,UAAU,EAAE,OAAO,CAAC;IAQpB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAQzB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IASxB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAQ3B,KAAK,EAAE,MAAM,CAAC;IAOd,aAAa,EAAE,OAAO,CAAC;IASvB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IASxB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAOtB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAarB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAUzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAUvB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAU5B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAStB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAS7B,MAAM,EAAE,OAAO,CAAC;IAWhB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAM5B,SAAS,EAAE,MAAM,CAAC;IAIlB,SAAS,EAAE,MAAM,CAAC;IAMlB,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAIrB,KAAK,EAAE,KAAK,CAAC;IAMb,cAAc;CAQjB"}
|
|
@@ -24,6 +24,7 @@ var UserEntity = class {
|
|
|
24
24
|
lastName;
|
|
25
25
|
displayName;
|
|
26
26
|
email;
|
|
27
|
+
emailVerified;
|
|
27
28
|
password;
|
|
28
29
|
avatar;
|
|
29
30
|
cover;
|
|
@@ -87,6 +88,11 @@ _ts_decorate([
|
|
|
87
88
|
}),
|
|
88
89
|
_ts_metadata("design:type", String)
|
|
89
90
|
], UserEntity.prototype, "email", void 0);
|
|
91
|
+
_ts_decorate([Column({
|
|
92
|
+
name: "email_verified",
|
|
93
|
+
type: "boolean",
|
|
94
|
+
default: false
|
|
95
|
+
}), _ts_metadata("design:type", Boolean)], UserEntity.prototype, "emailVerified", void 0);
|
|
90
96
|
_ts_decorate([Column({
|
|
91
97
|
type: "varchar",
|
|
92
98
|
length: 512,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity.mjs","names":["BeforeInsert","BeforeUpdate","Column","CreateDateColumn","Entity","Index","JoinColumn","ManyToOne","PrimaryGeneratedColumn","Unique","UpdateDateColumn","dateToISOStringTransformer","RealmEntity","UserEntity","id","name","nameLocked","firstName","lastName","displayName","email","password","avatar","cover","resetHash","resetAt","resetExpires","status","statusMessage","active","activateHash","createdAt","updatedAt","realmId","realm","setDisplayName","length","type","default","nullable","select","transformer","onDelete"],"sources":["../../../../../src/adapters/database/domains/user/entity.ts"],"sourcesContent":["/*\n * Copyright (c) 2021-2021.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport {\n BeforeInsert,\n BeforeUpdate,\n Column,\n CreateDateColumn,\n Entity,\n Index,\n JoinColumn,\n ManyToOne,\n PrimaryGeneratedColumn,\n Unique,\n UpdateDateColumn,\n} from 'typeorm';\nimport { dateToISOStringTransformer } from '../../helpers/index.ts';\nimport type { Realm, User } from '@authup/core-kit';\nimport { RealmEntity } from '../realm/index.ts';\n\n@Entity({ name: 'auth_users' })\n@Unique(['name', 'realmId'])\nexport class UserEntity implements User {\n @PrimaryGeneratedColumn('uuid')\n id: string;\n\n @Index()\n @Column({\n type: 'varchar',\n length: 128, \n })\n name: string;\n\n @Column({\n name: 'name_locked', \n type: 'boolean', \n default: true, \n })\n nameLocked: boolean;\n\n @Column({\n name: 'first_name', \n type: 'varchar', \n length: 128, \n nullable: true, \n })\n firstName: string | null;\n\n @Column({\n name: 'last_name', \n type: 'varchar', \n length: 128, \n nullable: true, \n })\n lastName: string | null;\n\n @Index()\n @Column({\n name: 'display_name', \n type: 'varchar', \n length: 256, \n nullable: true, \n })\n displayName: string | null;\n\n @Index()\n @Column({\n type: 'varchar',\n length: 256,\n select: false,\n })\n email: string;\n\n @Column({\n type: 'varchar',\n length: 512,\n default: null,\n nullable: true,\n select: false,\n })\n password: string | null;\n\n // ------------------------------------------------------------------\n\n @Column({\n type: 'varchar',\n length: 255,\n nullable: true, \n })\n avatar: string | null;\n\n @Column({\n type: 'varchar',\n length: 255,\n nullable: true, \n })\n cover: string | null;\n\n // ------------------------------------------------------------------\n\n @Index()\n @Column({\n name: 'reset_hash',\n type: 'varchar',\n length: 256,\n nullable: true,\n default: null,\n select: false,\n })\n resetHash: string | null;\n\n @Column({\n name: 'reset_at', \n type: 'varchar', \n length: 28, \n nullable: true, \n default: null, \n select: false, \n })\n resetAt: string | null;\n\n @Column({\n name: 'reset_expires', \n type: 'varchar', \n length: 28, \n nullable: true, \n default: null, \n select: false, \n })\n resetExpires: string | null;\n\n // ------------------------------------------------------------------\n\n @Column({\n type: 'varchar',\n length: 256,\n nullable: true,\n default: null,\n })\n status: string | null;\n\n @Column({\n name: 'status_message', \n type: 'varchar', \n length: 256, \n nullable: true, \n default: null, \n })\n statusMessage: string | null;\n\n // ------------------------------------------------------------------\n\n @Index()\n @Column({\n type: 'boolean',\n default: true,\n })\n active: boolean;\n\n @Index()\n @Column({\n name: 'activate_hash',\n type: 'varchar',\n length: 256,\n nullable: true,\n default: null,\n select: false,\n })\n activateHash: string | null;\n\n // ------------------------------------------------------------------\n\n @Index()\n @CreateDateColumn({ name: 'created_at', transformer: dateToISOStringTransformer })\n createdAt: string;\n\n @Index()\n @UpdateDateColumn({ name: 'updated_at', transformer: dateToISOStringTransformer })\n updatedAt: string;\n\n // ------------------------------------------------------------------\n\n @Index()\n @Column({ name: 'realm_id' })\n realmId: Realm['id'];\n\n @ManyToOne(() => RealmEntity, { onDelete: 'CASCADE' })\n @JoinColumn({ name: 'realm_id' })\n realm: Realm;\n\n // ------------------------------------------------------------------\n\n @BeforeInsert()\n @BeforeUpdate()\n setDisplayName() {\n if (\n typeof this.displayName !== 'string' ||\n this.displayName.length === 0\n ) {\n this.displayName = this.name;\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AA0BA,IAAaa,aAAb,MAAaA;CAETC;CAOAC;CAOAC;CAQAC;CAQAC;CASAC;CAQAC;CASAC;CASAC;CAOAC;CAaAC;CAUAC;CAUAC;CAUAC;CASAC;CASAC;CAWAC;CAMAC;CAIAC;CAMAC;CAIAC;CAMAC,iBAAiB;EACb,IACI,OAAO,
|
|
1
|
+
{"version":3,"file":"entity.mjs","names":["BeforeInsert","BeforeUpdate","Column","CreateDateColumn","Entity","Index","JoinColumn","ManyToOne","PrimaryGeneratedColumn","Unique","UpdateDateColumn","dateToISOStringTransformer","RealmEntity","UserEntity","id","name","nameLocked","firstName","lastName","displayName","email","emailVerified","password","avatar","cover","resetHash","resetAt","resetExpires","status","statusMessage","active","activateHash","createdAt","updatedAt","realmId","realm","setDisplayName","length","type","default","nullable","select","transformer","onDelete"],"sources":["../../../../../src/adapters/database/domains/user/entity.ts"],"sourcesContent":["/*\n * Copyright (c) 2021-2021.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport {\n BeforeInsert,\n BeforeUpdate,\n Column,\n CreateDateColumn,\n Entity,\n Index,\n JoinColumn,\n ManyToOne,\n PrimaryGeneratedColumn,\n Unique,\n UpdateDateColumn,\n} from 'typeorm';\nimport { dateToISOStringTransformer } from '../../helpers/index.ts';\nimport type { Realm, User } from '@authup/core-kit';\nimport { RealmEntity } from '../realm/index.ts';\n\n@Entity({ name: 'auth_users' })\n@Unique(['name', 'realmId'])\nexport class UserEntity implements User {\n @PrimaryGeneratedColumn('uuid')\n id: string;\n\n @Index()\n @Column({\n type: 'varchar',\n length: 128, \n })\n name: string;\n\n @Column({\n name: 'name_locked', \n type: 'boolean', \n default: true, \n })\n nameLocked: boolean;\n\n @Column({\n name: 'first_name', \n type: 'varchar', \n length: 128, \n nullable: true, \n })\n firstName: string | null;\n\n @Column({\n name: 'last_name', \n type: 'varchar', \n length: 128, \n nullable: true, \n })\n lastName: string | null;\n\n @Index()\n @Column({\n name: 'display_name', \n type: 'varchar', \n length: 256, \n nullable: true, \n })\n displayName: string | null;\n\n @Index()\n @Column({\n type: 'varchar',\n length: 256,\n select: false,\n })\n email: string;\n\n @Column({\n name: 'email_verified',\n type: 'boolean',\n default: false,\n })\n emailVerified: boolean;\n\n @Column({\n type: 'varchar',\n length: 512,\n default: null,\n nullable: true,\n select: false,\n })\n password: string | null;\n\n // ------------------------------------------------------------------\n\n @Column({\n type: 'varchar',\n length: 255,\n nullable: true, \n })\n avatar: string | null;\n\n @Column({\n type: 'varchar',\n length: 255,\n nullable: true, \n })\n cover: string | null;\n\n // ------------------------------------------------------------------\n\n @Index()\n @Column({\n name: 'reset_hash',\n type: 'varchar',\n length: 256,\n nullable: true,\n default: null,\n select: false,\n })\n resetHash: string | null;\n\n @Column({\n name: 'reset_at', \n type: 'varchar', \n length: 28, \n nullable: true, \n default: null, \n select: false, \n })\n resetAt: string | null;\n\n @Column({\n name: 'reset_expires', \n type: 'varchar', \n length: 28, \n nullable: true, \n default: null, \n select: false, \n })\n resetExpires: string | null;\n\n // ------------------------------------------------------------------\n\n @Column({\n type: 'varchar',\n length: 256,\n nullable: true,\n default: null,\n })\n status: string | null;\n\n @Column({\n name: 'status_message', \n type: 'varchar', \n length: 256, \n nullable: true, \n default: null, \n })\n statusMessage: string | null;\n\n // ------------------------------------------------------------------\n\n @Index()\n @Column({\n type: 'boolean',\n default: true,\n })\n active: boolean;\n\n @Index()\n @Column({\n name: 'activate_hash',\n type: 'varchar',\n length: 256,\n nullable: true,\n default: null,\n select: false,\n })\n activateHash: string | null;\n\n // ------------------------------------------------------------------\n\n @Index()\n @CreateDateColumn({ name: 'created_at', transformer: dateToISOStringTransformer })\n createdAt: string;\n\n @Index()\n @UpdateDateColumn({ name: 'updated_at', transformer: dateToISOStringTransformer })\n updatedAt: string;\n\n // ------------------------------------------------------------------\n\n @Index()\n @Column({ name: 'realm_id' })\n realmId: Realm['id'];\n\n @ManyToOne(() => RealmEntity, { onDelete: 'CASCADE' })\n @JoinColumn({ name: 'realm_id' })\n realm: Realm;\n\n // ------------------------------------------------------------------\n\n @BeforeInsert()\n @BeforeUpdate()\n setDisplayName() {\n if (\n typeof this.displayName !== 'string' ||\n this.displayName.length === 0\n ) {\n this.displayName = this.name;\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AA0BA,IAAaa,aAAb,MAAaA;CAETC;CAOAC;CAOAC;CAQAC;CAQAC;CASAC;CAQAC;CAOAC;CASAC;CASAC;CAOAC;CAaAC;CAUAC;CAUAC;CAUAC;CASAC;CASAC;CAWAC;CAMAC;CAIAC;CAMAC;CAIAC;CAMAC,iBAAiB;EACb,IACI,OAAO,KAAKjB,gBAAgB,YAC5B,KAAKA,YAAYkB,WAAW,GAE5B,KAAKlB,cAAc,KAAKJ;CAEhC;AACJ;;;;;EArLQuB,MAAM;EACND,QAAQ;;;;;CAKRtB,MAAM;CACNuB,MAAM;CACNC,SAAS;;;CAKTxB,MAAM;CACNuB,MAAM;CACND,QAAQ;CACRG,UAAU;;;CAKVzB,MAAM;CACNuB,MAAM;CACND,QAAQ;CACRG,UAAU;;;;;EAMVzB,MAAM;EACNuB,MAAM;EACND,QAAQ;EACRG,UAAU;;;;;;;EAMVF,MAAM;EACND,QAAQ;EACRI,QAAQ;;;;;CAKR1B,MAAM;CACNuB,MAAM;CACNC,SAAS;;;CAKTD,MAAM;CACND,QAAQ;CACRE,SAAS;CACTC,UAAU;CACVC,QAAQ;;;CAORH,MAAM;CACND,QAAQ;CACRG,UAAU;;;CAKVF,MAAM;CACND,QAAQ;CACRG,UAAU;;;;;EAQVzB,MAAM;EACNuB,MAAM;EACND,QAAQ;EACRG,UAAU;EACVD,SAAS;EACTE,QAAQ;;;;;CAKR1B,MAAM;CACNuB,MAAM;CACND,QAAQ;CACRG,UAAU;CACVD,SAAS;CACTE,QAAQ;;;CAKR1B,MAAM;CACNuB,MAAM;CACND,QAAQ;CACRG,UAAU;CACVD,SAAS;CACTE,QAAQ;;;CAORH,MAAM;CACND,QAAQ;CACRG,UAAU;CACVD,SAAS;;;CAKTxB,MAAM;CACNuB,MAAM;CACND,QAAQ;CACRG,UAAU;CACVD,SAAS;;;;;EAQTD,MAAM;EACNC,SAAS;;;;;;;EAMTxB,MAAM;EACNuB,MAAM;EACND,QAAQ;EACRG,UAAU;EACVD,SAAS;EACTE,QAAQ;;;;;;;EAOQ1B,MAAM;EAAc2B,aAAa/B;;;;;;;EAIjCI,MAAM;EAAc2B,aAAa/B;;;;;;CAM3CI,OAAAA,EAAAA,MAAM,WAAA,CAAA;;;;CAGCH,gBAAAA,aAAAA,EAAe+B,UAAU,UAAA,CAAA;CAC5B5B,WAAAA,EAAAA,MAAM,WAAA,CAAA;;;;;;;;;;AA9KdA,aAAAA,aAAAA,CAAAA,OAAAA,EAAAA,MAAM,aAAA,CAAA,GAAA,OAAA,CACP,QAAQ,SAAA,CAAA,CAAA,GAAA,UAAA"}
|
|
@@ -29,7 +29,7 @@ var EARepository = class extends Repository {
|
|
|
29
29
|
const columns = /* @__PURE__ */ new Set();
|
|
30
30
|
for (const col of this.metadata.columns) columns.add(col.propertyName);
|
|
31
31
|
for (const rel of this.metadata.relations) columns.add(rel.propertyName);
|
|
32
|
-
for (const key of Object.
|
|
32
|
+
for (const [key, value] of Object.entries(source)) if (!columns.has(key) && !(key in entity)) entity[key] = value;
|
|
33
33
|
}
|
|
34
34
|
async saveOneWithEA(input, attributes, options) {
|
|
35
35
|
return this.adapter.saveWithEA(input, attributes, options);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repository.mjs","names":["InstanceChecker","Repository","ExtraAttributesRepositoryAdapter","EARepository","adapter","instance","options","entity","attributeEntity","ctx","isDataSource","manager","repository","attributeRepository","getRepository","create","entityLike","Array","isArray","map","i","preserveExtraAttributes","source","columns","Set","col","metadata","add","propertyName","rel","relations","key","Object","
|
|
1
|
+
{"version":3,"file":"repository.mjs","names":["InstanceChecker","Repository","ExtraAttributesRepositoryAdapter","EARepository","adapter","instance","options","entity","attributeEntity","ctx","isDataSource","manager","repository","attributeRepository","getRepository","create","entityLike","Array","isArray","map","i","preserveExtraAttributes","source","columns","Set","col","metadata","add","propertyName","rel","relations","key","value","Object","entries","has","saveOneWithEA","input","attributes","saveWithEA","findOneWithEA","extraOptions","findManyWithEA","findWithEA","findOneWithEAByPrimaryColumn","extendOneWithEA","extendWithEA","extendManyWithEA","entities"],"sources":["../../../../src/adapters/database/extra-attribute-repository/repository.ts"],"sourcesContent":["/*\n * Copyright (c) 2024.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type {\n DataSource, \n DeepPartial, \n EntityManager, \n FindManyOptions, \n FindOneOptions,\n} from 'typeorm';\nimport { InstanceChecker, Repository } from 'typeorm';\nimport type { ObjectLiteral } from '@authup/kit';\nimport { ExtraAttributesRepositoryAdapter } from './adapter.ts';\nimport type {\n EARepositoryEntityBase, \n EARepositoryFindOptions, \n EARepositoryOptions, \n EARepositorySaveOptions, \n IEARepository,\n} from './types.ts';\n\nexport class EARepository<\n T extends ObjectLiteral = ObjectLiteral,\n A extends EARepositoryEntityBase = EARepositoryEntityBase,\n> extends Repository<T> implements IEARepository <T> {\n protected adapter : ExtraAttributesRepositoryAdapter<T, A>;\n\n constructor(\n instance: DataSource | EntityManager,\n options: EARepositoryOptions<T, A>,\n ) {\n const {\n entity,\n attributeEntity,\n ...ctx\n } = options;\n\n super(\n entity,\n InstanceChecker.isDataSource(instance) ? instance.manager : instance,\n );\n\n this.adapter = new ExtraAttributesRepositoryAdapter<T, A>({\n ...ctx,\n repository: this,\n attributeRepository: this.manager.getRepository(attributeEntity),\n });\n }\n // ------------------------------------------------------------------------------\n\n override create(): T;\n\n override create(entityLikeArray: DeepPartial<T>[]): T[];\n\n override create(entityLike: DeepPartial<T>): T;\n\n override create(entityLike?: DeepPartial<T> | DeepPartial<T>[]): T | T[] {\n if (!entityLike) {\n return super.create();\n }\n\n if (Array.isArray(entityLike)) {\n return super.create(entityLike).map((entity, i) => {\n this.preserveExtraAttributes(entity, entityLike[i]);\n return entity;\n });\n }\n\n const entity = super.create(entityLike);\n this.preserveExtraAttributes(entity, entityLike);\n return entity;\n }\n\n private preserveExtraAttributes(entity: T, source: DeepPartial<T>): void {\n const columns = new Set<string>();\n for (const col of this.metadata.columns) {\n columns.add(col.propertyName);\n }\n for (const rel of this.metadata.relations) {\n columns.add(rel.propertyName);\n }\n\n for (const [key, value] of Object.entries(source as Record<string, any>)) {\n if (!columns.has(key) && !(key in entity)) {\n (entity as Record<string, any>)[key] = value;\n }\n }\n }\n\n // ------------------------------------------------------------------------------\n\n async saveOneWithEA<E extends Record<string, any>>(\n input: T & E,\n attributes?: E,\n options?: EARepositorySaveOptions<T>,\n ) : Promise<T & E> {\n return this.adapter.saveWithEA(input, attributes, options);\n }\n\n // ------------------------------------------------------------------------------\n\n async findOneWithEA(\n options: FindOneOptions<T>,\n extraOptions: EARepositoryFindOptions = {},\n ) : Promise<T | undefined> {\n return this.adapter.findOneWithEA(options, extraOptions);\n }\n\n async findManyWithEA<\n E extends Record<string, any>,\n >(\n options: FindManyOptions<T>,\n extraOptions: EARepositoryFindOptions = {},\n ) : Promise<(T & E)[]> {\n return this.adapter.findWithEA(options, extraOptions);\n }\n\n async findOneWithEAByPrimaryColumn<E extends Record<string, any>>(\n value: T[keyof T],\n extraOptions: EARepositoryFindOptions = {},\n ) : Promise<E> {\n return this.adapter.findOneWithEAByPrimaryColumn(value, extraOptions);\n }\n\n async extendOneWithEA<E extends Record<string, any>>(\n entity: T,\n extraOptions: EARepositoryFindOptions = {},\n ) : Promise<T & E> {\n return this.adapter.extendWithEA(entity, extraOptions);\n }\n\n async extendManyWithEA<E extends Record<string, any>>(\n entities: T[],\n extraOptions: EARepositoryFindOptions = {},\n ) : Promise<(T & E)[]> {\n return this.adapter.extendManyWithEA(entities, extraOptions);\n }\n}\n"],"mappings":";;;;;;AAyBA,IAAaG,eAAb,cAGUF,WAAAA;CACIG;CAEV,YACIC,UACAC,SACF;EACE,MAAM,EACFC,QACAC,iBACA,GAAGC,QACHH;EAEJ,MACIC,QACAP,gBAAgBU,aAAaL,QAAAA,IAAYA,SAASM,UAAUN,QAAAA;EAGhE,KAAKD,UAAU,IAAIF,iCAAuC;GACtD,GAAGO;GACHG,YAAY;GACZC,qBAAqB,KAAKF,QAAQG,cAAcN,eAAAA;EACpD,CAAA;CACJ;CASSO,OAAOC,YAAyD;EACrE,IAAI,CAACA,YACD,OAAO,MAAMD,OAAAA;EAGjB,IAAIE,MAAMC,QAAQF,UAAAA,GACd,OAAO,MAAMD,OAAOC,UAAAA,CAAAA,CAAYG,KAAKZ,QAAQa,MAAAA;GACzC,KAAKC,wBAAwBd,QAAQS,WAAWI,EAAE;GAClD,OAAOb;EACX,CAAA;EAGJ,MAAMA,SAAS,MAAMQ,OAAOC,UAAAA;EAC5B,KAAKK,wBAAwBd,QAAQS,UAAAA;EACrC,OAAOT;CACX;CAEQc,wBAAwBd,QAAWe,QAA8B;EACrE,MAAMC,0BAAU,IAAIC,IAAAA;EACpB,KAAK,MAAMC,OAAO,KAAKC,SAASH,SAC5BA,QAAQI,IAAIF,IAAIG,YAAY;EAEhC,KAAK,MAAMC,OAAO,KAAKH,SAASI,WAC5BP,QAAQI,IAAIE,IAAID,YAAY;EAGhC,KAAK,MAAM,CAACG,KAAKC,UAAUC,OAAOC,QAAQZ,MAAAA,GACtC,IAAI,CAACC,QAAQY,IAAIJ,GAAAA,KAAQ,EAAEA,OAAOxB,SAC7BA,OAA+BwB,OAAOC;CAGnD;CAIA,MAAMI,cACFC,OACAC,YACAhC,SACe;EACf,OAAO,KAAKF,QAAQmC,WAAWF,OAAOC,YAAYhC,OAAAA;CACtD;CAIA,MAAMkC,cACFlC,SACAmC,eAAwC,CAAC,GAClB;EACvB,OAAO,KAAKrC,QAAQoC,cAAclC,SAASmC,YAAAA;CAC/C;CAEA,MAAMC,eAGFpC,SACAmC,eAAwC,CAAC,GACtB;EACnB,OAAO,KAAKrC,QAAQuC,WAAWrC,SAASmC,YAAAA;CAC5C;CAEA,MAAMG,6BACFZ,OACAS,eAAwC,CAAC,GAC9B;EACX,OAAO,KAAKrC,QAAQwC,6BAA6BZ,OAAOS,YAAAA;CAC5D;CAEA,MAAMI,gBACFtC,QACAkC,eAAwC,CAAC,GAC1B;EACf,OAAO,KAAKrC,QAAQ0C,aAAavC,QAAQkC,YAAAA;CAC7C;CAEA,MAAMM,iBACFC,UACAP,eAAwC,CAAC,GACtB;EACnB,OAAO,KAAKrC,QAAQ2C,iBAAiBC,UAAUP,YAAAA;CACnD;AACJ"}
|
|
@@ -53,8 +53,10 @@ var ExtraAttributesTreeRepositoryAdapter = class extends ExtraAttributesReposito
|
|
|
53
53
|
const childColumnName = this.repository.metadata.treeChildrenRelation?.propertyName;
|
|
54
54
|
for (const datum of data) {
|
|
55
55
|
fn(datum);
|
|
56
|
-
if (childColumnName && datum[childColumnName])
|
|
57
|
-
|
|
56
|
+
if (childColumnName && datum[childColumnName]) {
|
|
57
|
+
if (Array.isArray(datum[childColumnName])) this.traverse(datum[childColumnName], fn);
|
|
58
|
+
else this.traverse([datum[childColumnName]], fn);
|
|
59
|
+
}
|
|
58
60
|
}
|
|
59
61
|
}
|
|
60
62
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.mjs","names":["ExtraAttributesRepositoryAdapter","ExtraAttributesTreeRepositoryAdapter","saveWithEA","input","attributes","options","childColumnName","repository","metadata","treeChildrenRelation","propertyName","parentColumnName","treeParentRelation","children","parent","Array","isArray","child","undefined","extendManyWithEA","entities","extraOptions","flattened","flatten","attributesByPrimaryKey","findWithEAByPrimaryColumn","getPrimaryKeyValues","traverse","entity","value","primaryColumn","keys","Object","key","output","push","fn","data","datum"],"sources":["../../../../../src/adapters/database/extra-attribute-repository/tree/adapter.ts"],"sourcesContent":["/*\n * Copyright (c) 2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { ObjectLiteral } from '@authup/kit';\nimport { ExtraAttributesRepositoryAdapter } from '../adapter.ts';\nimport type { EARepositoryEntityBase, EARepositoryFindOptions, EARepositorySaveOptions } from '../types.ts';\n\nexport class ExtraAttributesTreeRepositoryAdapter<\n T extends ObjectLiteral = ObjectLiteral,\n A extends EARepositoryEntityBase = EARepositoryEntityBase,\n> extends ExtraAttributesRepositoryAdapter<T, A> {\n async saveWithEA<E extends Record<string, any>>(\n input: T & E,\n attributes?: E,\n options?: EARepositorySaveOptions<T>,\n ) : Promise<T & E> {\n const childColumnName = this.repository.metadata.treeChildrenRelation?.propertyName;\n const parentColumnName = this.repository.metadata.treeParentRelation?.propertyName;\n\n let children : T | T[] | undefined;\n\n if (childColumnName && input[childColumnName]) {\n children = input[childColumnName];\n delete input[childColumnName];\n }\n\n if (\n parentColumnName &&\n options &&\n options.parent\n ) {\n input[parentColumnName as keyof T] = options.parent as (T & E)[keyof T];\n }\n\n await super.saveWithEA(input, attributes, options);\n\n if (\n parentColumnName &&\n options &&\n options.parent\n ) {\n delete input[parentColumnName as keyof T];\n }\n\n if (\n childColumnName &&\n parentColumnName &&\n children\n ) {\n if (Array.isArray(children)) {\n for (const child of children) {\n await this.saveWithEA(child, undefined, {\n ...(options || {}),\n parent: input,\n });\n }\n } else {\n await this.saveWithEA(children, undefined, {\n ...(options || {}),\n parent: input,\n });\n }\n\n input[childColumnName as keyof T] = children as (T & E)[keyof T];\n }\n\n return input;\n }\n\n // ------------------------------------------------------------------------------\n\n async extendManyWithEA<E extends Record<string, any>>(\n entities: T[],\n extraOptions: EARepositoryFindOptions = {},\n ) : Promise<(T & E)[]> {\n const flattened = this.flatten(entities);\n\n const attributesByPrimaryKey = await this.findWithEAByPrimaryColumn(\n this.getPrimaryKeyValues(flattened),\n extraOptions,\n );\n\n this.traverse(entities, (entity) => {\n const value = attributesByPrimaryKey[entity[this.primaryColumn] as string];\n if (!value) {\n return entity;\n }\n\n const keys = Object.keys(value);\n for (const key of keys) {\n entity[key as keyof T] = value[key] as T[keyof T];\n }\n\n return entity;\n });\n\n return entities as (T & E)[];\n }\n\n // ------------------------------------------------------------------------------\n\n protected flatten(entities: T | T[]) : T[] {\n const output : T[] = [];\n\n this.traverse(entities, (entity) => {\n output.push(entity);\n\n return entity;\n });\n\n return output;\n }\n\n protected traverse(entities: T | T[], fn: (entity: T) => T) {\n const data : T[] = Array.isArray(entities) ? entities : [entities];\n\n const childColumnName = this.repository.metadata.treeChildrenRelation?.propertyName;\n for (const datum of data) {\n fn(datum);\n\n if (childColumnName && datum[childColumnName]) {\n if (Array.isArray(datum[childColumnName])) {\n this.traverse(datum[childColumnName], fn);\n } else {\n this.traverse([datum[childColumnName]], fn);\n }\n }\n }\n }\n}\n"],"mappings":";;;;;AAWA,IAAaC,uCAAb,cAGUD,iCAAAA;CACN,MAAME,WACFC,OACAC,YACAC,SACe;EACf,MAAMC,kBAAkB,KAAKC,WAAWC,SAASC,sBAAsBC;EACvE,MAAMC,mBAAmB,KAAKJ,WAAWC,SAASI,oBAAoBF;EAEtE,IAAIG;EAEJ,IAAIP,mBAAmBH,MAAMG,kBAAkB;GAC3CO,WAAWV,MAAMG;GACjB,OAAOH,MAAMG;EACjB;EAEA,IACIK,oBACAN,WACAA,QAAQS,QAERX,MAAMQ,oBAA+BN,QAAQS;EAGjD,MAAM,MAAMZ,WAAWC,OAAOC,YAAYC,OAAAA;EAE1C,IACIM,oBACAN,WACAA,QAAQS,QAER,OAAOX,MAAMQ;EAGjB,IACIL,mBACAK,oBACAE,UACF;GACE,IAAIE,MAAMC,QAAQH,QAAAA,GACd,KAAK,MAAMI,SAASJ,UAChB,MAAM,KAAKX,WAAWe,OAAOC,KAAAA,GAAW;IACpC,GAAIb,WAAW,CAAC;IAChBS,QAAQX;GACZ,CAAA;QAGJ,MAAM,KAAKD,WAAWW,UAAUK,KAAAA,GAAW;IACvC,GAAIb,WAAW,CAAC;IAChBS,QAAQX;GACZ,CAAA;GAGJA,MAAMG,mBAA8BO;EACxC;EAEA,OAAOV;CACX;CAIA,MAAMgB,iBACFC,UACAC,eAAwC,CAAC,GACtB;EACnB,MAAMC,YAAY,KAAKC,QAAQH,QAAAA;EAE/B,MAAMI,yBAAyB,MAAM,KAAKC,0BACtC,KAAKC,oBAAoBJ,SAAAA,GACzBD,YAAAA;EAGJ,KAAKM,SAASP,WAAWQ,WAAAA;GACrB,MAAMC,QAAQL,uBAAuBI,OAAO,KAAKE;GACjD,IAAI,CAACD,OACD,OAAOD;GAGX,MAAMG,OAAOC,OAAOD,KAAKF,KAAAA;GACzB,KAAK,MAAMI,OAAOF,MACdH,OAAOK,OAAkBJ,MAAMI;GAGnC,OAAOL;EACX,CAAA;EAEA,OAAOR;CACX;CAIUG,QAAQH,UAAyB;EACvC,MAAMc,SAAe,CAAA;EAErB,KAAKP,SAASP,WAAWQ,WAAAA;GACrBM,OAAOC,KAAKP,MAAAA;GAEZ,OAAOA;EACX,CAAA;EAEA,OAAOM;CACX;CAEUP,SAASP,UAAmBgB,IAAsB;EACxD,MAAMC,OAAatB,MAAMC,QAAQI,QAAAA,IAAYA,WAAW,CAACA,QAAS;EAElE,MAAMd,kBAAkB,KAAKC,WAAWC,SAASC,sBAAsBC;EACvE,KAAK,MAAM4B,SAASD,MAAM;GACtBD,GAAGE,KAAAA;GAEH,IAAIhC,mBAAmBgC,MAAMhC,
|
|
1
|
+
{"version":3,"file":"adapter.mjs","names":["ExtraAttributesRepositoryAdapter","ExtraAttributesTreeRepositoryAdapter","saveWithEA","input","attributes","options","childColumnName","repository","metadata","treeChildrenRelation","propertyName","parentColumnName","treeParentRelation","children","parent","Array","isArray","child","undefined","extendManyWithEA","entities","extraOptions","flattened","flatten","attributesByPrimaryKey","findWithEAByPrimaryColumn","getPrimaryKeyValues","traverse","entity","value","primaryColumn","keys","Object","key","output","push","fn","data","datum"],"sources":["../../../../../src/adapters/database/extra-attribute-repository/tree/adapter.ts"],"sourcesContent":["/*\n * Copyright (c) 2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { ObjectLiteral } from '@authup/kit';\nimport { ExtraAttributesRepositoryAdapter } from '../adapter.ts';\nimport type { EARepositoryEntityBase, EARepositoryFindOptions, EARepositorySaveOptions } from '../types.ts';\n\nexport class ExtraAttributesTreeRepositoryAdapter<\n T extends ObjectLiteral = ObjectLiteral,\n A extends EARepositoryEntityBase = EARepositoryEntityBase,\n> extends ExtraAttributesRepositoryAdapter<T, A> {\n async saveWithEA<E extends Record<string, any>>(\n input: T & E,\n attributes?: E,\n options?: EARepositorySaveOptions<T>,\n ) : Promise<T & E> {\n const childColumnName = this.repository.metadata.treeChildrenRelation?.propertyName;\n const parentColumnName = this.repository.metadata.treeParentRelation?.propertyName;\n\n let children : T | T[] | undefined;\n\n if (childColumnName && input[childColumnName]) {\n children = input[childColumnName];\n delete input[childColumnName];\n }\n\n if (\n parentColumnName &&\n options &&\n options.parent\n ) {\n input[parentColumnName as keyof T] = options.parent as (T & E)[keyof T];\n }\n\n await super.saveWithEA(input, attributes, options);\n\n if (\n parentColumnName &&\n options &&\n options.parent\n ) {\n delete input[parentColumnName as keyof T];\n }\n\n if (\n childColumnName &&\n parentColumnName &&\n children\n ) {\n if (Array.isArray(children)) {\n for (const child of children) {\n await this.saveWithEA(child, undefined, {\n ...(options || {}),\n parent: input,\n });\n }\n } else {\n await this.saveWithEA(children, undefined, {\n ...(options || {}),\n parent: input,\n });\n }\n\n input[childColumnName as keyof T] = children as (T & E)[keyof T];\n }\n\n return input;\n }\n\n // ------------------------------------------------------------------------------\n\n async extendManyWithEA<E extends Record<string, any>>(\n entities: T[],\n extraOptions: EARepositoryFindOptions = {},\n ) : Promise<(T & E)[]> {\n const flattened = this.flatten(entities);\n\n const attributesByPrimaryKey = await this.findWithEAByPrimaryColumn(\n this.getPrimaryKeyValues(flattened),\n extraOptions,\n );\n\n this.traverse(entities, (entity) => {\n const value = attributesByPrimaryKey[entity[this.primaryColumn] as string];\n if (!value) {\n return entity;\n }\n\n const keys = Object.keys(value);\n for (const key of keys) {\n entity[key as keyof T] = value[key] as T[keyof T];\n }\n\n return entity;\n });\n\n return entities as (T & E)[];\n }\n\n // ------------------------------------------------------------------------------\n\n protected flatten(entities: T | T[]) : T[] {\n const output : T[] = [];\n\n this.traverse(entities, (entity) => {\n output.push(entity);\n\n return entity;\n });\n\n return output;\n }\n\n protected traverse(entities: T | T[], fn: (entity: T) => T) {\n const data : T[] = Array.isArray(entities) ? entities : [entities];\n\n const childColumnName = this.repository.metadata.treeChildrenRelation?.propertyName;\n for (const datum of data) {\n fn(datum);\n\n if (childColumnName && datum[childColumnName]) {\n if (Array.isArray(datum[childColumnName])) {\n this.traverse(datum[childColumnName], fn);\n } else {\n this.traverse([datum[childColumnName]], fn);\n }\n }\n }\n }\n}\n"],"mappings":";;;;;AAWA,IAAaC,uCAAb,cAGUD,iCAAAA;CACN,MAAME,WACFC,OACAC,YACAC,SACe;EACf,MAAMC,kBAAkB,KAAKC,WAAWC,SAASC,sBAAsBC;EACvE,MAAMC,mBAAmB,KAAKJ,WAAWC,SAASI,oBAAoBF;EAEtE,IAAIG;EAEJ,IAAIP,mBAAmBH,MAAMG,kBAAkB;GAC3CO,WAAWV,MAAMG;GACjB,OAAOH,MAAMG;EACjB;EAEA,IACIK,oBACAN,WACAA,QAAQS,QAERX,MAAMQ,oBAA+BN,QAAQS;EAGjD,MAAM,MAAMZ,WAAWC,OAAOC,YAAYC,OAAAA;EAE1C,IACIM,oBACAN,WACAA,QAAQS,QAER,OAAOX,MAAMQ;EAGjB,IACIL,mBACAK,oBACAE,UACF;GACE,IAAIE,MAAMC,QAAQH,QAAAA,GACd,KAAK,MAAMI,SAASJ,UAChB,MAAM,KAAKX,WAAWe,OAAOC,KAAAA,GAAW;IACpC,GAAIb,WAAW,CAAC;IAChBS,QAAQX;GACZ,CAAA;QAGJ,MAAM,KAAKD,WAAWW,UAAUK,KAAAA,GAAW;IACvC,GAAIb,WAAW,CAAC;IAChBS,QAAQX;GACZ,CAAA;GAGJA,MAAMG,mBAA8BO;EACxC;EAEA,OAAOV;CACX;CAIA,MAAMgB,iBACFC,UACAC,eAAwC,CAAC,GACtB;EACnB,MAAMC,YAAY,KAAKC,QAAQH,QAAAA;EAE/B,MAAMI,yBAAyB,MAAM,KAAKC,0BACtC,KAAKC,oBAAoBJ,SAAAA,GACzBD,YAAAA;EAGJ,KAAKM,SAASP,WAAWQ,WAAAA;GACrB,MAAMC,QAAQL,uBAAuBI,OAAO,KAAKE;GACjD,IAAI,CAACD,OACD,OAAOD;GAGX,MAAMG,OAAOC,OAAOD,KAAKF,KAAAA;GACzB,KAAK,MAAMI,OAAOF,MACdH,OAAOK,OAAkBJ,MAAMI;GAGnC,OAAOL;EACX,CAAA;EAEA,OAAOR;CACX;CAIUG,QAAQH,UAAyB;EACvC,MAAMc,SAAe,CAAA;EAErB,KAAKP,SAASP,WAAWQ,WAAAA;GACrBM,OAAOC,KAAKP,MAAAA;GAEZ,OAAOA;EACX,CAAA;EAEA,OAAOM;CACX;CAEUP,SAASP,UAAmBgB,IAAsB;EACxD,MAAMC,OAAatB,MAAMC,QAAQI,QAAAA,IAAYA,WAAW,CAACA,QAAS;EAElE,MAAMd,kBAAkB,KAAKC,WAAWC,SAASC,sBAAsBC;EACvE,KAAK,MAAM4B,SAASD,MAAM;GACtBD,GAAGE,KAAAA;GAEH,IAAIhC,mBAAmBgC,MAAMhC,kBAAkB;IAC3C,IAAIS,MAAMC,QAAQsB,MAAMhC,gBAAgB,GACpC,KAAKqB,SAASW,MAAMhC,kBAAkB8B,EAAAA;SAEtC,KAAKT,SAAS,CAACW,MAAMhC,gBAAiB,GAAE8B,EAAAA;GAEhD;EACJ;CACJ;AACJ"}
|
|
@@ -33,7 +33,7 @@ import { FindOptionsUtils, InstanceChecker, TreeRepository, TreeRepositoryUtils
|
|
|
33
33
|
const columns = /* @__PURE__ */ new Set();
|
|
34
34
|
for (const col of this.metadata.columns) columns.add(col.propertyName);
|
|
35
35
|
for (const rel of this.metadata.relations) columns.add(rel.propertyName);
|
|
36
|
-
for (const key of Object.
|
|
36
|
+
for (const [key, value] of Object.entries(source)) if (!columns.has(key) && !(key in entity)) entity[key] = value;
|
|
37
37
|
}
|
|
38
38
|
async saveOneWithEA(input, attributes, options) {
|
|
39
39
|
return this.adapter.saveWithEA(input, attributes, options);
|