@authup/server-core 1.0.0-beta.50 → 1.0.0-beta.52
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapters/database/data-source/options/module.d.ts.map +1 -1
- package/dist/adapters/database/data-source/options/module.mjs +2 -0
- package/dist/adapters/database/data-source/options/module.mjs.map +1 -1
- package/dist/adapters/database/domains/client/entity.d.ts +1 -0
- package/dist/adapters/database/domains/client/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/client/entity.mjs +5 -0
- package/dist/adapters/database/domains/client/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/client-permission/entity.d.ts +2 -1
- package/dist/adapters/database/domains/client-permission/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/client-permission/entity.mjs +6 -0
- package/dist/adapters/database/domains/client-permission/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/index.d.ts +1 -0
- package/dist/adapters/database/domains/index.d.ts.map +1 -1
- package/dist/adapters/database/domains/index.mjs +3 -1
- package/dist/adapters/database/domains/robot-permission/entity.d.ts +2 -1
- package/dist/adapters/database/domains/robot-permission/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/robot-permission/entity.mjs +6 -0
- package/dist/adapters/database/domains/robot-permission/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/robot-role/entity.mjs +1 -1
- package/dist/adapters/database/domains/robot-role/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/role-permission/entity.d.ts +2 -1
- package/dist/adapters/database/domains/role-permission/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/role-permission/entity.mjs +6 -0
- package/dist/adapters/database/domains/role-permission/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/session/entity.mjs +1 -1
- package/dist/adapters/database/domains/session/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/session-token/entity.d.ts +17 -0
- package/dist/adapters/database/domains/session-token/entity.d.ts.map +1 -0
- package/dist/adapters/database/domains/session-token/entity.mjs +95 -0
- package/dist/adapters/database/domains/session-token/entity.mjs.map +1 -0
- package/dist/adapters/database/domains/session-token/index.d.ts +2 -0
- package/dist/adapters/database/domains/session-token/index.d.ts.map +1 -0
- package/dist/adapters/database/domains/session-token/index.mjs +5 -0
- package/dist/adapters/database/domains/user-permission/entity.d.ts +2 -1
- package/dist/adapters/database/domains/user-permission/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/user-permission/entity.mjs +6 -0
- package/dist/adapters/database/domains/user-permission/entity.mjs.map +1 -1
- package/dist/adapters/database/index.mjs +2 -1
- package/dist/adapters/database/migrations/mysql/1779300000000-Default.d.ts +7 -0
- package/dist/adapters/database/migrations/mysql/1779300000000-Default.d.ts.map +1 -0
- package/dist/adapters/database/migrations/mysql/1779300000000-Default.mjs +85 -0
- package/dist/adapters/database/migrations/mysql/1779300000000-Default.mjs.map +1 -0
- package/dist/adapters/database/migrations/mysql/1783325495597-Default.d.ts +28 -0
- package/dist/adapters/database/migrations/mysql/1783325495597-Default.d.ts.map +1 -0
- package/dist/adapters/database/migrations/mysql/1783325495597-Default.mjs +85 -0
- package/dist/adapters/database/migrations/mysql/1783325495597-Default.mjs.map +1 -0
- package/dist/adapters/database/migrations/postgres/1779300000000-Default.d.ts +7 -0
- package/dist/adapters/database/migrations/postgres/1779300000000-Default.d.ts.map +1 -0
- package/dist/adapters/database/migrations/postgres/1779300000000-Default.mjs +87 -0
- package/dist/adapters/database/migrations/postgres/1779300000000-Default.mjs.map +1 -0
- package/dist/adapters/database/migrations/postgres/1783325495597-Default.d.ts +28 -0
- package/dist/adapters/database/migrations/postgres/1783325495597-Default.d.ts.map +1 -0
- package/dist/adapters/database/migrations/postgres/1783325495597-Default.mjs +79 -0
- package/dist/adapters/database/migrations/postgres/1783325495597-Default.mjs.map +1 -0
- package/dist/adapters/database/subscriber/module.d.ts.map +1 -1
- package/dist/adapters/database/subscriber/module.mjs +4 -3
- package/dist/adapters/database/subscriber/module.mjs.map +1 -1
- package/dist/adapters/http/adapters/index.mjs +3 -2
- package/dist/adapters/http/adapters/oauth2/authorization/module.mjs +2 -1
- package/dist/adapters/http/adapters/oauth2/authorization/module.mjs.map +1 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/authorize.d.ts +2 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/authorize.d.ts.map +1 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/authorize.mjs +10 -4
- package/dist/adapters/http/adapters/oauth2/grant-types/authorize.mjs.map +1 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/client-credentials.d.ts.map +1 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/client-credentials.mjs +3 -0
- package/dist/adapters/http/adapters/oauth2/grant-types/client-credentials.mjs.map +1 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/index.mjs +3 -2
- package/dist/adapters/http/adapters/oauth2/grant-types/password.d.ts +2 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/password.d.ts.map +1 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/password.mjs +14 -4
- package/dist/adapters/http/adapters/oauth2/grant-types/password.mjs.map +1 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/refresh_token.d.ts +2 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/refresh_token.d.ts.map +1 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/refresh_token.mjs +12 -5
- package/dist/adapters/http/adapters/oauth2/grant-types/refresh_token.mjs.map +1 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/types.d.ts +4 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/types.d.ts.map +1 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/utils/credentials.d.ts +1 -0
- package/dist/adapters/http/adapters/oauth2/grant-types/utils/credentials.d.ts.map +1 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/utils/credentials.mjs +2 -2
- package/dist/adapters/http/adapters/oauth2/grant-types/utils/credentials.mjs.map +1 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/utils/guess.mjs +1 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/utils/index.d.ts +1 -0
- package/dist/adapters/http/adapters/oauth2/grant-types/utils/index.d.ts.map +1 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/utils/index.mjs +3 -2
- package/dist/adapters/http/adapters/oauth2/grant-types/utils/realm.d.ts +9 -0
- package/dist/adapters/http/adapters/oauth2/grant-types/utils/realm.d.ts.map +1 -0
- package/dist/adapters/http/adapters/oauth2/grant-types/utils/realm.mjs +21 -0
- package/dist/adapters/http/adapters/oauth2/grant-types/utils/realm.mjs.map +1 -0
- package/dist/adapters/http/adapters/oauth2/index.mjs +3 -2
- package/dist/adapters/http/controllers/entities/client/module.mjs +2 -2
- package/dist/adapters/http/controllers/entities/client-permission/module.mjs +1 -1
- package/dist/adapters/http/controllers/entities/client-role/module.mjs +1 -1
- package/dist/adapters/http/controllers/entities/client-scope/module.mjs +1 -1
- package/dist/adapters/http/controllers/entities/identity-provide-role/module.mjs +1 -1
- package/dist/adapters/http/controllers/entities/identity-provider/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/entities/identity-provider/module.mjs +28 -12
- package/dist/adapters/http/controllers/entities/identity-provider/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/index.d.ts +1 -0
- package/dist/adapters/http/controllers/entities/index.d.ts.map +1 -1
- package/dist/adapters/http/controllers/entities/index.mjs +3 -1
- package/dist/adapters/http/controllers/entities/permission/module.mjs +1 -1
- package/dist/adapters/http/controllers/entities/permission-policy/module.mjs +1 -1
- package/dist/adapters/http/controllers/entities/policy/module.mjs +1 -1
- package/dist/adapters/http/controllers/entities/realm/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/entities/realm/module.mjs +11 -8
- package/dist/adapters/http/controllers/entities/realm/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/robot/module.mjs +2 -2
- package/dist/adapters/http/controllers/entities/robot-permission/module.mjs +1 -1
- package/dist/adapters/http/controllers/entities/robot-role/module.mjs +1 -1
- package/dist/adapters/http/controllers/entities/role/module.mjs +1 -1
- package/dist/adapters/http/controllers/entities/role-attribute/module.mjs +1 -1
- package/dist/adapters/http/controllers/entities/role-permission/module.mjs +1 -1
- package/dist/adapters/http/controllers/entities/scope/module.mjs +1 -1
- package/dist/adapters/http/controllers/entities/session/index.d.ts +2 -0
- package/dist/adapters/http/controllers/entities/session/index.d.ts.map +1 -0
- package/dist/adapters/http/controllers/entities/session/index.mjs +5 -0
- package/dist/adapters/http/controllers/entities/session/module.d.ts +16 -0
- package/dist/adapters/http/controllers/entities/session/module.d.ts.map +1 -0
- package/dist/adapters/http/controllers/entities/session/module.mjs +102 -0
- package/dist/adapters/http/controllers/entities/session/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/user/module.mjs +2 -2
- package/dist/adapters/http/controllers/entities/user-attribute/module.mjs +1 -1
- package/dist/adapters/http/controllers/entities/user-permission/module.mjs +1 -1
- package/dist/adapters/http/controllers/entities/user-role/module.mjs +1 -1
- package/dist/adapters/http/controllers/index.mjs +3 -1
- package/dist/adapters/http/controllers/workflows/authorize/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/workflows/authorize/module.mjs +22 -9
- package/dist/adapters/http/controllers/workflows/authorize/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/workflows/authorize/types.d.ts +7 -4
- package/dist/adapters/http/controllers/workflows/authorize/types.d.ts.map +1 -1
- package/dist/adapters/http/controllers/workflows/index.d.ts +1 -0
- package/dist/adapters/http/controllers/workflows/index.d.ts.map +1 -1
- package/dist/adapters/http/controllers/workflows/index.mjs +3 -1
- package/dist/adapters/http/controllers/workflows/logout/index.d.ts +3 -0
- package/dist/adapters/http/controllers/workflows/logout/index.d.ts.map +1 -0
- package/dist/adapters/http/controllers/workflows/logout/index.mjs +5 -0
- package/dist/adapters/http/controllers/workflows/logout/module.d.ts +14 -0
- package/dist/adapters/http/controllers/workflows/logout/module.d.ts.map +1 -0
- package/dist/adapters/http/controllers/workflows/logout/module.mjs +101 -0
- package/dist/adapters/http/controllers/workflows/logout/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/workflows/logout/types.d.ts +9 -0
- package/dist/adapters/http/controllers/workflows/logout/types.d.ts.map +1 -0
- package/dist/adapters/http/controllers/workflows/logout/types.mjs +4 -0
- package/dist/adapters/http/controllers/workflows/status/module.mjs +1 -1
- package/dist/adapters/http/controllers/workflows/token/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/workflows/token/module.mjs +12 -4
- package/dist/adapters/http/controllers/workflows/token/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/workflows/token/types.d.ts +9 -1
- package/dist/adapters/http/controllers/workflows/token/types.d.ts.map +1 -1
- package/dist/adapters/http/index.mjs +17 -13
- package/dist/adapters/http/middleware/built-in/authorization/module.d.ts.map +1 -1
- package/dist/adapters/http/middleware/built-in/authorization/module.mjs +2 -0
- package/dist/adapters/http/middleware/built-in/authorization/module.mjs.map +1 -1
- package/dist/adapters/http/middleware/built-in/index.mjs +2 -2
- package/dist/adapters/http/middleware/built-in/logger.d.ts +1 -0
- package/dist/adapters/http/middleware/built-in/logger.d.ts.map +1 -1
- package/dist/adapters/http/middleware/built-in/logger.mjs +23 -2
- package/dist/adapters/http/middleware/built-in/logger.mjs.map +1 -1
- package/dist/adapters/http/middleware/built-in/prometheus.d.ts.map +1 -1
- package/dist/adapters/http/middleware/built-in/prometheus.mjs +1 -1
- package/dist/adapters/http/middleware/built-in/prometheus.mjs.map +1 -1
- package/dist/adapters/http/middleware/built-in/realm-resolver/module.d.ts.map +1 -1
- package/dist/adapters/http/middleware/built-in/realm-resolver/module.mjs +3 -8
- package/dist/adapters/http/middleware/built-in/realm-resolver/module.mjs.map +1 -1
- package/dist/adapters/http/middleware/built-in/ui-http-client.d.ts +2 -2
- package/dist/adapters/http/middleware/built-in/ui-http-client.mjs +2 -2
- package/dist/adapters/http/middleware/built-in/ui-http-client.mjs.map +1 -1
- package/dist/adapters/http/middleware/index.mjs +2 -2
- package/dist/adapters/http/request/helpers/identity.d.ts +0 -1
- package/dist/adapters/http/request/helpers/identity.d.ts.map +1 -1
- package/dist/adapters/http/request/helpers/identity.mjs +2 -5
- package/dist/adapters/http/request/helpers/identity.mjs.map +1 -1
- package/dist/adapters/http/request/helpers/index.d.ts +1 -0
- package/dist/adapters/http/request/helpers/index.d.ts.map +1 -1
- package/dist/adapters/http/request/helpers/index.mjs +3 -2
- package/dist/adapters/http/request/helpers/session-id.d.ts +9 -0
- package/dist/adapters/http/request/helpers/session-id.d.ts.map +1 -0
- package/dist/adapters/http/request/helpers/session-id.mjs +19 -0
- package/dist/adapters/http/request/helpers/session-id.mjs.map +1 -0
- package/dist/adapters/http/request/index.mjs +3 -2
- package/dist/adapters/http/request/permission/module.d.ts.map +1 -1
- package/dist/adapters/http/request/permission/module.mjs +5 -3
- package/dist/adapters/http/request/permission/module.mjs.map +1 -1
- package/dist/adapters/http/ui/index.d.ts +1 -0
- package/dist/adapters/http/ui/index.d.ts.map +1 -1
- package/dist/adapters/http/ui/index.mjs +2 -1
- package/dist/adapters/http/ui/internal-http-client.d.ts +22 -0
- package/dist/adapters/http/ui/internal-http-client.d.ts.map +1 -0
- package/dist/adapters/http/ui/internal-http-client.mjs +52 -0
- package/dist/adapters/http/ui/internal-http-client.mjs.map +1 -0
- package/dist/adapters/http/ui/render.d.ts.map +1 -1
- package/dist/adapters/http/ui/render.mjs +5 -2
- package/dist/adapters/http/ui/render.mjs.map +1 -1
- package/dist/adapters/http/ui/types.d.ts +12 -0
- package/dist/adapters/http/ui/types.d.ts.map +1 -1
- package/dist/app/modules/authentication/repositories/session.d.ts +5 -2
- package/dist/app/modules/authentication/repositories/session.d.ts.map +1 -1
- package/dist/app/modules/authentication/repositories/session.mjs +63 -0
- package/dist/app/modules/authentication/repositories/session.mjs.map +1 -1
- package/dist/app/modules/config/constants.d.ts +4 -0
- package/dist/app/modules/config/constants.d.ts.map +1 -1
- package/dist/app/modules/config/constants.mjs +4 -0
- package/dist/app/modules/config/constants.mjs.map +1 -1
- package/dist/app/modules/config/normalize.d.ts.map +1 -1
- package/dist/app/modules/config/normalize.mjs +6 -1
- package/dist/app/modules/config/normalize.mjs.map +1 -1
- package/dist/app/modules/config/read/env.d.ts.map +1 -1
- package/dist/app/modules/config/read/env.mjs +8 -0
- package/dist/app/modules/config/read/env.mjs.map +1 -1
- package/dist/app/modules/config/types.d.ts +31 -2
- package/dist/app/modules/config/types.d.ts.map +1 -1
- package/dist/app/modules/config/validator.d.ts.map +1 -1
- package/dist/app/modules/config/validator.mjs +5 -0
- package/dist/app/modules/config/validator.mjs.map +1 -1
- package/dist/app/modules/database/module.d.ts +1 -0
- package/dist/app/modules/database/module.d.ts.map +1 -1
- package/dist/app/modules/database/module.mjs +19 -6
- package/dist/app/modules/database/module.mjs.map +1 -1
- package/dist/app/modules/database/repositories/bindings.d.ts +2 -0
- package/dist/app/modules/database/repositories/bindings.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/bindings.mjs +3 -1
- package/dist/app/modules/database/repositories/bindings.mjs.map +1 -1
- package/dist/app/modules/database/repositories/client/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/client/repository.mjs +10 -6
- package/dist/app/modules/database/repositories/client/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/helpers.d.ts +11 -0
- package/dist/app/modules/database/repositories/helpers.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/helpers.mjs +12 -1
- package/dist/app/modules/database/repositories/helpers.mjs.map +1 -1
- package/dist/app/modules/database/repositories/identity-provider/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/identity-provider/repository.mjs +7 -5
- package/dist/app/modules/database/repositories/identity-provider/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/permission/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/permission/repository.mjs +4 -3
- package/dist/app/modules/database/repositories/permission/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/permission-provider/module.d.ts +2 -2
- package/dist/app/modules/database/repositories/permission-provider/module.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/permission-provider/module.mjs +4 -3
- package/dist/app/modules/database/repositories/permission-provider/module.mjs.map +1 -1
- package/dist/app/modules/database/repositories/policy/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/policy/repository.mjs +4 -3
- package/dist/app/modules/database/repositories/policy/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/realm/repository.d.ts +1 -0
- package/dist/app/modules/database/repositories/realm/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/realm/repository.mjs +20 -3
- package/dist/app/modules/database/repositories/realm/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/robot/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/robot/repository.mjs +8 -6
- package/dist/app/modules/database/repositories/robot/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/role/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/role/repository.mjs +4 -3
- package/dist/app/modules/database/repositories/role/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/role-attribute/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/role-attribute/repository.mjs +2 -1
- package/dist/app/modules/database/repositories/role-attribute/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/scope/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/scope/repository.mjs +4 -3
- package/dist/app/modules/database/repositories/scope/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/user/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/user/repository.mjs +8 -5
- package/dist/app/modules/database/repositories/user/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/user-attribute/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/user-attribute/repository.mjs +2 -1
- package/dist/app/modules/database/repositories/user-attribute/repository.mjs.map +1 -1
- package/dist/app/modules/http/constants.d.ts +4 -2
- package/dist/app/modules/http/constants.d.ts.map +1 -1
- package/dist/app/modules/http/constants.mjs +4 -2
- package/dist/app/modules/http/constants.mjs.map +1 -1
- package/dist/app/modules/http/module.d.ts +10 -0
- package/dist/app/modules/http/module.d.ts.map +1 -1
- package/dist/app/modules/http/module.mjs +30 -0
- package/dist/app/modules/http/module.mjs.map +1 -1
- package/dist/app/modules/http/modules/controller.d.ts +6 -2
- package/dist/app/modules/http/modules/controller.d.ts.map +1 -1
- package/dist/app/modules/http/modules/controller.mjs +75 -15
- package/dist/app/modules/http/modules/controller.mjs.map +1 -1
- package/dist/app/modules/http/modules/middleware.mjs +1 -1
- package/dist/app/modules/identity/repositories/client.mjs +2 -2
- package/dist/app/modules/identity/repositories/client.mjs.map +1 -1
- package/dist/app/modules/identity/repositories/robot.mjs +2 -2
- package/dist/app/modules/identity/repositories/robot.mjs.map +1 -1
- package/dist/app/modules/identity/repositories/user.mjs +2 -2
- package/dist/app/modules/identity/repositories/user.mjs.map +1 -1
- package/dist/app/modules/oauth2/constants.d.ts +2 -1
- package/dist/app/modules/oauth2/constants.d.ts.map +1 -1
- package/dist/app/modules/oauth2/constants.mjs +1 -0
- package/dist/app/modules/oauth2/constants.mjs.map +1 -1
- package/dist/app/modules/oauth2/module.d.ts.map +1 -1
- package/dist/app/modules/oauth2/module.mjs +10 -4
- package/dist/app/modules/oauth2/module.mjs.map +1 -1
- package/dist/app/modules/oauth2/repositories/client/repository.mjs +2 -2
- package/dist/app/modules/oauth2/repositories/client/repository.mjs.map +1 -1
- package/dist/app/modules/oauth2/repositories/index.d.ts +1 -0
- package/dist/app/modules/oauth2/repositories/index.d.ts.map +1 -1
- package/dist/app/modules/oauth2/repositories/index.mjs +3 -1
- package/dist/app/modules/oauth2/repositories/session-token/index.d.ts +2 -0
- package/dist/app/modules/oauth2/repositories/session-token/index.d.ts.map +1 -0
- package/dist/app/modules/oauth2/repositories/session-token/index.mjs +5 -0
- package/dist/app/modules/oauth2/repositories/session-token/repository.d.ts +17 -0
- package/dist/app/modules/oauth2/repositories/session-token/repository.d.ts.map +1 -0
- package/dist/app/modules/oauth2/repositories/session-token/repository.mjs +63 -0
- package/dist/app/modules/oauth2/repositories/session-token/repository.mjs.map +1 -0
- package/dist/app/modules/provisioning/module.d.ts.map +1 -1
- package/dist/app/modules/provisioning/module.mjs +0 -1
- 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 +15 -56
- package/dist/app/modules/provisioning/sources/default/module.mjs.map +1 -1
- package/dist/app/modules/provisioning/sources/file/module.d.ts.map +1 -1
- package/dist/app/modules/provisioning/sources/file/module.mjs +2 -1
- package/dist/app/modules/provisioning/sources/file/module.mjs.map +1 -1
- package/dist/cli/commands/migration.d.ts.map +1 -1
- package/dist/cli/commands/migration.mjs +12 -4
- package/dist/cli/commands/migration.mjs.map +1 -1
- package/dist/components/oauth2-cleaner/module.d.ts.map +1 -1
- package/dist/components/oauth2-cleaner/module.mjs +3 -0
- package/dist/components/oauth2-cleaner/module.mjs.map +1 -1
- package/dist/core/authentication/index.mjs +2 -1
- package/dist/core/authentication/session/index.mjs +2 -1
- package/dist/core/authentication/session/module.d.ts +1 -0
- package/dist/core/authentication/session/module.d.ts.map +1 -1
- package/dist/core/authentication/session/module.mjs +3 -0
- package/dist/core/authentication/session/module.mjs.map +1 -1
- package/dist/core/authentication/session/types.d.ts +34 -0
- package/dist/core/authentication/session/types.d.ts.map +1 -1
- package/dist/core/authentication/session/types.mjs +18 -1
- package/dist/core/authentication/session/types.mjs.map +1 -0
- package/dist/core/entities/client/service.mjs +25 -7
- package/dist/core/entities/client/service.mjs.map +1 -1
- package/dist/core/entities/client/web-client.d.ts +5 -3
- package/dist/core/entities/client/web-client.d.ts.map +1 -1
- package/dist/core/entities/client/web-client.mjs +8 -4
- package/dist/core/entities/client/web-client.mjs.map +1 -1
- package/dist/core/entities/client-permission/service.d.ts +7 -4
- package/dist/core/entities/client-permission/service.d.ts.map +1 -1
- package/dist/core/entities/client-permission/service.mjs +59 -19
- package/dist/core/entities/client-permission/service.mjs.map +1 -1
- package/dist/core/entities/client-role/service.d.ts +3 -2
- package/dist/core/entities/client-role/service.d.ts.map +1 -1
- package/dist/core/entities/client-role/service.mjs +12 -5
- package/dist/core/entities/client-role/service.mjs.map +1 -1
- package/dist/core/entities/client-scope/service.d.ts +3 -2
- package/dist/core/entities/client-scope/service.d.ts.map +1 -1
- package/dist/core/entities/client-scope/service.mjs +12 -5
- package/dist/core/entities/client-scope/service.mjs.map +1 -1
- package/dist/core/entities/identity-provider-role-mapping/service.d.ts +7 -4
- package/dist/core/entities/identity-provider-role-mapping/service.d.ts.map +1 -1
- package/dist/core/entities/identity-provider-role-mapping/service.mjs +29 -6
- package/dist/core/entities/identity-provider-role-mapping/service.mjs.map +1 -1
- package/dist/core/entities/index.d.ts +1 -0
- package/dist/core/entities/index.d.ts.map +1 -1
- package/dist/core/entities/index.mjs +3 -1
- package/dist/core/entities/permission/service.d.ts +3 -5
- package/dist/core/entities/permission/service.d.ts.map +1 -1
- package/dist/core/entities/permission/service.mjs +30 -24
- package/dist/core/entities/permission/service.mjs.map +1 -1
- package/dist/core/entities/permission-policy/service.d.ts +3 -2
- package/dist/core/entities/permission-policy/service.d.ts.map +1 -1
- package/dist/core/entities/permission-policy/service.mjs +12 -5
- package/dist/core/entities/permission-policy/service.mjs.map +1 -1
- package/dist/core/entities/policy/service.d.ts.map +1 -1
- package/dist/core/entities/policy/service.mjs +16 -7
- package/dist/core/entities/policy/service.mjs.map +1 -1
- package/dist/core/entities/realm/service.mjs +4 -4
- package/dist/core/entities/realm/service.mjs.map +1 -1
- package/dist/core/entities/realm/types.d.ts +13 -0
- package/dist/core/entities/realm/types.d.ts.map +1 -1
- package/dist/core/entities/robot/service.d.ts.map +1 -1
- package/dist/core/entities/robot/service.mjs +29 -11
- package/dist/core/entities/robot/service.mjs.map +1 -1
- package/dist/core/entities/robot-permission/service.d.ts +7 -4
- package/dist/core/entities/robot-permission/service.d.ts.map +1 -1
- package/dist/core/entities/robot-permission/service.mjs +59 -19
- package/dist/core/entities/robot-permission/service.mjs.map +1 -1
- package/dist/core/entities/robot-role/service.d.ts +3 -2
- package/dist/core/entities/robot-role/service.d.ts.map +1 -1
- package/dist/core/entities/robot-role/service.mjs +12 -5
- package/dist/core/entities/robot-role/service.mjs.map +1 -1
- package/dist/core/entities/role/service.d.ts.map +1 -1
- package/dist/core/entities/role/service.mjs +16 -7
- package/dist/core/entities/role/service.mjs.map +1 -1
- package/dist/core/entities/role-attribute/service.d.ts.map +1 -1
- package/dist/core/entities/role-attribute/service.mjs +24 -6
- package/dist/core/entities/role-attribute/service.mjs.map +1 -1
- package/dist/core/entities/role-permission/service.d.ts +7 -4
- package/dist/core/entities/role-permission/service.d.ts.map +1 -1
- package/dist/core/entities/role-permission/service.mjs +61 -21
- package/dist/core/entities/role-permission/service.mjs.map +1 -1
- package/dist/core/entities/scope/service.d.ts.map +1 -1
- package/dist/core/entities/scope/service.mjs +16 -7
- package/dist/core/entities/scope/service.mjs.map +1 -1
- package/dist/core/entities/session/index.d.ts +3 -0
- package/dist/core/entities/session/index.d.ts.map +1 -0
- package/dist/core/entities/session/index.mjs +5 -0
- package/dist/core/entities/session/service.d.ts +27 -0
- package/dist/core/entities/session/service.d.ts.map +1 -0
- package/dist/core/entities/session/service.mjs +151 -0
- package/dist/core/entities/session/service.mjs.map +1 -0
- package/dist/core/entities/session/types.d.ts +48 -0
- package/dist/core/entities/session/types.d.ts.map +1 -0
- package/dist/core/entities/session/types.mjs +4 -0
- package/dist/core/entities/user/service.d.ts +1 -0
- package/dist/core/entities/user/service.d.ts.map +1 -1
- package/dist/core/entities/user/service.mjs +29 -11
- package/dist/core/entities/user/service.mjs.map +1 -1
- package/dist/core/entities/user-attribute/service.d.ts.map +1 -1
- package/dist/core/entities/user-attribute/service.mjs +18 -6
- package/dist/core/entities/user-attribute/service.mjs.map +1 -1
- package/dist/core/entities/user-permission/service.d.ts +7 -4
- package/dist/core/entities/user-permission/service.d.ts.map +1 -1
- package/dist/core/entities/user-permission/service.mjs +59 -19
- package/dist/core/entities/user-permission/service.mjs.map +1 -1
- package/dist/core/entities/user-role/service.d.ts +3 -2
- package/dist/core/entities/user-role/service.d.ts.map +1 -1
- package/dist/core/entities/user-role/service.mjs +12 -5
- package/dist/core/entities/user-role/service.mjs.map +1 -1
- package/dist/core/identity/index.mjs +2 -1
- package/dist/core/identity/password-recovery/service.d.ts.map +1 -1
- package/dist/core/identity/password-recovery/service.mjs +2 -1
- package/dist/core/identity/password-recovery/service.mjs.map +1 -1
- package/dist/core/identity/password-recovery/types.d.ts +1 -0
- package/dist/core/identity/password-recovery/types.d.ts.map +1 -1
- package/dist/core/identity/permission/checker/service.d.ts.map +1 -1
- package/dist/core/identity/permission/checker/service.mjs +12 -9
- package/dist/core/identity/permission/checker/service.mjs.map +1 -1
- package/dist/core/identity/permission/index.d.ts +1 -0
- package/dist/core/identity/permission/index.d.ts.map +1 -1
- package/dist/core/identity/permission/index.mjs +2 -1
- package/dist/core/identity/permission/junction-grant.d.ts +49 -0
- package/dist/core/identity/permission/junction-grant.d.ts.map +1 -0
- package/dist/core/identity/permission/junction-grant.mjs +57 -0
- package/dist/core/identity/permission/junction-grant.mjs.map +1 -0
- package/dist/core/identity/permission/module.d.ts +2 -3
- package/dist/core/identity/permission/module.d.ts.map +1 -1
- package/dist/core/identity/permission/module.mjs +52 -14
- package/dist/core/identity/permission/module.mjs.map +1 -1
- package/dist/core/identity/permission/types.d.ts +22 -2
- package/dist/core/identity/permission/types.d.ts.map +1 -1
- package/dist/core/identity/policy/checker/service.d.ts.map +1 -1
- package/dist/core/identity/policy/checker/service.mjs +6 -5
- package/dist/core/identity/policy/checker/service.mjs.map +1 -1
- package/dist/core/identity/provider/authentication/presets/facebook.d.ts.map +1 -1
- package/dist/core/identity/provider/authentication/presets/facebook.mjs +2 -1
- package/dist/core/identity/provider/authentication/presets/facebook.mjs.map +1 -1
- package/dist/core/identity/provider/authentication/presets/github.d.ts.map +1 -1
- package/dist/core/identity/provider/authentication/presets/github.mjs +2 -1
- package/dist/core/identity/provider/authentication/presets/github.mjs.map +1 -1
- package/dist/core/identity/provider/authentication/presets/google.d.ts.map +1 -1
- package/dist/core/identity/provider/authentication/presets/google.mjs +2 -1
- package/dist/core/identity/provider/authentication/presets/google.mjs.map +1 -1
- package/dist/core/identity/provider/authentication/presets/instagram.d.ts.map +1 -1
- package/dist/core/identity/provider/authentication/presets/instagram.mjs +2 -1
- package/dist/core/identity/provider/authentication/presets/instagram.mjs.map +1 -1
- package/dist/core/identity/provider/authentication/presets/paypal.d.ts.map +1 -1
- package/dist/core/identity/provider/authentication/presets/paypal.mjs +2 -1
- package/dist/core/identity/provider/authentication/presets/paypal.mjs.map +1 -1
- package/dist/core/identity/provider/authentication/protocols/oauth2/module.d.ts.map +1 -1
- package/dist/core/identity/provider/authentication/protocols/oauth2/module.mjs +7 -2
- package/dist/core/identity/provider/authentication/protocols/oauth2/module.mjs.map +1 -1
- package/dist/core/identity/provider/authentication/protocols/open-id/module.d.ts +2 -0
- package/dist/core/identity/provider/authentication/protocols/open-id/module.d.ts.map +1 -1
- package/dist/core/identity/provider/authentication/protocols/open-id/module.mjs +5 -0
- package/dist/core/identity/provider/authentication/protocols/open-id/module.mjs.map +1 -1
- package/dist/core/identity/registration/service.d.ts.map +1 -1
- package/dist/core/identity/registration/service.mjs +9 -6
- package/dist/core/identity/registration/service.mjs.map +1 -1
- package/dist/core/identity/registration/types.d.ts +1 -0
- package/dist/core/identity/registration/types.d.ts.map +1 -1
- package/dist/core/identity/resolver/module.d.ts +7 -0
- package/dist/core/identity/resolver/module.d.ts.map +1 -1
- package/dist/core/identity/resolver/module.mjs +7 -1
- package/dist/core/identity/resolver/module.mjs.map +1 -1
- package/dist/core/index.mjs +11 -2
- package/dist/core/oauth2/authorization/code/index.mjs +1 -0
- package/dist/core/oauth2/authorization/code/issuer/module.d.ts +0 -1
- package/dist/core/oauth2/authorization/code/issuer/module.d.ts.map +1 -1
- package/dist/core/oauth2/authorization/code/issuer/module.mjs +7 -7
- package/dist/core/oauth2/authorization/code/issuer/module.mjs.map +1 -1
- package/dist/core/oauth2/authorization/code/issuer/types.d.ts +11 -2
- package/dist/core/oauth2/authorization/code/issuer/types.d.ts.map +1 -1
- package/dist/core/oauth2/authorization/code/verifier/module.d.ts.map +1 -1
- package/dist/core/oauth2/authorization/code/verifier/module.mjs +1 -0
- package/dist/core/oauth2/authorization/code/verifier/module.mjs.map +1 -1
- package/dist/core/oauth2/authorization/code/verifier/types.d.ts +1 -0
- package/dist/core/oauth2/authorization/code/verifier/types.d.ts.map +1 -1
- package/dist/core/oauth2/authorization/code-request/validator.d.ts.map +1 -1
- package/dist/core/oauth2/authorization/code-request/validator.mjs +19 -5
- package/dist/core/oauth2/authorization/code-request/validator.mjs.map +1 -1
- package/dist/core/oauth2/authorization/code-request/verifier/module.d.ts.map +1 -1
- package/dist/core/oauth2/authorization/code-request/verifier/module.mjs +13 -10
- package/dist/core/oauth2/authorization/code-request/verifier/module.mjs.map +1 -1
- package/dist/core/oauth2/authorization/code-request/verifier/types.d.ts +7 -0
- package/dist/core/oauth2/authorization/code-request/verifier/types.d.ts.map +1 -1
- package/dist/core/oauth2/authorization/helpers.d.ts +2 -1
- package/dist/core/oauth2/authorization/helpers.d.ts.map +1 -1
- package/dist/core/oauth2/authorization/helpers.mjs +19 -2
- package/dist/core/oauth2/authorization/helpers.mjs.map +1 -1
- package/dist/core/oauth2/authorization/module.d.ts +6 -7
- package/dist/core/oauth2/authorization/module.d.ts.map +1 -1
- package/dist/core/oauth2/authorization/module.mjs +24 -38
- package/dist/core/oauth2/authorization/module.mjs.map +1 -1
- package/dist/core/oauth2/authorization/types.d.ts +15 -7
- package/dist/core/oauth2/authorization/types.d.ts.map +1 -1
- package/dist/core/oauth2/client/grant-type.d.ts +9 -0
- package/dist/core/oauth2/client/grant-type.d.ts.map +1 -0
- package/dist/core/oauth2/client/grant-type.mjs +18 -0
- package/dist/core/oauth2/client/grant-type.mjs.map +1 -0
- package/dist/core/oauth2/client/index.d.ts +1 -0
- package/dist/core/oauth2/client/index.d.ts.map +1 -1
- package/dist/core/oauth2/client/index.mjs +2 -1
- package/dist/core/oauth2/end-session/index.d.ts +4 -0
- package/dist/core/oauth2/end-session/index.d.ts.map +1 -0
- package/dist/core/oauth2/end-session/index.mjs +6 -0
- package/dist/core/oauth2/end-session/service.d.ts +30 -0
- package/dist/core/oauth2/end-session/service.d.ts.map +1 -0
- package/dist/core/oauth2/end-session/service.mjs +117 -0
- package/dist/core/oauth2/end-session/service.mjs.map +1 -0
- package/dist/core/oauth2/end-session/types.d.ts +55 -0
- package/dist/core/oauth2/end-session/types.d.ts.map +1 -0
- package/dist/core/oauth2/end-session/types.mjs +4 -0
- package/dist/core/oauth2/end-session/validator.d.ts +6 -0
- package/dist/core/oauth2/end-session/validator.d.ts.map +1 -0
- package/dist/core/oauth2/end-session/validator.mjs +23 -0
- package/dist/core/oauth2/end-session/validator.mjs.map +1 -0
- package/dist/core/oauth2/grant-types/authorize.d.ts +19 -2
- package/dist/core/oauth2/grant-types/authorize.d.ts.map +1 -1
- package/dist/core/oauth2/grant-types/authorize.mjs +53 -10
- package/dist/core/oauth2/grant-types/authorize.mjs.map +1 -1
- package/dist/core/oauth2/grant-types/refresh-token.d.ts +21 -2
- package/dist/core/oauth2/grant-types/refresh-token.d.ts.map +1 -1
- package/dist/core/oauth2/grant-types/refresh-token.mjs +55 -9
- package/dist/core/oauth2/grant-types/refresh-token.mjs.map +1 -1
- package/dist/core/oauth2/grant-types/types.d.ts +22 -2
- package/dist/core/oauth2/grant-types/types.d.ts.map +1 -1
- package/dist/core/oauth2/index.d.ts +2 -0
- package/dist/core/oauth2/index.d.ts.map +1 -1
- package/dist/core/oauth2/index.mjs +7 -3
- package/dist/core/oauth2/session-token/index.d.ts +2 -0
- package/dist/core/oauth2/session-token/index.d.ts.map +1 -0
- package/dist/core/oauth2/session-token/index.mjs +4 -0
- package/dist/core/oauth2/session-token/types.d.ts +70 -0
- package/dist/core/oauth2/session-token/types.d.ts.map +1 -0
- package/dist/core/oauth2/session-token/types.mjs +4 -0
- package/dist/core/oauth2/token/issuer/access/module.d.ts +3 -1
- package/dist/core/oauth2/token/issuer/access/module.d.ts.map +1 -1
- package/dist/core/oauth2/token/issuer/access/module.mjs +12 -1
- package/dist/core/oauth2/token/issuer/access/module.mjs.map +1 -1
- package/dist/core/oauth2/token/issuer/open-id/module.d.ts.map +1 -1
- package/dist/core/oauth2/token/issuer/open-id/module.mjs +1 -1
- package/dist/core/oauth2/token/issuer/open-id/module.mjs.map +1 -1
- package/dist/core/oauth2/token/issuer/refresh/module.d.ts +3 -1
- package/dist/core/oauth2/token/issuer/refresh/module.d.ts.map +1 -1
- package/dist/core/oauth2/token/issuer/refresh/module.mjs +12 -1
- package/dist/core/oauth2/token/issuer/refresh/module.mjs.map +1 -1
- package/dist/core/oauth2/token/revoker/module.d.ts +3 -1
- package/dist/core/oauth2/token/revoker/module.d.ts.map +1 -1
- package/dist/core/oauth2/token/revoker/module.mjs +4 -1
- package/dist/core/oauth2/token/revoker/module.mjs.map +1 -1
- package/dist/core/oauth2/token/verifier/module.d.ts.map +1 -1
- package/dist/core/oauth2/token/verifier/module.mjs +4 -4
- package/dist/core/oauth2/token/verifier/module.mjs.map +1 -1
- package/dist/core/oauth2/token/verifier/types.d.ts +6 -0
- package/dist/core/oauth2/token/verifier/types.d.ts.map +1 -1
- package/dist/core/provisioning/entities/client/relations-validator.d.ts.map +1 -1
- package/dist/core/provisioning/entities/client/relations-validator.mjs +3 -2
- package/dist/core/provisioning/entities/client/relations-validator.mjs.map +1 -1
- package/dist/core/provisioning/entities/index.d.ts +1 -0
- package/dist/core/provisioning/entities/index.d.ts.map +1 -1
- package/dist/core/provisioning/entities/index.mjs +5 -1
- package/dist/core/provisioning/entities/permission/index.d.ts +1 -0
- package/dist/core/provisioning/entities/permission/index.d.ts.map +1 -1
- package/dist/core/provisioning/entities/permission/index.mjs +2 -1
- package/dist/core/provisioning/entities/permission/relations-validator.d.ts +6 -0
- package/dist/core/provisioning/entities/permission/relations-validator.d.ts.map +1 -0
- package/dist/core/provisioning/entities/permission/relations-validator.mjs +17 -0
- package/dist/core/provisioning/entities/permission/relations-validator.mjs.map +1 -0
- package/dist/core/provisioning/entities/permission/validator.d.ts.map +1 -1
- package/dist/core/provisioning/entities/permission/validator.mjs +3 -0
- package/dist/core/provisioning/entities/permission/validator.mjs.map +1 -1
- package/dist/core/provisioning/entities/policy/index.d.ts +1 -0
- package/dist/core/provisioning/entities/policy/index.d.ts.map +1 -1
- package/dist/core/provisioning/entities/policy/index.mjs +2 -1
- package/dist/core/provisioning/entities/policy/validator.d.ts +6 -0
- package/dist/core/provisioning/entities/policy/validator.d.ts.map +1 -0
- package/dist/core/provisioning/entities/policy/validator.mjs +26 -0
- package/dist/core/provisioning/entities/policy/validator.mjs.map +1 -0
- package/dist/core/provisioning/entities/realm/relations-validator.d.ts.map +1 -1
- package/dist/core/provisioning/entities/realm/relations-validator.mjs +9 -52
- package/dist/core/provisioning/entities/realm/relations-validator.mjs.map +1 -1
- package/dist/core/provisioning/entities/role/relations-validator.d.ts.map +1 -1
- package/dist/core/provisioning/entities/role/relations-validator.mjs +4 -0
- package/dist/core/provisioning/entities/role/relations-validator.mjs.map +1 -1
- package/dist/core/provisioning/entities/role/types.d.ts +8 -5
- package/dist/core/provisioning/entities/role/types.d.ts.map +1 -1
- package/dist/core/provisioning/entities/root/validator.d.ts.map +1 -1
- package/dist/core/provisioning/entities/root/validator.mjs +11 -26
- package/dist/core/provisioning/entities/root/validator.mjs.map +1 -1
- package/dist/core/provisioning/entities/utils.d.ts +10 -0
- package/dist/core/provisioning/entities/utils.d.ts.map +1 -0
- package/dist/core/provisioning/entities/utils.mjs +29 -0
- package/dist/core/provisioning/entities/utils.mjs.map +1 -0
- package/dist/core/provisioning/index.mjs +4 -1
- package/dist/core/provisioning/synchronizer/base.d.ts +3 -0
- package/dist/core/provisioning/synchronizer/base.d.ts.map +1 -1
- package/dist/core/provisioning/synchronizer/base.mjs +3 -0
- package/dist/core/provisioning/synchronizer/base.mjs.map +1 -1
- package/dist/core/provisioning/synchronizer/client/module.d.ts.map +1 -1
- package/dist/core/provisioning/synchronizer/client/module.mjs +1 -0
- package/dist/core/provisioning/synchronizer/client/module.mjs.map +1 -1
- package/dist/core/provisioning/synchronizer/entity-resolver.d.ts.map +1 -1
- package/dist/core/provisioning/synchronizer/entity-resolver.mjs +3 -0
- package/dist/core/provisioning/synchronizer/entity-resolver.mjs.map +1 -1
- package/dist/core/provisioning/synchronizer/index.mjs +1 -0
- package/dist/core/provisioning/synchronizer/permission/module.d.ts.map +1 -1
- package/dist/core/provisioning/synchronizer/permission/module.mjs +2 -1
- package/dist/core/provisioning/synchronizer/permission/module.mjs.map +1 -1
- package/dist/core/provisioning/synchronizer/policy/module.d.ts +2 -0
- package/dist/core/provisioning/synchronizer/policy/module.d.ts.map +1 -1
- package/dist/core/provisioning/synchronizer/policy/module.mjs +19 -1
- package/dist/core/provisioning/synchronizer/policy/module.mjs.map +1 -1
- package/dist/core/provisioning/synchronizer/realm/module.d.ts.map +1 -1
- package/dist/core/provisioning/synchronizer/realm/module.mjs +1 -0
- package/dist/core/provisioning/synchronizer/realm/module.mjs.map +1 -1
- package/dist/core/provisioning/synchronizer/robot/module.d.ts.map +1 -1
- package/dist/core/provisioning/synchronizer/robot/module.mjs +1 -0
- package/dist/core/provisioning/synchronizer/robot/module.mjs.map +1 -1
- package/dist/core/provisioning/synchronizer/role/module.d.ts +2 -3
- package/dist/core/provisioning/synchronizer/role/module.d.ts.map +1 -1
- package/dist/core/provisioning/synchronizer/role/module.mjs +14 -20
- package/dist/core/provisioning/synchronizer/role/module.mjs.map +1 -1
- package/dist/core/provisioning/synchronizer/role/types.d.ts +1 -2
- package/dist/core/provisioning/synchronizer/role/types.d.ts.map +1 -1
- package/dist/core/provisioning/synchronizer/scope/module.d.ts.map +1 -1
- package/dist/core/provisioning/synchronizer/scope/module.mjs +1 -0
- package/dist/core/provisioning/synchronizer/scope/module.mjs.map +1 -1
- package/dist/core/provisioning/synchronizer/user/module.d.ts.map +1 -1
- package/dist/core/provisioning/synchronizer/user/module.mjs +1 -0
- package/dist/core/provisioning/synchronizer/user/module.mjs.map +1 -1
- package/dist/core/security/policy/evaluator.d.ts +4 -4
- package/dist/core/security/policy/evaluator.d.ts.map +1 -1
- package/dist/core/security/policy/evaluator.mjs +19 -18
- package/dist/core/security/policy/evaluator.mjs.map +1 -1
- package/dist/index.mjs +17 -12
- package/dist/swagger.json +585 -23
- package/dist/ui/client/.vite/ssr-manifest.json +1981 -577
- package/dist/ui/client/assets/index-CP9HCHoS.js +127 -0
- package/dist/ui/client/assets/index-VM4JXBXw.css +2 -0
- package/dist/ui/client/index.html +2 -2
- package/dist/ui/server/assets/{multipart-parser-Dn2Ly9xU.js → multipart-parser-BCMy8Xwv.js} +11 -1
- package/dist/ui/server/assets/{multipart-parser-DyM9gi59.js → multipart-parser-BVY8pIV2.js} +11 -1
- package/dist/ui/server/server.js +21503 -11128
- package/package.json +38 -36
- package/dist/ui/client/assets/index-BFXs98mu.js +0 -102
- package/dist/ui/client/assets/index-C_-HM1P-.css +0 -2
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import type { Permission, Policy, Realm, User, UserPermission } from '@authup/core-kit';
|
|
1
|
+
import type { Permission, Policy, Realm, RealmScopeValue, User, UserPermission } from '@authup/core-kit';
|
|
2
2
|
export declare class UserPermissionEntity implements UserPermission {
|
|
3
3
|
id: string;
|
|
4
4
|
created_at: string;
|
|
5
5
|
updated_at: string;
|
|
6
6
|
policy_id: string | null;
|
|
7
7
|
policy: Policy | null;
|
|
8
|
+
realm_scope: RealmScopeValue;
|
|
8
9
|
user_id: User['id'];
|
|
9
10
|
user: User;
|
|
10
11
|
user_realm_id: Realm['id'] | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/database/domains/user-permission/entity.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EACR,UAAU,EACV,MAAM,EACN,KAAK,EACL,IAAI,EACJ,cAAc,EACjB,MAAM,kBAAkB,CAAC;AAM1B,qBAEa,oBAAqB,YAAW,cAAc;IAEvD,EAAE,EAAE,MAAM,CAAC;IAKX,UAAU,EAAE,MAAM,CAAC;IAGnB,UAAU,EAAE,MAAM,CAAC;IAKnB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAOzB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/database/domains/user-permission/entity.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EACR,UAAU,EACV,MAAM,EACN,KAAK,EACL,eAAe,EACf,IAAI,EACJ,cAAc,EACjB,MAAM,kBAAkB,CAAC;AAM1B,qBAEa,oBAAqB,YAAW,cAAc;IAEvD,EAAE,EAAE,MAAM,CAAC;IAKX,UAAU,EAAE,MAAM,CAAC;IAGnB,UAAU,EAAE,MAAM,CAAC;IAKnB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAOzB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAOtB,WAAW,EAAE,eAAe,CAAC;IAG7B,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAIpB,IAAI,EAAE,IAAI,CAAC;IAGX,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAOlC,UAAU,EAAE,KAAK,GAAG,IAAI,CAAC;IAGzB,aAAa,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;IAIhC,UAAU,EAAE,UAAU,CAAC;IAGvB,mBAAmB,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAOxC,gBAAgB,EAAE,KAAK,GAAG,IAAI,CAAC;CAClC"}
|
|
@@ -26,6 +26,7 @@ var UserPermissionEntity = class {
|
|
|
26
26
|
updated_at;
|
|
27
27
|
policy_id;
|
|
28
28
|
policy;
|
|
29
|
+
realm_scope;
|
|
29
30
|
user_id;
|
|
30
31
|
user;
|
|
31
32
|
user_realm_id;
|
|
@@ -47,6 +48,11 @@ _ts_decorate([
|
|
|
47
48
|
JoinColumn({ name: "policy_id" }),
|
|
48
49
|
_ts_metadata("design:type", Object)
|
|
49
50
|
], UserPermissionEntity.prototype, "policy", void 0);
|
|
51
|
+
_ts_decorate([Column({
|
|
52
|
+
type: "varchar",
|
|
53
|
+
length: 50,
|
|
54
|
+
default: "own"
|
|
55
|
+
}), _ts_metadata("design:type", typeof RealmScopeValue === "undefined" ? Object : RealmScopeValue)], UserPermissionEntity.prototype, "realm_scope", void 0);
|
|
50
56
|
_ts_decorate([Column(), _ts_metadata("design:type", Object)], UserPermissionEntity.prototype, "user_id", void 0);
|
|
51
57
|
_ts_decorate([
|
|
52
58
|
ManyToOne(() => UserEntity, { onDelete: "CASCADE" }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity.mjs","names":["Column","CreateDateColumn","Entity","Index","JoinColumn","ManyToOne","PrimaryGeneratedColumn","UpdateDateColumn","dateToISOStringTransformer","PolicyEntity","UserEntity","PermissionEntity","RealmEntity","UserPermissionEntity","id","created_at","updated_at","policy_id","policy","user_id","user","user_realm_id","user_realm","permission_id","permission","permission_realm_id","permission_realm","transformer","nullable","onDelete","name","unique"],"sources":["../../../../../src/adapters/database/domains/user-permission/entity.ts"],"sourcesContent":["/*\n * Copyright (c) 2021-2021.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport {\n Column,\n CreateDateColumn,\n Entity, \n Index,\n JoinColumn,\n ManyToOne,\n PrimaryGeneratedColumn,\n UpdateDateColumn,\n} from 'typeorm';\nimport { dateToISOStringTransformer } from '../../helpers/index.ts';\nimport type {\n Permission,\n Policy,\n Realm,\n User
|
|
1
|
+
{"version":3,"file":"entity.mjs","names":["Column","CreateDateColumn","Entity","Index","JoinColumn","ManyToOne","PrimaryGeneratedColumn","UpdateDateColumn","dateToISOStringTransformer","PolicyEntity","UserEntity","PermissionEntity","RealmEntity","UserPermissionEntity","id","created_at","updated_at","policy_id","policy","realm_scope","user_id","user","user_realm_id","user_realm","permission_id","permission","permission_realm_id","permission_realm","transformer","nullable","onDelete","name","type","length","default","unique"],"sources":["../../../../../src/adapters/database/domains/user-permission/entity.ts"],"sourcesContent":["/*\n * Copyright (c) 2021-2021.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport {\n Column,\n CreateDateColumn,\n Entity, \n Index,\n JoinColumn,\n ManyToOne,\n PrimaryGeneratedColumn,\n UpdateDateColumn,\n} from 'typeorm';\nimport { dateToISOStringTransformer } from '../../helpers/index.ts';\nimport type {\n Permission,\n Policy,\n Realm,\n RealmScopeValue,\n User,\n UserPermission,\n} from '@authup/core-kit';\nimport { PolicyEntity } from '../policy/index.ts';\nimport { UserEntity } from '../user/entity.ts';\nimport { PermissionEntity } from '../permission/entity.ts';\nimport { RealmEntity } from '../realm/index.ts';\n\n@Entity({ name: 'auth_user_permissions' })\n@Index(['permission_id', 'user_id'], { unique: true })\nexport class UserPermissionEntity implements UserPermission {\n @PrimaryGeneratedColumn('uuid')\n id: string;\n\n // ------------------------------------------------------------------\n\n @CreateDateColumn({ transformer: dateToISOStringTransformer })\n created_at: string;\n\n @UpdateDateColumn({ transformer: dateToISOStringTransformer })\n updated_at: string;\n\n // ------------------------------------------------------------------\n\n @Column({ nullable: true })\n policy_id: string | null;\n\n @ManyToOne(() => PolicyEntity, {\n onDelete: 'SET NULL',\n nullable: true, \n })\n @JoinColumn({ name: 'policy_id' })\n policy: Policy | null;\n\n @Column({\n type: 'varchar',\n length: 50,\n default: 'own',\n })\n realm_scope: RealmScopeValue;\n\n @Column()\n user_id: User['id'];\n\n @ManyToOne(() => UserEntity, { onDelete: 'CASCADE' })\n @JoinColumn({ name: 'user_id' })\n user: User;\n\n @Column({ nullable: true })\n user_realm_id: Realm['id'] | null;\n\n @ManyToOne(() => RealmEntity, {\n onDelete: 'CASCADE',\n nullable: true, \n })\n @JoinColumn({ name: 'user_realm_id' })\n user_realm: Realm | null;\n\n @Column()\n permission_id: Permission['id'];\n\n @ManyToOne(() => PermissionEntity, { onDelete: 'CASCADE' })\n @JoinColumn({ name: 'permission_id' })\n permission: Permission;\n\n @Column({ nullable: true })\n permission_realm_id: Realm['id'] | null;\n\n @ManyToOne(() => RealmEntity, {\n onDelete: 'CASCADE',\n nullable: true, \n })\n @JoinColumn({ name: 'permission_realm_id' })\n permission_realm: Realm | null;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAiCA,IAAaa,uBAAb,MAAaA;CAETC;CAKAC;CAGAC;CAKAC;CAOAC;CAOAC;CAGAC;CAIAC;CAGAC;CAOAC;CAGAC;CAIAC;CAGAC;CAOAC;AACJ;;iCA1DwBC,aAAapB,2BAAAA,CAAAA,GAAAA,aAAAA,eAAAA,MAAAA,CAAAA,GAAAA,qBAAAA,WAAAA,cAAAA,KAAAA,CAAAA;iCAGboB,aAAapB,2BAAAA,CAAAA,GAAAA,aAAAA,eAAAA,MAAAA,CAAAA,GAAAA,qBAAAA,WAAAA,cAAAA,KAAAA,CAAAA;uBAKvBqB,UAAU,KAAA,CAAA,GAAA,aAAA,eAAA,MAAA,CAAA,GAAA,qBAAA,WAAA,aAAA,KAAA,CAAA;;iBAGHpB,cAAAA;EACbqB,UAAU;EACVD,UAAU;;cAEAE,MAAM,YAAA,CAAA;;;;CAIhBC,MAAM;CACNC,QAAQ;CACRC,SAAS;;;;iBAOIxB,YAAAA,EAAcoB,UAAU,UAAA,CAAA;cAC3BC,MAAM,UAAA,CAAA;;;uBAGVF,UAAU,KAAA,CAAA,GAAA,aAAA,eAAA,MAAA,CAAA,GAAA,qBAAA,WAAA,iBAAA,KAAA,CAAA;;iBAGHjB,aAAAA;EACbkB,UAAU;EACVD,UAAU;;cAEAE,MAAM,gBAAA,CAAA;;;;;iBAMHpB,kBAAAA,EAAoBmB,UAAU,UAAA,CAAA;cACjCC,MAAM,gBAAA,CAAA;;;uBAGVF,UAAU,KAAA,CAAA,GAAA,aAAA,eAAA,MAAA,CAAA,GAAA,qBAAA,WAAA,uBAAA,KAAA,CAAA;;iBAGHjB,aAAAA;EACbkB,UAAU;EACVD,UAAU;;cAEAE,MAAM,sBAAA,CAAA;;;8CAhEdA,MAAM,wBAAA,CAAA,GAAA,MAAA,CACR,iBAAiB,SAAA,GAAA,EAAcI,QAAQ,KAAA,CAAA,CAAA,GAAA,oBAAA"}
|
|
@@ -51,6 +51,7 @@ import { IdentityProviderRoleSubscriber } from "./domains/identity-provider-role
|
|
|
51
51
|
import { RobotEntity } from "./domains/robot/entity.mjs";
|
|
52
52
|
import { RobotSubscriber } from "./domains/robot/subscriber.mjs";
|
|
53
53
|
import { SessionEntity } from "./domains/session/entity.mjs";
|
|
54
|
+
import { SessionTokenEntity } from "./domains/session-token/entity.mjs";
|
|
54
55
|
import { PermissionPolicyEntity } from "./domains/permission-policy/entity.mjs";
|
|
55
56
|
import { RobotPermissionEntity } from "./domains/robot-permission/entity.mjs";
|
|
56
57
|
import { RobotPermissionSubscriber } from "./domains/robot-permission/subscriber.mjs";
|
|
@@ -70,4 +71,4 @@ import { DataSourceOptionsBuilder } from "./data-source/options/module.mjs";
|
|
|
70
71
|
import "./data-source/index.mjs";
|
|
71
72
|
import { DatabaseConflictError } from "./errors/conflict.mjs";
|
|
72
73
|
import "./errors/index.mjs";
|
|
73
|
-
export { CachePrefix, ClientEntity, ClientPermissionEntity, ClientPermissionSubscriber, ClientRoleEntity, ClientRoleSubscriber, ClientScopeEntity, ClientScopeSubscriber, ClientSubscriber, DataSourceOptionsBuilder, DatabaseConflictError, DatabaseQueryResultCache, EntitySubscriber, IdentityProviderAccountEntity, IdentityProviderAccountSubscriber, IdentityProviderAttributeEntity, IdentityProviderAttributeMappingEntity, IdentityProviderAttributeSubscriber, IdentityProviderEntity, IdentityProviderPermissionMappingEntity, IdentityProviderRepository, IdentityProviderRoleMappingEntity, IdentityProviderRoleSubscriber, IdentityProviderSubscriber, KeyEntity, PermissionEntity, PermissionPolicyEntity, PermissionSubscriber, PolicyAttributeEntity, PolicyAttributeSubscriber, PolicyEntity, PolicyRepository, PolicySubscriber, RealmEntity, RealmRepository, RealmSubscriber, RobotEntity, RobotPermissionEntity, RobotPermissionSubscriber, RobotRoleEntity, RobotRoleSubscriber, RobotSubscriber, RoleAttributeEntity, RoleAttributeSubscriber, RoleEntity, RolePermissionEntity, RolePermissionSubscriber, RoleRepository, RoleSubscriber, ScopeEntity, ScopeSubscriber, SessionEntity, UserAttributeEntity, UserAttributeSubscriber, UserEntity, UserPermissionEntity, UserPermissionSubscriber, UserRepository, UserRoleEntity, UserRoleSubscriber, UserSubscriber, buildEntityDestinations, dateToISOStringTransformer, isDatabaseTypeSupported, isDatabaseTypeSupportedForEnvironment };
|
|
74
|
+
export { CachePrefix, ClientEntity, ClientPermissionEntity, ClientPermissionSubscriber, ClientRoleEntity, ClientRoleSubscriber, ClientScopeEntity, ClientScopeSubscriber, ClientSubscriber, DataSourceOptionsBuilder, DatabaseConflictError, DatabaseQueryResultCache, EntitySubscriber, IdentityProviderAccountEntity, IdentityProviderAccountSubscriber, IdentityProviderAttributeEntity, IdentityProviderAttributeMappingEntity, IdentityProviderAttributeSubscriber, IdentityProviderEntity, IdentityProviderPermissionMappingEntity, IdentityProviderRepository, IdentityProviderRoleMappingEntity, IdentityProviderRoleSubscriber, IdentityProviderSubscriber, KeyEntity, PermissionEntity, PermissionPolicyEntity, PermissionSubscriber, PolicyAttributeEntity, PolicyAttributeSubscriber, PolicyEntity, PolicyRepository, PolicySubscriber, RealmEntity, RealmRepository, RealmSubscriber, RobotEntity, RobotPermissionEntity, RobotPermissionSubscriber, RobotRoleEntity, RobotRoleSubscriber, RobotSubscriber, RoleAttributeEntity, RoleAttributeSubscriber, RoleEntity, RolePermissionEntity, RolePermissionSubscriber, RoleRepository, RoleSubscriber, ScopeEntity, ScopeSubscriber, SessionEntity, SessionTokenEntity, UserAttributeEntity, UserAttributeSubscriber, UserEntity, UserPermissionEntity, UserPermissionSubscriber, UserRepository, UserRoleEntity, UserRoleSubscriber, UserSubscriber, buildEntityDestinations, dateToISOStringTransformer, isDatabaseTypeSupported, isDatabaseTypeSupportedForEnvironment };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { MigrationInterface, QueryRunner } from 'typeorm';
|
|
2
|
+
export declare class Default1779300000000 implements MigrationInterface {
|
|
3
|
+
name: string;
|
|
4
|
+
up(queryRunner: QueryRunner): Promise<void>;
|
|
5
|
+
down(queryRunner: QueryRunner): Promise<void>;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=1779300000000-Default.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"1779300000000-Default.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/database/migrations/mysql/1779300000000-Default.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AA4C/D,qBAAa,oBAAqB,YAAW,kBAAkB;IAC3D,IAAI,SAA0B;IAEjB,EAAE,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IA8C3C,IAAI,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;CAO7D"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import "node:path";
|
|
2
|
+
import "node:url";
|
|
3
|
+
import.meta.url;
|
|
4
|
+
//#region src/adapters/database/migrations/mysql/1779300000000-Default.ts
|
|
5
|
+
/**
|
|
6
|
+
* realm_scope enum on the four permission-junction tables (fail-closed realm scoping).
|
|
7
|
+
*
|
|
8
|
+
* Adds the coarse, actor-relative `realm_scope` column (default 'own') and migrates the
|
|
9
|
+
* realm-scoping that previously lived in policies into the column. The redundant system
|
|
10
|
+
* realm policies (`system.realm-match` child of `system.default`,
|
|
11
|
+
* `system.realm-bound`, `system.realm-or-global`) are deleted here as a deterministic
|
|
12
|
+
* safety net; the provisioner ALSO prunes them on boot (cleanupStaleChildren for the
|
|
13
|
+
* realm-match child + the top-level stale-prune), so a fresh install needs no migration.
|
|
14
|
+
*
|
|
15
|
+
* up() ordering is LOAD-BEARING: schema -> convert-by-policy-name -> lift-admin ->
|
|
16
|
+
* delete policy rows (the policy-name joins must resolve before the rows are deleted).
|
|
17
|
+
*
|
|
18
|
+
* BREAKING (existing data): only admin (-> any, matched by role name) and realm_admin
|
|
19
|
+
* (its realm-or-global / realm-bound junction policies -> ownOrNull / own) are converted.
|
|
20
|
+
* Every OTHER pre-existing grant with no realm policy keeps the 'own' default, so a custom
|
|
21
|
+
* role or a direct identity grant that previously reached global (realm_id = null) building
|
|
22
|
+
* blocks via the old system.realm-match baseline is now fail-closed to its own realm. Those
|
|
23
|
+
* grants must be re-widened to ownOrNull/any by hand: there is deliberately no automatic
|
|
24
|
+
* bump, because a policy-less grant that managed global resources is indistinguishable in
|
|
25
|
+
* the data from one that only ever acted on its own realm (auto-widening would fail open).
|
|
26
|
+
*
|
|
27
|
+
* down() is BEST-EFFORT and NOT a true inverse: it drops the column only. The deleted
|
|
28
|
+
* system policies and the nulled junction policy_id pointers are NOT reconstructed, and
|
|
29
|
+
* boot re-provisioning does NOT repair them either -- the junction synchronizer is
|
|
30
|
+
* create-only (it never rewrites realm_scope/policy_id on an already-existing row). So a
|
|
31
|
+
* revert (or revert + re-run) on a POPULATED database permanently pins realm_admin and any
|
|
32
|
+
* converted grant to the fail-closed 'own' default until fixed by hand; a forward-only
|
|
33
|
+
* upgrade is unaffected.
|
|
34
|
+
*/ const JUNCTION_TABLES = [
|
|
35
|
+
"auth_role_permissions",
|
|
36
|
+
"auth_user_permissions",
|
|
37
|
+
"auth_client_permissions",
|
|
38
|
+
"auth_robot_permissions"
|
|
39
|
+
];
|
|
40
|
+
const SCOPE_BY_POLICY = [{
|
|
41
|
+
policy: "system.realm-or-global",
|
|
42
|
+
scope: "ownOrNull"
|
|
43
|
+
}, {
|
|
44
|
+
policy: "system.realm-bound",
|
|
45
|
+
scope: "own"
|
|
46
|
+
}];
|
|
47
|
+
var Default1779300000000 = class {
|
|
48
|
+
name = "Default1779300000000";
|
|
49
|
+
async up(queryRunner) {
|
|
50
|
+
for (const table of JUNCTION_TABLES) await queryRunner.query(`
|
|
51
|
+
ALTER TABLE \`${table}\`
|
|
52
|
+
ADD \`realm_scope\` varchar(50) NOT NULL DEFAULT 'own'
|
|
53
|
+
`);
|
|
54
|
+
for (const table of JUNCTION_TABLES) for (const { policy, scope } of SCOPE_BY_POLICY) await queryRunner.query(`
|
|
55
|
+
UPDATE \`${table}\` rp
|
|
56
|
+
JOIN \`auth_policies\` p ON rp.\`policy_id\` = p.\`id\`
|
|
57
|
+
SET rp.\`realm_scope\` = '${scope}', rp.\`policy_id\` = NULL
|
|
58
|
+
WHERE p.\`name\` = '${policy}'
|
|
59
|
+
AND p.\`built_in\` = 1
|
|
60
|
+
AND p.\`realm_id\` IS NULL
|
|
61
|
+
`);
|
|
62
|
+
await queryRunner.query(`
|
|
63
|
+
UPDATE \`auth_role_permissions\` rp
|
|
64
|
+
JOIN \`auth_roles\` r ON rp.\`role_id\` = r.\`id\`
|
|
65
|
+
SET rp.\`realm_scope\` = 'any'
|
|
66
|
+
WHERE r.\`name\` = 'admin'
|
|
67
|
+
AND r.\`built_in\` = 1
|
|
68
|
+
`);
|
|
69
|
+
await queryRunner.query(`
|
|
70
|
+
DELETE FROM \`auth_policies\`
|
|
71
|
+
WHERE \`name\` IN ('system.realm-match', 'system.realm-bound', 'system.realm-or-global')
|
|
72
|
+
AND \`built_in\` = 1
|
|
73
|
+
AND \`realm_id\` IS NULL
|
|
74
|
+
`);
|
|
75
|
+
}
|
|
76
|
+
async down(queryRunner) {
|
|
77
|
+
for (const table of JUNCTION_TABLES) await queryRunner.query(`
|
|
78
|
+
ALTER TABLE \`${table}\` DROP COLUMN \`realm_scope\`
|
|
79
|
+
`);
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
//#endregion
|
|
83
|
+
export { Default1779300000000 };
|
|
84
|
+
|
|
85
|
+
//# sourceMappingURL=1779300000000-Default.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"1779300000000-Default.mjs","names":["JUNCTION_TABLES","SCOPE_BY_POLICY","policy","scope","Default1779300000000","name","up","queryRunner","table","query","down"],"sources":["../../../../../src/adapters/database/migrations/mysql/1779300000000-Default.ts"],"sourcesContent":["import type { MigrationInterface, QueryRunner } from 'typeorm';\n\n/**\n * realm_scope enum on the four permission-junction tables (fail-closed realm scoping).\n *\n * Adds the coarse, actor-relative `realm_scope` column (default 'own') and migrates the\n * realm-scoping that previously lived in policies into the column. The redundant system\n * realm policies (`system.realm-match` child of `system.default`,\n * `system.realm-bound`, `system.realm-or-global`) are deleted here as a deterministic\n * safety net; the provisioner ALSO prunes them on boot (cleanupStaleChildren for the\n * realm-match child + the top-level stale-prune), so a fresh install needs no migration.\n *\n * up() ordering is LOAD-BEARING: schema -> convert-by-policy-name -> lift-admin ->\n * delete policy rows (the policy-name joins must resolve before the rows are deleted).\n *\n * BREAKING (existing data): only admin (-> any, matched by role name) and realm_admin\n * (its realm-or-global / realm-bound junction policies -> ownOrNull / own) are converted.\n * Every OTHER pre-existing grant with no realm policy keeps the 'own' default, so a custom\n * role or a direct identity grant that previously reached global (realm_id = null) building\n * blocks via the old system.realm-match baseline is now fail-closed to its own realm. Those\n * grants must be re-widened to ownOrNull/any by hand: there is deliberately no automatic\n * bump, because a policy-less grant that managed global resources is indistinguishable in\n * the data from one that only ever acted on its own realm (auto-widening would fail open).\n *\n * down() is BEST-EFFORT and NOT a true inverse: it drops the column only. The deleted\n * system policies and the nulled junction policy_id pointers are NOT reconstructed, and\n * boot re-provisioning does NOT repair them either -- the junction synchronizer is\n * create-only (it never rewrites realm_scope/policy_id on an already-existing row). So a\n * revert (or revert + re-run) on a POPULATED database permanently pins realm_admin and any\n * converted grant to the fail-closed 'own' default until fixed by hand; a forward-only\n * upgrade is unaffected.\n */\nconst JUNCTION_TABLES = [\n 'auth_role_permissions',\n 'auth_user_permissions',\n 'auth_client_permissions',\n 'auth_robot_permissions',\n];\n\nconst SCOPE_BY_POLICY: { policy: string, scope: string }[] = [\n { policy: 'system.realm-or-global', scope: 'ownOrNull' },\n { policy: 'system.realm-bound', scope: 'own' },\n];\n\nexport class Default1779300000000 implements MigrationInterface {\n name = 'Default1779300000000';\n\n public async up(queryRunner: QueryRunner): Promise<void> {\n // 1. schema\n for (const table of JUNCTION_TABLES) {\n await queryRunner.query(`\n ALTER TABLE \\`${table}\\`\n ADD \\`realm_scope\\` varchar(50) NOT NULL DEFAULT 'own'\n `);\n }\n\n // 2. convert the realm-scoping policies into the enum (clearing only those\n // policy_id pointers; non-realm policies are preserved).\n for (const table of JUNCTION_TABLES) {\n for (const { policy, scope } of SCOPE_BY_POLICY) {\n await queryRunner.query(`\n UPDATE \\`${table}\\` rp\n JOIN \\`auth_policies\\` p ON rp.\\`policy_id\\` = p.\\`id\\`\n SET rp.\\`realm_scope\\` = '${scope}', rp.\\`policy_id\\` = NULL\n WHERE p.\\`name\\` = '${policy}'\n AND p.\\`built_in\\` = 1\n AND p.\\`realm_id\\` IS NULL\n `);\n }\n }\n\n // 3. lift admin-role grants to unrestricted (admin grants carry no policy, so\n // they are unreachable by the policy join above — join by role name instead).\n await queryRunner.query(`\n UPDATE \\`auth_role_permissions\\` rp\n JOIN \\`auth_roles\\` r ON rp.\\`role_id\\` = r.\\`id\\`\n SET rp.\\`realm_scope\\` = 'any'\n WHERE r.\\`name\\` = 'admin'\n AND r.\\`built_in\\` = 1\n `);\n\n // 4. delete the three now-redundant system realm policies (by exact name —\n // never by type, which would wipe user-defined realm-match policies).\n // A cascading closure-tree FK detaches the realm-match child from\n // system.default; the provisioner re-prunes idempotently on boot.\n await queryRunner.query(`\n DELETE FROM \\`auth_policies\\`\n WHERE \\`name\\` IN ('system.realm-match', 'system.realm-bound', 'system.realm-or-global')\n AND \\`built_in\\` = 1\n AND \\`realm_id\\` IS NULL\n `);\n }\n\n public async down(queryRunner: QueryRunner): Promise<void> {\n for (const table of JUNCTION_TABLES) {\n await queryRunner.query(`\n ALTER TABLE \\`${table}\\` DROP COLUMN \\`realm_scope\\`\n `);\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCA,MAAMA,kBAAkB;CACpB;CACA;CACA;CACA;;AAGJ,MAAMC,kBAAuD,CACzD;CAAEC,QAAQ;CAA0BC,OAAO;AAAY,GACvD;CAAED,QAAQ;CAAsBC,OAAO;AAAM,CAAA;AAGjD,IAAaC,uBAAb,MAAaA;CACTC,OAAO;CAEP,MAAaC,GAAGC,aAAyC;EAErD,KAAK,MAAMC,SAASR,iBAChB,MAAMO,YAAYE,MAAM;gCACJD,MAAM;;aAEzB;EAKL,KAAK,MAAMA,SAASR,iBAChB,KAAK,MAAM,EAAEE,QAAQC,WAAWF,iBAC5B,MAAMM,YAAYE,MAAM;+BACTD,MAAM;;gDAEWL,MAAM;0CACZD,OAAO;;;iBAGhC;EAMT,MAAMK,YAAYE,MAAM;;;;;;SAMvB;EAMD,MAAMF,YAAYE,MAAM;;;;;SAKvB;CACL;CAEA,MAAaC,KAAKH,aAAyC;EACvD,KAAK,MAAMC,SAASR,iBAChB,MAAMO,YAAYE,MAAM;gCACJD,MAAM;aACzB;CAET;AACJ"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { MigrationInterface, QueryRunner } from 'typeorm';
|
|
2
|
+
/**
|
|
3
|
+
* Refresh token rotation + replay detection (plan 016).
|
|
4
|
+
*
|
|
5
|
+
* - Widens auth_sessions.ip_address 15 -> 45 (IPv6-sized; the old length was
|
|
6
|
+
* IPv4-only, a latent truncation bug).
|
|
7
|
+
* - Adds auth_session_tokens: one durable row per issued access/refresh token,
|
|
8
|
+
* FK to auth_sessions (ON DELETE CASCADE). The row is the authority for
|
|
9
|
+
* refresh-token validity (consume/replay/revoke); the cache stays the
|
|
10
|
+
* verification fast-path.
|
|
11
|
+
*
|
|
12
|
+
* BREAKING: at deploy the table is empty, so every in-flight refresh token has
|
|
13
|
+
* no row and its first refresh returns invalid_grant — active users
|
|
14
|
+
* re-authenticate once (hard cutover, RT horizon 3 days).
|
|
15
|
+
*
|
|
16
|
+
* down() narrows ip_address back to 15, which fails if any IPv6 value was
|
|
17
|
+
* stored (best-effort, per the 1779300000000 precedent).
|
|
18
|
+
*
|
|
19
|
+
* Also adds auth_clients.post_logout_redirect_uri (plan 042) — a dedicated
|
|
20
|
+
* OIDC RP-Initiated Logout allow-list, no longer conflated with redirect_uri.
|
|
21
|
+
* Folded into this still-unreleased migration rather than a new file.
|
|
22
|
+
*/
|
|
23
|
+
export declare class Default1783325495597 implements MigrationInterface {
|
|
24
|
+
name: string;
|
|
25
|
+
up(queryRunner: QueryRunner): Promise<void>;
|
|
26
|
+
down(queryRunner: QueryRunner): Promise<void>;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=1783325495597-Default.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"1783325495597-Default.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/database/migrations/mysql/1783325495597-Default.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE/D;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,oBAAqB,YAAW,kBAAkB;IAC3D,IAAI,SAA0B;IAEjB,EAAE,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAqC3C,IAAI,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;CAyB7D"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import "node:path";
|
|
2
|
+
import "node:url";
|
|
3
|
+
import.meta.url;
|
|
4
|
+
//#region src/adapters/database/migrations/mysql/1783325495597-Default.ts
|
|
5
|
+
/**
|
|
6
|
+
* Refresh token rotation + replay detection (plan 016).
|
|
7
|
+
*
|
|
8
|
+
* - Widens auth_sessions.ip_address 15 -> 45 (IPv6-sized; the old length was
|
|
9
|
+
* IPv4-only, a latent truncation bug).
|
|
10
|
+
* - Adds auth_session_tokens: one durable row per issued access/refresh token,
|
|
11
|
+
* FK to auth_sessions (ON DELETE CASCADE). The row is the authority for
|
|
12
|
+
* refresh-token validity (consume/replay/revoke); the cache stays the
|
|
13
|
+
* verification fast-path.
|
|
14
|
+
*
|
|
15
|
+
* BREAKING: at deploy the table is empty, so every in-flight refresh token has
|
|
16
|
+
* no row and its first refresh returns invalid_grant — active users
|
|
17
|
+
* re-authenticate once (hard cutover, RT horizon 3 days).
|
|
18
|
+
*
|
|
19
|
+
* down() narrows ip_address back to 15, which fails if any IPv6 value was
|
|
20
|
+
* stored (best-effort, per the 1779300000000 precedent).
|
|
21
|
+
*
|
|
22
|
+
* Also adds auth_clients.post_logout_redirect_uri (plan 042) — a dedicated
|
|
23
|
+
* OIDC RP-Initiated Logout allow-list, no longer conflated with redirect_uri.
|
|
24
|
+
* Folded into this still-unreleased migration rather than a new file.
|
|
25
|
+
*/ var Default1783325495597 = class {
|
|
26
|
+
name = "Default1783325495597";
|
|
27
|
+
async up(queryRunner) {
|
|
28
|
+
await queryRunner.query(`
|
|
29
|
+
ALTER TABLE \`auth_sessions\` MODIFY \`ip_address\` varchar(45) NOT NULL
|
|
30
|
+
`);
|
|
31
|
+
await queryRunner.query(`
|
|
32
|
+
CREATE TABLE \`auth_session_tokens\` (
|
|
33
|
+
\`id\` varchar(36) NOT NULL,
|
|
34
|
+
\`session_id\` varchar(36) NOT NULL,
|
|
35
|
+
\`kind\` varchar(16) NOT NULL,
|
|
36
|
+
\`parent_id\` varchar(36) NULL,
|
|
37
|
+
\`refresh_token_id\` varchar(36) NULL,
|
|
38
|
+
\`ip_address\` varchar(45) NOT NULL,
|
|
39
|
+
\`user_agent\` varchar(512) NOT NULL,
|
|
40
|
+
\`consumed_at\` varchar(28) NULL,
|
|
41
|
+
\`revoked_at\` varchar(28) NULL,
|
|
42
|
+
\`expires_at\` varchar(28) NOT NULL,
|
|
43
|
+
\`created_at\` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
|
|
44
|
+
INDEX \`IDX_auth_session_tokens_session_id\` (\`session_id\`),
|
|
45
|
+
INDEX \`IDX_auth_session_tokens_kind\` (\`kind\`),
|
|
46
|
+
INDEX \`IDX_auth_session_tokens_expires_at\` (\`expires_at\`),
|
|
47
|
+
PRIMARY KEY (\`id\`)
|
|
48
|
+
) ENGINE = InnoDB
|
|
49
|
+
`);
|
|
50
|
+
await queryRunner.query(`
|
|
51
|
+
ALTER TABLE \`auth_session_tokens\`
|
|
52
|
+
ADD CONSTRAINT \`FK_auth_session_tokens_session_id\` FOREIGN KEY (\`session_id\`) REFERENCES \`auth_sessions\`(\`id\`) ON DELETE CASCADE ON UPDATE NO ACTION
|
|
53
|
+
`);
|
|
54
|
+
await queryRunner.query(`
|
|
55
|
+
ALTER TABLE \`auth_clients\` ADD \`post_logout_redirect_uri\` text NULL
|
|
56
|
+
`);
|
|
57
|
+
}
|
|
58
|
+
async down(queryRunner) {
|
|
59
|
+
await queryRunner.query(`
|
|
60
|
+
ALTER TABLE \`auth_clients\` DROP COLUMN \`post_logout_redirect_uri\`
|
|
61
|
+
`);
|
|
62
|
+
await queryRunner.query(`
|
|
63
|
+
ALTER TABLE \`auth_session_tokens\` DROP FOREIGN KEY \`FK_auth_session_tokens_session_id\`
|
|
64
|
+
`);
|
|
65
|
+
await queryRunner.query(`
|
|
66
|
+
DROP INDEX \`IDX_auth_session_tokens_expires_at\` ON \`auth_session_tokens\`
|
|
67
|
+
`);
|
|
68
|
+
await queryRunner.query(`
|
|
69
|
+
DROP INDEX \`IDX_auth_session_tokens_kind\` ON \`auth_session_tokens\`
|
|
70
|
+
`);
|
|
71
|
+
await queryRunner.query(`
|
|
72
|
+
DROP INDEX \`IDX_auth_session_tokens_session_id\` ON \`auth_session_tokens\`
|
|
73
|
+
`);
|
|
74
|
+
await queryRunner.query(`
|
|
75
|
+
DROP TABLE \`auth_session_tokens\`
|
|
76
|
+
`);
|
|
77
|
+
await queryRunner.query(`
|
|
78
|
+
ALTER TABLE \`auth_sessions\` MODIFY \`ip_address\` varchar(15) NOT NULL
|
|
79
|
+
`);
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
//#endregion
|
|
83
|
+
export { Default1783325495597 };
|
|
84
|
+
|
|
85
|
+
//# sourceMappingURL=1783325495597-Default.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"1783325495597-Default.mjs","names":["Default1783325495597","name","up","queryRunner","query","down"],"sources":["../../../../../src/adapters/database/migrations/mysql/1783325495597-Default.ts"],"sourcesContent":["import type { MigrationInterface, QueryRunner } from 'typeorm';\n\n/**\n * Refresh token rotation + replay detection (plan 016).\n *\n * - Widens auth_sessions.ip_address 15 -> 45 (IPv6-sized; the old length was\n * IPv4-only, a latent truncation bug).\n * - Adds auth_session_tokens: one durable row per issued access/refresh token,\n * FK to auth_sessions (ON DELETE CASCADE). The row is the authority for\n * refresh-token validity (consume/replay/revoke); the cache stays the\n * verification fast-path.\n *\n * BREAKING: at deploy the table is empty, so every in-flight refresh token has\n * no row and its first refresh returns invalid_grant — active users\n * re-authenticate once (hard cutover, RT horizon 3 days).\n *\n * down() narrows ip_address back to 15, which fails if any IPv6 value was\n * stored (best-effort, per the 1779300000000 precedent).\n *\n * Also adds auth_clients.post_logout_redirect_uri (plan 042) — a dedicated\n * OIDC RP-Initiated Logout allow-list, no longer conflated with redirect_uri.\n * Folded into this still-unreleased migration rather than a new file.\n */\nexport class Default1783325495597 implements MigrationInterface {\n name = 'Default1783325495597';\n\n public async up(queryRunner: QueryRunner): Promise<void> {\n await queryRunner.query(`\n ALTER TABLE \\`auth_sessions\\` MODIFY \\`ip_address\\` varchar(45) NOT NULL\n `);\n\n await queryRunner.query(`\n CREATE TABLE \\`auth_session_tokens\\` (\n \\`id\\` varchar(36) NOT NULL,\n \\`session_id\\` varchar(36) NOT NULL,\n \\`kind\\` varchar(16) NOT NULL,\n \\`parent_id\\` varchar(36) NULL,\n \\`refresh_token_id\\` varchar(36) NULL,\n \\`ip_address\\` varchar(45) NOT NULL,\n \\`user_agent\\` varchar(512) NOT NULL,\n \\`consumed_at\\` varchar(28) NULL,\n \\`revoked_at\\` varchar(28) NULL,\n \\`expires_at\\` varchar(28) NOT NULL,\n \\`created_at\\` datetime(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),\n INDEX \\`IDX_auth_session_tokens_session_id\\` (\\`session_id\\`),\n INDEX \\`IDX_auth_session_tokens_kind\\` (\\`kind\\`),\n INDEX \\`IDX_auth_session_tokens_expires_at\\` (\\`expires_at\\`),\n PRIMARY KEY (\\`id\\`)\n ) ENGINE = InnoDB\n `);\n\n await queryRunner.query(`\n ALTER TABLE \\`auth_session_tokens\\`\n ADD CONSTRAINT \\`FK_auth_session_tokens_session_id\\` FOREIGN KEY (\\`session_id\\`) REFERENCES \\`auth_sessions\\`(\\`id\\`) ON DELETE CASCADE ON UPDATE NO ACTION\n `);\n\n // Dedicated post-logout redirect allow-list for OIDC RP-Initiated\n // Logout (plan 042) — no longer conflated with the login redirect_uri.\n await queryRunner.query(`\n ALTER TABLE \\`auth_clients\\` ADD \\`post_logout_redirect_uri\\` text NULL\n `);\n }\n\n public async down(queryRunner: QueryRunner): Promise<void> {\n await queryRunner.query(`\n ALTER TABLE \\`auth_clients\\` DROP COLUMN \\`post_logout_redirect_uri\\`\n `);\n\n await queryRunner.query(`\n ALTER TABLE \\`auth_session_tokens\\` DROP FOREIGN KEY \\`FK_auth_session_tokens_session_id\\`\n `);\n await queryRunner.query(`\n DROP INDEX \\`IDX_auth_session_tokens_expires_at\\` ON \\`auth_session_tokens\\`\n `);\n await queryRunner.query(`\n DROP INDEX \\`IDX_auth_session_tokens_kind\\` ON \\`auth_session_tokens\\`\n `);\n await queryRunner.query(`\n DROP INDEX \\`IDX_auth_session_tokens_session_id\\` ON \\`auth_session_tokens\\`\n `);\n await queryRunner.query(`\n DROP TABLE \\`auth_session_tokens\\`\n `);\n\n await queryRunner.query(`\n ALTER TABLE \\`auth_sessions\\` MODIFY \\`ip_address\\` varchar(15) NOT NULL\n `);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;GAuBA,IAAaA,uBAAb,MAAaA;CACTC,OAAO;CAEP,MAAaC,GAAGC,aAAyC;EACrD,MAAMA,YAAYC,MAAM;;SAEvB;EAED,MAAMD,YAAYC,MAAM;;;;;;;;;;;;;;;;;;SAkBvB;EAED,MAAMD,YAAYC,MAAM;;;SAGvB;EAID,MAAMD,YAAYC,MAAM;;SAEvB;CACL;CAEA,MAAaC,KAAKF,aAAyC;EACvD,MAAMA,YAAYC,MAAM;;SAEvB;EAED,MAAMD,YAAYC,MAAM;;SAEvB;EACD,MAAMD,YAAYC,MAAM;;SAEvB;EACD,MAAMD,YAAYC,MAAM;;SAEvB;EACD,MAAMD,YAAYC,MAAM;;SAEvB;EACD,MAAMD,YAAYC,MAAM;;SAEvB;EAED,MAAMD,YAAYC,MAAM;;SAEvB;CACL;AACJ"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { MigrationInterface, QueryRunner } from 'typeorm';
|
|
2
|
+
export declare class Default1779300000000 implements MigrationInterface {
|
|
3
|
+
name: string;
|
|
4
|
+
up(queryRunner: QueryRunner): Promise<void>;
|
|
5
|
+
down(queryRunner: QueryRunner): Promise<void>;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=1779300000000-Default.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"1779300000000-Default.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/database/migrations/postgres/1779300000000-Default.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AA4C/D,qBAAa,oBAAqB,YAAW,kBAAkB;IAC3D,IAAI,SAA0B;IAEjB,EAAE,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAgD3C,IAAI,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;CAO7D"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import "node:path";
|
|
2
|
+
import "node:url";
|
|
3
|
+
import.meta.url;
|
|
4
|
+
//#region src/adapters/database/migrations/postgres/1779300000000-Default.ts
|
|
5
|
+
/**
|
|
6
|
+
* realm_scope enum on the four permission-junction tables (fail-closed realm scoping).
|
|
7
|
+
*
|
|
8
|
+
* Adds the coarse, actor-relative `realm_scope` column (default 'own') and migrates the
|
|
9
|
+
* realm-scoping that previously lived in policies into the column. The redundant system
|
|
10
|
+
* realm policies (`system.realm-match` child of `system.default`,
|
|
11
|
+
* `system.realm-bound`, `system.realm-or-global`) are deleted here as a deterministic
|
|
12
|
+
* safety net; the provisioner ALSO prunes them on boot (cleanupStaleChildren for the
|
|
13
|
+
* realm-match child + the top-level stale-prune), so a fresh install needs no migration.
|
|
14
|
+
*
|
|
15
|
+
* up() ordering is LOAD-BEARING: schema -> convert-by-policy-name -> lift-admin ->
|
|
16
|
+
* delete policy rows (the policy-name joins must resolve before the rows are deleted).
|
|
17
|
+
*
|
|
18
|
+
* BREAKING (existing data): only admin (-> any, matched by role name) and realm_admin
|
|
19
|
+
* (its realm-or-global / realm-bound junction policies -> ownOrNull / own) are converted.
|
|
20
|
+
* Every OTHER pre-existing grant with no realm policy keeps the 'own' default, so a custom
|
|
21
|
+
* role or a direct identity grant that previously reached global (realm_id = null) building
|
|
22
|
+
* blocks via the old system.realm-match baseline is now fail-closed to its own realm. Those
|
|
23
|
+
* grants must be re-widened to ownOrNull/any by hand: there is deliberately no automatic
|
|
24
|
+
* bump, because a policy-less grant that managed global resources is indistinguishable in
|
|
25
|
+
* the data from one that only ever acted on its own realm (auto-widening would fail open).
|
|
26
|
+
*
|
|
27
|
+
* down() is BEST-EFFORT and NOT a true inverse: it drops the column only. The deleted
|
|
28
|
+
* system policies and the nulled junction policy_id pointers are NOT reconstructed, and
|
|
29
|
+
* boot re-provisioning does NOT repair them either -- the junction synchronizer is
|
|
30
|
+
* create-only (it never rewrites realm_scope/policy_id on an already-existing row). So a
|
|
31
|
+
* revert (or revert + re-run) on a POPULATED database permanently pins realm_admin and any
|
|
32
|
+
* converted grant to the fail-closed 'own' default until fixed by hand; a forward-only
|
|
33
|
+
* upgrade is unaffected.
|
|
34
|
+
*/ const JUNCTION_TABLES = [
|
|
35
|
+
"auth_role_permissions",
|
|
36
|
+
"auth_user_permissions",
|
|
37
|
+
"auth_client_permissions",
|
|
38
|
+
"auth_robot_permissions"
|
|
39
|
+
];
|
|
40
|
+
const SCOPE_BY_POLICY = [{
|
|
41
|
+
policy: "system.realm-or-global",
|
|
42
|
+
scope: "ownOrNull"
|
|
43
|
+
}, {
|
|
44
|
+
policy: "system.realm-bound",
|
|
45
|
+
scope: "own"
|
|
46
|
+
}];
|
|
47
|
+
var Default1779300000000 = class {
|
|
48
|
+
name = "Default1779300000000";
|
|
49
|
+
async up(queryRunner) {
|
|
50
|
+
for (const table of JUNCTION_TABLES) await queryRunner.query(`
|
|
51
|
+
ALTER TABLE "${table}"
|
|
52
|
+
ADD "realm_scope" character varying(50) NOT NULL DEFAULT 'own'
|
|
53
|
+
`);
|
|
54
|
+
for (const table of JUNCTION_TABLES) for (const { policy, scope } of SCOPE_BY_POLICY) await queryRunner.query(`
|
|
55
|
+
UPDATE "${table}" rp
|
|
56
|
+
SET "realm_scope" = '${scope}', "policy_id" = NULL
|
|
57
|
+
FROM "auth_policies" p
|
|
58
|
+
WHERE rp."policy_id" = p."id"
|
|
59
|
+
AND p."name" = '${policy}'
|
|
60
|
+
AND p."built_in" = true
|
|
61
|
+
AND p."realm_id" IS NULL
|
|
62
|
+
`);
|
|
63
|
+
await queryRunner.query(`
|
|
64
|
+
UPDATE "auth_role_permissions" rp
|
|
65
|
+
SET "realm_scope" = 'any'
|
|
66
|
+
FROM "auth_roles" r
|
|
67
|
+
WHERE rp."role_id" = r."id"
|
|
68
|
+
AND r."name" = 'admin'
|
|
69
|
+
AND r."built_in" = true
|
|
70
|
+
`);
|
|
71
|
+
await queryRunner.query(`
|
|
72
|
+
DELETE FROM "auth_policies"
|
|
73
|
+
WHERE "name" IN ('system.realm-match', 'system.realm-bound', 'system.realm-or-global')
|
|
74
|
+
AND "built_in" = true
|
|
75
|
+
AND "realm_id" IS NULL
|
|
76
|
+
`);
|
|
77
|
+
}
|
|
78
|
+
async down(queryRunner) {
|
|
79
|
+
for (const table of JUNCTION_TABLES) await queryRunner.query(`
|
|
80
|
+
ALTER TABLE "${table}" DROP COLUMN "realm_scope"
|
|
81
|
+
`);
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
//#endregion
|
|
85
|
+
export { Default1779300000000 };
|
|
86
|
+
|
|
87
|
+
//# sourceMappingURL=1779300000000-Default.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"1779300000000-Default.mjs","names":["JUNCTION_TABLES","SCOPE_BY_POLICY","policy","scope","Default1779300000000","name","up","queryRunner","table","query","down"],"sources":["../../../../../src/adapters/database/migrations/postgres/1779300000000-Default.ts"],"sourcesContent":["import type { MigrationInterface, QueryRunner } from 'typeorm';\n\n/**\n * realm_scope enum on the four permission-junction tables (fail-closed realm scoping).\n *\n * Adds the coarse, actor-relative `realm_scope` column (default 'own') and migrates the\n * realm-scoping that previously lived in policies into the column. The redundant system\n * realm policies (`system.realm-match` child of `system.default`,\n * `system.realm-bound`, `system.realm-or-global`) are deleted here as a deterministic\n * safety net; the provisioner ALSO prunes them on boot (cleanupStaleChildren for the\n * realm-match child + the top-level stale-prune), so a fresh install needs no migration.\n *\n * up() ordering is LOAD-BEARING: schema -> convert-by-policy-name -> lift-admin ->\n * delete policy rows (the policy-name joins must resolve before the rows are deleted).\n *\n * BREAKING (existing data): only admin (-> any, matched by role name) and realm_admin\n * (its realm-or-global / realm-bound junction policies -> ownOrNull / own) are converted.\n * Every OTHER pre-existing grant with no realm policy keeps the 'own' default, so a custom\n * role or a direct identity grant that previously reached global (realm_id = null) building\n * blocks via the old system.realm-match baseline is now fail-closed to its own realm. Those\n * grants must be re-widened to ownOrNull/any by hand: there is deliberately no automatic\n * bump, because a policy-less grant that managed global resources is indistinguishable in\n * the data from one that only ever acted on its own realm (auto-widening would fail open).\n *\n * down() is BEST-EFFORT and NOT a true inverse: it drops the column only. The deleted\n * system policies and the nulled junction policy_id pointers are NOT reconstructed, and\n * boot re-provisioning does NOT repair them either -- the junction synchronizer is\n * create-only (it never rewrites realm_scope/policy_id on an already-existing row). So a\n * revert (or revert + re-run) on a POPULATED database permanently pins realm_admin and any\n * converted grant to the fail-closed 'own' default until fixed by hand; a forward-only\n * upgrade is unaffected.\n */\nconst JUNCTION_TABLES = [\n 'auth_role_permissions',\n 'auth_user_permissions',\n 'auth_client_permissions',\n 'auth_robot_permissions',\n];\n\nconst SCOPE_BY_POLICY: { policy: string, scope: string }[] = [\n { policy: 'system.realm-or-global', scope: 'ownOrNull' },\n { policy: 'system.realm-bound', scope: 'own' },\n];\n\nexport class Default1779300000000 implements MigrationInterface {\n name = 'Default1779300000000';\n\n public async up(queryRunner: QueryRunner): Promise<void> {\n // 1. schema\n for (const table of JUNCTION_TABLES) {\n await queryRunner.query(`\n ALTER TABLE \"${table}\"\n ADD \"realm_scope\" character varying(50) NOT NULL DEFAULT 'own'\n `);\n }\n\n // 2. convert the realm-scoping policies into the enum (clearing only those\n // policy_id pointers; non-realm policies are preserved).\n for (const table of JUNCTION_TABLES) {\n for (const { policy, scope } of SCOPE_BY_POLICY) {\n await queryRunner.query(`\n UPDATE \"${table}\" rp\n SET \"realm_scope\" = '${scope}', \"policy_id\" = NULL\n FROM \"auth_policies\" p\n WHERE rp.\"policy_id\" = p.\"id\"\n AND p.\"name\" = '${policy}'\n AND p.\"built_in\" = true\n AND p.\"realm_id\" IS NULL\n `);\n }\n }\n\n // 3. lift admin-role grants to unrestricted (admin grants carry no policy, so\n // they are unreachable by the policy join above — join by role name instead).\n await queryRunner.query(`\n UPDATE \"auth_role_permissions\" rp\n SET \"realm_scope\" = 'any'\n FROM \"auth_roles\" r\n WHERE rp.\"role_id\" = r.\"id\"\n AND r.\"name\" = 'admin'\n AND r.\"built_in\" = true\n `);\n\n // 4. delete the three now-redundant system realm policies (by exact name —\n // never by type, which would wipe user-defined realm-match policies).\n // A cascading closure-tree FK detaches the realm-match child from\n // system.default; the provisioner re-prunes idempotently on boot.\n await queryRunner.query(`\n DELETE FROM \"auth_policies\"\n WHERE \"name\" IN ('system.realm-match', 'system.realm-bound', 'system.realm-or-global')\n AND \"built_in\" = true\n AND \"realm_id\" IS NULL\n `);\n }\n\n public async down(queryRunner: QueryRunner): Promise<void> {\n for (const table of JUNCTION_TABLES) {\n await queryRunner.query(`\n ALTER TABLE \"${table}\" DROP COLUMN \"realm_scope\"\n `);\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCA,MAAMA,kBAAkB;CACpB;CACA;CACA;CACA;;AAGJ,MAAMC,kBAAuD,CACzD;CAAEC,QAAQ;CAA0BC,OAAO;AAAY,GACvD;CAAED,QAAQ;CAAsBC,OAAO;AAAM,CAAA;AAGjD,IAAaC,uBAAb,MAAaA;CACTC,OAAO;CAEP,MAAaC,GAAGC,aAAyC;EAErD,KAAK,MAAMC,SAASR,iBAChB,MAAMO,YAAYE,MAAM;+BACLD,MAAM;;aAExB;EAKL,KAAK,MAAMA,SAASR,iBAChB,KAAK,MAAM,EAAEE,QAAQC,WAAWF,iBAC5B,MAAMM,YAAYE,MAAM;8BACVD,MAAM;2CACOL,MAAM;;;wCAGTD,OAAO;;;iBAG9B;EAMT,MAAMK,YAAYE,MAAM;;;;;;;SAOvB;EAMD,MAAMF,YAAYE,MAAM;;;;;SAKvB;CACL;CAEA,MAAaC,KAAKH,aAAyC;EACvD,KAAK,MAAMC,SAASR,iBAChB,MAAMO,YAAYE,MAAM;+BACLD,MAAM;aACxB;CAET;AACJ"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { MigrationInterface, QueryRunner } from 'typeorm';
|
|
2
|
+
/**
|
|
3
|
+
* Refresh token rotation + replay detection (plan 016).
|
|
4
|
+
*
|
|
5
|
+
* - Widens auth_sessions.ip_address 15 -> 45 (IPv6-sized; the old length was
|
|
6
|
+
* IPv4-only, a latent truncation bug).
|
|
7
|
+
* - Adds auth_session_tokens: one durable row per issued access/refresh token,
|
|
8
|
+
* FK to auth_sessions (ON DELETE CASCADE). The row is the authority for
|
|
9
|
+
* refresh-token validity (consume/replay/revoke); the cache stays the
|
|
10
|
+
* verification fast-path.
|
|
11
|
+
*
|
|
12
|
+
* BREAKING: at deploy the table is empty, so every in-flight refresh token has
|
|
13
|
+
* no row and its first refresh returns invalid_grant — active users
|
|
14
|
+
* re-authenticate once (hard cutover, RT horizon 3 days).
|
|
15
|
+
*
|
|
16
|
+
* down() narrows ip_address back to 15, which fails if any IPv6 value was
|
|
17
|
+
* stored (best-effort, per the 1779300000000 precedent).
|
|
18
|
+
*
|
|
19
|
+
* Also adds auth_clients.post_logout_redirect_uri (plan 042) — a dedicated
|
|
20
|
+
* OIDC RP-Initiated Logout allow-list, no longer conflated with redirect_uri.
|
|
21
|
+
* Folded into this still-unreleased migration rather than a new file.
|
|
22
|
+
*/
|
|
23
|
+
export declare class Default1783325495597 implements MigrationInterface {
|
|
24
|
+
name: string;
|
|
25
|
+
up(queryRunner: QueryRunner): Promise<void>;
|
|
26
|
+
down(queryRunner: QueryRunner): Promise<void>;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=1783325495597-Default.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"1783325495597-Default.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/database/migrations/postgres/1783325495597-Default.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE/D;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,oBAAqB,YAAW,kBAAkB;IAC3D,IAAI,SAA0B;IAEjB,EAAE,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAqC3C,IAAI,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;CAmB7D"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import "node:path";
|
|
2
|
+
import "node:url";
|
|
3
|
+
import.meta.url;
|
|
4
|
+
//#region src/adapters/database/migrations/postgres/1783325495597-Default.ts
|
|
5
|
+
/**
|
|
6
|
+
* Refresh token rotation + replay detection (plan 016).
|
|
7
|
+
*
|
|
8
|
+
* - Widens auth_sessions.ip_address 15 -> 45 (IPv6-sized; the old length was
|
|
9
|
+
* IPv4-only, a latent truncation bug).
|
|
10
|
+
* - Adds auth_session_tokens: one durable row per issued access/refresh token,
|
|
11
|
+
* FK to auth_sessions (ON DELETE CASCADE). The row is the authority for
|
|
12
|
+
* refresh-token validity (consume/replay/revoke); the cache stays the
|
|
13
|
+
* verification fast-path.
|
|
14
|
+
*
|
|
15
|
+
* BREAKING: at deploy the table is empty, so every in-flight refresh token has
|
|
16
|
+
* no row and its first refresh returns invalid_grant — active users
|
|
17
|
+
* re-authenticate once (hard cutover, RT horizon 3 days).
|
|
18
|
+
*
|
|
19
|
+
* down() narrows ip_address back to 15, which fails if any IPv6 value was
|
|
20
|
+
* stored (best-effort, per the 1779300000000 precedent).
|
|
21
|
+
*
|
|
22
|
+
* Also adds auth_clients.post_logout_redirect_uri (plan 042) — a dedicated
|
|
23
|
+
* OIDC RP-Initiated Logout allow-list, no longer conflated with redirect_uri.
|
|
24
|
+
* Folded into this still-unreleased migration rather than a new file.
|
|
25
|
+
*/ var Default1783325495597 = class {
|
|
26
|
+
name = "Default1783325495597";
|
|
27
|
+
async up(queryRunner) {
|
|
28
|
+
await queryRunner.query(`
|
|
29
|
+
ALTER TABLE "auth_sessions" ALTER COLUMN "ip_address" TYPE character varying(45)
|
|
30
|
+
`);
|
|
31
|
+
await queryRunner.query(`
|
|
32
|
+
CREATE TABLE "auth_session_tokens" (
|
|
33
|
+
"id" uuid NOT NULL,
|
|
34
|
+
"session_id" uuid NOT NULL,
|
|
35
|
+
"kind" character varying(16) NOT NULL,
|
|
36
|
+
"parent_id" uuid,
|
|
37
|
+
"refresh_token_id" uuid,
|
|
38
|
+
"ip_address" character varying(45) NOT NULL,
|
|
39
|
+
"user_agent" character varying(512) NOT NULL,
|
|
40
|
+
"consumed_at" character varying(28),
|
|
41
|
+
"revoked_at" character varying(28),
|
|
42
|
+
"expires_at" character varying(28) NOT NULL,
|
|
43
|
+
"created_at" TIMESTAMP NOT NULL DEFAULT now(),
|
|
44
|
+
CONSTRAINT "PK_auth_session_tokens" PRIMARY KEY ("id")
|
|
45
|
+
)
|
|
46
|
+
`);
|
|
47
|
+
await queryRunner.query("CREATE INDEX \"IDX_auth_session_tokens_session_id\" ON \"auth_session_tokens\" (\"session_id\")");
|
|
48
|
+
await queryRunner.query("CREATE INDEX \"IDX_auth_session_tokens_kind\" ON \"auth_session_tokens\" (\"kind\")");
|
|
49
|
+
await queryRunner.query("CREATE INDEX \"IDX_auth_session_tokens_expires_at\" ON \"auth_session_tokens\" (\"expires_at\")");
|
|
50
|
+
await queryRunner.query(`
|
|
51
|
+
ALTER TABLE "auth_session_tokens"
|
|
52
|
+
ADD CONSTRAINT "FK_auth_session_tokens_session_id" FOREIGN KEY ("session_id") REFERENCES "auth_sessions"("id") ON DELETE CASCADE ON UPDATE NO ACTION
|
|
53
|
+
`);
|
|
54
|
+
await queryRunner.query(`
|
|
55
|
+
ALTER TABLE "auth_clients" ADD "post_logout_redirect_uri" text
|
|
56
|
+
`);
|
|
57
|
+
}
|
|
58
|
+
async down(queryRunner) {
|
|
59
|
+
await queryRunner.query(`
|
|
60
|
+
ALTER TABLE "auth_clients" DROP COLUMN "post_logout_redirect_uri"
|
|
61
|
+
`);
|
|
62
|
+
await queryRunner.query(`
|
|
63
|
+
ALTER TABLE "auth_session_tokens" DROP CONSTRAINT "FK_auth_session_tokens_session_id"
|
|
64
|
+
`);
|
|
65
|
+
await queryRunner.query("DROP INDEX \"public\".\"IDX_auth_session_tokens_expires_at\"");
|
|
66
|
+
await queryRunner.query("DROP INDEX \"public\".\"IDX_auth_session_tokens_kind\"");
|
|
67
|
+
await queryRunner.query("DROP INDEX \"public\".\"IDX_auth_session_tokens_session_id\"");
|
|
68
|
+
await queryRunner.query(`
|
|
69
|
+
DROP TABLE "auth_session_tokens"
|
|
70
|
+
`);
|
|
71
|
+
await queryRunner.query(`
|
|
72
|
+
ALTER TABLE "auth_sessions" ALTER COLUMN "ip_address" TYPE character varying(15)
|
|
73
|
+
`);
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
//#endregion
|
|
77
|
+
export { Default1783325495597 };
|
|
78
|
+
|
|
79
|
+
//# sourceMappingURL=1783325495597-Default.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"1783325495597-Default.mjs","names":["Default1783325495597","name","up","queryRunner","query","down"],"sources":["../../../../../src/adapters/database/migrations/postgres/1783325495597-Default.ts"],"sourcesContent":["import type { MigrationInterface, QueryRunner } from 'typeorm';\n\n/**\n * Refresh token rotation + replay detection (plan 016).\n *\n * - Widens auth_sessions.ip_address 15 -> 45 (IPv6-sized; the old length was\n * IPv4-only, a latent truncation bug).\n * - Adds auth_session_tokens: one durable row per issued access/refresh token,\n * FK to auth_sessions (ON DELETE CASCADE). The row is the authority for\n * refresh-token validity (consume/replay/revoke); the cache stays the\n * verification fast-path.\n *\n * BREAKING: at deploy the table is empty, so every in-flight refresh token has\n * no row and its first refresh returns invalid_grant — active users\n * re-authenticate once (hard cutover, RT horizon 3 days).\n *\n * down() narrows ip_address back to 15, which fails if any IPv6 value was\n * stored (best-effort, per the 1779300000000 precedent).\n *\n * Also adds auth_clients.post_logout_redirect_uri (plan 042) — a dedicated\n * OIDC RP-Initiated Logout allow-list, no longer conflated with redirect_uri.\n * Folded into this still-unreleased migration rather than a new file.\n */\nexport class Default1783325495597 implements MigrationInterface {\n name = 'Default1783325495597';\n\n public async up(queryRunner: QueryRunner): Promise<void> {\n await queryRunner.query(`\n ALTER TABLE \"auth_sessions\" ALTER COLUMN \"ip_address\" TYPE character varying(45)\n `);\n\n await queryRunner.query(`\n CREATE TABLE \"auth_session_tokens\" (\n \"id\" uuid NOT NULL,\n \"session_id\" uuid NOT NULL,\n \"kind\" character varying(16) NOT NULL,\n \"parent_id\" uuid,\n \"refresh_token_id\" uuid,\n \"ip_address\" character varying(45) NOT NULL,\n \"user_agent\" character varying(512) NOT NULL,\n \"consumed_at\" character varying(28),\n \"revoked_at\" character varying(28),\n \"expires_at\" character varying(28) NOT NULL,\n \"created_at\" TIMESTAMP NOT NULL DEFAULT now(),\n CONSTRAINT \"PK_auth_session_tokens\" PRIMARY KEY (\"id\")\n )\n `);\n await queryRunner.query('CREATE INDEX \"IDX_auth_session_tokens_session_id\" ON \"auth_session_tokens\" (\"session_id\")');\n await queryRunner.query('CREATE INDEX \"IDX_auth_session_tokens_kind\" ON \"auth_session_tokens\" (\"kind\")');\n await queryRunner.query('CREATE INDEX \"IDX_auth_session_tokens_expires_at\" ON \"auth_session_tokens\" (\"expires_at\")');\n\n await queryRunner.query(`\n ALTER TABLE \"auth_session_tokens\"\n ADD CONSTRAINT \"FK_auth_session_tokens_session_id\" FOREIGN KEY (\"session_id\") REFERENCES \"auth_sessions\"(\"id\") ON DELETE CASCADE ON UPDATE NO ACTION\n `);\n\n // Dedicated post-logout redirect allow-list for OIDC RP-Initiated\n // Logout (plan 042) — no longer conflated with the login redirect_uri.\n await queryRunner.query(`\n ALTER TABLE \"auth_clients\" ADD \"post_logout_redirect_uri\" text\n `);\n }\n\n public async down(queryRunner: QueryRunner): Promise<void> {\n await queryRunner.query(`\n ALTER TABLE \"auth_clients\" DROP COLUMN \"post_logout_redirect_uri\"\n `);\n\n await queryRunner.query(`\n ALTER TABLE \"auth_session_tokens\" DROP CONSTRAINT \"FK_auth_session_tokens_session_id\"\n `);\n await queryRunner.query('DROP INDEX \"public\".\"IDX_auth_session_tokens_expires_at\"');\n await queryRunner.query('DROP INDEX \"public\".\"IDX_auth_session_tokens_kind\"');\n await queryRunner.query('DROP INDEX \"public\".\"IDX_auth_session_tokens_session_id\"');\n await queryRunner.query(`\n DROP TABLE \"auth_session_tokens\"\n `);\n\n await queryRunner.query(`\n ALTER TABLE \"auth_sessions\" ALTER COLUMN \"ip_address\" TYPE character varying(15)\n `);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;GAuBA,IAAaA,uBAAb,MAAaA;CACTC,OAAO;CAEP,MAAaC,GAAGC,aAAyC;EACrD,MAAMA,YAAYC,MAAM;;SAEvB;EAED,MAAMD,YAAYC,MAAM;;;;;;;;;;;;;;;SAevB;EACD,MAAMD,YAAYC,MAAM,iGAAA;EACxB,MAAMD,YAAYC,MAAM,qFAAA;EACxB,MAAMD,YAAYC,MAAM,iGAAA;EAExB,MAAMD,YAAYC,MAAM;;;SAGvB;EAID,MAAMD,YAAYC,MAAM;;SAEvB;CACL;CAEA,MAAaC,KAAKF,aAAyC;EACvD,MAAMA,YAAYC,MAAM;;SAEvB;EAED,MAAMD,YAAYC,MAAM;;SAEvB;EACD,MAAMD,YAAYC,MAAM,8DAAA;EACxB,MAAMD,YAAYC,MAAM,wDAAA;EACxB,MAAMD,YAAYC,MAAM,8DAAA;EACxB,MAAMD,YAAYC,MAAM;;SAEvB;EAED,MAAMD,YAAYC,MAAM;;SAEvB;CACL;AACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../src/adapters/database/subscriber/module.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EACH,sBAAsB,EAGzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AACzF,OAAO,KAAK,EACR,UAAU,EACV,yBAAyB,EACzB,WAAW,EACX,aAAa,EACb,WAAW,EACX,WAAW,EACd,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAE1D,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,aAAa,EAC3D,IAAI,EAAE,GAAG,UAAU,EAAE,EACrB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE,GACrD,CAAC,IAAI,EAAE,CAAC,KAAK,uBAAuB,CAsBvC;AAED,qBAAa,gBAAgB,CAAC,CAAC,SAAS,aAAa,CAAE,YAAW,yBAAyB,CAAC,CAAC,CAAC;IAC1F,SAAS,CAAC,GAAG,EAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC;IAE3C,SAAS,CAAC,SAAS,CAAC,EAAG,qBAAqB,CAAC;gBAEjC,GAAG,EAAE,uBAAuB,CAAC,CAAC,CAAC;IAK3C,YAAY,CAAC,SAAS,EAAE,qBAAqB,GAAI,IAAI;IAKrD,QAAQ,IAAK,QAAQ,GAAG,MAAM;IAIxB,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAYhD,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAUhD,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../src/adapters/database/subscriber/module.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EACH,sBAAsB,EAGzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AACzF,OAAO,KAAK,EACR,UAAU,EACV,yBAAyB,EACzB,WAAW,EACX,aAAa,EACb,WAAW,EACX,WAAW,EACd,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAE1D,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,aAAa,EAC3D,IAAI,EAAE,GAAG,UAAU,EAAE,EACrB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE,GACrD,CAAC,IAAI,EAAE,CAAC,KAAK,uBAAuB,CAsBvC;AAED,qBAAa,gBAAgB,CAAC,CAAC,SAAS,aAAa,CAAE,YAAW,yBAAyB,CAAC,CAAC,CAAC;IAC1F,SAAS,CAAC,GAAG,EAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC;IAE3C,SAAS,CAAC,SAAS,CAAC,EAAG,qBAAqB,CAAC;gBAEjC,GAAG,EAAE,uBAAuB,CAAC,CAAC,CAAC;IAK3C,YAAY,CAAC,SAAS,EAAE,qBAAqB,GAAI,IAAI;IAKrD,QAAQ,IAAK,QAAQ,GAAG,MAAM;IAIxB,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAYhD,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAUhD,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;cActC,aAAa,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,GAAI,OAAO,CAAC,IAAI,CAAC;cAQ9D,OAAO,CAAC,KAAK,EAAE,GAAG,sBAAsB,EAAE,EAAE,IAAI,EAAE,CAAC,GAAI,OAAO,CAAC,IAAI,CAAC;CAcvF"}
|
|
@@ -44,9 +44,10 @@ var EntitySubscriber = class {
|
|
|
44
44
|
await this.publish(EntityDefaultEventName.UPDATED, event.entity);
|
|
45
45
|
}
|
|
46
46
|
async afterRemove(event) {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
await this.
|
|
47
|
+
const entity = event.databaseEntity ?? event.entity;
|
|
48
|
+
if (!entity) return;
|
|
49
|
+
await this.dropCacheKeys(event.connection, entity);
|
|
50
|
+
await this.publish(EntityDefaultEventName.DELETED, entity);
|
|
50
51
|
}
|
|
51
52
|
async dropCacheKeys(connection, data) {
|
|
52
53
|
if (!this.ctx.cache || !connection.queryResultCache) return;
|