@authup/server-core 1.0.0-beta.45 → 1.0.0-beta.47
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +661 -201
- package/README.md +3 -1
- package/dist/adapters/database/data-source/index.d.ts +0 -1
- package/dist/adapters/database/data-source/index.d.ts.map +1 -1
- package/dist/adapters/database/data-source/index.mjs +1 -2
- package/dist/adapters/database/domains/client/subscriber.d.ts +3 -6
- package/dist/adapters/database/domains/client/subscriber.d.ts.map +1 -1
- package/dist/adapters/database/domains/client/subscriber.mjs +21 -39
- package/dist/adapters/database/domains/client/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/client-permission/subscriber.d.ts +3 -6
- package/dist/adapters/database/domains/client-permission/subscriber.d.ts.map +1 -1
- package/dist/adapters/database/domains/client-permission/subscriber.mjs +24 -49
- package/dist/adapters/database/domains/client-permission/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/client-role/subscriber.d.ts +3 -6
- package/dist/adapters/database/domains/client-role/subscriber.d.ts.map +1 -1
- package/dist/adapters/database/domains/client-role/subscriber.mjs +24 -49
- package/dist/adapters/database/domains/client-role/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/client-scope/subscriber.d.ts +3 -6
- package/dist/adapters/database/domains/client-scope/subscriber.d.ts.map +1 -1
- package/dist/adapters/database/domains/client-scope/subscriber.mjs +21 -36
- package/dist/adapters/database/domains/client-scope/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/identity-provider/subscriber.d.ts +3 -6
- package/dist/adapters/database/domains/identity-provider/subscriber.d.ts.map +1 -1
- package/dist/adapters/database/domains/identity-provider/subscriber.mjs +21 -39
- package/dist/adapters/database/domains/identity-provider/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/identity-provider-account/subscriber.d.ts +3 -6
- package/dist/adapters/database/domains/identity-provider-account/subscriber.d.ts.map +1 -1
- package/dist/adapters/database/domains/identity-provider-account/subscriber.mjs +21 -36
- package/dist/adapters/database/domains/identity-provider-account/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/identity-provider-attribute/subscriber.d.ts +3 -6
- package/dist/adapters/database/domains/identity-provider-attribute/subscriber.d.ts.map +1 -1
- package/dist/adapters/database/domains/identity-provider-attribute/subscriber.mjs +21 -36
- package/dist/adapters/database/domains/identity-provider-attribute/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/identity-provider-role-mapping/subscriber.d.ts +3 -6
- package/dist/adapters/database/domains/identity-provider-role-mapping/subscriber.d.ts.map +1 -1
- package/dist/adapters/database/domains/identity-provider-role-mapping/subscriber.mjs +21 -45
- package/dist/adapters/database/domains/identity-provider-role-mapping/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/permission/subscriber.d.ts +3 -6
- package/dist/adapters/database/domains/permission/subscriber.d.ts.map +1 -1
- package/dist/adapters/database/domains/permission/subscriber.mjs +28 -47
- package/dist/adapters/database/domains/permission/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/policy/subscriber.d.ts +3 -6
- package/dist/adapters/database/domains/policy/subscriber.d.ts.map +1 -1
- package/dist/adapters/database/domains/policy/subscriber.mjs +21 -36
- package/dist/adapters/database/domains/policy/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/policy-attribute/subscriber.d.ts +3 -6
- package/dist/adapters/database/domains/policy-attribute/subscriber.d.ts.map +1 -1
- package/dist/adapters/database/domains/policy-attribute/subscriber.mjs +24 -45
- package/dist/adapters/database/domains/policy-attribute/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/realm/subscriber.d.ts +3 -6
- package/dist/adapters/database/domains/realm/subscriber.d.ts.map +1 -1
- package/dist/adapters/database/domains/realm/subscriber.mjs +21 -36
- package/dist/adapters/database/domains/realm/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/robot/subscriber.d.ts +3 -6
- package/dist/adapters/database/domains/robot/subscriber.d.ts.map +1 -1
- package/dist/adapters/database/domains/robot/subscriber.mjs +21 -39
- package/dist/adapters/database/domains/robot/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/robot-permission/subscriber.d.ts +3 -6
- package/dist/adapters/database/domains/robot-permission/subscriber.d.ts.map +1 -1
- package/dist/adapters/database/domains/robot-permission/subscriber.mjs +24 -49
- package/dist/adapters/database/domains/robot-permission/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/robot-role/subscriber.d.ts +3 -6
- package/dist/adapters/database/domains/robot-role/subscriber.d.ts.map +1 -1
- package/dist/adapters/database/domains/robot-role/subscriber.mjs +24 -49
- package/dist/adapters/database/domains/robot-role/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/role/subscriber.d.ts +3 -6
- package/dist/adapters/database/domains/role/subscriber.d.ts.map +1 -1
- package/dist/adapters/database/domains/role/subscriber.mjs +21 -41
- package/dist/adapters/database/domains/role/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/role-attribute/subscriber.d.ts +3 -6
- package/dist/adapters/database/domains/role-attribute/subscriber.d.ts.map +1 -1
- package/dist/adapters/database/domains/role-attribute/subscriber.mjs +24 -45
- package/dist/adapters/database/domains/role-attribute/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/role-permission/subscriber.d.ts +3 -6
- package/dist/adapters/database/domains/role-permission/subscriber.d.ts.map +1 -1
- package/dist/adapters/database/domains/role-permission/subscriber.mjs +24 -49
- package/dist/adapters/database/domains/role-permission/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/scope/subscriber.d.ts +3 -6
- package/dist/adapters/database/domains/scope/subscriber.d.ts.map +1 -1
- package/dist/adapters/database/domains/scope/subscriber.mjs +17 -43
- package/dist/adapters/database/domains/scope/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/user/subscriber.d.ts +3 -6
- package/dist/adapters/database/domains/user/subscriber.d.ts.map +1 -1
- package/dist/adapters/database/domains/user/subscriber.mjs +21 -39
- package/dist/adapters/database/domains/user/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/user-attribute/subscriber.d.ts +3 -6
- package/dist/adapters/database/domains/user-attribute/subscriber.d.ts.map +1 -1
- package/dist/adapters/database/domains/user-attribute/subscriber.mjs +24 -43
- package/dist/adapters/database/domains/user-attribute/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/user-permission/subscriber.d.ts +3 -6
- package/dist/adapters/database/domains/user-permission/subscriber.d.ts.map +1 -1
- package/dist/adapters/database/domains/user-permission/subscriber.mjs +24 -49
- package/dist/adapters/database/domains/user-permission/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/user-role/subscriber.d.ts +3 -6
- package/dist/adapters/database/domains/user-role/subscriber.d.ts.map +1 -1
- package/dist/adapters/database/domains/user-role/subscriber.mjs +24 -49
- package/dist/adapters/database/domains/user-role/subscriber.mjs.map +1 -1
- package/dist/adapters/database/index.d.ts +1 -0
- package/dist/adapters/database/index.d.ts.map +1 -1
- package/dist/adapters/database/index.mjs +3 -2
- package/dist/adapters/database/subscriber/index.d.ts +3 -0
- package/dist/adapters/database/subscriber/index.d.ts.map +1 -0
- package/dist/adapters/database/subscriber/index.mjs +5 -0
- package/dist/adapters/database/subscriber/module.d.ts +19 -0
- package/dist/adapters/database/subscriber/module.d.ts.map +1 -0
- package/dist/adapters/database/subscriber/module.mjs +70 -0
- package/dist/adapters/database/subscriber/module.mjs.map +1 -0
- package/dist/adapters/database/subscriber/types.d.ts +15 -0
- package/dist/adapters/database/subscriber/types.d.ts.map +1 -0
- package/dist/adapters/http/controllers/entities/identity-provider/module.mjs +1 -1
- package/dist/adapters/http/controllers/workflows/activate/module.d.ts +8 -1
- package/dist/adapters/http/controllers/workflows/activate/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/workflows/activate/module.mjs +20 -1
- package/dist/adapters/http/controllers/workflows/activate/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/workflows/authorize/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/workflows/authorize/module.mjs +16 -37
- package/dist/adapters/http/controllers/workflows/authorize/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/workflows/authorize/types.d.ts +2 -0
- package/dist/adapters/http/controllers/workflows/authorize/types.d.ts.map +1 -1
- package/dist/adapters/http/controllers/workflows/password-forgot/module.d.ts +8 -1
- package/dist/adapters/http/controllers/workflows/password-forgot/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/workflows/password-forgot/module.mjs +23 -2
- 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 -1
- package/dist/adapters/http/controllers/workflows/password-reset/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/workflows/password-reset/module.mjs +21 -1
- package/dist/adapters/http/controllers/workflows/password-reset/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/workflows/register/module.d.ts +8 -1
- package/dist/adapters/http/controllers/workflows/register/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/workflows/register/module.mjs +23 -2
- package/dist/adapters/http/controllers/workflows/register/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/workflows/status/module.d.ts +11 -4
- package/dist/adapters/http/controllers/workflows/status/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/workflows/status/module.mjs +17 -5
- package/dist/adapters/http/controllers/workflows/status/module.mjs.map +1 -1
- package/dist/adapters/http/index.mjs +4 -1
- package/dist/adapters/http/middleware/built-in/cors.d.ts.map +1 -1
- package/dist/adapters/http/middleware/built-in/cors.mjs.map +1 -1
- package/dist/adapters/http/middleware/built-in/error.d.ts +6 -1
- package/dist/adapters/http/middleware/built-in/error.d.ts.map +1 -1
- package/dist/adapters/http/middleware/built-in/error.mjs +2 -3
- package/dist/adapters/http/middleware/built-in/error.mjs.map +1 -1
- package/dist/adapters/http/middleware/built-in/index.d.ts +1 -0
- package/dist/adapters/http/middleware/built-in/index.d.ts.map +1 -1
- package/dist/adapters/http/middleware/built-in/index.mjs +2 -1
- package/dist/adapters/http/middleware/built-in/logger.d.ts +2 -0
- package/dist/adapters/http/middleware/built-in/logger.d.ts.map +1 -1
- package/dist/adapters/http/middleware/built-in/logger.mjs +1 -2
- package/dist/adapters/http/middleware/built-in/logger.mjs.map +1 -1
- package/dist/adapters/http/middleware/built-in/ui-http-client.d.ts +15 -0
- package/dist/adapters/http/middleware/built-in/ui-http-client.d.ts.map +1 -0
- package/dist/adapters/http/middleware/built-in/ui-http-client.mjs +25 -0
- package/dist/adapters/http/middleware/built-in/ui-http-client.mjs.map +1 -0
- package/dist/adapters/http/middleware/index.mjs +2 -1
- package/dist/adapters/http/request/helpers/index.d.ts +2 -0
- package/dist/adapters/http/request/helpers/index.d.ts.map +1 -1
- package/dist/adapters/http/request/helpers/index.mjs +3 -1
- package/dist/adapters/http/request/helpers/locale.d.ts +14 -0
- package/dist/adapters/http/request/helpers/locale.d.ts.map +1 -0
- package/dist/adapters/http/request/helpers/locale.mjs +32 -0
- package/dist/adapters/http/request/helpers/locale.mjs.map +1 -0
- package/dist/adapters/http/request/helpers/locations.mjs +1 -1
- package/dist/adapters/http/request/helpers/redirect.d.ts +14 -0
- package/dist/adapters/http/request/helpers/redirect.d.ts.map +1 -0
- package/dist/adapters/http/request/helpers/redirect.mjs +36 -0
- package/dist/adapters/http/request/helpers/redirect.mjs.map +1 -0
- package/dist/adapters/http/request/index.mjs +3 -1
- package/dist/adapters/http/ui/base-path.d.ts +9 -0
- package/dist/adapters/http/ui/base-path.d.ts.map +1 -0
- package/dist/adapters/http/ui/base-path.mjs +18 -0
- package/dist/adapters/http/ui/base-path.mjs.map +1 -0
- package/dist/adapters/http/ui/index.d.ts +5 -0
- package/dist/adapters/http/ui/index.d.ts.map +1 -0
- package/dist/adapters/http/ui/index.mjs +7 -0
- package/dist/adapters/http/ui/render.d.ts +4 -0
- package/dist/adapters/http/ui/render.d.ts.map +1 -0
- package/dist/adapters/http/ui/render.mjs +60 -0
- package/dist/adapters/http/ui/render.mjs.map +1 -0
- package/dist/adapters/http/ui/serve.d.ts +16 -0
- package/dist/adapters/http/ui/serve.d.ts.map +1 -0
- package/dist/adapters/http/ui/serve.mjs +32 -0
- package/dist/adapters/http/ui/serve.mjs.map +1 -0
- package/dist/adapters/http/ui/types.d.ts +8 -0
- package/dist/adapters/http/ui/types.d.ts.map +1 -0
- package/dist/adapters/http/ui/types.mjs +4 -0
- package/dist/app/index.d.ts +0 -2
- package/dist/app/index.d.ts.map +1 -1
- package/dist/app/index.mjs +3 -3
- package/dist/app/modules/config/constants.d.ts +1 -0
- package/dist/app/modules/config/constants.d.ts.map +1 -1
- package/dist/app/modules/config/constants.mjs +1 -0
- package/dist/app/modules/config/constants.mjs.map +1 -1
- package/dist/app/modules/config/index.d.ts +1 -0
- package/dist/app/modules/config/index.d.ts.map +1 -1
- package/dist/app/modules/config/index.mjs +2 -1
- package/dist/app/modules/config/normalize.d.ts.map +1 -1
- package/dist/app/modules/config/normalize.mjs +9 -2
- package/dist/app/modules/config/normalize.mjs.map +1 -1
- package/dist/app/modules/config/origins.d.ts +10 -0
- package/dist/app/modules/config/origins.d.ts.map +1 -0
- package/dist/app/modules/config/origins.mjs +21 -0
- package/dist/app/modules/config/origins.mjs.map +1 -0
- package/dist/app/modules/config/parse.d.ts.map +1 -1
- package/dist/app/modules/config/parse.mjs +1 -0
- package/dist/app/modules/config/parse.mjs.map +1 -1
- package/dist/app/modules/config/read/env.d.ts.map +1 -1
- package/dist/app/modules/config/read/env.mjs +2 -0
- package/dist/app/modules/config/read/env.mjs.map +1 -1
- package/dist/app/modules/config/types.d.ts +14 -0
- package/dist/app/modules/config/types.d.ts.map +1 -1
- package/dist/app/modules/database/constants.d.ts +2 -0
- package/dist/app/modules/database/constants.d.ts.map +1 -1
- package/dist/app/modules/database/constants.mjs +4 -1
- package/dist/app/modules/database/constants.mjs.map +1 -1
- package/dist/app/modules/database/module.d.ts +5 -1
- package/dist/app/modules/database/module.d.ts.map +1 -1
- package/dist/app/modules/database/module.mjs +26 -15
- package/dist/app/modules/database/module.mjs.map +1 -1
- package/dist/app/modules/http/constants.d.ts +11 -0
- package/dist/app/modules/http/constants.d.ts.map +1 -1
- package/dist/app/modules/http/constants.mjs +12 -1
- package/dist/app/modules/http/constants.mjs.map +1 -1
- package/dist/app/modules/http/modules/controller.d.ts +5 -1
- package/dist/app/modules/http/modules/controller.d.ts.map +1 -1
- package/dist/app/modules/http/modules/controller.mjs +75 -10
- package/dist/app/modules/http/modules/controller.mjs.map +1 -1
- package/dist/app/modules/http/modules/middleware.d.ts +2 -1
- package/dist/app/modules/http/modules/middleware.d.ts.map +1 -1
- package/dist/app/modules/http/modules/middleware.mjs +19 -4
- 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/module.mjs.map +1 -1
- package/dist/app/modules/identity/repositories/provider/account/module.d.ts +3 -1
- package/dist/app/modules/identity/repositories/provider/account/module.d.ts.map +1 -1
- package/dist/app/modules/identity/repositories/provider/account/module.mjs +6 -3
- package/dist/app/modules/identity/repositories/provider/account/module.mjs.map +1 -1
- package/dist/app/modules/identity/repositories/provider/mapper/attribute.d.ts +3 -0
- package/dist/app/modules/identity/repositories/provider/mapper/attribute.d.ts.map +1 -1
- package/dist/app/modules/identity/repositories/provider/mapper/attribute.mjs +5 -2
- package/dist/app/modules/identity/repositories/provider/mapper/attribute.mjs.map +1 -1
- package/dist/app/modules/identity/repositories/provider/mapper/permission.d.ts +3 -0
- package/dist/app/modules/identity/repositories/provider/mapper/permission.d.ts.map +1 -1
- package/dist/app/modules/identity/repositories/provider/mapper/permission.mjs +5 -2
- package/dist/app/modules/identity/repositories/provider/mapper/permission.mjs.map +1 -1
- package/dist/app/modules/identity/repositories/provider/mapper/role.d.ts +3 -0
- package/dist/app/modules/identity/repositories/provider/mapper/role.d.ts.map +1 -1
- package/dist/app/modules/identity/repositories/provider/mapper/role.mjs +5 -2
- package/dist/app/modules/identity/repositories/provider/mapper/role.mjs.map +1 -1
- package/dist/app/modules/index.mjs +3 -2
- package/dist/app/modules/logger/module.d.ts.map +1 -1
- package/dist/app/modules/logger/module.mjs +1 -5
- package/dist/app/modules/logger/module.mjs.map +1 -1
- package/dist/app/modules/mail/constants.d.ts +2 -1
- package/dist/app/modules/mail/constants.d.ts.map +1 -1
- package/dist/app/modules/mail/constants.mjs +2 -1
- package/dist/app/modules/mail/constants.mjs.map +1 -1
- package/dist/app/modules/mail/index.mjs +2 -2
- package/dist/app/modules/mail/module.d.ts.map +1 -1
- package/dist/app/modules/mail/module.mjs +4 -1
- package/dist/app/modules/mail/module.mjs.map +1 -1
- package/dist/app/modules/oauth2/module.d.ts.map +1 -1
- package/dist/app/modules/oauth2/module.mjs +3 -1
- package/dist/app/modules/oauth2/module.mjs.map +1 -1
- package/dist/app/modules/oauth2/repositories/key/repository.d.ts +3 -0
- package/dist/app/modules/oauth2/repositories/key/repository.d.ts.map +1 -1
- package/dist/app/modules/oauth2/repositories/key/repository.mjs +5 -2
- package/dist/app/modules/oauth2/repositories/key/repository.mjs.map +1 -1
- package/dist/app/modules/provisioning/module.d.ts.map +1 -1
- package/dist/app/modules/provisioning/module.mjs +12 -0
- package/dist/app/modules/provisioning/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/core/entities/client/index.d.ts +1 -0
- package/dist/core/entities/client/index.d.ts.map +1 -1
- package/dist/core/entities/client/index.mjs +2 -1
- package/dist/core/entities/client/service.d.ts.map +1 -1
- package/dist/core/entities/client/service.mjs +3 -2
- package/dist/core/entities/client/service.mjs.map +1 -1
- package/dist/core/entities/client/types.d.ts +11 -1
- package/dist/core/entities/client/types.d.ts.map +1 -1
- package/dist/core/entities/client/web-client.d.ts +34 -0
- package/dist/core/entities/client/web-client.d.ts.map +1 -0
- package/dist/core/entities/client/web-client.mjs +62 -0
- package/dist/core/entities/client/web-client.mjs.map +1 -0
- package/dist/core/entities/index.mjs +2 -1
- package/dist/core/entities/realm/service.d.ts +6 -1
- package/dist/core/entities/realm/service.d.ts.map +1 -1
- package/dist/core/entities/realm/service.mjs +9 -0
- package/dist/core/entities/realm/service.mjs.map +1 -1
- package/dist/core/identity/index.d.ts +1 -0
- package/dist/core/identity/index.d.ts.map +1 -1
- package/dist/core/identity/index.mjs +2 -1
- package/dist/core/identity/password-recovery/constants.d.ts +6 -0
- package/dist/core/identity/password-recovery/constants.d.ts.map +1 -0
- package/dist/core/identity/password-recovery/constants.mjs +12 -0
- package/dist/core/identity/password-recovery/constants.mjs.map +1 -0
- package/dist/core/identity/password-recovery/index.d.ts +1 -0
- package/dist/core/identity/password-recovery/index.d.ts.map +1 -1
- package/dist/core/identity/password-recovery/index.mjs +2 -1
- package/dist/core/identity/password-recovery/service.d.ts +4 -2
- package/dist/core/identity/password-recovery/service.d.ts.map +1 -1
- package/dist/core/identity/password-recovery/service.mjs +17 -6
- package/dist/core/identity/password-recovery/service.mjs.map +1 -1
- package/dist/core/identity/password-recovery/types.d.ts +5 -2
- package/dist/core/identity/password-recovery/types.d.ts.map +1 -1
- package/dist/core/identity/registration/service.d.ts +4 -2
- package/dist/core/identity/registration/service.d.ts.map +1 -1
- package/dist/core/identity/registration/service.mjs +15 -6
- package/dist/core/identity/registration/service.mjs.map +1 -1
- package/dist/core/identity/registration/types.d.ts +5 -2
- package/dist/core/identity/registration/types.d.ts.map +1 -1
- package/dist/core/identity/role/module.d.ts.map +1 -1
- package/dist/core/identity/role/module.mjs +1 -1
- package/dist/core/identity/role/module.mjs.map +1 -1
- package/dist/core/identity/types.d.ts +10 -0
- package/dist/core/identity/types.d.ts.map +1 -0
- package/dist/core/identity/types.mjs +4 -0
- package/dist/core/index.mjs +8 -1
- package/dist/core/mail/format/blocks.d.ts +12 -0
- package/dist/core/mail/format/blocks.d.ts.map +1 -0
- package/dist/core/mail/format/blocks.mjs +47 -0
- package/dist/core/mail/format/blocks.mjs.map +1 -0
- package/dist/core/mail/format/html.d.ts +9 -0
- package/dist/core/mail/format/html.d.ts.map +1 -0
- package/dist/core/mail/format/html.mjs +41 -0
- package/dist/core/mail/format/html.mjs.map +1 -0
- package/dist/core/mail/format/index.d.ts +5 -0
- package/dist/core/mail/format/index.d.ts.map +1 -0
- package/dist/core/mail/format/index.mjs +7 -0
- package/dist/core/mail/format/text.d.ts +3 -0
- package/dist/core/mail/format/text.d.ts.map +1 -0
- package/dist/core/mail/format/text.mjs +20 -0
- package/dist/core/mail/format/text.mjs.map +1 -0
- package/dist/core/mail/format/types.d.ts +30 -0
- package/dist/core/mail/format/types.d.ts.map +1 -0
- package/dist/core/mail/format/types.mjs +4 -0
- package/dist/core/mail/index.d.ts +3 -0
- package/dist/core/mail/index.d.ts.map +1 -1
- package/dist/core/mail/index.mjs +6 -1
- package/dist/core/mail/renderer.d.ts +10 -0
- package/dist/core/mail/renderer.d.ts.map +1 -0
- package/dist/core/mail/renderer.mjs +49 -0
- package/dist/core/mail/renderer.mjs.map +1 -0
- package/dist/core/mail/template/define.d.ts +7 -0
- package/dist/core/mail/template/define.d.ts.map +1 -0
- package/dist/core/mail/template/define.mjs +14 -0
- package/dist/core/mail/template/define.mjs.map +1 -0
- package/dist/core/mail/template/index.d.ts +4 -0
- package/dist/core/mail/template/index.d.ts.map +1 -0
- package/dist/core/mail/template/index.mjs +7 -0
- package/dist/core/mail/template/registry.d.ts +6 -0
- package/dist/core/mail/template/registry.d.ts.map +1 -0
- package/dist/core/mail/template/registry.mjs +15 -0
- package/dist/core/mail/template/registry.mjs.map +1 -0
- package/dist/core/mail/template/templates/password-reset.d.ts +3 -0
- package/dist/core/mail/template/templates/password-reset.d.ts.map +1 -0
- package/dist/core/mail/template/templates/password-reset.mjs +36 -0
- package/dist/core/mail/template/templates/password-reset.mjs.map +1 -0
- package/dist/core/mail/template/templates/registration-activation.d.ts +3 -0
- package/dist/core/mail/template/templates/registration-activation.d.ts.map +1 -0
- package/dist/core/mail/template/templates/registration-activation.mjs +34 -0
- package/dist/core/mail/template/templates/registration-activation.mjs.map +1 -0
- package/dist/core/mail/template/types.d.ts +39 -0
- package/dist/core/mail/template/types.d.ts.map +1 -0
- package/dist/core/mail/template/types.mjs +13 -0
- package/dist/core/mail/template/types.mjs.map +1 -0
- package/dist/core/mail/types.d.ts +21 -0
- package/dist/core/mail/types.d.ts.map +1 -1
- package/dist/index.mjs +7 -4
- package/dist/swagger.json +98 -3
- package/dist/ui/client/.vite/ssr-manifest.json +49086 -875
- package/dist/ui/client/assets/asap-latin-400-normal-Dc37g3Il.woff +0 -0
- package/dist/ui/client/assets/asap-latin-400-normal-DnZ1MOsG.woff2 +0 -0
- package/dist/ui/client/assets/asap-latin-700-normal-Dqcopq14.woff +0 -0
- package/dist/ui/client/assets/asap-latin-700-normal-l2Y8pi-F.woff2 +0 -0
- package/dist/ui/client/assets/asap-latin-ext-400-normal-C-fcRdtE.woff +0 -0
- package/dist/ui/client/assets/asap-latin-ext-400-normal-DwYtpHbV.woff2 +0 -0
- package/dist/ui/client/assets/asap-latin-ext-700-normal-D00OESsZ.woff +0 -0
- package/dist/ui/client/assets/asap-latin-ext-700-normal-y8bo5aW5.woff2 +0 -0
- package/dist/ui/client/assets/asap-vietnamese-400-normal-DGyJlJLT.woff2 +0 -0
- package/dist/ui/client/assets/asap-vietnamese-400-normal-lfLaoF2x.woff +0 -0
- package/dist/ui/client/assets/asap-vietnamese-700-normal-B-e19ug5.woff +0 -0
- package/dist/ui/client/assets/asap-vietnamese-700-normal-D-SxY94i.woff2 +0 -0
- package/dist/ui/client/assets/index-BeXJgvKE.css +2 -0
- package/dist/ui/client/assets/index-CgLTRwpP.js +95 -0
- package/dist/ui/client/assets/nunito-cyrillic-300-normal-BPQV259B.woff2 +0 -0
- package/dist/ui/client/assets/nunito-cyrillic-300-normal-g5qSsvc0.woff +0 -0
- package/dist/ui/client/assets/nunito-cyrillic-400-normal-D1j0u8EH.woff +0 -0
- package/dist/ui/client/assets/nunito-cyrillic-400-normal-xAOo5cBP.woff2 +0 -0
- package/dist/ui/client/assets/nunito-cyrillic-600-normal-BUjmtIuu.woff +0 -0
- package/dist/ui/client/assets/nunito-cyrillic-600-normal-DJGQ2h05.woff2 +0 -0
- package/dist/ui/client/assets/nunito-cyrillic-700-normal-DP36NgGt.woff2 +0 -0
- package/dist/ui/client/assets/nunito-cyrillic-700-normal-DfHRUDv-.woff +0 -0
- package/dist/ui/client/assets/nunito-cyrillic-ext-300-normal-BDHtqmCR.woff +0 -0
- package/dist/ui/client/assets/nunito-cyrillic-ext-300-normal-ChMQLIrm.woff2 +0 -0
- package/dist/ui/client/assets/nunito-cyrillic-ext-400-normal-CuPM9foi.woff2 +0 -0
- package/dist/ui/client/assets/nunito-cyrillic-ext-400-normal-xaE7D4Sw.woff +0 -0
- package/dist/ui/client/assets/nunito-cyrillic-ext-600-normal-CWPPjBOD.woff2 +0 -0
- package/dist/ui/client/assets/nunito-cyrillic-ext-600-normal-vnfu4DTE.woff +0 -0
- package/dist/ui/client/assets/nunito-cyrillic-ext-700-normal-BuR0mlCG.woff2 +0 -0
- package/dist/ui/client/assets/nunito-cyrillic-ext-700-normal-DfoqN4Gs.woff +0 -0
- package/dist/ui/client/assets/nunito-latin-300-normal-C3ZIKvzv.woff +0 -0
- package/dist/ui/client/assets/nunito-latin-300-normal-COoPE5VN.woff2 +0 -0
- package/dist/ui/client/assets/nunito-latin-400-normal-DKg4f3fz.woff +0 -0
- package/dist/ui/client/assets/nunito-latin-400-normal-r8SDr6Up.woff2 +0 -0
- package/dist/ui/client/assets/nunito-latin-600-normal-Br8yIETf.woff2 +0 -0
- package/dist/ui/client/assets/nunito-latin-600-normal-Cd0eNu1l.woff +0 -0
- package/dist/ui/client/assets/nunito-latin-700-normal-Dort48En.woff2 +0 -0
- package/dist/ui/client/assets/nunito-latin-700-normal-OcDqTBcA.woff +0 -0
- package/dist/ui/client/assets/nunito-latin-ext-300-normal-D1SyVuPt.woff2 +0 -0
- package/dist/ui/client/assets/nunito-latin-ext-300-normal-DfqbmdMl.woff +0 -0
- package/dist/ui/client/assets/nunito-latin-ext-400-normal-CjMJVfGn.woff +0 -0
- package/dist/ui/client/assets/nunito-latin-ext-400-normal-i-8OOpdj.woff2 +0 -0
- package/dist/ui/client/assets/nunito-latin-ext-600-normal-BKUpuB78.woff +0 -0
- package/dist/ui/client/assets/nunito-latin-ext-600-normal-Dd9Zuxh1.woff2 +0 -0
- package/dist/ui/client/assets/nunito-latin-ext-700-normal-BWeMsAzO.woff2 +0 -0
- package/dist/ui/client/assets/nunito-latin-ext-700-normal-D4woHhbd.woff +0 -0
- package/dist/ui/client/assets/nunito-vietnamese-300-normal-DATld5Vw.woff +0 -0
- package/dist/ui/client/assets/nunito-vietnamese-300-normal-mLneKULB.woff2 +0 -0
- package/dist/ui/client/assets/nunito-vietnamese-400-normal-BHkVbP3T.woff2 +0 -0
- package/dist/ui/client/assets/nunito-vietnamese-400-normal-DtOtW02z.woff +0 -0
- package/dist/ui/client/assets/nunito-vietnamese-600-normal-BY8O6Cug.woff2 +0 -0
- package/dist/ui/client/assets/nunito-vietnamese-600-normal-DO1RqFw5.woff +0 -0
- package/dist/ui/client/assets/nunito-vietnamese-700-normal-C9SQsXvj.woff +0 -0
- package/dist/ui/client/assets/nunito-vietnamese-700-normal-Ch8EUCfz.woff2 +0 -0
- package/dist/ui/client/index.html +2 -2
- package/dist/ui/server/server.js +20388 -18163
- package/package.json +20 -17
- package/dist/adapters/database/data-source/singleton.d.ts +0 -5
- package/dist/adapters/database/data-source/singleton.d.ts.map +0 -1
- package/dist/adapters/database/data-source/singleton.mjs +0 -19
- package/dist/adapters/database/data-source/singleton.mjs.map +0 -1
- package/dist/adapters/database/event-publisher/index.d.ts +0 -2
- package/dist/adapters/database/event-publisher/index.d.ts.map +0 -1
- package/dist/adapters/database/event-publisher/index.mjs +0 -5
- package/dist/adapters/database/event-publisher/module.d.ts +0 -6
- package/dist/adapters/database/event-publisher/module.d.ts.map +0 -1
- package/dist/adapters/database/event-publisher/module.mjs +0 -25
- package/dist/adapters/database/event-publisher/module.mjs.map +0 -1
- package/dist/app/module.d.ts +0 -2
- package/dist/app/module.d.ts.map +0 -1
- package/dist/app/module.mjs +0 -5
- package/dist/app/types.d.ts +0 -2
- package/dist/app/types.d.ts.map +0 -1
- package/dist/ui/client/assets/index-CjKS9a0I.css +0 -1
- package/dist/ui/client/assets/index-bGxpD1zZ.js +0 -95
- /package/dist/{app → adapters/database/subscriber}/types.mjs +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"origins.d.ts","sourceRoot":"","sources":["../../../../src/app/modules/config/origins.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,WAAW,GAAG,mBAAmB,CAAC,GAAG,MAAM,EAAE,CAS/F"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import "node:path";
|
|
2
|
+
import "node:url";
|
|
3
|
+
import.meta.url;
|
|
4
|
+
import { URL } from "node:url";
|
|
5
|
+
//#region src/app/modules/config/origins.ts
|
|
6
|
+
/**
|
|
7
|
+
* Derive the set of trusted application origins (scheme://host[:port]).
|
|
8
|
+
*
|
|
9
|
+
* publicUrl may carry a path; both the OAuth2 redirect allowlist and the
|
|
10
|
+
* CORS origin allowlist need bare origins, so extract the origin from each
|
|
11
|
+
* configured URL and de-duplicate.
|
|
12
|
+
*/ function getAppOrigins(config) {
|
|
13
|
+
const urls = [config.publicUrl, ...config.additionalDomains ?? []];
|
|
14
|
+
const origins = /* @__PURE__ */ new Set();
|
|
15
|
+
for (const url of urls) origins.add(new URL(url).origin);
|
|
16
|
+
return Array.from(origins);
|
|
17
|
+
}
|
|
18
|
+
//#endregion
|
|
19
|
+
export { getAppOrigins };
|
|
20
|
+
|
|
21
|
+
//# sourceMappingURL=origins.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"origins.mjs","names":["URL","getAppOrigins","config","urls","publicUrl","additionalDomains","origins","Set","url","add","origin","Array","from"],"sources":["../../../../src/app/modules/config/origins.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 { URL } from 'node:url';\nimport type { Config } from './types.ts';\n\n/**\n * Derive the set of trusted application origins (scheme://host[:port]).\n *\n * publicUrl may carry a path; both the OAuth2 redirect allowlist and the\n * CORS origin allowlist need bare origins, so extract the origin from each\n * configured URL and de-duplicate.\n */\nexport function getAppOrigins(config: Pick<Config, 'publicUrl' | 'additionalDomains'>): string[] {\n const urls = [config.publicUrl, ...(config.additionalDomains ?? [])];\n\n const origins = new Set<string>();\n for (const url of urls) {\n origins.add(new URL(url).origin);\n }\n\n return Array.from(origins);\n}\n"],"mappings":";;;;;;;;;;;GAiBA,SAAgBC,cAAcC,QAAuD;CACjF,MAAMC,OAAO,CAACD,OAAOE,WAAAA,GAAeF,OAAOG,qBAAqB,CAAA,CAAA;CAEhE,MAAMC,0BAAU,IAAIC,IAAAA;CACpB,KAAK,MAAMC,OAAOL,MACdG,QAAQG,IAAI,IAAIT,IAAIQ,GAAAA,CAAAA,CAAKE,MAAM;CAGnC,OAAOC,MAAMC,KAAKN,OAAAA;AACtB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../../src/app/modules/config/parse.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAU,WAAW,EAAE,MAAM,YAAY,CAAC;AAEtD,wBAAgB,WAAW,CAAC,KAAK,GAAE,OAAY,GAAG,WAAW,
|
|
1
|
+
{"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../../src/app/modules/config/parse.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAU,WAAW,EAAE,MAAM,YAAY,CAAC;AAEtD,wBAAgB,WAAW,CAAC,KAAK,GAAE,OAAY,GAAG,WAAW,CA6E5D"}
|
|
@@ -24,6 +24,7 @@ function parseConfig(input = {}) {
|
|
|
24
24
|
port: zod.number().nonnegative().optional(),
|
|
25
25
|
host: zod.string().optional(),
|
|
26
26
|
publicUrl: zod.string().url().optional(),
|
|
27
|
+
additionalDomains: zod.array(zod.string().url()).optional(),
|
|
27
28
|
middlewareBody: zod.boolean().or(zod.record(zod.string(), zod.any())).optional(),
|
|
28
29
|
middlewareCors: zod.boolean().or(zod.record(zod.string(), zod.any())).optional(),
|
|
29
30
|
middlewareCookie: zod.boolean().or(zod.record(zod.string(), zod.any())).optional(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.mjs","names":["isObject","zod","parseConfig","input","schema","object","env","string","optional","rootPath","writableDirectoryPath","logger","boolean","db","custom","value","redis","lazy","union","any","smtp","port","number","nonnegative","host","publicUrl","url","middlewareBody","or","record","middlewareCors","middlewareCookie","middlewareQuery","middlewarePrometheus","middlewareRateLimit","middlewareSwagger","tokenAccessMaxAge","tokenRefreshMaxAge","registrationEnabled","emailVerificationEnabled","passwordRecoveryEnabled","clientAuthBasic","clientSystemEnabled","clientSystemSecret","min","max","clientSystemSecretReset","userAuthBasic","userAdminEnabled","userAdminPassword","userAdminPasswordReset","robotAuthBasic","robotAdminEnabled","robotAdminSecret","robotAdminSecretReset","permissions","
|
|
1
|
+
{"version":3,"file":"parse.mjs","names":["isObject","zod","parseConfig","input","schema","object","env","string","optional","rootPath","writableDirectoryPath","logger","boolean","db","custom","value","redis","lazy","union","any","smtp","port","number","nonnegative","host","publicUrl","url","additionalDomains","array","middlewareBody","or","record","middlewareCors","middlewareCookie","middlewareQuery","middlewarePrometheus","middlewareRateLimit","middlewareSwagger","tokenAccessMaxAge","tokenRefreshMaxAge","registrationEnabled","emailVerificationEnabled","passwordRecoveryEnabled","clientAuthBasic","clientSystemEnabled","clientSystemSecret","min","max","clientSystemSecretReset","userAuthBasic","userAdminEnabled","userAdminPassword","userAdminPasswordReset","robotAuthBasic","robotAdminEnabled","robotAdminSecret","robotAdminSecretReset","permissions","permissionsDefaultPolicyAssignment","parse"],"sources":["../../../../src/app/modules/config/parse.ts"],"sourcesContent":["/*\n * Copyright (c) 2023.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information.optional(),\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { isObject } from '@authup/kit';\nimport type { BetterSqlite3ConnectionOptions } from 'typeorm/driver/better-sqlite3/BetterSqlite3ConnectionOptions.js';\nimport type { MysqlConnectionOptions } from 'typeorm/driver/mysql/MysqlConnectionOptions.js';\nimport type { PostgresConnectionOptions } from 'typeorm/driver/postgres/PostgresConnectionOptions.js';\nimport zod from 'zod';\nimport type { Config, ConfigInput } from './types.ts';\n\nexport function parseConfig(input: unknown = {}): ConfigInput {\n const schema = zod.object({\n env: zod.string().optional(),\n rootPath: zod.string().optional(),\n writableDirectoryPath: zod.string().optional(),\n\n logger: zod.boolean().optional(),\n db: zod.custom<MysqlConnectionOptions | PostgresConnectionOptions | BetterSqlite3ConnectionOptions>(\n (value) => isObject(value),\n ).optional(),\n redis: zod.lazy(() => zod.union([\n zod.string().optional(),\n zod.boolean().optional(),\n zod.any().optional(),\n ])).optional(),\n smtp: zod.lazy(() => zod.union([\n zod.string().optional(),\n zod.boolean().optional(),\n zod.any().optional(),\n ])).optional(),\n port: zod.number()\n .nonnegative().optional(),\n host: zod.string().optional(),\n publicUrl: zod.string()\n .url().optional(),\n additionalDomains: zod.array(zod.string().url()).optional(),\n middlewareBody: zod.boolean()\n .or(zod.record(zod.string(), zod.any())).optional(),\n middlewareCors: zod.boolean()\n .or(zod.record(zod.string(), zod.any())).optional(),\n middlewareCookie: zod.boolean()\n .or(zod.record(zod.string(), zod.any())).optional(),\n middlewareQuery: zod.boolean()\n .or(zod.record(zod.string(), zod.any())).optional(),\n middlewarePrometheus: zod.boolean()\n .or(zod.record(zod.string(), zod.any())).optional(),\n middlewareRateLimit: zod.boolean()\n .or(zod.record(zod.string(), zod.any())).optional(),\n middlewareSwagger: zod.boolean().optional(),\n\n tokenAccessMaxAge: zod.number()\n .nonnegative().optional(),\n tokenRefreshMaxAge: zod.number()\n .nonnegative().optional(),\n registrationEnabled: zod.boolean().optional(),\n emailVerificationEnabled: zod.boolean().optional(),\n passwordRecoveryEnabled: zod.boolean().optional(),\n\n clientAuthBasic: zod.boolean().optional(),\n clientSystemEnabled: zod.boolean().optional(),\n clientSystemSecret: zod.string()\n .min(3)\n .max(256).optional(),\n clientSystemSecretReset: zod.boolean().optional(),\n\n userAuthBasic: zod.boolean().optional(),\n userAdminEnabled: zod.boolean().optional(),\n userAdminPassword: zod.string()\n .min(3)\n .max(256).optional(),\n userAdminPasswordReset: zod.boolean().optional(),\n\n robotAuthBasic: zod.boolean().optional(),\n robotAdminEnabled: zod.boolean().optional(),\n robotAdminSecret: zod.string()\n .min(3)\n .max(256).optional(),\n robotAdminSecretReset: zod.boolean().optional(),\n\n permissions: zod.string()\n .or(zod.array(zod.string()))\n .optional(),\n\n permissionsDefaultPolicyAssignment: zod.boolean().optional(),\n } satisfies Record<keyof Config, any>);\n\n return schema.parse(input);\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../../../../src/app/modules/config/read/env.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,wBAAgB,oBAAoB,IAAK,WAAW,
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../../../../src/app/modules/config/read/env.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,wBAAgB,oBAAoB,IAAK,WAAW,CAoKnD"}
|
|
@@ -22,6 +22,8 @@ function readConfigRawFromEnv() {
|
|
|
22
22
|
if (port) options.port = Number.parseInt(`${port}`, 10);
|
|
23
23
|
const publicURL = read(ConfigEnvironmentVariableName.PUBLIC_URL);
|
|
24
24
|
if (publicURL) options.publicUrl = publicURL;
|
|
25
|
+
const additionalDomains = readArray(ConfigEnvironmentVariableName.ADDITIONAL_DOMAINS);
|
|
26
|
+
if (additionalDomains && additionalDomains.length > 0) options.additionalDomains = additionalDomains;
|
|
25
27
|
const tokenAccessMaxAge = readInt(ConfigEnvironmentVariableName.TOKEN_ACCESS_MAX_AGE);
|
|
26
28
|
if (typeof tokenAccessMaxAge !== "undefined") options.tokenAccessMaxAge = tokenAccessMaxAge;
|
|
27
29
|
const tokenRefreshMaxAge = readInt(ConfigEnvironmentVariableName.TOKEN_REFRESH_MAX_AGE);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.mjs","names":["oneOf","read","readArray","readBool","readInt","hasEnvDataSourceOptions","readDataSourceOptionsFromEnv","ConfigEnvironmentVariableName","readConfigRawFromEnv","options","env","NODE_ENV","writableDirectoryPath","WRITABLE_DIRECTORY_PATH","db","redis","REDIS","smtp","SMTP","host","HOST","port","PORT","Number","parseInt","publicURL","PUBLIC_URL","publicUrl","tokenAccessMaxAge","TOKEN_ACCESS_MAX_AGE","tokenRefreshMaxAge","TOKEN_REFRESH_MAX_AGE","registrationEnabled","REGISTRATION_ENABLED","emailVerificationEnabled","EMAIL_VERIFICATION_ENABLED","passwordRecoveryEnabled","PASSWORD_RECOVERY_ENABLED","clientBasicAuth","CLIENT_AUTH_BASIC","clientAuthBasic","clientSystemEnabled","CLIENT_SYSTEM_ENABLED","clientAdminSecret","CLIENT_SYSTEM_SECRET","clientSystemSecret","clientAdminSecretReset","CLIENT_SYSTEM_SECRET_RESET","clientSystemSecretReset","userBasicAuth","USER_AUTH_BASIC","userAuthBasic","userAdminEnabled","USER_ADMIN_ENABLED","userAdminPassword","USER_ADMIN_PASSWORD","userAdminPasswordReset","USER_ADMIN_PASSWORD_RESET","robotBasicAuth","ROBOT_AUTH_BASIC","robotAuthBasic","robotAdminEnabled","ROBOT_ADMIN_ENABLED","robotAdminSecret","ROBOT_ADMIN_SECRET","robotAdminSecretReset","ROBOT_ADMIN_SECRET_RESET","permissions","PERMISSIONS","length","permissionsDefaultPolicyAssignment","PERMISSIONS_DEFAULT_POLICY_ASSIGNMENT"],"sources":["../../../../../src/app/modules/config/read/env.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 {\n oneOf, \n read, \n readArray, \n readBool, \n readInt,\n} from 'envix';\nimport { hasEnvDataSourceOptions, readDataSourceOptionsFromEnv } from 'typeorm-extension';\nimport type { BetterSqlite3ConnectionOptions } from 'typeorm/driver/better-sqlite3/BetterSqlite3ConnectionOptions.js';\nimport type { MysqlConnectionOptions } from 'typeorm/driver/mysql/MysqlConnectionOptions.js';\nimport type { PostgresConnectionOptions } from 'typeorm/driver/postgres/PostgresConnectionOptions.js';\n\nimport { ConfigEnvironmentVariableName } from '../constants.ts';\nimport type { ConfigInput } from '../types.ts';\n\nexport function readConfigRawFromEnv() : ConfigInput {\n const options : ConfigInput = {};\n\n const env = read(ConfigEnvironmentVariableName.NODE_ENV);\n if (env) {\n options.env = env;\n }\n\n const writableDirectoryPath = read(ConfigEnvironmentVariableName.WRITABLE_DIRECTORY_PATH);\n if (writableDirectoryPath) {\n options.writableDirectoryPath = writableDirectoryPath;\n }\n\n // -------------------------------------------------------------\n\n if (hasEnvDataSourceOptions()) {\n // todo: type casting should be avoided\n options.db = readDataSourceOptionsFromEnv() as MysqlConnectionOptions |\n PostgresConnectionOptions |\n BetterSqlite3ConnectionOptions;\n }\n\n const redis = oneOf([\n readBool(ConfigEnvironmentVariableName.REDIS),\n read(ConfigEnvironmentVariableName.REDIS),\n ]);\n if (typeof redis !== 'undefined') {\n options.redis = redis;\n }\n\n const smtp = oneOf([\n readBool(ConfigEnvironmentVariableName.SMTP),\n read(ConfigEnvironmentVariableName.SMTP),\n ]);\n if (typeof smtp !== 'undefined') {\n options.smtp = smtp;\n }\n\n // -------------------------------------------------------------\n\n const host = read(ConfigEnvironmentVariableName.HOST);\n if (host) {\n options.host = host;\n }\n\n const port = readInt(ConfigEnvironmentVariableName.PORT);\n if (port) {\n options.port = Number.parseInt(`${port}`, 10);\n }\n\n const publicURL = read(ConfigEnvironmentVariableName.PUBLIC_URL);\n if (publicURL) {\n options.publicUrl = publicURL;\n }\n\n const tokenAccessMaxAge = readInt(ConfigEnvironmentVariableName.TOKEN_ACCESS_MAX_AGE);\n if (typeof tokenAccessMaxAge !== 'undefined') {\n options.tokenAccessMaxAge = tokenAccessMaxAge;\n }\n\n const tokenRefreshMaxAge = readInt(ConfigEnvironmentVariableName.TOKEN_REFRESH_MAX_AGE);\n if (typeof tokenRefreshMaxAge !== 'undefined') {\n options.tokenRefreshMaxAge = tokenRefreshMaxAge;\n }\n\n const registrationEnabled = readBool(ConfigEnvironmentVariableName.REGISTRATION_ENABLED);\n if (typeof registrationEnabled !== 'undefined') {\n options.registrationEnabled = registrationEnabled;\n }\n\n const emailVerificationEnabled = readBool(ConfigEnvironmentVariableName.EMAIL_VERIFICATION_ENABLED);\n if (typeof emailVerificationEnabled !== 'undefined') {\n options.emailVerificationEnabled = emailVerificationEnabled;\n }\n\n const passwordRecoveryEnabled = readBool(ConfigEnvironmentVariableName.PASSWORD_RECOVERY_ENABLED);\n if (typeof passwordRecoveryEnabled !== 'undefined') {\n options.passwordRecoveryEnabled = passwordRecoveryEnabled;\n }\n\n // ---------------------------------------------------------------\n\n const clientBasicAuth = readBool(ConfigEnvironmentVariableName.CLIENT_AUTH_BASIC);\n if (typeof clientBasicAuth !== 'undefined') {\n options.clientAuthBasic = clientBasicAuth;\n }\n\n const clientSystemEnabled = readBool(ConfigEnvironmentVariableName.CLIENT_SYSTEM_ENABLED);\n if (typeof clientSystemEnabled !== 'undefined') {\n options.clientSystemEnabled = clientSystemEnabled;\n }\n\n const clientAdminSecret = read(ConfigEnvironmentVariableName.CLIENT_SYSTEM_SECRET);\n if (clientAdminSecret) {\n options.clientSystemSecret = clientAdminSecret;\n }\n\n const clientAdminSecretReset = readBool(ConfigEnvironmentVariableName.CLIENT_SYSTEM_SECRET_RESET);\n if (typeof clientAdminSecretReset !== 'undefined') {\n options.clientSystemSecretReset = clientAdminSecretReset;\n }\n\n // ---------------------------------------------------------------\n\n const userBasicAuth = readBool(ConfigEnvironmentVariableName.USER_AUTH_BASIC);\n if (typeof userBasicAuth !== 'undefined') {\n options.userAuthBasic = userBasicAuth;\n }\n\n const userAdminEnabled = readBool(ConfigEnvironmentVariableName.USER_ADMIN_ENABLED);\n if (typeof userAdminEnabled !== 'undefined') {\n options.userAdminEnabled = userAdminEnabled;\n }\n\n const userAdminPassword = read(ConfigEnvironmentVariableName.USER_ADMIN_PASSWORD);\n if (userAdminPassword) {\n options.userAdminPassword = userAdminPassword;\n }\n\n const userAdminPasswordReset = readBool(ConfigEnvironmentVariableName.USER_ADMIN_PASSWORD_RESET);\n if (typeof userAdminPasswordReset !== 'undefined') {\n options.userAdminPasswordReset = userAdminPasswordReset;\n }\n\n // ---------------------------------------------------------------\n\n const robotBasicAuth = readBool(ConfigEnvironmentVariableName.ROBOT_AUTH_BASIC);\n if (typeof robotBasicAuth !== 'undefined') {\n options.robotAuthBasic = robotBasicAuth;\n }\n\n const robotAdminEnabled = readBool(ConfigEnvironmentVariableName.ROBOT_ADMIN_ENABLED);\n if (typeof robotAdminEnabled !== 'undefined') {\n options.robotAdminEnabled = robotAdminEnabled;\n }\n\n const robotAdminSecret = read(ConfigEnvironmentVariableName.ROBOT_ADMIN_SECRET);\n if (robotAdminSecret) {\n options.robotAdminSecret = robotAdminSecret;\n }\n\n const robotAdminSecretReset = readBool(ConfigEnvironmentVariableName.ROBOT_ADMIN_SECRET_RESET);\n if (typeof robotAdminSecretReset !== 'undefined') {\n options.robotAdminSecretReset = robotAdminSecretReset;\n }\n\n // ---------------------------------------------------------------\n\n const permissions = readArray(ConfigEnvironmentVariableName.PERMISSIONS);\n if (permissions && permissions.length > 0) {\n options.permissions = permissions;\n }\n\n const permissionsDefaultPolicyAssignment = readBool(ConfigEnvironmentVariableName.PERMISSIONS_DEFAULT_POLICY_ASSIGNMENT);\n if (typeof permissionsDefaultPolicyAssignment !== 'undefined') {\n options.permissionsDefaultPolicyAssignment = permissionsDefaultPolicyAssignment;\n }\n\n return options;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"env.mjs","names":["oneOf","read","readArray","readBool","readInt","hasEnvDataSourceOptions","readDataSourceOptionsFromEnv","ConfigEnvironmentVariableName","readConfigRawFromEnv","options","env","NODE_ENV","writableDirectoryPath","WRITABLE_DIRECTORY_PATH","db","redis","REDIS","smtp","SMTP","host","HOST","port","PORT","Number","parseInt","publicURL","PUBLIC_URL","publicUrl","additionalDomains","ADDITIONAL_DOMAINS","length","tokenAccessMaxAge","TOKEN_ACCESS_MAX_AGE","tokenRefreshMaxAge","TOKEN_REFRESH_MAX_AGE","registrationEnabled","REGISTRATION_ENABLED","emailVerificationEnabled","EMAIL_VERIFICATION_ENABLED","passwordRecoveryEnabled","PASSWORD_RECOVERY_ENABLED","clientBasicAuth","CLIENT_AUTH_BASIC","clientAuthBasic","clientSystemEnabled","CLIENT_SYSTEM_ENABLED","clientAdminSecret","CLIENT_SYSTEM_SECRET","clientSystemSecret","clientAdminSecretReset","CLIENT_SYSTEM_SECRET_RESET","clientSystemSecretReset","userBasicAuth","USER_AUTH_BASIC","userAuthBasic","userAdminEnabled","USER_ADMIN_ENABLED","userAdminPassword","USER_ADMIN_PASSWORD","userAdminPasswordReset","USER_ADMIN_PASSWORD_RESET","robotBasicAuth","ROBOT_AUTH_BASIC","robotAuthBasic","robotAdminEnabled","ROBOT_ADMIN_ENABLED","robotAdminSecret","ROBOT_ADMIN_SECRET","robotAdminSecretReset","ROBOT_ADMIN_SECRET_RESET","permissions","PERMISSIONS","permissionsDefaultPolicyAssignment","PERMISSIONS_DEFAULT_POLICY_ASSIGNMENT"],"sources":["../../../../../src/app/modules/config/read/env.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 {\n oneOf, \n read, \n readArray, \n readBool, \n readInt,\n} from 'envix';\nimport { hasEnvDataSourceOptions, readDataSourceOptionsFromEnv } from 'typeorm-extension';\nimport type { BetterSqlite3ConnectionOptions } from 'typeorm/driver/better-sqlite3/BetterSqlite3ConnectionOptions.js';\nimport type { MysqlConnectionOptions } from 'typeorm/driver/mysql/MysqlConnectionOptions.js';\nimport type { PostgresConnectionOptions } from 'typeorm/driver/postgres/PostgresConnectionOptions.js';\n\nimport { ConfigEnvironmentVariableName } from '../constants.ts';\nimport type { ConfigInput } from '../types.ts';\n\nexport function readConfigRawFromEnv() : ConfigInput {\n const options : ConfigInput = {};\n\n const env = read(ConfigEnvironmentVariableName.NODE_ENV);\n if (env) {\n options.env = env;\n }\n\n const writableDirectoryPath = read(ConfigEnvironmentVariableName.WRITABLE_DIRECTORY_PATH);\n if (writableDirectoryPath) {\n options.writableDirectoryPath = writableDirectoryPath;\n }\n\n // -------------------------------------------------------------\n\n if (hasEnvDataSourceOptions()) {\n // todo: type casting should be avoided\n options.db = readDataSourceOptionsFromEnv() as MysqlConnectionOptions |\n PostgresConnectionOptions |\n BetterSqlite3ConnectionOptions;\n }\n\n const redis = oneOf([\n readBool(ConfigEnvironmentVariableName.REDIS),\n read(ConfigEnvironmentVariableName.REDIS),\n ]);\n if (typeof redis !== 'undefined') {\n options.redis = redis;\n }\n\n const smtp = oneOf([\n readBool(ConfigEnvironmentVariableName.SMTP),\n read(ConfigEnvironmentVariableName.SMTP),\n ]);\n if (typeof smtp !== 'undefined') {\n options.smtp = smtp;\n }\n\n // -------------------------------------------------------------\n\n const host = read(ConfigEnvironmentVariableName.HOST);\n if (host) {\n options.host = host;\n }\n\n const port = readInt(ConfigEnvironmentVariableName.PORT);\n if (port) {\n options.port = Number.parseInt(`${port}`, 10);\n }\n\n const publicURL = read(ConfigEnvironmentVariableName.PUBLIC_URL);\n if (publicURL) {\n options.publicUrl = publicURL;\n }\n\n const additionalDomains = readArray(ConfigEnvironmentVariableName.ADDITIONAL_DOMAINS);\n if (additionalDomains && additionalDomains.length > 0) {\n options.additionalDomains = additionalDomains;\n }\n\n const tokenAccessMaxAge = readInt(ConfigEnvironmentVariableName.TOKEN_ACCESS_MAX_AGE);\n if (typeof tokenAccessMaxAge !== 'undefined') {\n options.tokenAccessMaxAge = tokenAccessMaxAge;\n }\n\n const tokenRefreshMaxAge = readInt(ConfigEnvironmentVariableName.TOKEN_REFRESH_MAX_AGE);\n if (typeof tokenRefreshMaxAge !== 'undefined') {\n options.tokenRefreshMaxAge = tokenRefreshMaxAge;\n }\n\n const registrationEnabled = readBool(ConfigEnvironmentVariableName.REGISTRATION_ENABLED);\n if (typeof registrationEnabled !== 'undefined') {\n options.registrationEnabled = registrationEnabled;\n }\n\n const emailVerificationEnabled = readBool(ConfigEnvironmentVariableName.EMAIL_VERIFICATION_ENABLED);\n if (typeof emailVerificationEnabled !== 'undefined') {\n options.emailVerificationEnabled = emailVerificationEnabled;\n }\n\n const passwordRecoveryEnabled = readBool(ConfigEnvironmentVariableName.PASSWORD_RECOVERY_ENABLED);\n if (typeof passwordRecoveryEnabled !== 'undefined') {\n options.passwordRecoveryEnabled = passwordRecoveryEnabled;\n }\n\n // ---------------------------------------------------------------\n\n const clientBasicAuth = readBool(ConfigEnvironmentVariableName.CLIENT_AUTH_BASIC);\n if (typeof clientBasicAuth !== 'undefined') {\n options.clientAuthBasic = clientBasicAuth;\n }\n\n const clientSystemEnabled = readBool(ConfigEnvironmentVariableName.CLIENT_SYSTEM_ENABLED);\n if (typeof clientSystemEnabled !== 'undefined') {\n options.clientSystemEnabled = clientSystemEnabled;\n }\n\n const clientAdminSecret = read(ConfigEnvironmentVariableName.CLIENT_SYSTEM_SECRET);\n if (clientAdminSecret) {\n options.clientSystemSecret = clientAdminSecret;\n }\n\n const clientAdminSecretReset = readBool(ConfigEnvironmentVariableName.CLIENT_SYSTEM_SECRET_RESET);\n if (typeof clientAdminSecretReset !== 'undefined') {\n options.clientSystemSecretReset = clientAdminSecretReset;\n }\n\n // ---------------------------------------------------------------\n\n const userBasicAuth = readBool(ConfigEnvironmentVariableName.USER_AUTH_BASIC);\n if (typeof userBasicAuth !== 'undefined') {\n options.userAuthBasic = userBasicAuth;\n }\n\n const userAdminEnabled = readBool(ConfigEnvironmentVariableName.USER_ADMIN_ENABLED);\n if (typeof userAdminEnabled !== 'undefined') {\n options.userAdminEnabled = userAdminEnabled;\n }\n\n const userAdminPassword = read(ConfigEnvironmentVariableName.USER_ADMIN_PASSWORD);\n if (userAdminPassword) {\n options.userAdminPassword = userAdminPassword;\n }\n\n const userAdminPasswordReset = readBool(ConfigEnvironmentVariableName.USER_ADMIN_PASSWORD_RESET);\n if (typeof userAdminPasswordReset !== 'undefined') {\n options.userAdminPasswordReset = userAdminPasswordReset;\n }\n\n // ---------------------------------------------------------------\n\n const robotBasicAuth = readBool(ConfigEnvironmentVariableName.ROBOT_AUTH_BASIC);\n if (typeof robotBasicAuth !== 'undefined') {\n options.robotAuthBasic = robotBasicAuth;\n }\n\n const robotAdminEnabled = readBool(ConfigEnvironmentVariableName.ROBOT_ADMIN_ENABLED);\n if (typeof robotAdminEnabled !== 'undefined') {\n options.robotAdminEnabled = robotAdminEnabled;\n }\n\n const robotAdminSecret = read(ConfigEnvironmentVariableName.ROBOT_ADMIN_SECRET);\n if (robotAdminSecret) {\n options.robotAdminSecret = robotAdminSecret;\n }\n\n const robotAdminSecretReset = readBool(ConfigEnvironmentVariableName.ROBOT_ADMIN_SECRET_RESET);\n if (typeof robotAdminSecretReset !== 'undefined') {\n options.robotAdminSecretReset = robotAdminSecretReset;\n }\n\n // ---------------------------------------------------------------\n\n const permissions = readArray(ConfigEnvironmentVariableName.PERMISSIONS);\n if (permissions && permissions.length > 0) {\n options.permissions = permissions;\n }\n\n const permissionsDefaultPolicyAssignment = readBool(ConfigEnvironmentVariableName.PERMISSIONS_DEFAULT_POLICY_ASSIGNMENT);\n if (typeof permissionsDefaultPolicyAssignment !== 'undefined') {\n options.permissionsDefaultPolicyAssignment = permissionsDefaultPolicyAssignment;\n }\n\n return options;\n}\n"],"mappings":"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"}
|
|
@@ -56,6 +56,20 @@ export type Config = {
|
|
|
56
56
|
* default: http://localhost:3001
|
|
57
57
|
*/
|
|
58
58
|
publicUrl: string;
|
|
59
|
+
/**
|
|
60
|
+
* Additional origins (besides publicUrl) that are trusted as
|
|
61
|
+
* redirect targets for the per-realm public `web` client and as
|
|
62
|
+
* allowed CORS origins. Bare origins (scheme://host[:port]); each is
|
|
63
|
+
* stored as `<origin>/**` in the web client's redirect_uri set.
|
|
64
|
+
*
|
|
65
|
+
* SECURITY: the `web` client is built_in (auto-consent + `global`
|
|
66
|
+
* scope), so any origin listed here can obtain a full-permission user
|
|
67
|
+
* token once a user logs in. Adding a domain grants it full login
|
|
68
|
+
* capability for every realm.
|
|
69
|
+
*
|
|
70
|
+
* default: []
|
|
71
|
+
*/
|
|
72
|
+
additionalDomains: string[];
|
|
59
73
|
/**
|
|
60
74
|
* use body middleware
|
|
61
75
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/app/modules/config/types.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,KAAK,EAAE,YAAY,IAAI,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,KAAK,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,IAAI,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,KAAK,EAAE,YAAY,IAAI,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,KAAK,EAAE,YAAY,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,KAAK,EAAE,SAAS,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,KAAK,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAEjE,MAAM,MAAM,MAAM,GAAG;IACjB;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,qBAAqB,EAAE,MAAM,CAAC;IAI9B;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;OAEG;IACH,EAAE,CAAC,EAAE,iBAAiB,CAAC;IAEvB;;OAEG;IACH,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,WAAW,GAAG,kBAAkB,CAAC;IAE3D;;OAEG;IACH,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,WAAW,CAAC;IAIrC;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,SAAS,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/app/modules/config/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
import type { IDomainEventPublisher } from '@authup/server-kit';
|
|
1
2
|
import type { DataSource } from 'typeorm';
|
|
2
3
|
import { TypedToken } from 'eldin';
|
|
3
4
|
export declare const DatabaseInjectionKey: {
|
|
4
5
|
readonly DataSource: TypedToken<DataSource>;
|
|
6
|
+
readonly DomainEventPublisher: TypedToken<IDomainEventPublisher>;
|
|
5
7
|
};
|
|
6
8
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/app/modules/database/constants.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC,eAAO,MAAM,oBAAoB
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/app/modules/database/constants.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC,eAAO,MAAM,oBAAoB;;;CAGvB,CAAC"}
|
|
@@ -3,7 +3,10 @@ import "node:url";
|
|
|
3
3
|
import.meta.url;
|
|
4
4
|
import { TypedToken } from "eldin";
|
|
5
5
|
//#region src/app/modules/database/constants.ts
|
|
6
|
-
const DatabaseInjectionKey = {
|
|
6
|
+
const DatabaseInjectionKey = {
|
|
7
|
+
DataSource: new TypedToken("DataSource"),
|
|
8
|
+
DomainEventPublisher: new TypedToken("DomainEventPublisher")
|
|
9
|
+
};
|
|
7
10
|
//#endregion
|
|
8
11
|
export { DatabaseInjectionKey };
|
|
9
12
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.mjs","names":["TypedToken","DatabaseInjectionKey","DataSource"],"sources":["../../../../src/app/modules/database/constants.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 { DataSource } from 'typeorm';\nimport { TypedToken } from 'eldin';\n\nexport const DatabaseInjectionKey = {
|
|
1
|
+
{"version":3,"file":"constants.mjs","names":["TypedToken","DatabaseInjectionKey","DataSource","DomainEventPublisher"],"sources":["../../../../src/app/modules/database/constants.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 { IDomainEventPublisher } from '@authup/server-kit';\nimport type { DataSource } from 'typeorm';\nimport { TypedToken } from 'eldin';\n\nexport const DatabaseInjectionKey = {\n DataSource: new TypedToken<DataSource>('DataSource'),\n DomainEventPublisher: new TypedToken<IDomainEventPublisher>('DomainEventPublisher'),\n} as const;\n"],"mappings":";;;;;AAWA,MAAaC,uBAAuB;CAChCC,YAAY,IAAIF,WAAuB,YAAA;CACvCG,sBAAsB,IAAIH,WAAkC,sBAAA;AAChE"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { DomainEventPublisher } from '@authup/server-kit';
|
|
2
|
+
import type { RedisClient } from '@authup/server-kit';
|
|
1
3
|
import type { DataSourceOptions } from 'typeorm';
|
|
2
4
|
import { DataSource } from 'typeorm';
|
|
3
5
|
import { DataSourceOptionsBuilder } from '../../../adapters/database/index.ts';
|
|
@@ -13,6 +15,8 @@ export declare class DatabaseModule implements IModule {
|
|
|
13
15
|
readonly dependencies: string[];
|
|
14
16
|
protected optionsBuilder: DataSourceOptionsBuilder;
|
|
15
17
|
protected options: DatabaseModuleOptions;
|
|
18
|
+
protected eventRedisClient?: RedisClient;
|
|
19
|
+
protected eventPublisher?: DomainEventPublisher;
|
|
16
20
|
constructor(options?: DatabaseModuleOptions);
|
|
17
21
|
setup(container: IContainer): Promise<void>;
|
|
18
22
|
teardown(container: IContainer): Promise<void>;
|
|
@@ -25,6 +29,6 @@ export declare class DatabaseModule implements IModule {
|
|
|
25
29
|
*/
|
|
26
30
|
protected buildDataSourceOptions(container: IContainer): Promise<DataSourceOptions>;
|
|
27
31
|
protected registerRepositories(container: IContainer, dataSource: DataSource): void;
|
|
28
|
-
protected registerEventPublisher(container: IContainer): void;
|
|
32
|
+
protected registerEventPublisher(container: IContainer, dataSource: DataSource): void;
|
|
29
33
|
}
|
|
30
34
|
//# sourceMappingURL=module.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../src/app/modules/database/module.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../src/app/modules/database/module.ts"],"names":[],"mappings":"AAOA,OAAO,EACH,oBAAoB,EAIvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,UAAU,EAAmB,MAAM,SAAS,CAAC;AAMtD,OAAO,EACH,wBAAwB,EAK3B,MAAM,qCAAqC,CAAC;AAE7C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAIrC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAGxC,MAAM,MAAM,qBAAqB,GAAG;IAChC,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,iBAAiB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7E,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9E,CAAC;AAEF,qBAAa,cAAe,YAAW,OAAO;IAC1C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC;IAEhC,SAAS,CAAC,cAAc,EAAG,wBAAwB,CAAC;IAEpD,SAAS,CAAC,OAAO,EAAE,qBAAqB,CAAC;IAEzC,SAAS,CAAC,gBAAgB,CAAC,EAAG,WAAW,CAAC;IAE1C,SAAS,CAAC,cAAc,CAAC,EAAG,oBAAoB,CAAC;gBAErC,OAAO,GAAE,qBAA0B;IAQzC,KAAK,CAAC,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAiC3C,QAAQ,CAAC,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;cAuBpC,aAAa,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;cAgB/E,OAAO,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAUrF;;;;OAIG;cACa,sBAAsB,CAAC,SAAS,EAAE,UAAU,GAAI,OAAO,CAAC,iBAAiB,CAAC;IAgC1F,SAAS,CAAC,oBAAoB,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,GAAI,IAAI;IAiBpF,SAAS,CAAC,sBAAsB,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU;CAyBjF"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import "node:path";
|
|
2
2
|
import "node:url";
|
|
3
3
|
import.meta.url;
|
|
4
|
-
import {
|
|
5
|
-
import "../../../adapters/database/event-publisher/index.mjs";
|
|
4
|
+
import { EntitySubscriber } from "../../../adapters/database/subscriber/module.mjs";
|
|
6
5
|
import { CacheInjectionKey } from "../cache/constants.mjs";
|
|
7
6
|
import { ModuleName } from "../constants.mjs";
|
|
8
7
|
import { ConfigInjectionKey } from "../config/constants.mjs";
|
|
@@ -11,21 +10,22 @@ import "../cache/index.mjs";
|
|
|
11
10
|
import { DatabaseInjectionKey } from "./constants.mjs";
|
|
12
11
|
import { DatabaseQueryResultCache } from "../../../adapters/database/cache/module.mjs";
|
|
13
12
|
import { DataSourceOptionsBuilder } from "../../../adapters/database/data-source/options/module.mjs";
|
|
14
|
-
import { setDataSourceSync, unsetDataSourceSync } from "../../../adapters/database/data-source/singleton.mjs";
|
|
15
13
|
import { isDatabaseTypeSupported, isDatabaseTypeSupportedForEnvironment } from "../../../adapters/database/helpers/is-supported.mjs";
|
|
16
14
|
import "../../../adapters/database/index.mjs";
|
|
17
15
|
import { LoggerInjectionKey } from "../logger/constants.mjs";
|
|
18
16
|
import "../logger/index.mjs";
|
|
19
17
|
import { DataSource, InstanceChecker } from "typeorm";
|
|
20
|
-
import { DomainEventPublisher,
|
|
18
|
+
import { DomainEventPublisher, DomainEventRedisHandler, DomainEventSocketHandler, createRedisClient } from "@authup/server-kit";
|
|
21
19
|
import { AuthupError } from "@authup/errors";
|
|
22
|
-
import { checkDatabase, createDatabase,
|
|
20
|
+
import { checkDatabase, createDatabase, synchronizeDatabaseSchema } from "typeorm-extension";
|
|
23
21
|
//#region src/app/modules/database/module.ts
|
|
24
22
|
var DatabaseModule = class {
|
|
25
23
|
name;
|
|
26
24
|
dependencies;
|
|
27
25
|
optionsBuilder;
|
|
28
26
|
options;
|
|
27
|
+
eventRedisClient;
|
|
28
|
+
eventPublisher;
|
|
29
29
|
constructor(options = {}) {
|
|
30
30
|
this.name = ModuleName.DATABASE;
|
|
31
31
|
this.dependencies = [ModuleName.CONFIG, ModuleName.LOGGER];
|
|
@@ -42,13 +42,11 @@ var DatabaseModule = class {
|
|
|
42
42
|
logger.debug("Establishing database connection...");
|
|
43
43
|
await dataSource.initialize();
|
|
44
44
|
logger.debug("Established database connection.");
|
|
45
|
-
setDataSource(dataSource);
|
|
46
|
-
setDataSourceSync(dataSource);
|
|
47
45
|
if (this.options.migrate) await this.options.migrate(container, dataSource);
|
|
48
46
|
else await this.migrate(container, dataSource);
|
|
49
47
|
container.register(DatabaseInjectionKey.DataSource, { useValue: dataSource });
|
|
50
48
|
this.registerRepositories(container, dataSource);
|
|
51
|
-
this.registerEventPublisher(container);
|
|
49
|
+
this.registerEventPublisher(container, dataSource);
|
|
52
50
|
}
|
|
53
51
|
async teardown(container) {
|
|
54
52
|
const dataSource = container.tryResolve(DatabaseInjectionKey.DataSource);
|
|
@@ -56,8 +54,15 @@ var DatabaseModule = class {
|
|
|
56
54
|
await dataSource.data.destroy();
|
|
57
55
|
container.unregister(DatabaseInjectionKey.DataSource);
|
|
58
56
|
}
|
|
59
|
-
|
|
60
|
-
|
|
57
|
+
container.unregister(DatabaseInjectionKey.DomainEventPublisher);
|
|
58
|
+
if (this.eventPublisher) {
|
|
59
|
+
await this.eventPublisher.dispose();
|
|
60
|
+
this.eventPublisher = void 0;
|
|
61
|
+
}
|
|
62
|
+
if (this.eventRedisClient) {
|
|
63
|
+
this.eventRedisClient.disconnect();
|
|
64
|
+
this.eventRedisClient = void 0;
|
|
65
|
+
}
|
|
61
66
|
}
|
|
62
67
|
async setupDatabase(container, options) {
|
|
63
68
|
const logger = container.resolve(LoggerInjectionKey);
|
|
@@ -102,15 +107,21 @@ var DatabaseModule = class {
|
|
|
102
107
|
container.register(entity, { useFactory: () => dataSource.getRepository(entity) });
|
|
103
108
|
}
|
|
104
109
|
}
|
|
105
|
-
registerEventPublisher(container) {
|
|
110
|
+
registerEventPublisher(container, dataSource) {
|
|
106
111
|
const config = container.resolve(ConfigInjectionKey);
|
|
107
|
-
const publisher = new DomainEventPublisher();
|
|
112
|
+
const publisher = new DomainEventPublisher({ logger: container.resolve(LoggerInjectionKey) });
|
|
113
|
+
this.eventPublisher = publisher;
|
|
108
114
|
if (config.redis) {
|
|
109
115
|
const client = createRedisClient(config.redis);
|
|
110
|
-
|
|
111
|
-
publisher.
|
|
116
|
+
if (client !== config.redis) this.eventRedisClient = client;
|
|
117
|
+
publisher.register(new DomainEventRedisHandler(client));
|
|
118
|
+
publisher.register(new DomainEventSocketHandler(client));
|
|
119
|
+
}
|
|
120
|
+
container.register(DatabaseInjectionKey.DomainEventPublisher, { useValue: publisher });
|
|
121
|
+
for (let i = 0; i < dataSource.subscribers.length; i++) {
|
|
122
|
+
const subscriber = dataSource.subscribers[i];
|
|
123
|
+
if (subscriber instanceof EntitySubscriber) subscriber.setPublisher(publisher);
|
|
112
124
|
}
|
|
113
|
-
setDomainEventPublisher(publisher);
|
|
114
125
|
}
|
|
115
126
|
};
|
|
116
127
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.mjs","names":["DomainEventPublisher","DomainEventRedisPublisher","DomainEventSocketPublisher","createRedisClient","AuthupError","DataSource","InstanceChecker","checkDatabase","createDatabase","setDataSource","synchronizeDatabaseSchema","unsetDataSource","DataSourceOptionsBuilder","DatabaseQueryResultCache","isDatabaseTypeSupported","isDatabaseTypeSupportedForEnvironment","setDataSourceSync","unsetDataSourceSync","setDomainEventPublisher","CacheInjectionKey","ModuleName","DatabaseInjectionKey","ConfigInjectionKey","LoggerInjectionKey","DatabaseModule","name","dependencies","optionsBuilder","options","DATABASE","CONFIG","LOGGER","setup","container","logger","resolve","prepareBuild","dataSourceOptions","buildDataSourceOptions","setupDatabase","dataSource","debug","initialize","migrate","register","useValue","registerRepositories","registerEventPublisher","teardown","tryResolve","success","data","destroy","unregister","check","exists","synchronize","ifNotExist","config","db","buildWith","buildWithEnv","type","env","cacheResult","Object","assign","cache","provider","entities","Array","isArray","entity","isEntitySchema","useFactory","getRepository","publisher","redis","client","mount"],"sources":["../../../../src/app/modules/database/module.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 {\n DomainEventPublisher, \n DomainEventRedisPublisher,\n DomainEventSocketPublisher, \n createRedisClient,\n} from '@authup/server-kit';\nimport { AuthupError } from '@authup/errors';\nimport type { DataSourceOptions } from 'typeorm';\nimport { DataSource, InstanceChecker } from 'typeorm';\nimport {\n checkDatabase,\n createDatabase,\n setDataSource,\n synchronizeDatabaseSchema,\n unsetDataSource,\n} from 'typeorm-extension';\nimport {\n DataSourceOptionsBuilder,\n DatabaseQueryResultCache,\n isDatabaseTypeSupported,\n isDatabaseTypeSupportedForEnvironment,\n setDataSourceSync,\n unsetDataSourceSync,\n} from '../../../adapters/database/index.ts';\nimport { setDomainEventPublisher } from '../../../adapters/database/event-publisher/index.ts';\nimport { CacheInjectionKey } from '../cache/index.ts';\nimport type { IModule } from 'orkos';\nimport { ModuleName } from '../constants.ts';\nimport { DatabaseInjectionKey } from './constants.ts';\nimport { ConfigInjectionKey } from '../config/index.ts';\nimport type { IContainer } from 'eldin';\nimport { LoggerInjectionKey } from '../logger/index.ts';\n\nexport type DatabaseModuleOptions = {\n prepareBuild?: (container: IContainer) => Promise<void>;\n setup?: (container: IContainer, options: DataSourceOptions) => Promise<void>;\n migrate?: (container: IContainer, dataSource: DataSource) => Promise<void>;\n};\n\nexport class DatabaseModule implements IModule {\n readonly name: string;\n\n readonly dependencies: string[];\n\n protected optionsBuilder : DataSourceOptionsBuilder;\n\n protected options: DatabaseModuleOptions;\n\n constructor(options: DatabaseModuleOptions = {}) {\n this.name = ModuleName.DATABASE;\n this.dependencies = [ModuleName.CONFIG, ModuleName.LOGGER];\n\n this.optionsBuilder = new DataSourceOptionsBuilder();\n this.options = options;\n }\n\n async setup(container: IContainer): Promise<void> {\n const logger = container.resolve(LoggerInjectionKey);\n\n if (this.options.prepareBuild) {\n await this.options.prepareBuild(container);\n }\n\n const dataSourceOptions = await this.buildDataSourceOptions(container);\n\n if (this.options.setup) {\n await this.options.setup(container, dataSourceOptions);\n } else {\n await this.setupDatabase(container, dataSourceOptions);\n }\n\n const dataSource = new DataSource(dataSourceOptions);\n\n logger.debug('Establishing database connection...');\n await dataSource.initialize();\n logger.debug('Established database connection.');\n\n // todo: maybe remove this\n setDataSource(dataSource);\n setDataSourceSync(dataSource);\n\n if (this.options.migrate) {\n await this.options.migrate(container, dataSource);\n } else {\n await this.migrate(container, dataSource);\n }\n\n container.register(DatabaseInjectionKey.DataSource, { useValue: dataSource });\n\n this.registerRepositories(container, dataSource);\n this.registerEventPublisher(container);\n }\n\n async teardown(container: IContainer): Promise<void> {\n const dataSource = container.tryResolve(DatabaseInjectionKey.DataSource);\n if (dataSource.success) {\n await dataSource.data.destroy();\n\n container.unregister(DatabaseInjectionKey.DataSource);\n }\n\n unsetDataSource();\n unsetDataSourceSync();\n }\n\n // ----------------------------------------------------\n\n protected async setupDatabase(container: IContainer, options: DataSourceOptions): Promise<void> {\n const logger = container.resolve(LoggerInjectionKey);\n\n const check = await checkDatabase({ options });\n\n if (!check.exists) {\n logger.debug('Creating database...');\n await createDatabase({\n options,\n synchronize: false,\n ifNotExist: true, \n });\n logger.debug('Created database');\n }\n }\n\n protected async migrate(container: IContainer, dataSource: DataSource): Promise<void> {\n const logger = container.resolve(LoggerInjectionKey);\n\n logger.debug('Migrating database...');\n await synchronizeDatabaseSchema(dataSource);\n logger.debug('Migrated database');\n }\n\n // ----------------------------------------------------\n\n /**\n * Load data source options for connection.\n *\n * @protected\n */\n protected async buildDataSourceOptions(container: IContainer) : Promise<DataSourceOptions> {\n const config = container.resolve(ConfigInjectionKey);\n\n let options : DataSourceOptions | undefined;\n if (config.db) {\n options = this.optionsBuilder.buildWith(config.db);\n } else {\n options = this.optionsBuilder.buildWithEnv();\n }\n\n if (!isDatabaseTypeSupported(options.type)) {\n throw new AuthupError(`Database type ${options.type} is not supported (only: mysql, better-sqlite3 and postgres).`);\n }\n\n if (!isDatabaseTypeSupportedForEnvironment(options.type, config.env)) {\n throw new AuthupError(`Database type ${options.type} is not supported for ${config.env}.`);\n }\n\n const cacheResult = container.tryResolve(CacheInjectionKey);\n if (cacheResult.success) {\n Object.assign(options, {\n cache: {\n provider() {\n return new DatabaseQueryResultCache(cacheResult.data);\n },\n },\n } satisfies Partial<DataSourceOptions>);\n }\n\n return options;\n }\n\n protected registerRepositories(container: IContainer, dataSource: DataSource) : void {\n const entities = dataSource.options.entities || [];\n if (!Array.isArray(entities)) {\n return;\n }\n\n for (const entity of entities) {\n if (InstanceChecker.isEntitySchema(entity)) {\n continue;\n }\n\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-expect-error\n container.register(entity, { useFactory: () => dataSource.getRepository(entity) });\n }\n }\n\n // todo: move, wrong place\n protected registerEventPublisher(container: IContainer) {\n const config = container.resolve(ConfigInjectionKey);\n\n const publisher = new DomainEventPublisher();\n if (config.redis) {\n const client = createRedisClient(config.redis);\n\n publisher.mount(new DomainEventRedisPublisher(client));\n publisher.mount(new DomainEventSocketPublisher(client));\n }\n\n setDomainEventPublisher(publisher);\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"module.mjs","names":["DomainEventPublisher","DomainEventRedisHandler","DomainEventSocketHandler","createRedisClient","AuthupError","DataSource","InstanceChecker","checkDatabase","createDatabase","synchronizeDatabaseSchema","DataSourceOptionsBuilder","DatabaseQueryResultCache","EntitySubscriber","isDatabaseTypeSupported","isDatabaseTypeSupportedForEnvironment","CacheInjectionKey","ModuleName","DatabaseInjectionKey","ConfigInjectionKey","LoggerInjectionKey","DatabaseModule","name","dependencies","optionsBuilder","options","eventRedisClient","eventPublisher","DATABASE","CONFIG","LOGGER","setup","container","logger","resolve","prepareBuild","dataSourceOptions","buildDataSourceOptions","setupDatabase","dataSource","debug","initialize","migrate","register","useValue","registerRepositories","registerEventPublisher","teardown","tryResolve","success","data","destroy","unregister","dispose","undefined","disconnect","check","exists","synchronize","ifNotExist","config","db","buildWith","buildWithEnv","type","env","cacheResult","Object","assign","cache","provider","entities","Array","isArray","entity","isEntitySchema","useFactory","getRepository","publisher","redis","client","i","subscribers","length","subscriber","setPublisher"],"sources":["../../../../src/app/modules/database/module.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 {\n DomainEventPublisher,\n DomainEventRedisHandler,\n DomainEventSocketHandler,\n createRedisClient,\n} from '@authup/server-kit';\nimport type { RedisClient } from '@authup/server-kit';\nimport { AuthupError } from '@authup/errors';\nimport type { DataSourceOptions } from 'typeorm';\nimport { DataSource, InstanceChecker } from 'typeorm';\nimport {\n checkDatabase,\n createDatabase,\n synchronizeDatabaseSchema,\n} from 'typeorm-extension';\nimport {\n DataSourceOptionsBuilder,\n DatabaseQueryResultCache,\n EntitySubscriber,\n isDatabaseTypeSupported,\n isDatabaseTypeSupportedForEnvironment,\n} from '../../../adapters/database/index.ts';\nimport { CacheInjectionKey } from '../cache/index.ts';\nimport type { IModule } from 'orkos';\nimport { ModuleName } from '../constants.ts';\nimport { DatabaseInjectionKey } from './constants.ts';\nimport { ConfigInjectionKey } from '../config/index.ts';\nimport type { IContainer } from 'eldin';\nimport { LoggerInjectionKey } from '../logger/index.ts';\n\nexport type DatabaseModuleOptions = {\n prepareBuild?: (container: IContainer) => Promise<void>;\n setup?: (container: IContainer, options: DataSourceOptions) => Promise<void>;\n migrate?: (container: IContainer, dataSource: DataSource) => Promise<void>;\n};\n\nexport class DatabaseModule implements IModule {\n readonly name: string;\n\n readonly dependencies: string[];\n\n protected optionsBuilder : DataSourceOptionsBuilder;\n\n protected options: DatabaseModuleOptions;\n\n protected eventRedisClient? : RedisClient;\n\n protected eventPublisher? : DomainEventPublisher;\n\n constructor(options: DatabaseModuleOptions = {}) {\n this.name = ModuleName.DATABASE;\n this.dependencies = [ModuleName.CONFIG, ModuleName.LOGGER];\n\n this.optionsBuilder = new DataSourceOptionsBuilder();\n this.options = options;\n }\n\n async setup(container: IContainer): Promise<void> {\n const logger = container.resolve(LoggerInjectionKey);\n\n if (this.options.prepareBuild) {\n await this.options.prepareBuild(container);\n }\n\n const dataSourceOptions = await this.buildDataSourceOptions(container);\n\n if (this.options.setup) {\n await this.options.setup(container, dataSourceOptions);\n } else {\n await this.setupDatabase(container, dataSourceOptions);\n }\n\n const dataSource = new DataSource(dataSourceOptions);\n\n logger.debug('Establishing database connection...');\n await dataSource.initialize();\n logger.debug('Established database connection.');\n\n if (this.options.migrate) {\n await this.options.migrate(container, dataSource);\n } else {\n await this.migrate(container, dataSource);\n }\n\n container.register(DatabaseInjectionKey.DataSource, { useValue: dataSource });\n\n this.registerRepositories(container, dataSource);\n this.registerEventPublisher(container, dataSource);\n }\n\n async teardown(container: IContainer): Promise<void> {\n const dataSource = container.tryResolve(DatabaseInjectionKey.DataSource);\n if (dataSource.success) {\n await dataSource.data.destroy();\n\n container.unregister(DatabaseInjectionKey.DataSource);\n }\n\n container.unregister(DatabaseInjectionKey.DomainEventPublisher);\n\n if (this.eventPublisher) {\n await this.eventPublisher.dispose();\n this.eventPublisher = undefined;\n }\n\n if (this.eventRedisClient) {\n this.eventRedisClient.disconnect();\n this.eventRedisClient = undefined;\n }\n }\n\n // ----------------------------------------------------\n\n protected async setupDatabase(container: IContainer, options: DataSourceOptions): Promise<void> {\n const logger = container.resolve(LoggerInjectionKey);\n\n const check = await checkDatabase({ options });\n\n if (!check.exists) {\n logger.debug('Creating database...');\n await createDatabase({\n options,\n synchronize: false,\n ifNotExist: true, \n });\n logger.debug('Created database');\n }\n }\n\n protected async migrate(container: IContainer, dataSource: DataSource): Promise<void> {\n const logger = container.resolve(LoggerInjectionKey);\n\n logger.debug('Migrating database...');\n await synchronizeDatabaseSchema(dataSource);\n logger.debug('Migrated database');\n }\n\n // ----------------------------------------------------\n\n /**\n * Load data source options for connection.\n *\n * @protected\n */\n protected async buildDataSourceOptions(container: IContainer) : Promise<DataSourceOptions> {\n const config = container.resolve(ConfigInjectionKey);\n\n let options : DataSourceOptions | undefined;\n if (config.db) {\n options = this.optionsBuilder.buildWith(config.db);\n } else {\n options = this.optionsBuilder.buildWithEnv();\n }\n\n if (!isDatabaseTypeSupported(options.type)) {\n throw new AuthupError(`Database type ${options.type} is not supported (only: mysql, better-sqlite3 and postgres).`);\n }\n\n if (!isDatabaseTypeSupportedForEnvironment(options.type, config.env)) {\n throw new AuthupError(`Database type ${options.type} is not supported for ${config.env}.`);\n }\n\n const cacheResult = container.tryResolve(CacheInjectionKey);\n if (cacheResult.success) {\n Object.assign(options, {\n cache: {\n provider() {\n return new DatabaseQueryResultCache(cacheResult.data);\n },\n },\n } satisfies Partial<DataSourceOptions>);\n }\n\n return options;\n }\n\n protected registerRepositories(container: IContainer, dataSource: DataSource) : void {\n const entities = dataSource.options.entities || [];\n if (!Array.isArray(entities)) {\n return;\n }\n\n for (const entity of entities) {\n if (InstanceChecker.isEntitySchema(entity)) {\n continue;\n }\n\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-expect-error\n container.register(entity, { useFactory: () => dataSource.getRepository(entity) });\n }\n }\n\n protected registerEventPublisher(container: IContainer, dataSource: DataSource) {\n const config = container.resolve(ConfigInjectionKey);\n const logger = container.resolve(LoggerInjectionKey);\n\n const publisher = new DomainEventPublisher({ logger });\n this.eventPublisher = publisher;\n if (config.redis) {\n const client = createRedisClient(config.redis);\n if (client !== config.redis) {\n this.eventRedisClient = client;\n }\n\n publisher.register(new DomainEventRedisHandler(client));\n publisher.register(new DomainEventSocketHandler(client));\n }\n\n container.register(DatabaseInjectionKey.DomainEventPublisher, { useValue: publisher });\n\n for (let i = 0; i < dataSource.subscribers.length; i++) {\n const subscriber = dataSource.subscribers[i];\n if (subscriber instanceof EntitySubscriber) {\n subscriber.setPublisher(publisher);\n }\n }\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,7 +1,18 @@
|
|
|
1
|
+
import type { IClient } from '@authup/core-http-kit';
|
|
1
2
|
import { TypedToken } from 'eldin';
|
|
2
3
|
import type { serve } from 'routup/node';
|
|
3
4
|
export type HTTPServer = ReturnType<typeof serve>;
|
|
4
5
|
export declare const HTTPInjectionKey: {
|
|
5
6
|
readonly Server: TypedToken<import("srvx").Server<import("srvx").ServerHandler>>;
|
|
7
|
+
/**
|
|
8
|
+
* Optional HTTP-client override for the SSR'd UI pages (test
|
|
9
|
+
* injection — production registers nothing). Register it with a
|
|
10
|
+
* `useFactory` provider and `lifetime: 'transient'` so every
|
|
11
|
+
* resolve yields a FRESH client: client-web-kit's authentication
|
|
12
|
+
* hook writes per-user Authorization state onto the client it
|
|
13
|
+
* attaches to, so a singleton-lifetime instance shared across
|
|
14
|
+
* concurrent renders would leak tokens between sessions.
|
|
15
|
+
*/
|
|
16
|
+
readonly UIHttpClient: TypedToken<IClient>;
|
|
6
17
|
};
|
|
7
18
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/app/modules/http/constants.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC;AAElD,eAAO,MAAM,gBAAgB;;
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/app/modules/http/constants.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC;AAElD,eAAO,MAAM,gBAAgB;;IAEzB;;;;;;;;OAQG;;CAEG,CAAC"}
|
|
@@ -3,7 +3,18 @@ import "node:url";
|
|
|
3
3
|
import.meta.url;
|
|
4
4
|
import { TypedToken } from "eldin";
|
|
5
5
|
//#region src/app/modules/http/constants.ts
|
|
6
|
-
const HTTPInjectionKey = {
|
|
6
|
+
const HTTPInjectionKey = {
|
|
7
|
+
Server: new TypedToken("Server"),
|
|
8
|
+
/**
|
|
9
|
+
* Optional HTTP-client override for the SSR'd UI pages (test
|
|
10
|
+
* injection — production registers nothing). Register it with a
|
|
11
|
+
* `useFactory` provider and `lifetime: 'transient'` so every
|
|
12
|
+
* resolve yields a FRESH client: client-web-kit's authentication
|
|
13
|
+
* hook writes per-user Authorization state onto the client it
|
|
14
|
+
* attaches to, so a singleton-lifetime instance shared across
|
|
15
|
+
* concurrent renders would leak tokens between sessions.
|
|
16
|
+
*/ UIHttpClient: new TypedToken("UIHttpClient")
|
|
17
|
+
};
|
|
7
18
|
//#endregion
|
|
8
19
|
export { HTTPInjectionKey };
|
|
9
20
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.mjs","names":["TypedToken","HTTPInjectionKey","Server"],"sources":["../../../../src/app/modules/http/constants.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 { TypedToken } from 'eldin';\nimport type { serve } from 'routup/node';\n\nexport type HTTPServer = ReturnType<typeof serve>;\n\nexport const HTTPInjectionKey = {
|
|
1
|
+
{"version":3,"file":"constants.mjs","names":["TypedToken","HTTPInjectionKey","Server","UIHttpClient"],"sources":["../../../../src/app/modules/http/constants.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 { IClient } from '@authup/core-http-kit';\nimport { TypedToken } from 'eldin';\nimport type { serve } from 'routup/node';\n\nexport type HTTPServer = ReturnType<typeof serve>;\n\nexport const HTTPInjectionKey = {\n Server: new TypedToken<HTTPServer>('Server'),\n /**\n * Optional HTTP-client override for the SSR'd UI pages (test\n * injection — production registers nothing). Register it with a\n * `useFactory` provider and `lifetime: 'transient'` so every\n * resolve yields a FRESH client: client-web-kit's authentication\n * hook writes per-user Authorization state onto the client it\n * attaches to, so a singleton-lifetime instance shared across\n * concurrent renders would leak tokens between sessions.\n */\n UIHttpClient: new TypedToken<IClient>('UIHttpClient'),\n} as const;\n"],"mappings":";;;;;AAaA,MAAaC,mBAAmB;CAC5BC,QAAQ,IAAIF,WAAuB,QAAA;;;;;;;;;IAUnCG,cAAc,IAAIH,WAAoB,cAAA;AAC1C"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import type { App } from 'routup';
|
|
2
2
|
import { ClientController, ClientPermissionController, ClientRoleController, ClientScopeController, IdentityProviderController, IdentityProviderRoleMappingController, PermissionController, PermissionPolicyController, PolicyController, RealmController, RobotController, RobotPermissionController, RobotRoleController, RoleAttributeController, RoleController, RolePermissionController, ScopeController, UserAttributeController, UserController, UserPermissionController, UserRoleController } from '../../../../adapters/http/index.ts';
|
|
3
|
-
import { ActivateController, AuthorizeController, JwkController, OpenIDController, PasswordForgotController, PasswordResetController, RegisterController, TokenController } from '../../../../adapters/http/controllers/index.ts';
|
|
3
|
+
import { ActivateController, AuthorizeController, JwkController, OpenIDController, PasswordForgotController, PasswordResetController, RegisterController, StatusController, TokenController } from '../../../../adapters/http/controllers/index.ts';
|
|
4
4
|
import type { IContainer } from 'eldin';
|
|
5
5
|
import { PasswordRecoveryService, RegistrationService } from '../../../../core/index.ts';
|
|
6
|
+
import type { StatusResponseFeatures } from '@authup/core-http-kit';
|
|
7
|
+
import type { Config } from '../../config/index.ts';
|
|
6
8
|
export declare class HTTPControllerModule {
|
|
7
9
|
mount(router: App, container: IContainer): Promise<void>;
|
|
8
10
|
createAuthorize(container: IContainer): AuthorizeController;
|
|
@@ -13,6 +15,8 @@ export declare class HTTPControllerModule {
|
|
|
13
15
|
createPasswordResetController(container: IContainer): PasswordResetController;
|
|
14
16
|
createPasswordRecoveryService(container: IContainer): PasswordRecoveryService;
|
|
15
17
|
createRegisterController(container: IContainer): RegisterController;
|
|
18
|
+
createStatusController(container: IContainer): StatusController;
|
|
19
|
+
buildUIFeatures(config: Config): StatusResponseFeatures;
|
|
16
20
|
createRegistrationService(container: IContainer): RegistrationService;
|
|
17
21
|
createIdentityProvider(container: IContainer): IdentityProviderController;
|
|
18
22
|
createClientController(container: IContainer): ClientController;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../../../../src/app/modules/http/modules/controller.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAwElC,OAAO,EACH,gBAAgB,EAChB,0BAA0B,EAC1B,oBAAoB,EACpB,qBAAqB,EACrB,0BAA0B,EAC1B,qCAAqC,EACrC,oBAAoB,EACpB,0BAA0B,EAC1B,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,yBAAyB,EACzB,mBAAmB,EACnB,uBAAuB,EACvB,cAAc,EACd,wBAAwB,EACxB,eAAe,EACf,uBAAuB,EACvB,cAAc,EACd,wBAAwB,EACxB,kBAAkB,EACrB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACH,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,EACb,gBAAgB,EAChB,wBAAwB,EACxB,uBAAuB,EACvB,kBAAkB,
|
|
1
|
+
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../../../../src/app/modules/http/modules/controller.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAwElC,OAAO,EACH,gBAAgB,EAChB,0BAA0B,EAC1B,oBAAoB,EACpB,qBAAqB,EACrB,0BAA0B,EAC1B,qCAAqC,EACrC,oBAAoB,EACpB,0BAA0B,EAC1B,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,yBAAyB,EACzB,mBAAmB,EACnB,uBAAuB,EACvB,cAAc,EACd,wBAAwB,EACxB,eAAe,EACf,uBAAuB,EACvB,cAAc,EACd,wBAAwB,EACxB,kBAAkB,EACrB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACH,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,EACb,gBAAgB,EAChB,wBAAwB,EACxB,uBAAuB,EACvB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EAClB,MAAM,gDAAgD,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EASH,uBAAuB,EAOvB,mBAAmB,EAetB,MAAM,2BAA2B,CAAC;AAInC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAKpD,qBAAa,oBAAoB;IACvB,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IA8D9D,eAAe,CAAC,SAAS,EAAE,UAAU;IA0BrC,WAAW,CAAC,SAAS,EAAE,UAAU;IAgDjC,sBAAsB,CAAC,SAAS,EAAE,UAAU;IAM5C,wBAAwB,CAAC,SAAS,EAAE,UAAU;IAY9C,8BAA8B,CAAC,SAAS,EAAE,UAAU;IAYpD,6BAA6B,CAAC,SAAS,EAAE,UAAU;IAYnD,6BAA6B,CAAC,SAAS,EAAE,UAAU;IAwBnD,wBAAwB,CAAC,SAAS,EAAE,UAAU;IAY9C,sBAAsB,CAAC,SAAS,EAAE,UAAU;IAM5C,eAAe,CAAC,MAAM,EAAE,MAAM,GAAI,sBAAsB;IAQxD,yBAAyB,CAAC,SAAS,EAAE,UAAU;IAwB/C,sBAAsB,CAAC,SAAS,EAAE,UAAU;IAiC5C,sBAAsB,CAAC,SAAS,EAAE,UAAU;IAiB5C,qBAAqB,CAAC,SAAS,EAAE,UAAU;IAoBrC,0BAA0B,CAAC,SAAS,EAAE,UAAU;IAkDtD,oBAAoB,CAAC,SAAS,EAAE,UAAU;IAe1C,gCAAgC,CAAC,SAAS,EAAE,UAAU;IAYtD,0BAA0B,CAAC,SAAS,EAAE,UAAU;IAShD,2BAA2B,CAAC,SAAS,EAAE,UAAU;IAQjD,+BAA+B,CAAC,SAAS,EAAE,UAAU;IAYrD,yBAAyB,CAAC,SAAS,EAAE,UAAU;IAS/C,6BAA6B,CAAC,SAAS,EAAE,UAAU;IAYnD,8BAA8B,CAAC,SAAS,EAAE,UAAU;IAYpD,gCAAgC,CAAC,SAAS,EAAE,UAAU;IAQtD,qBAAqB,CAAC,SAAS,EAAE,UAAU;IAe3C,oBAAoB,CAAC,SAAS,EAAE,UAAU;IAe1C,6BAA6B,CAAC,SAAS,EAAE,UAAU;IAYnD,8BAA8B,CAAC,SAAS,EAAE,UAAU;IAYpD,wBAAwB,CAAC,SAAS,EAAE,UAAU;IAS9C,sBAAsB,CAAC,SAAS,EAAE,UAAU;IAyB5C,oCAAoC,CAAC,SAAS,EAAE,UAAU;IAS1D,mBAAmB,CAAC,SAAS,EAAE,UAAU;IAMzC,qBAAqB,CAAC,SAAS,EAAE,UAAU;CA8B9C"}
|