@authup/server-core 1.0.0-beta.36 → 1.0.0-beta.38
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.d.ts +0 -1
- package/dist/adapters/database/domains/client/index.d.ts.map +1 -1
- package/dist/adapters/database/domains/client/index.mjs +3 -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 +86 -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.d.ts +0 -1
- package/dist/adapters/database/domains/robot/index.d.ts.map +1 -1
- package/dist/adapters/database/domains/robot/index.mjs +3 -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.d.ts +0 -6
- package/dist/adapters/database/domains/role/repository.d.ts.map +1 -1
- package/dist/adapters/database/domains/role/repository.mjs +26 -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.d.ts +1 -5
- package/dist/adapters/database/domains/user/repository.d.ts.map +1 -1
- package/dist/adapters/database/domains/user/repository.mjs +27 -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.d.ts.map +1 -1
- package/dist/adapters/database/extra-attribute-repository/tree/repository.mjs +148 -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 +68 -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/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.d.ts.map +1 -1
- package/dist/adapters/http/controllers/workflows/authorize/module.mjs +136 -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/bindings.d.ts +17 -0
- package/dist/app/modules/database/repositories/bindings.d.ts.map +1 -0
- package/dist/app/modules/database/repositories/bindings.mjs +40 -0
- package/dist/app/modules/database/repositories/bindings.mjs.map +1 -0
- package/dist/app/modules/database/repositories/client/index.mjs +2 -0
- package/dist/app/modules/database/repositories/client/repository.d.ts +4 -1
- package/dist/app/modules/database/repositories/client/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/client/repository.mjs +160 -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.d.ts +4 -1
- package/dist/app/modules/database/repositories/robot/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/robot/repository.mjs +154 -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.d.ts +3 -0
- package/dist/app/modules/database/repositories/role/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/role/repository.mjs +122 -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.d.ts +4 -1
- package/dist/app/modules/database/repositories/user/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/user/repository.mjs +195 -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.d.ts +1 -2
- package/dist/app/modules/http/modules/controller.d.ts.map +1 -1
- package/dist/app/modules/http/modules/controller.mjs +502 -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.d.ts.map +1 -1
- package/dist/app/modules/http/modules/middleware.mjs +107 -0
- package/dist/app/modules/http/modules/middleware.mjs.map +1 -0
- package/dist/app/modules/identity/constants.d.ts +3 -1
- package/dist/app/modules/identity/constants.d.ts.map +1 -1
- package/dist/app/modules/identity/constants.mjs +13 -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.d.ts.map +1 -1
- package/dist/app/modules/identity/module.mjs +115 -0
- package/dist/app/modules/identity/module.mjs.map +1 -0
- package/dist/app/modules/identity/repositories/client.d.ts +2 -2
- package/dist/app/modules/identity/repositories/client.d.ts.map +1 -1
- 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.d.ts +2 -2
- package/dist/app/modules/identity/repositories/robot.d.ts.map +1 -1
- 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.d.ts.map +1 -1
- package/dist/app/modules/oauth2/module.mjs +116 -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.d.ts.map +1 -1
- package/dist/app/modules/provisioning/module.mjs +175 -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.d.ts.map +1 -1
- package/dist/app/modules/provisioning/sources/default/module.mjs +306 -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.d.ts.map +1 -1
- package/dist/core/entities/client/service.mjs +179 -0
- package/dist/core/entities/client/service.mjs.map +1 -0
- package/dist/core/entities/client/types.d.ts +4 -1
- package/dist/core/entities/client/types.d.ts.map +1 -1
- 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.d.ts.map +1 -1
- package/dist/core/entities/client-scope/service.mjs +69 -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.d.ts.map +1 -1
- package/dist/core/entities/identity-provider-role-mapping/service.mjs +95 -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.d.ts.map +1 -1
- package/dist/core/entities/robot/service.mjs +186 -0
- package/dist/core/entities/robot/service.mjs.map +1 -0
- package/dist/core/entities/robot/types.d.ts +4 -1
- package/dist/core/entities/robot/types.d.ts.map +1 -1
- 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.d.ts +3 -0
- package/dist/core/entities/role/types.d.ts.map +1 -1
- 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.d.ts +2 -0
- package/dist/core/entities/role-attribute/service.d.ts.map +1 -1
- package/dist/core/entities/role-attribute/service.mjs +106 -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.d.ts.map +1 -1
- package/dist/core/entities/user/service.mjs +174 -0
- package/dist/core/entities/user/service.mjs.map +1 -0
- package/dist/core/entities/user/types.d.ts +4 -1
- package/dist/core/entities/user/types.d.ts.map +1 -1
- 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.d.ts +3 -1
- package/dist/core/entities/user-attribute/service.d.ts.map +1 -1
- package/dist/core/entities/user-attribute/service.mjs +119 -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.d.ts +1 -0
- package/dist/core/identity/index.d.ts.map +1 -1
- package/dist/core/identity/index.mjs +28 -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.d.ts +12 -6
- package/dist/core/identity/permission/module.d.ts.map +1 -1
- package/dist/core/identity/permission/module.mjs +82 -0
- package/dist/core/identity/permission/module.mjs.map +1 -0
- package/dist/core/identity/permission/types.d.ts +11 -13
- package/dist/core/identity/permission/types.d.ts.map +1 -1
- 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/identity/role/index.d.ts +3 -0
- package/dist/core/identity/role/index.d.ts.map +1 -0
- package/dist/core/identity/role/index.mjs +2 -0
- package/dist/core/identity/role/module.d.ts +15 -0
- package/dist/core/identity/role/module.d.ts.map +1 -0
- package/dist/core/identity/role/module.mjs +27 -0
- package/dist/core/identity/role/module.mjs.map +1 -0
- package/dist/core/identity/role/types.d.ts +14 -0
- package/dist/core/identity/role/types.d.ts.map +1 -0
- package/dist/core/identity/role/types.mjs +1 -0
- package/dist/core/index.mjs +105 -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.d.ts +4 -1
- package/dist/core/oauth2/token/issuer/access/module.d.ts.map +1 -1
- package/dist/core/oauth2/token/issuer/access/module.mjs +50 -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.d.ts +8 -0
- package/dist/core/provisioning/entities/permission/types.d.ts.map +1 -1
- 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.d.ts +5 -1
- package/dist/core/provisioning/synchronizer/permission/module.d.ts.map +1 -1
- package/dist/core/provisioning/synchronizer/permission/module.mjs +70 -0
- package/dist/core/provisioning/synchronizer/permission/module.mjs.map +1 -0
- package/dist/core/provisioning/synchronizer/permission/types.d.ts +4 -1
- package/dist/core/provisioning/synchronizer/permission/types.d.ts.map +1 -1
- 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.d.ts.map +1 -1
- package/dist/core/provisioning/synchronizer/policy/module.mjs +67 -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 +207 -2
- package/dist/path.d.ts +2 -1
- package/dist/path.d.ts.map +1 -1
- package/dist/path.mjs +13 -0
- package/dist/path.mjs.map +1 -0
- package/dist/swagger.json +14 -0
- package/dist/ui/client/.vite/ssr-manifest.json +2777 -0
- package/dist/ui/client/assets/fa-brands-400-BP5tdqmh.woff2 +0 -0
- package/dist/ui/client/assets/fa-regular-400-nyy7hhHF.woff2 +0 -0
- package/dist/ui/client/assets/fa-solid-900-DRAAbZTg.woff2 +0 -0
- package/dist/ui/client/assets/index-AHa03lX_.js +41 -0
- package/dist/ui/client/assets/index-BVfayRKv.css +1 -0
- package/dist/ui/client/index.html +22 -0
- package/dist/ui/server/assets/multipart-parser-pHQi-kA6.js +166 -0
- package/dist/ui/server/server.js +79102 -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 +35 -18
- package/dist/adapters/database/domains/client/repository.d.ts +0 -13
- package/dist/adapters/database/domains/client/repository.d.ts.map +0 -1
- package/dist/adapters/database/domains/robot/repository.d.ts +0 -13
- package/dist/adapters/database/domains/robot/repository.d.ts.map +0 -1
- package/dist/adapters/http/controllers/entities/user-attribute/utils/authorization.d.ts +0 -4
- package/dist/adapters/http/controllers/entities/user-attribute/utils/authorization.d.ts.map +0 -1
- 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,67 @@
|
|
|
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
|
+
const mergeData = {
|
|
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
|
+
if (typeof input.attributes.invert !== "undefined") mergeData.invert = input.attributes.invert;
|
|
24
|
+
entity = this.repository.merge(entity, mergeData);
|
|
25
|
+
await this.repository.saveWithEA(entity, input.extraAttributes);
|
|
26
|
+
} else {
|
|
27
|
+
entity = this.repository.create(input.attributes);
|
|
28
|
+
await this.repository.saveWithEA(entity, input.extraAttributes);
|
|
29
|
+
}
|
|
30
|
+
await this.synchronizeChildren(entity.id, input.children || []);
|
|
31
|
+
return {
|
|
32
|
+
...input,
|
|
33
|
+
attributes: entity
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
async synchronizeChildren(parentId, children = []) {
|
|
37
|
+
const declaredNames = children.map((c) => c.attributes.name);
|
|
38
|
+
await children.reduce(async (prev, child) => {
|
|
39
|
+
await prev;
|
|
40
|
+
child.attributes.parent_id = parentId;
|
|
41
|
+
child.attributes.parent = { id: parentId };
|
|
42
|
+
await this.synchronize(child);
|
|
43
|
+
}, Promise.resolve());
|
|
44
|
+
await this.cleanupStaleChildren(parentId, declaredNames);
|
|
45
|
+
}
|
|
46
|
+
async cleanupStaleChildren(parentId, declaredNames) {
|
|
47
|
+
await (await this.repository.findManyBy({ parent_id: parentId })).filter((child) => !declaredNames.includes(child.name)).reduce(async (prev, child) => {
|
|
48
|
+
await prev;
|
|
49
|
+
await this.cleanupStaleChild(child);
|
|
50
|
+
}, Promise.resolve());
|
|
51
|
+
}
|
|
52
|
+
async cleanupStaleChild(child) {
|
|
53
|
+
if ((await this.permissionPolicyRepository.findManyBy({ policy_id: child.id })).length === 0) await this.repository.deleteFromTree(child);
|
|
54
|
+
else {
|
|
55
|
+
const detached = this.repository.merge(child, {
|
|
56
|
+
parent_id: null,
|
|
57
|
+
parent: null,
|
|
58
|
+
built_in: false
|
|
59
|
+
});
|
|
60
|
+
await this.repository.saveWithEA(detached);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
//#endregion
|
|
65
|
+
export { PolicyProvisioningSynchronizer };
|
|
66
|
+
|
|
67
|
+
//# 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","mergeData","type","built_in","parent_id","parent","invert","merge","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 // Only assign `invert` when the source declares it explicitly.\n // TypeORM's `merge` is a plain assign and would otherwise clobber\n // an existing flag with `undefined` (turning `invert: true` into\n // `null`/`false` on every reprovisioning pass).\n const mergeData: Partial<Policy> = {\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 if (typeof input.attributes.invert !== 'undefined') {\n mergeData.invert = input.attributes.invert;\n }\n entity = this.repository.merge(entity, mergeData);\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;GAKR,MAAMK,YAA6B;IAC/BC,MAAMP,MAAMI,WAAWG;IACvBC,UAAUR,MAAMI,WAAWI;IAC3BC,WAAWT,MAAMI,WAAWK;IAC5BC,QAAQV,MAAMI,WAAWM;IAC7B;AACA,OAAI,OAAOV,MAAMI,WAAWO,WAAW,YACnCL,WAAUK,SAASX,MAAMI,WAAWO;AAExCV,YAAS,KAAKL,WAAWgB,MAAMX,QAAQK,UAAAA;AACvC,SAAM,KAAKV,WAAWiB,WAAWZ,QAAQD,MAAMc,gBAAe;SAC3D;AACHb,YAAS,KAAKL,WAAWmB,OAAOf,MAAMI,WAAU;AAChD,SAAM,KAAKR,WAAWiB,WAAWZ,QAAQD,MAAMc,gBAAe;;AAGlE,QAAM,KAAKE,oBAAoBf,OAAOgB,IAAIjB,MAAMkB,YAAY,EAAE,CAAA;AAE9D,SAAO;GACH,GAAGlB;GACHI,YAAYH;GAChB;;CAGJ,MAAce,oBACVG,UACAD,WAAuC,EAAE,EAC5B;EACb,MAAME,gBAAgBF,SAASG,KAAKC,MAAMA,EAAElB,WAAWD,KAAI;AAE3D,QAAMe,SAASK,OAAO,OAAOC,MAAMC,UAAAA;AAC/B,SAAMD;AACNC,SAAMrB,WAAWK,YAAYU;AAC7BM,SAAMrB,WAAWM,SAAS,EAAEO,IAAIE,UAAS;AACzC,SAAM,KAAKpB,YAAY0B,MAAAA;KACxBC,QAAQC,SAAO,CAAA;AAElB,QAAM,KAAKC,qBAAqBT,UAAUC,cAAAA;;CAG9C,MAAcQ,qBACVT,UACAC,eACa;AAOb,SAJsBS,MAFS,KAAKjC,WAAWkC,WAAW,EAAErB,WAAWU,UAAS,CAAA,EAEzCa,QAClCP,UAAU,CAACL,cAAca,SAASR,MAAMtB,KAAI,CAG3C4B,CAAcR,OAAO,OAAOC,MAAMC,UAAAA;AACpC,SAAMD;AACN,SAAM,KAAKU,kBAAkBT,MAAAA;KAC9BC,QAAQC,SAAO,CAAA;;CAGtB,MAAcO,kBAAkBT,OAA8B;AAG1D,OAAIU,MAF+B,KAAKtC,2BAA2BiC,WAAW,EAAEM,WAAWX,MAAMR,IAAG,CAAA,EAE3EoB,WAAW,EAChC,OAAM,KAAKzC,WAAW0C,eAAeb,MAAAA;OAClC;GACH,MAAMc,WAAW,KAAK3C,WAAWgB,MAAMa,OAAO;IAC1ChB,WAAW;IACXC,QAAQ;IACRF,UAAU;IACd,CAAA;AACA,SAAM,KAAKZ,WAAWiB,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 {};
|
|
@@ -0,0 +1,93 @@
|
|
|
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/role/module.ts
|
|
9
|
+
var RoleProvisioningSynchronizer = class extends BaseProvisioningSynchronizer {
|
|
10
|
+
repository;
|
|
11
|
+
policyRepository;
|
|
12
|
+
permissionResolver;
|
|
13
|
+
permissionJunction;
|
|
14
|
+
constructor(ctx) {
|
|
15
|
+
super();
|
|
16
|
+
this.repository = ctx.repository;
|
|
17
|
+
this.policyRepository = ctx.policyRepository;
|
|
18
|
+
this.permissionResolver = new ProvisioningEntityResolver(ctx.permissionRepository);
|
|
19
|
+
this.permissionJunction = new ProvisioningJunctionSynchronizer({
|
|
20
|
+
repository: ctx.rolePermissionRepository,
|
|
21
|
+
ownerKey: "role_id",
|
|
22
|
+
ownerRealmKey: "role_realm_id"
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
async synchronize(input) {
|
|
26
|
+
const strategy = normalizeEntityProvisioningStrategy(input.strategy);
|
|
27
|
+
let attributes = await this.repository.findOneBy({
|
|
28
|
+
name: input.attributes.name,
|
|
29
|
+
realm_id: input.attributes.realm_id || null,
|
|
30
|
+
client_id: input.attributes.client_id || null
|
|
31
|
+
});
|
|
32
|
+
if (strategy.type === ProvisioningEntityStrategyType.ABSENT) {
|
|
33
|
+
if (attributes) await this.repository.remove(attributes);
|
|
34
|
+
return {
|
|
35
|
+
...input,
|
|
36
|
+
attributes: attributes || input.attributes
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
if (attributes) switch (strategy.type) {
|
|
40
|
+
case ProvisioningEntityStrategyType.MERGE:
|
|
41
|
+
attributes = this.repository.merge(attributes, strategy.attributes ? pickRecord(input.attributes, strategy.attributes) : input.attributes);
|
|
42
|
+
attributes = await this.repository.save(attributes);
|
|
43
|
+
break;
|
|
44
|
+
case ProvisioningEntityStrategyType.REPLACE:
|
|
45
|
+
input.attributes.id = attributes.id;
|
|
46
|
+
attributes = await this.repository.save(this.repository.create(input.attributes));
|
|
47
|
+
break;
|
|
48
|
+
}
|
|
49
|
+
else attributes = await this.repository.save(this.repository.create(input.attributes));
|
|
50
|
+
if (!input.relations) return {
|
|
51
|
+
...input,
|
|
52
|
+
attributes
|
|
53
|
+
};
|
|
54
|
+
let globalPermissions = await this.permissionResolver.resolveGlobal(input.relations.globalPermissions);
|
|
55
|
+
if (input.relations.globalPermissionsExclude && input.relations.globalPermissionsExclude.length > 0) {
|
|
56
|
+
const excludeSet = new Set(input.relations.globalPermissionsExclude);
|
|
57
|
+
globalPermissions = globalPermissions.filter((p) => !excludeSet.has(p.name));
|
|
58
|
+
}
|
|
59
|
+
const realmPermissions = attributes.realm_id ? await this.permissionResolver.resolveRealm(input.relations.realmPermissions, attributes.realm_id) : [];
|
|
60
|
+
const permissions = [...globalPermissions, ...realmPermissions];
|
|
61
|
+
if (permissions.length > 0) {
|
|
62
|
+
const policyMap = await this.resolvePolicyMap(input, attributes.name);
|
|
63
|
+
if (policyMap) for (const permission of permissions) {
|
|
64
|
+
const policyId = policyMap.overrides.get(permission.name) ?? policyMap.defaultPolicyId;
|
|
65
|
+
await this.permissionJunction.synchronize(attributes, [permission], "permission_id", "permission_realm_id", policyId ? { policy_id: policyId } : void 0);
|
|
66
|
+
}
|
|
67
|
+
else await this.permissionJunction.synchronize(attributes, permissions, "permission_id", "permission_realm_id");
|
|
68
|
+
}
|
|
69
|
+
return {
|
|
70
|
+
...input,
|
|
71
|
+
attributes
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
async resolvePolicyMap(input, roleName) {
|
|
75
|
+
if (!input.relations?.globalPermissionsPolicyName || !this.policyRepository) return;
|
|
76
|
+
const defaultPolicy = await this.policyRepository.findOneByName(input.relations.globalPermissionsPolicyName);
|
|
77
|
+
if (!defaultPolicy) throw new Error(`Provisioning: policy '${input.relations.globalPermissionsPolicyName}' not found for role '${roleName}'.`);
|
|
78
|
+
const overrides = /* @__PURE__ */ new Map();
|
|
79
|
+
if (input.relations.globalPermissionsPolicyOverrides) for (const [policyName, permissionNames] of Object.entries(input.relations.globalPermissionsPolicyOverrides)) {
|
|
80
|
+
const policy = await this.policyRepository.findOneByName(policyName);
|
|
81
|
+
if (!policy) throw new Error(`Provisioning: override policy '${policyName}' not found for role '${roleName}'.`);
|
|
82
|
+
for (const permName of permissionNames) overrides.set(permName, policy.id);
|
|
83
|
+
}
|
|
84
|
+
return {
|
|
85
|
+
defaultPolicyId: defaultPolicy.id,
|
|
86
|
+
overrides
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
//#endregion
|
|
91
|
+
export { RoleProvisioningSynchronizer };
|
|
92
|
+
|
|
93
|
+
//# sourceMappingURL=module.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.mjs","names":["pickRecord","ProvisioningEntityStrategyType","normalizeEntityProvisioningStrategy","BaseProvisioningSynchronizer","ProvisioningEntityResolver","ProvisioningJunctionSynchronizer","RoleProvisioningSynchronizer","repository","policyRepository","permissionResolver","permissionJunction","ctx","permissionRepository","rolePermissionRepository","ownerKey","ownerRealmKey","synchronize","input","strategy","attributes","findOneBy","name","realm_id","client_id","type","ABSENT","remove","MERGE","merge","save","REPLACE","id","create","relations","globalPermissions","resolveGlobal","globalPermissionsExclude","length","excludeSet","Set","filter","p","has","realmPermissions","resolveRealm","permissions","policyMap","resolvePolicyMap","permission","policyId","overrides","get","defaultPolicyId","policy_id","undefined","roleName","globalPermissionsPolicyName","defaultPolicy","findOneByName","Error","Map","globalPermissionsPolicyOverrides","policyName","permissionNames","Object","entries","policy","permName","set"],"sources":["../../../../../src/core/provisioning/synchronizer/role/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 { Permission, RolePermission } from '@authup/core-kit';\nimport type { IPolicyRepository, IRoleRepository } from '../../../entities/index.ts';\nimport type { RoleProvisioningEntity } from '../../entities/role/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 { RoleProvisioningSynchronizerContext } from './types.ts';\n\nexport class RoleProvisioningSynchronizer extends BaseProvisioningSynchronizer<RoleProvisioningEntity> {\n protected repository : IRoleRepository;\n\n protected policyRepository?: IPolicyRepository;\n\n protected permissionResolver : ProvisioningEntityResolver<Permission>;\n\n protected permissionJunction: ProvisioningJunctionSynchronizer<RolePermission>;\n\n constructor(ctx: RoleProvisioningSynchronizerContext) {\n super();\n\n this.repository = ctx.repository;\n this.policyRepository = ctx.policyRepository;\n this.permissionResolver = new ProvisioningEntityResolver(ctx.permissionRepository);\n this.permissionJunction = new ProvisioningJunctionSynchronizer({\n repository: ctx.rolePermissionRepository,\n ownerKey: 'role_id',\n ownerRealmKey: 'role_realm_id',\n });\n }\n\n async synchronize(input: RoleProvisioningEntity): Promise<RoleProvisioningEntity> {\n const strategy = normalizeEntityProvisioningStrategy(input.strategy);\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 if (!input.relations) {\n return {\n ...input,\n attributes,\n };\n }\n\n let globalPermissions = await this.permissionResolver.resolveGlobal(input.relations.globalPermissions);\n\n if (input.relations.globalPermissionsExclude && input.relations.globalPermissionsExclude.length > 0) {\n const excludeSet = new Set(input.relations.globalPermissionsExclude);\n globalPermissions = globalPermissions.filter((p) => !excludeSet.has(p.name));\n }\n\n const realmPermissions = attributes.realm_id ?\n await this.permissionResolver.resolveRealm(input.relations.realmPermissions, attributes.realm_id) :\n [];\n\n const permissions = [\n ...globalPermissions,\n ...realmPermissions,\n ];\n\n if (permissions.length > 0) {\n const policyMap = await this.resolvePolicyMap(input, attributes.name);\n\n if (policyMap) {\n for (const permission of permissions) {\n const policyId = policyMap.overrides.get(permission.name) ?? policyMap.defaultPolicyId;\n await this.permissionJunction.synchronize(\n attributes,\n [permission],\n 'permission_id',\n 'permission_realm_id',\n policyId ? { policy_id: policyId } : undefined,\n );\n }\n } else {\n await this.permissionJunction.synchronize(\n attributes,\n permissions,\n 'permission_id',\n 'permission_realm_id',\n );\n }\n }\n\n return {\n ...input,\n attributes,\n };\n }\n\n private async resolvePolicyMap(\n input: RoleProvisioningEntity,\n roleName: string | undefined,\n ): Promise<{\n defaultPolicyId: string | undefined,\n overrides: Map<string, string> \n } | undefined> {\n if (!input.relations?.globalPermissionsPolicyName || !this.policyRepository) {\n return undefined;\n }\n\n const defaultPolicy = await this.policyRepository.findOneByName(input.relations.globalPermissionsPolicyName);\n if (!defaultPolicy) {\n throw new Error(\n `Provisioning: policy '${input.relations.globalPermissionsPolicyName}' not found for role '${roleName}'.`,\n );\n }\n\n const overrides = new Map<string, string>();\n\n if (input.relations.globalPermissionsPolicyOverrides) {\n for (const [policyName, permissionNames] of Object.entries(input.relations.globalPermissionsPolicyOverrides)) {\n const policy = await this.policyRepository.findOneByName(policyName);\n if (!policy) {\n throw new Error(\n `Provisioning: override policy '${policyName}' not found for role '${roleName}'.`,\n );\n }\n for (const permName of permissionNames) {\n overrides.set(permName, policy.id);\n }\n }\n }\n\n return {\n defaultPolicyId: defaultPolicy.id,\n overrides,\n };\n }\n}\n"],"mappings":";;;;;;;;AAiBA,IAAaM,+BAAb,cAAkDH,6BAAAA;CACpCI;CAEAC;CAEAC;CAEAC;CAEV,YAAYC,KAA0C;AAClD,SAAK;AAEL,OAAKJ,aAAaI,IAAIJ;AACtB,OAAKC,mBAAmBG,IAAIH;AAC5B,OAAKC,qBAAqB,IAAIL,2BAA2BO,IAAIC,qBAAoB;AACjF,OAAKF,qBAAqB,IAAIL,iCAAiC;GAC3DE,YAAYI,IAAIE;GAChBC,UAAU;GACVC,eAAe;GACnB,CAAA;;CAGJ,MAAMC,YAAYC,OAAgE;EAC9E,MAAMC,WAAWhB,oCAAoCe,MAAMC,SAAQ;EACnE,IAAIC,aAAa,MAAM,KAAKZ,WAAWa,UAAU;GAC7CC,MAAMJ,MAAME,WAAWE;GACvBC,UAAUL,MAAME,WAAWG,YAAY;GACvCC,WAAWN,MAAME,WAAWI,aAAa;GAC7C,CAAA;AAEA,MAAIL,SAASM,SAASvB,+BAA+BwB,QAAQ;AACzD,OAAIN,WACA,OAAM,KAAKZ,WAAWmB,OAAOP,WAAAA;AAEjC,UAAO;IACH,GAAGF;IACHE,YAAYA,cAAcF,MAAME;IACpC;;AAGJ,MAAIA,WACA,SAAQD,SAASM,MAAjB;GACI,KAAKvB,+BAA+B0B;AAChCR,iBAAa,KAAKZ,WAAWqB,MACzBT,YACAD,SAASC,aACLnB,WAAWiB,MAAME,YAAYD,SAASC,WAAU,GAChDF,MAAME,WAAU;AAGxBA,iBAAa,MAAM,KAAKZ,WAAWsB,KAAKV,WAAAA;AACxC;GACJ,KAAKlB,+BAA+B6B;AAChCb,UAAME,WAAWY,KAAKZ,WAAWY;AACjCZ,iBAAa,MAAM,KAAKZ,WAAWsB,KAAK,KAAKtB,WAAWyB,OAAOf,MAAME,WAAU,CAAA;AAC/E;;MAGRA,cAAa,MAAM,KAAKZ,WAAWsB,KAAK,KAAKtB,WAAWyB,OAAOf,MAAME,WAAU,CAAA;AAGnF,MAAI,CAACF,MAAMgB,UACP,QAAO;GACH,GAAGhB;GACHE;GACJ;EAGJ,IAAIe,oBAAoB,MAAM,KAAKzB,mBAAmB0B,cAAclB,MAAMgB,UAAUC,kBAAiB;AAErG,MAAIjB,MAAMgB,UAAUG,4BAA4BnB,MAAMgB,UAAUG,yBAAyBC,SAAS,GAAG;GACjG,MAAMC,aAAa,IAAIC,IAAItB,MAAMgB,UAAUG,yBAAwB;AACnEF,uBAAoBA,kBAAkBM,QAAQC,MAAM,CAACH,WAAWI,IAAID,EAAEpB,KAAI,CAAA;;EAG9E,MAAMsB,mBAAmBxB,WAAWG,WAChC,MAAM,KAAKb,mBAAmBmC,aAAa3B,MAAMgB,UAAUU,kBAAkBxB,WAAWG,SAAQ,GAChG,EAAE;EAEN,MAAMuB,cAAc,CAAA,GACbX,mBAAAA,GACAS,iBACN;AAED,MAAIE,YAAYR,SAAS,GAAG;GACxB,MAAMS,YAAY,MAAM,KAAKC,iBAAiB9B,OAAOE,WAAWE,KAAI;AAEpE,OAAIyB,UACA,MAAK,MAAME,cAAcH,aAAa;IAClC,MAAMI,WAAWH,UAAUI,UAAUC,IAAIH,WAAW3B,KAAI,IAAKyB,UAAUM;AACvE,UAAM,KAAK1C,mBAAmBM,YAC1BG,YACA,CAAC6B,WAAW,EACZ,iBACA,uBACAC,WAAW,EAAEI,WAAWJ,UAAS,GAAIK,KAAAA,EAAAA;;OAI7C,OAAM,KAAK5C,mBAAmBM,YAC1BG,YACA0B,aACA,iBACA,sBAAA;;AAKZ,SAAO;GACH,GAAG5B;GACHE;GACJ;;CAGJ,MAAc4B,iBACV9B,OACAsC,UAIW;AACX,MAAI,CAACtC,MAAMgB,WAAWuB,+BAA+B,CAAC,KAAKhD,iBACvD;EAGJ,MAAMiD,gBAAgB,MAAM,KAAKjD,iBAAiBkD,cAAczC,MAAMgB,UAAUuB,4BAA2B;AAC3G,MAAI,CAACC,cACD,OAAM,IAAIE,MACN,yBAAyB1C,MAAMgB,UAAUuB,4BAA4B,wBAAwBD,SAAS,IAAG;EAIjH,MAAML,4BAAY,IAAIU,KAAAA;AAEtB,MAAI3C,MAAMgB,UAAU4B,iCAChB,MAAK,MAAM,CAACC,YAAYC,oBAAoBC,OAAOC,QAAQhD,MAAMgB,UAAU4B,iCAAgC,EAAG;GAC1G,MAAMK,SAAS,MAAM,KAAK1D,iBAAiBkD,cAAcI,WAAAA;AACzD,OAAI,CAACI,OACD,OAAM,IAAIP,MACN,kCAAkCG,WAAW,wBAAwBP,SAAS,IAAG;AAGzF,QAAK,MAAMY,YAAYJ,gBACnBb,WAAUkB,IAAID,UAAUD,OAAOnC,GAAE;;AAK7C,SAAO;GACHqB,iBAAiBK,cAAc1B;GAC/BmB;GACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { BaseProvisioningSynchronizer } from "../base.mjs";
|
|
2
|
+
//#region src/core/provisioning/synchronizer/root/module.ts
|
|
3
|
+
var GraphProvisioningSynchronizer = class extends BaseProvisioningSynchronizer {
|
|
4
|
+
policySynchronizer;
|
|
5
|
+
realmSynchronizer;
|
|
6
|
+
permissionSynchronizer;
|
|
7
|
+
roleSynchronizer;
|
|
8
|
+
scopeSynchronizer;
|
|
9
|
+
constructor(ctx) {
|
|
10
|
+
super();
|
|
11
|
+
this.policySynchronizer = ctx.policySynchronizer;
|
|
12
|
+
this.permissionSynchronizer = ctx.permissionSynchronizer;
|
|
13
|
+
this.realmSynchronizer = ctx.realmSynchronizer;
|
|
14
|
+
this.roleSynchronizer = ctx.roleSynchronizer;
|
|
15
|
+
this.scopeSynchronizer = ctx.scopeSynchronizer;
|
|
16
|
+
}
|
|
17
|
+
async synchronize(input) {
|
|
18
|
+
const output = {};
|
|
19
|
+
if (input.policies) output.policies = await this.policySynchronizer.synchronizeMany(input.policies);
|
|
20
|
+
if (input.permissions) output.permissions = await this.permissionSynchronizer.synchronizeMany(input.permissions);
|
|
21
|
+
if (input.roles) output.roles = await this.roleSynchronizer.synchronizeMany(input.roles);
|
|
22
|
+
if (input.scopes) output.scopes = await this.scopeSynchronizer.synchronizeMany(input.scopes);
|
|
23
|
+
if (input.realms) output.realms = await this.realmSynchronizer.synchronizeMany(input.realms);
|
|
24
|
+
return output;
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
//#endregion
|
|
28
|
+
export { GraphProvisioningSynchronizer };
|
|
29
|
+
|
|
30
|
+
//# sourceMappingURL=module.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.mjs","names":["BaseProvisioningSynchronizer","GraphProvisioningSynchronizer","policySynchronizer","realmSynchronizer","permissionSynchronizer","roleSynchronizer","scopeSynchronizer","ctx","synchronize","input","output","policies","synchronizeMany","permissions","roles","scopes","realms"],"sources":["../../../../../src/core/provisioning/synchronizer/root/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 PolicyProvisioningEntity,\n RealmProvisioningEntity,\n RoleProvisioningEntity,\n RootProvisioningEntity,\n ScopeProvisioningEntity,\n} from '../../entities/index.ts';\nimport type { PermissionProvisioningEntity } from '../../entities/permission/index.ts';\nimport type { IProvisioningSynchronizer } from '../../types.ts';\nimport { BaseProvisioningSynchronizer } from '../base.ts';\nimport type { RootProvisioningSynchronizerContext } from './types.ts';\n\nexport class GraphProvisioningSynchronizer extends BaseProvisioningSynchronizer<RootProvisioningEntity> {\n protected policySynchronizer: IProvisioningSynchronizer<PolicyProvisioningEntity>;\n\n protected realmSynchronizer: IProvisioningSynchronizer<RealmProvisioningEntity>;\n\n protected permissionSynchronizer : IProvisioningSynchronizer<PermissionProvisioningEntity>;\n\n protected roleSynchronizer: IProvisioningSynchronizer<RoleProvisioningEntity>;\n\n protected scopeSynchronizer: IProvisioningSynchronizer<ScopeProvisioningEntity>;\n\n constructor(ctx: RootProvisioningSynchronizerContext) {\n super();\n\n this.policySynchronizer = ctx.policySynchronizer;\n this.permissionSynchronizer = ctx.permissionSynchronizer;\n this.realmSynchronizer = ctx.realmSynchronizer;\n this.roleSynchronizer = ctx.roleSynchronizer;\n this.scopeSynchronizer = ctx.scopeSynchronizer;\n }\n\n async synchronize(input: RootProvisioningEntity): Promise<RootProvisioningEntity> {\n const output : RootProvisioningEntity = {};\n\n if (input.policies) {\n output.policies = await this.policySynchronizer.synchronizeMany(input.policies);\n }\n\n if (input.permissions) {\n output.permissions = await this.permissionSynchronizer.synchronizeMany(input.permissions);\n }\n\n if (input.roles) {\n output.roles = await this.roleSynchronizer.synchronizeMany(input.roles);\n }\n\n if (input.scopes) {\n output.scopes = await this.scopeSynchronizer.synchronizeMany(input.scopes);\n }\n\n if (input.realms) {\n output.realms = await this.realmSynchronizer.synchronizeMany(input.realms);\n }\n\n return output;\n }\n}\n"],"mappings":";;AAmBA,IAAaC,gCAAb,cAAmDD,6BAAAA;CACrCE;CAEAC;CAEAC;CAEAC;CAEAC;CAEV,YAAYC,KAA0C;AAClD,SAAK;AAEL,OAAKL,qBAAqBK,IAAIL;AAC9B,OAAKE,yBAAyBG,IAAIH;AAClC,OAAKD,oBAAoBI,IAAIJ;AAC7B,OAAKE,mBAAmBE,IAAIF;AAC5B,OAAKC,oBAAoBC,IAAID;;CAGjC,MAAME,YAAYC,OAAgE;EAC9E,MAAMC,SAAkC,EAAC;AAEzC,MAAID,MAAME,SACND,QAAOC,WAAW,MAAM,KAAKT,mBAAmBU,gBAAgBH,MAAME,SAAQ;AAGlF,MAAIF,MAAMI,YACNH,QAAOG,cAAc,MAAM,KAAKT,uBAAuBQ,gBAAgBH,MAAMI,YAAW;AAG5F,MAAIJ,MAAMK,MACNJ,QAAOI,QAAQ,MAAM,KAAKT,iBAAiBO,gBAAgBH,MAAMK,MAAK;AAG1E,MAAIL,MAAMM,OACNL,QAAOK,SAAS,MAAM,KAAKT,kBAAkBM,gBAAgBH,MAAMM,OAAM;AAG7E,MAAIN,MAAMO,OACNN,QAAOM,SAAS,MAAM,KAAKb,kBAAkBS,gBAAgBH,MAAMO,OAAM;AAG7E,SAAON"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,46 @@
|
|
|
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/scope/module.ts
|
|
7
|
+
var ScopeProvisioningSynchronizer = 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
|
+
});
|
|
19
|
+
if (strategy.type === ProvisioningEntityStrategyType.ABSENT) {
|
|
20
|
+
if (attributes) await this.repository.remove(attributes);
|
|
21
|
+
return {
|
|
22
|
+
...input,
|
|
23
|
+
attributes: attributes || input.attributes
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
if (attributes) switch (strategy.type) {
|
|
27
|
+
case ProvisioningEntityStrategyType.MERGE:
|
|
28
|
+
attributes = this.repository.merge(attributes, strategy.attributes ? pickRecord(input.attributes, strategy.attributes) : input.attributes);
|
|
29
|
+
attributes = await this.repository.save(attributes);
|
|
30
|
+
break;
|
|
31
|
+
case ProvisioningEntityStrategyType.REPLACE:
|
|
32
|
+
input.attributes.id = attributes.id;
|
|
33
|
+
attributes = await this.repository.save(this.repository.create(input.attributes));
|
|
34
|
+
break;
|
|
35
|
+
}
|
|
36
|
+
else attributes = await this.repository.save(this.repository.create(input.attributes));
|
|
37
|
+
return {
|
|
38
|
+
...input,
|
|
39
|
+
attributes
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
//#endregion
|
|
44
|
+
export { ScopeProvisioningSynchronizer };
|
|
45
|
+
|
|
46
|
+
//# sourceMappingURL=module.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.mjs","names":["pickRecord","ProvisioningEntityStrategyType","normalizeEntityProvisioningStrategy","BaseProvisioningSynchronizer","ScopeProvisioningSynchronizer","repository","ctx","synchronize","input","strategy","attributes","findOneBy","name","realm_id","type","ABSENT","remove","MERGE","merge","save","REPLACE","id","create"],"sources":["../../../../../src/core/provisioning/synchronizer/scope/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 { IScopeRepository } from '../../../entities/index.ts';\nimport type { ScopeProvisioningEntity } from '../../entities/index.ts';\nimport { ProvisioningEntityStrategyType, normalizeEntityProvisioningStrategy } from '../../strategy/index.ts';\nimport { BaseProvisioningSynchronizer } from '../base.ts';\nimport type { ScopeProvisioningSynchronizerContext } from './types.ts';\n\nexport class ScopeProvisioningSynchronizer extends BaseProvisioningSynchronizer<ScopeProvisioningEntity> {\n protected repository : IScopeRepository;\n\n constructor(ctx: ScopeProvisioningSynchronizerContext) {\n super();\n\n this.repository = ctx.repository;\n }\n\n async synchronize(input: ScopeProvisioningEntity): Promise<ScopeProvisioningEntity> {\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 });\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,gCAAb,cAAmDD,6BAAAA;CACrCE;CAEV,YAAYC,KAA2C;AACnD,SAAK;AAEL,OAAKD,aAAaC,IAAID;;CAG1B,MAAME,YAAYC,OAAkE;EAChF,MAAMC,WAAWP,oCAAoCM,MAAMC,SAAQ;EAEnE,IAAIC,aAAa,MAAM,KAAKL,WAAWM,UAAU;GAC7CC,MAAMJ,MAAME,WAAWE;GACvBC,UAAUL,MAAME,WAAWG,YAAY;GAC3C,CAAA;AAEA,MAAIJ,SAASK,SAASb,+BAA+Bc,QAAQ;AACzD,OAAIL,WACA,OAAM,KAAKL,WAAWW,OAAON,WAAAA;AAEjC,UAAO;IACH,GAAGF;IACHE,YAAYA,cAAcF,MAAME;IACpC;;AAGJ,MAAIA,WACA,SAAQD,SAASK,MAAjB;GACI,KAAKb,+BAA+BgB;AAChCP,iBAAa,KAAKL,WAAWa,MACzBR,YACAD,SAASC,aACLV,WAAWQ,MAAME,YAAYD,SAASC,WAAU,GAChDF,MAAME,WAAU;AAGxBA,iBAAa,MAAM,KAAKL,WAAWc,KAAKT,WAAAA;AACxC;GACJ,KAAKT,+BAA+BmB;AAChCZ,UAAME,WAAWW,KAAKX,WAAWW;AACjCX,iBAAa,MAAM,KAAKL,WAAWc,KAAK,KAAKd,WAAWiB,OAAOd,MAAME,WAAU,CAAA;AAC/E;;MAGRA,cAAa,MAAM,KAAKL,WAAWc,KAAK,KAAKd,WAAWiB,OAAOd,MAAME,WAAU,CAAA;AAGnF,SAAO;GACH,GAAGF;GACHE;GACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|