@authup/server-core 1.0.0-beta.53 → 1.0.0-beta.54
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 +0 -13
- package/dist/adapters/database/data-source/options/module.mjs.map +1 -1
- package/dist/adapters/database/domains/client/entity.d.ts +16 -16
- package/dist/adapters/database/domains/client/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/client/entity.mjs +52 -34
- package/dist/adapters/database/domains/client/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/client/subscriber.mjs +1 -1
- package/dist/adapters/database/domains/client/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/client-permission/entity.d.ts +10 -10
- package/dist/adapters/database/domains/client-permission/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/client-permission/entity.mjs +40 -21
- package/dist/adapters/database/domains/client-permission/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/client-permission/subscriber.mjs +2 -2
- package/dist/adapters/database/domains/client-permission/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/client-role/entity.d.ts +8 -8
- package/dist/adapters/database/domains/client-role/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/client-role/entity.mjs +29 -17
- package/dist/adapters/database/domains/client-role/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/client-role/subscriber.mjs +2 -2
- package/dist/adapters/database/domains/client-role/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/client-scope/entity.d.ts +8 -8
- package/dist/adapters/database/domains/client-scope/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/client-scope/entity.mjs +29 -17
- package/dist/adapters/database/domains/client-scope/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/consent/entity.d.ts +7 -7
- package/dist/adapters/database/domains/consent/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/consent/entity.mjs +33 -18
- package/dist/adapters/database/domains/consent/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/consent/subscriber.mjs +2 -2
- package/dist/adapters/database/domains/consent/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/constants.d.ts +0 -3
- package/dist/adapters/database/domains/constants.d.ts.map +1 -1
- package/dist/adapters/database/domains/constants.mjs +0 -3
- package/dist/adapters/database/domains/constants.mjs.map +1 -1
- package/dist/adapters/database/domains/event/entity.d.ts +13 -13
- package/dist/adapters/database/domains/event/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/event/entity.mjs +43 -28
- package/dist/adapters/database/domains/event/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/identity-provider/entity.d.ts +4 -4
- package/dist/adapters/database/domains/identity-provider/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/identity-provider/entity.mjs +17 -10
- package/dist/adapters/database/domains/identity-provider/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/identity-provider/repository.mjs +3 -3
- package/dist/adapters/database/domains/identity-provider/repository.mjs.map +1 -1
- package/dist/adapters/database/domains/identity-provider/subscriber.mjs +1 -1
- package/dist/adapters/database/domains/identity-provider/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/identity-provider-account/entity.d.ts +15 -15
- package/dist/adapters/database/domains/identity-provider-account/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/identity-provider-account/entity.mjs +50 -31
- package/dist/adapters/database/domains/identity-provider-account/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/identity-provider-attribute/entity.d.ts +4 -4
- package/dist/adapters/database/domains/identity-provider-attribute/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/identity-provider-attribute/entity.mjs +18 -9
- package/dist/adapters/database/domains/identity-provider-attribute/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/identity-provider-attribute-mapping/entity.d.ts +9 -9
- package/dist/adapters/database/domains/identity-provider-attribute-mapping/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/identity-provider-attribute-mapping/entity.mjs +29 -19
- package/dist/adapters/database/domains/identity-provider-attribute-mapping/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/identity-provider-permission-mapping/entity.d.ts +10 -10
- package/dist/adapters/database/domains/identity-provider-permission-mapping/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/identity-provider-permission-mapping/entity.mjs +32 -21
- package/dist/adapters/database/domains/identity-provider-permission-mapping/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/identity-provider-role-mapping/entity.d.ts +10 -10
- package/dist/adapters/database/domains/identity-provider-role-mapping/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/identity-provider-role-mapping/entity.mjs +32 -21
- package/dist/adapters/database/domains/identity-provider-role-mapping/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/identity-provider-role-mapping/subscriber.mjs +1 -1
- package/dist/adapters/database/domains/identity-provider-role-mapping/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/index.d.ts +0 -3
- package/dist/adapters/database/domains/index.d.ts.map +1 -1
- package/dist/adapters/database/domains/index.mjs +1 -10
- package/dist/adapters/database/domains/key/entity.d.ts +6 -6
- package/dist/adapters/database/domains/key/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/key/entity.mjs +24 -14
- package/dist/adapters/database/domains/key/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/permission/entity.d.ts +7 -7
- package/dist/adapters/database/domains/permission/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/permission/entity.mjs +33 -18
- package/dist/adapters/database/domains/permission/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/permission/subscriber.mjs +2 -2
- package/dist/adapters/database/domains/permission/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/permission-policy/entity.d.ts +8 -8
- package/dist/adapters/database/domains/permission-policy/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/permission-policy/entity.mjs +29 -17
- package/dist/adapters/database/domains/permission-policy/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/policy/entity.d.ts +6 -6
- package/dist/adapters/database/domains/policy/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/policy/entity.mjs +28 -14
- package/dist/adapters/database/domains/policy/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/policy/repository.mjs +3 -3
- package/dist/adapters/database/domains/policy/repository.mjs.map +1 -1
- package/dist/adapters/database/domains/policy-attribute/entity.d.ts +4 -4
- package/dist/adapters/database/domains/policy-attribute/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/policy-attribute/entity.mjs +18 -9
- package/dist/adapters/database/domains/policy-attribute/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/policy-attribute/subscriber.mjs +2 -2
- package/dist/adapters/database/domains/policy-attribute/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/realm/entity.d.ts +4 -4
- package/dist/adapters/database/domains/realm/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/realm/entity.mjs +16 -8
- package/dist/adapters/database/domains/realm/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/role/entity.d.ts +6 -6
- package/dist/adapters/database/domains/role/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/role/entity.mjs +30 -16
- package/dist/adapters/database/domains/role/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/role/repository.mjs +3 -3
- package/dist/adapters/database/domains/role/repository.mjs.map +1 -1
- package/dist/adapters/database/domains/role/subscriber.mjs +1 -1
- package/dist/adapters/database/domains/role/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/role-attribute/entity.d.ts +4 -4
- package/dist/adapters/database/domains/role-attribute/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/role-attribute/entity.mjs +18 -9
- package/dist/adapters/database/domains/role-attribute/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/role-attribute/subscriber.mjs +2 -2
- package/dist/adapters/database/domains/role-attribute/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/role-permission/entity.d.ts +10 -10
- package/dist/adapters/database/domains/role-permission/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/role-permission/entity.mjs +37 -21
- package/dist/adapters/database/domains/role-permission/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/role-permission/subscriber.mjs +2 -2
- package/dist/adapters/database/domains/role-permission/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/scope/entity.d.ts +5 -5
- package/dist/adapters/database/domains/scope/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/scope/entity.mjs +23 -12
- package/dist/adapters/database/domains/scope/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/scope/subscriber.mjs +1 -1
- package/dist/adapters/database/domains/scope/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/session/entity.d.ts +14 -17
- package/dist/adapters/database/domains/session/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/session/entity.mjs +42 -42
- package/dist/adapters/database/domains/session/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/session-token/entity.d.ts +9 -9
- package/dist/adapters/database/domains/session-token/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/session-token/entity.mjs +32 -19
- package/dist/adapters/database/domains/session-token/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/trust-anchor/entity.d.ts +3 -3
- package/dist/adapters/database/domains/trust-anchor/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/trust-anchor/entity.mjs +14 -8
- package/dist/adapters/database/domains/trust-anchor/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/user/entity.d.ts +12 -12
- package/dist/adapters/database/domains/user/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/user/entity.mjs +42 -27
- package/dist/adapters/database/domains/user/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/user/repository.mjs +3 -3
- package/dist/adapters/database/domains/user/repository.mjs.map +1 -1
- package/dist/adapters/database/domains/user/subscriber.mjs +1 -1
- package/dist/adapters/database/domains/user/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/user-attribute/entity.d.ts +4 -4
- package/dist/adapters/database/domains/user-attribute/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/user-attribute/entity.mjs +15 -9
- package/dist/adapters/database/domains/user-attribute/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/user-attribute/subscriber.mjs +2 -2
- package/dist/adapters/database/domains/user-attribute/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/user-authenticator/entity.d.ts +5 -5
- package/dist/adapters/database/domains/user-authenticator/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/user-authenticator/entity.mjs +24 -11
- package/dist/adapters/database/domains/user-authenticator/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/user-permission/entity.d.ts +10 -10
- package/dist/adapters/database/domains/user-permission/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/user-permission/entity.mjs +37 -21
- package/dist/adapters/database/domains/user-permission/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/user-permission/subscriber.mjs +2 -2
- package/dist/adapters/database/domains/user-permission/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/user-role/entity.d.ts +8 -8
- package/dist/adapters/database/domains/user-role/entity.d.ts.map +1 -1
- package/dist/adapters/database/domains/user-role/entity.mjs +29 -17
- package/dist/adapters/database/domains/user-role/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/user-role/subscriber.mjs +2 -2
- package/dist/adapters/database/domains/user-role/subscriber.mjs.map +1 -1
- package/dist/adapters/database/helpers/is-supported.mjs +1 -1
- package/dist/adapters/database/helpers/is-supported.mjs.map +1 -1
- package/dist/adapters/database/index.mjs +1 -7
- package/dist/adapters/database/migrations/mysql/1784289540000-CamelCaseAttributes.d.ts +12 -0
- package/dist/adapters/database/migrations/mysql/1784289540000-CamelCaseAttributes.d.ts.map +1 -0
- package/dist/adapters/database/migrations/mysql/1784289540000-CamelCaseAttributes.mjs +42 -0
- package/dist/adapters/database/migrations/mysql/1784289540000-CamelCaseAttributes.mjs.map +1 -0
- package/dist/adapters/database/migrations/mysql/1784460916000-RemoveRobots.d.ts +18 -0
- package/dist/adapters/database/migrations/mysql/1784460916000-RemoveRobots.d.ts.map +1 -0
- package/dist/adapters/database/migrations/mysql/1784460916000-RemoveRobots.mjs +161 -0
- package/dist/adapters/database/migrations/mysql/1784460916000-RemoveRobots.mjs.map +1 -0
- package/dist/adapters/database/migrations/postgres/1784289540000-CamelCaseAttributes.d.ts +12 -0
- package/dist/adapters/database/migrations/postgres/1784289540000-CamelCaseAttributes.d.ts.map +1 -0
- package/dist/adapters/database/migrations/postgres/1784289540000-CamelCaseAttributes.mjs +42 -0
- package/dist/adapters/database/migrations/postgres/1784289540000-CamelCaseAttributes.mjs.map +1 -0
- package/dist/adapters/database/migrations/postgres/1784460916000-RemoveRobots.d.ts +18 -0
- package/dist/adapters/database/migrations/postgres/1784460916000-RemoveRobots.d.ts.map +1 -0
- package/dist/adapters/database/migrations/postgres/1784460916000-RemoveRobots.mjs +167 -0
- package/dist/adapters/database/migrations/postgres/1784460916000-RemoveRobots.mjs.map +1 -0
- package/dist/adapters/http/adapters/index.mjs +1 -2
- package/dist/adapters/http/adapters/oauth2/authorization/module.mjs +2 -2
- package/dist/adapters/http/adapters/oauth2/authorization/module.mjs.map +1 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/authorize.mjs +3 -3
- package/dist/adapters/http/adapters/oauth2/grant-types/authorize.mjs.map +1 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/client-credentials.mjs +1 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/client-credentials.mjs.map +1 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/index.d.ts +0 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/index.d.ts.map +1 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/index.mjs +1 -2
- package/dist/adapters/http/adapters/oauth2/grant-types/password.mjs +1 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/password.mjs.map +1 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/refresh_token.mjs +1 -1
- 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 +1 -4
- package/dist/adapters/http/adapters/oauth2/grant-types/types.d.ts.map +1 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/utils/guess.d.ts.map +1 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/utils/guess.mjs +0 -3
- package/dist/adapters/http/adapters/oauth2/grant-types/utils/guess.mjs.map +1 -1
- package/dist/adapters/http/adapters/oauth2/index.mjs +1 -2
- package/dist/adapters/http/controllers/entities/client-permission/utils/validation.mjs +3 -3
- package/dist/adapters/http/controllers/entities/client-permission/utils/validation.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/client-role/utils/validation.mjs +2 -2
- package/dist/adapters/http/controllers/entities/client-role/utils/validation.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/client-scope/utils/validator.mjs +2 -2
- package/dist/adapters/http/controllers/entities/client-scope/utils/validator.mjs.map +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 +19 -13
- package/dist/adapters/http/controllers/entities/identity-provider/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/index.d.ts +0 -3
- package/dist/adapters/http/controllers/entities/index.d.ts.map +1 -1
- package/dist/adapters/http/controllers/entities/index.mjs +1 -9
- package/dist/adapters/http/controllers/entities/key/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/entities/key/module.mjs +1 -7
- package/dist/adapters/http/controllers/entities/key/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/policy/utils/validation.d.ts +1 -1
- package/dist/adapters/http/controllers/entities/policy/utils/validation.d.ts.map +1 -1
- package/dist/adapters/http/controllers/entities/policy/utils/validation.mjs +3 -3
- package/dist/adapters/http/controllers/entities/policy/utils/validation.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/role-attribute/utils/validation.mjs +1 -1
- package/dist/adapters/http/controllers/entities/role-attribute/utils/validation.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/role-permission/utils/validation.mjs +3 -3
- package/dist/adapters/http/controllers/entities/role-permission/utils/validation.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/session/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/trust-anchor/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/entities/trust-anchor/module.mjs +1 -7
- package/dist/adapters/http/controllers/entities/trust-anchor/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/user-attribute/utils/validation.mjs +1 -1
- package/dist/adapters/http/controllers/entities/user-attribute/utils/validation.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/user-authenticator/module.mjs +1 -1
- package/dist/adapters/http/controllers/entities/user-authenticator/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/user-permission/utils/validation.mjs +3 -3
- package/dist/adapters/http/controllers/entities/user-permission/utils/validation.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/user-role/utils/validation.mjs +2 -2
- package/dist/adapters/http/controllers/entities/user-role/utils/validation.mjs.map +1 -1
- package/dist/adapters/http/controllers/index.mjs +1 -6
- package/dist/adapters/http/controllers/workflows/authorize/module.mjs +4 -4
- package/dist/adapters/http/controllers/workflows/authorize/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/workflows/jwks/handlers/read.mjs +10 -10
- package/dist/adapters/http/controllers/workflows/jwks/handlers/read.mjs.map +1 -1
- package/dist/adapters/http/controllers/workflows/jwks/module.mjs +9 -9
- package/dist/adapters/http/controllers/workflows/jwks/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/workflows/status/module.mjs +2 -2
- package/dist/adapters/http/controllers/workflows/status/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/workflows/token/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/workflows/token/module.mjs +2 -8
- package/dist/adapters/http/controllers/workflows/token/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/workflows/token/types.d.ts +1 -2
- package/dist/adapters/http/controllers/workflows/token/types.d.ts.map +1 -1
- package/dist/adapters/http/index.mjs +1 -7
- package/dist/adapters/http/middleware/built-in/assets.mjs +2 -2
- package/dist/adapters/http/middleware/built-in/assets.mjs.map +1 -1
- package/dist/adapters/http/middleware/built-in/authorization/module.d.ts +1 -2
- package/dist/adapters/http/middleware/built-in/authorization/module.d.ts.map +1 -1
- package/dist/adapters/http/middleware/built-in/authorization/module.mjs +1 -15
- package/dist/adapters/http/middleware/built-in/authorization/module.mjs.map +1 -1
- package/dist/adapters/http/middleware/built-in/authorization/types.d.ts +0 -1
- package/dist/adapters/http/middleware/built-in/authorization/types.d.ts.map +1 -1
- package/dist/adapters/http/middleware/built-in/rate-limit.d.ts.map +1 -1
- package/dist/adapters/http/middleware/built-in/rate-limit.mjs +0 -1
- package/dist/adapters/http/middleware/built-in/rate-limit.mjs.map +1 -1
- package/dist/adapters/http/request/client-certificate.d.ts +1 -0
- package/dist/adapters/http/request/client-certificate.d.ts.map +1 -1
- package/dist/adapters/http/request/client-certificate.mjs +1 -0
- package/dist/adapters/http/request/client-certificate.mjs.map +1 -1
- package/dist/adapters/http/request/helpers/body-realm-id.mjs +1 -1
- package/dist/adapters/http/request/helpers/body-realm-id.mjs.map +1 -1
- package/dist/adapters/http/request/helpers/identity.d.ts +2 -2
- package/dist/adapters/http/request/helpers/identity.d.ts.map +1 -1
- package/dist/adapters/http/request/helpers/identity.mjs +2 -2
- package/dist/adapters/http/request/helpers/identity.mjs.map +1 -1
- package/dist/adapters/http/request/helpers/realm-id.mjs +1 -1
- package/dist/adapters/http/request/helpers/realm-id.mjs.map +1 -1
- package/dist/adapters/http/request/permission/module.d.ts +3 -2
- package/dist/adapters/http/request/permission/module.d.ts.map +1 -1
- package/dist/adapters/http/request/permission/module.mjs +3 -0
- package/dist/adapters/http/request/permission/module.mjs.map +1 -1
- package/dist/adapters/http/ui/render.mjs +2 -2
- package/dist/adapters/http/ui/render.mjs.map +1 -1
- package/dist/adapters/http/ui/serve.d.ts.map +1 -1
- package/dist/adapters/http/ui/serve.mjs +4 -1
- package/dist/adapters/http/ui/serve.mjs.map +1 -1
- package/dist/app/index.mjs +1 -5
- package/dist/app/modules/authentication/repositories/session.d.ts +3 -2
- package/dist/app/modules/authentication/repositories/session.d.ts.map +1 -1
- package/dist/app/modules/authentication/repositories/session.mjs +8 -40
- package/dist/app/modules/authentication/repositories/session.mjs.map +1 -1
- package/dist/app/modules/config/constants.d.ts +0 -4
- package/dist/app/modules/config/constants.d.ts.map +1 -1
- package/dist/app/modules/config/constants.mjs +0 -4
- 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 +0 -4
- 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 +0 -8
- package/dist/app/modules/config/read/env.mjs.map +1 -1
- package/dist/app/modules/config/types.d.ts +0 -19
- 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 +0 -4
- package/dist/app/modules/config/validator.mjs.map +1 -1
- package/dist/app/modules/database/index.mjs +1 -4
- package/dist/app/modules/database/module.d.ts.map +1 -1
- package/dist/app/modules/database/module.mjs +2 -0
- package/dist/app/modules/database/module.mjs.map +1 -1
- package/dist/app/modules/database/repositories/bindings.d.ts +2 -2
- package/dist/app/modules/database/repositories/bindings.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/bindings.mjs +3 -3
- package/dist/app/modules/database/repositories/bindings.mjs.map +1 -1
- package/dist/app/modules/database/repositories/client/repository.d.ts +3 -2
- package/dist/app/modules/database/repositories/client/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/client/repository.mjs +10 -82
- package/dist/app/modules/database/repositories/client/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/client-permission/repository.d.ts +2 -1
- package/dist/app/modules/database/repositories/client-permission/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/client-permission/repository.mjs +3 -17
- package/dist/app/modules/database/repositories/client-permission/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/client-role/repository.d.ts +2 -1
- package/dist/app/modules/database/repositories/client-role/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/client-role/repository.mjs +3 -17
- package/dist/app/modules/database/repositories/client-role/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/client-scope/repository.d.ts +2 -1
- package/dist/app/modules/database/repositories/client-scope/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/client-scope/repository.mjs +3 -17
- package/dist/app/modules/database/repositories/client-scope/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/event/repository.d.ts +2 -1
- package/dist/app/modules/database/repositories/event/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/event/repository.mjs +14 -53
- package/dist/app/modules/database/repositories/event/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/helpers.d.ts +17 -3
- package/dist/app/modules/database/repositories/helpers.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/helpers.mjs +40 -5
- package/dist/app/modules/database/repositories/helpers.mjs.map +1 -1
- package/dist/app/modules/database/repositories/identity-provider/repository.d.ts +2 -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 +6 -37
- package/dist/app/modules/database/repositories/identity-provider/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/identity-provider-role-mapping/repository.d.ts +2 -1
- package/dist/app/modules/database/repositories/identity-provider-role-mapping/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/identity-provider-role-mapping/repository.mjs +3 -17
- package/dist/app/modules/database/repositories/identity-provider-role-mapping/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/index.d.ts +0 -3
- package/dist/app/modules/database/repositories/index.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/index.mjs +1 -7
- package/dist/app/modules/database/repositories/key/repository.d.ts +3 -2
- package/dist/app/modules/database/repositories/key/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/key/repository.mjs +38 -72
- package/dist/app/modules/database/repositories/key/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/permission/repository.d.ts +2 -1
- package/dist/app/modules/database/repositories/permission/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/permission/repository.mjs +5 -20
- package/dist/app/modules/database/repositories/permission/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/permission-policy/repository.d.ts +2 -1
- package/dist/app/modules/database/repositories/permission-policy/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/permission-policy/repository.mjs +3 -17
- package/dist/app/modules/database/repositories/permission-policy/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/permission-provider/module.mjs +6 -6
- package/dist/app/modules/database/repositories/permission-provider/module.mjs.map +1 -1
- package/dist/app/modules/database/repositories/policy/repository.d.ts +2 -1
- package/dist/app/modules/database/repositories/policy/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/policy/repository.mjs +5 -39
- package/dist/app/modules/database/repositories/policy/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/query.d.ts +18 -0
- package/dist/app/modules/database/repositories/query.d.ts.map +1 -0
- package/dist/app/modules/database/repositories/query.mjs +29 -0
- package/dist/app/modules/database/repositories/query.mjs.map +1 -0
- package/dist/app/modules/database/repositories/realm/repository.d.ts +2 -1
- package/dist/app/modules/database/repositories/realm/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/realm/repository.mjs +3 -25
- package/dist/app/modules/database/repositories/realm/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/role/repository.d.ts +2 -1
- package/dist/app/modules/database/repositories/role/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/role/repository.mjs +6 -30
- package/dist/app/modules/database/repositories/role/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/role-attribute/repository.d.ts +2 -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 +3 -19
- package/dist/app/modules/database/repositories/role-attribute/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/role-permission/repository.d.ts +2 -1
- package/dist/app/modules/database/repositories/role-permission/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/role-permission/repository.mjs +3 -17
- package/dist/app/modules/database/repositories/role-permission/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/schema-validation.d.ts +11 -0
- package/dist/app/modules/database/repositories/schema-validation.d.ts.map +1 -0
- package/dist/app/modules/database/repositories/schema-validation.mjs +77 -0
- package/dist/app/modules/database/repositories/schema-validation.mjs.map +1 -0
- package/dist/app/modules/database/repositories/scope/repository.d.ts +2 -1
- package/dist/app/modules/database/repositories/scope/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/scope/repository.mjs +5 -29
- package/dist/app/modules/database/repositories/scope/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/trust-anchor/repository.d.ts +2 -1
- package/dist/app/modules/database/repositories/trust-anchor/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/trust-anchor/repository.mjs +5 -29
- package/dist/app/modules/database/repositories/trust-anchor/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/user/repository.d.ts +3 -2
- package/dist/app/modules/database/repositories/user/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/user/repository.mjs +9 -66
- package/dist/app/modules/database/repositories/user/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/user-attribute/repository.d.ts +2 -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 +4 -20
- package/dist/app/modules/database/repositories/user-attribute/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/user-authenticator/repository.d.ts +2 -1
- package/dist/app/modules/database/repositories/user-authenticator/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/user-authenticator/repository.mjs +8 -34
- package/dist/app/modules/database/repositories/user-authenticator/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/user-permission/repository.d.ts +2 -1
- package/dist/app/modules/database/repositories/user-permission/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/user-permission/repository.mjs +3 -17
- package/dist/app/modules/database/repositories/user-permission/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/user-role/repository.d.ts +2 -1
- package/dist/app/modules/database/repositories/user-role/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/user-role/repository.mjs +3 -17
- package/dist/app/modules/database/repositories/user-role/repository.mjs.map +1 -1
- package/dist/app/modules/http/modules/controller.d.ts +1 -4
- package/dist/app/modules/http/modules/controller.d.ts.map +1 -1
- package/dist/app/modules/http/modules/controller.mjs +0 -52
- package/dist/app/modules/http/modules/controller.mjs.map +1 -1
- package/dist/app/modules/http/modules/middleware.d.ts.map +1 -1
- package/dist/app/modules/http/modules/middleware.mjs +0 -1
- package/dist/app/modules/http/modules/middleware.mjs.map +1 -1
- package/dist/app/modules/identity/index.mjs +1 -2
- package/dist/app/modules/identity/module.d.ts.map +1 -1
- package/dist/app/modules/identity/module.mjs +1 -12
- package/dist/app/modules/identity/module.mjs.map +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/index.d.ts +0 -1
- package/dist/app/modules/identity/repositories/index.d.ts.map +1 -1
- package/dist/app/modules/identity/repositories/index.mjs +1 -2
- package/dist/app/modules/identity/repositories/provider/account/module.mjs +3 -3
- package/dist/app/modules/identity/repositories/provider/account/module.mjs.map +1 -1
- package/dist/app/modules/identity/repositories/provider/mapper/attribute.mjs +1 -1
- package/dist/app/modules/identity/repositories/provider/mapper/attribute.mjs.map +1 -1
- package/dist/app/modules/identity/repositories/provider/mapper/permission.mjs +1 -1
- package/dist/app/modules/identity/repositories/provider/mapper/permission.mjs.map +1 -1
- package/dist/app/modules/identity/repositories/provider/mapper/role.mjs +1 -1
- package/dist/app/modules/identity/repositories/provider/mapper/role.mjs.map +1 -1
- package/dist/app/modules/identity/repositories/user.mjs +18 -18
- package/dist/app/modules/identity/repositories/user.mjs.map +1 -1
- package/dist/app/modules/index.mjs +1 -5
- package/dist/app/modules/oauth2/repositories/client/repository.mjs +1 -1
- package/dist/app/modules/oauth2/repositories/client/repository.mjs.map +1 -1
- package/dist/app/modules/oauth2/repositories/consent/repository.d.ts +2 -1
- package/dist/app/modules/oauth2/repositories/consent/repository.d.ts.map +1 -1
- package/dist/app/modules/oauth2/repositories/consent/repository.mjs +14 -38
- package/dist/app/modules/oauth2/repositories/consent/repository.mjs.map +1 -1
- package/dist/app/modules/oauth2/repositories/scope/repository.mjs +1 -1
- package/dist/app/modules/oauth2/repositories/scope/repository.mjs.map +1 -1
- package/dist/app/modules/oauth2/repositories/session-token/repository.mjs +21 -18
- package/dist/app/modules/oauth2/repositories/session-token/repository.mjs.map +1 -1
- package/dist/app/modules/provisioning/module.d.ts.map +1 -1
- package/dist/app/modules/provisioning/module.mjs +9 -24
- package/dist/app/modules/provisioning/module.mjs.map +1 -1
- package/dist/app/modules/provisioning/sources/composite/module.d.ts +17 -0
- package/dist/app/modules/provisioning/sources/composite/module.d.ts.map +1 -1
- package/dist/app/modules/provisioning/sources/composite/module.mjs +54 -2
- package/dist/app/modules/provisioning/sources/composite/module.mjs.map +1 -1
- package/dist/app/modules/provisioning/sources/default/module.d.ts.map +1 -1
- package/dist/app/modules/provisioning/sources/default/module.mjs +43 -78
- 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 +4 -3
- package/dist/app/modules/provisioning/sources/file/module.mjs.map +1 -1
- package/dist/app/modules/provisioning/sources/file/types.d.ts +2 -0
- package/dist/app/modules/provisioning/sources/file/types.d.ts.map +1 -1
- package/dist/app/modules/provisioning/sources/index.mjs +1 -0
- package/dist/components/database/unique-entries/module.mjs +6 -6
- package/dist/components/database/unique-entries/module.mjs.map +1 -1
- package/dist/components/oauth2-cleaner/module.mjs +2 -2
- package/dist/components/oauth2-cleaner/module.mjs.map +1 -1
- package/dist/core/authentication/credential/entities/client/module.d.ts +1 -1
- package/dist/core/authentication/credential/entities/client/module.d.ts.map +1 -1
- package/dist/core/authentication/credential/entities/client/module.mjs +3 -3
- package/dist/core/authentication/credential/entities/client/module.mjs.map +1 -1
- package/dist/core/authentication/credential/entities/index.d.ts +0 -1
- package/dist/core/authentication/credential/entities/index.d.ts.map +1 -1
- package/dist/core/authentication/credential/entities/index.mjs +1 -3
- package/dist/core/authentication/credential/index.mjs +1 -2
- package/dist/core/authentication/entities/client/module.mjs +1 -1
- package/dist/core/authentication/entities/client/module.mjs.map +1 -1
- package/dist/core/authentication/entities/index.d.ts +0 -1
- package/dist/core/authentication/entities/index.d.ts.map +1 -1
- package/dist/core/authentication/entities/index.mjs +1 -3
- package/dist/core/authentication/index.mjs +1 -3
- package/dist/core/authentication/session/module.d.ts.map +1 -1
- package/dist/core/authentication/session/module.mjs +14 -17
- package/dist/core/authentication/session/module.mjs.map +1 -1
- package/dist/core/authentication/session/types.d.ts +7 -6
- package/dist/core/authentication/session/types.d.ts.map +1 -1
- package/dist/core/authentication/session/types.mjs +4 -5
- package/dist/core/authentication/session/types.mjs.map +1 -1
- package/dist/core/client-certificate/module.d.ts +2 -1
- package/dist/core/client-certificate/module.d.ts.map +1 -1
- package/dist/core/client-certificate/module.mjs +2 -1
- package/dist/core/client-certificate/module.mjs.map +1 -1
- package/dist/core/client-certificate/reflect.d.ts +2 -0
- package/dist/core/client-certificate/reflect.d.ts.map +1 -0
- package/dist/core/{identity/entities/robot/index.mjs → client-certificate/reflect.mjs} +1 -0
- package/dist/core/client-certificate/types.d.ts +1 -1
- package/dist/core/client-certificate/types.d.ts.map +1 -1
- package/dist/core/entities/client/index.d.ts +1 -0
- package/dist/core/entities/client/index.d.ts.map +1 -1
- package/dist/core/entities/client/index.mjs +2 -1
- package/dist/core/entities/client/schema.d.ts +3 -0
- package/dist/core/entities/client/schema.d.ts.map +1 -0
- package/dist/core/entities/client/schema.mjs +59 -0
- package/dist/core/entities/client/schema.mjs.map +1 -0
- package/dist/core/entities/client/service.d.ts.map +1 -1
- package/dist/core/entities/client/service.mjs +42 -19
- package/dist/core/entities/client/service.mjs.map +1 -1
- package/dist/core/entities/client/types.d.ts +2 -1
- package/dist/core/entities/client/types.d.ts.map +1 -1
- package/dist/core/entities/client/web-client.d.ts +4 -4
- package/dist/core/entities/client/web-client.mjs +13 -13
- package/dist/core/entities/client/web-client.mjs.map +1 -1
- package/dist/core/entities/client-permission/index.d.ts +1 -0
- package/dist/core/entities/client-permission/index.d.ts.map +1 -1
- package/dist/core/entities/client-permission/index.mjs +2 -1
- package/dist/core/entities/client-permission/schema.d.ts +3 -0
- package/dist/core/entities/client-permission/schema.d.ts.map +1 -0
- package/dist/core/entities/client-permission/schema.mjs +41 -0
- package/dist/core/entities/client-permission/schema.mjs.map +1 -0
- package/dist/core/entities/client-permission/service.d.ts +1 -1
- package/dist/core/entities/client-permission/service.d.ts.map +1 -1
- package/dist/core/entities/client-permission/service.mjs +24 -18
- package/dist/core/entities/client-permission/service.mjs.map +1 -1
- package/dist/core/entities/client-role/index.d.ts +1 -0
- package/dist/core/entities/client-role/index.d.ts.map +1 -1
- package/dist/core/entities/client-role/index.mjs +2 -1
- package/dist/core/entities/client-role/schema.d.ts +3 -0
- package/dist/core/entities/client-role/schema.d.ts.map +1 -0
- package/dist/core/entities/client-role/schema.mjs +39 -0
- package/dist/core/entities/client-role/schema.mjs.map +1 -0
- package/dist/core/entities/client-role/service.d.ts +1 -1
- package/dist/core/entities/client-role/service.d.ts.map +1 -1
- package/dist/core/entities/client-role/service.mjs +14 -8
- package/dist/core/entities/client-role/service.mjs.map +1 -1
- package/dist/core/entities/client-scope/index.d.ts +1 -0
- package/dist/core/entities/client-scope/index.d.ts.map +1 -1
- package/dist/core/entities/client-scope/index.mjs +2 -1
- package/dist/core/entities/client-scope/schema.d.ts +3 -0
- package/dist/core/entities/client-scope/schema.d.ts.map +1 -0
- package/dist/core/entities/client-scope/schema.mjs +37 -0
- package/dist/core/entities/client-scope/schema.mjs.map +1 -0
- package/dist/core/entities/client-scope/service.d.ts +1 -1
- package/dist/core/entities/client-scope/service.d.ts.map +1 -1
- package/dist/core/entities/client-scope/service.mjs +12 -6
- package/dist/core/entities/client-scope/service.mjs.map +1 -1
- package/dist/core/entities/consent/index.d.ts +1 -0
- package/dist/core/entities/consent/index.d.ts.map +1 -1
- package/dist/core/entities/consent/index.mjs +2 -1
- package/dist/core/entities/consent/schema.d.ts +3 -0
- package/dist/core/entities/consent/schema.d.ts.map +1 -0
- package/dist/core/entities/consent/schema.mjs +40 -0
- package/dist/core/entities/consent/schema.mjs.map +1 -0
- package/dist/core/entities/consent/service.d.ts.map +1 -1
- package/dist/core/entities/consent/service.mjs +22 -6
- package/dist/core/entities/consent/service.mjs.map +1 -1
- package/dist/core/entities/consent/types.d.ts +3 -2
- package/dist/core/entities/consent/types.d.ts.map +1 -1
- package/dist/core/entities/consent/types.mjs +3 -3
- package/dist/core/entities/consent/types.mjs.map +1 -1
- package/dist/core/entities/event/diff.d.ts +4 -4
- package/dist/core/entities/event/diff.mjs +5 -5
- package/dist/core/entities/event/diff.mjs.map +1 -1
- package/dist/core/entities/event/entity-event-handler.d.ts.map +1 -1
- package/dist/core/entities/event/entity-event-handler.mjs +29 -31
- package/dist/core/entities/event/entity-event-handler.mjs.map +1 -1
- package/dist/core/entities/event/index.d.ts +1 -0
- package/dist/core/entities/event/index.d.ts.map +1 -1
- package/dist/core/entities/event/index.mjs +2 -1
- package/dist/core/entities/event/sanitize.mjs +8 -8
- package/dist/core/entities/event/sanitize.mjs.map +1 -1
- package/dist/core/entities/event/schema.d.ts +3 -0
- package/dist/core/entities/event/schema.d.ts.map +1 -0
- package/dist/core/entities/event/schema.mjs +51 -0
- package/dist/core/entities/event/schema.mjs.map +1 -0
- package/dist/core/entities/event/service.d.ts.map +1 -1
- package/dist/core/entities/event/service.mjs +38 -22
- package/dist/core/entities/event/service.mjs.map +1 -1
- package/dist/core/entities/event/types.d.ts +6 -5
- package/dist/core/entities/event/types.d.ts.map +1 -1
- package/dist/core/entities/identity-provider/index.d.ts +1 -0
- package/dist/core/entities/identity-provider/index.d.ts.map +1 -1
- package/dist/core/entities/identity-provider/index.mjs +2 -1
- package/dist/core/entities/identity-provider/schema.d.ts +3 -0
- package/dist/core/entities/identity-provider/schema.d.ts.map +1 -0
- package/dist/core/entities/identity-provider/schema.mjs +43 -0
- package/dist/core/entities/identity-provider/schema.mjs.map +1 -0
- package/dist/core/entities/identity-provider-role-mapping/index.d.ts +1 -0
- package/dist/core/entities/identity-provider-role-mapping/index.d.ts.map +1 -1
- package/dist/core/entities/identity-provider-role-mapping/index.mjs +2 -1
- package/dist/core/entities/identity-provider-role-mapping/schema.d.ts +3 -0
- package/dist/core/entities/identity-provider-role-mapping/schema.d.ts.map +1 -0
- package/dist/core/entities/identity-provider-role-mapping/schema.mjs +43 -0
- package/dist/core/entities/identity-provider-role-mapping/schema.mjs.map +1 -0
- package/dist/core/entities/identity-provider-role-mapping/service.d.ts +1 -1
- package/dist/core/entities/identity-provider-role-mapping/service.d.ts.map +1 -1
- package/dist/core/entities/identity-provider-role-mapping/service.mjs +17 -11
- package/dist/core/entities/identity-provider-role-mapping/service.mjs.map +1 -1
- package/dist/core/entities/index.d.ts +0 -3
- package/dist/core/entities/index.d.ts.map +1 -1
- package/dist/core/entities/index.mjs +26 -7
- package/dist/core/entities/key/index.d.ts +1 -0
- package/dist/core/entities/key/index.d.ts.map +1 -1
- package/dist/core/entities/key/index.mjs +2 -1
- package/dist/core/entities/key/schema.d.ts +3 -0
- package/dist/core/entities/key/schema.d.ts.map +1 -0
- package/dist/core/entities/key/schema.mjs +53 -0
- package/dist/core/entities/key/schema.mjs.map +1 -0
- package/dist/core/entities/key/service.d.ts +2 -2
- package/dist/core/entities/key/service.d.ts.map +1 -1
- package/dist/core/entities/key/service.mjs +47 -28
- package/dist/core/entities/key/service.mjs.map +1 -1
- package/dist/core/entities/key/types.d.ts +9 -1
- package/dist/core/entities/key/types.d.ts.map +1 -1
- package/dist/core/entities/permission/index.d.ts +1 -0
- package/dist/core/entities/permission/index.d.ts.map +1 -1
- package/dist/core/entities/permission/index.mjs +2 -1
- package/dist/core/entities/permission/schema.d.ts +3 -0
- package/dist/core/entities/permission/schema.d.ts.map +1 -0
- package/dist/core/entities/permission/schema.mjs +28 -0
- package/dist/core/entities/permission/schema.mjs.map +1 -0
- package/dist/core/entities/permission/service.d.ts +7 -2
- package/dist/core/entities/permission/service.d.ts.map +1 -1
- package/dist/core/entities/permission/service.mjs +53 -40
- package/dist/core/entities/permission/service.mjs.map +1 -1
- package/dist/core/entities/permission-policy/index.d.ts +1 -0
- package/dist/core/entities/permission-policy/index.d.ts.map +1 -1
- package/dist/core/entities/permission-policy/index.mjs +2 -1
- package/dist/core/entities/permission-policy/schema.d.ts +3 -0
- package/dist/core/entities/permission-policy/schema.d.ts.map +1 -0
- package/dist/core/entities/permission-policy/schema.mjs +39 -0
- package/dist/core/entities/permission-policy/schema.mjs.map +1 -0
- package/dist/core/entities/permission-policy/service.d.ts +1 -1
- package/dist/core/entities/permission-policy/service.d.ts.map +1 -1
- package/dist/core/entities/permission-policy/service.mjs +12 -6
- package/dist/core/entities/permission-policy/service.mjs.map +1 -1
- package/dist/core/entities/policy/index.d.ts +1 -0
- package/dist/core/entities/policy/index.d.ts.map +1 -1
- package/dist/core/entities/policy/index.mjs +2 -1
- package/dist/core/entities/policy/schema.d.ts +3 -0
- package/dist/core/entities/policy/schema.d.ts.map +1 -0
- package/dist/core/entities/policy/schema.mjs +49 -0
- package/dist/core/entities/policy/schema.mjs.map +1 -0
- package/dist/core/entities/policy/service.d.ts.map +1 -1
- package/dist/core/entities/policy/service.mjs +13 -7
- package/dist/core/entities/policy/service.mjs.map +1 -1
- package/dist/core/entities/realm/index.d.ts +1 -0
- package/dist/core/entities/realm/index.d.ts.map +1 -1
- package/dist/core/entities/realm/index.mjs +2 -1
- package/dist/core/entities/realm/schema.d.ts +3 -0
- package/dist/core/entities/realm/schema.d.ts.map +1 -0
- package/dist/core/entities/realm/schema.mjs +36 -0
- package/dist/core/entities/realm/schema.mjs.map +1 -0
- package/dist/core/entities/realm/service.d.ts.map +1 -1
- package/dist/core/entities/realm/service.mjs +5 -2
- package/dist/core/entities/realm/service.mjs.map +1 -1
- package/dist/core/entities/realm/types.d.ts +1 -1
- package/dist/core/entities/role/index.d.ts +1 -0
- package/dist/core/entities/role/index.d.ts.map +1 -1
- package/dist/core/entities/role/index.mjs +2 -1
- package/dist/core/entities/role/schema.d.ts +3 -0
- package/dist/core/entities/role/schema.d.ts.map +1 -0
- package/dist/core/entities/role/schema.mjs +43 -0
- package/dist/core/entities/role/schema.mjs.map +1 -0
- package/dist/core/entities/role/service.d.ts.map +1 -1
- package/dist/core/entities/role/service.mjs +11 -5
- package/dist/core/entities/role/service.mjs.map +1 -1
- package/dist/core/entities/role-attribute/index.d.ts +1 -0
- package/dist/core/entities/role-attribute/index.d.ts.map +1 -1
- package/dist/core/entities/role-attribute/index.mjs +2 -1
- package/dist/core/entities/role-attribute/schema.d.ts +3 -0
- package/dist/core/entities/role-attribute/schema.d.ts.map +1 -0
- package/dist/core/entities/role-attribute/schema.mjs +47 -0
- package/dist/core/entities/role-attribute/schema.mjs.map +1 -0
- package/dist/core/entities/role-attribute/service.d.ts.map +1 -1
- package/dist/core/entities/role-attribute/service.mjs +19 -6
- package/dist/core/entities/role-attribute/service.mjs.map +1 -1
- package/dist/core/entities/role-permission/index.d.ts +1 -0
- package/dist/core/entities/role-permission/index.d.ts.map +1 -1
- package/dist/core/entities/role-permission/index.mjs +2 -1
- package/dist/core/entities/role-permission/schema.d.ts +3 -0
- package/dist/core/entities/role-permission/schema.d.ts.map +1 -0
- package/dist/core/entities/role-permission/schema.mjs +41 -0
- package/dist/core/entities/role-permission/schema.mjs.map +1 -0
- package/dist/core/entities/role-permission/service.d.ts +1 -1
- package/dist/core/entities/role-permission/service.d.ts.map +1 -1
- package/dist/core/entities/role-permission/service.mjs +24 -18
- package/dist/core/entities/role-permission/service.mjs.map +1 -1
- package/dist/core/entities/scope/index.d.ts +1 -0
- package/dist/core/entities/scope/index.d.ts.map +1 -1
- package/dist/core/entities/scope/index.mjs +2 -1
- package/dist/core/entities/scope/schema.d.ts +3 -0
- package/dist/core/entities/scope/schema.d.ts.map +1 -0
- package/dist/core/entities/scope/schema.mjs +43 -0
- package/dist/core/entities/scope/schema.mjs.map +1 -0
- package/dist/core/entities/scope/service.d.ts.map +1 -1
- package/dist/core/entities/scope/service.mjs +11 -5
- package/dist/core/entities/scope/service.mjs.map +1 -1
- package/dist/core/entities/session/index.d.ts +1 -0
- package/dist/core/entities/session/index.d.ts.map +1 -1
- package/dist/core/entities/session/index.mjs +2 -1
- package/dist/core/entities/session/schema.d.ts +3 -0
- package/dist/core/entities/session/schema.d.ts.map +1 -0
- package/dist/core/entities/session/schema.mjs +44 -0
- package/dist/core/entities/session/schema.mjs.map +1 -0
- package/dist/core/entities/session/service.d.ts +11 -0
- package/dist/core/entities/session/service.d.ts.map +1 -1
- package/dist/core/entities/session/service.mjs +48 -11
- package/dist/core/entities/session/service.mjs.map +1 -1
- package/dist/core/entities/session/types.d.ts +2 -2
- package/dist/core/entities/trust-anchor/index.d.ts +1 -0
- package/dist/core/entities/trust-anchor/index.d.ts.map +1 -1
- package/dist/core/entities/trust-anchor/index.mjs +2 -1
- package/dist/core/entities/trust-anchor/schema.d.ts +3 -0
- package/dist/core/entities/trust-anchor/schema.d.ts.map +1 -0
- package/dist/core/entities/trust-anchor/schema.mjs +43 -0
- package/dist/core/entities/trust-anchor/schema.mjs.map +1 -0
- package/dist/core/entities/trust-anchor/service.d.ts +2 -2
- package/dist/core/entities/trust-anchor/service.d.ts.map +1 -1
- package/dist/core/entities/trust-anchor/service.mjs +23 -7
- package/dist/core/entities/trust-anchor/service.mjs.map +1 -1
- package/dist/core/entities/trust-anchor/types.d.ts +9 -1
- package/dist/core/entities/trust-anchor/types.d.ts.map +1 -1
- package/dist/core/entities/user/index.d.ts +1 -0
- package/dist/core/entities/user/index.d.ts.map +1 -1
- package/dist/core/entities/user/index.mjs +2 -1
- package/dist/core/entities/user/schema.d.ts +3 -0
- package/dist/core/entities/user/schema.d.ts.map +1 -0
- package/dist/core/entities/user/schema.mjs +50 -0
- package/dist/core/entities/user/schema.mjs.map +1 -0
- package/dist/core/entities/user/service.d.ts.map +1 -1
- package/dist/core/entities/user/service.mjs +33 -12
- package/dist/core/entities/user/service.mjs.map +1 -1
- package/dist/core/entities/user/types.d.ts +2 -1
- package/dist/core/entities/user/types.d.ts.map +1 -1
- package/dist/core/entities/user-attribute/index.d.ts +1 -0
- package/dist/core/entities/user-attribute/index.d.ts.map +1 -1
- package/dist/core/entities/user-attribute/index.mjs +2 -1
- package/dist/core/entities/user-attribute/schema.d.ts +3 -0
- package/dist/core/entities/user-attribute/schema.d.ts.map +1 -0
- package/dist/core/entities/user-attribute/schema.mjs +47 -0
- package/dist/core/entities/user-attribute/schema.mjs.map +1 -0
- package/dist/core/entities/user-attribute/service.d.ts.map +1 -1
- package/dist/core/entities/user-attribute/service.mjs +26 -10
- package/dist/core/entities/user-attribute/service.mjs.map +1 -1
- package/dist/core/entities/user-authenticator/index.d.ts +1 -0
- package/dist/core/entities/user-authenticator/index.d.ts.map +1 -1
- package/dist/core/entities/user-authenticator/index.mjs +2 -1
- package/dist/core/entities/user-authenticator/schema.d.ts +3 -0
- package/dist/core/entities/user-authenticator/schema.d.ts.map +1 -0
- package/dist/core/entities/user-authenticator/schema.mjs +47 -0
- package/dist/core/entities/user-authenticator/schema.mjs.map +1 -0
- package/dist/core/entities/user-authenticator/service.d.ts.map +1 -1
- package/dist/core/entities/user-authenticator/service.mjs +49 -27
- package/dist/core/entities/user-authenticator/service.mjs.map +1 -1
- package/dist/core/entities/user-authenticator/types.d.ts +4 -3
- package/dist/core/entities/user-authenticator/types.d.ts.map +1 -1
- package/dist/core/entities/user-authenticator/types.mjs +2 -2
- package/dist/core/entities/user-authenticator/types.mjs.map +1 -1
- package/dist/core/entities/user-permission/index.d.ts +1 -0
- package/dist/core/entities/user-permission/index.d.ts.map +1 -1
- package/dist/core/entities/user-permission/index.mjs +2 -1
- package/dist/core/entities/user-permission/schema.d.ts +3 -0
- package/dist/core/entities/user-permission/schema.d.ts.map +1 -0
- package/dist/core/entities/user-permission/schema.mjs +41 -0
- package/dist/core/entities/user-permission/schema.mjs.map +1 -0
- package/dist/core/entities/user-permission/service.d.ts +1 -1
- package/dist/core/entities/user-permission/service.d.ts.map +1 -1
- package/dist/core/entities/user-permission/service.mjs +24 -18
- package/dist/core/entities/user-permission/service.mjs.map +1 -1
- package/dist/core/entities/user-role/index.d.ts +1 -0
- package/dist/core/entities/user-role/index.d.ts.map +1 -1
- package/dist/core/entities/user-role/index.mjs +2 -1
- package/dist/core/entities/user-role/schema.d.ts +3 -0
- package/dist/core/entities/user-role/schema.d.ts.map +1 -0
- package/dist/core/entities/user-role/schema.mjs +39 -0
- package/dist/core/entities/user-role/schema.mjs.map +1 -0
- package/dist/core/entities/user-role/service.d.ts +1 -1
- package/dist/core/entities/user-role/service.d.ts.map +1 -1
- package/dist/core/entities/user-role/service.mjs +14 -8
- package/dist/core/entities/user-role/service.mjs.map +1 -1
- package/dist/core/identity/entities/index.d.ts +0 -1
- package/dist/core/identity/entities/index.d.ts.map +1 -1
- package/dist/core/identity/password-recovery/service.mjs +21 -21
- package/dist/core/identity/password-recovery/service.mjs.map +1 -1
- package/dist/core/identity/password-recovery/types.d.ts +2 -2
- package/dist/core/identity/password-recovery/types.d.ts.map +1 -1
- package/dist/core/identity/permission/checker/service.mjs +2 -2
- package/dist/core/identity/permission/checker/service.mjs.map +1 -1
- package/dist/core/identity/permission/identity-policy-data.mjs +2 -2
- package/dist/core/identity/permission/identity-policy-data.mjs.map +1 -1
- package/dist/core/identity/permission/junction-grant.d.ts +6 -6
- package/dist/core/identity/permission/junction-grant.mjs +14 -14
- package/dist/core/identity/permission/junction-grant.mjs.map +1 -1
- package/dist/core/identity/permission/module.d.ts +0 -3
- package/dist/core/identity/permission/module.d.ts.map +1 -1
- package/dist/core/identity/permission/module.mjs +9 -15
- package/dist/core/identity/permission/module.mjs.map +1 -1
- package/dist/core/identity/permission/types.d.ts +0 -2
- package/dist/core/identity/permission/types.d.ts.map +1 -1
- package/dist/core/identity/policy/checker/service.mjs +1 -1
- package/dist/core/identity/policy/checker/service.mjs.map +1 -1
- package/dist/core/identity/provider/account/module.mjs +9 -9
- package/dist/core/identity/provider/account/module.mjs.map +1 -1
- package/dist/core/identity/provider/authentication/presets/facebook.mjs +5 -5
- package/dist/core/identity/provider/authentication/presets/facebook.mjs.map +1 -1
- package/dist/core/identity/provider/authentication/presets/github.mjs +3 -3
- package/dist/core/identity/provider/authentication/presets/github.mjs.map +1 -1
- package/dist/core/identity/provider/authentication/presets/google.mjs +5 -5
- package/dist/core/identity/provider/authentication/presets/google.mjs.map +1 -1
- package/dist/core/identity/provider/authentication/presets/instagram.mjs +3 -3
- package/dist/core/identity/provider/authentication/presets/instagram.mjs.map +1 -1
- package/dist/core/identity/provider/authentication/presets/paypal.mjs +3 -3
- package/dist/core/identity/provider/authentication/presets/paypal.mjs.map +1 -1
- package/dist/core/identity/provider/authentication/protocols/ldap/module.mjs +20 -20
- package/dist/core/identity/provider/authentication/protocols/ldap/module.mjs.map +1 -1
- package/dist/core/identity/provider/authentication/protocols/oauth2/module.mjs +5 -5
- package/dist/core/identity/provider/authentication/protocols/oauth2/module.mjs.map +1 -1
- package/dist/core/identity/provider/mapper/attributes/module.mjs +3 -3
- package/dist/core/identity/provider/mapper/attributes/module.mjs.map +1 -1
- package/dist/core/identity/provider/mapper/base.mjs +2 -2
- package/dist/core/identity/provider/mapper/base.mjs.map +1 -1
- package/dist/core/identity/provider/mapper/permission/module.mjs +2 -2
- package/dist/core/identity/provider/mapper/permission/module.mjs.map +1 -1
- package/dist/core/identity/provider/mapper/role/module.mjs +2 -2
- package/dist/core/identity/provider/mapper/role/module.mjs.map +1 -1
- package/dist/core/identity/registration/service.mjs +9 -9
- package/dist/core/identity/registration/service.mjs.map +1 -1
- package/dist/core/identity/resolver/module.d.ts +1 -3
- package/dist/core/identity/resolver/module.d.ts.map +1 -1
- package/dist/core/identity/resolver/module.mjs +0 -13
- package/dist/core/identity/resolver/module.mjs.map +1 -1
- package/dist/core/identity/resolver/types.d.ts +1 -2
- package/dist/core/identity/resolver/types.d.ts.map +1 -1
- package/dist/core/identity/role/module.d.ts +0 -2
- package/dist/core/identity/role/module.d.ts.map +1 -1
- package/dist/core/identity/role/module.mjs +1 -4
- package/dist/core/identity/role/module.mjs.map +1 -1
- package/dist/core/identity/role/types.d.ts +0 -2
- package/dist/core/identity/role/types.d.ts.map +1 -1
- package/dist/core/index.d.ts +1 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.mjs +28 -9
- package/dist/core/key/realm-cipher.mjs +5 -5
- package/dist/core/key/realm-cipher.mjs.map +1 -1
- package/dist/core/oauth2/authorization/code-request/verifier/module.mjs +3 -3
- package/dist/core/oauth2/authorization/code-request/verifier/module.mjs.map +1 -1
- package/dist/core/oauth2/authorization/helpers.d.ts +2 -2
- package/dist/core/oauth2/authorization/helpers.d.ts.map +1 -1
- package/dist/core/oauth2/authorization/helpers.mjs +5 -5
- package/dist/core/oauth2/authorization/helpers.mjs.map +1 -1
- package/dist/core/oauth2/authorization/module.mjs +8 -8
- package/dist/core/oauth2/authorization/module.mjs.map +1 -1
- package/dist/core/oauth2/client/authenticator.d.ts +1 -1
- package/dist/core/oauth2/client/authenticator.d.ts.map +1 -1
- package/dist/core/oauth2/client/authenticator.mjs +3 -3
- package/dist/core/oauth2/client/authenticator.mjs.map +1 -1
- package/dist/core/oauth2/client/grant-type.d.ts +1 -1
- package/dist/core/oauth2/client/grant-type.d.ts.map +1 -1
- package/dist/core/oauth2/client/grant-type.mjs +2 -2
- package/dist/core/oauth2/client/grant-type.mjs.map +1 -1
- package/dist/core/oauth2/end-session/service.mjs +5 -5
- package/dist/core/oauth2/end-session/service.mjs.map +1 -1
- package/dist/core/oauth2/grant-types/authorize.mjs +9 -9
- package/dist/core/oauth2/grant-types/authorize.mjs.map +1 -1
- package/dist/core/oauth2/grant-types/client-credentials.mjs +7 -7
- package/dist/core/oauth2/grant-types/client-credentials.mjs.map +1 -1
- package/dist/core/oauth2/grant-types/identity.mjs +10 -10
- package/dist/core/oauth2/grant-types/identity.mjs.map +1 -1
- package/dist/core/oauth2/grant-types/index.d.ts +0 -1
- package/dist/core/oauth2/grant-types/index.d.ts.map +1 -1
- package/dist/core/oauth2/grant-types/index.mjs +1 -2
- package/dist/core/oauth2/grant-types/password.d.ts +1 -1
- package/dist/core/oauth2/grant-types/password.mjs +13 -13
- package/dist/core/oauth2/grant-types/password.mjs.map +1 -1
- package/dist/core/oauth2/grant-types/refresh-token.mjs +12 -12
- package/dist/core/oauth2/grant-types/refresh-token.mjs.map +1 -1
- package/dist/core/oauth2/index.mjs +1 -2
- package/dist/core/oauth2/mfa-login/module.mjs +21 -21
- package/dist/core/oauth2/mfa-login/module.mjs.map +1 -1
- package/dist/core/oauth2/mfa-login/types.d.ts +1 -1
- package/dist/core/oauth2/openid/claims.d.ts +1 -3
- package/dist/core/oauth2/openid/claims.d.ts.map +1 -1
- package/dist/core/oauth2/openid/claims.mjs +6 -19
- package/dist/core/oauth2/openid/claims.mjs.map +1 -1
- package/dist/core/oauth2/scope/resolver.d.ts +1 -3
- package/dist/core/oauth2/scope/resolver.d.ts.map +1 -1
- package/dist/core/oauth2/scope/resolver.mjs +9 -31
- package/dist/core/oauth2/scope/resolver.mjs.map +1 -1
- package/dist/core/oauth2/session-token/types.d.ts +8 -8
- package/dist/core/oauth2/session-token/types.d.ts.map +1 -1
- package/dist/core/oauth2/token/issuer/access/module.mjs +7 -7
- package/dist/core/oauth2/token/issuer/access/module.mjs.map +1 -1
- package/dist/core/oauth2/token/issuer/refresh/module.mjs +5 -5
- package/dist/core/oauth2/token/issuer/refresh/module.mjs.map +1 -1
- package/dist/core/oauth2/token/signer/module.mjs +6 -6
- package/dist/core/oauth2/token/signer/module.mjs.map +1 -1
- package/dist/core/oauth2/token/verifier/module.mjs +8 -8
- package/dist/core/oauth2/token/verifier/module.mjs.map +1 -1
- package/dist/core/provisioning/entities/index.d.ts +0 -1
- package/dist/core/provisioning/entities/index.d.ts.map +1 -1
- package/dist/core/provisioning/entities/index.mjs +1 -3
- package/dist/core/provisioning/entities/policy/validator.d.ts +2 -0
- package/dist/core/provisioning/entities/policy/validator.d.ts.map +1 -1
- package/dist/core/provisioning/entities/policy/validator.mjs +10 -1
- package/dist/core/provisioning/entities/policy/validator.mjs.map +1 -1
- package/dist/core/provisioning/entities/realm/relations-validator.d.ts.map +1 -1
- package/dist/core/provisioning/entities/realm/relations-validator.mjs +0 -4
- package/dist/core/provisioning/entities/realm/relations-validator.mjs.map +1 -1
- package/dist/core/provisioning/entities/realm/types.d.ts +0 -2
- package/dist/core/provisioning/entities/realm/types.d.ts.map +1 -1
- package/dist/core/provisioning/entities/role/types.d.ts +2 -2
- package/dist/core/provisioning/index.mjs +1 -3
- package/dist/core/provisioning/synchronizer/client/module.mjs +11 -11
- package/dist/core/provisioning/synchronizer/client/module.mjs.map +1 -1
- package/dist/core/provisioning/synchronizer/entity-resolver.mjs +12 -12
- package/dist/core/provisioning/synchronizer/entity-resolver.mjs.map +1 -1
- package/dist/core/provisioning/synchronizer/index.d.ts +0 -1
- package/dist/core/provisioning/synchronizer/index.d.ts.map +1 -1
- package/dist/core/provisioning/synchronizer/index.mjs +1 -3
- package/dist/core/provisioning/synchronizer/junction-synchronizer.d.ts +2 -2
- package/dist/core/provisioning/synchronizer/junction-synchronizer.d.ts.map +1 -1
- package/dist/core/provisioning/synchronizer/junction-synchronizer.mjs +2 -2
- package/dist/core/provisioning/synchronizer/junction-synchronizer.mjs.map +1 -1
- package/dist/core/provisioning/synchronizer/permission/module.mjs +8 -8
- package/dist/core/provisioning/synchronizer/permission/module.mjs.map +1 -1
- package/dist/core/provisioning/synchronizer/policy/module.mjs +11 -11
- package/dist/core/provisioning/synchronizer/policy/module.mjs.map +1 -1
- package/dist/core/provisioning/synchronizer/realm/module.d.ts +0 -2
- package/dist/core/provisioning/synchronizer/realm/module.d.ts.map +1 -1
- package/dist/core/provisioning/synchronizer/realm/module.mjs +5 -15
- package/dist/core/provisioning/synchronizer/realm/module.mjs.map +1 -1
- package/dist/core/provisioning/synchronizer/realm/types.d.ts +0 -2
- package/dist/core/provisioning/synchronizer/realm/types.d.ts.map +1 -1
- package/dist/core/provisioning/synchronizer/role/module.mjs +7 -7
- package/dist/core/provisioning/synchronizer/role/module.mjs.map +1 -1
- package/dist/core/provisioning/synchronizer/scope/module.mjs +1 -1
- package/dist/core/provisioning/synchronizer/scope/module.mjs.map +1 -1
- package/dist/core/provisioning/synchronizer/user/module.mjs +13 -13
- package/dist/core/provisioning/synchronizer/user/module.mjs.map +1 -1
- package/dist/core/query/index.d.ts +4 -0
- package/dist/core/query/index.d.ts.map +1 -0
- package/dist/core/query/index.mjs +6 -0
- package/dist/core/query/module.d.ts +60 -0
- package/dist/core/query/module.d.ts.map +1 -0
- package/dist/core/query/module.mjs +128 -0
- package/dist/core/query/module.mjs.map +1 -0
- package/dist/core/query/relations.d.ts +39 -0
- package/dist/core/query/relations.d.ts.map +1 -0
- package/dist/core/query/relations.mjs +103 -0
- package/dist/core/query/relations.mjs.map +1 -0
- package/dist/core/query/types.d.ts +39 -0
- package/dist/core/query/types.d.ts.map +1 -0
- package/dist/core/security/policy/evaluator.d.ts +1 -0
- package/dist/core/security/policy/evaluator.d.ts.map +1 -1
- package/dist/core/security/policy/evaluator.mjs +52 -5
- package/dist/core/security/policy/evaluator.mjs.map +1 -1
- package/dist/index.mjs +1 -17
- package/dist/swagger.json +2552 -3798
- package/dist/ui/client/.vite/ssr-manifest.json +1542 -894
- package/dist/ui/client/assets/{index-CT0Nq5pA.js → index-BmJ2X468.js} +21 -18
- package/dist/ui/client/assets/{index-BmWsoQro.css → index-DiOvW76Q.css} +1 -1
- package/dist/ui/client/index.html +2 -2
- package/dist/ui/server/server.js +9810 -3361
- package/package.json +27 -22
- package/dist/adapters/database/domains/robot/entity.d.ts +0 -19
- package/dist/adapters/database/domains/robot/entity.d.ts.map +0 -1
- package/dist/adapters/database/domains/robot/entity.mjs +0 -112
- package/dist/adapters/database/domains/robot/entity.mjs.map +0 -1
- package/dist/adapters/database/domains/robot/index.d.ts +0 -3
- package/dist/adapters/database/domains/robot/index.d.ts.map +0 -1
- package/dist/adapters/database/domains/robot/index.mjs +0 -6
- package/dist/adapters/database/domains/robot/subscriber.d.ts +0 -6
- package/dist/adapters/database/domains/robot/subscriber.d.ts.map +0 -1
- package/dist/adapters/database/domains/robot/subscriber.mjs +0 -42
- package/dist/adapters/database/domains/robot/subscriber.mjs.map +0 -1
- package/dist/adapters/database/domains/robot-permission/entity.d.ts +0 -18
- package/dist/adapters/database/domains/robot-permission/entity.d.ts.map +0 -1
- package/dist/adapters/database/domains/robot-permission/entity.mjs +0 -91
- package/dist/adapters/database/domains/robot-permission/entity.mjs.map +0 -1
- package/dist/adapters/database/domains/robot-permission/index.d.ts +0 -3
- package/dist/adapters/database/domains/robot-permission/index.d.ts.map +0 -1
- package/dist/adapters/database/domains/robot-permission/index.mjs +0 -6
- package/dist/adapters/database/domains/robot-permission/subscriber.d.ts +0 -6
- package/dist/adapters/database/domains/robot-permission/subscriber.d.ts.map +0 -1
- package/dist/adapters/database/domains/robot-permission/subscriber.mjs +0 -45
- package/dist/adapters/database/domains/robot-permission/subscriber.mjs.map +0 -1
- package/dist/adapters/database/domains/robot-role/entity.d.ts +0 -15
- package/dist/adapters/database/domains/robot-role/entity.d.ts.map +0 -1
- package/dist/adapters/database/domains/robot-role/entity.mjs +0 -72
- package/dist/adapters/database/domains/robot-role/entity.mjs.map +0 -1
- package/dist/adapters/database/domains/robot-role/index.d.ts +0 -3
- package/dist/adapters/database/domains/robot-role/index.d.ts.map +0 -1
- package/dist/adapters/database/domains/robot-role/index.mjs +0 -6
- package/dist/adapters/database/domains/robot-role/subscriber.d.ts +0 -6
- package/dist/adapters/database/domains/robot-role/subscriber.d.ts.map +0 -1
- package/dist/adapters/database/domains/robot-role/subscriber.mjs +0 -45
- package/dist/adapters/database/domains/robot-role/subscriber.mjs.map +0 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/robot-credentials.d.ts +0 -12
- package/dist/adapters/http/adapters/oauth2/grant-types/robot-credentials.d.ts.map +0 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/robot-credentials.mjs +0 -27
- package/dist/adapters/http/adapters/oauth2/grant-types/robot-credentials.mjs.map +0 -1
- package/dist/adapters/http/controllers/entities/robot/index.d.ts +0 -2
- package/dist/adapters/http/controllers/entities/robot/index.d.ts.map +0 -1
- package/dist/adapters/http/controllers/entities/robot/index.mjs +0 -5
- package/dist/adapters/http/controllers/entities/robot/module.d.ts +0 -25
- package/dist/adapters/http/controllers/entities/robot/module.d.ts.map +0 -1
- package/dist/adapters/http/controllers/entities/robot/module.mjs +0 -180
- package/dist/adapters/http/controllers/entities/robot/module.mjs.map +0 -1
- package/dist/adapters/http/controllers/entities/robot-permission/index.d.ts +0 -3
- package/dist/adapters/http/controllers/entities/robot-permission/index.d.ts.map +0 -1
- package/dist/adapters/http/controllers/entities/robot-permission/index.mjs +0 -7
- package/dist/adapters/http/controllers/entities/robot-permission/module.d.ts +0 -17
- package/dist/adapters/http/controllers/entities/robot-permission/module.d.ts.map +0 -1
- package/dist/adapters/http/controllers/entities/robot-permission/module.mjs +0 -114
- package/dist/adapters/http/controllers/entities/robot-permission/module.mjs.map +0 -1
- package/dist/adapters/http/controllers/entities/robot-permission/utils/index.d.ts +0 -2
- package/dist/adapters/http/controllers/entities/robot-permission/utils/index.d.ts.map +0 -1
- package/dist/adapters/http/controllers/entities/robot-permission/utils/index.mjs +0 -5
- package/dist/adapters/http/controllers/entities/robot-permission/utils/validation.d.ts +0 -6
- package/dist/adapters/http/controllers/entities/robot-permission/utils/validation.d.ts.map +0 -1
- package/dist/adapters/http/controllers/entities/robot-permission/utils/validation.mjs +0 -21
- package/dist/adapters/http/controllers/entities/robot-permission/utils/validation.mjs.map +0 -1
- package/dist/adapters/http/controllers/entities/robot-role/index.d.ts +0 -3
- package/dist/adapters/http/controllers/entities/robot-role/index.d.ts.map +0 -1
- package/dist/adapters/http/controllers/entities/robot-role/index.mjs +0 -7
- package/dist/adapters/http/controllers/entities/robot-role/module.d.ts +0 -16
- package/dist/adapters/http/controllers/entities/robot-role/module.d.ts.map +0 -1
- package/dist/adapters/http/controllers/entities/robot-role/module.mjs +0 -95
- package/dist/adapters/http/controllers/entities/robot-role/module.mjs.map +0 -1
- package/dist/adapters/http/controllers/entities/robot-role/utils/index.d.ts +0 -2
- package/dist/adapters/http/controllers/entities/robot-role/utils/index.d.ts.map +0 -1
- package/dist/adapters/http/controllers/entities/robot-role/utils/index.mjs +0 -5
- package/dist/adapters/http/controllers/entities/robot-role/utils/validation.d.ts +0 -6
- package/dist/adapters/http/controllers/entities/robot-role/utils/validation.d.ts.map +0 -1
- package/dist/adapters/http/controllers/entities/robot-role/utils/validation.mjs +0 -20
- package/dist/adapters/http/controllers/entities/robot-role/utils/validation.mjs.map +0 -1
- package/dist/app/modules/database/repositories/robot/index.d.ts +0 -2
- package/dist/app/modules/database/repositories/robot/index.d.ts.map +0 -1
- package/dist/app/modules/database/repositories/robot/index.mjs +0 -5
- package/dist/app/modules/database/repositories/robot/repository.d.ts +0 -31
- package/dist/app/modules/database/repositories/robot/repository.d.ts.map +0 -1
- package/dist/app/modules/database/repositories/robot/repository.mjs +0 -190
- package/dist/app/modules/database/repositories/robot/repository.mjs.map +0 -1
- package/dist/app/modules/database/repositories/robot-permission/index.d.ts +0 -2
- package/dist/app/modules/database/repositories/robot-permission/index.d.ts.map +0 -1
- package/dist/app/modules/database/repositories/robot-permission/index.mjs +0 -5
- package/dist/app/modules/database/repositories/robot-permission/repository.d.ts +0 -20
- package/dist/app/modules/database/repositories/robot-permission/repository.d.ts.map +0 -1
- package/dist/app/modules/database/repositories/robot-permission/repository.mjs +0 -79
- package/dist/app/modules/database/repositories/robot-permission/repository.mjs.map +0 -1
- package/dist/app/modules/database/repositories/robot-role/index.d.ts +0 -2
- package/dist/app/modules/database/repositories/robot-role/index.d.ts.map +0 -1
- package/dist/app/modules/database/repositories/robot-role/index.mjs +0 -5
- package/dist/app/modules/database/repositories/robot-role/repository.d.ts +0 -20
- package/dist/app/modules/database/repositories/robot-role/repository.d.ts.map +0 -1
- package/dist/app/modules/database/repositories/robot-role/repository.mjs +0 -79
- package/dist/app/modules/database/repositories/robot-role/repository.mjs.map +0 -1
- package/dist/app/modules/identity/repositories/robot.d.ts +0 -13
- package/dist/app/modules/identity/repositories/robot.d.ts.map +0 -1
- package/dist/app/modules/identity/repositories/robot.mjs +0 -47
- package/dist/app/modules/identity/repositories/robot.mjs.map +0 -1
- package/dist/core/authentication/credential/entities/robot/index.d.ts +0 -2
- package/dist/core/authentication/credential/entities/robot/index.d.ts.map +0 -1
- package/dist/core/authentication/credential/entities/robot/index.mjs +0 -5
- package/dist/core/authentication/credential/entities/robot/module.d.ts +0 -8
- package/dist/core/authentication/credential/entities/robot/module.d.ts.map +0 -1
- package/dist/core/authentication/credential/entities/robot/module.mjs +0 -22
- package/dist/core/authentication/credential/entities/robot/module.mjs.map +0 -1
- package/dist/core/authentication/entities/robot/index.d.ts +0 -2
- package/dist/core/authentication/entities/robot/index.d.ts.map +0 -1
- package/dist/core/authentication/entities/robot/index.mjs +0 -5
- package/dist/core/authentication/entities/robot/module.d.ts +0 -11
- package/dist/core/authentication/entities/robot/module.d.ts.map +0 -1
- package/dist/core/authentication/entities/robot/module.mjs +0 -29
- package/dist/core/authentication/entities/robot/module.mjs.map +0 -1
- package/dist/core/entities/robot/index.d.ts +0 -3
- package/dist/core/entities/robot/index.d.ts.map +0 -1
- package/dist/core/entities/robot/index.mjs +0 -5
- package/dist/core/entities/robot/service.d.ts +0 -28
- package/dist/core/entities/robot/service.d.ts.map +0 -1
- package/dist/core/entities/robot/service.mjs +0 -201
- package/dist/core/entities/robot/service.mjs.map +0 -1
- package/dist/core/entities/robot/types.d.ts +0 -24
- package/dist/core/entities/robot/types.d.ts.map +0 -1
- package/dist/core/entities/robot/types.mjs +0 -4
- package/dist/core/entities/robot-permission/index.d.ts +0 -3
- package/dist/core/entities/robot-permission/index.d.ts.map +0 -1
- package/dist/core/entities/robot-permission/index.mjs +0 -5
- package/dist/core/entities/robot-permission/service.d.ts +0 -25
- package/dist/core/entities/robot-permission/service.d.ts.map +0 -1
- package/dist/core/entities/robot-permission/service.mjs +0 -137
- package/dist/core/entities/robot-permission/service.mjs.map +0 -1
- package/dist/core/entities/robot-permission/types.d.ts +0 -12
- package/dist/core/entities/robot-permission/types.d.ts.map +0 -1
- package/dist/core/entities/robot-role/index.d.ts +0 -3
- package/dist/core/entities/robot-role/index.d.ts.map +0 -1
- package/dist/core/entities/robot-role/index.mjs +0 -5
- package/dist/core/entities/robot-role/service.d.ts +0 -22
- package/dist/core/entities/robot-role/service.d.ts.map +0 -1
- package/dist/core/entities/robot-role/service.mjs +0 -90
- package/dist/core/entities/robot-role/service.mjs.map +0 -1
- package/dist/core/entities/robot-role/types.d.ts +0 -11
- package/dist/core/entities/robot-role/types.d.ts.map +0 -1
- package/dist/core/entities/robot-role/types.mjs +0 -4
- package/dist/core/identity/entities/robot/index.d.ts +0 -2
- package/dist/core/identity/entities/robot/index.d.ts.map +0 -1
- package/dist/core/identity/entities/robot/types.d.ts +0 -8
- package/dist/core/identity/entities/robot/types.d.ts.map +0 -1
- package/dist/core/identity/entities/robot/types.mjs +0 -4
- package/dist/core/oauth2/grant-types/robot-credentials.d.ts +0 -8
- package/dist/core/oauth2/grant-types/robot-credentials.d.ts.map +0 -1
- package/dist/core/oauth2/grant-types/robot-credentials.mjs +0 -39
- package/dist/core/oauth2/grant-types/robot-credentials.mjs.map +0 -1
- package/dist/core/provisioning/entities/robot/index.d.ts +0 -3
- package/dist/core/provisioning/entities/robot/index.d.ts.map +0 -1
- package/dist/core/provisioning/entities/robot/index.mjs +0 -5
- package/dist/core/provisioning/entities/robot/relations-validator.d.ts +0 -6
- package/dist/core/provisioning/entities/robot/relations-validator.d.ts.map +0 -1
- package/dist/core/provisioning/entities/robot/relations-validator.mjs +0 -20
- package/dist/core/provisioning/entities/robot/relations-validator.mjs.map +0 -1
- package/dist/core/provisioning/entities/robot/types.d.ts +0 -25
- package/dist/core/provisioning/entities/robot/types.d.ts.map +0 -1
- package/dist/core/provisioning/entities/robot/types.mjs +0 -4
- package/dist/core/provisioning/entities/robot/validator.d.ts +0 -6
- package/dist/core/provisioning/entities/robot/validator.d.ts.map +0 -1
- package/dist/core/provisioning/entities/robot/validator.mjs +0 -24
- package/dist/core/provisioning/entities/robot/validator.mjs.map +0 -1
- package/dist/core/provisioning/synchronizer/robot/index.d.ts +0 -3
- package/dist/core/provisioning/synchronizer/robot/index.d.ts.map +0 -1
- package/dist/core/provisioning/synchronizer/robot/index.mjs +0 -5
- package/dist/core/provisioning/synchronizer/robot/module.d.ts +0 -17
- package/dist/core/provisioning/synchronizer/robot/module.d.ts.map +0 -1
- package/dist/core/provisioning/synchronizer/robot/module.mjs +0 -72
- package/dist/core/provisioning/synchronizer/robot/module.mjs.map +0 -1
- package/dist/core/provisioning/synchronizer/robot/types.d.ts +0 -9
- package/dist/core/provisioning/synchronizer/robot/types.d.ts.map +0 -1
- package/dist/core/provisioning/synchronizer/robot/types.mjs +0 -4
- /package/dist/core/{entities/robot-permission → query}/types.mjs +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Secret denylist for entity-diff keys (fail-closed: losing a
|
|
3
|
-
* "
|
|
3
|
+
* "secretHashed flipped" diff entry is acceptable, leaking a hash is not).
|
|
4
4
|
* Shared with the sanitizer's `diff` branch so both boundaries agree.
|
|
5
5
|
*/
|
|
6
6
|
export declare const EVENT_DIFF_SECRET_KEY_REGEX: RegExp;
|
|
@@ -12,9 +12,9 @@ export type EntityDiff = Record<string, {
|
|
|
12
12
|
/**
|
|
13
13
|
* PII-safe scalar diff between the updated entity and its pre-mutation
|
|
14
14
|
* snapshot: only keys with scalar values (string/number/boolean/null) on BOTH
|
|
15
|
-
* sides, skipping timestamp columns (`*_at`) and any key matching the
|
|
16
|
-
* denylist, including only keys whose value actually changed. String
|
|
17
|
-
* are truncated to {@link EVENT_DIFF_VALUE_MAX_LENGTH}.
|
|
15
|
+
* sides, skipping timestamp columns (`*_at` / `*At`) and any key matching the
|
|
16
|
+
* secret denylist, including only keys whose value actually changed. String
|
|
17
|
+
* values are truncated to {@link EVENT_DIFF_VALUE_MAX_LENGTH}.
|
|
18
18
|
*/
|
|
19
19
|
export declare function buildEntityDiff(next: Record<string, any>, previous: Record<string, any>): EntityDiff;
|
|
20
20
|
//# sourceMappingURL=diff.d.ts.map
|
|
@@ -5,7 +5,7 @@ import { isEqual } from "smob";
|
|
|
5
5
|
//#region src/core/entities/event/diff.ts
|
|
6
6
|
/**
|
|
7
7
|
* Secret denylist for entity-diff keys (fail-closed: losing a
|
|
8
|
-
* "
|
|
8
|
+
* "secretHashed flipped" diff entry is acceptable, leaking a hash is not).
|
|
9
9
|
* Shared with the sanitizer's `diff` branch so both boundaries agree.
|
|
10
10
|
*/ const EVENT_DIFF_SECRET_KEY_REGEX = /(password|secret|hash|token|credential)/i;
|
|
11
11
|
const EVENT_DIFF_VALUE_MAX_LENGTH = 512;
|
|
@@ -19,14 +19,14 @@ function truncateScalar(value) {
|
|
|
19
19
|
/**
|
|
20
20
|
* PII-safe scalar diff between the updated entity and its pre-mutation
|
|
21
21
|
* snapshot: only keys with scalar values (string/number/boolean/null) on BOTH
|
|
22
|
-
* sides, skipping timestamp columns (`*_at`) and any key matching the
|
|
23
|
-
* denylist, including only keys whose value actually changed. String
|
|
24
|
-
* are truncated to {@link EVENT_DIFF_VALUE_MAX_LENGTH}.
|
|
22
|
+
* sides, skipping timestamp columns (`*_at` / `*At`) and any key matching the
|
|
23
|
+
* secret denylist, including only keys whose value actually changed. String
|
|
24
|
+
* values are truncated to {@link EVENT_DIFF_VALUE_MAX_LENGTH}.
|
|
25
25
|
*/ function buildEntityDiff(next, previous) {
|
|
26
26
|
const output = {};
|
|
27
27
|
const keys = /* @__PURE__ */ new Set([...Object.keys(next), ...Object.keys(previous)]);
|
|
28
28
|
for (const key of keys) {
|
|
29
|
-
if (key.endsWith("_at")) continue;
|
|
29
|
+
if (key.endsWith("_at") || key.endsWith("At")) continue;
|
|
30
30
|
if (EVENT_DIFF_SECRET_KEY_REGEX.test(key)) continue;
|
|
31
31
|
const nextValue = next[key];
|
|
32
32
|
const previousValue = previous[key];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diff.mjs","names":["isEqual","EVENT_DIFF_SECRET_KEY_REGEX","EVENT_DIFF_VALUE_MAX_LENGTH","isScalar","value","truncateScalar","length","substring","buildEntityDiff","next","previous","output","keys","Set","Object","key","endsWith","test","nextValue","previousValue"],"sources":["../../../../src/core/entities/event/diff.ts"],"sourcesContent":["/*\n * Copyright (c) 2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { isEqual } from 'smob';\n\n/**\n * Secret denylist for entity-diff keys (fail-closed: losing a\n * \"
|
|
1
|
+
{"version":3,"file":"diff.mjs","names":["isEqual","EVENT_DIFF_SECRET_KEY_REGEX","EVENT_DIFF_VALUE_MAX_LENGTH","isScalar","value","truncateScalar","length","substring","buildEntityDiff","next","previous","output","keys","Set","Object","key","endsWith","test","nextValue","previousValue"],"sources":["../../../../src/core/entities/event/diff.ts"],"sourcesContent":["/*\n * Copyright (c) 2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { isEqual } from 'smob';\n\n/**\n * Secret denylist for entity-diff keys (fail-closed: losing a\n * \"secretHashed flipped\" diff entry is acceptable, leaking a hash is not).\n * Shared with the sanitizer's `diff` branch so both boundaries agree.\n */\nexport const EVENT_DIFF_SECRET_KEY_REGEX = /(password|secret|hash|token|credential)/i;\n\nexport const EVENT_DIFF_VALUE_MAX_LENGTH = 512;\n\nexport type EntityDiff = Record<string, { next: unknown, previous: unknown }>;\n\nfunction isScalar(value: unknown): value is string | number | boolean | null {\n return value === null ||\n typeof value === 'string' ||\n typeof value === 'number' ||\n typeof value === 'boolean';\n}\n\nfunction truncateScalar(value: string | number | boolean | null): string | number | boolean | null {\n if (typeof value === 'string' && value.length > EVENT_DIFF_VALUE_MAX_LENGTH) {\n return value.substring(0, EVENT_DIFF_VALUE_MAX_LENGTH);\n }\n\n return value;\n}\n\n/**\n * PII-safe scalar diff between the updated entity and its pre-mutation\n * snapshot: only keys with scalar values (string/number/boolean/null) on BOTH\n * sides, skipping timestamp columns (`*_at` / `*At`) and any key matching the\n * secret denylist, including only keys whose value actually changed. String\n * values are truncated to {@link EVENT_DIFF_VALUE_MAX_LENGTH}.\n */\nexport function buildEntityDiff(\n next: Record<string, any>,\n previous: Record<string, any>,\n): EntityDiff {\n const output: EntityDiff = {};\n\n const keys = new Set([\n ...Object.keys(next),\n ...Object.keys(previous),\n ]);\n\n for (const key of keys) {\n if (key.endsWith('_at') || key.endsWith('At')) {\n continue;\n }\n\n if (EVENT_DIFF_SECRET_KEY_REGEX.test(key)) {\n continue;\n }\n\n const nextValue = next[key];\n const previousValue = previous[key];\n\n if (!isScalar(nextValue) || !isScalar(previousValue)) {\n continue;\n }\n\n if (isEqual(nextValue, previousValue)) {\n continue;\n }\n\n output[key] = {\n next: truncateScalar(nextValue),\n previous: truncateScalar(previousValue),\n };\n }\n\n return output;\n}\n"],"mappings":";;;;;;;;;GAcA,MAAaC,8BAA8B;AAE3C,MAAaC,8BAA8B;AAI3C,SAASC,SAASC,OAAc;CAC5B,OAAOA,UAAU,QACb,OAAOA,UAAU,YACjB,OAAOA,UAAU,YACjB,OAAOA,UAAU;AACzB;AAEA,SAASC,eAAeD,OAAuC;CAC3D,IAAI,OAAOA,UAAU,YAAYA,MAAME,SAAAA,KACnC,OAAOF,MAAMG,UAAU,GAAA,GAAGL;CAG9B,OAAOE;AACX;;;;;;;GASA,SAAgBI,gBACZC,MACAC,UAA6B;CAE7B,MAAMC,SAAqB,CAAC;CAE5B,MAAMC,uBAAO,IAAIC,IAAI,CAAA,GACdC,OAAOF,KAAKH,IAAAA,GAAAA,GACZK,OAAOF,KAAKF,QAAAA,CAAAA,CAClB;CAED,KAAK,MAAMK,OAAOH,MAAM;EACpB,IAAIG,IAAIC,SAAS,KAAA,KAAUD,IAAIC,SAAS,IAAA,GACpC;EAGJ,IAAIf,4BAA4BgB,KAAKF,GAAAA,GACjC;EAGJ,MAAMG,YAAYT,KAAKM;EACvB,MAAMI,gBAAgBT,SAASK;EAE/B,IAAI,CAACZ,SAASe,SAAAA,KAAc,CAACf,SAASgB,aAAAA,GAClC;EAGJ,IAAInB,QAAQkB,WAAWC,aAAAA,GACnB;EAGJR,OAAOI,OAAO;GACVN,MAAMJ,eAAea,SAAAA;GACrBR,UAAUL,eAAec,aAAAA;EAC7B;CACJ;CAEA,OAAOR;AACX"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-event-handler.d.ts","sourceRoot":"","sources":["../../../../src/core/entities/event/entity-event-handler.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzF,OAAO,KAAK,EACR,yBAAyB,EACzB,mBAAmB,EACnB,aAAa,EAChB,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,yBAAyB,GAAG;IACpC,YAAY,EAAE,aAAa,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,mBAAmB,GAAG,SAAS,CAAC;IACvD,OAAO,CAAC,EAAE,yBAAyB,CAAC;CACvC,CAAC;
|
|
1
|
+
{"version":3,"file":"entity-event-handler.d.ts","sourceRoot":"","sources":["../../../../src/core/entities/event/entity-event-handler.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzF,OAAO,KAAK,EACR,yBAAyB,EACzB,mBAAmB,EACnB,aAAa,EAChB,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,yBAAyB,GAAG;IACpC,YAAY,EAAE,aAAa,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,mBAAmB,GAAG,SAAS,CAAC;IACvD,OAAO,CAAC,EAAE,yBAAyB,CAAC;CACvC,CAAC;AAwCF;;;GAGG;AACH,qBAAa,kBAAmB,YAAW,mBAAmB;IAC1D,SAAS,CAAC,YAAY,EAAG,aAAa,CAAC;IAEvC,SAAS,CAAC,cAAc,CAAC,EAAG,MAAM,mBAAmB,GAAG,SAAS,CAAC;IAElE,SAAS,CAAC,OAAO,EAAG,yBAAyB,CAAC;gBAElC,GAAG,EAAE,yBAAyB;IAMpC,MAAM,CAAC,GAAG,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;CAqD9D"}
|
|
@@ -11,37 +11,35 @@ const ENTITY_EVENT_NAME_MAP = {
|
|
|
11
11
|
[EntityDefaultEventName.DELETED]: EventName.DELETED
|
|
12
12
|
};
|
|
13
13
|
const ENTITY_REALM_KEY_MAP = {
|
|
14
|
-
[EntityType.CLIENT]: "
|
|
15
|
-
[EntityType.CLIENT_PERMISSION]: "
|
|
16
|
-
[EntityType.CLIENT_ROLE]: "
|
|
17
|
-
[EntityType.CLIENT_SCOPE]: "
|
|
18
|
-
[EntityType.CONSENT]: "
|
|
19
|
-
[EntityType.EVENT]: "
|
|
20
|
-
[EntityType.IDENTITY_PROVIDER]: "
|
|
21
|
-
[EntityType.IDENTITY_PROVIDER_ACCOUNT]: "
|
|
22
|
-
[EntityType.IDENTITY_PROVIDER_ATTRIBUTE]: "
|
|
23
|
-
[EntityType.IDENTITY_PROVIDER_ATTRIBUTE_MAPPING]: "
|
|
24
|
-
[EntityType.IDENTITY_PROVIDER_PERMISSION_MAPPING]: "
|
|
25
|
-
[EntityType.IDENTITY_PROVIDER_ROLE_MAPPING]: "
|
|
26
|
-
[EntityType.KEY]: "
|
|
27
|
-
[EntityType.POLICY]: "
|
|
28
|
-
[EntityType.POLICY_ATTRIBUTE]: "
|
|
29
|
-
[EntityType.PERMISSION]: "
|
|
30
|
-
[EntityType.PERMISSION_POLICY]: "
|
|
14
|
+
[EntityType.CLIENT]: "realmId",
|
|
15
|
+
[EntityType.CLIENT_PERMISSION]: "clientRealmId",
|
|
16
|
+
[EntityType.CLIENT_ROLE]: "clientRealmId",
|
|
17
|
+
[EntityType.CLIENT_SCOPE]: "clientRealmId",
|
|
18
|
+
[EntityType.CONSENT]: "realmId",
|
|
19
|
+
[EntityType.EVENT]: "realmId",
|
|
20
|
+
[EntityType.IDENTITY_PROVIDER]: "realmId",
|
|
21
|
+
[EntityType.IDENTITY_PROVIDER_ACCOUNT]: "userRealmId",
|
|
22
|
+
[EntityType.IDENTITY_PROVIDER_ATTRIBUTE]: "realmId",
|
|
23
|
+
[EntityType.IDENTITY_PROVIDER_ATTRIBUTE_MAPPING]: "providerRealmId",
|
|
24
|
+
[EntityType.IDENTITY_PROVIDER_PERMISSION_MAPPING]: "providerRealmId",
|
|
25
|
+
[EntityType.IDENTITY_PROVIDER_ROLE_MAPPING]: "providerRealmId",
|
|
26
|
+
[EntityType.KEY]: "realmId",
|
|
27
|
+
[EntityType.POLICY]: "realmId",
|
|
28
|
+
[EntityType.POLICY_ATTRIBUTE]: "realmId",
|
|
29
|
+
[EntityType.PERMISSION]: "realmId",
|
|
30
|
+
[EntityType.PERMISSION_POLICY]: "permissionRealmId",
|
|
31
31
|
[EntityType.REALM]: "id",
|
|
32
|
-
[EntityType.
|
|
33
|
-
[EntityType.
|
|
34
|
-
[EntityType.
|
|
35
|
-
[EntityType.
|
|
36
|
-
[EntityType.
|
|
37
|
-
[EntityType.
|
|
38
|
-
[EntityType.
|
|
39
|
-
[EntityType.
|
|
40
|
-
[EntityType.
|
|
41
|
-
[EntityType.
|
|
42
|
-
[EntityType.
|
|
43
|
-
[EntityType.USER_PERMISSION]: "user_realm_id",
|
|
44
|
-
[EntityType.USER_ROLE]: "user_realm_id"
|
|
32
|
+
[EntityType.ROLE]: "realmId",
|
|
33
|
+
[EntityType.ROLE_ATTRIBUTE]: "realmId",
|
|
34
|
+
[EntityType.ROLE_PERMISSION]: "roleRealmId",
|
|
35
|
+
[EntityType.SCOPE]: "realmId",
|
|
36
|
+
[EntityType.SESSION]: "realmId",
|
|
37
|
+
[EntityType.TRUST_ANCHOR]: "realmId",
|
|
38
|
+
[EntityType.USER]: "realmId",
|
|
39
|
+
[EntityType.USER_ATTRIBUTE]: "realmId",
|
|
40
|
+
[EntityType.USER_AUTHENTICATOR]: "realmId",
|
|
41
|
+
[EntityType.USER_PERMISSION]: "userRealmId",
|
|
42
|
+
[EntityType.USER_ROLE]: "userRealmId"
|
|
45
43
|
};
|
|
46
44
|
/**
|
|
47
45
|
* Bridges every entity create/update/delete published on the
|
|
@@ -90,7 +88,7 @@ const ENTITY_REALM_KEY_MAP = {
|
|
|
90
88
|
};
|
|
91
89
|
function resolveEntityRealmId(type, data) {
|
|
92
90
|
if (!isObject(data)) return;
|
|
93
|
-
const key = ENTITY_REALM_KEY_MAP[type] ?? "
|
|
91
|
+
const key = ENTITY_REALM_KEY_MAP[type] ?? "realmId";
|
|
94
92
|
if (!hasOwnProperty(data, key)) return;
|
|
95
93
|
return typeof data[key] === "string" ? data[key] : null;
|
|
96
94
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-event-handler.mjs","names":["EntityDefaultEventName","EntityType","EventName","EventScope","hasOwnProperty","isObject","buildEntityDiff","ENTITY_EVENT_NAME_MAP","CREATED","UPDATED","DELETED","ENTITY_REALM_KEY_MAP","CLIENT","CLIENT_PERMISSION","CLIENT_ROLE","CLIENT_SCOPE","CONSENT","EVENT","IDENTITY_PROVIDER","IDENTITY_PROVIDER_ACCOUNT","IDENTITY_PROVIDER_ATTRIBUTE","IDENTITY_PROVIDER_ATTRIBUTE_MAPPING","IDENTITY_PROVIDER_PERMISSION_MAPPING","IDENTITY_PROVIDER_ROLE_MAPPING","KEY","POLICY","POLICY_ATTRIBUTE","PERMISSION","PERMISSION_POLICY","REALM","
|
|
1
|
+
{"version":3,"file":"entity-event-handler.mjs","names":["EntityDefaultEventName","EntityType","EventName","EventScope","hasOwnProperty","isObject","buildEntityDiff","ENTITY_EVENT_NAME_MAP","CREATED","UPDATED","DELETED","ENTITY_REALM_KEY_MAP","CLIENT","CLIENT_PERMISSION","CLIENT_ROLE","CLIENT_SCOPE","CONSENT","EVENT","IDENTITY_PROVIDER","IDENTITY_PROVIDER_ACCOUNT","IDENTITY_PROVIDER_ATTRIBUTE","IDENTITY_PROVIDER_ATTRIBUTE_MAPPING","IDENTITY_PROVIDER_PERMISSION_MAPPING","IDENTITY_PROVIDER_ROLE_MAPPING","KEY","POLICY","POLICY_ATTRIBUTE","PERMISSION","PERMISSION_POLICY","REALM","ROLE","ROLE_ATTRIBUTE","ROLE_PERMISSION","SCOPE","SESSION","TRUST_ANCHOR","USER","USER_ATTRIBUTE","USER_AUTHENTICATOR","USER_PERMISSION","USER_ROLE","EntityEventHandler","eventService","requestContext","options","ctx","handle","content","type","name","event","refId","data","id","realmIdCurrent","resolveEntityRealmId","realmId","dataPrevious","undefined","diff","Object","keys","length","record","scope","ENTITY","refType","actorType","actorId","actorName","requestPath","requestMethod","requestIpAddress","requestUserAgent","retentionDays","key"],"sources":["../../../../src/core/entities/event/entity-event-handler.ts"],"sourcesContent":["/*\n * Copyright (c) 2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport {\n EntityDefaultEventName,\n EntityType,\n EventName,\n EventScope,\n} from '@authup/core-kit';\nimport { hasOwnProperty, isObject } from '@authup/kit';\nimport type { DomainEventPublishContext, IDomainEventHandler } from '@authup/server-kit';\nimport { buildEntityDiff } from './diff.ts';\nimport type {\n EntityEventHandlerOptions,\n EventRequestContext,\n IEventService,\n} from './types.ts';\n\nexport type EntityEventHandlerContext = {\n eventService: IEventService,\n requestContext?: () => EventRequestContext | undefined,\n options?: EntityEventHandlerOptions,\n};\n\nconst ENTITY_EVENT_NAME_MAP : Record<string, `${EventName}`> = {\n [EntityDefaultEventName.CREATED]: EventName.CREATED,\n [EntityDefaultEventName.UPDATED]: EventName.UPDATED,\n [EntityDefaultEventName.DELETED]: EventName.DELETED,\n};\n\nconst ENTITY_REALM_KEY_MAP : Record<`${EntityType}`, string> = {\n [EntityType.CLIENT]: 'realmId',\n [EntityType.CLIENT_PERMISSION]: 'clientRealmId',\n [EntityType.CLIENT_ROLE]: 'clientRealmId',\n [EntityType.CLIENT_SCOPE]: 'clientRealmId',\n [EntityType.CONSENT]: 'realmId',\n [EntityType.EVENT]: 'realmId',\n [EntityType.IDENTITY_PROVIDER]: 'realmId',\n [EntityType.IDENTITY_PROVIDER_ACCOUNT]: 'userRealmId',\n [EntityType.IDENTITY_PROVIDER_ATTRIBUTE]: 'realmId',\n [EntityType.IDENTITY_PROVIDER_ATTRIBUTE_MAPPING]: 'providerRealmId',\n [EntityType.IDENTITY_PROVIDER_PERMISSION_MAPPING]: 'providerRealmId',\n [EntityType.IDENTITY_PROVIDER_ROLE_MAPPING]: 'providerRealmId',\n [EntityType.KEY]: 'realmId',\n [EntityType.POLICY]: 'realmId',\n [EntityType.POLICY_ATTRIBUTE]: 'realmId',\n [EntityType.PERMISSION]: 'realmId',\n [EntityType.PERMISSION_POLICY]: 'permissionRealmId',\n [EntityType.REALM]: 'id',\n [EntityType.ROLE]: 'realmId',\n [EntityType.ROLE_ATTRIBUTE]: 'realmId',\n [EntityType.ROLE_PERMISSION]: 'roleRealmId',\n [EntityType.SCOPE]: 'realmId',\n [EntityType.SESSION]: 'realmId',\n [EntityType.TRUST_ANCHOR]: 'realmId',\n [EntityType.USER]: 'realmId',\n [EntityType.USER_ATTRIBUTE]: 'realmId',\n [EntityType.USER_AUTHENTICATOR]: 'realmId',\n [EntityType.USER_PERMISSION]: 'userRealmId',\n [EntityType.USER_ROLE]: 'userRealmId',\n};\n\n/**\n * Bridges every entity create/update/delete published on the\n * DomainEventPublisher bus into the auth_events audit table (scope `entity`).\n */\nexport class EntityEventHandler implements IDomainEventHandler {\n protected eventService : IEventService;\n\n protected requestContext? : () => EventRequestContext | undefined;\n\n protected options : EntityEventHandlerOptions;\n\n constructor(ctx: EntityEventHandlerContext) {\n this.eventService = ctx.eventService;\n this.requestContext = ctx.requestContext;\n this.options = ctx.options ?? {};\n }\n\n async handle(ctx: DomainEventPublishContext): Promise<void> {\n try {\n // recursion guard — no event subscriber exists today (the\n // auth_events entity is deliberately subscriber-less), so this is\n // defense in depth against an audit-write feedback loop.\n if (ctx.content.type === 'event') {\n return;\n }\n\n const name = ENTITY_EVENT_NAME_MAP[ctx.content.event];\n if (!name) {\n return;\n }\n\n const refId = ctx.content.data?.id ?? null;\n const realmIdCurrent = resolveEntityRealmId(ctx.content.type, ctx.content.data);\n const realmId = typeof realmIdCurrent === 'undefined' ?\n (resolveEntityRealmId(ctx.content.type, ctx.dataPrevious) ?? null) :\n realmIdCurrent;\n\n const requestContext = this.requestContext ?\n this.requestContext() :\n undefined;\n\n let data : Record<string, any> | null = null;\n if (name === EventName.UPDATED && isObject(ctx.content.data) && isObject(ctx.dataPrevious)) {\n const diff = buildEntityDiff(ctx.content.data, ctx.dataPrevious);\n if (Object.keys(diff).length > 0) {\n data = { diff };\n }\n }\n\n await this.eventService.record({\n scope: EventScope.ENTITY,\n name,\n refType: ctx.content.type,\n refId,\n realmId,\n actorType: requestContext?.actorType ?? null,\n actorId: requestContext?.actorId ?? null,\n actorName: requestContext?.actorName ?? null,\n requestPath: requestContext?.requestPath ?? null,\n requestMethod: requestContext?.requestMethod ?? null,\n requestIpAddress: requestContext?.requestIpAddress ?? null,\n requestUserAgent: requestContext?.requestUserAgent ?? null,\n data,\n retentionDays: this.options.retentionDays,\n });\n } catch {\n // record() never throws, but the bridge itself must also never\n // fail the originating publish.\n }\n }\n}\n\nfunction resolveEntityRealmId(\n type: string,\n data: unknown,\n): string | null | undefined {\n if (!isObject(data)) {\n return undefined;\n }\n\n const key = ENTITY_REALM_KEY_MAP[type as `${EntityType}`] ?? 'realmId';\n if (!hasOwnProperty(data, key)) {\n return undefined;\n }\n\n return typeof data[key] === 'string' ? data[key] : null;\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/entities/event/index.ts"],"names":[],"mappings":"AAOA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/entities/event/index.ts"],"names":[],"mappings":"AAOA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import "node:path";
|
|
2
2
|
import "node:url";
|
|
3
3
|
import.meta.url;
|
|
4
|
+
import { eventSchema } from "./schema.mjs";
|
|
4
5
|
import { EVENT_LOG_RETENTION_DAYS_DEFAULT } from "./constants.mjs";
|
|
5
6
|
import { EVENT_DIFF_SECRET_KEY_REGEX, EVENT_DIFF_VALUE_MAX_LENGTH, buildEntityDiff } from "./diff.mjs";
|
|
6
7
|
import { EntityEventHandler } from "./entity-event-handler.mjs";
|
|
7
8
|
import { sanitizeEventData } from "./sanitize.mjs";
|
|
8
9
|
import { EventService } from "./service.mjs";
|
|
9
|
-
export { EVENT_DIFF_SECRET_KEY_REGEX, EVENT_DIFF_VALUE_MAX_LENGTH, EVENT_LOG_RETENTION_DAYS_DEFAULT, EntityEventHandler, EventService, buildEntityDiff, sanitizeEventData };
|
|
10
|
+
export { EVENT_DIFF_SECRET_KEY_REGEX, EVENT_DIFF_VALUE_MAX_LENGTH, EVENT_LOG_RETENTION_DAYS_DEFAULT, EntityEventHandler, EventService, buildEntityDiff, eventSchema, sanitizeEventData };
|
|
@@ -11,7 +11,7 @@ import { isObject } from "@authup/kit";
|
|
|
11
11
|
* objects and arrays are dropped outright, so a nested structure can never
|
|
12
12
|
* smuggle a secret past the boundary (this subsumes a denylist: password,
|
|
13
13
|
* client_secret, code, code_verifier, *token* etc. are simply never listed).
|
|
14
|
-
*
|
|
14
|
+
* sessionId / jti / revokedSessionId are opaque correlation ids, not PII.
|
|
15
15
|
* name / use / status / enabled / force describe key & trust-anchor lifecycle
|
|
16
16
|
* operations (issue #3269) — canonical identifiers and enum/flag metadata,
|
|
17
17
|
* never material. kind is the MFA authenticator kind (totp/email/...).
|
|
@@ -21,18 +21,18 @@ import { isObject } from "@authup/kit";
|
|
|
21
21
|
* re-checked against the diff secret denylist — the write boundary stays the
|
|
22
22
|
* choke point even though buildEntityDiff pre-sanitizes.
|
|
23
23
|
*/ const DATA_KEY_ALLOW_LIST = [
|
|
24
|
-
"
|
|
24
|
+
"grantType",
|
|
25
25
|
"scope",
|
|
26
|
-
"
|
|
26
|
+
"responseType",
|
|
27
27
|
"prompt",
|
|
28
28
|
"error",
|
|
29
|
-
"
|
|
29
|
+
"errorCode",
|
|
30
30
|
"reason",
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
31
|
+
"clientName",
|
|
32
|
+
"realmName",
|
|
33
|
+
"sessionId",
|
|
34
34
|
"jti",
|
|
35
|
-
"
|
|
35
|
+
"revokedSessionId",
|
|
36
36
|
"name",
|
|
37
37
|
"use",
|
|
38
38
|
"status",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sanitize.mjs","names":["isObject","EVENT_DIFF_SECRET_KEY_REGEX","DATA_KEY_ALLOW_LIST","DATA_VALUE_MAX_LENGTH","isDiffScalar","value","truncateDiffScalar","length","substring","sanitizeDiff","input","output","key","entry","Object","entries","test","next","previous","keys","sanitizeEventData","diff"],"sources":["../../../../src/core/entities/event/sanitize.ts"],"sourcesContent":["/*\n * Copyright (c) 2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { isObject } from '@authup/kit';\nimport { EVENT_DIFF_SECRET_KEY_REGEX } from './diff.ts';\n\n/**\n * The central PII/credential write boundary for event context data.\n *\n * Allowlist-first: only these keys survive, and only with scalar values —\n * objects and arrays are dropped outright, so a nested structure can never\n * smuggle a secret past the boundary (this subsumes a denylist: password,\n * client_secret, code, code_verifier, *token* etc. are simply never listed).\n *
|
|
1
|
+
{"version":3,"file":"sanitize.mjs","names":["isObject","EVENT_DIFF_SECRET_KEY_REGEX","DATA_KEY_ALLOW_LIST","DATA_VALUE_MAX_LENGTH","isDiffScalar","value","truncateDiffScalar","length","substring","sanitizeDiff","input","output","key","entry","Object","entries","test","next","previous","keys","sanitizeEventData","diff"],"sources":["../../../../src/core/entities/event/sanitize.ts"],"sourcesContent":["/*\n * Copyright (c) 2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { isObject } from '@authup/kit';\nimport { EVENT_DIFF_SECRET_KEY_REGEX } from './diff.ts';\n\n/**\n * The central PII/credential write boundary for event context data.\n *\n * Allowlist-first: only these keys survive, and only with scalar values —\n * objects and arrays are dropped outright, so a nested structure can never\n * smuggle a secret past the boundary (this subsumes a denylist: password,\n * client_secret, code, code_verifier, *token* etc. are simply never listed).\n * sessionId / jti / revokedSessionId are opaque correlation ids, not PII.\n * name / use / status / enabled / force describe key & trust-anchor lifecycle\n * operations (issue #3269) — canonical identifiers and enum/flag metadata,\n * never material. kind is the MFA authenticator kind (totp/email/...).\n *\n * The single structured exception is `diff` (entity-CRUD bridge): it survives\n * only as a one-level object of `{ next, previous }` scalar pairs, keys\n * re-checked against the diff secret denylist — the write boundary stays the\n * choke point even though buildEntityDiff pre-sanitizes.\n */\nconst DATA_KEY_ALLOW_LIST = [\n 'grantType',\n 'scope',\n 'responseType',\n 'prompt',\n 'error',\n 'errorCode',\n 'reason',\n 'clientName',\n 'realmName',\n 'sessionId',\n 'jti',\n 'revokedSessionId',\n 'name',\n 'use',\n 'status',\n 'enabled',\n 'force',\n 'kind',\n] as const;\n\nconst DATA_VALUE_MAX_LENGTH = 512;\n\nfunction isDiffScalar(value: unknown): value is string | number | boolean | null {\n return value === null ||\n typeof value === 'string' ||\n typeof value === 'number' ||\n typeof value === 'boolean';\n}\n\nfunction truncateDiffScalar(\n value: string | number | boolean | null,\n): string | number | boolean | null {\n if (typeof value === 'string' && value.length > DATA_VALUE_MAX_LENGTH) {\n return value.substring(0, DATA_VALUE_MAX_LENGTH);\n }\n\n return value;\n}\n\nfunction sanitizeDiff(input: unknown): Record<string, any> | null {\n if (!isObject(input)) {\n return null;\n }\n\n const output: Record<string, any> = {};\n\n for (const [key, entry] of Object.entries(input)) {\n if (EVENT_DIFF_SECRET_KEY_REGEX.test(key)) {\n continue;\n }\n\n if (!isObject(entry)) {\n continue;\n }\n\n const { next, previous } = entry;\n if (!isDiffScalar(next) || !isDiffScalar(previous)) {\n continue;\n }\n\n output[key] = {\n next: truncateDiffScalar(next),\n previous: truncateDiffScalar(previous),\n };\n }\n\n if (Object.keys(output).length === 0) {\n return null;\n }\n\n return output;\n}\n\nexport function sanitizeEventData(\n input?: Record<string, any> | null,\n): Record<string, any> | null {\n if (!input) {\n return null;\n }\n\n const output: Record<string, any> = {};\n\n for (const key of DATA_KEY_ALLOW_LIST) {\n const value = input[key];\n\n if (typeof value === 'string') {\n output[key] = value.length > DATA_VALUE_MAX_LENGTH ?\n value.substring(0, DATA_VALUE_MAX_LENGTH) :\n value;\n } else if (typeof value === 'number' || typeof value === 'boolean') {\n output[key] = value;\n }\n }\n\n const diff = sanitizeDiff(input.diff);\n if (diff) {\n output.diff = diff;\n }\n\n if (Object.keys(output).length === 0) {\n return null;\n }\n\n return output;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;GA2BA,MAAME,sBAAsB;CACxB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;;AAGJ,MAAMC,wBAAwB;AAE9B,SAASC,aAAaC,OAAc;CAChC,OAAOA,UAAU,QACb,OAAOA,UAAU,YACjB,OAAOA,UAAU,YACjB,OAAOA,UAAU;AACzB;AAEA,SAASC,mBACLD,OAAuC;CAEvC,IAAI,OAAOA,UAAU,YAAYA,MAAME,SAASJ,uBAC5C,OAAOE,MAAMG,UAAU,GAAGL,qBAAAA;CAG9B,OAAOE;AACX;AAEA,SAASI,aAAaC,OAAc;CAChC,IAAI,CAACV,SAASU,KAAAA,GACV,OAAO;CAGX,MAAMC,SAA8B,CAAC;CAErC,KAAK,MAAM,CAACC,KAAKC,UAAUC,OAAOC,QAAQL,KAAAA,GAAQ;EAC9C,IAAIT,4BAA4Be,KAAKJ,GAAAA,GACjC;EAGJ,IAAI,CAACZ,SAASa,KAAAA,GACV;EAGJ,MAAM,EAAEI,MAAMC,aAAaL;EAC3B,IAAI,CAACT,aAAaa,IAAAA,KAAS,CAACb,aAAac,QAAAA,GACrC;EAGJP,OAAOC,OAAO;GACVK,MAAMX,mBAAmBW,IAAAA;GACzBC,UAAUZ,mBAAmBY,QAAAA;EACjC;CACJ;CAEA,IAAIJ,OAAOK,KAAKR,MAAAA,CAAAA,CAAQJ,WAAW,GAC/B,OAAO;CAGX,OAAOI;AACX;AAEA,SAAgBS,kBACZV,OAAkC;CAElC,IAAI,CAACA,OACD,OAAO;CAGX,MAAMC,SAA8B,CAAC;CAErC,KAAK,MAAMC,OAAOV,qBAAqB;EACnC,MAAMG,QAAQK,MAAME;EAEpB,IAAI,OAAOP,UAAU,UACjBM,OAAOC,OAAOP,MAAME,SAASJ,wBACzBE,MAAMG,UAAU,GAAGL,qBAAAA,IACnBE;OACD,IAAI,OAAOA,UAAU,YAAY,OAAOA,UAAU,WACrDM,OAAOC,OAAOP;CAEtB;CAEA,MAAMgB,OAAOZ,aAAaC,MAAMW,IAAI;CACpC,IAAIA,MACAV,OAAOU,OAAOA;CAGlB,IAAIP,OAAOK,KAAKR,MAAAA,CAAAA,CAAQJ,WAAW,GAC/B,OAAO;CAGX,OAAOI;AACX"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../src/core/entities/event/schema.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAG9C,eAAO,MAAM,WAAW,0CA4CtB,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import "node:path";
|
|
2
|
+
import "node:url";
|
|
3
|
+
import.meta.url;
|
|
4
|
+
import { EntityType } from "@authup/core-kit";
|
|
5
|
+
import { defineSchema } from "@rapiq/core";
|
|
6
|
+
//#region src/core/entities/event/schema.ts
|
|
7
|
+
const eventSchema = defineSchema({
|
|
8
|
+
name: EntityType.EVENT,
|
|
9
|
+
fields: { allowed: [
|
|
10
|
+
"id",
|
|
11
|
+
"scope",
|
|
12
|
+
"name",
|
|
13
|
+
"refType",
|
|
14
|
+
"refId",
|
|
15
|
+
"clientId",
|
|
16
|
+
"actorType",
|
|
17
|
+
"actorId",
|
|
18
|
+
"actorName",
|
|
19
|
+
"requestPath",
|
|
20
|
+
"requestMethod",
|
|
21
|
+
"requestIpAddress",
|
|
22
|
+
"requestUserAgent",
|
|
23
|
+
"realmId",
|
|
24
|
+
"data",
|
|
25
|
+
"expiring",
|
|
26
|
+
"expiresAt",
|
|
27
|
+
"createdAt"
|
|
28
|
+
] },
|
|
29
|
+
filters: { allowed: [
|
|
30
|
+
"id",
|
|
31
|
+
"scope",
|
|
32
|
+
"name",
|
|
33
|
+
"refType",
|
|
34
|
+
"refId",
|
|
35
|
+
"clientId",
|
|
36
|
+
"actorType",
|
|
37
|
+
"actorId",
|
|
38
|
+
"actorName",
|
|
39
|
+
"requestIpAddress",
|
|
40
|
+
"realmId",
|
|
41
|
+
"expiring",
|
|
42
|
+
"createdAt"
|
|
43
|
+
] },
|
|
44
|
+
relations: { allowed: [] },
|
|
45
|
+
sort: { allowed: ["createdAt"] },
|
|
46
|
+
pagination: { maxLimit: 50 }
|
|
47
|
+
});
|
|
48
|
+
//#endregion
|
|
49
|
+
export { eventSchema };
|
|
50
|
+
|
|
51
|
+
//# sourceMappingURL=schema.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.mjs","names":["defineSchema","EntityType","eventSchema","name","EVENT","fields","allowed","filters","relations","sort","pagination","maxLimit"],"sources":["../../../../src/core/entities/event/schema.ts"],"sourcesContent":["/*\n * Copyright (c) 2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { defineSchema } from '@rapiq/core';\nimport type { Event } from '@authup/core-kit';\nimport { EntityType } from '@authup/core-kit';\n\nexport const eventSchema = defineSchema<Event>({\n name: EntityType.EVENT,\n fields: {\n allowed: [\n 'id',\n 'scope',\n 'name',\n 'refType',\n 'refId',\n 'clientId',\n 'actorType',\n 'actorId',\n 'actorName',\n 'requestPath',\n 'requestMethod',\n 'requestIpAddress',\n 'requestUserAgent',\n 'realmId',\n 'data',\n 'expiring',\n 'expiresAt',\n 'createdAt',\n ],\n },\n filters: {\n allowed: [\n 'id',\n 'scope',\n 'name',\n 'refType',\n 'refId',\n 'clientId',\n 'actorType',\n 'actorId',\n 'actorName',\n 'requestIpAddress',\n 'realmId',\n 'expiring',\n 'createdAt',\n ], \n },\n relations: { allowed: [] },\n sort: { allowed: ['createdAt'] },\n pagination: { maxLimit: 50 },\n});\n"],"mappings":";;;;;;AAWA,MAAaE,cAAcF,aAAoB;CAC3CG,MAAMF,WAAWG;CACjBC,QAAQ,EACJC,SAAS;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;GAER;CACAC,SAAS,EACLD,SAAS;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;GAER;CACAE,WAAW,EAAEF,SAAS,CAAA,EAAG;CACzBG,MAAM,EAAEH,SAAS,CAAC,WAAA,EAAa;CAC/BI,YAAY,EAAEC,UAAU,GAAG;AAC/B,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../../src/core/entities/event/service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../../src/core/entities/event/service.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,8BAA8B,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAG/F,OAAO,KAAK,EACR,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,uBAAuB,EACvB,gBAAgB,EAChB,aAAa,EAChB,MAAM,YAAY,CAAC;AAIpB,MAAM,MAAM,mBAAmB,GAAG;IAC9B,UAAU,EAAE,gBAAgB,CAAC;IAC7B,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAIF,qBAAa,YAAa,SAAQ,qBAAsB,YAAW,aAAa;IAC5E,SAAS,CAAC,UAAU,EAAE,gBAAgB,CAAC;IAEvC,SAAS,CAAC,OAAO,EAAE,mBAAmB,CAAC;IAEvC,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;gBAEd,GAAG,EAAE,mBAAmB;IAQpC,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO;cAOhD,YAAY,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;cAmB3E,qBAAqB,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC;IA8B9F,MAAM,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAqD9C,OAAO,CACT,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC1B,KAAK,EAAE,YAAY,EACnB,OAAO,GAAE,uBAA4B,GACtC,OAAO,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAAC;IAsF3C,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,KAAK,CAAC;CAmBvG"}
|
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
import "node:path";
|
|
2
2
|
import "node:url";
|
|
3
3
|
import.meta.url;
|
|
4
|
+
import { eventSchema } from "./schema.mjs";
|
|
5
|
+
import { appendQueryConditions, decodeQuery } from "../../query/module.mjs";
|
|
6
|
+
import "../../query/index.mjs";
|
|
4
7
|
import "./constants.mjs";
|
|
5
8
|
import { sanitizeEventData } from "./sanitize.mjs";
|
|
6
9
|
import { PermissionName } from "@authup/core-kit";
|
|
7
10
|
import { AbstractEntityService } from "@authup/server-kit";
|
|
8
11
|
import { BuiltInPolicyType, definePolicyData } from "@authup/access";
|
|
9
12
|
import { EntityNotFoundError } from "@authup/errors";
|
|
13
|
+
import { and, eq, inArray, or } from "@rapiq/core";
|
|
10
14
|
import { randomUUID } from "node:crypto";
|
|
11
15
|
//#region src/core/entities/event/service.ts
|
|
12
16
|
const DAY_IN_MS = 864e5;
|
|
@@ -21,7 +25,7 @@ var EventService = class extends AbstractEntityService {
|
|
|
21
25
|
this.logger = ctx.logger;
|
|
22
26
|
}
|
|
23
27
|
isOwnedBy(entity, actor) {
|
|
24
|
-
return !!actor.identity && !!entity.
|
|
28
|
+
return !!actor.identity && !!entity.actorId && entity.actorId === actor.identity.data.id && entity.actorType === actor.identity.type;
|
|
25
29
|
}
|
|
26
30
|
async canReadRealm(actor, realmId) {
|
|
27
31
|
try {
|
|
@@ -60,12 +64,12 @@ var EventService = class extends AbstractEntityService {
|
|
|
60
64
|
this.logger?.info(`audit: ${input.scope}.${input.name}`, {
|
|
61
65
|
scope: input.scope,
|
|
62
66
|
name: input.name,
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
67
|
+
refType: input.refType ?? null,
|
|
68
|
+
refId: input.refId ?? null,
|
|
69
|
+
clientId: input.clientId ?? null,
|
|
70
|
+
actorType: input.actorType ?? null,
|
|
71
|
+
actorId: input.actorId ?? null,
|
|
72
|
+
realmId: input.realmId ?? null,
|
|
69
73
|
...data ? { data } : {}
|
|
70
74
|
});
|
|
71
75
|
if (this.options.enabled === false) return;
|
|
@@ -75,20 +79,20 @@ var EventService = class extends AbstractEntityService {
|
|
|
75
79
|
id: randomUUID(),
|
|
76
80
|
scope: input.scope,
|
|
77
81
|
name: input.name,
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
82
|
+
refType: truncate(input.refType, 64),
|
|
83
|
+
refId: truncate(input.refId, 64),
|
|
84
|
+
clientId: input.clientId ?? null,
|
|
85
|
+
actorType: input.actorType ?? null,
|
|
86
|
+
actorId: input.actorId ?? null,
|
|
87
|
+
actorName: truncate(input.actorName, 128),
|
|
88
|
+
requestPath: truncate(input.requestPath, 256),
|
|
89
|
+
requestMethod: truncate(input.requestMethod, 10),
|
|
90
|
+
requestIpAddress: truncate(input.requestIpAddress, 45),
|
|
91
|
+
requestUserAgent: truncate(input.requestUserAgent, 512),
|
|
92
|
+
realmId: input.realmId ?? null,
|
|
89
93
|
data,
|
|
90
94
|
expiring: retentionDays > 0,
|
|
91
|
-
|
|
95
|
+
expiresAt: retentionDays > 0 ? new Date(Date.now() + retentionDays * DAY_IN_MS).toISOString() : null
|
|
92
96
|
});
|
|
93
97
|
await this.repository.save(entity);
|
|
94
98
|
} catch {
|
|
@@ -96,6 +100,10 @@ var EventService = class extends AbstractEntityService {
|
|
|
96
100
|
}
|
|
97
101
|
}
|
|
98
102
|
async getMany(query, actor, options = {}) {
|
|
103
|
+
const parsed = await decodeQuery(query, {
|
|
104
|
+
schema: eventSchema,
|
|
105
|
+
actor
|
|
106
|
+
});
|
|
99
107
|
let canReadAll = true;
|
|
100
108
|
try {
|
|
101
109
|
await actor.permissionEvaluator.preEvaluate({ name: PermissionName.EVENT_READ });
|
|
@@ -103,15 +111,23 @@ var EventService = class extends AbstractEntityService {
|
|
|
103
111
|
if (!actor.identity) throw e;
|
|
104
112
|
canReadAll = false;
|
|
105
113
|
}
|
|
106
|
-
if (!canReadAll) return this.repository.findMany(
|
|
114
|
+
if (!canReadAll) return this.repository.findMany(parsed, {
|
|
107
115
|
owner: {
|
|
108
116
|
actorId: actor.identity.data.id,
|
|
109
117
|
actorType: actor.identity.type
|
|
110
118
|
},
|
|
111
119
|
...options.realmId ? { realmId: options.realmId } : {}
|
|
112
120
|
});
|
|
121
|
+
const compiled = await actor.permissionEvaluator.compile({ name: PermissionName.EVENT_READ });
|
|
122
|
+
if (compiled.verdict !== "post") {
|
|
123
|
+
const ownership = actor.identity ? and(eq("actorId", actor.identity.data.id), eq("actorType", actor.identity.type)) : null;
|
|
124
|
+
let scoped = parsed;
|
|
125
|
+
if (compiled.verdict === "deny") scoped = appendQueryConditions(parsed, ownership ?? inArray("id", []));
|
|
126
|
+
else if (compiled.verdict === "conditional") scoped = appendQueryConditions(parsed, ownership ? or(ownership, compiled.condition) : compiled.condition);
|
|
127
|
+
return this.repository.findMany(scoped, { ...options.realmId ? { realmId: options.realmId } : {} });
|
|
128
|
+
}
|
|
113
129
|
const visibility = await this.resolveReadVisibility(actor);
|
|
114
|
-
const { data: entities, meta } = await this.repository.findMany(
|
|
130
|
+
const { data: entities, meta } = await this.repository.findMany(parsed, {
|
|
115
131
|
...options.realmId ? { realmId: options.realmId } : {},
|
|
116
132
|
...visibility ? { visibility } : {}
|
|
117
133
|
});
|
|
@@ -144,7 +160,7 @@ var EventService = class extends AbstractEntityService {
|
|
|
144
160
|
}
|
|
145
161
|
async getOne(id, actor, options = {}) {
|
|
146
162
|
const entity = await this.repository.findOneById(id);
|
|
147
|
-
if (!entity || options.realmId && entity.
|
|
163
|
+
if (!entity || options.realmId && entity.realmId !== options.realmId) throw new EntityNotFoundError();
|
|
148
164
|
if (!this.isOwnedBy(entity, actor)) {
|
|
149
165
|
await actor.permissionEvaluator.preEvaluate({ name: PermissionName.EVENT_READ });
|
|
150
166
|
await actor.permissionEvaluator.evaluate({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.mjs","names":["randomUUID","BuiltInPolicyType","definePolicyData","PermissionName","EntityNotFoundError","AbstractEntityService","EVENT_LOG_RETENTION_DAYS_DEFAULT","sanitizeEventData","DAY_IN_MS","EventService","repository","options","logger","ctx","isOwnedBy","entity","actor","identity","actor_id","data","id","actor_type","type","canReadRealm","realmId","permissionEvaluator","evaluate","name","EVENT_READ","REALM_MATCH","policiesIncluded","COMPOSITE","PERMISSION_BINDING","resolveReadVisibility","actorRealmId","getActorRealmId","foreignRealmId","undefined","realmIds","push","owner","actorId","actorType","record","input","info","scope","ref_type","refType","ref_id","refId","client_id","clientId","realm_id","enabled","retentionDays","create","truncate","actor_name","actorName","request_path","requestPath","request_method","requestMethod","request_ip_address","requestIpAddress","request_user_agent","requestUserAgent","expiring","expires_at","Date","now","toISOString","save","warn","getMany","query","canReadAll","preEvaluate","e","findMany","visibility","entities","meta","ATTRIBUTES","resourceRealmMatch","total","length","getOne","findOneById","value","maxLength","substring"],"sources":["../../../../src/core/entities/event/service.ts"],"sourcesContent":["/*\n * Copyright (c) 2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { randomUUID } from 'node:crypto';\nimport { BuiltInPolicyType, definePolicyData } from '@authup/access';\nimport { PermissionName } from '@authup/core-kit';\nimport type { Event } from '@authup/core-kit';\nimport { EntityNotFoundError } from '@authup/errors';\nimport { AbstractEntityService } from '@authup/server-kit';\nimport type { ActorContext, EntityRepositoryFindManyResult, Logger } from '@authup/server-kit';\nimport { EVENT_LOG_RETENTION_DAYS_DEFAULT } from './constants.ts';\nimport { sanitizeEventData } from './sanitize.ts';\nimport type {\n EventReadVisibility,\n EventRecordInput,\n EventServiceOptions,\n EventServiceReadOptions,\n IEventRepository,\n IEventService,\n} from './types.ts';\n\nexport type EventServiceContext = {\n repository: IEventRepository,\n options?: EventServiceOptions,\n logger?: Logger,\n};\n\nconst DAY_IN_MS = 86_400_000;\n\nexport class EventService extends AbstractEntityService implements IEventService {\n protected repository: IEventRepository;\n\n protected options: EventServiceOptions;\n\n protected logger?: Logger;\n\n constructor(ctx: EventServiceContext) {\n super();\n\n this.repository = ctx.repository;\n this.options = ctx.options ?? {};\n this.logger = ctx.logger;\n }\n\n protected isOwnedBy(entity: Event, actor: ActorContext): boolean {\n return !!actor.identity &&\n !!entity.actor_id &&\n entity.actor_id === actor.identity.data.id &&\n entity.actor_type === actor.identity.type;\n }\n\n protected async canReadRealm(actor: ActorContext, realmId: string | null): Promise<boolean> {\n try {\n await actor.permissionEvaluator.evaluate({\n name: PermissionName.EVENT_READ,\n data: definePolicyData({ [BuiltInPolicyType.REALM_MATCH]: realmId }),\n options: {\n policiesIncluded: [\n BuiltInPolicyType.COMPOSITE,\n BuiltInPolicyType.PERMISSION_BINDING,\n BuiltInPolicyType.REALM_MATCH,\n ],\n },\n });\n return true;\n } catch {\n return false;\n }\n }\n\n protected async resolveReadVisibility(actor: ActorContext): Promise<EventReadVisibility | undefined> {\n const actorRealmId = this.getActorRealmId(actor);\n let foreignRealmId = randomUUID();\n while (foreignRealmId === actorRealmId) {\n foreignRealmId = randomUUID();\n }\n\n if (await this.canReadRealm(actor, foreignRealmId)) {\n return undefined;\n }\n\n const realmIds: Array<string | null> = [];\n if (actorRealmId && await this.canReadRealm(actor, actorRealmId)) {\n realmIds.push(actorRealmId);\n }\n if (await this.canReadRealm(actor, null)) {\n realmIds.push(null);\n }\n\n return {\n realmIds,\n ...(actor.identity ? {\n owner: {\n actorId: actor.identity.data.id,\n actorType: actor.identity.type,\n },\n } : {}),\n };\n }\n\n async record(input: EventRecordInput): Promise<void> {\n const data = sanitizeEventData(input.data);\n\n // complementary structured log line — fires even when persistence is\n // disabled, so a SIEM/Loki pipeline can pick the events up for free.\n this.logger?.info(`audit: ${input.scope}.${input.name}`, {\n scope: input.scope,\n name: input.name,\n ref_type: input.refType ?? null,\n ref_id: input.refId ?? null,\n client_id: input.clientId ?? null,\n actor_type: input.actorType ?? null,\n actor_id: input.actorId ?? null,\n realm_id: input.realmId ?? null,\n ...(data ? { data } : {}),\n });\n\n if (this.options.enabled === false) {\n return;\n }\n\n try {\n const retentionDays = input.retentionDays ?? this.options.retentionDays ?? EVENT_LOG_RETENTION_DAYS_DEFAULT;\n\n const entity = this.repository.create({\n id: randomUUID(),\n scope: input.scope,\n name: input.name,\n ref_type: truncate(input.refType, 64),\n ref_id: truncate(input.refId, 64),\n client_id: input.clientId ?? null,\n actor_type: input.actorType ?? null,\n actor_id: input.actorId ?? null,\n actor_name: truncate(input.actorName, 128),\n request_path: truncate(input.requestPath, 256),\n request_method: truncate(input.requestMethod, 10),\n request_ip_address: truncate(input.requestIpAddress, 45),\n request_user_agent: truncate(input.requestUserAgent, 512),\n realm_id: input.realmId ?? null,\n data,\n expiring: retentionDays > 0,\n expires_at: retentionDays > 0 ?\n new Date(Date.now() + (retentionDays * DAY_IN_MS)).toISOString() :\n null,\n });\n\n await this.repository.save(entity);\n } catch {\n // an audit write failure must never fail the originating operation\n this.logger?.warn(`Recording the audit event ${input.scope}.${input.name} failed.`);\n }\n }\n\n async getMany(\n query: Record<string, any>,\n actor: ActorContext,\n options: EventServiceReadOptions = {},\n ): Promise<EntityRepositoryFindManyResult<Event>> {\n let canReadAll = true;\n try {\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.EVENT_READ });\n } catch (e) {\n if (!actor.identity) {\n throw e;\n }\n canReadAll = false;\n }\n\n if (!canReadAll) {\n // self-service: only the actor's own rows (\"my sign-in history\")\n return this.repository.findMany(query, {\n owner: {\n actorId: actor.identity!.data.id,\n actorType: actor.identity!.type,\n },\n ...(options.realmId ? { realmId: options.realmId } : {}),\n });\n }\n\n const visibility = await this.resolveReadVisibility(actor);\n const { data: entities, meta } = await this.repository.findMany(query, {\n ...(options.realmId ? { realmId: options.realmId } : {}),\n ...(visibility ? { visibility } : {}),\n });\n\n const data: Event[] = [];\n\n for (const entity of entities) {\n if (this.isOwnedBy(entity, actor)) {\n data.push(entity);\n continue;\n }\n\n try {\n await actor.permissionEvaluator.evaluate({\n name: PermissionName.EVENT_READ,\n data: definePolicyData({\n [BuiltInPolicyType.ATTRIBUTES]: entity,\n ...this.resourceRealmMatch(entity),\n }),\n });\n data.push(entity);\n } catch {\n continue;\n }\n }\n\n return {\n data,\n meta: {\n ...meta,\n total: meta.total - (entities.length - data.length),\n },\n };\n }\n\n async getOne(id: string, actor: ActorContext, options: EventServiceReadOptions = {}): Promise<Event> {\n const entity = await this.repository.findOneById(id);\n if (!entity || (options.realmId && entity.realm_id !== options.realmId)) {\n throw new EntityNotFoundError();\n }\n\n if (!this.isOwnedBy(entity, actor)) {\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.EVENT_READ });\n await actor.permissionEvaluator.evaluate({\n name: PermissionName.EVENT_READ,\n data: definePolicyData({\n [BuiltInPolicyType.ATTRIBUTES]: entity,\n ...this.resourceRealmMatch(entity),\n }),\n });\n }\n\n return entity;\n }\n}\n\nfunction truncate(value: string | null | undefined, maxLength: number): string | null {\n if (typeof value !== 'string') {\n return null;\n }\n\n if (value.length <= maxLength) {\n return value;\n }\n\n return value.substring(0, maxLength);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"service.mjs","names":["randomUUID","BuiltInPolicyType","definePolicyData","and","eq","inArray","or","PermissionName","EntityNotFoundError","AbstractEntityService","EVENT_LOG_RETENTION_DAYS_DEFAULT","sanitizeEventData","appendQueryConditions","decodeQuery","eventSchema","DAY_IN_MS","EventService","repository","options","logger","ctx","isOwnedBy","entity","actor","identity","actorId","data","id","actorType","type","canReadRealm","realmId","permissionEvaluator","evaluate","name","EVENT_READ","REALM_MATCH","policiesIncluded","COMPOSITE","PERMISSION_BINDING","resolveReadVisibility","actorRealmId","getActorRealmId","foreignRealmId","undefined","realmIds","push","owner","record","input","info","scope","refType","refId","clientId","enabled","retentionDays","create","truncate","actorName","requestPath","requestMethod","requestIpAddress","requestUserAgent","expiring","expiresAt","Date","now","toISOString","save","warn","getMany","query","parsed","schema","canReadAll","preEvaluate","e","findMany","compiled","compile","verdict","ownership","scoped","condition","visibility","entities","meta","ATTRIBUTES","resourceRealmMatch","total","length","getOne","findOneById","value","maxLength","substring"],"sources":["../../../../src/core/entities/event/service.ts"],"sourcesContent":["/*\n * Copyright (c) 2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { randomUUID } from 'node:crypto';\nimport { BuiltInPolicyType, definePolicyData } from '@authup/access';\nimport {\n and, \n eq, \n inArray, \n or,\n} from '@rapiq/core';\nimport { PermissionName } from '@authup/core-kit';\nimport type { Event } from '@authup/core-kit';\nimport { EntityNotFoundError } from '@authup/errors';\nimport { AbstractEntityService } from '@authup/server-kit';\nimport type { ActorContext, EntityRepositoryFindManyResult, Logger } from '@authup/server-kit';\nimport { EVENT_LOG_RETENTION_DAYS_DEFAULT } from './constants.ts';\nimport { sanitizeEventData } from './sanitize.ts';\nimport type {\n EventReadVisibility,\n EventRecordInput,\n EventServiceOptions,\n EventServiceReadOptions,\n IEventRepository,\n IEventService,\n} from './types.ts';\nimport { appendQueryConditions, decodeQuery } from '../../query/index.ts';\nimport { eventSchema } from './schema.ts';\n\nexport type EventServiceContext = {\n repository: IEventRepository,\n options?: EventServiceOptions,\n logger?: Logger,\n};\n\nconst DAY_IN_MS = 86_400_000;\n\nexport class EventService extends AbstractEntityService implements IEventService {\n protected repository: IEventRepository;\n\n protected options: EventServiceOptions;\n\n protected logger?: Logger;\n\n constructor(ctx: EventServiceContext) {\n super();\n\n this.repository = ctx.repository;\n this.options = ctx.options ?? {};\n this.logger = ctx.logger;\n }\n\n protected isOwnedBy(entity: Event, actor: ActorContext): boolean {\n return !!actor.identity &&\n !!entity.actorId &&\n entity.actorId === actor.identity.data.id &&\n entity.actorType === actor.identity.type;\n }\n\n protected async canReadRealm(actor: ActorContext, realmId: string | null): Promise<boolean> {\n try {\n await actor.permissionEvaluator.evaluate({\n name: PermissionName.EVENT_READ,\n data: definePolicyData({ [BuiltInPolicyType.REALM_MATCH]: realmId }),\n options: {\n policiesIncluded: [\n BuiltInPolicyType.COMPOSITE,\n BuiltInPolicyType.PERMISSION_BINDING,\n BuiltInPolicyType.REALM_MATCH,\n ],\n },\n });\n return true;\n } catch {\n return false;\n }\n }\n\n protected async resolveReadVisibility(actor: ActorContext): Promise<EventReadVisibility | undefined> {\n const actorRealmId = this.getActorRealmId(actor);\n let foreignRealmId = randomUUID();\n while (foreignRealmId === actorRealmId) {\n foreignRealmId = randomUUID();\n }\n\n if (await this.canReadRealm(actor, foreignRealmId)) {\n return undefined;\n }\n\n const realmIds: Array<string | null> = [];\n if (actorRealmId && await this.canReadRealm(actor, actorRealmId)) {\n realmIds.push(actorRealmId);\n }\n if (await this.canReadRealm(actor, null)) {\n realmIds.push(null);\n }\n\n return {\n realmIds,\n ...(actor.identity ? {\n owner: {\n actorId: actor.identity.data.id,\n actorType: actor.identity.type,\n },\n } : {}),\n };\n }\n\n async record(input: EventRecordInput): Promise<void> {\n const data = sanitizeEventData(input.data);\n\n // complementary structured log line — fires even when persistence is\n // disabled, so a SIEM/Loki pipeline can pick the events up for free.\n this.logger?.info(`audit: ${input.scope}.${input.name}`, {\n scope: input.scope,\n name: input.name,\n refType: input.refType ?? null,\n refId: input.refId ?? null,\n clientId: input.clientId ?? null,\n actorType: input.actorType ?? null,\n actorId: input.actorId ?? null,\n realmId: input.realmId ?? null,\n ...(data ? { data } : {}),\n });\n\n if (this.options.enabled === false) {\n return;\n }\n\n try {\n const retentionDays = input.retentionDays ?? this.options.retentionDays ?? EVENT_LOG_RETENTION_DAYS_DEFAULT;\n\n const entity = this.repository.create({\n id: randomUUID(),\n scope: input.scope,\n name: input.name,\n refType: truncate(input.refType, 64),\n refId: truncate(input.refId, 64),\n clientId: input.clientId ?? null,\n actorType: input.actorType ?? null,\n actorId: input.actorId ?? null,\n actorName: truncate(input.actorName, 128),\n requestPath: truncate(input.requestPath, 256),\n requestMethod: truncate(input.requestMethod, 10),\n requestIpAddress: truncate(input.requestIpAddress, 45),\n requestUserAgent: truncate(input.requestUserAgent, 512),\n realmId: input.realmId ?? null,\n data,\n expiring: retentionDays > 0,\n expiresAt: retentionDays > 0 ?\n new Date(Date.now() + (retentionDays * DAY_IN_MS)).toISOString() :\n null,\n });\n\n await this.repository.save(entity);\n } catch {\n // an audit write failure must never fail the originating operation\n this.logger?.warn(`Recording the audit event ${input.scope}.${input.name} failed.`);\n }\n }\n\n async getMany(\n query: Record<string, any>,\n actor: ActorContext,\n options: EventServiceReadOptions = {},\n ): Promise<EntityRepositoryFindManyResult<Event>> {\n const parsed = await decodeQuery(query, { schema: eventSchema, actor });\n\n let canReadAll = true;\n try {\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.EVENT_READ });\n } catch (e) {\n if (!actor.identity) {\n throw e;\n }\n canReadAll = false;\n }\n\n if (!canReadAll) {\n // self-service: only the actor's own rows (\"my sign-in history\")\n return this.repository.findMany(parsed, {\n owner: {\n actorId: actor.identity!.data.id,\n actorType: actor.identity!.type,\n },\n ...(options.realmId ? { realmId: options.realmId } : {}),\n });\n }\n\n // Compile EVENT_READ into a row condition (#3286 phase 3). Own rows are\n // always readable, so ownership composes as an OR-alternative — the whole\n // gate runs as WHERE (replacing the probe-based visibility derivation, and\n // additionally covering junction ATTRIBUTES policies the probe excluded)\n // and pagination/totals stay exact. A non-expressible policy falls back to\n // the probe + per-row loop below.\n const compiled = await actor.permissionEvaluator.compile({ name: PermissionName.EVENT_READ });\n if (compiled.verdict !== 'post') {\n const ownership = actor.identity ?\n and(eq('actorId', actor.identity.data.id), eq('actorType', actor.identity.type)) :\n null;\n\n let scoped = parsed;\n if (compiled.verdict === 'deny') {\n scoped = appendQueryConditions(parsed, ownership ?? inArray('id', []));\n } else if (compiled.verdict === 'conditional') {\n scoped = appendQueryConditions(\n parsed,\n ownership ? or(ownership, compiled.condition) : compiled.condition,\n );\n }\n\n return this.repository.findMany(scoped, { ...(options.realmId ? { realmId: options.realmId } : {}) });\n }\n\n const visibility = await this.resolveReadVisibility(actor);\n const { data: entities, meta } = await this.repository.findMany(parsed, {\n ...(options.realmId ? { realmId: options.realmId } : {}),\n ...(visibility ? { visibility } : {}),\n });\n\n const data: Event[] = [];\n\n for (const entity of entities) {\n if (this.isOwnedBy(entity, actor)) {\n data.push(entity);\n continue;\n }\n\n try {\n await actor.permissionEvaluator.evaluate({\n name: PermissionName.EVENT_READ,\n data: definePolicyData({\n [BuiltInPolicyType.ATTRIBUTES]: entity,\n ...this.resourceRealmMatch(entity),\n }),\n });\n data.push(entity);\n } catch {\n continue;\n }\n }\n\n return {\n data,\n meta: {\n ...meta,\n total: meta.total - (entities.length - data.length),\n },\n };\n }\n\n async getOne(id: string, actor: ActorContext, options: EventServiceReadOptions = {}): Promise<Event> {\n const entity = await this.repository.findOneById(id);\n if (!entity || (options.realmId && entity.realmId !== options.realmId)) {\n throw new EntityNotFoundError();\n }\n\n if (!this.isOwnedBy(entity, actor)) {\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.EVENT_READ });\n await actor.permissionEvaluator.evaluate({\n name: PermissionName.EVENT_READ,\n data: definePolicyData({\n [BuiltInPolicyType.ATTRIBUTES]: entity,\n ...this.resourceRealmMatch(entity),\n }),\n });\n }\n\n return entity;\n }\n}\n\nfunction truncate(value: string | null | undefined, maxLength: number): string | null {\n if (typeof value !== 'string') {\n return null;\n }\n\n if (value.length <= maxLength) {\n return value;\n }\n\n return value.substring(0, maxLength);\n}\n"],"mappings":"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"}
|