@authup/server-core 1.0.0-beta.53 → 1.0.0-beta.55
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 +54 -36
- package/dist/adapters/database/domains/client/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/client/subscriber.mjs +3 -3
- 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 +42 -23
- package/dist/adapters/database/domains/client-permission/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/client-permission/subscriber.mjs +4 -4
- 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 +31 -19
- package/dist/adapters/database/domains/client-role/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/client-role/subscriber.mjs +4 -4
- 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 +31 -19
- package/dist/adapters/database/domains/client-scope/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/client-scope/subscriber.mjs +2 -2
- package/dist/adapters/database/domains/client-scope/subscriber.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 +35 -20
- package/dist/adapters/database/domains/consent/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/consent/subscriber.mjs +4 -4
- 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 +45 -30
- 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 +19 -12
- 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 +3 -3
- 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 +52 -33
- package/dist/adapters/database/domains/identity-provider-account/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/identity-provider-account/subscriber.mjs +2 -2
- package/dist/adapters/database/domains/identity-provider-account/subscriber.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 +20 -11
- package/dist/adapters/database/domains/identity-provider-attribute/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/identity-provider-attribute/subscriber.mjs +2 -2
- package/dist/adapters/database/domains/identity-provider-attribute/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/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 +31 -21
- 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 +34 -23
- 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 +34 -23
- 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 +3 -3
- 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 +26 -16
- 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 +35 -20
- package/dist/adapters/database/domains/permission/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/permission/subscriber.mjs +4 -4
- 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 +31 -19
- 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 +30 -16
- 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/subscriber.mjs +2 -2
- package/dist/adapters/database/domains/policy/subscriber.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 +20 -11
- package/dist/adapters/database/domains/policy-attribute/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/policy-attribute/subscriber.mjs +4 -4
- 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 +18 -10
- package/dist/adapters/database/domains/realm/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/realm/subscriber.mjs +2 -2
- package/dist/adapters/database/domains/realm/subscriber.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 +32 -18
- 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 +3 -3
- 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 +20 -11
- package/dist/adapters/database/domains/role-attribute/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/role-attribute/subscriber.mjs +4 -4
- 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 +39 -23
- package/dist/adapters/database/domains/role-permission/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/role-permission/subscriber.mjs +4 -4
- 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 +25 -14
- package/dist/adapters/database/domains/scope/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/scope/subscriber.mjs +3 -3
- 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 +44 -44
- 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 +34 -21
- 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 +16 -10
- 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 +44 -29
- 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 +3 -3
- 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 +17 -11
- package/dist/adapters/database/domains/user-attribute/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/user-attribute/subscriber.mjs +4 -4
- 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 +26 -13
- 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 +39 -23
- package/dist/adapters/database/domains/user-permission/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/user-permission/subscriber.mjs +4 -4
- 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 +31 -19
- package/dist/adapters/database/domains/user-role/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/user-role/subscriber.mjs +4 -4
- package/dist/adapters/database/domains/user-role/subscriber.mjs.map +1 -1
- package/dist/adapters/database/errors/driver.mjs.map +1 -1
- package/dist/adapters/database/extra-attribute-repository/adapter.mjs.map +1 -1
- package/dist/adapters/database/extra-attribute-repository/tree/adapter.mjs.map +1 -1
- package/dist/adapters/database/extra-attribute-repository/tree/repository.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/1779267068441-Default.mjs.map +1 -1
- package/dist/adapters/database/migrations/mysql/1779300000000-Default.mjs.map +1 -1
- 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/1779267068441-Default.mjs.map +1 -1
- package/dist/adapters/database/migrations/postgres/1779300000000-Default.mjs.map +1 -1
- 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/database/subscriber/module.mjs.map +1 -1
- 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/grant-types/utils/realm.mjs.map +1 -1
- package/dist/adapters/http/adapters/oauth2/index.mjs +1 -2
- package/dist/adapters/http/controllers/entities/client/module.mjs +2 -2
- package/dist/adapters/http/controllers/entities/client/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/client-permission/module.mjs +2 -2
- package/dist/adapters/http/controllers/entities/client-permission/module.mjs.map +1 -1
- 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/module.mjs +2 -2
- package/dist/adapters/http/controllers/entities/client-role/module.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/module.mjs +2 -2
- package/dist/adapters/http/controllers/entities/client-scope/module.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/consent/module.mjs +2 -2
- package/dist/adapters/http/controllers/entities/consent/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/event/module.mjs +2 -2
- package/dist/adapters/http/controllers/entities/event/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/identity-provide-role/module.mjs +2 -2
- package/dist/adapters/http/controllers/entities/identity-provide-role/module.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 +21 -15
- 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 +3 -9
- package/dist/adapters/http/controllers/entities/key/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/permission/module.mjs +2 -2
- package/dist/adapters/http/controllers/entities/permission/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/permission-policy/module.mjs +2 -2
- package/dist/adapters/http/controllers/entities/permission-policy/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/policy/module.mjs +2 -2
- package/dist/adapters/http/controllers/entities/policy/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/realm/module.mjs +2 -2
- package/dist/adapters/http/controllers/entities/realm/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/role/module.mjs +2 -2
- package/dist/adapters/http/controllers/entities/role/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/role-attribute/module.mjs +2 -2
- package/dist/adapters/http/controllers/entities/role-attribute/module.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/module.mjs +2 -2
- package/dist/adapters/http/controllers/entities/role-permission/module.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/scope/module.mjs +2 -2
- package/dist/adapters/http/controllers/entities/scope/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/session/module.mjs +2 -2
- 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 +3 -9
- package/dist/adapters/http/controllers/entities/trust-anchor/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/user/module.mjs +2 -2
- package/dist/adapters/http/controllers/entities/user/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/user-attribute/module.mjs +2 -2
- package/dist/adapters/http/controllers/entities/user-attribute/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 +3 -3
- package/dist/adapters/http/controllers/entities/user-authenticator/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/user-permission/module.mjs +2 -2
- package/dist/adapters/http/controllers/entities/user-permission/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/module.mjs +2 -2
- package/dist/adapters/http/controllers/entities/user-role/module.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/activate/module.mjs +2 -2
- package/dist/adapters/http/controllers/workflows/authenticator-challenge/module.mjs +2 -2
- package/dist/adapters/http/controllers/workflows/authorize/module.mjs +6 -6
- 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 +11 -11
- package/dist/adapters/http/controllers/workflows/jwks/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/workflows/logout/module.mjs +2 -2
- package/dist/adapters/http/controllers/workflows/logout/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/workflows/openid/module.mjs +2 -2
- package/dist/adapters/http/controllers/workflows/password-forgot/module.mjs +2 -2
- package/dist/adapters/http/controllers/workflows/password-reset/module.mjs +2 -2
- package/dist/adapters/http/controllers/workflows/register/module.mjs +2 -2
- package/dist/adapters/http/controllers/workflows/status/module.mjs +4 -4
- 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 +4 -10
- 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/controllers/workflows/token/utils/extract.mjs.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/cors.mjs.map +1 -1
- package/dist/adapters/http/middleware/built-in/logger.mjs.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/constants.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/param-id.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/helpers/redirect.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/factory.mjs.map +1 -1
- package/dist/app/index.mjs +1 -5
- package/dist/app/modules/authentication/module.mjs.map +1 -1
- package/dist/app/modules/authentication/repositories/constants.mjs.map +1 -1
- 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/cache/module.mjs.map +1 -1
- package/dist/app/modules/components/module.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/origins.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/read/fs.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/module.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/logger/module.mjs.map +1 -1
- package/dist/app/modules/mail/module.mjs.map +1 -1
- package/dist/app/modules/metrics/prom.mjs.map +1 -1
- package/dist/app/modules/oauth2/module.mjs.map +1 -1
- 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/constants.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/app/modules/runtime/module.mjs.map +1 -1
- package/dist/cli/commands/migration.mjs.map +1 -1
- 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 +40 -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/authentication/protocols/open-id/module.mjs.map +1 -1
- package/dist/core/identity/provider/constants.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/constants.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/provisioner.mjs.map +1 -1
- package/dist/core/key/realm-cipher.mjs +5 -5
- package/dist/core/key/realm-cipher.mjs.map +1 -1
- package/dist/core/mail/template/templates/mfa-email-otp.mjs.map +1 -1
- package/dist/core/mail/template/templates/password-reset.mjs.map +1 -1
- package/dist/core/mail/template/templates/registration-activation.mjs.map +1 -1
- package/dist/core/mail/template/types.mjs.map +1 -1
- package/dist/core/oauth2/authorization/code/verifier/module.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/mfa/module.mjs.map +1 -1
- package/dist/core/oauth2/token/issuer/open-id/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/entities/utils.mjs.map +1 -1
- package/dist/core/provisioning/index.mjs +1 -3
- package/dist/core/provisioning/strategy/constants.mjs.map +1 -1
- package/dist/core/provisioning/strategy/validator.mjs.map +1 -1
- 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-CiHrf73J.css +2 -0
- package/dist/ui/client/assets/{index-CT0Nq5pA.js → index-mtJngmng.js} +21 -18
- package/dist/ui/client/index.html +2 -2
- package/dist/ui/server/server.js +10344 -3440
- package/package.json +35 -30
- 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/ui/client/assets/index-BmWsoQro.css +0 -2
- /package/dist/core/{entities/robot-permission → query}/types.mjs +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.mjs","names":["BuiltInPolicyType","definePolicyData","EntityConflictError","EntityNotFoundError","ValidatorGroup","PermissionName","PermissionPolicyValidator","JunctionEntityService","PermissionPolicyService","ownerRealmKey","repository","validator","ctx","getMany","query","actor","permissionEvaluator","preEvaluateOneOf","name","PERMISSION_READ","PERMISSION_UPDATE","findMany","getOne","id","entity","findOneBy","create","data","preEvaluate","validated","run","group","CREATE","validateJoinColumns","existing","
|
|
1
|
+
{"version":3,"file":"service.mjs","names":["BuiltInPolicyType","definePolicyData","EntityConflictError","EntityNotFoundError","ValidatorGroup","PermissionName","PermissionPolicyValidator","JunctionEntityService","decodeQuery","permissionPolicySchema","PermissionPolicyService","ownerRealmKey","repository","validator","ctx","getMany","query","actor","permissionEvaluator","preEvaluateOneOf","name","PERMISSION_READ","PERMISSION_UPDATE","findMany","schema","getOne","id","entity","findOneBy","create","data","preEvaluate","validated","run","group","CREATE","validateJoinColumns","existing","permissionId","policyId","permission","permissionRealmId","realmId","policy","policyRealmId","evaluate","ATTRIBUTES","junctionAttributes","REALM_MATCH","junctionResourceRealm","save","delete","entityId","remove"],"sources":["../../../../src/core/entities/permission-policy/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 { BuiltInPolicyType, definePolicyData } from '@authup/access';\nimport { EntityConflictError, EntityNotFoundError } from '@authup/errors';\nimport { ValidatorGroup } from '@authup/kit';\nimport { PermissionName, PermissionPolicyValidator } from '@authup/core-kit';\nimport type { PermissionPolicy } from '@authup/core-kit';\nimport type { ActorContext, EntityRepositoryFindManyResult } from '@authup/server-kit';\nimport { JunctionEntityService } from '@authup/server-kit';\nimport type { IPermissionPolicyRepository, IPermissionPolicyService } from './types.ts';\nimport { decodeQuery } from '../../query/index.ts';\nimport { permissionPolicySchema } from './schema.ts';\n\nexport type PermissionPolicyServiceContext = {\n repository: IPermissionPolicyRepository;\n};\n\nexport class PermissionPolicyService extends JunctionEntityService implements IPermissionPolicyService {\n protected readonly ownerRealmKey = 'permissionRealmId';\n\n protected repository: IPermissionPolicyRepository;\n\n protected validator: PermissionPolicyValidator;\n\n constructor(ctx: PermissionPolicyServiceContext) {\n super();\n this.repository = ctx.repository;\n this.validator = new PermissionPolicyValidator();\n }\n\n async getMany(\n query: Record<string, any>,\n actor: ActorContext,\n ): Promise<EntityRepositoryFindManyResult<PermissionPolicy>> {\n await actor.permissionEvaluator.preEvaluateOneOf({\n name: [\n PermissionName.PERMISSION_READ,\n PermissionName.PERMISSION_UPDATE,\n ],\n });\n\n return this.repository.findMany(await decodeQuery(query, { schema: permissionPolicySchema, actor }));\n }\n\n async getOne(\n id: string,\n actor: ActorContext,\n ): Promise<PermissionPolicy> {\n await actor.permissionEvaluator.preEvaluateOneOf({\n name: [\n PermissionName.PERMISSION_READ,\n PermissionName.PERMISSION_UPDATE,\n ],\n });\n\n const entity = await this.repository.findOneBy({ id });\n if (!entity) {\n throw new EntityNotFoundError();\n }\n\n return entity;\n }\n\n async create(\n data: Record<string, any>,\n actor: ActorContext,\n ): Promise<PermissionPolicy> {\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.PERMISSION_UPDATE });\n\n const validated = await this.validator.run(data, { group: ValidatorGroup.CREATE });\n\n await this.repository.validateJoinColumns(validated);\n\n const existing = await this.repository.findOneBy({\n permissionId: validated.permissionId,\n policyId: validated.policyId,\n });\n if (existing) {\n throw new EntityConflictError({ entity: 'permission-policy' });\n }\n\n if (validated.permission) {\n validated.permissionRealmId = validated.permission.realmId;\n }\n\n if (validated.policy) {\n validated.policyRealmId = validated.policy.realmId;\n }\n\n // Stamp the owner (permission) realm so the realmScope factor gates cross-realm writes.\n await actor.permissionEvaluator.evaluate({\n name: PermissionName.PERMISSION_UPDATE,\n data: definePolicyData({\n [BuiltInPolicyType.ATTRIBUTES]: this.junctionAttributes(validated),\n [BuiltInPolicyType.REALM_MATCH]: this.junctionResourceRealm(validated),\n }),\n });\n\n let entity = this.repository.create(validated);\n entity = await this.repository.save(entity);\n\n return entity;\n }\n\n async delete(\n id: string,\n actor: ActorContext,\n ): Promise<PermissionPolicy> {\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.PERMISSION_UPDATE });\n\n const entity = await this.repository.findOneBy({ id });\n if (!entity) {\n throw new EntityNotFoundError();\n }\n\n // Stamp the owner (permission) realm so the realmScope factor gates cross-realm writes.\n await actor.permissionEvaluator.evaluate({\n name: PermissionName.PERMISSION_UPDATE,\n data: definePolicyData({\n [BuiltInPolicyType.ATTRIBUTES]: this.junctionAttributes(entity),\n [BuiltInPolicyType.REALM_MATCH]: this.junctionResourceRealm(entity),\n }),\n });\n\n const { id: entityId } = entity;\n await this.repository.remove(entity);\n entity.id = entityId;\n\n return entity;\n }\n}\n"],"mappings":";;;;;;;;;;;;AAsBA,IAAaU,0BAAb,cAA6CH,sBAAAA;CACtBI,gBAAgB;CAEzBC;CAEAC;CAEV,YAAYC,KAAqC;EAC7C,MAAK;EACL,KAAKF,aAAaE,IAAIF;EACtB,KAAKC,YAAY,IAAIP,0BAAAA;CACzB;CAEA,MAAMS,QACFC,OACAC,OACyD;EACzD,MAAMA,MAAMC,oBAAoBC,iBAAiB,EAC7CC,MAAM,CACFf,eAAegB,iBACfhB,eAAeiB,iBAClB,EACL,CAAA;EAEA,OAAO,KAAKV,WAAWW,SAAS,MAAMf,YAAYQ,OAAO;GAAEQ,QAAQf;GAAwBQ;EAAM,CAAA,CAAA;CACrG;CAEA,MAAMQ,OACFC,IACAT,OACyB;EACzB,MAAMA,MAAMC,oBAAoBC,iBAAiB,EAC7CC,MAAM,CACFf,eAAegB,iBACfhB,eAAeiB,iBAClB,EACL,CAAA;EAEA,MAAMK,SAAS,MAAM,KAAKf,WAAWgB,UAAU,EAAEF,GAAG,CAAA;EACpD,IAAI,CAACC,QACD,MAAM,IAAIxB,oBAAAA;EAGd,OAAOwB;CACX;CAEA,MAAME,OACFC,MACAb,OACyB;EACzB,MAAMA,MAAMC,oBAAoBa,YAAY,EAAEX,MAAMf,eAAeiB,kBAAkB,CAAA;EAErF,MAAMU,YAAY,MAAM,KAAKnB,UAAUoB,IAAIH,MAAM,EAAEI,OAAO9B,eAAe+B,OAAO,CAAA;EAEhF,MAAM,KAAKvB,WAAWwB,oBAAoBJ,SAAAA;EAM1C,IAAIK,MAJmB,KAAKzB,WAAWgB,UAAU;GAC7CU,cAAcN,UAAUM;GACxBC,UAAUP,UAAUO;EACxB,CAAA,GAEI,MAAM,IAAIrC,oBAAoB,EAAEyB,QAAQ,oBAAoB,CAAA;EAGhE,IAAIK,UAAUQ,YACVR,UAAUS,oBAAoBT,UAAUQ,WAAWE;EAGvD,IAAIV,UAAUW,QACVX,UAAUY,gBAAgBZ,UAAUW,OAAOD;EAI/C,MAAMzB,MAAMC,oBAAoB2B,SAAS;GACrCzB,MAAMf,eAAeiB;GACrBQ,MAAM7B,iBAAiB;KAClBD,kBAAkB8C,aAAa,KAAKC,mBAAmBf,SAAAA;KACvDhC,kBAAkBgD,cAAc,KAAKC,sBAAsBjB,SAAAA;GAChE,CAAA;EACJ,CAAA;EAEA,IAAIL,SAAS,KAAKf,WAAWiB,OAAOG,SAAAA;EACpCL,SAAS,MAAM,KAAKf,WAAWsC,KAAKvB,MAAAA;EAEpC,OAAOA;CACX;CAEA,MAAMwB,OACFzB,IACAT,OACyB;EACzB,MAAMA,MAAMC,oBAAoBa,YAAY,EAAEX,MAAMf,eAAeiB,kBAAkB,CAAA;EAErF,MAAMK,SAAS,MAAM,KAAKf,WAAWgB,UAAU,EAAEF,GAAG,CAAA;EACpD,IAAI,CAACC,QACD,MAAM,IAAIxB,oBAAAA;EAId,MAAMc,MAAMC,oBAAoB2B,SAAS;GACrCzB,MAAMf,eAAeiB;GACrBQ,MAAM7B,iBAAiB;KAClBD,kBAAkB8C,aAAa,KAAKC,mBAAmBpB,MAAAA;KACvD3B,kBAAkBgD,cAAc,KAAKC,sBAAsBtB,MAAAA;GAChE,CAAA;EACJ,CAAA;EAEA,MAAM,EAAED,IAAI0B,aAAazB;EACzB,MAAM,KAAKf,WAAWyC,OAAO1B,MAAAA;EAC7BA,OAAOD,KAAK0B;EAEZ,OAAOzB;CACX;AACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/entities/policy/index.ts"],"names":[],"mappings":"AAOA,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/entities/policy/index.ts"],"names":[],"mappings":"AAOA,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../src/core/entities/policy/schema.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAM/C,eAAO,MAAM,YAAY,2CAsBvB,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import "node:path";
|
|
2
|
+
import "node:url";
|
|
3
|
+
import.meta.url;
|
|
4
|
+
import { createRelationsReadGate } from "../../query/relations.mjs";
|
|
5
|
+
import { EntityType } from "@authup/core-kit";
|
|
6
|
+
import { defineSchema } from "@rapiq/core";
|
|
7
|
+
//#region src/core/entities/policy/schema.ts
|
|
8
|
+
const schemaMapping = {
|
|
9
|
+
children: EntityType.POLICY,
|
|
10
|
+
realm: EntityType.REALM
|
|
11
|
+
};
|
|
12
|
+
const policySchema = defineSchema({
|
|
13
|
+
name: EntityType.POLICY,
|
|
14
|
+
fields: { default: [
|
|
15
|
+
"id",
|
|
16
|
+
"builtIn",
|
|
17
|
+
"type",
|
|
18
|
+
"displayName",
|
|
19
|
+
"name",
|
|
20
|
+
"description",
|
|
21
|
+
"invert",
|
|
22
|
+
"parentId",
|
|
23
|
+
"realmId",
|
|
24
|
+
"createdAt",
|
|
25
|
+
"updatedAt"
|
|
26
|
+
] },
|
|
27
|
+
filters: { allowed: [
|
|
28
|
+
"id",
|
|
29
|
+
"name",
|
|
30
|
+
"type",
|
|
31
|
+
"parentId",
|
|
32
|
+
"realmId"
|
|
33
|
+
] },
|
|
34
|
+
relations: {
|
|
35
|
+
allowed: ["children", "realm"],
|
|
36
|
+
validate: createRelationsReadGate(schemaMapping)
|
|
37
|
+
},
|
|
38
|
+
sort: { allowed: [
|
|
39
|
+
"id",
|
|
40
|
+
"createdAt",
|
|
41
|
+
"updatedAt"
|
|
42
|
+
] },
|
|
43
|
+
pagination: { maxLimit: 50 },
|
|
44
|
+
schemaMapping
|
|
45
|
+
});
|
|
46
|
+
//#endregion
|
|
47
|
+
export { policySchema };
|
|
48
|
+
|
|
49
|
+
//# sourceMappingURL=schema.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.mjs","names":["defineSchema","EntityType","createRelationsReadGate","schemaMapping","children","POLICY","realm","REALM","policySchema","name","fields","default","filters","allowed","relations","validate","sort","pagination","maxLimit"],"sources":["../../../../src/core/entities/policy/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 { Policy } from '@authup/core-kit';\nimport { EntityType } from '@authup/core-kit';\nimport { createRelationsReadGate } from '../../query/relations.ts';\n\nconst schemaMapping = { children: EntityType.POLICY, realm: EntityType.REALM };\n\nexport const policySchema = defineSchema<Policy>({\n name: EntityType.POLICY,\n fields: {\n default: [\n 'id',\n 'builtIn',\n 'type',\n 'displayName',\n 'name',\n 'description',\n 'invert',\n 'parentId',\n 'realmId',\n 'createdAt',\n 'updatedAt',\n ],\n },\n filters: { allowed: ['id', 'name', 'type', 'parentId', 'realmId'] },\n relations: { allowed: ['children', 'realm'], validate: createRelationsReadGate(schemaMapping) },\n sort: { allowed: ['id', 'createdAt', 'updatedAt'] },\n pagination: { maxLimit: 50 },\n schemaMapping,\n});\n"],"mappings":";;;;;;;AAYA,MAAMG,gBAAgB;CAAEC,UAAUH,WAAWI;CAAQC,OAAOL,WAAWM;AAAM;AAE7E,MAAaC,eAAeR,aAAqB;CAC7CS,MAAMR,WAAWI;CACjBK,QAAQ,EACJC,SAAS;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACH,EACL;CACAC,SAAS,EAAEC,SAAS;EAAC;EAAM;EAAQ;EAAQ;EAAY;CAAU,EAAC;CAClEC,WAAW;EAAED,SAAS,CAAC,YAAY,OAAQ;EAAEE,UAAUb,wBAAwBC,aAAAA;CAAe;CAC9Fa,MAAM,EAAEH,SAAS;EAAC;EAAM;EAAa;CAAY,EAAC;CAClDI,YAAY,EAAEC,UAAU,GAAG;CAC3Bf;AACJ,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../../src/core/entities/policy/service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAEH,eAAe,EAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,8BAA8B,EAAG,MAAM,oBAAoB,CAAC;AACxF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../../src/core/entities/policy/service.ts"],"names":[],"mappings":"AAgBA,OAAO,EAEH,eAAe,EAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,8BAA8B,EAAG,MAAM,oBAAoB,CAAC;AACxF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAIpE,MAAM,MAAM,oBAAoB,GAAG;IAC/B,UAAU,EAAE,iBAAiB,CAAC;IAC9B,eAAe,EAAE,gBAAgB,CAAC;CACrC,CAAC;AAEF,qBAAa,aAAc,SAAQ,qBAAsB,YAAW,cAAc;IAC9E,SAAS,CAAC,UAAU,EAAE,iBAAiB,CAAC;IAExC,SAAS,CAAC,eAAe,EAAE,gBAAgB,CAAC;IAE5C,SAAS,CAAC,SAAS,EAAE,eAAe,CAAC;IAErC,SAAS,CAAC,mBAAmB,EAAE,yBAAyB,CAAC;gBAE7C,GAAG,EAAE,oBAAoB;IAQ/B,OAAO,CACT,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC1B,KAAK,EAAE,YAAY,GACpB,OAAO,CAAC,8BAA8B,CAAC,MAAM,CAAC,CAAC;IAY5C,MAAM,CACR,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,YAAY,EACnB,KAAK,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC;IAiBZ,MAAM,CACR,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,KAAK,EAAE,YAAY,GACpB,OAAO,CAAC,MAAM,CAAC;IAKZ,MAAM,CACR,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,KAAK,EAAE,YAAY,GACpB,OAAO,CAAC,MAAM,CAAC;IAKZ,IAAI,CACN,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,KAAK,EAAE,YAAY,EACnB,OAAO,GAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAA;KAAO,GACvC,OAAO,CAAC;QACP,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,OAAO,CAAA;KACnB,CAAC;YA+FY,QAAQ;IAqBhB,MAAM,CACR,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,YAAY,GACpB,OAAO,CAAC,MAAM,CAAC;CA4BrB"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import "node:path";
|
|
2
2
|
import "node:url";
|
|
3
3
|
import.meta.url;
|
|
4
|
+
import { policySchema } from "./schema.mjs";
|
|
5
|
+
import { decodeQuery } from "../../query/module.mjs";
|
|
6
|
+
import "../../query/index.mjs";
|
|
4
7
|
import { PolicyAttributesValidator } from "./attributes-validator.mjs";
|
|
5
8
|
import { ValidatorGroup, extendObject, isPropertySet, isUUID, removeObjectProperty } from "@authup/kit";
|
|
6
9
|
import { PermissionName, PolicyValidator } from "@authup/core-kit";
|
|
@@ -26,7 +29,10 @@ var PolicyService = class extends AbstractEntityService {
|
|
|
26
29
|
PermissionName.PERMISSION_UPDATE,
|
|
27
30
|
PermissionName.PERMISSION_DELETE
|
|
28
31
|
] });
|
|
29
|
-
return this.repository.findMany(query
|
|
32
|
+
return this.repository.findMany(await decodeQuery(query, {
|
|
33
|
+
schema: policySchema,
|
|
34
|
+
actor
|
|
35
|
+
}));
|
|
30
36
|
}
|
|
31
37
|
async getOne(idOrName, actor, realm) {
|
|
32
38
|
await actor.permissionEvaluator.preEvaluateOneOf({ name: [
|
|
@@ -48,13 +54,13 @@ var PolicyService = class extends AbstractEntityService {
|
|
|
48
54
|
}
|
|
49
55
|
async save(idOrName, data, actor, options = {}) {
|
|
50
56
|
let group;
|
|
51
|
-
const realm = typeof data.
|
|
57
|
+
const realm = typeof data.realmId === "string" ? await this.realmRepository.resolve(data.realmId) : void 0;
|
|
52
58
|
let entity;
|
|
53
59
|
if (idOrName) {
|
|
54
60
|
const where = {};
|
|
55
61
|
if (isUUID(idOrName)) where.id = idOrName;
|
|
56
62
|
else where.name = idOrName;
|
|
57
|
-
if (realm) where.
|
|
63
|
+
if (realm) where.realmId = realm.id;
|
|
58
64
|
entity = await this.repository.findOneBy(where);
|
|
59
65
|
if (!entity && options.updateOnly) throw new EntityNotFoundError();
|
|
60
66
|
} else if (options.updateOnly) throw new EntityNotFoundError();
|
|
@@ -69,7 +75,7 @@ var PolicyService = class extends AbstractEntityService {
|
|
|
69
75
|
await this.repository.validateJoinColumns(validated);
|
|
70
76
|
if (validated.parent && validated.parent.type !== BuiltInPolicyType.COMPOSITE) throw new ValidationError("The parent policy must be of type group.");
|
|
71
77
|
if (entity) {
|
|
72
|
-
if (entity.
|
|
78
|
+
if (entity.builtIn) throw new ValidationError("A built-in policy can not be updated.");
|
|
73
79
|
await actor.permissionEvaluator.evaluate({
|
|
74
80
|
name: PermissionName.PERMISSION_UPDATE,
|
|
75
81
|
data: definePolicyData({
|
|
@@ -77,7 +83,7 @@ var PolicyService = class extends AbstractEntityService {
|
|
|
77
83
|
...entity,
|
|
78
84
|
...validated
|
|
79
85
|
},
|
|
80
|
-
[BuiltInPolicyType.REALM_MATCH]: validated.
|
|
86
|
+
[BuiltInPolicyType.REALM_MATCH]: validated.realmId ?? entity.realmId ?? null
|
|
81
87
|
})
|
|
82
88
|
});
|
|
83
89
|
await this.repository.checkUniqueness(validated, entity);
|
|
@@ -88,7 +94,7 @@ var PolicyService = class extends AbstractEntityService {
|
|
|
88
94
|
created: false
|
|
89
95
|
};
|
|
90
96
|
}
|
|
91
|
-
if (!isPropertySet(validated, "
|
|
97
|
+
if (!isPropertySet(validated, "realmId") && actor.identity) validated.realmId = this.getActorRealmId(actor) || null;
|
|
92
98
|
await actor.permissionEvaluator.evaluate({
|
|
93
99
|
name: PermissionName.PERMISSION_CREATE,
|
|
94
100
|
data: definePolicyData({
|
|
@@ -119,7 +125,7 @@ var PolicyService = class extends AbstractEntityService {
|
|
|
119
125
|
await actor.permissionEvaluator.preEvaluate({ name: PermissionName.PERMISSION_DELETE });
|
|
120
126
|
const entity = await this.repository.findOneBy({ id });
|
|
121
127
|
if (!entity) throw new EntityNotFoundError();
|
|
122
|
-
if (entity.
|
|
128
|
+
if (entity.builtIn) throw new ValidationError("A built-in policy can not be deleted.");
|
|
123
129
|
await actor.permissionEvaluator.evaluate({
|
|
124
130
|
name: PermissionName.PERMISSION_DELETE,
|
|
125
131
|
data: definePolicyData({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.mjs","names":["BuiltInPolicyType","definePolicyData","ValidatorGroup","extendObject","isPropertySet","isUUID","removeObjectProperty","EntityNotFoundError","ValidationError","PermissionName","PolicyValidator","AbstractEntityService","PolicyAttributesValidator","PolicyService","repository","realmRepository","validator","attributesValidator","ctx","getMany","query","actor","permissionEvaluator","preEvaluateOneOf","name","PERMISSION_READ","PERMISSION_UPDATE","PERMISSION_DELETE","findMany","getOne","idOrName","realm","entity","findOneByIdOrName","create","data","save","undefined","update","updateOnly","options","group","realm_id","resolve","where","id","findOneBy","preEvaluate","UPDATE","PERMISSION_CREATE","CREATE","validated","validate","validateJoinColumns","parent","type","COMPOSITE","built_in","evaluate","ATTRIBUTES","REALM_MATCH","checkUniqueness","saveWithEA","created","identity","getActorRealmId","resourceRealmMatch","run","attributes","Array","isArray","children","promises","map","child","Promise","all","delete","entityId","deleteFromTree"],"sources":["../../../../src/core/entities/policy/service.ts"],"sourcesContent":["/*\n * Copyright (c) 2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { BuiltInPolicyType, definePolicyData } from '@authup/access';\nimport {\n ValidatorGroup,\n extendObject,\n isPropertySet,\n isUUID,\n removeObjectProperty,\n} from '@authup/kit';\nimport { EntityNotFoundError, ValidationError } from '@authup/errors';\nimport {\n PermissionName,\n PolicyValidator,\n} from '@authup/core-kit';\nimport type { Policy } from '@authup/core-kit';\nimport type { ActorContext, EntityRepositoryFindManyResult } from '@authup/server-kit';\nimport type { IRealmRepository } from '../realm/types.ts';\nimport { AbstractEntityService } from '@authup/server-kit';\nimport { PolicyAttributesValidator } from './attributes-validator.ts';\nimport type { IPolicyRepository, IPolicyService } from './types.ts';\n\nexport type PolicyServiceContext = {\n repository: IPolicyRepository;\n realmRepository: IRealmRepository;\n};\n\nexport class PolicyService extends AbstractEntityService implements IPolicyService {\n protected repository: IPolicyRepository;\n\n protected realmRepository: IRealmRepository;\n\n protected validator: PolicyValidator;\n\n protected attributesValidator: PolicyAttributesValidator;\n\n constructor(ctx: PolicyServiceContext) {\n super();\n this.repository = ctx.repository;\n this.realmRepository = ctx.realmRepository;\n this.validator = new PolicyValidator();\n this.attributesValidator = new PolicyAttributesValidator({});\n }\n\n async getMany(\n query: Record<string, any>,\n actor: ActorContext,\n ): Promise<EntityRepositoryFindManyResult<Policy>> {\n await actor.permissionEvaluator.preEvaluateOneOf({\n name: [\n PermissionName.PERMISSION_READ,\n PermissionName.PERMISSION_UPDATE,\n PermissionName.PERMISSION_DELETE,\n ],\n });\n\n return this.repository.findMany(query);\n }\n\n async getOne(\n idOrName: string,\n actor: ActorContext,\n realm?: string,\n ): Promise<Policy> {\n await actor.permissionEvaluator.preEvaluateOneOf({\n name: [\n PermissionName.PERMISSION_READ,\n PermissionName.PERMISSION_UPDATE,\n PermissionName.PERMISSION_DELETE,\n ],\n });\n\n const entity = await this.repository.findOneByIdOrName(idOrName, realm);\n if (!entity) {\n throw new EntityNotFoundError();\n }\n\n return entity;\n }\n\n async create(\n data: Record<string, any>,\n actor: ActorContext,\n ): Promise<Policy> {\n const { entity } = await this.save(undefined, data, actor);\n return entity;\n }\n\n async update(\n idOrName: string,\n data: Record<string, any>,\n actor: ActorContext,\n ): Promise<Policy> {\n const { entity } = await this.save(idOrName, data, actor, { updateOnly: true });\n return entity;\n }\n\n async save(\n idOrName: string | undefined,\n data: Record<string, any>,\n actor: ActorContext,\n options: { updateOnly?: boolean } = {},\n ): Promise<{\n entity: Policy,\n created: boolean \n }> {\n let group: string;\n\n const realm = typeof data.realm_id === 'string' ?\n await this.realmRepository.resolve(data.realm_id) :\n undefined;\n\n let entity: Policy | null | undefined;\n if (idOrName) {\n const where: Record<string, any> = {};\n if (isUUID(idOrName)) {\n where.id = idOrName;\n } else {\n where.name = idOrName;\n }\n\n if (realm) {\n where.realm_id = realm.id;\n }\n\n entity = await this.repository.findOneBy(where);\n if (!entity && options.updateOnly) {\n throw new EntityNotFoundError();\n }\n } else if (options.updateOnly) {\n throw new EntityNotFoundError();\n }\n\n if (entity) {\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.PERMISSION_UPDATE });\n group = ValidatorGroup.UPDATE;\n } else {\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.PERMISSION_CREATE });\n group = ValidatorGroup.CREATE;\n }\n\n const validated = await this.validate(data, group);\n\n await this.repository.validateJoinColumns(validated);\n\n if (\n validated.parent &&\n validated.parent.type !== BuiltInPolicyType.COMPOSITE\n ) {\n throw new ValidationError('The parent policy must be of type group.');\n }\n\n if (entity) {\n if (entity.built_in) {\n throw new ValidationError('A built-in policy can not be updated.');\n }\n\n await actor.permissionEvaluator.evaluate({\n name: PermissionName.PERMISSION_UPDATE,\n data: definePolicyData({\n [BuiltInPolicyType.ATTRIBUTES]: {\n ...entity,\n ...validated,\n },\n [BuiltInPolicyType.REALM_MATCH]: validated.realm_id ?? entity.realm_id ?? null,\n }),\n });\n\n await this.repository.checkUniqueness(validated, entity);\n\n extendObject(entity, validated);\n\n await this.repository.saveWithEA(entity);\n\n return {\n entity,\n created: false, \n };\n }\n\n if (!isPropertySet(validated, 'realm_id') && actor.identity) {\n validated.realm_id = this.getActorRealmId(actor) || null;\n }\n\n await actor.permissionEvaluator.evaluate({\n name: PermissionName.PERMISSION_CREATE,\n data: definePolicyData({ [BuiltInPolicyType.ATTRIBUTES]: validated, ...this.resourceRealmMatch(validated) }),\n });\n\n await this.repository.checkUniqueness(validated);\n\n entity = this.repository.create(validated);\n await this.repository.saveWithEA(entity);\n\n return {\n entity,\n created: true, \n };\n }\n\n private async validate(\n data: Record<string, any>,\n group: string,\n ): Promise<Policy> {\n const validated = await this.validator.run(data, { group });\n\n const attributes = await this.attributesValidator.run(data);\n extendObject(validated, attributes);\n\n if (Array.isArray(data.children)) {\n if (data.type === BuiltInPolicyType.COMPOSITE) {\n const promises = data.children.map(\n (child) => this.validate(child, group),\n );\n validated.children = await Promise.all(promises);\n }\n }\n\n return validated;\n }\n\n async delete(\n id: string,\n actor: ActorContext,\n ): Promise<Policy> {\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.PERMISSION_DELETE });\n\n const entity = await this.repository.findOneBy({ id });\n if (!entity) {\n throw new EntityNotFoundError();\n }\n\n if (entity.built_in) {\n throw new ValidationError('A built-in policy can not be deleted.');\n }\n\n await actor.permissionEvaluator.evaluate({\n name: PermissionName.PERMISSION_DELETE,\n data: definePolicyData({ [BuiltInPolicyType.ATTRIBUTES]: entity, ...this.resourceRealmMatch(entity) }),\n });\n\n const { id: entityId } = entity;\n\n await this.repository.deleteFromTree(entity);\n\n entity.id = entityId;\n\n // todo: remove after PolicyEntity - parent delete on cascade\n removeObjectProperty(entity, 'children');\n\n return entity;\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"service.mjs","names":["BuiltInPolicyType","definePolicyData","ValidatorGroup","extendObject","isPropertySet","isUUID","removeObjectProperty","EntityNotFoundError","ValidationError","PermissionName","PolicyValidator","AbstractEntityService","PolicyAttributesValidator","decodeQuery","policySchema","PolicyService","repository","realmRepository","validator","attributesValidator","ctx","getMany","query","actor","permissionEvaluator","preEvaluateOneOf","name","PERMISSION_READ","PERMISSION_UPDATE","PERMISSION_DELETE","findMany","schema","getOne","idOrName","realm","entity","findOneByIdOrName","create","data","save","undefined","update","updateOnly","options","group","realmId","resolve","where","id","findOneBy","preEvaluate","UPDATE","PERMISSION_CREATE","CREATE","validated","validate","validateJoinColumns","parent","type","COMPOSITE","builtIn","evaluate","ATTRIBUTES","REALM_MATCH","checkUniqueness","saveWithEA","created","identity","getActorRealmId","resourceRealmMatch","run","attributes","Array","isArray","children","promises","map","child","Promise","all","delete","entityId","deleteFromTree"],"sources":["../../../../src/core/entities/policy/service.ts"],"sourcesContent":["/*\n * Copyright (c) 2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { BuiltInPolicyType, definePolicyData } from '@authup/access';\nimport {\n ValidatorGroup,\n extendObject,\n isPropertySet,\n isUUID,\n removeObjectProperty,\n} from '@authup/kit';\nimport { EntityNotFoundError, ValidationError } from '@authup/errors';\nimport {\n PermissionName,\n PolicyValidator,\n} from '@authup/core-kit';\nimport type { Policy } from '@authup/core-kit';\nimport type { ActorContext, EntityRepositoryFindManyResult } from '@authup/server-kit';\nimport type { IRealmRepository } from '../realm/types.ts';\nimport { AbstractEntityService } from '@authup/server-kit';\nimport { PolicyAttributesValidator } from './attributes-validator.ts';\nimport type { IPolicyRepository, IPolicyService } from './types.ts';\nimport { decodeQuery } from '../../query/index.ts';\nimport { policySchema } from './schema.ts';\n\nexport type PolicyServiceContext = {\n repository: IPolicyRepository;\n realmRepository: IRealmRepository;\n};\n\nexport class PolicyService extends AbstractEntityService implements IPolicyService {\n protected repository: IPolicyRepository;\n\n protected realmRepository: IRealmRepository;\n\n protected validator: PolicyValidator;\n\n protected attributesValidator: PolicyAttributesValidator;\n\n constructor(ctx: PolicyServiceContext) {\n super();\n this.repository = ctx.repository;\n this.realmRepository = ctx.realmRepository;\n this.validator = new PolicyValidator();\n this.attributesValidator = new PolicyAttributesValidator({});\n }\n\n async getMany(\n query: Record<string, any>,\n actor: ActorContext,\n ): Promise<EntityRepositoryFindManyResult<Policy>> {\n await actor.permissionEvaluator.preEvaluateOneOf({\n name: [\n PermissionName.PERMISSION_READ,\n PermissionName.PERMISSION_UPDATE,\n PermissionName.PERMISSION_DELETE,\n ],\n });\n\n return this.repository.findMany(await decodeQuery(query, { schema: policySchema, actor }));\n }\n\n async getOne(\n idOrName: string,\n actor: ActorContext,\n realm?: string,\n ): Promise<Policy> {\n await actor.permissionEvaluator.preEvaluateOneOf({\n name: [\n PermissionName.PERMISSION_READ,\n PermissionName.PERMISSION_UPDATE,\n PermissionName.PERMISSION_DELETE,\n ],\n });\n\n const entity = await this.repository.findOneByIdOrName(idOrName, realm);\n if (!entity) {\n throw new EntityNotFoundError();\n }\n\n return entity;\n }\n\n async create(\n data: Record<string, any>,\n actor: ActorContext,\n ): Promise<Policy> {\n const { entity } = await this.save(undefined, data, actor);\n return entity;\n }\n\n async update(\n idOrName: string,\n data: Record<string, any>,\n actor: ActorContext,\n ): Promise<Policy> {\n const { entity } = await this.save(idOrName, data, actor, { updateOnly: true });\n return entity;\n }\n\n async save(\n idOrName: string | undefined,\n data: Record<string, any>,\n actor: ActorContext,\n options: { updateOnly?: boolean } = {},\n ): Promise<{\n entity: Policy,\n created: boolean \n }> {\n let group: string;\n\n const realm = typeof data.realmId === 'string' ?\n await this.realmRepository.resolve(data.realmId) :\n undefined;\n\n let entity: Policy | null | undefined;\n if (idOrName) {\n const where: Record<string, any> = {};\n if (isUUID(idOrName)) {\n where.id = idOrName;\n } else {\n where.name = idOrName;\n }\n\n if (realm) {\n where.realmId = realm.id;\n }\n\n entity = await this.repository.findOneBy(where);\n if (!entity && options.updateOnly) {\n throw new EntityNotFoundError();\n }\n } else if (options.updateOnly) {\n throw new EntityNotFoundError();\n }\n\n if (entity) {\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.PERMISSION_UPDATE });\n group = ValidatorGroup.UPDATE;\n } else {\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.PERMISSION_CREATE });\n group = ValidatorGroup.CREATE;\n }\n\n const validated = await this.validate(data, group);\n\n await this.repository.validateJoinColumns(validated);\n\n if (\n validated.parent &&\n validated.parent.type !== BuiltInPolicyType.COMPOSITE\n ) {\n throw new ValidationError('The parent policy must be of type group.');\n }\n\n if (entity) {\n if (entity.builtIn) {\n throw new ValidationError('A built-in policy can not be updated.');\n }\n\n await actor.permissionEvaluator.evaluate({\n name: PermissionName.PERMISSION_UPDATE,\n data: definePolicyData({\n [BuiltInPolicyType.ATTRIBUTES]: {\n ...entity,\n ...validated,\n },\n [BuiltInPolicyType.REALM_MATCH]: validated.realmId ?? entity.realmId ?? null,\n }),\n });\n\n await this.repository.checkUniqueness(validated, entity);\n\n extendObject(entity, validated);\n\n await this.repository.saveWithEA(entity);\n\n return {\n entity,\n created: false, \n };\n }\n\n if (!isPropertySet(validated, 'realmId') && actor.identity) {\n validated.realmId = this.getActorRealmId(actor) || null;\n }\n\n await actor.permissionEvaluator.evaluate({\n name: PermissionName.PERMISSION_CREATE,\n data: definePolicyData({ [BuiltInPolicyType.ATTRIBUTES]: validated, ...this.resourceRealmMatch(validated) }),\n });\n\n await this.repository.checkUniqueness(validated);\n\n entity = this.repository.create(validated);\n await this.repository.saveWithEA(entity);\n\n return {\n entity,\n created: true, \n };\n }\n\n private async validate(\n data: Record<string, any>,\n group: string,\n ): Promise<Policy> {\n const validated = await this.validator.run(data, { group });\n\n const attributes = await this.attributesValidator.run(data);\n extendObject(validated, attributes);\n\n if (Array.isArray(data.children)) {\n if (data.type === BuiltInPolicyType.COMPOSITE) {\n const promises = data.children.map(\n (child) => this.validate(child, group),\n );\n validated.children = await Promise.all(promises);\n }\n }\n\n return validated;\n }\n\n async delete(\n id: string,\n actor: ActorContext,\n ): Promise<Policy> {\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.PERMISSION_DELETE });\n\n const entity = await this.repository.findOneBy({ id });\n if (!entity) {\n throw new EntityNotFoundError();\n }\n\n if (entity.builtIn) {\n throw new ValidationError('A built-in policy can not be deleted.');\n }\n\n await actor.permissionEvaluator.evaluate({\n name: PermissionName.PERMISSION_DELETE,\n data: definePolicyData({ [BuiltInPolicyType.ATTRIBUTES]: entity, ...this.resourceRealmMatch(entity) }),\n });\n\n const { id: entityId } = entity;\n\n await this.repository.deleteFromTree(entity);\n\n entity.id = entityId;\n\n // todo: remove after PolicyEntity - parent delete on cascade\n removeObjectProperty(entity, 'children');\n\n return entity;\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/entities/realm/index.ts"],"names":[],"mappings":"AAOA,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/entities/realm/index.ts"],"names":[],"mappings":"AAOA,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../src/core/entities/realm/schema.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAG9C,eAAO,MAAM,WAAW,0CAiBtB,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
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/realm/schema.ts
|
|
7
|
+
const realmSchema = defineSchema({
|
|
8
|
+
name: EntityType.REALM,
|
|
9
|
+
fields: { allowed: [
|
|
10
|
+
"id",
|
|
11
|
+
"name",
|
|
12
|
+
"displayName",
|
|
13
|
+
"description",
|
|
14
|
+
"builtIn",
|
|
15
|
+
"createdAt",
|
|
16
|
+
"updatedAt"
|
|
17
|
+
] },
|
|
18
|
+
filters: { allowed: [
|
|
19
|
+
"id",
|
|
20
|
+
"builtIn",
|
|
21
|
+
"displayName",
|
|
22
|
+
"name"
|
|
23
|
+
] },
|
|
24
|
+
relations: { allowed: [] },
|
|
25
|
+
sort: { allowed: [
|
|
26
|
+
"id",
|
|
27
|
+
"name",
|
|
28
|
+
"createdAt",
|
|
29
|
+
"updatedAt"
|
|
30
|
+
] },
|
|
31
|
+
pagination: { maxLimit: 50 }
|
|
32
|
+
});
|
|
33
|
+
//#endregion
|
|
34
|
+
export { realmSchema };
|
|
35
|
+
|
|
36
|
+
//# sourceMappingURL=schema.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.mjs","names":["defineSchema","EntityType","realmSchema","name","REALM","fields","allowed","filters","relations","sort","pagination","maxLimit"],"sources":["../../../../src/core/entities/realm/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 { Realm } from '@authup/core-kit';\nimport { EntityType } from '@authup/core-kit';\n\nexport const realmSchema = defineSchema<Realm>({\n name: EntityType.REALM,\n fields: {\n allowed: [\n 'id',\n 'name',\n 'displayName',\n 'description',\n 'builtIn',\n 'createdAt',\n 'updatedAt',\n ],\n },\n filters: { allowed: ['id', 'builtIn', 'displayName', 'name'] },\n relations: { allowed: [] },\n sort: { allowed: ['id', 'name', 'createdAt', 'updatedAt'] },\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;CACH,EACL;CACAC,SAAS,EAAED,SAAS;EAAC;EAAM;EAAW;EAAe;CAAO,EAAC;CAC7DE,WAAW,EAAEF,SAAS,CAAA,EAAG;CACzBG,MAAM,EAAEH,SAAS;EAAC;EAAM;EAAQ;EAAa;CAAY,EAAC;CAC1DI,YAAY,EAAEC,UAAU,GAAG;AAC/B,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../../src/core/entities/realm/service.ts"],"names":[],"mappings":"AAUA,OAAO,EAGH,cAAc,EACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,8BAA8B,EAAE,MAAM,EAAG,MAAM,oBAAoB,CAAC;AAChG,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../../src/core/entities/realm/service.ts"],"names":[],"mappings":"AAUA,OAAO,EAGH,cAAc,EACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,8BAA8B,EAAE,MAAM,EAAG,MAAM,oBAAoB,CAAC;AAChG,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAIlE,MAAM,MAAM,mBAAmB,GAAG;IAC9B,UAAU,EAAE,gBAAgB,CAAC;IAC7B,oBAAoB,CAAC,EAAE,qBAAqB,CAAC;IAC7C,cAAc,CAAC,EAAE,eAAe,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,qBAAa,YAAa,SAAQ,qBAAsB,YAAW,aAAa;IAC5E,SAAS,CAAC,UAAU,EAAE,gBAAgB,CAAC;IAEvC,SAAS,CAAC,SAAS,EAAE,cAAc,CAAC;IAEpC,SAAS,CAAC,oBAAoB,CAAC,EAAE,qBAAqB,CAAC;IAEvD,SAAS,CAAC,cAAc,CAAC,EAAE,eAAe,CAAC;IAE3C,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;gBAEd,GAAG,EAAE,mBAAmB;IAS9B,OAAO,CACT,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC3B,OAAO,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAAC;IAI3C,MAAM,CACR,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC,KAAK,CAAC;IASX,MAAM,CACR,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,KAAK,EAAE,YAAY,GACpB,OAAO,CAAC,KAAK,CAAC;IAKX,MAAM,CACR,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,KAAK,EAAE,YAAY,GACpB,OAAO,CAAC,KAAK,CAAC;IAKX,IAAI,CACN,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,KAAK,EAAE,YAAY,EACnB,OAAO,GAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAA;KAAO,GACvC,OAAO,CAAC;QACP,MAAM,EAAE,KAAK,CAAC;QACd,OAAO,EAAE,OAAO,CAAA;KACnB,CAAC;IA8FI,MAAM,CACR,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,YAAY,GACpB,OAAO,CAAC,KAAK,CAAC;CAuBpB"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import "node:path";
|
|
2
2
|
import "node:url";
|
|
3
3
|
import.meta.url;
|
|
4
|
+
import { realmSchema } from "./schema.mjs";
|
|
5
|
+
import { decodeQuery } from "../../query/module.mjs";
|
|
6
|
+
import "../../query/index.mjs";
|
|
4
7
|
import { ValidatorGroup, isPropertySet, isUUID } from "@authup/kit";
|
|
5
8
|
import { PermissionName, REALM_MASTER_NAME, RealmValidator } from "@authup/core-kit";
|
|
6
9
|
import { AbstractEntityService } from "@authup/server-kit";
|
|
@@ -22,7 +25,7 @@ var RealmService = class extends AbstractEntityService {
|
|
|
22
25
|
this.validator = new RealmValidator();
|
|
23
26
|
}
|
|
24
27
|
async getMany(query) {
|
|
25
|
-
return this.repository.findMany(query);
|
|
28
|
+
return this.repository.findMany(await decodeQuery(query, { schema: realmSchema }));
|
|
26
29
|
}
|
|
27
30
|
async getOne(idOrName) {
|
|
28
31
|
const entity = await this.repository.findOneByIdOrName(idOrName);
|
|
@@ -93,7 +96,7 @@ var RealmService = class extends AbstractEntityService {
|
|
|
93
96
|
await actor.permissionEvaluator.preEvaluate({ name: PermissionName.REALM_DELETE });
|
|
94
97
|
const entity = await this.repository.findOneBy({ id });
|
|
95
98
|
if (!entity) throw new EntityNotFoundError();
|
|
96
|
-
if (entity.
|
|
99
|
+
if (entity.builtIn) throw new ValidationError("A built-in realm can not be deleted.");
|
|
97
100
|
await actor.permissionEvaluator.evaluate({
|
|
98
101
|
name: PermissionName.REALM_DELETE,
|
|
99
102
|
data: definePolicyData({ [BuiltInPolicyType.ATTRIBUTES]: entity })
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.mjs","names":["BuiltInPolicyType","definePolicyData","ValidatorGroup","isPropertySet","isUUID","EntityNotFoundError","ValidationError","PermissionName","REALM_MASTER_NAME","RealmValidator","AbstractEntityService","RealmService","repository","validator","webClientProvisioner","keyProvisioner","logger","ctx","getMany","query","findMany","getOne","idOrName","entity","findOneByIdOrName","create","data","actor","save","undefined","update","updateOnly","options","group","where","id","name","findOneBy","permissionEvaluator","preEvaluate","REALM_UPDATE","UPDATE","REALM_CREATE","CREATE","validated","run","validateJoinColumns","evaluate","ATTRIBUTES","merge","created","ensureForRealm","e","warn","Error","message","String","delete","REALM_DELETE","built_in","entityId","remove"],"sources":["../../../../src/core/entities/realm/service.ts"],"sourcesContent":["/*\n * Copyright (c) 2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { BuiltInPolicyType, definePolicyData } from '@authup/access';\nimport { ValidatorGroup, isPropertySet, isUUID } from '@authup/kit';\nimport { EntityNotFoundError, ValidationError } from '@authup/errors';\nimport {\n PermissionName,\n REALM_MASTER_NAME,\n RealmValidator,\n} from '@authup/core-kit';\nimport type { Realm } from '@authup/core-kit';\nimport type { ActorContext, EntityRepositoryFindManyResult, Logger } from '@authup/server-kit';\nimport { AbstractEntityService } from '@authup/server-kit';\nimport type { IWebClientProvisioner } from '../client/types.ts';\nimport type { IKeyProvisioner } from '../../key/types.ts';\nimport type { IRealmRepository, IRealmService } from './types.ts';\n\nexport type RealmServiceContext = {\n repository: IRealmRepository;\n webClientProvisioner?: IWebClientProvisioner;\n keyProvisioner?: IKeyProvisioner;\n logger?: Logger;\n};\n\nexport class RealmService extends AbstractEntityService implements IRealmService {\n protected repository: IRealmRepository;\n\n protected validator: RealmValidator;\n\n protected webClientProvisioner?: IWebClientProvisioner;\n\n protected keyProvisioner?: IKeyProvisioner;\n\n protected logger?: Logger;\n\n constructor(ctx: RealmServiceContext) {\n super();\n this.repository = ctx.repository;\n this.webClientProvisioner = ctx.webClientProvisioner;\n this.keyProvisioner = ctx.keyProvisioner;\n this.logger = ctx.logger;\n this.validator = new RealmValidator();\n }\n\n async getMany(\n query: Record<string, any>,\n ): Promise<EntityRepositoryFindManyResult<Realm>> {\n return this.repository.findMany(query);\n }\n\n async getOne(\n idOrName: string,\n ): Promise<Realm> {\n const entity = await this.repository.findOneByIdOrName(idOrName);\n if (!entity) {\n throw new EntityNotFoundError();\n }\n\n return entity;\n }\n\n async create(\n data: Record<string, any>,\n actor: ActorContext,\n ): Promise<Realm> {\n const { entity } = await this.save(undefined, data, actor);\n return entity;\n }\n\n async update(\n idOrName: string,\n data: Record<string, any>,\n actor: ActorContext,\n ): Promise<Realm> {\n const { entity } = await this.save(idOrName, data, actor, { updateOnly: true });\n return entity;\n }\n\n async save(\n idOrName: string | undefined,\n data: Record<string, any>,\n actor: ActorContext,\n options: { updateOnly?: boolean } = {},\n ): Promise<{\n entity: Realm,\n created: boolean \n }> {\n let group: string;\n\n let entity: Realm | null | undefined;\n if (idOrName) {\n const where: Record<string, any> = {};\n if (isUUID(idOrName)) {\n where.id = idOrName;\n } else {\n where.name = idOrName;\n }\n\n entity = await this.repository.findOneBy(where);\n if (!entity && options.updateOnly) {\n throw new EntityNotFoundError();\n }\n } else if (options.updateOnly) {\n throw new EntityNotFoundError();\n }\n\n if (entity) {\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.REALM_UPDATE });\n group = ValidatorGroup.UPDATE;\n } else {\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.REALM_CREATE });\n group = ValidatorGroup.CREATE;\n }\n\n const validated = await this.validator.run(data, { group });\n\n await this.repository.validateJoinColumns(validated);\n\n if (entity) {\n await actor.permissionEvaluator.evaluate({\n name: PermissionName.REALM_UPDATE,\n data: definePolicyData({\n [BuiltInPolicyType.ATTRIBUTES]: {\n ...entity,\n ...validated,\n },\n }),\n });\n\n if (entity.name === REALM_MASTER_NAME && isPropertySet(validated, 'name') && entity.name !== validated.name) {\n throw new ValidationError(`The name of the ${REALM_MASTER_NAME} can not be changed.`);\n }\n\n entity = this.repository.merge(entity, validated);\n await this.repository.save(entity);\n\n return {\n entity,\n created: false, \n };\n }\n\n await actor.permissionEvaluator.evaluate({\n name: PermissionName.REALM_CREATE,\n data: definePolicyData({ [BuiltInPolicyType.ATTRIBUTES]: validated }),\n });\n\n entity = this.repository.create(validated);\n await this.repository.save(entity);\n\n // Provision the realm's public `web` client via the system-level\n // provisioner (NOT clientService.create) — it must not be gated on\n // the actor's CLIENT_CREATE, since a realm creator may lack it.\n // Realm creation must stay atomic from the caller's perspective: the\n // realm is already persisted, so a provisioning failure is logged and\n // swallowed (startup provisioning reconciles every realm's web client).\n if (this.webClientProvisioner) {\n try {\n await this.webClientProvisioner.ensureForRealm(entity);\n } catch (e) {\n if (this.logger) {\n this.logger.warn(\n `Failed to provision web client for realm ${entity.id}: ${e instanceof Error ? e.message : String(e)}`,\n );\n }\n }\n }\n\n // Mint the realm's sig + enc keys eagerly (plan 071 hybrid model) —\n // same system-level, never-fail posture as the web client above.\n if (this.keyProvisioner) {\n await this.keyProvisioner.ensureForRealm(entity);\n }\n\n return {\n entity,\n created: true,\n };\n }\n\n async delete(\n id: string,\n actor: ActorContext,\n ): Promise<Realm> {\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.REALM_DELETE });\n\n const entity = await this.repository.findOneBy({ id });\n if (!entity) {\n throw new EntityNotFoundError();\n }\n\n if (entity.built_in) {\n throw new ValidationError('A built-in realm can not be deleted.');\n }\n\n await actor.permissionEvaluator.evaluate({\n name: PermissionName.REALM_DELETE,\n data: definePolicyData({ [BuiltInPolicyType.ATTRIBUTES]: entity }),\n });\n\n const { id: entityId } = entity;\n await this.repository.remove(entity);\n entity.id = entityId;\n\n return entity;\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"service.mjs","names":["BuiltInPolicyType","definePolicyData","ValidatorGroup","isPropertySet","isUUID","EntityNotFoundError","ValidationError","PermissionName","REALM_MASTER_NAME","RealmValidator","AbstractEntityService","decodeQuery","realmSchema","RealmService","repository","validator","webClientProvisioner","keyProvisioner","logger","ctx","getMany","query","findMany","schema","getOne","idOrName","entity","findOneByIdOrName","create","data","actor","save","undefined","update","updateOnly","options","group","where","id","name","findOneBy","permissionEvaluator","preEvaluate","REALM_UPDATE","UPDATE","REALM_CREATE","CREATE","validated","run","validateJoinColumns","evaluate","ATTRIBUTES","merge","created","ensureForRealm","e","warn","Error","message","String","delete","REALM_DELETE","builtIn","entityId","remove"],"sources":["../../../../src/core/entities/realm/service.ts"],"sourcesContent":["/*\n * Copyright (c) 2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { BuiltInPolicyType, definePolicyData } from '@authup/access';\nimport { ValidatorGroup, isPropertySet, isUUID } from '@authup/kit';\nimport { EntityNotFoundError, ValidationError } from '@authup/errors';\nimport {\n PermissionName,\n REALM_MASTER_NAME,\n RealmValidator,\n} from '@authup/core-kit';\nimport type { Realm } from '@authup/core-kit';\nimport type { ActorContext, EntityRepositoryFindManyResult, Logger } from '@authup/server-kit';\nimport { AbstractEntityService } from '@authup/server-kit';\nimport type { IWebClientProvisioner } from '../client/types.ts';\nimport type { IKeyProvisioner } from '../../key/types.ts';\nimport type { IRealmRepository, IRealmService } from './types.ts';\nimport { decodeQuery } from '../../query/index.ts';\nimport { realmSchema } from './schema.ts';\n\nexport type RealmServiceContext = {\n repository: IRealmRepository;\n webClientProvisioner?: IWebClientProvisioner;\n keyProvisioner?: IKeyProvisioner;\n logger?: Logger;\n};\n\nexport class RealmService extends AbstractEntityService implements IRealmService {\n protected repository: IRealmRepository;\n\n protected validator: RealmValidator;\n\n protected webClientProvisioner?: IWebClientProvisioner;\n\n protected keyProvisioner?: IKeyProvisioner;\n\n protected logger?: Logger;\n\n constructor(ctx: RealmServiceContext) {\n super();\n this.repository = ctx.repository;\n this.webClientProvisioner = ctx.webClientProvisioner;\n this.keyProvisioner = ctx.keyProvisioner;\n this.logger = ctx.logger;\n this.validator = new RealmValidator();\n }\n\n async getMany(\n query: Record<string, any>,\n ): Promise<EntityRepositoryFindManyResult<Realm>> {\n return this.repository.findMany(await decodeQuery(query, { schema: realmSchema }));\n }\n\n async getOne(\n idOrName: string,\n ): Promise<Realm> {\n const entity = await this.repository.findOneByIdOrName(idOrName);\n if (!entity) {\n throw new EntityNotFoundError();\n }\n\n return entity;\n }\n\n async create(\n data: Record<string, any>,\n actor: ActorContext,\n ): Promise<Realm> {\n const { entity } = await this.save(undefined, data, actor);\n return entity;\n }\n\n async update(\n idOrName: string,\n data: Record<string, any>,\n actor: ActorContext,\n ): Promise<Realm> {\n const { entity } = await this.save(idOrName, data, actor, { updateOnly: true });\n return entity;\n }\n\n async save(\n idOrName: string | undefined,\n data: Record<string, any>,\n actor: ActorContext,\n options: { updateOnly?: boolean } = {},\n ): Promise<{\n entity: Realm,\n created: boolean \n }> {\n let group: string;\n\n let entity: Realm | null | undefined;\n if (idOrName) {\n const where: Record<string, any> = {};\n if (isUUID(idOrName)) {\n where.id = idOrName;\n } else {\n where.name = idOrName;\n }\n\n entity = await this.repository.findOneBy(where);\n if (!entity && options.updateOnly) {\n throw new EntityNotFoundError();\n }\n } else if (options.updateOnly) {\n throw new EntityNotFoundError();\n }\n\n if (entity) {\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.REALM_UPDATE });\n group = ValidatorGroup.UPDATE;\n } else {\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.REALM_CREATE });\n group = ValidatorGroup.CREATE;\n }\n\n const validated = await this.validator.run(data, { group });\n\n await this.repository.validateJoinColumns(validated);\n\n if (entity) {\n await actor.permissionEvaluator.evaluate({\n name: PermissionName.REALM_UPDATE,\n data: definePolicyData({\n [BuiltInPolicyType.ATTRIBUTES]: {\n ...entity,\n ...validated,\n },\n }),\n });\n\n if (entity.name === REALM_MASTER_NAME && isPropertySet(validated, 'name') && entity.name !== validated.name) {\n throw new ValidationError(`The name of the ${REALM_MASTER_NAME} can not be changed.`);\n }\n\n entity = this.repository.merge(entity, validated);\n await this.repository.save(entity);\n\n return {\n entity,\n created: false, \n };\n }\n\n await actor.permissionEvaluator.evaluate({\n name: PermissionName.REALM_CREATE,\n data: definePolicyData({ [BuiltInPolicyType.ATTRIBUTES]: validated }),\n });\n\n entity = this.repository.create(validated);\n await this.repository.save(entity);\n\n // Provision the realm's public `web` client via the system-level\n // provisioner (NOT clientService.create) — it must not be gated on\n // the actor's CLIENT_CREATE, since a realm creator may lack it.\n // Realm creation must stay atomic from the caller's perspective: the\n // realm is already persisted, so a provisioning failure is logged and\n // swallowed (startup provisioning reconciles every realm's web client).\n if (this.webClientProvisioner) {\n try {\n await this.webClientProvisioner.ensureForRealm(entity);\n } catch (e) {\n if (this.logger) {\n this.logger.warn(\n `Failed to provision web client for realm ${entity.id}: ${e instanceof Error ? e.message : String(e)}`,\n );\n }\n }\n }\n\n // Mint the realm's sig + enc keys eagerly (plan 071 hybrid model) —\n // same system-level, never-fail posture as the web client above.\n if (this.keyProvisioner) {\n await this.keyProvisioner.ensureForRealm(entity);\n }\n\n return {\n entity,\n created: true,\n };\n }\n\n async delete(\n id: string,\n actor: ActorContext,\n ): Promise<Realm> {\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.REALM_DELETE });\n\n const entity = await this.repository.findOneBy({ id });\n if (!entity) {\n throw new EntityNotFoundError();\n }\n\n if (entity.builtIn) {\n throw new ValidationError('A built-in realm can not be deleted.');\n }\n\n await actor.permissionEvaluator.evaluate({\n name: PermissionName.REALM_DELETE,\n data: definePolicyData({ [BuiltInPolicyType.ATTRIBUTES]: entity }),\n });\n\n const { id: entityId } = entity;\n await this.repository.remove(entity);\n entity.id = entityId;\n\n return entity;\n }\n}\n"],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ export interface IRealmRepository extends IEntityRepository<Realm> {
|
|
|
9
9
|
resolve(id: string | undefined, withFallback?: boolean): Promise<Realm | null>;
|
|
10
10
|
/**
|
|
11
11
|
* Resolve a realm key (UUID or name) to a realm id for use in a
|
|
12
|
-
*
|
|
12
|
+
* realmId predicate. A UUID key is returned as-is without existence
|
|
13
13
|
* verification (binding an unknown UUID matches zero rows — fail-closed
|
|
14
14
|
* by construction). A name key resolves through the canonicalizing
|
|
15
15
|
* findOneByName; null means "no such realm" and the caller MUST fail
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/entities/role/index.ts"],"names":[],"mappings":"AAOA,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/entities/role/index.ts"],"names":[],"mappings":"AAOA,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../src/core/entities/role/schema.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAM7C,eAAO,MAAM,UAAU,yCAmBrB,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import "node:path";
|
|
2
|
+
import "node:url";
|
|
3
|
+
import.meta.url;
|
|
4
|
+
import { createRelationsReadGate } from "../../query/relations.mjs";
|
|
5
|
+
import { EntityType } from "@authup/core-kit";
|
|
6
|
+
import { defineSchema } from "@rapiq/core";
|
|
7
|
+
//#region src/core/entities/role/schema.ts
|
|
8
|
+
const schemaMapping = { realm: EntityType.REALM };
|
|
9
|
+
const roleSchema = defineSchema({
|
|
10
|
+
name: EntityType.ROLE,
|
|
11
|
+
fields: { allowed: [
|
|
12
|
+
"id",
|
|
13
|
+
"name",
|
|
14
|
+
"displayName",
|
|
15
|
+
"target",
|
|
16
|
+
"description",
|
|
17
|
+
"realmId",
|
|
18
|
+
"createdAt",
|
|
19
|
+
"updatedAt"
|
|
20
|
+
] },
|
|
21
|
+
filters: { allowed: [
|
|
22
|
+
"id",
|
|
23
|
+
"name",
|
|
24
|
+
"target",
|
|
25
|
+
"realmId"
|
|
26
|
+
] },
|
|
27
|
+
relations: {
|
|
28
|
+
allowed: ["realm"],
|
|
29
|
+
validate: createRelationsReadGate(schemaMapping)
|
|
30
|
+
},
|
|
31
|
+
sort: { allowed: [
|
|
32
|
+
"id",
|
|
33
|
+
"name",
|
|
34
|
+
"updatedAt",
|
|
35
|
+
"createdAt"
|
|
36
|
+
] },
|
|
37
|
+
pagination: { maxLimit: 50 },
|
|
38
|
+
schemaMapping
|
|
39
|
+
});
|
|
40
|
+
//#endregion
|
|
41
|
+
export { roleSchema };
|
|
42
|
+
|
|
43
|
+
//# sourceMappingURL=schema.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.mjs","names":["defineSchema","EntityType","createRelationsReadGate","schemaMapping","realm","REALM","roleSchema","name","ROLE","fields","allowed","filters","relations","validate","sort","pagination","maxLimit"],"sources":["../../../../src/core/entities/role/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 { Role } from '@authup/core-kit';\nimport { EntityType } from '@authup/core-kit';\nimport { createRelationsReadGate } from '../../query/relations.ts';\n\nconst schemaMapping = { realm: EntityType.REALM };\n\nexport const roleSchema = defineSchema<Role>({\n name: EntityType.ROLE,\n fields: {\n allowed: [\n 'id',\n 'name',\n 'displayName',\n 'target',\n 'description',\n 'realmId',\n 'createdAt',\n 'updatedAt',\n ],\n },\n filters: { allowed: ['id', 'name', 'target', 'realmId'] },\n relations: { allowed: ['realm'], validate: createRelationsReadGate(schemaMapping) },\n sort: { allowed: ['id', 'name', 'updatedAt', 'createdAt'] },\n pagination: { maxLimit: 50 },\n schemaMapping,\n});\n"],"mappings":";;;;;;;AAYA,MAAMG,gBAAgB,EAAEC,OAAOH,WAAWI,MAAM;AAEhD,MAAaC,aAAaN,aAAmB;CACzCO,MAAMN,WAAWO;CACjBC,QAAQ,EACJC,SAAS;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACH,EACL;CACAC,SAAS,EAAED,SAAS;EAAC;EAAM;EAAQ;EAAU;CAAU,EAAC;CACxDE,WAAW;EAAEF,SAAS,CAAC,OAAQ;EAAEG,UAAUX,wBAAwBC,aAAAA;CAAe;CAClFW,MAAM,EAAEJ,SAAS;EAAC;EAAM;EAAQ;EAAa;CAAY,EAAC;CAC1DK,YAAY,EAAEC,UAAU,GAAG;CAC3Bb;AACJ,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../../src/core/entities/role/service.ts"],"names":[],"mappings":"AAUA,OAAO,EAGH,aAAa,EAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,8BAA8B,EAAG,MAAM,oBAAoB,CAAC;AACxF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../../src/core/entities/role/service.ts"],"names":[],"mappings":"AAUA,OAAO,EAGH,aAAa,EAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,8BAA8B,EAAG,MAAM,oBAAoB,CAAC;AACxF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAIhE,MAAM,MAAM,kBAAkB,GAAG;IAC7B,UAAU,EAAE,eAAe,CAAC;IAC5B,eAAe,EAAE,gBAAgB,CAAC;CACrC,CAAC;AAEF,qBAAa,WAAY,SAAQ,qBAAsB,YAAW,YAAY;IAC1E,SAAS,CAAC,UAAU,EAAE,eAAe,CAAC;IAEtC,SAAS,CAAC,eAAe,EAAE,gBAAgB,CAAC;IAE5C,SAAS,CAAC,SAAS,EAAE,aAAa,CAAC;gBAEvB,GAAG,EAAE,kBAAkB;IAO7B,OAAO,CACT,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC1B,KAAK,EAAE,YAAY,GACpB,OAAO,CAAC,8BAA8B,CAAC,IAAI,CAAC,CAAC;IAY1C,MAAM,CACR,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,YAAY,GACpB,OAAO,CAAC,IAAI,CAAC;IAiBV,MAAM,CACR,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,KAAK,EAAE,YAAY,GACpB,OAAO,CAAC,IAAI,CAAC;IAKV,MAAM,CACR,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,KAAK,EAAE,YAAY,GACpB,OAAO,CAAC,IAAI,CAAC;IAKV,IAAI,CACN,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,KAAK,EAAE,YAAY,EACnB,OAAO,GAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAA;KAAO,GACvC,OAAO,CAAC;QACP,MAAM,EAAE,IAAI,CAAC;QACb,OAAO,EAAE,OAAO,CAAA;KACnB,CAAC;IAkFI,MAAM,CACR,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,YAAY,GACpB,OAAO,CAAC,IAAI,CAAC;CAuBnB"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import "node:path";
|
|
2
2
|
import "node:url";
|
|
3
3
|
import.meta.url;
|
|
4
|
+
import { roleSchema } from "./schema.mjs";
|
|
5
|
+
import { decodeQuery } from "../../query/module.mjs";
|
|
6
|
+
import "../../query/index.mjs";
|
|
4
7
|
import { ValidatorGroup, isPropertySet, isUUID } from "@authup/kit";
|
|
5
8
|
import { PermissionName, ROLE_ADMIN_NAME, RoleValidator } from "@authup/core-kit";
|
|
6
9
|
import { AbstractEntityService } from "@authup/server-kit";
|
|
@@ -23,7 +26,10 @@ var RoleService = class extends AbstractEntityService {
|
|
|
23
26
|
PermissionName.ROLE_UPDATE,
|
|
24
27
|
PermissionName.ROLE_DELETE
|
|
25
28
|
] });
|
|
26
|
-
return this.repository.findMany(query
|
|
29
|
+
return this.repository.findMany(await decodeQuery(query, {
|
|
30
|
+
schema: roleSchema,
|
|
31
|
+
actor
|
|
32
|
+
}));
|
|
27
33
|
}
|
|
28
34
|
async getOne(idOrName, actor) {
|
|
29
35
|
await actor.permissionEvaluator.preEvaluateOneOf({ name: [
|
|
@@ -45,13 +51,13 @@ var RoleService = class extends AbstractEntityService {
|
|
|
45
51
|
}
|
|
46
52
|
async save(idOrName, data, actor, options = {}) {
|
|
47
53
|
let group;
|
|
48
|
-
const realm = typeof data.
|
|
54
|
+
const realm = typeof data.realmId === "string" ? await this.realmRepository.resolve(data.realmId) : void 0;
|
|
49
55
|
let entity;
|
|
50
56
|
if (idOrName) {
|
|
51
57
|
const where = {};
|
|
52
58
|
if (isUUID(idOrName)) where.id = idOrName;
|
|
53
59
|
else where.name = idOrName;
|
|
54
|
-
if (realm) where.
|
|
60
|
+
if (realm) where.realmId = realm.id;
|
|
55
61
|
entity = await this.repository.findOneBy(where);
|
|
56
62
|
if (!entity && options.updateOnly) throw new EntityNotFoundError();
|
|
57
63
|
} else if (options.updateOnly) throw new EntityNotFoundError();
|
|
@@ -72,7 +78,7 @@ var RoleService = class extends AbstractEntityService {
|
|
|
72
78
|
...entity,
|
|
73
79
|
...validated
|
|
74
80
|
},
|
|
75
|
-
[BuiltInPolicyType.REALM_MATCH]: validated.
|
|
81
|
+
[BuiltInPolicyType.REALM_MATCH]: validated.realmId ?? entity.realmId ?? null
|
|
76
82
|
})
|
|
77
83
|
});
|
|
78
84
|
entity = this.repository.merge(entity, validated);
|
|
@@ -83,7 +89,7 @@ var RoleService = class extends AbstractEntityService {
|
|
|
83
89
|
created: false
|
|
84
90
|
};
|
|
85
91
|
}
|
|
86
|
-
if (!isPropertySet(validated, "
|
|
92
|
+
if (!isPropertySet(validated, "realmId") && actor.identity) validated.realmId = this.getActorRealmId(actor) || null;
|
|
87
93
|
await actor.permissionEvaluator.evaluate({
|
|
88
94
|
name: PermissionName.ROLE_CREATE,
|
|
89
95
|
data: definePolicyData({
|