@authup/server-core 1.0.0-beta.36 → 1.0.0-beta.37
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/cache/index.mjs +2 -0
- package/dist/adapters/database/cache/module.mjs +48 -0
- package/dist/adapters/database/cache/module.mjs.map +1 -0
- package/dist/adapters/database/data-source/index.mjs +4 -0
- package/dist/adapters/database/data-source/options/index.mjs +2 -0
- package/dist/adapters/database/data-source/options/module.mjs +145 -0
- package/dist/adapters/database/data-source/options/module.mjs.map +1 -0
- package/dist/adapters/database/data-source/singleton.mjs +16 -0
- package/dist/adapters/database/data-source/singleton.mjs.map +1 -0
- package/dist/adapters/database/domains/client/entity.mjs +122 -0
- package/dist/adapters/database/domains/client/entity.mjs.map +1 -0
- package/dist/adapters/database/domains/client/index.mjs +4 -0
- package/dist/adapters/database/domains/client/repository.mjs +75 -0
- package/dist/adapters/database/domains/client/repository.mjs.map +1 -0
- package/dist/adapters/database/domains/client/subscriber.mjs +57 -0
- package/dist/adapters/database/domains/client/subscriber.mjs.map +1 -0
- package/dist/adapters/database/domains/client-permission/entity.mjs +80 -0
- package/dist/adapters/database/domains/client-permission/entity.mjs.map +1 -0
- package/dist/adapters/database/domains/client-permission/index.mjs +3 -0
- package/dist/adapters/database/domains/client-permission/subscriber.mjs +67 -0
- package/dist/adapters/database/domains/client-permission/subscriber.mjs.map +1 -0
- package/dist/adapters/database/domains/client-role/entity.mjs +67 -0
- package/dist/adapters/database/domains/client-role/entity.mjs.map +1 -0
- package/dist/adapters/database/domains/client-role/index.mjs +3 -0
- package/dist/adapters/database/domains/client-role/subscriber.mjs +67 -0
- package/dist/adapters/database/domains/client-role/subscriber.mjs.map +1 -0
- package/dist/adapters/database/domains/client-scope/entity.mjs +73 -0
- package/dist/adapters/database/domains/client-scope/entity.mjs.map +1 -0
- package/dist/adapters/database/domains/client-scope/index.mjs +3 -0
- package/dist/adapters/database/domains/client-scope/subscriber.mjs +54 -0
- package/dist/adapters/database/domains/client-scope/subscriber.mjs.map +1 -0
- package/dist/adapters/database/domains/constants.mjs +31 -0
- package/dist/adapters/database/domains/constants.mjs.map +1 -0
- package/dist/adapters/database/domains/identity-provider/entity.mjs +66 -0
- package/dist/adapters/database/domains/identity-provider/entity.mjs.map +1 -0
- package/dist/adapters/database/domains/identity-provider/index.mjs +4 -0
- package/dist/adapters/database/domains/identity-provider/repository.mjs +28 -0
- package/dist/adapters/database/domains/identity-provider/repository.mjs.map +1 -0
- package/dist/adapters/database/domains/identity-provider/subscriber.mjs +57 -0
- package/dist/adapters/database/domains/identity-provider/subscriber.mjs.map +1 -0
- package/dist/adapters/database/domains/identity-provider-account/entity.mjs +113 -0
- package/dist/adapters/database/domains/identity-provider-account/entity.mjs.map +1 -0
- package/dist/adapters/database/domains/identity-provider-account/index.mjs +3 -0
- package/dist/adapters/database/domains/identity-provider-account/subscriber.mjs +54 -0
- package/dist/adapters/database/domains/identity-provider-account/subscriber.mjs.map +1 -0
- package/dist/adapters/database/domains/identity-provider-attribute/entity.mjs +65 -0
- package/dist/adapters/database/domains/identity-provider-attribute/entity.mjs.map +1 -0
- package/dist/adapters/database/domains/identity-provider-attribute/index.mjs +3 -0
- package/dist/adapters/database/domains/identity-provider-attribute/subscriber.mjs +54 -0
- package/dist/adapters/database/domains/identity-provider-attribute/subscriber.mjs.map +1 -0
- package/dist/adapters/database/domains/identity-provider-attribute-mapping/entity.mjs +78 -0
- package/dist/adapters/database/domains/identity-provider-attribute-mapping/entity.mjs.map +1 -0
- package/dist/adapters/database/domains/identity-provider-attribute-mapping/index.mjs +2 -0
- package/dist/adapters/database/domains/identity-provider-permission-mapping/entity.mjs +88 -0
- package/dist/adapters/database/domains/identity-provider-permission-mapping/entity.mjs.map +1 -0
- package/dist/adapters/database/domains/identity-provider-permission-mapping/index.mjs +2 -0
- package/dist/adapters/database/domains/identity-provider-role-mapping/entity.mjs +88 -0
- package/dist/adapters/database/domains/identity-provider-role-mapping/entity.mjs.map +1 -0
- package/dist/adapters/database/domains/identity-provider-role-mapping/index.mjs +3 -0
- package/dist/adapters/database/domains/identity-provider-role-mapping/subscriber.mjs +63 -0
- package/dist/adapters/database/domains/identity-provider-role-mapping/subscriber.mjs.map +1 -0
- package/dist/adapters/database/domains/index.mjs +88 -0
- package/dist/adapters/database/domains/key/entity.mjs +80 -0
- package/dist/adapters/database/domains/key/entity.mjs.map +1 -0
- package/dist/adapters/database/domains/key/index.mjs +2 -0
- package/dist/adapters/database/domains/permission/entity.mjs +89 -0
- package/dist/adapters/database/domains/permission/entity.mjs.map +1 -0
- package/dist/adapters/database/domains/permission/index.mjs +3 -0
- package/dist/adapters/database/domains/permission/subscriber.mjs +66 -0
- package/dist/adapters/database/domains/permission/subscriber.mjs.map +1 -0
- package/dist/adapters/database/domains/permission-policy/entity.mjs +68 -0
- package/dist/adapters/database/domains/permission-policy/entity.mjs.map +1 -0
- package/dist/adapters/database/domains/permission-policy/index.mjs +2 -0
- package/dist/adapters/database/domains/policy/entity.mjs +90 -0
- package/dist/adapters/database/domains/policy/entity.mjs.map +1 -0
- package/dist/adapters/database/domains/policy/index.mjs +4 -0
- package/dist/adapters/database/domains/policy/repository.mjs +38 -0
- package/dist/adapters/database/domains/policy/repository.mjs.map +1 -0
- package/dist/adapters/database/domains/policy/subscriber.mjs +54 -0
- package/dist/adapters/database/domains/policy/subscriber.mjs.map +1 -0
- package/dist/adapters/database/domains/policy-attribute/entity.mjs +65 -0
- package/dist/adapters/database/domains/policy-attribute/entity.mjs.map +1 -0
- package/dist/adapters/database/domains/policy-attribute/index.mjs +3 -0
- package/dist/adapters/database/domains/policy-attribute/subscriber.mjs +63 -0
- package/dist/adapters/database/domains/policy-attribute/subscriber.mjs.map +1 -0
- package/dist/adapters/database/domains/realm/entity.mjs +47 -0
- package/dist/adapters/database/domains/realm/entity.mjs.map +1 -0
- package/dist/adapters/database/domains/realm/index.mjs +4 -0
- package/dist/adapters/database/domains/realm/repository.mjs +21 -0
- package/dist/adapters/database/domains/realm/repository.mjs.map +1 -0
- package/dist/adapters/database/domains/realm/subscriber.mjs +54 -0
- package/dist/adapters/database/domains/realm/subscriber.mjs.map +1 -0
- package/dist/adapters/database/domains/robot/entity.mjs +107 -0
- package/dist/adapters/database/domains/robot/entity.mjs.map +1 -0
- package/dist/adapters/database/domains/robot/index.mjs +4 -0
- package/dist/adapters/database/domains/robot/repository.mjs +75 -0
- package/dist/adapters/database/domains/robot/repository.mjs.map +1 -0
- package/dist/adapters/database/domains/robot/subscriber.mjs +57 -0
- package/dist/adapters/database/domains/robot/subscriber.mjs.map +1 -0
- package/dist/adapters/database/domains/robot-permission/entity.mjs +80 -0
- package/dist/adapters/database/domains/robot-permission/entity.mjs.map +1 -0
- package/dist/adapters/database/domains/robot-permission/index.mjs +3 -0
- package/dist/adapters/database/domains/robot-permission/subscriber.mjs +67 -0
- package/dist/adapters/database/domains/robot-permission/subscriber.mjs.map +1 -0
- package/dist/adapters/database/domains/robot-role/entity.mjs +67 -0
- package/dist/adapters/database/domains/robot-role/entity.mjs.map +1 -0
- package/dist/adapters/database/domains/robot-role/index.mjs +3 -0
- package/dist/adapters/database/domains/robot-role/subscriber.mjs +67 -0
- package/dist/adapters/database/domains/robot-role/subscriber.mjs.map +1 -0
- package/dist/adapters/database/domains/role/entity.mjs +87 -0
- package/dist/adapters/database/domains/role/entity.mjs.map +1 -0
- package/dist/adapters/database/domains/role/index.mjs +4 -0
- package/dist/adapters/database/domains/role/repository.mjs +83 -0
- package/dist/adapters/database/domains/role/repository.mjs.map +1 -0
- package/dist/adapters/database/domains/role/subscriber.mjs +59 -0
- package/dist/adapters/database/domains/role/subscriber.mjs.map +1 -0
- package/dist/adapters/database/domains/role-attribute/entity.mjs +65 -0
- package/dist/adapters/database/domains/role-attribute/entity.mjs.map +1 -0
- package/dist/adapters/database/domains/role-attribute/index.mjs +3 -0
- package/dist/adapters/database/domains/role-attribute/subscriber.mjs +63 -0
- package/dist/adapters/database/domains/role-attribute/subscriber.mjs.map +1 -0
- package/dist/adapters/database/domains/role-permission/entity.mjs +80 -0
- package/dist/adapters/database/domains/role-permission/entity.mjs.map +1 -0
- package/dist/adapters/database/domains/role-permission/index.mjs +3 -0
- package/dist/adapters/database/domains/role-permission/subscriber.mjs +67 -0
- package/dist/adapters/database/domains/role-permission/subscriber.mjs.map +1 -0
- package/dist/adapters/database/domains/scope/entity.mjs +62 -0
- package/dist/adapters/database/domains/scope/entity.mjs.map +1 -0
- package/dist/adapters/database/domains/scope/index.mjs +3 -0
- package/dist/adapters/database/domains/scope/subscriber.mjs +59 -0
- package/dist/adapters/database/domains/scope/subscriber.mjs.map +1 -0
- package/dist/adapters/database/domains/session/entity.mjs +135 -0
- package/dist/adapters/database/domains/session/entity.mjs.map +1 -0
- package/dist/adapters/database/domains/session/index.mjs +2 -0
- package/dist/adapters/database/domains/user/entity.mjs +178 -0
- package/dist/adapters/database/domains/user/entity.mjs.map +1 -0
- package/dist/adapters/database/domains/user/index.mjs +4 -0
- package/dist/adapters/database/domains/user/repository.mjs +87 -0
- package/dist/adapters/database/domains/user/repository.mjs.map +1 -0
- package/dist/adapters/database/domains/user/subscriber.mjs +57 -0
- package/dist/adapters/database/domains/user/subscriber.mjs.map +1 -0
- package/dist/adapters/database/domains/user-attribute/entity.mjs +62 -0
- package/dist/adapters/database/domains/user-attribute/entity.mjs.map +1 -0
- package/dist/adapters/database/domains/user-attribute/index.mjs +3 -0
- package/dist/adapters/database/domains/user-attribute/subscriber.mjs +61 -0
- package/dist/adapters/database/domains/user-attribute/subscriber.mjs.map +1 -0
- package/dist/adapters/database/domains/user-permission/entity.mjs +79 -0
- package/dist/adapters/database/domains/user-permission/entity.mjs.map +1 -0
- package/dist/adapters/database/domains/user-permission/index.mjs +3 -0
- package/dist/adapters/database/domains/user-permission/subscriber.mjs +67 -0
- package/dist/adapters/database/domains/user-permission/subscriber.mjs.map +1 -0
- package/dist/adapters/database/domains/user-role/entity.mjs +67 -0
- package/dist/adapters/database/domains/user-role/entity.mjs.map +1 -0
- package/dist/adapters/database/domains/user-role/index.mjs +3 -0
- package/dist/adapters/database/domains/user-role/subscriber.mjs +67 -0
- package/dist/adapters/database/domains/user-role/subscriber.mjs.map +1 -0
- package/dist/adapters/database/errors/conflict.mjs +11 -0
- package/dist/adapters/database/errors/conflict.mjs.map +1 -0
- package/dist/adapters/database/errors/index.mjs +2 -0
- package/dist/adapters/database/event-publisher/index.mjs +2 -0
- package/dist/adapters/database/event-publisher/module.mjs +22 -0
- package/dist/adapters/database/event-publisher/module.mjs.map +1 -0
- package/dist/adapters/database/extra-attribute-repository/adapter.mjs +120 -0
- package/dist/adapters/database/extra-attribute-repository/adapter.mjs.map +1 -0
- package/dist/adapters/database/extra-attribute-repository/index.mjs +4 -0
- package/dist/adapters/database/extra-attribute-repository/repository.mjs +53 -0
- package/dist/adapters/database/extra-attribute-repository/repository.mjs.map +1 -0
- package/dist/adapters/database/extra-attribute-repository/tree/adapter.mjs +61 -0
- package/dist/adapters/database/extra-attribute-repository/tree/adapter.mjs.map +1 -0
- package/dist/adapters/database/extra-attribute-repository/tree/index.mjs +2 -0
- package/dist/adapters/database/extra-attribute-repository/tree/repository.mjs +147 -0
- package/dist/adapters/database/extra-attribute-repository/tree/repository.mjs.map +1 -0
- package/dist/adapters/database/extra-attribute-repository/types.mjs +1 -0
- package/dist/adapters/database/helpers/index.mjs +2 -0
- package/dist/adapters/database/helpers/is-supported.mjs +13 -0
- package/dist/adapters/database/helpers/is-supported.mjs.map +1 -0
- package/dist/adapters/database/index.mjs +70 -0
- package/dist/adapters/database/logger/index.mjs +2 -0
- package/dist/adapters/database/logger/module.mjs +39 -0
- package/dist/adapters/database/logger/module.mjs.map +1 -0
- package/dist/adapters/database/migrations/mysql/1673449341125-Default.mjs +865 -0
- package/dist/adapters/database/migrations/mysql/1673449341125-Default.mjs.map +1 -0
- package/dist/adapters/database/migrations/mysql/1689597906910-Default.mjs +38 -0
- package/dist/adapters/database/migrations/mysql/1689597906910-Default.mjs.map +1 -0
- package/dist/adapters/database/migrations/mysql/1718790373914-Default.mjs +559 -0
- package/dist/adapters/database/migrations/mysql/1718790373914-Default.mjs.map +1 -0
- package/dist/adapters/database/migrations/mysql/1722673916392-Default.mjs +109 -0
- package/dist/adapters/database/migrations/mysql/1722673916392-Default.mjs.map +1 -0
- package/dist/adapters/database/migrations/mysql/1740991051622-Default.mjs +250 -0
- package/dist/adapters/database/migrations/mysql/1740991051622-Default.mjs.map +1 -0
- package/dist/adapters/database/migrations/mysql/1766830857009-Default.mjs +229 -0
- package/dist/adapters/database/migrations/mysql/1766830857009-Default.mjs.map +1 -0
- package/dist/adapters/database/migrations/mysql/1774800953474-Default.mjs +87 -0
- package/dist/adapters/database/migrations/mysql/1774800953474-Default.mjs.map +1 -0
- package/dist/adapters/database/migrations/postgres/1673449341125-Default.mjs +863 -0
- package/dist/adapters/database/migrations/postgres/1673449341125-Default.mjs.map +1 -0
- package/dist/adapters/database/migrations/postgres/1689597906910-Default.mjs +43 -0
- package/dist/adapters/database/migrations/postgres/1689597906910-Default.mjs.map +1 -0
- package/dist/adapters/database/migrations/postgres/1718790373914-Default.mjs +565 -0
- package/dist/adapters/database/migrations/postgres/1718790373914-Default.mjs.map +1 -0
- package/dist/adapters/database/migrations/postgres/1722673916392-Default.mjs +113 -0
- package/dist/adapters/database/migrations/postgres/1722673916392-Default.mjs.map +1 -0
- package/dist/adapters/database/migrations/postgres/1740991051622-Default.mjs +235 -0
- package/dist/adapters/database/migrations/postgres/1740991051622-Default.mjs.map +1 -0
- package/dist/adapters/database/migrations/postgres/1766830857009-Default.mjs +245 -0
- package/dist/adapters/database/migrations/postgres/1766830857009-Default.mjs.map +1 -0
- package/dist/adapters/database/migrations/postgres/1774800953474-Default.mjs +91 -0
- package/dist/adapters/database/migrations/postgres/1774800953474-Default.mjs.map +1 -0
- package/dist/adapters/http/adapters/index.mjs +10 -0
- package/dist/adapters/http/adapters/oauth2/authorization/index.mjs +2 -0
- package/dist/adapters/http/adapters/oauth2/authorization/module.mjs +36 -0
- package/dist/adapters/http/adapters/oauth2/authorization/module.mjs.map +1 -0
- package/dist/adapters/http/adapters/oauth2/authorization/types.mjs +1 -0
- package/dist/adapters/http/adapters/oauth2/grant-types/authorize.mjs +37 -0
- package/dist/adapters/http/adapters/oauth2/grant-types/authorize.mjs.map +1 -0
- package/dist/adapters/http/adapters/oauth2/grant-types/client-credentials.mjs +37 -0
- package/dist/adapters/http/adapters/oauth2/grant-types/client-credentials.mjs.map +1 -0
- package/dist/adapters/http/adapters/oauth2/grant-types/identity.mjs +19 -0
- package/dist/adapters/http/adapters/oauth2/grant-types/identity.mjs.map +1 -0
- package/dist/adapters/http/adapters/oauth2/grant-types/index.mjs +9 -0
- package/dist/adapters/http/adapters/oauth2/grant-types/password.mjs +24 -0
- package/dist/adapters/http/adapters/oauth2/grant-types/password.mjs.map +1 -0
- package/dist/adapters/http/adapters/oauth2/grant-types/refresh_token.mjs +18 -0
- package/dist/adapters/http/adapters/oauth2/grant-types/refresh_token.mjs.map +1 -0
- package/dist/adapters/http/adapters/oauth2/grant-types/robot-credentials.mjs +24 -0
- package/dist/adapters/http/adapters/oauth2/grant-types/robot-credentials.mjs.map +1 -0
- package/dist/adapters/http/adapters/oauth2/grant-types/types.mjs +1 -0
- package/dist/adapters/http/adapters/oauth2/grant-types/utils/guess.mjs +34 -0
- package/dist/adapters/http/adapters/oauth2/grant-types/utils/guess.mjs.map +1 -0
- package/dist/adapters/http/adapters/oauth2/grant-types/utils/index.mjs +2 -0
- package/dist/adapters/http/adapters/oauth2/index.mjs +11 -0
- package/dist/adapters/http/controllers/entities/client/index.mjs +2 -0
- package/dist/adapters/http/controllers/entities/client/module.mjs +168 -0
- package/dist/adapters/http/controllers/entities/client/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/client-permission/index.mjs +4 -0
- package/dist/adapters/http/controllers/entities/client-permission/module.mjs +124 -0
- package/dist/adapters/http/controllers/entities/client-permission/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/client-permission/utils/index.mjs +2 -0
- package/dist/adapters/http/controllers/entities/client-permission/utils/validation.mjs +23 -0
- package/dist/adapters/http/controllers/entities/client-permission/utils/validation.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/client-role/index.mjs +4 -0
- package/dist/adapters/http/controllers/entities/client-role/module.mjs +105 -0
- package/dist/adapters/http/controllers/entities/client-role/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/client-role/utils/index.mjs +2 -0
- package/dist/adapters/http/controllers/entities/client-role/utils/validation.mjs +20 -0
- package/dist/adapters/http/controllers/entities/client-role/utils/validation.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/client-scope/index.mjs +4 -0
- package/dist/adapters/http/controllers/entities/client-scope/module.mjs +105 -0
- package/dist/adapters/http/controllers/entities/client-scope/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/client-scope/utils/index.mjs +2 -0
- package/dist/adapters/http/controllers/entities/client-scope/utils/validator.mjs +20 -0
- package/dist/adapters/http/controllers/entities/client-scope/utils/validator.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/identity-provide-role/index.mjs +2 -0
- package/dist/adapters/http/controllers/entities/identity-provide-role/module.mjs +124 -0
- package/dist/adapters/http/controllers/entities/identity-provide-role/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/identity-provider/index.mjs +2 -0
- package/dist/adapters/http/controllers/entities/identity-provider/module.mjs +358 -0
- package/dist/adapters/http/controllers/entities/identity-provider/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/identity-provider/types.mjs +1 -0
- package/dist/adapters/http/controllers/entities/index.mjs +55 -0
- package/dist/adapters/http/controllers/entities/permission/index.mjs +2 -0
- package/dist/adapters/http/controllers/entities/permission/module.mjs +207 -0
- package/dist/adapters/http/controllers/entities/permission/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/permission-policy/index.mjs +2 -0
- package/dist/adapters/http/controllers/entities/permission-policy/module.mjs +105 -0
- package/dist/adapters/http/controllers/entities/permission-policy/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/policy/index.mjs +5 -0
- package/dist/adapters/http/controllers/entities/policy/module.mjs +216 -0
- package/dist/adapters/http/controllers/entities/policy/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/policy/utils/attributes-validator.mjs +42 -0
- package/dist/adapters/http/controllers/entities/policy/utils/attributes-validator.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/policy/utils/index.mjs +3 -0
- package/dist/adapters/http/controllers/entities/policy/utils/validation.mjs +61 -0
- package/dist/adapters/http/controllers/entities/policy/utils/validation.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/realm/index.mjs +2 -0
- package/dist/adapters/http/controllers/entities/realm/module.mjs +219 -0
- package/dist/adapters/http/controllers/entities/realm/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/robot/index.mjs +2 -0
- package/dist/adapters/http/controllers/entities/robot/module.mjs +190 -0
- package/dist/adapters/http/controllers/entities/robot/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/robot-permission/index.mjs +4 -0
- package/dist/adapters/http/controllers/entities/robot-permission/module.mjs +124 -0
- package/dist/adapters/http/controllers/entities/robot-permission/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/robot-permission/utils/index.mjs +2 -0
- package/dist/adapters/http/controllers/entities/robot-permission/utils/validation.mjs +23 -0
- package/dist/adapters/http/controllers/entities/robot-permission/utils/validation.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/robot-role/index.mjs +4 -0
- package/dist/adapters/http/controllers/entities/robot-role/module.mjs +105 -0
- package/dist/adapters/http/controllers/entities/robot-role/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/robot-role/utils/index.mjs +2 -0
- package/dist/adapters/http/controllers/entities/robot-role/utils/validation.mjs +20 -0
- package/dist/adapters/http/controllers/entities/robot-role/utils/validation.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/role/index.mjs +2 -0
- package/dist/adapters/http/controllers/entities/role/module.mjs +145 -0
- package/dist/adapters/http/controllers/entities/role/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/role-attribute/index.mjs +4 -0
- package/dist/adapters/http/controllers/entities/role-attribute/module.mjs +124 -0
- package/dist/adapters/http/controllers/entities/role-attribute/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/role-attribute/utils/index.mjs +2 -0
- package/dist/adapters/http/controllers/entities/role-attribute/utils/validation.mjs +29 -0
- package/dist/adapters/http/controllers/entities/role-attribute/utils/validation.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/role-permission/index.mjs +4 -0
- package/dist/adapters/http/controllers/entities/role-permission/module.mjs +124 -0
- package/dist/adapters/http/controllers/entities/role-permission/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/role-permission/utils/index.mjs +2 -0
- package/dist/adapters/http/controllers/entities/role-permission/utils/validation.mjs +23 -0
- package/dist/adapters/http/controllers/entities/role-permission/utils/validation.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/scope/index.mjs +2 -0
- package/dist/adapters/http/controllers/entities/scope/module.mjs +145 -0
- package/dist/adapters/http/controllers/entities/scope/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/user/index.mjs +2 -0
- package/dist/adapters/http/controllers/entities/user/module.mjs +149 -0
- package/dist/adapters/http/controllers/entities/user/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/user-attribute/index.mjs +4 -0
- package/dist/adapters/http/controllers/entities/user-attribute/module.mjs +124 -0
- package/dist/adapters/http/controllers/entities/user-attribute/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/user-attribute/utils/authorization.mjs +35 -0
- package/dist/adapters/http/controllers/entities/user-attribute/utils/authorization.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/user-attribute/utils/index.mjs +2 -0
- package/dist/adapters/http/controllers/entities/user-attribute/utils/validation.mjs +32 -0
- package/dist/adapters/http/controllers/entities/user-attribute/utils/validation.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/user-permission/index.mjs +4 -0
- package/dist/adapters/http/controllers/entities/user-permission/module.mjs +124 -0
- package/dist/adapters/http/controllers/entities/user-permission/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/user-permission/utils/index.mjs +2 -0
- package/dist/adapters/http/controllers/entities/user-permission/utils/validation.mjs +23 -0
- package/dist/adapters/http/controllers/entities/user-permission/utils/validation.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/user-role/index.mjs +4 -0
- package/dist/adapters/http/controllers/entities/user-role/module.mjs +105 -0
- package/dist/adapters/http/controllers/entities/user-role/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/user-role/utils/index.mjs +2 -0
- package/dist/adapters/http/controllers/entities/user-role/utils/validation.mjs +20 -0
- package/dist/adapters/http/controllers/entities/user-role/utils/validation.mjs.map +1 -0
- package/dist/adapters/http/controllers/index.mjs +46 -0
- package/dist/adapters/http/controllers/workflows/activate/index.mjs +2 -0
- package/dist/adapters/http/controllers/workflows/activate/module.mjs +51 -0
- package/dist/adapters/http/controllers/workflows/activate/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/workflows/activate/validator.mjs +18 -0
- package/dist/adapters/http/controllers/workflows/activate/validator.mjs.map +1 -0
- package/dist/adapters/http/controllers/workflows/authorize/index.mjs +2 -0
- package/dist/adapters/http/controllers/workflows/authorize/module.mjs +137 -0
- package/dist/adapters/http/controllers/workflows/authorize/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/workflows/authorize/types.mjs +1 -0
- package/dist/adapters/http/controllers/workflows/index.mjs +20 -0
- package/dist/adapters/http/controllers/workflows/jwks/handlers/index.mjs +2 -0
- package/dist/adapters/http/controllers/workflows/jwks/handlers/read.mjs +50 -0
- package/dist/adapters/http/controllers/workflows/jwks/handlers/read.mjs.map +1 -0
- package/dist/adapters/http/controllers/workflows/jwks/index.mjs +4 -0
- package/dist/adapters/http/controllers/workflows/jwks/module.mjs +96 -0
- package/dist/adapters/http/controllers/workflows/jwks/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/workflows/openid/index.mjs +2 -0
- package/dist/adapters/http/controllers/workflows/openid/module.mjs +60 -0
- package/dist/adapters/http/controllers/workflows/openid/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/workflows/password-forgot/index.mjs +2 -0
- package/dist/adapters/http/controllers/workflows/password-forgot/module.mjs +48 -0
- package/dist/adapters/http/controllers/workflows/password-forgot/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/workflows/password-reset/index.mjs +2 -0
- package/dist/adapters/http/controllers/workflows/password-reset/module.mjs +48 -0
- package/dist/adapters/http/controllers/workflows/password-reset/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/workflows/register/index.mjs +2 -0
- package/dist/adapters/http/controllers/workflows/register/module.mjs +48 -0
- package/dist/adapters/http/controllers/workflows/register/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/workflows/status/index.mjs +2 -0
- package/dist/adapters/http/controllers/workflows/status/module.mjs +35 -0
- package/dist/adapters/http/controllers/workflows/status/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/workflows/token/index.mjs +2 -0
- package/dist/adapters/http/controllers/workflows/token/module.mjs +174 -0
- package/dist/adapters/http/controllers/workflows/token/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/workflows/token/types.mjs +1 -0
- package/dist/adapters/http/controllers/workflows/token/utils/extract.mjs +27 -0
- package/dist/adapters/http/controllers/workflows/token/utils/extract.mjs.map +1 -0
- package/dist/adapters/http/controllers/workflows/token/utils/index.mjs +3 -0
- package/dist/adapters/http/controllers/workflows/token/utils/validator.mjs +18 -0
- package/dist/adapters/http/controllers/workflows/token/utils/validator.mjs.map +1 -0
- package/dist/adapters/http/index.mjs +81 -0
- package/dist/adapters/http/middleware/built-in/assets.mjs +44 -0
- package/dist/adapters/http/middleware/built-in/assets.mjs.map +1 -0
- package/dist/adapters/http/middleware/built-in/authorization/factory.mjs +11 -0
- package/dist/adapters/http/middleware/built-in/authorization/factory.mjs.map +1 -0
- package/dist/adapters/http/middleware/built-in/authorization/index.mjs +3 -0
- package/dist/adapters/http/middleware/built-in/authorization/module.mjs +131 -0
- package/dist/adapters/http/middleware/built-in/authorization/module.mjs.map +1 -0
- package/dist/adapters/http/middleware/built-in/authorization/types.mjs +1 -0
- package/dist/adapters/http/middleware/built-in/basic.mjs +9 -0
- package/dist/adapters/http/middleware/built-in/basic.mjs.map +1 -0
- package/dist/adapters/http/middleware/built-in/cors.mjs +17 -0
- package/dist/adapters/http/middleware/built-in/cors.mjs.map +1 -0
- package/dist/adapters/http/middleware/built-in/error.mjs +32 -0
- package/dist/adapters/http/middleware/built-in/error.mjs.map +1 -0
- package/dist/adapters/http/middleware/built-in/index.mjs +15 -0
- package/dist/adapters/http/middleware/built-in/loggedin/index.mjs +3 -0
- package/dist/adapters/http/middleware/built-in/loggedin/module.mjs +13 -0
- package/dist/adapters/http/middleware/built-in/loggedin/module.mjs.map +1 -0
- package/dist/adapters/http/middleware/built-in/loggedin/user.mjs +15 -0
- package/dist/adapters/http/middleware/built-in/loggedin/user.mjs.map +1 -0
- package/dist/adapters/http/middleware/built-in/logger.mjs +39 -0
- package/dist/adapters/http/middleware/built-in/logger.mjs.map +1 -0
- package/dist/adapters/http/middleware/built-in/prometheus.mjs +19 -0
- package/dist/adapters/http/middleware/built-in/prometheus.mjs.map +1 -0
- package/dist/adapters/http/middleware/built-in/rate-limit.mjs +25 -0
- package/dist/adapters/http/middleware/built-in/rate-limit.mjs.map +1 -0
- package/dist/adapters/http/middleware/built-in/swagger.mjs +22 -0
- package/dist/adapters/http/middleware/built-in/swagger.mjs.map +1 -0
- package/dist/adapters/http/middleware/index.mjs +14 -0
- package/dist/adapters/http/request/constants.mjs +13 -0
- package/dist/adapters/http/request/constants.mjs.map +1 -0
- package/dist/adapters/http/request/helpers/actor.mjs +14 -0
- package/dist/adapters/http/request/helpers/actor.mjs.map +1 -0
- package/dist/adapters/http/request/helpers/body-realm-id.mjs +13 -0
- package/dist/adapters/http/request/helpers/body-realm-id.mjs.map +1 -0
- package/dist/adapters/http/request/helpers/identity.mjs +52 -0
- package/dist/adapters/http/request/helpers/identity.mjs.map +1 -0
- package/dist/adapters/http/request/helpers/index.mjs +7 -0
- package/dist/adapters/http/request/helpers/param-id.mjs +36 -0
- package/dist/adapters/http/request/helpers/param-id.mjs.map +1 -0
- package/dist/adapters/http/request/helpers/scopes.mjs +13 -0
- package/dist/adapters/http/request/helpers/scopes.mjs.map +1 -0
- package/dist/adapters/http/request/helpers/token.mjs +13 -0
- package/dist/adapters/http/request/helpers/token.mjs.map +1 -0
- package/dist/adapters/http/request/index.mjs +12 -0
- package/dist/adapters/http/request/permission/helper.mjs +15 -0
- package/dist/adapters/http/request/permission/helper.mjs.map +1 -0
- package/dist/adapters/http/request/permission/index.mjs +3 -0
- package/dist/adapters/http/request/permission/module.mjs +37 -0
- package/dist/adapters/http/request/permission/module.mjs.map +1 -0
- package/dist/adapters/http/server/index.mjs +2 -0
- package/dist/adapters/http/server/module.mjs +10 -0
- package/dist/adapters/http/server/module.mjs.map +1 -0
- package/dist/adapters/http/server/type.mjs +1 -0
- package/dist/adapters/http/swagger/index.mjs +2 -0
- package/dist/adapters/http/swagger/module.mjs +75 -0
- package/dist/adapters/http/swagger/module.mjs.map +1 -0
- package/dist/adapters/http/swagger/type.mjs +1 -0
- package/dist/adapters/shared/ldap/factory.mjs +11 -0
- package/dist/adapters/shared/ldap/factory.mjs.map +1 -0
- package/dist/adapters/shared/ldap/index.mjs +3 -0
- package/dist/adapters/shared/ldap/module.mjs +172 -0
- package/dist/adapters/shared/ldap/module.mjs.map +1 -0
- package/dist/adapters/shared/ldap/types.mjs +1 -0
- package/dist/app/builder.mjs +108 -0
- package/dist/app/builder.mjs.map +1 -0
- package/dist/app/factory.mjs +12 -0
- package/dist/app/factory.mjs.map +1 -0
- package/dist/app/index.mjs +63 -0
- package/dist/app/module.mjs +2 -0
- package/dist/app/modules/authentication/constants.mjs +10 -0
- package/dist/app/modules/authentication/constants.mjs.map +1 -0
- package/dist/app/modules/authentication/index.mjs +5 -0
- package/dist/app/modules/authentication/module.mjs +44 -0
- package/dist/app/modules/authentication/module.mjs.map +1 -0
- package/dist/app/modules/authentication/repositories/constants.mjs +9 -0
- package/dist/app/modules/authentication/repositories/constants.mjs.map +1 -0
- package/dist/app/modules/authentication/repositories/index.mjs +2 -0
- package/dist/app/modules/authentication/repositories/session.mjs +43 -0
- package/dist/app/modules/authentication/repositories/session.mjs.map +1 -0
- package/dist/app/modules/cache/constants.mjs +7 -0
- package/dist/app/modules/cache/constants.mjs.map +1 -0
- package/dist/app/modules/cache/index.mjs +3 -0
- package/dist/app/modules/cache/module.mjs +26 -0
- package/dist/app/modules/cache/module.mjs.map +1 -0
- package/dist/app/modules/components/index.mjs +2 -0
- package/dist/app/modules/components/module.mjs +23 -0
- package/dist/app/modules/components/module.mjs.map +1 -0
- package/dist/app/modules/config/constants.mjs +36 -0
- package/dist/app/modules/config/constants.mjs.map +1 -0
- package/dist/app/modules/config/index.mjs +3 -0
- package/dist/app/modules/config/module.mjs +34 -0
- package/dist/app/modules/config/module.mjs.map +1 -0
- package/dist/app/modules/config/normalize.mjs +64 -0
- package/dist/app/modules/config/normalize.mjs.map +1 -0
- package/dist/app/modules/config/parse.mjs +55 -0
- package/dist/app/modules/config/parse.mjs.map +1 -0
- package/dist/app/modules/config/read/env.mjs +65 -0
- package/dist/app/modules/config/read/env.mjs.map +1 -0
- package/dist/app/modules/config/read/fs.mjs +34 -0
- package/dist/app/modules/config/read/fs.mjs.map +1 -0
- package/dist/app/modules/config/read/index.mjs +4 -0
- package/dist/app/modules/config/read/module.mjs +21 -0
- package/dist/app/modules/config/read/module.mjs.map +1 -0
- package/dist/app/modules/config/read/types.mjs +1 -0
- package/dist/app/modules/config/types.mjs +1 -0
- package/dist/app/modules/constants.mjs +21 -0
- package/dist/app/modules/constants.mjs.map +1 -0
- package/dist/app/modules/database/constants.mjs +7 -0
- package/dist/app/modules/database/constants.mjs.map +1 -0
- package/dist/app/modules/database/index.mjs +26 -0
- package/dist/app/modules/database/module.mjs +116 -0
- package/dist/app/modules/database/module.mjs.map +1 -0
- package/dist/app/modules/database/repositories/client/index.mjs +2 -0
- package/dist/app/modules/database/repositories/client/repository.mjs +131 -0
- package/dist/app/modules/database/repositories/client/repository.mjs.map +1 -0
- package/dist/app/modules/database/repositories/client-permission/index.mjs +2 -0
- package/dist/app/modules/database/repositories/client-permission/repository.mjs +76 -0
- package/dist/app/modules/database/repositories/client-permission/repository.mjs.map +1 -0
- package/dist/app/modules/database/repositories/client-role/index.mjs +2 -0
- package/dist/app/modules/database/repositories/client-role/repository.mjs +76 -0
- package/dist/app/modules/database/repositories/client-role/repository.mjs.map +1 -0
- package/dist/app/modules/database/repositories/client-scope/index.mjs +2 -0
- package/dist/app/modules/database/repositories/client-scope/repository.mjs +76 -0
- package/dist/app/modules/database/repositories/client-scope/repository.mjs.map +1 -0
- package/dist/app/modules/database/repositories/helpers.mjs +15 -0
- package/dist/app/modules/database/repositories/helpers.mjs.map +1 -0
- package/dist/app/modules/database/repositories/identity-provider/index.mjs +2 -0
- package/dist/app/modules/database/repositories/identity-provider/repository.mjs +135 -0
- package/dist/app/modules/database/repositories/identity-provider/repository.mjs.map +1 -0
- package/dist/app/modules/database/repositories/identity-provider-role-mapping/index.mjs +2 -0
- package/dist/app/modules/database/repositories/identity-provider-role-mapping/repository.mjs +76 -0
- package/dist/app/modules/database/repositories/identity-provider-role-mapping/repository.mjs.map +1 -0
- package/dist/app/modules/database/repositories/index.mjs +45 -0
- package/dist/app/modules/database/repositories/permission/index.mjs +2 -0
- package/dist/app/modules/database/repositories/permission/repository.mjs +97 -0
- package/dist/app/modules/database/repositories/permission/repository.mjs.map +1 -0
- package/dist/app/modules/database/repositories/permission-policy/index.mjs +2 -0
- package/dist/app/modules/database/repositories/permission-policy/repository.mjs +76 -0
- package/dist/app/modules/database/repositories/permission-policy/repository.mjs.map +1 -0
- package/dist/app/modules/database/repositories/permission-provider/index.mjs +2 -0
- package/dist/app/modules/database/repositories/permission-provider/module.mjs +60 -0
- package/dist/app/modules/database/repositories/permission-provider/module.mjs.map +1 -0
- package/dist/app/modules/database/repositories/policy/index.mjs +2 -0
- package/dist/app/modules/database/repositories/policy/repository.mjs +129 -0
- package/dist/app/modules/database/repositories/policy/repository.mjs.map +1 -0
- package/dist/app/modules/database/repositories/realm/index.mjs +2 -0
- package/dist/app/modules/database/repositories/realm/repository.mjs +94 -0
- package/dist/app/modules/database/repositories/realm/repository.mjs.map +1 -0
- package/dist/app/modules/database/repositories/robot/index.mjs +2 -0
- package/dist/app/modules/database/repositories/robot/repository.mjs +125 -0
- package/dist/app/modules/database/repositories/robot/repository.mjs.map +1 -0
- package/dist/app/modules/database/repositories/robot-permission/index.mjs +2 -0
- package/dist/app/modules/database/repositories/robot-permission/repository.mjs +76 -0
- package/dist/app/modules/database/repositories/robot-permission/repository.mjs.map +1 -0
- package/dist/app/modules/database/repositories/robot-role/index.mjs +2 -0
- package/dist/app/modules/database/repositories/robot-role/repository.mjs +76 -0
- package/dist/app/modules/database/repositories/robot-role/repository.mjs.map +1 -0
- package/dist/app/modules/database/repositories/role/index.mjs +2 -0
- package/dist/app/modules/database/repositories/role/repository.mjs +106 -0
- package/dist/app/modules/database/repositories/role/repository.mjs.map +1 -0
- package/dist/app/modules/database/repositories/role-attribute/index.mjs +2 -0
- package/dist/app/modules/database/repositories/role-attribute/repository.mjs +78 -0
- package/dist/app/modules/database/repositories/role-attribute/repository.mjs.map +1 -0
- package/dist/app/modules/database/repositories/role-permission/index.mjs +2 -0
- package/dist/app/modules/database/repositories/role-permission/repository.mjs +76 -0
- package/dist/app/modules/database/repositories/role-permission/repository.mjs.map +1 -0
- package/dist/app/modules/database/repositories/scope/index.mjs +2 -0
- package/dist/app/modules/database/repositories/scope/repository.mjs +106 -0
- package/dist/app/modules/database/repositories/scope/repository.mjs.map +1 -0
- package/dist/app/modules/database/repositories/user/index.mjs +2 -0
- package/dist/app/modules/database/repositories/user/repository.mjs +166 -0
- package/dist/app/modules/database/repositories/user/repository.mjs.map +1 -0
- package/dist/app/modules/database/repositories/user-attribute/index.mjs +2 -0
- package/dist/app/modules/database/repositories/user-attribute/repository.mjs +78 -0
- package/dist/app/modules/database/repositories/user-attribute/repository.mjs.map +1 -0
- package/dist/app/modules/database/repositories/user-permission/index.mjs +2 -0
- package/dist/app/modules/database/repositories/user-permission/repository.mjs +76 -0
- package/dist/app/modules/database/repositories/user-permission/repository.mjs.map +1 -0
- package/dist/app/modules/database/repositories/user-role/index.mjs +2 -0
- package/dist/app/modules/database/repositories/user-role/repository.mjs +76 -0
- package/dist/app/modules/database/repositories/user-role/repository.mjs.map +1 -0
- package/dist/app/modules/http/constants.mjs +7 -0
- package/dist/app/modules/http/constants.mjs.map +1 -0
- package/dist/app/modules/http/index.mjs +3 -0
- package/dist/app/modules/http/module.mjs +68 -0
- package/dist/app/modules/http/module.mjs.map +1 -0
- package/dist/app/modules/http/modules/controller.mjs +506 -0
- package/dist/app/modules/http/modules/controller.mjs.map +1 -0
- package/dist/app/modules/http/modules/index.mjs +3 -0
- package/dist/app/modules/http/modules/middleware.mjs +120 -0
- package/dist/app/modules/http/modules/middleware.mjs.map +1 -0
- package/dist/app/modules/identity/constants.mjs +11 -0
- package/dist/app/modules/identity/constants.mjs.map +1 -0
- package/dist/app/modules/identity/index.mjs +11 -0
- package/dist/app/modules/identity/module.mjs +78 -0
- package/dist/app/modules/identity/module.mjs.map +1 -0
- package/dist/app/modules/identity/repositories/client.mjs +44 -0
- package/dist/app/modules/identity/repositories/client.mjs.map +1 -0
- package/dist/app/modules/identity/repositories/index.mjs +9 -0
- package/dist/app/modules/identity/repositories/provider/account/index.mjs +2 -0
- package/dist/app/modules/identity/repositories/provider/account/module.mjs +22 -0
- package/dist/app/modules/identity/repositories/provider/account/module.mjs.map +1 -0
- package/dist/app/modules/identity/repositories/provider/index.mjs +7 -0
- package/dist/app/modules/identity/repositories/provider/mapper/attribute.mjs +13 -0
- package/dist/app/modules/identity/repositories/provider/mapper/attribute.mjs.map +1 -0
- package/dist/app/modules/identity/repositories/provider/mapper/index.mjs +4 -0
- package/dist/app/modules/identity/repositories/provider/mapper/permission.mjs +13 -0
- package/dist/app/modules/identity/repositories/provider/mapper/permission.mjs.map +1 -0
- package/dist/app/modules/identity/repositories/provider/mapper/role.mjs +13 -0
- package/dist/app/modules/identity/repositories/provider/mapper/role.mjs.map +1 -0
- package/dist/app/modules/identity/repositories/robot.mjs +44 -0
- package/dist/app/modules/identity/repositories/robot.mjs.map +1 -0
- package/dist/app/modules/identity/repositories/user.mjs +113 -0
- package/dist/app/modules/identity/repositories/user.mjs.map +1 -0
- package/dist/app/modules/index.mjs +73 -0
- package/dist/app/modules/ldap/constants.mjs +7 -0
- package/dist/app/modules/ldap/constants.mjs.map +1 -0
- package/dist/app/modules/ldap/index.mjs +3 -0
- package/dist/app/modules/ldap/module.mjs +18 -0
- package/dist/app/modules/ldap/module.mjs.map +1 -0
- package/dist/app/modules/logger/constants.mjs +7 -0
- package/dist/app/modules/logger/constants.mjs.map +1 -0
- package/dist/app/modules/logger/index.mjs +3 -0
- package/dist/app/modules/logger/module.mjs +33 -0
- package/dist/app/modules/logger/module.mjs.map +1 -0
- package/dist/app/modules/mail/adapter/index.mjs +3 -0
- package/dist/app/modules/mail/adapter/smtp/module.mjs +29 -0
- package/dist/app/modules/mail/adapter/smtp/module.mjs.map +1 -0
- package/dist/app/modules/mail/adapter/smtp/smtp.mjs +20 -0
- package/dist/app/modules/mail/adapter/smtp/smtp.mjs.map +1 -0
- package/dist/app/modules/mail/adapter/smtp/types.mjs +1 -0
- package/dist/app/modules/mail/adapter/void.mjs +10 -0
- package/dist/app/modules/mail/adapter/void.mjs.map +1 -0
- package/dist/app/modules/mail/constants.mjs +7 -0
- package/dist/app/modules/mail/constants.mjs.map +1 -0
- package/dist/app/modules/mail/index.mjs +3 -0
- package/dist/app/modules/mail/module.mjs +28 -0
- package/dist/app/modules/mail/module.mjs.map +1 -0
- package/dist/app/modules/oauth2/constants.mjs +24 -0
- package/dist/app/modules/oauth2/constants.mjs.map +1 -0
- package/dist/app/modules/oauth2/index.mjs +3 -0
- package/dist/app/modules/oauth2/module.mjs +113 -0
- package/dist/app/modules/oauth2/module.mjs.map +1 -0
- package/dist/app/modules/oauth2/repositories/authorize/code/index.mjs +2 -0
- package/dist/app/modules/oauth2/repositories/authorize/code/repository.mjs +46 -0
- package/dist/app/modules/oauth2/repositories/authorize/code/repository.mjs.map +1 -0
- package/dist/app/modules/oauth2/repositories/authorize/index.mjs +5 -0
- package/dist/app/modules/oauth2/repositories/authorize/state/index.mjs +2 -0
- package/dist/app/modules/oauth2/repositories/authorize/state/repository.mjs +37 -0
- package/dist/app/modules/oauth2/repositories/authorize/state/repository.mjs.map +1 -0
- package/dist/app/modules/oauth2/repositories/client/index.mjs +2 -0
- package/dist/app/modules/oauth2/repositories/client/repository.mjs +22 -0
- package/dist/app/modules/oauth2/repositories/client/repository.mjs.map +1 -0
- package/dist/app/modules/oauth2/repositories/constants.mjs +13 -0
- package/dist/app/modules/oauth2/repositories/constants.mjs.map +1 -0
- package/dist/app/modules/oauth2/repositories/index.mjs +11 -0
- package/dist/app/modules/oauth2/repositories/key/index.mjs +2 -0
- package/dist/app/modules/oauth2/repositories/key/repository.mjs +45 -0
- package/dist/app/modules/oauth2/repositories/key/repository.mjs.map +1 -0
- package/dist/app/modules/oauth2/repositories/scope/index.mjs +2 -0
- package/dist/app/modules/oauth2/repositories/scope/repository.mjs +17 -0
- package/dist/app/modules/oauth2/repositories/scope/repository.mjs.map +1 -0
- package/dist/app/modules/oauth2/repositories/token/index.mjs +2 -0
- package/dist/app/modules/oauth2/repositories/token/repository.mjs +83 -0
- package/dist/app/modules/oauth2/repositories/token/repository.mjs.map +1 -0
- package/dist/app/modules/provisioning/index.mjs +6 -0
- package/dist/app/modules/provisioning/module.mjs +170 -0
- package/dist/app/modules/provisioning/module.mjs.map +1 -0
- package/dist/app/modules/provisioning/sources/composite/index.mjs +2 -0
- package/dist/app/modules/provisioning/sources/composite/module.mjs +43 -0
- package/dist/app/modules/provisioning/sources/composite/module.mjs.map +1 -0
- package/dist/app/modules/provisioning/sources/default/index.mjs +2 -0
- package/dist/app/modules/provisioning/sources/default/module.mjs +250 -0
- package/dist/app/modules/provisioning/sources/default/module.mjs.map +1 -0
- package/dist/app/modules/provisioning/sources/default/types.mjs +1 -0
- package/dist/app/modules/provisioning/sources/file/index.mjs +2 -0
- package/dist/app/modules/provisioning/sources/file/module.mjs +29 -0
- package/dist/app/modules/provisioning/sources/file/module.mjs.map +1 -0
- package/dist/app/modules/provisioning/sources/file/types.mjs +1 -0
- package/dist/app/modules/provisioning/sources/index.mjs +6 -0
- package/dist/app/modules/runtime/index.mjs +2 -0
- package/dist/app/modules/runtime/module.mjs +28 -0
- package/dist/app/modules/runtime/module.mjs.map +1 -0
- package/dist/app/modules/swagger/index.mjs +2 -0
- package/dist/app/modules/swagger/module.mjs +32 -0
- package/dist/app/modules/swagger/module.mjs.map +1 -0
- package/dist/app/types.mjs +1 -0
- package/dist/cli/commands/healthcheck.mjs +34 -0
- package/dist/cli/commands/healthcheck.mjs.map +1 -0
- package/dist/cli/commands/index.mjs +6 -0
- package/dist/cli/commands/migration.mjs +133 -0
- package/dist/cli/commands/migration.mjs.map +1 -0
- package/dist/cli/commands/reset.mjs +20 -0
- package/dist/cli/commands/reset.mjs.map +1 -0
- package/dist/cli/commands/start.mjs +16 -0
- package/dist/cli/commands/start.mjs.map +1 -0
- package/dist/cli/commands/swagger.mjs +29 -0
- package/dist/cli/commands/swagger.mjs.map +1 -0
- package/dist/cli/index.mjs +18 -0
- package/dist/cli/index.mjs.map +1 -0
- package/dist/{cli.mjs → cli/module.mjs} +14 -19
- package/dist/cli/module.mjs.map +1 -0
- package/dist/components/database/index.mjs +4 -0
- package/dist/components/database/unique-entries/factory.mjs +9 -0
- package/dist/components/database/unique-entries/factory.mjs.map +1 -0
- package/dist/components/database/unique-entries/index.mjs +3 -0
- package/dist/components/database/unique-entries/module.mjs +66 -0
- package/dist/components/database/unique-entries/module.mjs.map +1 -0
- package/dist/components/index.mjs +6 -0
- package/dist/components/oauth2-cleaner/index.mjs +2 -0
- package/dist/components/oauth2-cleaner/module.mjs +22 -0
- package/dist/components/oauth2-cleaner/module.mjs.map +1 -0
- package/dist/components/types.mjs +1 -0
- package/dist/core/authentication/base.mjs +20 -0
- package/dist/core/authentication/base.mjs.map +1 -0
- package/dist/core/authentication/credential/entities/client/index.mjs +2 -0
- package/dist/core/authentication/credential/entities/client/module.mjs +21 -0
- package/dist/core/authentication/credential/entities/client/module.mjs.map +1 -0
- package/dist/core/authentication/credential/entities/index.mjs +7 -0
- package/dist/core/authentication/credential/entities/robot/index.mjs +2 -0
- package/dist/core/authentication/credential/entities/robot/module.mjs +19 -0
- package/dist/core/authentication/credential/entities/robot/module.mjs.map +1 -0
- package/dist/core/authentication/credential/entities/user/index.mjs +2 -0
- package/dist/core/authentication/credential/entities/user/module.mjs +15 -0
- package/dist/core/authentication/credential/entities/user/module.mjs.map +1 -0
- package/dist/core/authentication/credential/index.mjs +5 -0
- package/dist/core/authentication/credential/types.mjs +1 -0
- package/dist/core/authentication/entities/client/index.mjs +2 -0
- package/dist/core/authentication/entities/client/module.mjs +27 -0
- package/dist/core/authentication/entities/client/module.mjs.map +1 -0
- package/dist/core/authentication/entities/index.mjs +7 -0
- package/dist/core/authentication/entities/robot/index.mjs +2 -0
- package/dist/core/authentication/entities/robot/module.mjs +25 -0
- package/dist/core/authentication/entities/robot/module.mjs.map +1 -0
- package/dist/core/authentication/entities/user/index.mjs +2 -0
- package/dist/core/authentication/entities/user/module.mjs +25 -0
- package/dist/core/authentication/entities/user/module.mjs.map +1 -0
- package/dist/core/authentication/index.mjs +13 -0
- package/dist/core/authentication/module.mjs +23 -0
- package/dist/core/authentication/module.mjs.map +1 -0
- package/dist/core/authentication/session/index.mjs +2 -0
- package/dist/core/authentication/session/module.mjs +65 -0
- package/dist/core/authentication/session/module.mjs.map +1 -0
- package/dist/core/authentication/session/types.mjs +1 -0
- package/dist/core/authentication/types.mjs +1 -0
- package/dist/core/entities/actor/index.mjs +1 -0
- package/dist/core/entities/actor/types.mjs +1 -0
- package/dist/core/entities/client/index.mjs +2 -0
- package/dist/core/entities/client/service.mjs +168 -0
- package/dist/core/entities/client/service.mjs.map +1 -0
- package/dist/core/entities/client/types.mjs +1 -0
- package/dist/core/entities/client-permission/index.mjs +2 -0
- package/dist/core/entities/client-permission/service.mjs +93 -0
- package/dist/core/entities/client-permission/service.mjs.map +1 -0
- package/dist/core/entities/client-permission/types.mjs +1 -0
- package/dist/core/entities/client-role/index.mjs +2 -0
- package/dist/core/entities/client-role/service.mjs +79 -0
- package/dist/core/entities/client-role/service.mjs.map +1 -0
- package/dist/core/entities/client-role/types.mjs +1 -0
- package/dist/core/entities/client-scope/index.mjs +2 -0
- package/dist/core/entities/client-scope/service.mjs +67 -0
- package/dist/core/entities/client-scope/service.mjs.map +1 -0
- package/dist/core/entities/client-scope/types.mjs +1 -0
- package/dist/core/entities/identity-provider/index.mjs +1 -0
- package/dist/core/entities/identity-provider/types.mjs +1 -0
- package/dist/core/entities/identity-provider-role-mapping/index.mjs +2 -0
- package/dist/core/entities/identity-provider-role-mapping/service.mjs +93 -0
- package/dist/core/entities/identity-provider-role-mapping/service.mjs.map +1 -0
- package/dist/core/entities/identity-provider-role-mapping/types.mjs +1 -0
- package/dist/core/entities/index.mjs +42 -0
- package/dist/core/entities/permission/index.mjs +2 -0
- package/dist/core/entities/permission/service.mjs +238 -0
- package/dist/core/entities/permission/service.mjs.map +1 -0
- package/dist/core/entities/permission/types.mjs +1 -0
- package/dist/core/entities/permission-policy/index.mjs +2 -0
- package/dist/core/entities/permission-policy/service.mjs +59 -0
- package/dist/core/entities/permission-policy/service.mjs.map +1 -0
- package/dist/core/entities/permission-policy/types.mjs +1 -0
- package/dist/core/entities/policy/attributes-validator.mjs +32 -0
- package/dist/core/entities/policy/attributes-validator.mjs.map +1 -0
- package/dist/core/entities/policy/index.mjs +2 -0
- package/dist/core/entities/policy/service.mjs +128 -0
- package/dist/core/entities/policy/service.mjs.map +1 -0
- package/dist/core/entities/policy/types.mjs +1 -0
- package/dist/core/entities/realm/index.mjs +2 -0
- package/dist/core/entities/realm/service.mjs +95 -0
- package/dist/core/entities/realm/service.mjs.map +1 -0
- package/dist/core/entities/realm/types.mjs +1 -0
- package/dist/core/entities/robot/index.mjs +2 -0
- package/dist/core/entities/robot/service.mjs +165 -0
- package/dist/core/entities/robot/service.mjs.map +1 -0
- package/dist/core/entities/robot/types.mjs +1 -0
- package/dist/core/entities/robot-permission/index.mjs +2 -0
- package/dist/core/entities/robot-permission/service.mjs +93 -0
- package/dist/core/entities/robot-permission/service.mjs.map +1 -0
- package/dist/core/entities/robot-permission/types.mjs +1 -0
- package/dist/core/entities/robot-role/index.mjs +2 -0
- package/dist/core/entities/robot-role/service.mjs +79 -0
- package/dist/core/entities/robot-role/service.mjs.map +1 -0
- package/dist/core/entities/robot-role/types.mjs +1 -0
- package/dist/core/entities/role/index.mjs +2 -0
- package/dist/core/entities/role/service.mjs +111 -0
- package/dist/core/entities/role/service.mjs.map +1 -0
- package/dist/core/entities/role/types.mjs +1 -0
- package/dist/core/entities/role-attribute/index.mjs +2 -0
- package/dist/core/entities/role-attribute/service.mjs +102 -0
- package/dist/core/entities/role-attribute/service.mjs.map +1 -0
- package/dist/core/entities/role-attribute/types.mjs +1 -0
- package/dist/core/entities/role-permission/index.mjs +2 -0
- package/dist/core/entities/role-permission/service.mjs +93 -0
- package/dist/core/entities/role-permission/service.mjs.map +1 -0
- package/dist/core/entities/role-permission/types.mjs +1 -0
- package/dist/core/entities/scope/index.mjs +2 -0
- package/dist/core/entities/scope/service.mjs +110 -0
- package/dist/core/entities/scope/service.mjs.map +1 -0
- package/dist/core/entities/scope/types.mjs +1 -0
- package/dist/core/entities/service.mjs +21 -0
- package/dist/core/entities/service.mjs.map +1 -0
- package/dist/core/entities/types.mjs +1 -0
- package/dist/core/entities/user/index.mjs +2 -0
- package/dist/core/entities/user/service.mjs +176 -0
- package/dist/core/entities/user/service.mjs.map +1 -0
- package/dist/core/entities/user/types.mjs +1 -0
- package/dist/core/entities/user-attribute/index.mjs +2 -0
- package/dist/core/entities/user-attribute/service.mjs +92 -0
- package/dist/core/entities/user-attribute/service.mjs.map +1 -0
- package/dist/core/entities/user-attribute/types.mjs +1 -0
- package/dist/core/entities/user-permission/index.mjs +2 -0
- package/dist/core/entities/user-permission/service.mjs +101 -0
- package/dist/core/entities/user-permission/service.mjs.map +1 -0
- package/dist/core/entities/user-permission/types.mjs +1 -0
- package/dist/core/entities/user-role/index.mjs +2 -0
- package/dist/core/entities/user-role/service.mjs +79 -0
- package/dist/core/entities/user-role/service.mjs.map +1 -0
- package/dist/core/entities/user-role/types.mjs +1 -0
- package/dist/core/identity/entities/client/index.mjs +1 -0
- package/dist/core/identity/entities/client/types.mjs +1 -0
- package/dist/core/identity/entities/index.mjs +1 -0
- package/dist/core/identity/entities/robot/index.mjs +1 -0
- package/dist/core/identity/entities/robot/types.mjs +1 -0
- package/dist/core/identity/entities/user/index.mjs +1 -0
- package/dist/core/identity/entities/user/types.mjs +1 -0
- package/dist/core/identity/index.mjs +27 -0
- package/dist/core/identity/password-recovery/index.mjs +2 -0
- package/dist/core/identity/password-recovery/service.mjs +124 -0
- package/dist/core/identity/password-recovery/service.mjs.map +1 -0
- package/dist/core/identity/password-recovery/types.mjs +1 -0
- package/dist/core/identity/permission/index.mjs +2 -0
- package/dist/core/identity/permission/module.mjs +90 -0
- package/dist/core/identity/permission/module.mjs.map +1 -0
- package/dist/core/identity/permission/types.mjs +1 -0
- package/dist/core/identity/provider/account/index.mjs +2 -0
- package/dist/core/identity/provider/account/module.mjs +141 -0
- package/dist/core/identity/provider/account/module.mjs.map +1 -0
- package/dist/core/identity/provider/account/types.mjs +1 -0
- package/dist/core/identity/provider/authentication/constants.mjs +7 -0
- package/dist/core/identity/provider/authentication/constants.mjs.map +1 -0
- package/dist/core/identity/provider/authentication/factory.mjs +24 -0
- package/dist/core/identity/provider/authentication/factory.mjs.map +1 -0
- package/dist/core/identity/provider/authentication/index.mjs +14 -0
- package/dist/core/identity/provider/authentication/presets/facebook.mjs +35 -0
- package/dist/core/identity/provider/authentication/presets/facebook.mjs.map +1 -0
- package/dist/core/identity/provider/authentication/presets/github.mjs +37 -0
- package/dist/core/identity/provider/authentication/presets/github.mjs.map +1 -0
- package/dist/core/identity/provider/authentication/presets/google.mjs +36 -0
- package/dist/core/identity/provider/authentication/presets/google.mjs.map +1 -0
- package/dist/core/identity/provider/authentication/presets/index.mjs +6 -0
- package/dist/core/identity/provider/authentication/presets/instagram.mjs +30 -0
- package/dist/core/identity/provider/authentication/presets/instagram.mjs.map +1 -0
- package/dist/core/identity/provider/authentication/presets/paypal.mjs +33 -0
- package/dist/core/identity/provider/authentication/presets/paypal.mjs.map +1 -0
- package/dist/core/identity/provider/authentication/protocols/index.mjs +8 -0
- package/dist/core/identity/provider/authentication/protocols/ldap/collection.mjs +36 -0
- package/dist/core/identity/provider/authentication/protocols/ldap/collection.mjs.map +1 -0
- package/dist/core/identity/provider/authentication/protocols/ldap/index.mjs +3 -0
- package/dist/core/identity/provider/authentication/protocols/ldap/module.mjs +154 -0
- package/dist/core/identity/provider/authentication/protocols/ldap/module.mjs.map +1 -0
- package/dist/core/identity/provider/authentication/protocols/ldap/types.mjs +1 -0
- package/dist/core/identity/provider/authentication/protocols/oauth2/index.mjs +2 -0
- package/dist/core/identity/provider/authentication/protocols/oauth2/module.mjs +62 -0
- package/dist/core/identity/provider/authentication/protocols/oauth2/module.mjs.map +1 -0
- package/dist/core/identity/provider/authentication/protocols/oauth2/types.mjs +1 -0
- package/dist/core/identity/provider/authentication/protocols/open-id/index.mjs +2 -0
- package/dist/core/identity/provider/authentication/protocols/open-id/module.mjs +26 -0
- package/dist/core/identity/provider/authentication/protocols/open-id/module.mjs.map +1 -0
- package/dist/core/identity/provider/constants.mjs +10 -0
- package/dist/core/identity/provider/constants.mjs.map +1 -0
- package/dist/core/identity/provider/index.mjs +21 -0
- package/dist/core/identity/provider/mapper/attributes/index.mjs +2 -0
- package/dist/core/identity/provider/mapper/attributes/module.mjs +27 -0
- package/dist/core/identity/provider/mapper/attributes/module.mjs.map +1 -0
- package/dist/core/identity/provider/mapper/attributes/types.mjs +1 -0
- package/dist/core/identity/provider/mapper/base.mjs +26 -0
- package/dist/core/identity/provider/mapper/base.mjs.map +1 -0
- package/dist/core/identity/provider/mapper/constants.mjs +11 -0
- package/dist/core/identity/provider/mapper/constants.mjs.map +1 -0
- package/dist/core/identity/provider/mapper/index.mjs +9 -0
- package/dist/core/identity/provider/mapper/permission/index.mjs +2 -0
- package/dist/core/identity/provider/mapper/permission/module.mjs +26 -0
- package/dist/core/identity/provider/mapper/permission/module.mjs.map +1 -0
- package/dist/core/identity/provider/mapper/permission/types.mjs +1 -0
- package/dist/core/identity/provider/mapper/role/index.mjs +2 -0
- package/dist/core/identity/provider/mapper/role/module.mjs +26 -0
- package/dist/core/identity/provider/mapper/role/module.mjs.map +1 -0
- package/dist/core/identity/provider/mapper/role/types.mjs +1 -0
- package/dist/core/identity/provider/mapper/types.mjs +1 -0
- package/dist/core/identity/provider/types.mjs +1 -0
- package/dist/core/identity/registration/index.mjs +2 -0
- package/dist/core/identity/registration/service.mjs +68 -0
- package/dist/core/identity/registration/service.mjs.map +1 -0
- package/dist/core/identity/registration/types.mjs +1 -0
- package/dist/core/identity/resolver/entities/ldap/module.mjs +8 -0
- package/dist/core/identity/resolver/entities/ldap/module.mjs.map +1 -0
- package/dist/core/identity/resolver/index.mjs +2 -0
- package/dist/core/identity/resolver/module.mjs +55 -0
- package/dist/core/identity/resolver/module.mjs.map +1 -0
- package/dist/core/identity/resolver/types.mjs +1 -0
- package/dist/core/index.mjs +104 -0
- package/dist/core/ldap/index.mjs +1 -0
- package/dist/core/ldap/types.mjs +1 -0
- package/dist/core/mail/index.mjs +1 -0
- package/dist/core/mail/types.mjs +1 -0
- package/dist/core/oauth2/authorization/code/index.mjs +4 -0
- package/dist/core/oauth2/authorization/code/issuer/index.mjs +2 -0
- package/dist/core/oauth2/authorization/code/issuer/module.mjs +33 -0
- package/dist/core/oauth2/authorization/code/issuer/module.mjs.map +1 -0
- package/dist/core/oauth2/authorization/code/issuer/types.mjs +1 -0
- package/dist/core/oauth2/authorization/code/repository/index.mjs +1 -0
- package/dist/core/oauth2/authorization/code/repository/types.mjs +1 -0
- package/dist/core/oauth2/authorization/code/verifier/index.mjs +2 -0
- package/dist/core/oauth2/authorization/code/verifier/module.mjs +27 -0
- package/dist/core/oauth2/authorization/code/verifier/module.mjs.map +1 -0
- package/dist/core/oauth2/authorization/code/verifier/types.mjs +1 -0
- package/dist/core/oauth2/authorization/code-request/index.mjs +4 -0
- package/dist/core/oauth2/authorization/code-request/validator.mjs +35 -0
- package/dist/core/oauth2/authorization/code-request/validator.mjs.map +1 -0
- package/dist/core/oauth2/authorization/code-request/verifier/index.mjs +2 -0
- package/dist/core/oauth2/authorization/code-request/verifier/module.mjs +41 -0
- package/dist/core/oauth2/authorization/code-request/verifier/module.mjs.map +1 -0
- package/dist/core/oauth2/authorization/code-request/verifier/types.mjs +1 -0
- package/dist/core/oauth2/authorization/helpers.mjs +27 -0
- package/dist/core/oauth2/authorization/helpers.mjs.map +1 -0
- package/dist/core/oauth2/authorization/index.mjs +11 -0
- package/dist/core/oauth2/authorization/module.mjs +66 -0
- package/dist/core/oauth2/authorization/module.mjs.map +1 -0
- package/dist/core/oauth2/authorization/state/index.mjs +2 -0
- package/dist/core/oauth2/authorization/state/module.mjs +23 -0
- package/dist/core/oauth2/authorization/state/module.mjs.map +1 -0
- package/dist/core/oauth2/authorization/state/types.mjs +1 -0
- package/dist/core/oauth2/authorization/types.mjs +1 -0
- package/dist/core/oauth2/client/index.mjs +1 -0
- package/dist/core/oauth2/client/types.mjs +1 -0
- package/dist/core/oauth2/grant-types/authorize.mjs +50 -0
- package/dist/core/oauth2/grant-types/authorize.mjs.map +1 -0
- package/dist/core/oauth2/grant-types/base.mjs +13 -0
- package/dist/core/oauth2/grant-types/base.mjs.map +1 -0
- package/dist/core/oauth2/grant-types/client-credentials.mjs +35 -0
- package/dist/core/oauth2/grant-types/client-credentials.mjs.map +1 -0
- package/dist/core/oauth2/grant-types/identity.mjs +46 -0
- package/dist/core/oauth2/grant-types/identity.mjs.map +1 -0
- package/dist/core/oauth2/grant-types/index.mjs +7 -0
- package/dist/core/oauth2/grant-types/password.mjs +48 -0
- package/dist/core/oauth2/grant-types/password.mjs.map +1 -0
- package/dist/core/oauth2/grant-types/refresh-token.mjs +53 -0
- package/dist/core/oauth2/grant-types/refresh-token.mjs.map +1 -0
- package/dist/core/oauth2/grant-types/robot-credentials.mjs +35 -0
- package/dist/core/oauth2/grant-types/robot-credentials.mjs.map +1 -0
- package/dist/core/oauth2/grant-types/types.mjs +1 -0
- package/dist/core/oauth2/helpers/erorr.mjs +26 -0
- package/dist/core/oauth2/helpers/erorr.mjs.map +1 -0
- package/dist/core/oauth2/helpers/index.mjs +2 -0
- package/dist/core/oauth2/index.mjs +28 -0
- package/dist/core/oauth2/key/index.mjs +1 -0
- package/dist/core/oauth2/key/types.mjs +1 -0
- package/dist/core/oauth2/openid/claims.mjs +75 -0
- package/dist/core/oauth2/openid/claims.mjs.map +1 -0
- package/dist/core/oauth2/openid/index.mjs +2 -0
- package/dist/core/oauth2/response/bearer.mjs +24 -0
- package/dist/core/oauth2/response/bearer.mjs.map +1 -0
- package/dist/core/oauth2/response/index.mjs +2 -0
- package/dist/core/oauth2/response/type.mjs +1 -0
- package/dist/core/oauth2/scope/index.mjs +2 -0
- package/dist/core/oauth2/scope/resolver.mjs +93 -0
- package/dist/core/oauth2/scope/resolver.mjs.map +1 -0
- package/dist/core/oauth2/scope/types.mjs +1 -0
- package/dist/core/oauth2/token/index.mjs +11 -0
- package/dist/core/oauth2/token/issuer/access/index.mjs +2 -0
- package/dist/core/oauth2/token/issuer/access/module.mjs +28 -0
- package/dist/core/oauth2/token/issuer/access/module.mjs.map +1 -0
- package/dist/core/oauth2/token/issuer/base.mjs +26 -0
- package/dist/core/oauth2/token/issuer/base.mjs.map +1 -0
- package/dist/core/oauth2/token/issuer/index.mjs +7 -0
- package/dist/core/oauth2/token/issuer/open-id/index.mjs +2 -0
- package/dist/core/oauth2/token/issuer/open-id/module.mjs +47 -0
- package/dist/core/oauth2/token/issuer/open-id/module.mjs.map +1 -0
- package/dist/core/oauth2/token/issuer/open-id/types.mjs +1 -0
- package/dist/core/oauth2/token/issuer/refresh/index.mjs +2 -0
- package/dist/core/oauth2/token/issuer/refresh/module.mjs +28 -0
- package/dist/core/oauth2/token/issuer/refresh/module.mjs.map +1 -0
- package/dist/core/oauth2/token/issuer/types.mjs +1 -0
- package/dist/core/oauth2/token/repository/index.mjs +1 -0
- package/dist/core/oauth2/token/repository/types.mjs +1 -0
- package/dist/core/oauth2/token/revoker/index.mjs +2 -0
- package/dist/core/oauth2/token/revoker/module.mjs +16 -0
- package/dist/core/oauth2/token/revoker/module.mjs.map +1 -0
- package/dist/core/oauth2/token/revoker/types.mjs +1 -0
- package/dist/core/oauth2/token/signer/index.mjs +2 -0
- package/dist/core/oauth2/token/signer/module.mjs +38 -0
- package/dist/core/oauth2/token/signer/module.mjs.map +1 -0
- package/dist/core/oauth2/token/signer/types.mjs +1 -0
- package/dist/core/oauth2/token/verifier/index.mjs +2 -0
- package/dist/core/oauth2/token/verifier/module.mjs +62 -0
- package/dist/core/oauth2/token/verifier/module.mjs.map +1 -0
- package/dist/core/oauth2/token/verifier/types.mjs +1 -0
- package/dist/core/provisioning/entities/client/index.mjs +2 -0
- package/dist/core/provisioning/entities/client/relations-validator.mjs +25 -0
- package/dist/core/provisioning/entities/client/relations-validator.mjs.map +1 -0
- package/dist/core/provisioning/entities/client/types.mjs +1 -0
- package/dist/core/provisioning/entities/client/validator.mjs +21 -0
- package/dist/core/provisioning/entities/client/validator.mjs.map +1 -0
- package/dist/core/provisioning/entities/index.mjs +17 -0
- package/dist/core/provisioning/entities/permission/index.mjs +2 -0
- package/dist/core/provisioning/entities/permission/types.mjs +1 -0
- package/dist/core/provisioning/entities/permission/validator.mjs +18 -0
- package/dist/core/provisioning/entities/permission/validator.mjs.map +1 -0
- package/dist/core/provisioning/entities/policy/index.mjs +1 -0
- package/dist/core/provisioning/entities/policy/types.mjs +1 -0
- package/dist/core/provisioning/entities/realm/index.mjs +2 -0
- package/dist/core/provisioning/entities/realm/relations-validator.mjs +81 -0
- package/dist/core/provisioning/entities/realm/relations-validator.mjs.map +1 -0
- package/dist/core/provisioning/entities/realm/types.mjs +1 -0
- package/dist/core/provisioning/entities/realm/validator.mjs +21 -0
- package/dist/core/provisioning/entities/realm/validator.mjs.map +1 -0
- package/dist/core/provisioning/entities/robot/index.mjs +2 -0
- package/dist/core/provisioning/entities/robot/relations-validator.mjs +17 -0
- package/dist/core/provisioning/entities/robot/relations-validator.mjs.map +1 -0
- package/dist/core/provisioning/entities/robot/types.mjs +1 -0
- package/dist/core/provisioning/entities/robot/validator.mjs +21 -0
- package/dist/core/provisioning/entities/robot/validator.mjs.map +1 -0
- package/dist/core/provisioning/entities/role/index.mjs +2 -0
- package/dist/core/provisioning/entities/role/relations-validator.mjs +15 -0
- package/dist/core/provisioning/entities/role/relations-validator.mjs.map +1 -0
- package/dist/core/provisioning/entities/role/types.mjs +1 -0
- package/dist/core/provisioning/entities/role/validator.mjs +21 -0
- package/dist/core/provisioning/entities/role/validator.mjs.map +1 -0
- package/dist/core/provisioning/entities/root/index.mjs +2 -0
- package/dist/core/provisioning/entities/root/types.mjs +1 -0
- package/dist/core/provisioning/entities/root/validator.mjs +53 -0
- package/dist/core/provisioning/entities/root/validator.mjs.map +1 -0
- package/dist/core/provisioning/entities/scope/index.mjs +2 -0
- package/dist/core/provisioning/entities/scope/types.mjs +1 -0
- package/dist/core/provisioning/entities/scope/validator.mjs +18 -0
- package/dist/core/provisioning/entities/scope/validator.mjs.map +1 -0
- package/dist/core/provisioning/entities/types.mjs +1 -0
- package/dist/core/provisioning/entities/user/index.mjs +2 -0
- package/dist/core/provisioning/entities/user/relations-validator.mjs +19 -0
- package/dist/core/provisioning/entities/user/relations-validator.mjs.map +1 -0
- package/dist/core/provisioning/entities/user/types.mjs +1 -0
- package/dist/core/provisioning/entities/user/validator.mjs +21 -0
- package/dist/core/provisioning/entities/user/validator.mjs.map +1 -0
- package/dist/core/provisioning/index.mjs +26 -0
- package/dist/core/provisioning/strategy/constants.mjs +12 -0
- package/dist/core/provisioning/strategy/constants.mjs.map +1 -0
- package/dist/core/provisioning/strategy/index.mjs +4 -0
- package/dist/core/provisioning/strategy/normalize.mjs +10 -0
- package/dist/core/provisioning/strategy/normalize.mjs.map +1 -0
- package/dist/core/provisioning/strategy/types.mjs +1 -0
- package/dist/core/provisioning/strategy/validator.mjs +30 -0
- package/dist/core/provisioning/strategy/validator.mjs.map +1 -0
- package/dist/core/provisioning/synchronizer/base.mjs +12 -0
- package/dist/core/provisioning/synchronizer/base.mjs.map +1 -0
- package/dist/core/provisioning/synchronizer/client/index.mjs +2 -0
- package/dist/core/provisioning/synchronizer/client/module.mjs +88 -0
- package/dist/core/provisioning/synchronizer/client/module.mjs.map +1 -0
- package/dist/core/provisioning/synchronizer/client/types.mjs +1 -0
- package/dist/core/provisioning/synchronizer/entity-resolver.mjs +47 -0
- package/dist/core/provisioning/synchronizer/entity-resolver.mjs.map +1 -0
- package/dist/core/provisioning/synchronizer/index.mjs +19 -0
- package/dist/core/provisioning/synchronizer/junction-synchronizer.mjs +26 -0
- package/dist/core/provisioning/synchronizer/junction-synchronizer.mjs.map +1 -0
- package/dist/core/provisioning/synchronizer/permission/index.mjs +2 -0
- package/dist/core/provisioning/synchronizer/permission/module.mjs +47 -0
- package/dist/core/provisioning/synchronizer/permission/module.mjs.map +1 -0
- package/dist/core/provisioning/synchronizer/permission/types.mjs +1 -0
- package/dist/core/provisioning/synchronizer/policy/index.mjs +2 -0
- package/dist/core/provisioning/synchronizer/policy/module.mjs +65 -0
- package/dist/core/provisioning/synchronizer/policy/module.mjs.map +1 -0
- package/dist/core/provisioning/synchronizer/policy/types.mjs +1 -0
- package/dist/core/provisioning/synchronizer/realm/index.mjs +2 -0
- package/dist/core/provisioning/synchronizer/realm/module.mjs +103 -0
- package/dist/core/provisioning/synchronizer/realm/module.mjs.map +1 -0
- package/dist/core/provisioning/synchronizer/realm/types.mjs +1 -0
- package/dist/core/provisioning/synchronizer/robot/index.mjs +2 -0
- package/dist/core/provisioning/synchronizer/robot/module.mjs +68 -0
- package/dist/core/provisioning/synchronizer/robot/module.mjs.map +1 -0
- package/dist/core/provisioning/synchronizer/robot/types.mjs +1 -0
- package/dist/core/provisioning/synchronizer/role/index.mjs +2 -0
- package/dist/core/provisioning/synchronizer/role/module.mjs +93 -0
- package/dist/core/provisioning/synchronizer/role/module.mjs.map +1 -0
- package/dist/core/provisioning/synchronizer/role/types.mjs +1 -0
- package/dist/core/provisioning/synchronizer/root/index.mjs +2 -0
- package/dist/core/provisioning/synchronizer/root/module.mjs +30 -0
- package/dist/core/provisioning/synchronizer/root/module.mjs.map +1 -0
- package/dist/core/provisioning/synchronizer/root/types.mjs +1 -0
- package/dist/core/provisioning/synchronizer/scope/index.mjs +2 -0
- package/dist/core/provisioning/synchronizer/scope/module.mjs +46 -0
- package/dist/core/provisioning/synchronizer/scope/module.mjs.map +1 -0
- package/dist/core/provisioning/synchronizer/scope/types.mjs +1 -0
- package/dist/core/provisioning/synchronizer/user/index.mjs +2 -0
- package/dist/core/provisioning/synchronizer/user/module.mjs +103 -0
- package/dist/core/provisioning/synchronizer/user/module.mjs.map +1 -0
- package/dist/core/provisioning/synchronizer/user/types.mjs +1 -0
- package/dist/core/provisioning/types.mjs +1 -0
- package/dist/core/security/index.mjs +4 -0
- package/dist/core/security/policy/engine.mjs +13 -0
- package/dist/core/security/policy/engine.mjs.map +1 -0
- package/dist/core/security/policy/evaluator.mjs +69 -0
- package/dist/core/security/policy/evaluator.mjs.map +1 -0
- package/dist/core/security/policy/index.mjs +3 -0
- package/dist/index.mjs +208 -1
- package/dist/path.mjs +12 -0
- package/dist/path.mjs.map +1 -0
- package/dist/utils/error.mjs +67 -0
- package/dist/utils/error.mjs.map +1 -0
- package/dist/utils/host.mjs +9 -0
- package/dist/utils/host.mjs.map +1 -0
- package/dist/utils/index.mjs +3 -0
- package/dist/utils/self-id.mjs +8 -0
- package/dist/utils/self-id.mjs.map +1 -0
- package/package.json +14 -14
- package/dist/cli.mjs.map +0 -1
- package/dist/commands-D5p6u-xJ.mjs +0 -18546
- package/dist/commands-D5p6u-xJ.mjs.map +0 -1
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { ProvisioningEntityStrategyType } from "../../strategy/constants.mjs";
|
|
2
|
+
import { normalizeEntityProvisioningStrategy } from "../../strategy/normalize.mjs";
|
|
3
|
+
import "../../strategy/index.mjs";
|
|
4
|
+
import { BaseProvisioningSynchronizer } from "../base.mjs";
|
|
5
|
+
import { ProvisioningEntityResolver } from "../entity-resolver.mjs";
|
|
6
|
+
import { ProvisioningJunctionSynchronizer } from "../junction-synchronizer.mjs";
|
|
7
|
+
import { pickRecord } from "@authup/kit";
|
|
8
|
+
//#region src/core/provisioning/synchronizer/client/module.ts
|
|
9
|
+
var ClientProvisioningSynchronizer = class extends BaseProvisioningSynchronizer {
|
|
10
|
+
clientRepository;
|
|
11
|
+
permissionResolver;
|
|
12
|
+
roleResolver;
|
|
13
|
+
permissionJunction;
|
|
14
|
+
roleJunction;
|
|
15
|
+
permissionSynchronizer;
|
|
16
|
+
roleSynchronizer;
|
|
17
|
+
constructor(ctx) {
|
|
18
|
+
super();
|
|
19
|
+
this.clientRepository = ctx.clientRepository;
|
|
20
|
+
this.permissionResolver = new ProvisioningEntityResolver(ctx.permissionRepository);
|
|
21
|
+
this.roleResolver = new ProvisioningEntityResolver(ctx.roleRepository);
|
|
22
|
+
this.permissionJunction = new ProvisioningJunctionSynchronizer({
|
|
23
|
+
repository: ctx.clientPermissionRepository,
|
|
24
|
+
ownerKey: "client_id",
|
|
25
|
+
ownerRealmKey: "client_realm_id"
|
|
26
|
+
});
|
|
27
|
+
this.roleJunction = new ProvisioningJunctionSynchronizer({
|
|
28
|
+
repository: ctx.clientRoleRepository,
|
|
29
|
+
ownerKey: "client_id",
|
|
30
|
+
ownerRealmKey: "client_realm_id"
|
|
31
|
+
});
|
|
32
|
+
this.permissionSynchronizer = ctx.permissionSynchronizer;
|
|
33
|
+
this.roleSynchronizer = ctx.roleSynchronizer;
|
|
34
|
+
}
|
|
35
|
+
async synchronize(input) {
|
|
36
|
+
const strategy = normalizeEntityProvisioningStrategy(input.strategy);
|
|
37
|
+
let attributes = await this.clientRepository.findOneBy({
|
|
38
|
+
name: input.attributes.name,
|
|
39
|
+
realm_id: input.attributes.realm_id || null
|
|
40
|
+
});
|
|
41
|
+
if (strategy.type === ProvisioningEntityStrategyType.ABSENT) {
|
|
42
|
+
if (attributes) await this.clientRepository.remove(attributes);
|
|
43
|
+
return {
|
|
44
|
+
...input,
|
|
45
|
+
attributes: attributes || input.attributes
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
if (attributes) switch (strategy.type) {
|
|
49
|
+
case ProvisioningEntityStrategyType.MERGE:
|
|
50
|
+
attributes = this.clientRepository.merge(attributes, strategy.attributes ? pickRecord(input.attributes, strategy.attributes) : input.attributes);
|
|
51
|
+
attributes = await this.clientRepository.save(attributes);
|
|
52
|
+
break;
|
|
53
|
+
case ProvisioningEntityStrategyType.REPLACE:
|
|
54
|
+
input.attributes.id = attributes.id;
|
|
55
|
+
attributes = await this.clientRepository.save(this.clientRepository.create(input.attributes));
|
|
56
|
+
break;
|
|
57
|
+
}
|
|
58
|
+
else attributes = await this.clientRepository.save(this.clientRepository.create(input.attributes));
|
|
59
|
+
const permissions = [...await this.permissionResolver.resolveGlobal(input.relations && input.relations.globalPermissions), ...attributes.realm_id ? await this.permissionResolver.resolveRealm(input.relations && input.relations.realmPermissions, attributes.realm_id) : []];
|
|
60
|
+
if (permissions.length > 0) await this.permissionJunction.synchronize(attributes, permissions, "permission_id", "permission_realm_id");
|
|
61
|
+
const roles = [...await this.roleResolver.resolveGlobal(input.relations && input.relations.globalRoles), ...attributes.realm_id ? await this.roleResolver.resolveRealm(input.relations && input.relations.realmRoles, attributes.realm_id) : []];
|
|
62
|
+
if (roles.length > 0) await this.roleJunction.synchronize(attributes, roles, "role_id", "role_realm_id");
|
|
63
|
+
if (input.relations && input.relations.permissions) {
|
|
64
|
+
const children = input.relations.permissions.map((child) => {
|
|
65
|
+
child.attributes.client_id = attributes.id;
|
|
66
|
+
child.attributes.client = attributes;
|
|
67
|
+
return child;
|
|
68
|
+
});
|
|
69
|
+
await this.permissionSynchronizer.synchronizeMany(children);
|
|
70
|
+
}
|
|
71
|
+
if (input.relations && input.relations.roles) {
|
|
72
|
+
const children = input.relations.roles.map((child) => {
|
|
73
|
+
child.attributes.client_id = attributes.id;
|
|
74
|
+
child.attributes.client = attributes;
|
|
75
|
+
return child;
|
|
76
|
+
});
|
|
77
|
+
await this.roleSynchronizer.synchronizeMany(children);
|
|
78
|
+
}
|
|
79
|
+
return {
|
|
80
|
+
...input,
|
|
81
|
+
attributes
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
//#endregion
|
|
86
|
+
export { ClientProvisioningSynchronizer };
|
|
87
|
+
|
|
88
|
+
//# sourceMappingURL=module.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.mjs","names":["pickRecord","ProvisioningEntityStrategyType","normalizeEntityProvisioningStrategy","BaseProvisioningSynchronizer","ProvisioningEntityResolver","ProvisioningJunctionSynchronizer","ClientProvisioningSynchronizer","clientRepository","permissionResolver","roleResolver","permissionJunction","roleJunction","permissionSynchronizer","roleSynchronizer","ctx","permissionRepository","roleRepository","repository","clientPermissionRepository","ownerKey","ownerRealmKey","clientRoleRepository","synchronize","input","strategy","attributes","findOneBy","name","realm_id","type","ABSENT","remove","MERGE","merge","save","REPLACE","id","create","permissions","resolveGlobal","relations","globalPermissions","resolveRealm","realmPermissions","length","roles","globalRoles","realmRoles","children","map","child","client_id","client","synchronizeMany"],"sources":["../../../../../src/core/provisioning/synchronizer/client/module.ts"],"sourcesContent":["/*\n * Copyright (c) 2026-2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type {\n ClientPermission, \n ClientRole, \n Permission, \n Role,\n} from '@authup/core-kit';\nimport { pickRecord } from '@authup/kit';\nimport type { IClientRepository } from '../../../entities/index.ts';\nimport type { ClientProvisioningEntity } from '../../entities/client';\nimport type { PermissionProvisioningEntity } from '../../entities/permission';\nimport type { RoleProvisioningEntity } from '../../entities/role';\nimport { ProvisioningEntityStrategyType, normalizeEntityProvisioningStrategy } from '../../strategy/index.ts';\nimport type { IProvisioningSynchronizer } from '../../types.ts';\nimport { BaseProvisioningSynchronizer } from '../base.ts';\nimport { ProvisioningEntityResolver } from '../entity-resolver.ts';\nimport { ProvisioningJunctionSynchronizer } from '../junction-synchronizer.ts';\nimport type { ClientProvisioningSynchronizerContext } from './types.ts';\n\nexport class ClientProvisioningSynchronizer extends BaseProvisioningSynchronizer<ClientProvisioningEntity> {\n protected clientRepository: IClientRepository;\n\n protected permissionResolver: ProvisioningEntityResolver<Permission>;\n\n protected roleResolver: ProvisioningEntityResolver<Role>;\n\n protected permissionJunction: ProvisioningJunctionSynchronizer<ClientPermission>;\n\n protected roleJunction: ProvisioningJunctionSynchronizer<ClientRole>;\n\n protected permissionSynchronizer: IProvisioningSynchronizer<PermissionProvisioningEntity>;\n\n protected roleSynchronizer: IProvisioningSynchronizer<RoleProvisioningEntity>;\n\n constructor(ctx: ClientProvisioningSynchronizerContext) {\n super();\n\n this.clientRepository = ctx.clientRepository;\n\n this.permissionResolver = new ProvisioningEntityResolver(ctx.permissionRepository);\n this.roleResolver = new ProvisioningEntityResolver(ctx.roleRepository);\n\n this.permissionJunction = new ProvisioningJunctionSynchronizer({\n repository: ctx.clientPermissionRepository,\n ownerKey: 'client_id',\n ownerRealmKey: 'client_realm_id',\n });\n this.roleJunction = new ProvisioningJunctionSynchronizer({\n repository: ctx.clientRoleRepository,\n ownerKey: 'client_id',\n ownerRealmKey: 'client_realm_id',\n });\n\n this.permissionSynchronizer = ctx.permissionSynchronizer;\n this.roleSynchronizer = ctx.roleSynchronizer;\n }\n\n async synchronize(input: ClientProvisioningEntity): Promise<ClientProvisioningEntity> {\n const strategy = normalizeEntityProvisioningStrategy(input.strategy);\n\n let attributes = await this.clientRepository.findOneBy({\n name: input.attributes.name,\n realm_id: input.attributes.realm_id || null,\n });\n\n if (strategy.type === ProvisioningEntityStrategyType.ABSENT) {\n if (attributes) {\n await this.clientRepository.remove(attributes);\n }\n return {\n ...input,\n attributes: attributes || input.attributes, \n };\n }\n\n if (attributes) {\n switch (strategy.type) {\n case ProvisioningEntityStrategyType.MERGE:\n attributes = this.clientRepository.merge(\n attributes,\n strategy.attributes ?\n pickRecord(input.attributes, strategy.attributes) :\n input.attributes,\n );\n attributes = await this.clientRepository.save(attributes);\n break;\n case ProvisioningEntityStrategyType.REPLACE:\n input.attributes.id = attributes.id;\n attributes = await this.clientRepository.save(this.clientRepository.create(input.attributes));\n break;\n }\n } else {\n attributes = await this.clientRepository.save(this.clientRepository.create(input.attributes));\n }\n\n // Permissions (Global + Realm)\n const permissions = [\n ...await this.permissionResolver.resolveGlobal(\n input.relations && input.relations.globalPermissions,\n ),\n ...(attributes.realm_id ?\n await this.permissionResolver.resolveRealm(\n input.relations && input.relations.realmPermissions,\n attributes.realm_id,\n ) :\n []),\n ];\n\n if (permissions.length > 0) {\n await this.permissionJunction.synchronize(\n attributes,\n permissions,\n 'permission_id',\n 'permission_realm_id',\n );\n }\n\n // Roles (Global + Realm)\n const roles = [\n ...await this.roleResolver.resolveGlobal(\n input.relations && input.relations.globalRoles,\n ),\n ...(attributes.realm_id ?\n await this.roleResolver.resolveRealm(\n input.relations && input.relations.realmRoles,\n attributes.realm_id,\n ) :\n []),\n ];\n\n if (roles.length > 0) {\n await this.roleJunction.synchronize(\n attributes,\n roles,\n 'role_id',\n 'role_realm_id',\n );\n }\n\n // Containers\n\n if (input.relations && input.relations.permissions) {\n const children = input.relations.permissions.map((child) => {\n child.attributes.client_id = attributes.id;\n child.attributes.client = attributes;\n return child;\n });\n\n await this.permissionSynchronizer.synchronizeMany(children);\n }\n\n if (input.relations && input.relations.roles) {\n const children = input.relations.roles.map((child) => {\n child.attributes.client_id = attributes.id;\n child.attributes.client = attributes;\n return child;\n });\n\n await this.roleSynchronizer.synchronizeMany(children);\n }\n\n return {\n ...input,\n attributes,\n };\n }\n}\n"],"mappings":";;;;;;;;AAyBA,IAAaM,iCAAb,cAAoDH,6BAAAA;CACtCI;CAEAC;CAEAC;CAEAC;CAEAC;CAEAC;CAEAC;CAEV,YAAYC,KAA4C;AACpD,SAAK;AAEL,OAAKP,mBAAmBO,IAAIP;AAE5B,OAAKC,qBAAqB,IAAIJ,2BAA2BU,IAAIC,qBAAoB;AACjF,OAAKN,eAAe,IAAIL,2BAA2BU,IAAIE,eAAc;AAErE,OAAKN,qBAAqB,IAAIL,iCAAiC;GAC3DY,YAAYH,IAAII;GAChBC,UAAU;GACVC,eAAe;GACnB,CAAA;AACA,OAAKT,eAAe,IAAIN,iCAAiC;GACrDY,YAAYH,IAAIO;GAChBF,UAAU;GACVC,eAAe;GACnB,CAAA;AAEA,OAAKR,yBAAyBE,IAAIF;AAClC,OAAKC,mBAAmBC,IAAID;;CAGhC,MAAMS,YAAYC,OAAoE;EAClF,MAAMC,WAAWtB,oCAAoCqB,MAAMC,SAAQ;EAEnE,IAAIC,aAAa,MAAM,KAAKlB,iBAAiBmB,UAAU;GACnDC,MAAMJ,MAAME,WAAWE;GACvBC,UAAUL,MAAME,WAAWG,YAAY;GAC3C,CAAA;AAEA,MAAIJ,SAASK,SAAS5B,+BAA+B6B,QAAQ;AACzD,OAAIL,WACA,OAAM,KAAKlB,iBAAiBwB,OAAON,WAAAA;AAEvC,UAAO;IACH,GAAGF;IACHE,YAAYA,cAAcF,MAAME;IACpC;;AAGJ,MAAIA,WACA,SAAQD,SAASK,MAAjB;GACI,KAAK5B,+BAA+B+B;AAChCP,iBAAa,KAAKlB,iBAAiB0B,MAC/BR,YACAD,SAASC,aACLzB,WAAWuB,MAAME,YAAYD,SAASC,WAAU,GAChDF,MAAME,WAAU;AAExBA,iBAAa,MAAM,KAAKlB,iBAAiB2B,KAAKT,WAAAA;AAC9C;GACJ,KAAKxB,+BAA+BkC;AAChCZ,UAAME,WAAWW,KAAKX,WAAWW;AACjCX,iBAAa,MAAM,KAAKlB,iBAAiB2B,KAAK,KAAK3B,iBAAiB8B,OAAOd,MAAME,WAAU,CAAA;AAC3F;;MAGRA,cAAa,MAAM,KAAKlB,iBAAiB2B,KAAK,KAAK3B,iBAAiB8B,OAAOd,MAAME,WAAU,CAAA;EAI/F,MAAMa,cAAc,CAAA,GACb,MAAM,KAAK9B,mBAAmB+B,cAC7BhB,MAAMiB,aAAajB,MAAMiB,UAAUC,kBAAiB,EAAA,GAEpDhB,WAAWG,WACX,MAAM,KAAKpB,mBAAmBkC,aAC1BnB,MAAMiB,aAAajB,MAAMiB,UAAUG,kBACnClB,WAAWG,SAAQ,GAEvB,EAAE,CACT;AAED,MAAIU,YAAYM,SAAS,EACrB,OAAM,KAAKlC,mBAAmBY,YAC1BG,YACAa,aACA,iBACA,sBAAA;EAKR,MAAMO,QAAQ,CAAA,GACP,MAAM,KAAKpC,aAAa8B,cACvBhB,MAAMiB,aAAajB,MAAMiB,UAAUM,YAAW,EAAA,GAE9CrB,WAAWG,WACX,MAAM,KAAKnB,aAAaiC,aACpBnB,MAAMiB,aAAajB,MAAMiB,UAAUO,YACnCtB,WAAWG,SAAQ,GAEvB,EAAE,CACT;AAED,MAAIiB,MAAMD,SAAS,EACf,OAAM,KAAKjC,aAAaW,YACpBG,YACAoB,OACA,WACA,gBAAA;AAMR,MAAItB,MAAMiB,aAAajB,MAAMiB,UAAUF,aAAa;GAChD,MAAMU,WAAWzB,MAAMiB,UAAUF,YAAYW,KAAKC,UAAAA;AAC9CA,UAAMzB,WAAW0B,YAAY1B,WAAWW;AACxCc,UAAMzB,WAAW2B,SAAS3B;AAC1B,WAAOyB;KACX;AAEA,SAAM,KAAKtC,uBAAuByC,gBAAgBL,SAAAA;;AAGtD,MAAIzB,MAAMiB,aAAajB,MAAMiB,UAAUK,OAAO;GAC1C,MAAMG,WAAWzB,MAAMiB,UAAUK,MAAMI,KAAKC,UAAAA;AACxCA,UAAMzB,WAAW0B,YAAY1B,WAAWW;AACxCc,UAAMzB,WAAW2B,SAAS3B;AAC1B,WAAOyB;KACX;AAEA,SAAM,KAAKrC,iBAAiBwC,gBAAgBL,SAAAA;;AAGhD,SAAO;GACH,GAAGzB;GACHE;GACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
//#region src/core/provisioning/synchronizer/entity-resolver.ts
|
|
2
|
+
var ProvisioningEntityResolver = class {
|
|
3
|
+
repository;
|
|
4
|
+
constructor(repository) {
|
|
5
|
+
this.repository = repository;
|
|
6
|
+
}
|
|
7
|
+
async resolveGlobal(names) {
|
|
8
|
+
if (!names || names.length === 0) return [];
|
|
9
|
+
if (names.includes("*")) return this.repository.findManyBy({
|
|
10
|
+
realm_id: null,
|
|
11
|
+
client_id: null
|
|
12
|
+
});
|
|
13
|
+
return this.repository.findManyBy({
|
|
14
|
+
name: names,
|
|
15
|
+
realm_id: null,
|
|
16
|
+
client_id: null
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
async resolveRealm(names, realmId) {
|
|
20
|
+
if (!names || names.length === 0) return [];
|
|
21
|
+
if (names.includes("*")) return this.repository.findManyBy({
|
|
22
|
+
realm_id: realmId,
|
|
23
|
+
client_id: null
|
|
24
|
+
});
|
|
25
|
+
return this.repository.findManyBy({
|
|
26
|
+
name: names,
|
|
27
|
+
realm_id: realmId,
|
|
28
|
+
client_id: null
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
async resolveClient(names, realmId, clientId) {
|
|
32
|
+
if (!names || names.length === 0) return [];
|
|
33
|
+
if (names.includes("*")) return this.repository.findManyBy({
|
|
34
|
+
realm_id: realmId,
|
|
35
|
+
client_id: clientId
|
|
36
|
+
});
|
|
37
|
+
return this.repository.findManyBy({
|
|
38
|
+
name: names,
|
|
39
|
+
realm_id: realmId,
|
|
40
|
+
client_id: clientId
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
//#endregion
|
|
45
|
+
export { ProvisioningEntityResolver };
|
|
46
|
+
|
|
47
|
+
//# sourceMappingURL=entity-resolver.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity-resolver.mjs","names":["ProvisioningEntityResolver","repository","resolveGlobal","names","length","hasWildcard","includes","findManyBy","realm_id","client_id","name","resolveRealm","realmId","resolveClient","clientId"],"sources":["../../../../src/core/provisioning/synchronizer/entity-resolver.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 type { ObjectLiteral } from '@authup/kit';\nimport type { IEntityRepository } from '../../entities/index.ts';\n\nexport class ProvisioningEntityResolver<T extends ObjectLiteral = ObjectLiteral> {\n protected repository: IEntityRepository<T>;\n\n constructor(repository: IEntityRepository<T>) {\n this.repository = repository;\n }\n\n async resolveGlobal(names?: string[]): Promise<T[]> {\n if (!names || names.length === 0) {\n return [];\n }\n\n const hasWildcard = names.includes('*');\n if (hasWildcard) {\n return this.repository.findManyBy({\n realm_id: null,\n client_id: null,\n });\n }\n\n return this.repository.findManyBy({\n name: names,\n realm_id: null,\n client_id: null,\n });\n }\n\n async resolveRealm(names: string[] | undefined, realmId: string): Promise<T[]> {\n if (!names || names.length === 0) {\n return [];\n }\n\n const hasWildcard = names.includes('*');\n if (hasWildcard) {\n return this.repository.findManyBy({\n realm_id: realmId,\n client_id: null,\n });\n }\n\n return this.repository.findManyBy({\n name: names,\n realm_id: realmId,\n client_id: null,\n });\n }\n\n async resolveClient(names: string[] | undefined, realmId: string, clientId: string): Promise<T[]> {\n if (!names || names.length === 0) {\n return [];\n }\n\n const hasWildcard = names.includes('*');\n if (hasWildcard) {\n return this.repository.findManyBy({\n realm_id: realmId,\n client_id: clientId,\n });\n }\n\n return this.repository.findManyBy({\n name: names,\n realm_id: realmId,\n client_id: clientId,\n });\n }\n}\n"],"mappings":";AAUA,IAAaA,6BAAb,MAAaA;CACCC;CAEV,YAAYA,YAAkC;AAC1C,OAAKA,aAAaA;;CAGtB,MAAMC,cAAcC,OAAgC;AAChD,MAAI,CAACA,SAASA,MAAMC,WAAW,EAC3B,QAAO,EAAE;AAIb,MADoBD,MAAMG,SAAS,IAC/BD,CACA,QAAO,KAAKJ,WAAWM,WAAW;GAC9BC,UAAU;GACVC,WAAW;GACf,CAAA;AAGJ,SAAO,KAAKR,WAAWM,WAAW;GAC9BG,MAAMP;GACNK,UAAU;GACVC,WAAW;GACf,CAAA;;CAGJ,MAAME,aAAaR,OAA6BS,SAA+B;AAC3E,MAAI,CAACT,SAASA,MAAMC,WAAW,EAC3B,QAAO,EAAE;AAIb,MADoBD,MAAMG,SAAS,IAC/BD,CACA,QAAO,KAAKJ,WAAWM,WAAW;GAC9BC,UAAUI;GACVH,WAAW;GACf,CAAA;AAGJ,SAAO,KAAKR,WAAWM,WAAW;GAC9BG,MAAMP;GACNK,UAAUI;GACVH,WAAW;GACf,CAAA;;CAGJ,MAAMI,cAAcV,OAA6BS,SAAiBE,UAAgC;AAC9F,MAAI,CAACX,SAASA,MAAMC,WAAW,EAC3B,QAAO,EAAE;AAIb,MADoBD,MAAMG,SAAS,IAC/BD,CACA,QAAO,KAAKJ,WAAWM,WAAW;GAC9BC,UAAUI;GACVH,WAAWK;GACf,CAAA;AAGJ,SAAO,KAAKb,WAAWM,WAAW;GAC9BG,MAAMP;GACNK,UAAUI;GACVH,WAAWK;GACf,CAAA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ProvisioningEntityResolver } from "./entity-resolver.mjs";
|
|
2
|
+
import { ProvisioningJunctionSynchronizer } from "./junction-synchronizer.mjs";
|
|
3
|
+
import { ClientProvisioningSynchronizer } from "./client/module.mjs";
|
|
4
|
+
import "./client/index.mjs";
|
|
5
|
+
import { PermissionProvisioningSynchronizer } from "./permission/module.mjs";
|
|
6
|
+
import "./permission/index.mjs";
|
|
7
|
+
import { PolicyProvisioningSynchronizer } from "./policy/module.mjs";
|
|
8
|
+
import { RealmProvisioningSynchronizer } from "./realm/module.mjs";
|
|
9
|
+
import "./realm/index.mjs";
|
|
10
|
+
import { RoleProvisioningSynchronizer } from "./role/module.mjs";
|
|
11
|
+
import "./role/index.mjs";
|
|
12
|
+
import { GraphProvisioningSynchronizer } from "./root/module.mjs";
|
|
13
|
+
import { RobotProvisioningSynchronizer } from "./robot/module.mjs";
|
|
14
|
+
import "./robot/index.mjs";
|
|
15
|
+
import { ScopeProvisioningSynchronizer } from "./scope/module.mjs";
|
|
16
|
+
import "./scope/index.mjs";
|
|
17
|
+
import { UserProvisioningSynchronizer } from "./user/module.mjs";
|
|
18
|
+
import "./user/index.mjs";
|
|
19
|
+
export { ClientProvisioningSynchronizer, GraphProvisioningSynchronizer, PermissionProvisioningSynchronizer, PolicyProvisioningSynchronizer, ProvisioningEntityResolver, ProvisioningJunctionSynchronizer, RealmProvisioningSynchronizer, RobotProvisioningSynchronizer, RoleProvisioningSynchronizer, ScopeProvisioningSynchronizer, UserProvisioningSynchronizer };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
//#region src/core/provisioning/synchronizer/junction-synchronizer.ts
|
|
2
|
+
var ProvisioningJunctionSynchronizer = class {
|
|
3
|
+
ctx;
|
|
4
|
+
constructor(ctx) {
|
|
5
|
+
this.ctx = ctx;
|
|
6
|
+
}
|
|
7
|
+
async synchronize(owner, targets, targetKey, targetRealmKey, extraAttributes) {
|
|
8
|
+
for (const target of targets) if (!await this.ctx.repository.findOneBy({
|
|
9
|
+
[this.ctx.ownerKey]: owner.id,
|
|
10
|
+
[targetKey]: target.id
|
|
11
|
+
})) {
|
|
12
|
+
const entity = this.ctx.repository.create({
|
|
13
|
+
[this.ctx.ownerKey]: owner.id,
|
|
14
|
+
[this.ctx.ownerRealmKey]: owner.realm_id,
|
|
15
|
+
[targetKey]: target.id,
|
|
16
|
+
[targetRealmKey]: target.realm_id,
|
|
17
|
+
...extraAttributes || {}
|
|
18
|
+
});
|
|
19
|
+
await this.ctx.repository.save(entity);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
//#endregion
|
|
24
|
+
export { ProvisioningJunctionSynchronizer };
|
|
25
|
+
|
|
26
|
+
//# sourceMappingURL=junction-synchronizer.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"junction-synchronizer.mjs","names":["ProvisioningJunctionSynchronizer","ctx","synchronize","owner","targets","targetKey","targetRealmKey","extraAttributes","target","existing","repository","findOneBy","ownerKey","id","entity","create","ownerRealmKey","realm_id","save"],"sources":["../../../../src/core/provisioning/synchronizer/junction-synchronizer.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 type { ObjectLiteral } from '@authup/kit';\nimport type { IEntityRepository } from '../../entities/index.ts';\n\nexport type ProvisioningJunctionSynchronizerContext<T extends ObjectLiteral = ObjectLiteral> = {\n repository: IEntityRepository<T>,\n ownerKey: string,\n ownerRealmKey: string,\n};\n\nexport class ProvisioningJunctionSynchronizer<T extends ObjectLiteral = ObjectLiteral> {\n protected ctx: ProvisioningJunctionSynchronizerContext<T>;\n\n constructor(ctx: ProvisioningJunctionSynchronizerContext<T>) {\n this.ctx = ctx;\n }\n\n async synchronize(\n owner: {\n id: string,\n realm_id?: string | null \n },\n targets: Array<{\n id: string,\n realm_id?: string | null \n }>,\n targetKey: string,\n targetRealmKey: string,\n extraAttributes?: Record<string, unknown>,\n ): Promise<void> {\n for (const target of targets) {\n const existing = await this.ctx.repository.findOneBy({\n [this.ctx.ownerKey]: owner.id,\n [targetKey]: target.id,\n });\n\n if (!existing) {\n const entity = this.ctx.repository.create({\n [this.ctx.ownerKey]: owner.id,\n [this.ctx.ownerRealmKey]: owner.realm_id,\n [targetKey]: target.id,\n [targetRealmKey]: target.realm_id,\n ...(extraAttributes || {}),\n } as Partial<T>);\n\n await this.ctx.repository.save(entity);\n }\n }\n }\n}\n"],"mappings":";AAgBA,IAAaA,mCAAb,MAAaA;CACCC;CAEV,YAAYA,KAAiD;AACzD,OAAKA,MAAMA;;CAGf,MAAMC,YACFC,OAIAC,SAIAC,WACAC,gBACAC,iBACa;AACb,OAAK,MAAMC,UAAUJ,QAMjB,KAAI,CAACK,MALkB,KAAKR,IAAIS,WAAWC,UAAU;IAChD,KAAKV,IAAIW,WAAWT,MAAMU;IAC1BR,YAAYG,OAAOK;GACxB,CAAA,EAEe;GACX,MAAMC,SAAS,KAAKb,IAAIS,WAAWK,OAAO;KACrC,KAAKd,IAAIW,WAAWT,MAAMU;KAC1B,KAAKZ,IAAIe,gBAAgBb,MAAMc;KAC/BZ,YAAYG,OAAOK;KACnBP,iBAAiBE,OAAOS;IACzB,GAAIV,mBAAmB,EAAE;IAC7B,CAAA;AAEA,SAAM,KAAKN,IAAIS,WAAWQ,KAAKJ,OAAAA"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { ProvisioningEntityStrategyType } from "../../strategy/constants.mjs";
|
|
2
|
+
import { normalizeEntityProvisioningStrategy } from "../../strategy/normalize.mjs";
|
|
3
|
+
import "../../strategy/index.mjs";
|
|
4
|
+
import { BaseProvisioningSynchronizer } from "../base.mjs";
|
|
5
|
+
import { pickRecord } from "@authup/kit";
|
|
6
|
+
//#region src/core/provisioning/synchronizer/permission/module.ts
|
|
7
|
+
var PermissionProvisioningSynchronizer = class extends BaseProvisioningSynchronizer {
|
|
8
|
+
repository;
|
|
9
|
+
constructor(ctx) {
|
|
10
|
+
super();
|
|
11
|
+
this.repository = ctx.repository;
|
|
12
|
+
}
|
|
13
|
+
async synchronize(input) {
|
|
14
|
+
const strategy = normalizeEntityProvisioningStrategy(input.strategy);
|
|
15
|
+
let attributes = await this.repository.findOneBy({
|
|
16
|
+
name: input.attributes.name,
|
|
17
|
+
realm_id: input.attributes.realm_id || null,
|
|
18
|
+
client_id: input.attributes.client_id || null
|
|
19
|
+
});
|
|
20
|
+
if (strategy.type === ProvisioningEntityStrategyType.ABSENT) {
|
|
21
|
+
if (attributes) await this.repository.remove(attributes);
|
|
22
|
+
return {
|
|
23
|
+
...input,
|
|
24
|
+
attributes: attributes || input.attributes
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
if (attributes) switch (strategy.type) {
|
|
28
|
+
case ProvisioningEntityStrategyType.MERGE:
|
|
29
|
+
attributes = this.repository.merge(attributes, strategy.attributes ? pickRecord(input.attributes, strategy.attributes) : input.attributes);
|
|
30
|
+
attributes = await this.repository.save(attributes);
|
|
31
|
+
break;
|
|
32
|
+
case ProvisioningEntityStrategyType.REPLACE:
|
|
33
|
+
input.attributes.id = attributes.id;
|
|
34
|
+
attributes = await this.repository.save(this.repository.create(input.attributes));
|
|
35
|
+
break;
|
|
36
|
+
}
|
|
37
|
+
else attributes = await this.repository.save(this.repository.create(input.attributes));
|
|
38
|
+
return {
|
|
39
|
+
...input,
|
|
40
|
+
attributes
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
//#endregion
|
|
45
|
+
export { PermissionProvisioningSynchronizer };
|
|
46
|
+
|
|
47
|
+
//# sourceMappingURL=module.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.mjs","names":["pickRecord","ProvisioningEntityStrategyType","normalizeEntityProvisioningStrategy","BaseProvisioningSynchronizer","PermissionProvisioningSynchronizer","repository","ctx","synchronize","input","strategy","attributes","findOneBy","name","realm_id","client_id","type","ABSENT","remove","MERGE","merge","save","REPLACE","id","create"],"sources":["../../../../../src/core/provisioning/synchronizer/permission/module.ts"],"sourcesContent":["/*\n * Copyright (c) 2026-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 { pickRecord } from '@authup/kit';\nimport type { IPermissionRepository } from '../../../entities/index.ts';\nimport type { PermissionProvisioningEntity } from '../../entities/permission';\nimport { ProvisioningEntityStrategyType, normalizeEntityProvisioningStrategy } from '../../strategy/index.ts';\nimport { BaseProvisioningSynchronizer } from '../base.ts';\nimport type { PermissionProvisioningSynchronizerContext } from './types.ts';\n\nexport class PermissionProvisioningSynchronizer extends BaseProvisioningSynchronizer<PermissionProvisioningEntity> {\n protected repository : IPermissionRepository;\n\n constructor(ctx: PermissionProvisioningSynchronizerContext) {\n super();\n\n this.repository = ctx.repository;\n }\n\n async synchronize(input: PermissionProvisioningEntity): Promise<PermissionProvisioningEntity> {\n const strategy = normalizeEntityProvisioningStrategy(input.strategy);\n\n let attributes = await this.repository.findOneBy({\n name: input.attributes.name,\n realm_id: input.attributes.realm_id || null,\n client_id: input.attributes.client_id || null,\n });\n\n if (strategy.type === ProvisioningEntityStrategyType.ABSENT) {\n if (attributes) {\n await this.repository.remove(attributes);\n }\n return {\n ...input,\n attributes: attributes || input.attributes, \n };\n }\n\n if (attributes) {\n switch (strategy.type) {\n case ProvisioningEntityStrategyType.MERGE:\n attributes = this.repository.merge(\n attributes,\n strategy.attributes ?\n pickRecord(input.attributes, strategy.attributes) :\n input.attributes,\n );\n\n attributes = await this.repository.save(attributes);\n break;\n case ProvisioningEntityStrategyType.REPLACE:\n input.attributes.id = attributes.id;\n attributes = await this.repository.save(this.repository.create(input.attributes));\n break;\n }\n } else {\n attributes = await this.repository.save(this.repository.create(input.attributes));\n }\n\n return {\n ...input,\n attributes,\n };\n }\n}\n"],"mappings":";;;;;;AAcA,IAAaI,qCAAb,cAAwDD,6BAAAA;CAC1CE;CAEV,YAAYC,KAAgD;AACxD,SAAK;AAEL,OAAKD,aAAaC,IAAID;;CAG1B,MAAME,YAAYC,OAA4E;EAC1F,MAAMC,WAAWP,oCAAoCM,MAAMC,SAAQ;EAEnE,IAAIC,aAAa,MAAM,KAAKL,WAAWM,UAAU;GAC7CC,MAAMJ,MAAME,WAAWE;GACvBC,UAAUL,MAAME,WAAWG,YAAY;GACvCC,WAAWN,MAAME,WAAWI,aAAa;GAC7C,CAAA;AAEA,MAAIL,SAASM,SAASd,+BAA+Be,QAAQ;AACzD,OAAIN,WACA,OAAM,KAAKL,WAAWY,OAAOP,WAAAA;AAEjC,UAAO;IACH,GAAGF;IACHE,YAAYA,cAAcF,MAAME;IACpC;;AAGJ,MAAIA,WACA,SAAQD,SAASM,MAAjB;GACI,KAAKd,+BAA+BiB;AAChCR,iBAAa,KAAKL,WAAWc,MACzBT,YACAD,SAASC,aACLV,WAAWQ,MAAME,YAAYD,SAASC,WAAU,GAChDF,MAAME,WAAU;AAGxBA,iBAAa,MAAM,KAAKL,WAAWe,KAAKV,WAAAA;AACxC;GACJ,KAAKT,+BAA+BoB;AAChCb,UAAME,WAAWY,KAAKZ,WAAWY;AACjCZ,iBAAa,MAAM,KAAKL,WAAWe,KAAK,KAAKf,WAAWkB,OAAOf,MAAME,WAAU,CAAA;AAC/E;;MAGRA,cAAa,MAAM,KAAKL,WAAWe,KAAK,KAAKf,WAAWkB,OAAOf,MAAME,WAAU,CAAA;AAGnF,SAAO;GACH,GAAGF;GACHE;GACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { BaseProvisioningSynchronizer } from "../base.mjs";
|
|
2
|
+
//#region src/core/provisioning/synchronizer/policy/module.ts
|
|
3
|
+
var PolicyProvisioningSynchronizer = class extends BaseProvisioningSynchronizer {
|
|
4
|
+
repository;
|
|
5
|
+
permissionPolicyRepository;
|
|
6
|
+
constructor(ctx) {
|
|
7
|
+
super();
|
|
8
|
+
this.repository = ctx.repository;
|
|
9
|
+
this.permissionPolicyRepository = ctx.permissionPolicyRepository;
|
|
10
|
+
}
|
|
11
|
+
async synchronize(input) {
|
|
12
|
+
let entity = await this.repository.findOneBy({
|
|
13
|
+
name: input.attributes.name,
|
|
14
|
+
realm_id: input.attributes.realm_id || null
|
|
15
|
+
});
|
|
16
|
+
if (entity) {
|
|
17
|
+
entity = this.repository.merge(entity, {
|
|
18
|
+
type: input.attributes.type,
|
|
19
|
+
built_in: input.attributes.built_in,
|
|
20
|
+
parent_id: input.attributes.parent_id,
|
|
21
|
+
parent: input.attributes.parent
|
|
22
|
+
});
|
|
23
|
+
await this.repository.saveWithEA(entity, input.extraAttributes);
|
|
24
|
+
} else {
|
|
25
|
+
entity = this.repository.create(input.attributes);
|
|
26
|
+
await this.repository.saveWithEA(entity, input.extraAttributes);
|
|
27
|
+
}
|
|
28
|
+
await this.synchronizeChildren(entity.id, input.children || []);
|
|
29
|
+
return {
|
|
30
|
+
...input,
|
|
31
|
+
attributes: entity
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
async synchronizeChildren(parentId, children = []) {
|
|
35
|
+
const declaredNames = children.map((c) => c.attributes.name);
|
|
36
|
+
await children.reduce(async (prev, child) => {
|
|
37
|
+
await prev;
|
|
38
|
+
child.attributes.parent_id = parentId;
|
|
39
|
+
child.attributes.parent = { id: parentId };
|
|
40
|
+
await this.synchronize(child);
|
|
41
|
+
}, Promise.resolve());
|
|
42
|
+
await this.cleanupStaleChildren(parentId, declaredNames);
|
|
43
|
+
}
|
|
44
|
+
async cleanupStaleChildren(parentId, declaredNames) {
|
|
45
|
+
await (await this.repository.findManyBy({ parent_id: parentId })).filter((child) => !declaredNames.includes(child.name)).reduce(async (prev, child) => {
|
|
46
|
+
await prev;
|
|
47
|
+
await this.cleanupStaleChild(child);
|
|
48
|
+
}, Promise.resolve());
|
|
49
|
+
}
|
|
50
|
+
async cleanupStaleChild(child) {
|
|
51
|
+
if ((await this.permissionPolicyRepository.findManyBy({ policy_id: child.id })).length === 0) await this.repository.deleteFromTree(child);
|
|
52
|
+
else {
|
|
53
|
+
const detached = this.repository.merge(child, {
|
|
54
|
+
parent_id: null,
|
|
55
|
+
parent: null,
|
|
56
|
+
built_in: false
|
|
57
|
+
});
|
|
58
|
+
await this.repository.saveWithEA(detached);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
//#endregion
|
|
63
|
+
export { PolicyProvisioningSynchronizer };
|
|
64
|
+
|
|
65
|
+
//# sourceMappingURL=module.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.mjs","names":["BaseProvisioningSynchronizer","PolicyProvisioningSynchronizer","repository","permissionPolicyRepository","ctx","synchronize","input","entity","findOneBy","name","attributes","realm_id","merge","type","built_in","parent_id","parent","saveWithEA","extraAttributes","create","synchronizeChildren","id","children","parentId","declaredNames","map","c","reduce","prev","child","Promise","resolve","cleanupStaleChildren","existingChildren","findManyBy","staleChildren","filter","includes","cleanupStaleChild","referencingJunctions","policy_id","length","deleteFromTree","detached"],"sources":["../../../../../src/core/provisioning/synchronizer/policy/module.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 type { Policy } from '@authup/core-kit';\nimport type { IPermissionPolicyRepository } from '../../../entities/permission-policy/types.ts';\nimport type { IPolicyRepository } from '../../../entities/index.ts';\nimport type { PolicyProvisioningEntity } from '../../entities/policy/index.ts';\nimport { BaseProvisioningSynchronizer } from '../base.ts';\nimport type { PolicyProvisioningSynchronizerContext } from './types.ts';\n\nexport class PolicyProvisioningSynchronizer extends BaseProvisioningSynchronizer<PolicyProvisioningEntity> {\n protected repository: IPolicyRepository;\n\n protected permissionPolicyRepository: IPermissionPolicyRepository;\n\n constructor(ctx: PolicyProvisioningSynchronizerContext) {\n super();\n\n this.repository = ctx.repository;\n this.permissionPolicyRepository = ctx.permissionPolicyRepository;\n }\n\n async synchronize(input: PolicyProvisioningEntity): Promise<PolicyProvisioningEntity> {\n let entity = await this.repository.findOneBy({\n name: input.attributes.name,\n realm_id: input.attributes.realm_id || null,\n });\n\n if (entity) {\n entity = this.repository.merge(entity, {\n type: input.attributes.type,\n built_in: input.attributes.built_in,\n parent_id: input.attributes.parent_id,\n parent: input.attributes.parent,\n });\n await this.repository.saveWithEA(entity, input.extraAttributes);\n } else {\n entity = this.repository.create(input.attributes);\n await this.repository.saveWithEA(entity, input.extraAttributes);\n }\n\n await this.synchronizeChildren(entity.id, input.children || []);\n\n return {\n ...input,\n attributes: entity,\n };\n }\n\n private async synchronizeChildren(\n parentId: string,\n children: PolicyProvisioningEntity[] = [],\n ): Promise<void> {\n const declaredNames = children.map((c) => c.attributes.name);\n\n await children.reduce(async (prev, child) => {\n await prev;\n child.attributes.parent_id = parentId;\n child.attributes.parent = { id: parentId } as any;\n await this.synchronize(child);\n }, Promise.resolve());\n\n await this.cleanupStaleChildren(parentId, declaredNames);\n }\n\n private async cleanupStaleChildren(\n parentId: string,\n declaredNames: (string | undefined)[],\n ): Promise<void> {\n const existingChildren = await this.repository.findManyBy({ parent_id: parentId });\n\n const staleChildren = existingChildren.filter(\n (child) => !declaredNames.includes(child.name),\n );\n\n await staleChildren.reduce(async (prev, child) => {\n await prev;\n await this.cleanupStaleChild(child);\n }, Promise.resolve());\n }\n\n private async cleanupStaleChild(child: Policy): Promise<void> {\n const referencingJunctions = await this.permissionPolicyRepository.findManyBy({ policy_id: child.id });\n\n if (referencingJunctions.length === 0) {\n await this.repository.deleteFromTree(child);\n } else {\n const detached = this.repository.merge(child, {\n parent_id: null,\n parent: null,\n built_in: false,\n });\n await this.repository.saveWithEA(detached);\n }\n }\n}\n"],"mappings":";;AAcA,IAAaC,iCAAb,cAAoDD,6BAAAA;CACtCE;CAEAC;CAEV,YAAYC,KAA4C;AACpD,SAAK;AAEL,OAAKF,aAAaE,IAAIF;AACtB,OAAKC,6BAA6BC,IAAID;;CAG1C,MAAME,YAAYC,OAAoE;EAClF,IAAIC,SAAS,MAAM,KAAKL,WAAWM,UAAU;GACzCC,MAAMH,MAAMI,WAAWD;GACvBE,UAAUL,MAAMI,WAAWC,YAAY;GAC3C,CAAA;AAEA,MAAIJ,QAAQ;AACRA,YAAS,KAAKL,WAAWU,MAAML,QAAQ;IACnCM,MAAMP,MAAMI,WAAWG;IACvBC,UAAUR,MAAMI,WAAWI;IAC3BC,WAAWT,MAAMI,WAAWK;IAC5BC,QAAQV,MAAMI,WAAWM;IAC7B,CAAA;AACA,SAAM,KAAKd,WAAWe,WAAWV,QAAQD,MAAMY,gBAAe;SAC3D;AACHX,YAAS,KAAKL,WAAWiB,OAAOb,MAAMI,WAAU;AAChD,SAAM,KAAKR,WAAWe,WAAWV,QAAQD,MAAMY,gBAAe;;AAGlE,QAAM,KAAKE,oBAAoBb,OAAOc,IAAIf,MAAMgB,YAAY,EAAE,CAAA;AAE9D,SAAO;GACH,GAAGhB;GACHI,YAAYH;GAChB;;CAGJ,MAAca,oBACVG,UACAD,WAAuC,EAAE,EAC5B;EACb,MAAME,gBAAgBF,SAASG,KAAKC,MAAMA,EAAEhB,WAAWD,KAAI;AAE3D,QAAMa,SAASK,OAAO,OAAOC,MAAMC,UAAAA;AAC/B,SAAMD;AACNC,SAAMnB,WAAWK,YAAYQ;AAC7BM,SAAMnB,WAAWM,SAAS,EAAEK,IAAIE,UAAS;AACzC,SAAM,KAAKlB,YAAYwB,MAAAA;KACxBC,QAAQC,SAAO,CAAA;AAElB,QAAM,KAAKC,qBAAqBT,UAAUC,cAAAA;;CAG9C,MAAcQ,qBACVT,UACAC,eACa;AAOb,SAJsBS,MAFS,KAAK/B,WAAWgC,WAAW,EAAEnB,WAAWQ,UAAS,CAAA,EAEzCa,QAClCP,UAAU,CAACL,cAAca,SAASR,MAAMpB,KAAI,CAG3C0B,CAAcR,OAAO,OAAOC,MAAMC,UAAAA;AACpC,SAAMD;AACN,SAAM,KAAKU,kBAAkBT,MAAAA;KAC9BC,QAAQC,SAAO,CAAA;;CAGtB,MAAcO,kBAAkBT,OAA8B;AAG1D,OAAIU,MAF+B,KAAKpC,2BAA2B+B,WAAW,EAAEM,WAAWX,MAAMR,IAAG,CAAA,EAE3EoB,WAAW,EAChC,OAAM,KAAKvC,WAAWwC,eAAeb,MAAAA;OAClC;GACH,MAAMc,WAAW,KAAKzC,WAAWU,MAAMiB,OAAO;IAC1Cd,WAAW;IACXC,QAAQ;IACRF,UAAU;IACd,CAAA;AACA,SAAM,KAAKZ,WAAWe,WAAW0B,SAAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { ProvisioningEntityStrategyType } from "../../strategy/constants.mjs";
|
|
2
|
+
import { normalizeEntityProvisioningStrategy } from "../../strategy/normalize.mjs";
|
|
3
|
+
import "../../strategy/index.mjs";
|
|
4
|
+
import { BaseProvisioningSynchronizer } from "../base.mjs";
|
|
5
|
+
import { pickRecord } from "@authup/kit";
|
|
6
|
+
//#region src/core/provisioning/synchronizer/realm/module.ts
|
|
7
|
+
var RealmProvisioningSynchronizer = class extends BaseProvisioningSynchronizer {
|
|
8
|
+
repository;
|
|
9
|
+
clientSynchronizer;
|
|
10
|
+
permissionSynchronizer;
|
|
11
|
+
roleSynchronizer;
|
|
12
|
+
userSynchronizer;
|
|
13
|
+
robotSynchronizer;
|
|
14
|
+
scopeSynchronizer;
|
|
15
|
+
constructor(ctx) {
|
|
16
|
+
super();
|
|
17
|
+
this.repository = ctx.repository;
|
|
18
|
+
this.clientSynchronizer = ctx.clientSynchronizer;
|
|
19
|
+
this.permissionSynchronizer = ctx.permissionSynchronizer;
|
|
20
|
+
this.roleSynchronizer = ctx.roleSynchronizer;
|
|
21
|
+
this.userSynchronizer = ctx.userSynchronizer;
|
|
22
|
+
this.robotSynchronizer = ctx.robotSynchronizer;
|
|
23
|
+
this.scopeSynchronizer = ctx.scopeSynchronizer;
|
|
24
|
+
}
|
|
25
|
+
async synchronize(input) {
|
|
26
|
+
const strategy = normalizeEntityProvisioningStrategy(input.strategy);
|
|
27
|
+
let attributes = await this.repository.findOneBy({ name: input.attributes.name });
|
|
28
|
+
if (strategy.type === ProvisioningEntityStrategyType.ABSENT) {
|
|
29
|
+
if (attributes) await this.repository.remove(attributes);
|
|
30
|
+
return {
|
|
31
|
+
...input,
|
|
32
|
+
attributes: attributes || input.attributes
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
if (attributes) switch (strategy.type) {
|
|
36
|
+
case ProvisioningEntityStrategyType.MERGE:
|
|
37
|
+
attributes = this.repository.merge(attributes, strategy.attributes ? pickRecord(input.attributes, strategy.attributes) : input.attributes);
|
|
38
|
+
attributes = await this.repository.save(attributes);
|
|
39
|
+
break;
|
|
40
|
+
case ProvisioningEntityStrategyType.REPLACE:
|
|
41
|
+
input.attributes.id = attributes.id;
|
|
42
|
+
attributes = await this.repository.save(this.repository.create(input.attributes));
|
|
43
|
+
break;
|
|
44
|
+
}
|
|
45
|
+
else attributes = await this.repository.save(this.repository.create(input.attributes));
|
|
46
|
+
if (input.relations && input.relations.clients) {
|
|
47
|
+
const clients = input.relations.clients.map((child) => {
|
|
48
|
+
child.attributes.realm_id = attributes.id;
|
|
49
|
+
child.attributes.realm = attributes;
|
|
50
|
+
return child;
|
|
51
|
+
});
|
|
52
|
+
await this.clientSynchronizer.synchronizeMany(clients);
|
|
53
|
+
}
|
|
54
|
+
if (input.relations && input.relations.permissions) {
|
|
55
|
+
const permissions = input.relations.permissions.map((child) => {
|
|
56
|
+
child.attributes.realm_id = attributes.id;
|
|
57
|
+
child.attributes.realm = attributes;
|
|
58
|
+
return child;
|
|
59
|
+
});
|
|
60
|
+
await this.permissionSynchronizer.synchronizeMany(permissions);
|
|
61
|
+
}
|
|
62
|
+
if (input.relations && input.relations.roles) {
|
|
63
|
+
const roles = input.relations.roles.map((child) => {
|
|
64
|
+
child.attributes.realm_id = attributes.id;
|
|
65
|
+
child.attributes.realm = attributes;
|
|
66
|
+
return child;
|
|
67
|
+
});
|
|
68
|
+
await this.roleSynchronizer.synchronizeMany(roles);
|
|
69
|
+
}
|
|
70
|
+
if (input.relations && input.relations.users) {
|
|
71
|
+
const users = input.relations.users.map((child) => {
|
|
72
|
+
child.attributes.realm_id = attributes.id;
|
|
73
|
+
child.attributes.realm = attributes;
|
|
74
|
+
return child;
|
|
75
|
+
});
|
|
76
|
+
await this.userSynchronizer.synchronizeMany(users);
|
|
77
|
+
}
|
|
78
|
+
if (input.relations && input.relations.robots) {
|
|
79
|
+
const robots = input.relations.robots.map((child) => {
|
|
80
|
+
child.attributes.realm_id = attributes.id;
|
|
81
|
+
child.attributes.realm = attributes;
|
|
82
|
+
return child;
|
|
83
|
+
});
|
|
84
|
+
await this.robotSynchronizer.synchronizeMany(robots);
|
|
85
|
+
}
|
|
86
|
+
if (input.relations && input.relations.scopes) {
|
|
87
|
+
const scopes = input.relations.scopes.map((child) => {
|
|
88
|
+
child.attributes.realm_id = attributes.id;
|
|
89
|
+
child.attributes.realm = attributes;
|
|
90
|
+
return child;
|
|
91
|
+
});
|
|
92
|
+
await this.scopeSynchronizer.synchronizeMany(scopes);
|
|
93
|
+
}
|
|
94
|
+
return {
|
|
95
|
+
...input,
|
|
96
|
+
attributes
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
//#endregion
|
|
101
|
+
export { RealmProvisioningSynchronizer };
|
|
102
|
+
|
|
103
|
+
//# sourceMappingURL=module.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.mjs","names":["pickRecord","ProvisioningEntityStrategyType","normalizeEntityProvisioningStrategy","BaseProvisioningSynchronizer","RealmProvisioningSynchronizer","repository","clientSynchronizer","permissionSynchronizer","roleSynchronizer","userSynchronizer","robotSynchronizer","scopeSynchronizer","ctx","synchronize","input","strategy","attributes","findOneBy","name","type","ABSENT","remove","MERGE","merge","save","REPLACE","id","create","relations","clients","map","child","realm_id","realm","synchronizeMany","permissions","roles","users","robots","scopes"],"sources":["../../../../../src/core/provisioning/synchronizer/realm/module.ts"],"sourcesContent":["/*\n * Copyright (c) 2026-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 { pickRecord } from '@authup/kit';\nimport type { IRealmRepository } from '../../../entities/index.ts';\nimport type { ClientProvisioningEntity, ScopeProvisioningEntity } from '../../entities/index.ts';\nimport type { PermissionProvisioningEntity } from '../../entities/permission/index.ts';\nimport type { RealmProvisioningEntity } from '../../entities/realm/index.ts';\nimport type { RobotProvisioningEntity } from '../../entities/robot/index.ts';\nimport type { RoleProvisioningEntity } from '../../entities/role/index.ts';\nimport type { UserProvisioningEntity } from '../../entities/user/index.ts';\nimport { ProvisioningEntityStrategyType, normalizeEntityProvisioningStrategy } from '../../strategy/index.ts';\nimport type { IProvisioningSynchronizer } from '../../types.ts';\nimport { BaseProvisioningSynchronizer } from '../base.ts';\nimport type { RealmProvisioningSynchronizerContext } from './types.ts';\n\nexport class RealmProvisioningSynchronizer extends BaseProvisioningSynchronizer<RealmProvisioningEntity> {\n protected repository : IRealmRepository;\n\n protected clientSynchronizer: IProvisioningSynchronizer<ClientProvisioningEntity>;\n\n protected permissionSynchronizer: IProvisioningSynchronizer<PermissionProvisioningEntity>;\n\n protected roleSynchronizer: IProvisioningSynchronizer<RoleProvisioningEntity>;\n\n protected userSynchronizer: IProvisioningSynchronizer<UserProvisioningEntity>;\n\n protected robotSynchronizer: IProvisioningSynchronizer<RobotProvisioningEntity>;\n\n protected scopeSynchronizer : IProvisioningSynchronizer<ScopeProvisioningEntity>;\n\n constructor(ctx: RealmProvisioningSynchronizerContext) {\n super();\n\n this.repository = ctx.repository;\n this.clientSynchronizer = ctx.clientSynchronizer;\n this.permissionSynchronizer = ctx.permissionSynchronizer;\n this.roleSynchronizer = ctx.roleSynchronizer;\n this.userSynchronizer = ctx.userSynchronizer;\n this.robotSynchronizer = ctx.robotSynchronizer;\n this.scopeSynchronizer = ctx.scopeSynchronizer;\n }\n\n async synchronize(input: RealmProvisioningEntity): Promise<RealmProvisioningEntity> {\n const strategy = normalizeEntityProvisioningStrategy(input.strategy);\n let attributes = await this.repository.findOneBy({ name: input.attributes.name });\n\n if (strategy.type === ProvisioningEntityStrategyType.ABSENT) {\n if (attributes) {\n await this.repository.remove(attributes);\n }\n return {\n ...input,\n attributes: attributes || input.attributes, \n };\n }\n\n if (attributes) {\n switch (strategy.type) {\n case ProvisioningEntityStrategyType.MERGE:\n attributes = this.repository.merge(\n attributes,\n strategy.attributes ?\n pickRecord(input.attributes, strategy.attributes) :\n input.attributes,\n );\n\n attributes = await this.repository.save(attributes);\n break;\n case ProvisioningEntityStrategyType.REPLACE:\n input.attributes.id = attributes.id;\n attributes = await this.repository.save(this.repository.create(input.attributes));\n break;\n }\n } else {\n attributes = await this.repository.save(this.repository.create(input.attributes));\n }\n\n if (input.relations && input.relations.clients) {\n const clients = input.relations.clients.map(\n (child) => {\n child.attributes.realm_id = attributes.id;\n child.attributes.realm = attributes;\n return child;\n },\n );\n\n await this.clientSynchronizer.synchronizeMany(clients);\n }\n\n if (input.relations && input.relations.permissions) {\n const permissions = input.relations.permissions.map((child) => {\n child.attributes.realm_id = attributes.id;\n child.attributes.realm = attributes;\n return child;\n });\n\n await this.permissionSynchronizer.synchronizeMany(permissions);\n }\n\n if (input.relations && input.relations.roles) {\n const roles = input.relations.roles.map((child) => {\n child.attributes.realm_id = attributes.id;\n child.attributes.realm = attributes;\n return child;\n });\n\n await this.roleSynchronizer.synchronizeMany(roles);\n }\n\n if (input.relations && input.relations.users) {\n const users = input.relations.users.map((child) => {\n child.attributes.realm_id = attributes.id;\n child.attributes.realm = attributes;\n return child;\n });\n\n await this.userSynchronizer.synchronizeMany(users);\n }\n\n if (input.relations && input.relations.robots) {\n const robots = input.relations.robots.map((child) => {\n child.attributes.realm_id = attributes.id;\n child.attributes.realm = attributes;\n return child;\n });\n\n await this.robotSynchronizer.synchronizeMany(robots);\n }\n\n if (input.relations && input.relations.scopes) {\n const scopes = input.relations.scopes.map((child) => {\n child.attributes.realm_id = attributes.id;\n child.attributes.realm = attributes;\n return child;\n });\n\n await this.scopeSynchronizer.synchronizeMany(scopes);\n }\n\n return {\n ...input,\n attributes,\n };\n }\n}\n"],"mappings":";;;;;;AAoBA,IAAaI,gCAAb,cAAmDD,6BAAAA;CACrCE;CAEAC;CAEAC;CAEAC;CAEAC;CAEAC;CAEAC;CAEV,YAAYC,KAA2C;AACnD,SAAK;AAEL,OAAKP,aAAaO,IAAIP;AACtB,OAAKC,qBAAqBM,IAAIN;AAC9B,OAAKC,yBAAyBK,IAAIL;AAClC,OAAKC,mBAAmBI,IAAIJ;AAC5B,OAAKC,mBAAmBG,IAAIH;AAC5B,OAAKC,oBAAoBE,IAAIF;AAC7B,OAAKC,oBAAoBC,IAAID;;CAGjC,MAAME,YAAYC,OAAkE;EAChF,MAAMC,WAAWb,oCAAoCY,MAAMC,SAAQ;EACnE,IAAIC,aAAa,MAAM,KAAKX,WAAWY,UAAU,EAAEC,MAAMJ,MAAME,WAAWE,MAAK,CAAA;AAE/E,MAAIH,SAASI,SAASlB,+BAA+BmB,QAAQ;AACzD,OAAIJ,WACA,OAAM,KAAKX,WAAWgB,OAAOL,WAAAA;AAEjC,UAAO;IACH,GAAGF;IACHE,YAAYA,cAAcF,MAAME;IACpC;;AAGJ,MAAIA,WACA,SAAQD,SAASI,MAAjB;GACI,KAAKlB,+BAA+BqB;AAChCN,iBAAa,KAAKX,WAAWkB,MACzBP,YACAD,SAASC,aACLhB,WAAWc,MAAME,YAAYD,SAASC,WAAU,GAChDF,MAAME,WAAU;AAGxBA,iBAAa,MAAM,KAAKX,WAAWmB,KAAKR,WAAAA;AACxC;GACJ,KAAKf,+BAA+BwB;AAChCX,UAAME,WAAWU,KAAKV,WAAWU;AACjCV,iBAAa,MAAM,KAAKX,WAAWmB,KAAK,KAAKnB,WAAWsB,OAAOb,MAAME,WAAU,CAAA;AAC/E;;MAGRA,cAAa,MAAM,KAAKX,WAAWmB,KAAK,KAAKnB,WAAWsB,OAAOb,MAAME,WAAU,CAAA;AAGnF,MAAIF,MAAMc,aAAad,MAAMc,UAAUC,SAAS;GAC5C,MAAMA,UAAUf,MAAMc,UAAUC,QAAQC,KACnCC,UAAAA;AACGA,UAAMf,WAAWgB,WAAWhB,WAAWU;AACvCK,UAAMf,WAAWiB,QAAQjB;AACzB,WAAOe;KACX;AAGJ,SAAM,KAAKzB,mBAAmB4B,gBAAgBL,QAAAA;;AAGlD,MAAIf,MAAMc,aAAad,MAAMc,UAAUO,aAAa;GAChD,MAAMA,cAAcrB,MAAMc,UAAUO,YAAYL,KAAKC,UAAAA;AACjDA,UAAMf,WAAWgB,WAAWhB,WAAWU;AACvCK,UAAMf,WAAWiB,QAAQjB;AACzB,WAAOe;KACX;AAEA,SAAM,KAAKxB,uBAAuB2B,gBAAgBC,YAAAA;;AAGtD,MAAIrB,MAAMc,aAAad,MAAMc,UAAUQ,OAAO;GAC1C,MAAMA,QAAQtB,MAAMc,UAAUQ,MAAMN,KAAKC,UAAAA;AACrCA,UAAMf,WAAWgB,WAAWhB,WAAWU;AACvCK,UAAMf,WAAWiB,QAAQjB;AACzB,WAAOe;KACX;AAEA,SAAM,KAAKvB,iBAAiB0B,gBAAgBE,MAAAA;;AAGhD,MAAItB,MAAMc,aAAad,MAAMc,UAAUS,OAAO;GAC1C,MAAMA,QAAQvB,MAAMc,UAAUS,MAAMP,KAAKC,UAAAA;AACrCA,UAAMf,WAAWgB,WAAWhB,WAAWU;AACvCK,UAAMf,WAAWiB,QAAQjB;AACzB,WAAOe;KACX;AAEA,SAAM,KAAKtB,iBAAiByB,gBAAgBG,MAAAA;;AAGhD,MAAIvB,MAAMc,aAAad,MAAMc,UAAUU,QAAQ;GAC3C,MAAMA,SAASxB,MAAMc,UAAUU,OAAOR,KAAKC,UAAAA;AACvCA,UAAMf,WAAWgB,WAAWhB,WAAWU;AACvCK,UAAMf,WAAWiB,QAAQjB;AACzB,WAAOe;KACX;AAEA,SAAM,KAAKrB,kBAAkBwB,gBAAgBI,OAAAA;;AAGjD,MAAIxB,MAAMc,aAAad,MAAMc,UAAUW,QAAQ;GAC3C,MAAMA,SAASzB,MAAMc,UAAUW,OAAOT,KAAKC,UAAAA;AACvCA,UAAMf,WAAWgB,WAAWhB,WAAWU;AACvCK,UAAMf,WAAWiB,QAAQjB;AACzB,WAAOe;KACX;AAEA,SAAM,KAAKpB,kBAAkBuB,gBAAgBK,OAAAA;;AAGjD,SAAO;GACH,GAAGzB;GACHE;GACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { ProvisioningEntityStrategyType } from "../../strategy/constants.mjs";
|
|
2
|
+
import { normalizeEntityProvisioningStrategy } from "../../strategy/normalize.mjs";
|
|
3
|
+
import "../../strategy/index.mjs";
|
|
4
|
+
import { BaseProvisioningSynchronizer } from "../base.mjs";
|
|
5
|
+
import { ProvisioningEntityResolver } from "../entity-resolver.mjs";
|
|
6
|
+
import { ProvisioningJunctionSynchronizer } from "../junction-synchronizer.mjs";
|
|
7
|
+
import { pickRecord } from "@authup/kit";
|
|
8
|
+
//#region src/core/provisioning/synchronizer/robot/module.ts
|
|
9
|
+
var RobotProvisioningSynchronizer = class extends BaseProvisioningSynchronizer {
|
|
10
|
+
robotRepository;
|
|
11
|
+
permissionResolver;
|
|
12
|
+
roleResolver;
|
|
13
|
+
permissionJunction;
|
|
14
|
+
roleJunction;
|
|
15
|
+
constructor(ctx) {
|
|
16
|
+
super();
|
|
17
|
+
this.robotRepository = ctx.robotRepository;
|
|
18
|
+
this.permissionResolver = new ProvisioningEntityResolver(ctx.permissionRepository);
|
|
19
|
+
this.roleResolver = new ProvisioningEntityResolver(ctx.roleRepository);
|
|
20
|
+
this.permissionJunction = new ProvisioningJunctionSynchronizer({
|
|
21
|
+
repository: ctx.robotPermissionRepository,
|
|
22
|
+
ownerKey: "robot_id",
|
|
23
|
+
ownerRealmKey: "robot_realm_id"
|
|
24
|
+
});
|
|
25
|
+
this.roleJunction = new ProvisioningJunctionSynchronizer({
|
|
26
|
+
repository: ctx.robotRoleRepository,
|
|
27
|
+
ownerKey: "robot_id",
|
|
28
|
+
ownerRealmKey: "robot_realm_id"
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
async synchronize(input) {
|
|
32
|
+
const strategy = normalizeEntityProvisioningStrategy(input.strategy);
|
|
33
|
+
let attributes = await this.robotRepository.findOneBy({
|
|
34
|
+
name: input.attributes.name,
|
|
35
|
+
...input.attributes.realm_id ? { realm_id: input.attributes.realm_id } : { realm_id: null }
|
|
36
|
+
});
|
|
37
|
+
if (strategy.type === ProvisioningEntityStrategyType.ABSENT) {
|
|
38
|
+
if (attributes) await this.robotRepository.remove(attributes);
|
|
39
|
+
return {
|
|
40
|
+
...input,
|
|
41
|
+
attributes: attributes || input.attributes
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
if (attributes) switch (strategy.type) {
|
|
45
|
+
case ProvisioningEntityStrategyType.MERGE:
|
|
46
|
+
attributes = this.robotRepository.merge(attributes, strategy.attributes ? pickRecord(input.attributes, strategy.attributes) : input.attributes);
|
|
47
|
+
attributes = await this.robotRepository.save(attributes);
|
|
48
|
+
break;
|
|
49
|
+
case ProvisioningEntityStrategyType.REPLACE:
|
|
50
|
+
input.attributes.id = attributes.id;
|
|
51
|
+
attributes = await this.robotRepository.save(this.robotRepository.create(input.attributes));
|
|
52
|
+
break;
|
|
53
|
+
}
|
|
54
|
+
else attributes = await this.robotRepository.save(this.robotRepository.create(input.attributes));
|
|
55
|
+
const permissions = [...await this.permissionResolver.resolveGlobal(input.relations && input.relations.globalPermissions), ...attributes.realm_id ? await this.permissionResolver.resolveRealm(input.relations && input.relations.realmPermissions, attributes.realm_id) : []];
|
|
56
|
+
if (permissions.length > 0) await this.permissionJunction.synchronize(attributes, permissions, "permission_id", "permission_realm_id");
|
|
57
|
+
const roles = [...await this.roleResolver.resolveGlobal(input.relations && input.relations.globalRoles), ...attributes.realm_id ? await this.roleResolver.resolveRealm(input.relations && input.relations.realmRoles, attributes.realm_id) : []];
|
|
58
|
+
if (roles.length > 0) await this.roleJunction.synchronize(attributes, roles, "role_id", "role_realm_id");
|
|
59
|
+
return {
|
|
60
|
+
...input,
|
|
61
|
+
attributes
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
//#endregion
|
|
66
|
+
export { RobotProvisioningSynchronizer };
|
|
67
|
+
|
|
68
|
+
//# sourceMappingURL=module.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.mjs","names":["pickRecord","ProvisioningEntityStrategyType","normalizeEntityProvisioningStrategy","BaseProvisioningSynchronizer","ProvisioningEntityResolver","ProvisioningJunctionSynchronizer","RobotProvisioningSynchronizer","robotRepository","permissionResolver","roleResolver","permissionJunction","roleJunction","ctx","permissionRepository","roleRepository","repository","robotPermissionRepository","ownerKey","ownerRealmKey","robotRoleRepository","synchronize","input","strategy","attributes","findOneBy","name","realm_id","type","ABSENT","remove","MERGE","merge","save","REPLACE","id","create","permissions","resolveGlobal","relations","globalPermissions","resolveRealm","realmPermissions","length","roles","globalRoles","realmRoles"],"sources":["../../../../../src/core/provisioning/synchronizer/robot/module.ts"],"sourcesContent":["/*\n * Copyright (c) 2026-2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type {\n Permission, \n RobotPermission, \n RobotRole, \n Role,\n} from '@authup/core-kit';\nimport { pickRecord } from '@authup/kit';\nimport type { IRobotRepository } from '../../../entities/index.ts';\nimport type { RobotProvisioningEntity } from '../../entities/robot/index.ts';\nimport { ProvisioningEntityStrategyType, normalizeEntityProvisioningStrategy } from '../../strategy/index.ts';\nimport { BaseProvisioningSynchronizer } from '../base.ts';\nimport { ProvisioningEntityResolver } from '../entity-resolver.ts';\nimport { ProvisioningJunctionSynchronizer } from '../junction-synchronizer.ts';\nimport type { RobotProvisioningSynchronizerContext } from './types.ts';\n\nexport class RobotProvisioningSynchronizer extends BaseProvisioningSynchronizer<RobotProvisioningEntity> {\n protected robotRepository: IRobotRepository;\n\n protected permissionResolver: ProvisioningEntityResolver<Permission>;\n\n protected roleResolver: ProvisioningEntityResolver<Role>;\n\n protected permissionJunction: ProvisioningJunctionSynchronizer<RobotPermission>;\n\n protected roleJunction: ProvisioningJunctionSynchronizer<RobotRole>;\n\n constructor(ctx: RobotProvisioningSynchronizerContext) {\n super();\n\n this.robotRepository = ctx.robotRepository;\n\n this.permissionResolver = new ProvisioningEntityResolver(ctx.permissionRepository);\n this.roleResolver = new ProvisioningEntityResolver(ctx.roleRepository);\n\n this.permissionJunction = new ProvisioningJunctionSynchronizer({\n repository: ctx.robotPermissionRepository,\n ownerKey: 'robot_id',\n ownerRealmKey: 'robot_realm_id',\n });\n this.roleJunction = new ProvisioningJunctionSynchronizer({\n repository: ctx.robotRoleRepository,\n ownerKey: 'robot_id',\n ownerRealmKey: 'robot_realm_id',\n });\n }\n\n async synchronize(input: RobotProvisioningEntity): Promise<RobotProvisioningEntity> {\n const strategy = normalizeEntityProvisioningStrategy(input.strategy);\n\n let attributes = await this.robotRepository.findOneBy({\n name: input.attributes.name,\n ...(input.attributes.realm_id ? { realm_id: input.attributes.realm_id } : { realm_id: null }),\n });\n\n if (strategy.type === ProvisioningEntityStrategyType.ABSENT) {\n if (attributes) {\n await this.robotRepository.remove(attributes);\n }\n return {\n ...input,\n attributes: attributes || input.attributes, \n };\n }\n\n if (attributes) {\n switch (strategy.type) {\n case ProvisioningEntityStrategyType.MERGE:\n attributes = this.robotRepository.merge(\n attributes,\n strategy.attributes ?\n pickRecord(input.attributes, strategy.attributes) :\n input.attributes,\n );\n\n attributes = await this.robotRepository.save(attributes);\n break;\n case ProvisioningEntityStrategyType.REPLACE:\n input.attributes.id = attributes.id;\n attributes = await this.robotRepository.save(this.robotRepository.create(input.attributes));\n break;\n }\n } else {\n attributes = await this.robotRepository.save(this.robotRepository.create(input.attributes));\n }\n\n // Permissions (Global & Realm)\n const permissions = [\n ...await this.permissionResolver.resolveGlobal(\n input.relations && input.relations.globalPermissions,\n ),\n ...(attributes.realm_id ?\n await this.permissionResolver.resolveRealm(\n input.relations && input.relations.realmPermissions,\n attributes.realm_id,\n ) :\n []),\n ];\n\n if (permissions.length > 0) {\n await this.permissionJunction.synchronize(\n attributes,\n permissions,\n 'permission_id',\n 'permission_realm_id',\n );\n }\n\n // Roles (Global & Realm)\n const roles = [\n ...await this.roleResolver.resolveGlobal(\n input.relations && input.relations.globalRoles,\n ),\n ...(attributes.realm_id ?\n await this.roleResolver.resolveRealm(\n input.relations && input.relations.realmRoles,\n attributes.realm_id,\n ) :\n []),\n ];\n\n if (roles.length > 0) {\n await this.roleJunction.synchronize(\n attributes,\n roles,\n 'role_id',\n 'role_realm_id',\n );\n }\n\n return {\n ...input,\n attributes,\n };\n }\n}\n"],"mappings":";;;;;;;;AAsBA,IAAaM,gCAAb,cAAmDH,6BAAAA;CACrCI;CAEAC;CAEAC;CAEAC;CAEAC;CAEV,YAAYC,KAA2C;AACnD,SAAK;AAEL,OAAKL,kBAAkBK,IAAIL;AAE3B,OAAKC,qBAAqB,IAAIJ,2BAA2BQ,IAAIC,qBAAoB;AACjF,OAAKJ,eAAe,IAAIL,2BAA2BQ,IAAIE,eAAc;AAErE,OAAKJ,qBAAqB,IAAIL,iCAAiC;GAC3DU,YAAYH,IAAII;GAChBC,UAAU;GACVC,eAAe;GACnB,CAAA;AACA,OAAKP,eAAe,IAAIN,iCAAiC;GACrDU,YAAYH,IAAIO;GAChBF,UAAU;GACVC,eAAe;GACnB,CAAA;;CAGJ,MAAME,YAAYC,OAAkE;EAChF,MAAMC,WAAWpB,oCAAoCmB,MAAMC,SAAQ;EAEnE,IAAIC,aAAa,MAAM,KAAKhB,gBAAgBiB,UAAU;GAClDC,MAAMJ,MAAME,WAAWE;GACvB,GAAIJ,MAAME,WAAWG,WAAW,EAAEA,UAAUL,MAAME,WAAWG,UAAS,GAAI,EAAEA,UAAU,MAAM;GAChG,CAAA;AAEA,MAAIJ,SAASK,SAAS1B,+BAA+B2B,QAAQ;AACzD,OAAIL,WACA,OAAM,KAAKhB,gBAAgBsB,OAAON,WAAAA;AAEtC,UAAO;IACH,GAAGF;IACHE,YAAYA,cAAcF,MAAME;IACpC;;AAGJ,MAAIA,WACA,SAAQD,SAASK,MAAjB;GACI,KAAK1B,+BAA+B6B;AAChCP,iBAAa,KAAKhB,gBAAgBwB,MAC9BR,YACAD,SAASC,aACLvB,WAAWqB,MAAME,YAAYD,SAASC,WAAU,GAChDF,MAAME,WAAU;AAGxBA,iBAAa,MAAM,KAAKhB,gBAAgByB,KAAKT,WAAAA;AAC7C;GACJ,KAAKtB,+BAA+BgC;AAChCZ,UAAME,WAAWW,KAAKX,WAAWW;AACjCX,iBAAa,MAAM,KAAKhB,gBAAgByB,KAAK,KAAKzB,gBAAgB4B,OAAOd,MAAME,WAAU,CAAA;AACzF;;MAGRA,cAAa,MAAM,KAAKhB,gBAAgByB,KAAK,KAAKzB,gBAAgB4B,OAAOd,MAAME,WAAU,CAAA;EAI7F,MAAMa,cAAc,CAAA,GACb,MAAM,KAAK5B,mBAAmB6B,cAC7BhB,MAAMiB,aAAajB,MAAMiB,UAAUC,kBAAiB,EAAA,GAEpDhB,WAAWG,WACX,MAAM,KAAKlB,mBAAmBgC,aAC1BnB,MAAMiB,aAAajB,MAAMiB,UAAUG,kBACnClB,WAAWG,SAAQ,GAEvB,EAAE,CACT;AAED,MAAIU,YAAYM,SAAS,EACrB,OAAM,KAAKhC,mBAAmBU,YAC1BG,YACAa,aACA,iBACA,sBAAA;EAKR,MAAMO,QAAQ,CAAA,GACP,MAAM,KAAKlC,aAAa4B,cACvBhB,MAAMiB,aAAajB,MAAMiB,UAAUM,YAAW,EAAA,GAE9CrB,WAAWG,WACX,MAAM,KAAKjB,aAAa+B,aACpBnB,MAAMiB,aAAajB,MAAMiB,UAAUO,YACnCtB,WAAWG,SAAQ,GAEvB,EAAE,CACT;AAED,MAAIiB,MAAMD,SAAS,EACf,OAAM,KAAK/B,aAAaS,YACpBG,YACAoB,OACA,WACA,gBAAA;AAIR,SAAO;GACH,GAAGtB;GACHE;GACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|