@authup/server-core 1.0.0-beta.36 → 1.0.0-beta.37
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapters/database/cache/index.mjs +2 -0
- package/dist/adapters/database/cache/module.mjs +48 -0
- package/dist/adapters/database/cache/module.mjs.map +1 -0
- package/dist/adapters/database/data-source/index.mjs +4 -0
- package/dist/adapters/database/data-source/options/index.mjs +2 -0
- package/dist/adapters/database/data-source/options/module.mjs +145 -0
- package/dist/adapters/database/data-source/options/module.mjs.map +1 -0
- package/dist/adapters/database/data-source/singleton.mjs +16 -0
- package/dist/adapters/database/data-source/singleton.mjs.map +1 -0
- package/dist/adapters/database/domains/client/entity.mjs +122 -0
- package/dist/adapters/database/domains/client/entity.mjs.map +1 -0
- package/dist/adapters/database/domains/client/index.mjs +4 -0
- package/dist/adapters/database/domains/client/repository.mjs +75 -0
- package/dist/adapters/database/domains/client/repository.mjs.map +1 -0
- package/dist/adapters/database/domains/client/subscriber.mjs +57 -0
- package/dist/adapters/database/domains/client/subscriber.mjs.map +1 -0
- package/dist/adapters/database/domains/client-permission/entity.mjs +80 -0
- package/dist/adapters/database/domains/client-permission/entity.mjs.map +1 -0
- package/dist/adapters/database/domains/client-permission/index.mjs +3 -0
- package/dist/adapters/database/domains/client-permission/subscriber.mjs +67 -0
- package/dist/adapters/database/domains/client-permission/subscriber.mjs.map +1 -0
- package/dist/adapters/database/domains/client-role/entity.mjs +67 -0
- package/dist/adapters/database/domains/client-role/entity.mjs.map +1 -0
- package/dist/adapters/database/domains/client-role/index.mjs +3 -0
- package/dist/adapters/database/domains/client-role/subscriber.mjs +67 -0
- package/dist/adapters/database/domains/client-role/subscriber.mjs.map +1 -0
- package/dist/adapters/database/domains/client-scope/entity.mjs +73 -0
- package/dist/adapters/database/domains/client-scope/entity.mjs.map +1 -0
- package/dist/adapters/database/domains/client-scope/index.mjs +3 -0
- package/dist/adapters/database/domains/client-scope/subscriber.mjs +54 -0
- package/dist/adapters/database/domains/client-scope/subscriber.mjs.map +1 -0
- package/dist/adapters/database/domains/constants.mjs +31 -0
- package/dist/adapters/database/domains/constants.mjs.map +1 -0
- package/dist/adapters/database/domains/identity-provider/entity.mjs +66 -0
- package/dist/adapters/database/domains/identity-provider/entity.mjs.map +1 -0
- package/dist/adapters/database/domains/identity-provider/index.mjs +4 -0
- package/dist/adapters/database/domains/identity-provider/repository.mjs +28 -0
- package/dist/adapters/database/domains/identity-provider/repository.mjs.map +1 -0
- package/dist/adapters/database/domains/identity-provider/subscriber.mjs +57 -0
- package/dist/adapters/database/domains/identity-provider/subscriber.mjs.map +1 -0
- package/dist/adapters/database/domains/identity-provider-account/entity.mjs +113 -0
- package/dist/adapters/database/domains/identity-provider-account/entity.mjs.map +1 -0
- package/dist/adapters/database/domains/identity-provider-account/index.mjs +3 -0
- package/dist/adapters/database/domains/identity-provider-account/subscriber.mjs +54 -0
- package/dist/adapters/database/domains/identity-provider-account/subscriber.mjs.map +1 -0
- package/dist/adapters/database/domains/identity-provider-attribute/entity.mjs +65 -0
- package/dist/adapters/database/domains/identity-provider-attribute/entity.mjs.map +1 -0
- package/dist/adapters/database/domains/identity-provider-attribute/index.mjs +3 -0
- package/dist/adapters/database/domains/identity-provider-attribute/subscriber.mjs +54 -0
- package/dist/adapters/database/domains/identity-provider-attribute/subscriber.mjs.map +1 -0
- package/dist/adapters/database/domains/identity-provider-attribute-mapping/entity.mjs +78 -0
- package/dist/adapters/database/domains/identity-provider-attribute-mapping/entity.mjs.map +1 -0
- package/dist/adapters/database/domains/identity-provider-attribute-mapping/index.mjs +2 -0
- package/dist/adapters/database/domains/identity-provider-permission-mapping/entity.mjs +88 -0
- package/dist/adapters/database/domains/identity-provider-permission-mapping/entity.mjs.map +1 -0
- package/dist/adapters/database/domains/identity-provider-permission-mapping/index.mjs +2 -0
- package/dist/adapters/database/domains/identity-provider-role-mapping/entity.mjs +88 -0
- package/dist/adapters/database/domains/identity-provider-role-mapping/entity.mjs.map +1 -0
- package/dist/adapters/database/domains/identity-provider-role-mapping/index.mjs +3 -0
- package/dist/adapters/database/domains/identity-provider-role-mapping/subscriber.mjs +63 -0
- package/dist/adapters/database/domains/identity-provider-role-mapping/subscriber.mjs.map +1 -0
- package/dist/adapters/database/domains/index.mjs +88 -0
- package/dist/adapters/database/domains/key/entity.mjs +80 -0
- package/dist/adapters/database/domains/key/entity.mjs.map +1 -0
- package/dist/adapters/database/domains/key/index.mjs +2 -0
- package/dist/adapters/database/domains/permission/entity.mjs +89 -0
- package/dist/adapters/database/domains/permission/entity.mjs.map +1 -0
- package/dist/adapters/database/domains/permission/index.mjs +3 -0
- package/dist/adapters/database/domains/permission/subscriber.mjs +66 -0
- package/dist/adapters/database/domains/permission/subscriber.mjs.map +1 -0
- package/dist/adapters/database/domains/permission-policy/entity.mjs +68 -0
- package/dist/adapters/database/domains/permission-policy/entity.mjs.map +1 -0
- package/dist/adapters/database/domains/permission-policy/index.mjs +2 -0
- package/dist/adapters/database/domains/policy/entity.mjs +90 -0
- package/dist/adapters/database/domains/policy/entity.mjs.map +1 -0
- package/dist/adapters/database/domains/policy/index.mjs +4 -0
- package/dist/adapters/database/domains/policy/repository.mjs +38 -0
- package/dist/adapters/database/domains/policy/repository.mjs.map +1 -0
- package/dist/adapters/database/domains/policy/subscriber.mjs +54 -0
- package/dist/adapters/database/domains/policy/subscriber.mjs.map +1 -0
- package/dist/adapters/database/domains/policy-attribute/entity.mjs +65 -0
- package/dist/adapters/database/domains/policy-attribute/entity.mjs.map +1 -0
- package/dist/adapters/database/domains/policy-attribute/index.mjs +3 -0
- package/dist/adapters/database/domains/policy-attribute/subscriber.mjs +63 -0
- package/dist/adapters/database/domains/policy-attribute/subscriber.mjs.map +1 -0
- package/dist/adapters/database/domains/realm/entity.mjs +47 -0
- package/dist/adapters/database/domains/realm/entity.mjs.map +1 -0
- package/dist/adapters/database/domains/realm/index.mjs +4 -0
- package/dist/adapters/database/domains/realm/repository.mjs +21 -0
- package/dist/adapters/database/domains/realm/repository.mjs.map +1 -0
- package/dist/adapters/database/domains/realm/subscriber.mjs +54 -0
- package/dist/adapters/database/domains/realm/subscriber.mjs.map +1 -0
- package/dist/adapters/database/domains/robot/entity.mjs +107 -0
- package/dist/adapters/database/domains/robot/entity.mjs.map +1 -0
- package/dist/adapters/database/domains/robot/index.mjs +4 -0
- package/dist/adapters/database/domains/robot/repository.mjs +75 -0
- package/dist/adapters/database/domains/robot/repository.mjs.map +1 -0
- package/dist/adapters/database/domains/robot/subscriber.mjs +57 -0
- package/dist/adapters/database/domains/robot/subscriber.mjs.map +1 -0
- package/dist/adapters/database/domains/robot-permission/entity.mjs +80 -0
- package/dist/adapters/database/domains/robot-permission/entity.mjs.map +1 -0
- package/dist/adapters/database/domains/robot-permission/index.mjs +3 -0
- package/dist/adapters/database/domains/robot-permission/subscriber.mjs +67 -0
- package/dist/adapters/database/domains/robot-permission/subscriber.mjs.map +1 -0
- package/dist/adapters/database/domains/robot-role/entity.mjs +67 -0
- package/dist/adapters/database/domains/robot-role/entity.mjs.map +1 -0
- package/dist/adapters/database/domains/robot-role/index.mjs +3 -0
- package/dist/adapters/database/domains/robot-role/subscriber.mjs +67 -0
- package/dist/adapters/database/domains/robot-role/subscriber.mjs.map +1 -0
- package/dist/adapters/database/domains/role/entity.mjs +87 -0
- package/dist/adapters/database/domains/role/entity.mjs.map +1 -0
- package/dist/adapters/database/domains/role/index.mjs +4 -0
- package/dist/adapters/database/domains/role/repository.mjs +83 -0
- package/dist/adapters/database/domains/role/repository.mjs.map +1 -0
- package/dist/adapters/database/domains/role/subscriber.mjs +59 -0
- package/dist/adapters/database/domains/role/subscriber.mjs.map +1 -0
- package/dist/adapters/database/domains/role-attribute/entity.mjs +65 -0
- package/dist/adapters/database/domains/role-attribute/entity.mjs.map +1 -0
- package/dist/adapters/database/domains/role-attribute/index.mjs +3 -0
- package/dist/adapters/database/domains/role-attribute/subscriber.mjs +63 -0
- package/dist/adapters/database/domains/role-attribute/subscriber.mjs.map +1 -0
- package/dist/adapters/database/domains/role-permission/entity.mjs +80 -0
- package/dist/adapters/database/domains/role-permission/entity.mjs.map +1 -0
- package/dist/adapters/database/domains/role-permission/index.mjs +3 -0
- package/dist/adapters/database/domains/role-permission/subscriber.mjs +67 -0
- package/dist/adapters/database/domains/role-permission/subscriber.mjs.map +1 -0
- package/dist/adapters/database/domains/scope/entity.mjs +62 -0
- package/dist/adapters/database/domains/scope/entity.mjs.map +1 -0
- package/dist/adapters/database/domains/scope/index.mjs +3 -0
- package/dist/adapters/database/domains/scope/subscriber.mjs +59 -0
- package/dist/adapters/database/domains/scope/subscriber.mjs.map +1 -0
- package/dist/adapters/database/domains/session/entity.mjs +135 -0
- package/dist/adapters/database/domains/session/entity.mjs.map +1 -0
- package/dist/adapters/database/domains/session/index.mjs +2 -0
- package/dist/adapters/database/domains/user/entity.mjs +178 -0
- package/dist/adapters/database/domains/user/entity.mjs.map +1 -0
- package/dist/adapters/database/domains/user/index.mjs +4 -0
- package/dist/adapters/database/domains/user/repository.mjs +87 -0
- package/dist/adapters/database/domains/user/repository.mjs.map +1 -0
- package/dist/adapters/database/domains/user/subscriber.mjs +57 -0
- package/dist/adapters/database/domains/user/subscriber.mjs.map +1 -0
- package/dist/adapters/database/domains/user-attribute/entity.mjs +62 -0
- package/dist/adapters/database/domains/user-attribute/entity.mjs.map +1 -0
- package/dist/adapters/database/domains/user-attribute/index.mjs +3 -0
- package/dist/adapters/database/domains/user-attribute/subscriber.mjs +61 -0
- package/dist/adapters/database/domains/user-attribute/subscriber.mjs.map +1 -0
- package/dist/adapters/database/domains/user-permission/entity.mjs +79 -0
- package/dist/adapters/database/domains/user-permission/entity.mjs.map +1 -0
- package/dist/adapters/database/domains/user-permission/index.mjs +3 -0
- package/dist/adapters/database/domains/user-permission/subscriber.mjs +67 -0
- package/dist/adapters/database/domains/user-permission/subscriber.mjs.map +1 -0
- package/dist/adapters/database/domains/user-role/entity.mjs +67 -0
- package/dist/adapters/database/domains/user-role/entity.mjs.map +1 -0
- package/dist/adapters/database/domains/user-role/index.mjs +3 -0
- package/dist/adapters/database/domains/user-role/subscriber.mjs +67 -0
- package/dist/adapters/database/domains/user-role/subscriber.mjs.map +1 -0
- package/dist/adapters/database/errors/conflict.mjs +11 -0
- package/dist/adapters/database/errors/conflict.mjs.map +1 -0
- package/dist/adapters/database/errors/index.mjs +2 -0
- package/dist/adapters/database/event-publisher/index.mjs +2 -0
- package/dist/adapters/database/event-publisher/module.mjs +22 -0
- package/dist/adapters/database/event-publisher/module.mjs.map +1 -0
- package/dist/adapters/database/extra-attribute-repository/adapter.mjs +120 -0
- package/dist/adapters/database/extra-attribute-repository/adapter.mjs.map +1 -0
- package/dist/adapters/database/extra-attribute-repository/index.mjs +4 -0
- package/dist/adapters/database/extra-attribute-repository/repository.mjs +53 -0
- package/dist/adapters/database/extra-attribute-repository/repository.mjs.map +1 -0
- package/dist/adapters/database/extra-attribute-repository/tree/adapter.mjs +61 -0
- package/dist/adapters/database/extra-attribute-repository/tree/adapter.mjs.map +1 -0
- package/dist/adapters/database/extra-attribute-repository/tree/index.mjs +2 -0
- package/dist/adapters/database/extra-attribute-repository/tree/repository.mjs +147 -0
- package/dist/adapters/database/extra-attribute-repository/tree/repository.mjs.map +1 -0
- package/dist/adapters/database/extra-attribute-repository/types.mjs +1 -0
- package/dist/adapters/database/helpers/index.mjs +2 -0
- package/dist/adapters/database/helpers/is-supported.mjs +13 -0
- package/dist/adapters/database/helpers/is-supported.mjs.map +1 -0
- package/dist/adapters/database/index.mjs +70 -0
- package/dist/adapters/database/logger/index.mjs +2 -0
- package/dist/adapters/database/logger/module.mjs +39 -0
- package/dist/adapters/database/logger/module.mjs.map +1 -0
- package/dist/adapters/database/migrations/mysql/1673449341125-Default.mjs +865 -0
- package/dist/adapters/database/migrations/mysql/1673449341125-Default.mjs.map +1 -0
- package/dist/adapters/database/migrations/mysql/1689597906910-Default.mjs +38 -0
- package/dist/adapters/database/migrations/mysql/1689597906910-Default.mjs.map +1 -0
- package/dist/adapters/database/migrations/mysql/1718790373914-Default.mjs +559 -0
- package/dist/adapters/database/migrations/mysql/1718790373914-Default.mjs.map +1 -0
- package/dist/adapters/database/migrations/mysql/1722673916392-Default.mjs +109 -0
- package/dist/adapters/database/migrations/mysql/1722673916392-Default.mjs.map +1 -0
- package/dist/adapters/database/migrations/mysql/1740991051622-Default.mjs +250 -0
- package/dist/adapters/database/migrations/mysql/1740991051622-Default.mjs.map +1 -0
- package/dist/adapters/database/migrations/mysql/1766830857009-Default.mjs +229 -0
- package/dist/adapters/database/migrations/mysql/1766830857009-Default.mjs.map +1 -0
- package/dist/adapters/database/migrations/mysql/1774800953474-Default.mjs +87 -0
- package/dist/adapters/database/migrations/mysql/1774800953474-Default.mjs.map +1 -0
- package/dist/adapters/database/migrations/postgres/1673449341125-Default.mjs +863 -0
- package/dist/adapters/database/migrations/postgres/1673449341125-Default.mjs.map +1 -0
- package/dist/adapters/database/migrations/postgres/1689597906910-Default.mjs +43 -0
- package/dist/adapters/database/migrations/postgres/1689597906910-Default.mjs.map +1 -0
- package/dist/adapters/database/migrations/postgres/1718790373914-Default.mjs +565 -0
- package/dist/adapters/database/migrations/postgres/1718790373914-Default.mjs.map +1 -0
- package/dist/adapters/database/migrations/postgres/1722673916392-Default.mjs +113 -0
- package/dist/adapters/database/migrations/postgres/1722673916392-Default.mjs.map +1 -0
- package/dist/adapters/database/migrations/postgres/1740991051622-Default.mjs +235 -0
- package/dist/adapters/database/migrations/postgres/1740991051622-Default.mjs.map +1 -0
- package/dist/adapters/database/migrations/postgres/1766830857009-Default.mjs +245 -0
- package/dist/adapters/database/migrations/postgres/1766830857009-Default.mjs.map +1 -0
- package/dist/adapters/database/migrations/postgres/1774800953474-Default.mjs +91 -0
- package/dist/adapters/database/migrations/postgres/1774800953474-Default.mjs.map +1 -0
- package/dist/adapters/http/adapters/index.mjs +10 -0
- package/dist/adapters/http/adapters/oauth2/authorization/index.mjs +2 -0
- package/dist/adapters/http/adapters/oauth2/authorization/module.mjs +36 -0
- package/dist/adapters/http/adapters/oauth2/authorization/module.mjs.map +1 -0
- package/dist/adapters/http/adapters/oauth2/authorization/types.mjs +1 -0
- package/dist/adapters/http/adapters/oauth2/grant-types/authorize.mjs +37 -0
- package/dist/adapters/http/adapters/oauth2/grant-types/authorize.mjs.map +1 -0
- package/dist/adapters/http/adapters/oauth2/grant-types/client-credentials.mjs +37 -0
- package/dist/adapters/http/adapters/oauth2/grant-types/client-credentials.mjs.map +1 -0
- package/dist/adapters/http/adapters/oauth2/grant-types/identity.mjs +19 -0
- package/dist/adapters/http/adapters/oauth2/grant-types/identity.mjs.map +1 -0
- package/dist/adapters/http/adapters/oauth2/grant-types/index.mjs +9 -0
- package/dist/adapters/http/adapters/oauth2/grant-types/password.mjs +24 -0
- package/dist/adapters/http/adapters/oauth2/grant-types/password.mjs.map +1 -0
- package/dist/adapters/http/adapters/oauth2/grant-types/refresh_token.mjs +18 -0
- package/dist/adapters/http/adapters/oauth2/grant-types/refresh_token.mjs.map +1 -0
- package/dist/adapters/http/adapters/oauth2/grant-types/robot-credentials.mjs +24 -0
- package/dist/adapters/http/adapters/oauth2/grant-types/robot-credentials.mjs.map +1 -0
- package/dist/adapters/http/adapters/oauth2/grant-types/types.mjs +1 -0
- package/dist/adapters/http/adapters/oauth2/grant-types/utils/guess.mjs +34 -0
- package/dist/adapters/http/adapters/oauth2/grant-types/utils/guess.mjs.map +1 -0
- package/dist/adapters/http/adapters/oauth2/grant-types/utils/index.mjs +2 -0
- package/dist/adapters/http/adapters/oauth2/index.mjs +11 -0
- package/dist/adapters/http/controllers/entities/client/index.mjs +2 -0
- package/dist/adapters/http/controllers/entities/client/module.mjs +168 -0
- package/dist/adapters/http/controllers/entities/client/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/client-permission/index.mjs +4 -0
- package/dist/adapters/http/controllers/entities/client-permission/module.mjs +124 -0
- package/dist/adapters/http/controllers/entities/client-permission/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/client-permission/utils/index.mjs +2 -0
- package/dist/adapters/http/controllers/entities/client-permission/utils/validation.mjs +23 -0
- package/dist/adapters/http/controllers/entities/client-permission/utils/validation.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/client-role/index.mjs +4 -0
- package/dist/adapters/http/controllers/entities/client-role/module.mjs +105 -0
- package/dist/adapters/http/controllers/entities/client-role/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/client-role/utils/index.mjs +2 -0
- package/dist/adapters/http/controllers/entities/client-role/utils/validation.mjs +20 -0
- package/dist/adapters/http/controllers/entities/client-role/utils/validation.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/client-scope/index.mjs +4 -0
- package/dist/adapters/http/controllers/entities/client-scope/module.mjs +105 -0
- package/dist/adapters/http/controllers/entities/client-scope/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/client-scope/utils/index.mjs +2 -0
- package/dist/adapters/http/controllers/entities/client-scope/utils/validator.mjs +20 -0
- package/dist/adapters/http/controllers/entities/client-scope/utils/validator.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/identity-provide-role/index.mjs +2 -0
- package/dist/adapters/http/controllers/entities/identity-provide-role/module.mjs +124 -0
- package/dist/adapters/http/controllers/entities/identity-provide-role/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/identity-provider/index.mjs +2 -0
- package/dist/adapters/http/controllers/entities/identity-provider/module.mjs +358 -0
- package/dist/adapters/http/controllers/entities/identity-provider/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/identity-provider/types.mjs +1 -0
- package/dist/adapters/http/controllers/entities/index.mjs +55 -0
- package/dist/adapters/http/controllers/entities/permission/index.mjs +2 -0
- package/dist/adapters/http/controllers/entities/permission/module.mjs +207 -0
- package/dist/adapters/http/controllers/entities/permission/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/permission-policy/index.mjs +2 -0
- package/dist/adapters/http/controllers/entities/permission-policy/module.mjs +105 -0
- package/dist/adapters/http/controllers/entities/permission-policy/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/policy/index.mjs +5 -0
- package/dist/adapters/http/controllers/entities/policy/module.mjs +216 -0
- package/dist/adapters/http/controllers/entities/policy/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/policy/utils/attributes-validator.mjs +42 -0
- package/dist/adapters/http/controllers/entities/policy/utils/attributes-validator.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/policy/utils/index.mjs +3 -0
- package/dist/adapters/http/controllers/entities/policy/utils/validation.mjs +61 -0
- package/dist/adapters/http/controllers/entities/policy/utils/validation.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/realm/index.mjs +2 -0
- package/dist/adapters/http/controllers/entities/realm/module.mjs +219 -0
- package/dist/adapters/http/controllers/entities/realm/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/robot/index.mjs +2 -0
- package/dist/adapters/http/controllers/entities/robot/module.mjs +190 -0
- package/dist/adapters/http/controllers/entities/robot/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/robot-permission/index.mjs +4 -0
- package/dist/adapters/http/controllers/entities/robot-permission/module.mjs +124 -0
- package/dist/adapters/http/controllers/entities/robot-permission/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/robot-permission/utils/index.mjs +2 -0
- package/dist/adapters/http/controllers/entities/robot-permission/utils/validation.mjs +23 -0
- package/dist/adapters/http/controllers/entities/robot-permission/utils/validation.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/robot-role/index.mjs +4 -0
- package/dist/adapters/http/controllers/entities/robot-role/module.mjs +105 -0
- package/dist/adapters/http/controllers/entities/robot-role/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/robot-role/utils/index.mjs +2 -0
- package/dist/adapters/http/controllers/entities/robot-role/utils/validation.mjs +20 -0
- package/dist/adapters/http/controllers/entities/robot-role/utils/validation.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/role/index.mjs +2 -0
- package/dist/adapters/http/controllers/entities/role/module.mjs +145 -0
- package/dist/adapters/http/controllers/entities/role/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/role-attribute/index.mjs +4 -0
- package/dist/adapters/http/controllers/entities/role-attribute/module.mjs +124 -0
- package/dist/adapters/http/controllers/entities/role-attribute/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/role-attribute/utils/index.mjs +2 -0
- package/dist/adapters/http/controllers/entities/role-attribute/utils/validation.mjs +29 -0
- package/dist/adapters/http/controllers/entities/role-attribute/utils/validation.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/role-permission/index.mjs +4 -0
- package/dist/adapters/http/controllers/entities/role-permission/module.mjs +124 -0
- package/dist/adapters/http/controllers/entities/role-permission/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/role-permission/utils/index.mjs +2 -0
- package/dist/adapters/http/controllers/entities/role-permission/utils/validation.mjs +23 -0
- package/dist/adapters/http/controllers/entities/role-permission/utils/validation.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/scope/index.mjs +2 -0
- package/dist/adapters/http/controllers/entities/scope/module.mjs +145 -0
- package/dist/adapters/http/controllers/entities/scope/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/user/index.mjs +2 -0
- package/dist/adapters/http/controllers/entities/user/module.mjs +149 -0
- package/dist/adapters/http/controllers/entities/user/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/user-attribute/index.mjs +4 -0
- package/dist/adapters/http/controllers/entities/user-attribute/module.mjs +124 -0
- package/dist/adapters/http/controllers/entities/user-attribute/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/user-attribute/utils/authorization.mjs +35 -0
- package/dist/adapters/http/controllers/entities/user-attribute/utils/authorization.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/user-attribute/utils/index.mjs +2 -0
- package/dist/adapters/http/controllers/entities/user-attribute/utils/validation.mjs +32 -0
- package/dist/adapters/http/controllers/entities/user-attribute/utils/validation.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/user-permission/index.mjs +4 -0
- package/dist/adapters/http/controllers/entities/user-permission/module.mjs +124 -0
- package/dist/adapters/http/controllers/entities/user-permission/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/user-permission/utils/index.mjs +2 -0
- package/dist/adapters/http/controllers/entities/user-permission/utils/validation.mjs +23 -0
- package/dist/adapters/http/controllers/entities/user-permission/utils/validation.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/user-role/index.mjs +4 -0
- package/dist/adapters/http/controllers/entities/user-role/module.mjs +105 -0
- package/dist/adapters/http/controllers/entities/user-role/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/entities/user-role/utils/index.mjs +2 -0
- package/dist/adapters/http/controllers/entities/user-role/utils/validation.mjs +20 -0
- package/dist/adapters/http/controllers/entities/user-role/utils/validation.mjs.map +1 -0
- package/dist/adapters/http/controllers/index.mjs +46 -0
- package/dist/adapters/http/controllers/workflows/activate/index.mjs +2 -0
- package/dist/adapters/http/controllers/workflows/activate/module.mjs +51 -0
- package/dist/adapters/http/controllers/workflows/activate/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/workflows/activate/validator.mjs +18 -0
- package/dist/adapters/http/controllers/workflows/activate/validator.mjs.map +1 -0
- package/dist/adapters/http/controllers/workflows/authorize/index.mjs +2 -0
- package/dist/adapters/http/controllers/workflows/authorize/module.mjs +137 -0
- package/dist/adapters/http/controllers/workflows/authorize/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/workflows/authorize/types.mjs +1 -0
- package/dist/adapters/http/controllers/workflows/index.mjs +20 -0
- package/dist/adapters/http/controllers/workflows/jwks/handlers/index.mjs +2 -0
- package/dist/adapters/http/controllers/workflows/jwks/handlers/read.mjs +50 -0
- package/dist/adapters/http/controllers/workflows/jwks/handlers/read.mjs.map +1 -0
- package/dist/adapters/http/controllers/workflows/jwks/index.mjs +4 -0
- package/dist/adapters/http/controllers/workflows/jwks/module.mjs +96 -0
- package/dist/adapters/http/controllers/workflows/jwks/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/workflows/openid/index.mjs +2 -0
- package/dist/adapters/http/controllers/workflows/openid/module.mjs +60 -0
- package/dist/adapters/http/controllers/workflows/openid/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/workflows/password-forgot/index.mjs +2 -0
- package/dist/adapters/http/controllers/workflows/password-forgot/module.mjs +48 -0
- package/dist/adapters/http/controllers/workflows/password-forgot/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/workflows/password-reset/index.mjs +2 -0
- package/dist/adapters/http/controllers/workflows/password-reset/module.mjs +48 -0
- package/dist/adapters/http/controllers/workflows/password-reset/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/workflows/register/index.mjs +2 -0
- package/dist/adapters/http/controllers/workflows/register/module.mjs +48 -0
- package/dist/adapters/http/controllers/workflows/register/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/workflows/status/index.mjs +2 -0
- package/dist/adapters/http/controllers/workflows/status/module.mjs +35 -0
- package/dist/adapters/http/controllers/workflows/status/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/workflows/token/index.mjs +2 -0
- package/dist/adapters/http/controllers/workflows/token/module.mjs +174 -0
- package/dist/adapters/http/controllers/workflows/token/module.mjs.map +1 -0
- package/dist/adapters/http/controllers/workflows/token/types.mjs +1 -0
- package/dist/adapters/http/controllers/workflows/token/utils/extract.mjs +27 -0
- package/dist/adapters/http/controllers/workflows/token/utils/extract.mjs.map +1 -0
- package/dist/adapters/http/controllers/workflows/token/utils/index.mjs +3 -0
- package/dist/adapters/http/controllers/workflows/token/utils/validator.mjs +18 -0
- package/dist/adapters/http/controllers/workflows/token/utils/validator.mjs.map +1 -0
- package/dist/adapters/http/index.mjs +81 -0
- package/dist/adapters/http/middleware/built-in/assets.mjs +44 -0
- package/dist/adapters/http/middleware/built-in/assets.mjs.map +1 -0
- package/dist/adapters/http/middleware/built-in/authorization/factory.mjs +11 -0
- package/dist/adapters/http/middleware/built-in/authorization/factory.mjs.map +1 -0
- package/dist/adapters/http/middleware/built-in/authorization/index.mjs +3 -0
- package/dist/adapters/http/middleware/built-in/authorization/module.mjs +131 -0
- package/dist/adapters/http/middleware/built-in/authorization/module.mjs.map +1 -0
- package/dist/adapters/http/middleware/built-in/authorization/types.mjs +1 -0
- package/dist/adapters/http/middleware/built-in/basic.mjs +9 -0
- package/dist/adapters/http/middleware/built-in/basic.mjs.map +1 -0
- package/dist/adapters/http/middleware/built-in/cors.mjs +17 -0
- package/dist/adapters/http/middleware/built-in/cors.mjs.map +1 -0
- package/dist/adapters/http/middleware/built-in/error.mjs +32 -0
- package/dist/adapters/http/middleware/built-in/error.mjs.map +1 -0
- package/dist/adapters/http/middleware/built-in/index.mjs +15 -0
- package/dist/adapters/http/middleware/built-in/loggedin/index.mjs +3 -0
- package/dist/adapters/http/middleware/built-in/loggedin/module.mjs +13 -0
- package/dist/adapters/http/middleware/built-in/loggedin/module.mjs.map +1 -0
- package/dist/adapters/http/middleware/built-in/loggedin/user.mjs +15 -0
- package/dist/adapters/http/middleware/built-in/loggedin/user.mjs.map +1 -0
- package/dist/adapters/http/middleware/built-in/logger.mjs +39 -0
- package/dist/adapters/http/middleware/built-in/logger.mjs.map +1 -0
- package/dist/adapters/http/middleware/built-in/prometheus.mjs +19 -0
- package/dist/adapters/http/middleware/built-in/prometheus.mjs.map +1 -0
- package/dist/adapters/http/middleware/built-in/rate-limit.mjs +25 -0
- package/dist/adapters/http/middleware/built-in/rate-limit.mjs.map +1 -0
- package/dist/adapters/http/middleware/built-in/swagger.mjs +22 -0
- package/dist/adapters/http/middleware/built-in/swagger.mjs.map +1 -0
- package/dist/adapters/http/middleware/index.mjs +14 -0
- package/dist/adapters/http/request/constants.mjs +13 -0
- package/dist/adapters/http/request/constants.mjs.map +1 -0
- package/dist/adapters/http/request/helpers/actor.mjs +14 -0
- package/dist/adapters/http/request/helpers/actor.mjs.map +1 -0
- package/dist/adapters/http/request/helpers/body-realm-id.mjs +13 -0
- package/dist/adapters/http/request/helpers/body-realm-id.mjs.map +1 -0
- package/dist/adapters/http/request/helpers/identity.mjs +52 -0
- package/dist/adapters/http/request/helpers/identity.mjs.map +1 -0
- package/dist/adapters/http/request/helpers/index.mjs +7 -0
- package/dist/adapters/http/request/helpers/param-id.mjs +36 -0
- package/dist/adapters/http/request/helpers/param-id.mjs.map +1 -0
- package/dist/adapters/http/request/helpers/scopes.mjs +13 -0
- package/dist/adapters/http/request/helpers/scopes.mjs.map +1 -0
- package/dist/adapters/http/request/helpers/token.mjs +13 -0
- package/dist/adapters/http/request/helpers/token.mjs.map +1 -0
- package/dist/adapters/http/request/index.mjs +12 -0
- package/dist/adapters/http/request/permission/helper.mjs +15 -0
- package/dist/adapters/http/request/permission/helper.mjs.map +1 -0
- package/dist/adapters/http/request/permission/index.mjs +3 -0
- package/dist/adapters/http/request/permission/module.mjs +37 -0
- package/dist/adapters/http/request/permission/module.mjs.map +1 -0
- package/dist/adapters/http/server/index.mjs +2 -0
- package/dist/adapters/http/server/module.mjs +10 -0
- package/dist/adapters/http/server/module.mjs.map +1 -0
- package/dist/adapters/http/server/type.mjs +1 -0
- package/dist/adapters/http/swagger/index.mjs +2 -0
- package/dist/adapters/http/swagger/module.mjs +75 -0
- package/dist/adapters/http/swagger/module.mjs.map +1 -0
- package/dist/adapters/http/swagger/type.mjs +1 -0
- package/dist/adapters/shared/ldap/factory.mjs +11 -0
- package/dist/adapters/shared/ldap/factory.mjs.map +1 -0
- package/dist/adapters/shared/ldap/index.mjs +3 -0
- package/dist/adapters/shared/ldap/module.mjs +172 -0
- package/dist/adapters/shared/ldap/module.mjs.map +1 -0
- package/dist/adapters/shared/ldap/types.mjs +1 -0
- package/dist/app/builder.mjs +108 -0
- package/dist/app/builder.mjs.map +1 -0
- package/dist/app/factory.mjs +12 -0
- package/dist/app/factory.mjs.map +1 -0
- package/dist/app/index.mjs +63 -0
- package/dist/app/module.mjs +2 -0
- package/dist/app/modules/authentication/constants.mjs +10 -0
- package/dist/app/modules/authentication/constants.mjs.map +1 -0
- package/dist/app/modules/authentication/index.mjs +5 -0
- package/dist/app/modules/authentication/module.mjs +44 -0
- package/dist/app/modules/authentication/module.mjs.map +1 -0
- package/dist/app/modules/authentication/repositories/constants.mjs +9 -0
- package/dist/app/modules/authentication/repositories/constants.mjs.map +1 -0
- package/dist/app/modules/authentication/repositories/index.mjs +2 -0
- package/dist/app/modules/authentication/repositories/session.mjs +43 -0
- package/dist/app/modules/authentication/repositories/session.mjs.map +1 -0
- package/dist/app/modules/cache/constants.mjs +7 -0
- package/dist/app/modules/cache/constants.mjs.map +1 -0
- package/dist/app/modules/cache/index.mjs +3 -0
- package/dist/app/modules/cache/module.mjs +26 -0
- package/dist/app/modules/cache/module.mjs.map +1 -0
- package/dist/app/modules/components/index.mjs +2 -0
- package/dist/app/modules/components/module.mjs +23 -0
- package/dist/app/modules/components/module.mjs.map +1 -0
- package/dist/app/modules/config/constants.mjs +36 -0
- package/dist/app/modules/config/constants.mjs.map +1 -0
- package/dist/app/modules/config/index.mjs +3 -0
- package/dist/app/modules/config/module.mjs +34 -0
- package/dist/app/modules/config/module.mjs.map +1 -0
- package/dist/app/modules/config/normalize.mjs +64 -0
- package/dist/app/modules/config/normalize.mjs.map +1 -0
- package/dist/app/modules/config/parse.mjs +55 -0
- package/dist/app/modules/config/parse.mjs.map +1 -0
- package/dist/app/modules/config/read/env.mjs +65 -0
- package/dist/app/modules/config/read/env.mjs.map +1 -0
- package/dist/app/modules/config/read/fs.mjs +34 -0
- package/dist/app/modules/config/read/fs.mjs.map +1 -0
- package/dist/app/modules/config/read/index.mjs +4 -0
- package/dist/app/modules/config/read/module.mjs +21 -0
- package/dist/app/modules/config/read/module.mjs.map +1 -0
- package/dist/app/modules/config/read/types.mjs +1 -0
- package/dist/app/modules/config/types.mjs +1 -0
- package/dist/app/modules/constants.mjs +21 -0
- package/dist/app/modules/constants.mjs.map +1 -0
- package/dist/app/modules/database/constants.mjs +7 -0
- package/dist/app/modules/database/constants.mjs.map +1 -0
- package/dist/app/modules/database/index.mjs +26 -0
- package/dist/app/modules/database/module.mjs +116 -0
- package/dist/app/modules/database/module.mjs.map +1 -0
- package/dist/app/modules/database/repositories/client/index.mjs +2 -0
- package/dist/app/modules/database/repositories/client/repository.mjs +131 -0
- package/dist/app/modules/database/repositories/client/repository.mjs.map +1 -0
- package/dist/app/modules/database/repositories/client-permission/index.mjs +2 -0
- package/dist/app/modules/database/repositories/client-permission/repository.mjs +76 -0
- package/dist/app/modules/database/repositories/client-permission/repository.mjs.map +1 -0
- package/dist/app/modules/database/repositories/client-role/index.mjs +2 -0
- package/dist/app/modules/database/repositories/client-role/repository.mjs +76 -0
- package/dist/app/modules/database/repositories/client-role/repository.mjs.map +1 -0
- package/dist/app/modules/database/repositories/client-scope/index.mjs +2 -0
- package/dist/app/modules/database/repositories/client-scope/repository.mjs +76 -0
- package/dist/app/modules/database/repositories/client-scope/repository.mjs.map +1 -0
- package/dist/app/modules/database/repositories/helpers.mjs +15 -0
- package/dist/app/modules/database/repositories/helpers.mjs.map +1 -0
- package/dist/app/modules/database/repositories/identity-provider/index.mjs +2 -0
- package/dist/app/modules/database/repositories/identity-provider/repository.mjs +135 -0
- package/dist/app/modules/database/repositories/identity-provider/repository.mjs.map +1 -0
- package/dist/app/modules/database/repositories/identity-provider-role-mapping/index.mjs +2 -0
- package/dist/app/modules/database/repositories/identity-provider-role-mapping/repository.mjs +76 -0
- package/dist/app/modules/database/repositories/identity-provider-role-mapping/repository.mjs.map +1 -0
- package/dist/app/modules/database/repositories/index.mjs +45 -0
- package/dist/app/modules/database/repositories/permission/index.mjs +2 -0
- package/dist/app/modules/database/repositories/permission/repository.mjs +97 -0
- package/dist/app/modules/database/repositories/permission/repository.mjs.map +1 -0
- package/dist/app/modules/database/repositories/permission-policy/index.mjs +2 -0
- package/dist/app/modules/database/repositories/permission-policy/repository.mjs +76 -0
- package/dist/app/modules/database/repositories/permission-policy/repository.mjs.map +1 -0
- package/dist/app/modules/database/repositories/permission-provider/index.mjs +2 -0
- package/dist/app/modules/database/repositories/permission-provider/module.mjs +60 -0
- package/dist/app/modules/database/repositories/permission-provider/module.mjs.map +1 -0
- package/dist/app/modules/database/repositories/policy/index.mjs +2 -0
- package/dist/app/modules/database/repositories/policy/repository.mjs +129 -0
- package/dist/app/modules/database/repositories/policy/repository.mjs.map +1 -0
- package/dist/app/modules/database/repositories/realm/index.mjs +2 -0
- package/dist/app/modules/database/repositories/realm/repository.mjs +94 -0
- package/dist/app/modules/database/repositories/realm/repository.mjs.map +1 -0
- package/dist/app/modules/database/repositories/robot/index.mjs +2 -0
- package/dist/app/modules/database/repositories/robot/repository.mjs +125 -0
- package/dist/app/modules/database/repositories/robot/repository.mjs.map +1 -0
- package/dist/app/modules/database/repositories/robot-permission/index.mjs +2 -0
- package/dist/app/modules/database/repositories/robot-permission/repository.mjs +76 -0
- package/dist/app/modules/database/repositories/robot-permission/repository.mjs.map +1 -0
- package/dist/app/modules/database/repositories/robot-role/index.mjs +2 -0
- package/dist/app/modules/database/repositories/robot-role/repository.mjs +76 -0
- package/dist/app/modules/database/repositories/robot-role/repository.mjs.map +1 -0
- package/dist/app/modules/database/repositories/role/index.mjs +2 -0
- package/dist/app/modules/database/repositories/role/repository.mjs +106 -0
- package/dist/app/modules/database/repositories/role/repository.mjs.map +1 -0
- package/dist/app/modules/database/repositories/role-attribute/index.mjs +2 -0
- package/dist/app/modules/database/repositories/role-attribute/repository.mjs +78 -0
- package/dist/app/modules/database/repositories/role-attribute/repository.mjs.map +1 -0
- package/dist/app/modules/database/repositories/role-permission/index.mjs +2 -0
- package/dist/app/modules/database/repositories/role-permission/repository.mjs +76 -0
- package/dist/app/modules/database/repositories/role-permission/repository.mjs.map +1 -0
- package/dist/app/modules/database/repositories/scope/index.mjs +2 -0
- package/dist/app/modules/database/repositories/scope/repository.mjs +106 -0
- package/dist/app/modules/database/repositories/scope/repository.mjs.map +1 -0
- package/dist/app/modules/database/repositories/user/index.mjs +2 -0
- package/dist/app/modules/database/repositories/user/repository.mjs +166 -0
- package/dist/app/modules/database/repositories/user/repository.mjs.map +1 -0
- package/dist/app/modules/database/repositories/user-attribute/index.mjs +2 -0
- package/dist/app/modules/database/repositories/user-attribute/repository.mjs +78 -0
- package/dist/app/modules/database/repositories/user-attribute/repository.mjs.map +1 -0
- package/dist/app/modules/database/repositories/user-permission/index.mjs +2 -0
- package/dist/app/modules/database/repositories/user-permission/repository.mjs +76 -0
- package/dist/app/modules/database/repositories/user-permission/repository.mjs.map +1 -0
- package/dist/app/modules/database/repositories/user-role/index.mjs +2 -0
- package/dist/app/modules/database/repositories/user-role/repository.mjs +76 -0
- package/dist/app/modules/database/repositories/user-role/repository.mjs.map +1 -0
- package/dist/app/modules/http/constants.mjs +7 -0
- package/dist/app/modules/http/constants.mjs.map +1 -0
- package/dist/app/modules/http/index.mjs +3 -0
- package/dist/app/modules/http/module.mjs +68 -0
- package/dist/app/modules/http/module.mjs.map +1 -0
- package/dist/app/modules/http/modules/controller.mjs +506 -0
- package/dist/app/modules/http/modules/controller.mjs.map +1 -0
- package/dist/app/modules/http/modules/index.mjs +3 -0
- package/dist/app/modules/http/modules/middleware.mjs +120 -0
- package/dist/app/modules/http/modules/middleware.mjs.map +1 -0
- package/dist/app/modules/identity/constants.mjs +11 -0
- package/dist/app/modules/identity/constants.mjs.map +1 -0
- package/dist/app/modules/identity/index.mjs +11 -0
- package/dist/app/modules/identity/module.mjs +78 -0
- package/dist/app/modules/identity/module.mjs.map +1 -0
- package/dist/app/modules/identity/repositories/client.mjs +44 -0
- package/dist/app/modules/identity/repositories/client.mjs.map +1 -0
- package/dist/app/modules/identity/repositories/index.mjs +9 -0
- package/dist/app/modules/identity/repositories/provider/account/index.mjs +2 -0
- package/dist/app/modules/identity/repositories/provider/account/module.mjs +22 -0
- package/dist/app/modules/identity/repositories/provider/account/module.mjs.map +1 -0
- package/dist/app/modules/identity/repositories/provider/index.mjs +7 -0
- package/dist/app/modules/identity/repositories/provider/mapper/attribute.mjs +13 -0
- package/dist/app/modules/identity/repositories/provider/mapper/attribute.mjs.map +1 -0
- package/dist/app/modules/identity/repositories/provider/mapper/index.mjs +4 -0
- package/dist/app/modules/identity/repositories/provider/mapper/permission.mjs +13 -0
- package/dist/app/modules/identity/repositories/provider/mapper/permission.mjs.map +1 -0
- package/dist/app/modules/identity/repositories/provider/mapper/role.mjs +13 -0
- package/dist/app/modules/identity/repositories/provider/mapper/role.mjs.map +1 -0
- package/dist/app/modules/identity/repositories/robot.mjs +44 -0
- package/dist/app/modules/identity/repositories/robot.mjs.map +1 -0
- package/dist/app/modules/identity/repositories/user.mjs +113 -0
- package/dist/app/modules/identity/repositories/user.mjs.map +1 -0
- package/dist/app/modules/index.mjs +73 -0
- package/dist/app/modules/ldap/constants.mjs +7 -0
- package/dist/app/modules/ldap/constants.mjs.map +1 -0
- package/dist/app/modules/ldap/index.mjs +3 -0
- package/dist/app/modules/ldap/module.mjs +18 -0
- package/dist/app/modules/ldap/module.mjs.map +1 -0
- package/dist/app/modules/logger/constants.mjs +7 -0
- package/dist/app/modules/logger/constants.mjs.map +1 -0
- package/dist/app/modules/logger/index.mjs +3 -0
- package/dist/app/modules/logger/module.mjs +33 -0
- package/dist/app/modules/logger/module.mjs.map +1 -0
- package/dist/app/modules/mail/adapter/index.mjs +3 -0
- package/dist/app/modules/mail/adapter/smtp/module.mjs +29 -0
- package/dist/app/modules/mail/adapter/smtp/module.mjs.map +1 -0
- package/dist/app/modules/mail/adapter/smtp/smtp.mjs +20 -0
- package/dist/app/modules/mail/adapter/smtp/smtp.mjs.map +1 -0
- package/dist/app/modules/mail/adapter/smtp/types.mjs +1 -0
- package/dist/app/modules/mail/adapter/void.mjs +10 -0
- package/dist/app/modules/mail/adapter/void.mjs.map +1 -0
- package/dist/app/modules/mail/constants.mjs +7 -0
- package/dist/app/modules/mail/constants.mjs.map +1 -0
- package/dist/app/modules/mail/index.mjs +3 -0
- package/dist/app/modules/mail/module.mjs +28 -0
- package/dist/app/modules/mail/module.mjs.map +1 -0
- package/dist/app/modules/oauth2/constants.mjs +24 -0
- package/dist/app/modules/oauth2/constants.mjs.map +1 -0
- package/dist/app/modules/oauth2/index.mjs +3 -0
- package/dist/app/modules/oauth2/module.mjs +113 -0
- package/dist/app/modules/oauth2/module.mjs.map +1 -0
- package/dist/app/modules/oauth2/repositories/authorize/code/index.mjs +2 -0
- package/dist/app/modules/oauth2/repositories/authorize/code/repository.mjs +46 -0
- package/dist/app/modules/oauth2/repositories/authorize/code/repository.mjs.map +1 -0
- package/dist/app/modules/oauth2/repositories/authorize/index.mjs +5 -0
- package/dist/app/modules/oauth2/repositories/authorize/state/index.mjs +2 -0
- package/dist/app/modules/oauth2/repositories/authorize/state/repository.mjs +37 -0
- package/dist/app/modules/oauth2/repositories/authorize/state/repository.mjs.map +1 -0
- package/dist/app/modules/oauth2/repositories/client/index.mjs +2 -0
- package/dist/app/modules/oauth2/repositories/client/repository.mjs +22 -0
- package/dist/app/modules/oauth2/repositories/client/repository.mjs.map +1 -0
- package/dist/app/modules/oauth2/repositories/constants.mjs +13 -0
- package/dist/app/modules/oauth2/repositories/constants.mjs.map +1 -0
- package/dist/app/modules/oauth2/repositories/index.mjs +11 -0
- package/dist/app/modules/oauth2/repositories/key/index.mjs +2 -0
- package/dist/app/modules/oauth2/repositories/key/repository.mjs +45 -0
- package/dist/app/modules/oauth2/repositories/key/repository.mjs.map +1 -0
- package/dist/app/modules/oauth2/repositories/scope/index.mjs +2 -0
- package/dist/app/modules/oauth2/repositories/scope/repository.mjs +17 -0
- package/dist/app/modules/oauth2/repositories/scope/repository.mjs.map +1 -0
- package/dist/app/modules/oauth2/repositories/token/index.mjs +2 -0
- package/dist/app/modules/oauth2/repositories/token/repository.mjs +83 -0
- package/dist/app/modules/oauth2/repositories/token/repository.mjs.map +1 -0
- package/dist/app/modules/provisioning/index.mjs +6 -0
- package/dist/app/modules/provisioning/module.mjs +170 -0
- package/dist/app/modules/provisioning/module.mjs.map +1 -0
- package/dist/app/modules/provisioning/sources/composite/index.mjs +2 -0
- package/dist/app/modules/provisioning/sources/composite/module.mjs +43 -0
- package/dist/app/modules/provisioning/sources/composite/module.mjs.map +1 -0
- package/dist/app/modules/provisioning/sources/default/index.mjs +2 -0
- package/dist/app/modules/provisioning/sources/default/module.mjs +250 -0
- package/dist/app/modules/provisioning/sources/default/module.mjs.map +1 -0
- package/dist/app/modules/provisioning/sources/default/types.mjs +1 -0
- package/dist/app/modules/provisioning/sources/file/index.mjs +2 -0
- package/dist/app/modules/provisioning/sources/file/module.mjs +29 -0
- package/dist/app/modules/provisioning/sources/file/module.mjs.map +1 -0
- package/dist/app/modules/provisioning/sources/file/types.mjs +1 -0
- package/dist/app/modules/provisioning/sources/index.mjs +6 -0
- package/dist/app/modules/runtime/index.mjs +2 -0
- package/dist/app/modules/runtime/module.mjs +28 -0
- package/dist/app/modules/runtime/module.mjs.map +1 -0
- package/dist/app/modules/swagger/index.mjs +2 -0
- package/dist/app/modules/swagger/module.mjs +32 -0
- package/dist/app/modules/swagger/module.mjs.map +1 -0
- package/dist/app/types.mjs +1 -0
- package/dist/cli/commands/healthcheck.mjs +34 -0
- package/dist/cli/commands/healthcheck.mjs.map +1 -0
- package/dist/cli/commands/index.mjs +6 -0
- package/dist/cli/commands/migration.mjs +133 -0
- package/dist/cli/commands/migration.mjs.map +1 -0
- package/dist/cli/commands/reset.mjs +20 -0
- package/dist/cli/commands/reset.mjs.map +1 -0
- package/dist/cli/commands/start.mjs +16 -0
- package/dist/cli/commands/start.mjs.map +1 -0
- package/dist/cli/commands/swagger.mjs +29 -0
- package/dist/cli/commands/swagger.mjs.map +1 -0
- package/dist/cli/index.mjs +18 -0
- package/dist/cli/index.mjs.map +1 -0
- package/dist/{cli.mjs → cli/module.mjs} +14 -19
- package/dist/cli/module.mjs.map +1 -0
- package/dist/components/database/index.mjs +4 -0
- package/dist/components/database/unique-entries/factory.mjs +9 -0
- package/dist/components/database/unique-entries/factory.mjs.map +1 -0
- package/dist/components/database/unique-entries/index.mjs +3 -0
- package/dist/components/database/unique-entries/module.mjs +66 -0
- package/dist/components/database/unique-entries/module.mjs.map +1 -0
- package/dist/components/index.mjs +6 -0
- package/dist/components/oauth2-cleaner/index.mjs +2 -0
- package/dist/components/oauth2-cleaner/module.mjs +22 -0
- package/dist/components/oauth2-cleaner/module.mjs.map +1 -0
- package/dist/components/types.mjs +1 -0
- package/dist/core/authentication/base.mjs +20 -0
- package/dist/core/authentication/base.mjs.map +1 -0
- package/dist/core/authentication/credential/entities/client/index.mjs +2 -0
- package/dist/core/authentication/credential/entities/client/module.mjs +21 -0
- package/dist/core/authentication/credential/entities/client/module.mjs.map +1 -0
- package/dist/core/authentication/credential/entities/index.mjs +7 -0
- package/dist/core/authentication/credential/entities/robot/index.mjs +2 -0
- package/dist/core/authentication/credential/entities/robot/module.mjs +19 -0
- package/dist/core/authentication/credential/entities/robot/module.mjs.map +1 -0
- package/dist/core/authentication/credential/entities/user/index.mjs +2 -0
- package/dist/core/authentication/credential/entities/user/module.mjs +15 -0
- package/dist/core/authentication/credential/entities/user/module.mjs.map +1 -0
- package/dist/core/authentication/credential/index.mjs +5 -0
- package/dist/core/authentication/credential/types.mjs +1 -0
- package/dist/core/authentication/entities/client/index.mjs +2 -0
- package/dist/core/authentication/entities/client/module.mjs +27 -0
- package/dist/core/authentication/entities/client/module.mjs.map +1 -0
- package/dist/core/authentication/entities/index.mjs +7 -0
- package/dist/core/authentication/entities/robot/index.mjs +2 -0
- package/dist/core/authentication/entities/robot/module.mjs +25 -0
- package/dist/core/authentication/entities/robot/module.mjs.map +1 -0
- package/dist/core/authentication/entities/user/index.mjs +2 -0
- package/dist/core/authentication/entities/user/module.mjs +25 -0
- package/dist/core/authentication/entities/user/module.mjs.map +1 -0
- package/dist/core/authentication/index.mjs +13 -0
- package/dist/core/authentication/module.mjs +23 -0
- package/dist/core/authentication/module.mjs.map +1 -0
- package/dist/core/authentication/session/index.mjs +2 -0
- package/dist/core/authentication/session/module.mjs +65 -0
- package/dist/core/authentication/session/module.mjs.map +1 -0
- package/dist/core/authentication/session/types.mjs +1 -0
- package/dist/core/authentication/types.mjs +1 -0
- package/dist/core/entities/actor/index.mjs +1 -0
- package/dist/core/entities/actor/types.mjs +1 -0
- package/dist/core/entities/client/index.mjs +2 -0
- package/dist/core/entities/client/service.mjs +168 -0
- package/dist/core/entities/client/service.mjs.map +1 -0
- package/dist/core/entities/client/types.mjs +1 -0
- package/dist/core/entities/client-permission/index.mjs +2 -0
- package/dist/core/entities/client-permission/service.mjs +93 -0
- package/dist/core/entities/client-permission/service.mjs.map +1 -0
- package/dist/core/entities/client-permission/types.mjs +1 -0
- package/dist/core/entities/client-role/index.mjs +2 -0
- package/dist/core/entities/client-role/service.mjs +79 -0
- package/dist/core/entities/client-role/service.mjs.map +1 -0
- package/dist/core/entities/client-role/types.mjs +1 -0
- package/dist/core/entities/client-scope/index.mjs +2 -0
- package/dist/core/entities/client-scope/service.mjs +67 -0
- package/dist/core/entities/client-scope/service.mjs.map +1 -0
- package/dist/core/entities/client-scope/types.mjs +1 -0
- package/dist/core/entities/identity-provider/index.mjs +1 -0
- package/dist/core/entities/identity-provider/types.mjs +1 -0
- package/dist/core/entities/identity-provider-role-mapping/index.mjs +2 -0
- package/dist/core/entities/identity-provider-role-mapping/service.mjs +93 -0
- package/dist/core/entities/identity-provider-role-mapping/service.mjs.map +1 -0
- package/dist/core/entities/identity-provider-role-mapping/types.mjs +1 -0
- package/dist/core/entities/index.mjs +42 -0
- package/dist/core/entities/permission/index.mjs +2 -0
- package/dist/core/entities/permission/service.mjs +238 -0
- package/dist/core/entities/permission/service.mjs.map +1 -0
- package/dist/core/entities/permission/types.mjs +1 -0
- package/dist/core/entities/permission-policy/index.mjs +2 -0
- package/dist/core/entities/permission-policy/service.mjs +59 -0
- package/dist/core/entities/permission-policy/service.mjs.map +1 -0
- package/dist/core/entities/permission-policy/types.mjs +1 -0
- package/dist/core/entities/policy/attributes-validator.mjs +32 -0
- package/dist/core/entities/policy/attributes-validator.mjs.map +1 -0
- package/dist/core/entities/policy/index.mjs +2 -0
- package/dist/core/entities/policy/service.mjs +128 -0
- package/dist/core/entities/policy/service.mjs.map +1 -0
- package/dist/core/entities/policy/types.mjs +1 -0
- package/dist/core/entities/realm/index.mjs +2 -0
- package/dist/core/entities/realm/service.mjs +95 -0
- package/dist/core/entities/realm/service.mjs.map +1 -0
- package/dist/core/entities/realm/types.mjs +1 -0
- package/dist/core/entities/robot/index.mjs +2 -0
- package/dist/core/entities/robot/service.mjs +165 -0
- package/dist/core/entities/robot/service.mjs.map +1 -0
- package/dist/core/entities/robot/types.mjs +1 -0
- package/dist/core/entities/robot-permission/index.mjs +2 -0
- package/dist/core/entities/robot-permission/service.mjs +93 -0
- package/dist/core/entities/robot-permission/service.mjs.map +1 -0
- package/dist/core/entities/robot-permission/types.mjs +1 -0
- package/dist/core/entities/robot-role/index.mjs +2 -0
- package/dist/core/entities/robot-role/service.mjs +79 -0
- package/dist/core/entities/robot-role/service.mjs.map +1 -0
- package/dist/core/entities/robot-role/types.mjs +1 -0
- package/dist/core/entities/role/index.mjs +2 -0
- package/dist/core/entities/role/service.mjs +111 -0
- package/dist/core/entities/role/service.mjs.map +1 -0
- package/dist/core/entities/role/types.mjs +1 -0
- package/dist/core/entities/role-attribute/index.mjs +2 -0
- package/dist/core/entities/role-attribute/service.mjs +102 -0
- package/dist/core/entities/role-attribute/service.mjs.map +1 -0
- package/dist/core/entities/role-attribute/types.mjs +1 -0
- package/dist/core/entities/role-permission/index.mjs +2 -0
- package/dist/core/entities/role-permission/service.mjs +93 -0
- package/dist/core/entities/role-permission/service.mjs.map +1 -0
- package/dist/core/entities/role-permission/types.mjs +1 -0
- package/dist/core/entities/scope/index.mjs +2 -0
- package/dist/core/entities/scope/service.mjs +110 -0
- package/dist/core/entities/scope/service.mjs.map +1 -0
- package/dist/core/entities/scope/types.mjs +1 -0
- package/dist/core/entities/service.mjs +21 -0
- package/dist/core/entities/service.mjs.map +1 -0
- package/dist/core/entities/types.mjs +1 -0
- package/dist/core/entities/user/index.mjs +2 -0
- package/dist/core/entities/user/service.mjs +176 -0
- package/dist/core/entities/user/service.mjs.map +1 -0
- package/dist/core/entities/user/types.mjs +1 -0
- package/dist/core/entities/user-attribute/index.mjs +2 -0
- package/dist/core/entities/user-attribute/service.mjs +92 -0
- package/dist/core/entities/user-attribute/service.mjs.map +1 -0
- package/dist/core/entities/user-attribute/types.mjs +1 -0
- package/dist/core/entities/user-permission/index.mjs +2 -0
- package/dist/core/entities/user-permission/service.mjs +101 -0
- package/dist/core/entities/user-permission/service.mjs.map +1 -0
- package/dist/core/entities/user-permission/types.mjs +1 -0
- package/dist/core/entities/user-role/index.mjs +2 -0
- package/dist/core/entities/user-role/service.mjs +79 -0
- package/dist/core/entities/user-role/service.mjs.map +1 -0
- package/dist/core/entities/user-role/types.mjs +1 -0
- package/dist/core/identity/entities/client/index.mjs +1 -0
- package/dist/core/identity/entities/client/types.mjs +1 -0
- package/dist/core/identity/entities/index.mjs +1 -0
- package/dist/core/identity/entities/robot/index.mjs +1 -0
- package/dist/core/identity/entities/robot/types.mjs +1 -0
- package/dist/core/identity/entities/user/index.mjs +1 -0
- package/dist/core/identity/entities/user/types.mjs +1 -0
- package/dist/core/identity/index.mjs +27 -0
- package/dist/core/identity/password-recovery/index.mjs +2 -0
- package/dist/core/identity/password-recovery/service.mjs +124 -0
- package/dist/core/identity/password-recovery/service.mjs.map +1 -0
- package/dist/core/identity/password-recovery/types.mjs +1 -0
- package/dist/core/identity/permission/index.mjs +2 -0
- package/dist/core/identity/permission/module.mjs +90 -0
- package/dist/core/identity/permission/module.mjs.map +1 -0
- package/dist/core/identity/permission/types.mjs +1 -0
- package/dist/core/identity/provider/account/index.mjs +2 -0
- package/dist/core/identity/provider/account/module.mjs +141 -0
- package/dist/core/identity/provider/account/module.mjs.map +1 -0
- package/dist/core/identity/provider/account/types.mjs +1 -0
- package/dist/core/identity/provider/authentication/constants.mjs +7 -0
- package/dist/core/identity/provider/authentication/constants.mjs.map +1 -0
- package/dist/core/identity/provider/authentication/factory.mjs +24 -0
- package/dist/core/identity/provider/authentication/factory.mjs.map +1 -0
- package/dist/core/identity/provider/authentication/index.mjs +14 -0
- package/dist/core/identity/provider/authentication/presets/facebook.mjs +35 -0
- package/dist/core/identity/provider/authentication/presets/facebook.mjs.map +1 -0
- package/dist/core/identity/provider/authentication/presets/github.mjs +37 -0
- package/dist/core/identity/provider/authentication/presets/github.mjs.map +1 -0
- package/dist/core/identity/provider/authentication/presets/google.mjs +36 -0
- package/dist/core/identity/provider/authentication/presets/google.mjs.map +1 -0
- package/dist/core/identity/provider/authentication/presets/index.mjs +6 -0
- package/dist/core/identity/provider/authentication/presets/instagram.mjs +30 -0
- package/dist/core/identity/provider/authentication/presets/instagram.mjs.map +1 -0
- package/dist/core/identity/provider/authentication/presets/paypal.mjs +33 -0
- package/dist/core/identity/provider/authentication/presets/paypal.mjs.map +1 -0
- package/dist/core/identity/provider/authentication/protocols/index.mjs +8 -0
- package/dist/core/identity/provider/authentication/protocols/ldap/collection.mjs +36 -0
- package/dist/core/identity/provider/authentication/protocols/ldap/collection.mjs.map +1 -0
- package/dist/core/identity/provider/authentication/protocols/ldap/index.mjs +3 -0
- package/dist/core/identity/provider/authentication/protocols/ldap/module.mjs +154 -0
- package/dist/core/identity/provider/authentication/protocols/ldap/module.mjs.map +1 -0
- package/dist/core/identity/provider/authentication/protocols/ldap/types.mjs +1 -0
- package/dist/core/identity/provider/authentication/protocols/oauth2/index.mjs +2 -0
- package/dist/core/identity/provider/authentication/protocols/oauth2/module.mjs +62 -0
- package/dist/core/identity/provider/authentication/protocols/oauth2/module.mjs.map +1 -0
- package/dist/core/identity/provider/authentication/protocols/oauth2/types.mjs +1 -0
- package/dist/core/identity/provider/authentication/protocols/open-id/index.mjs +2 -0
- package/dist/core/identity/provider/authentication/protocols/open-id/module.mjs +26 -0
- package/dist/core/identity/provider/authentication/protocols/open-id/module.mjs.map +1 -0
- package/dist/core/identity/provider/constants.mjs +10 -0
- package/dist/core/identity/provider/constants.mjs.map +1 -0
- package/dist/core/identity/provider/index.mjs +21 -0
- package/dist/core/identity/provider/mapper/attributes/index.mjs +2 -0
- package/dist/core/identity/provider/mapper/attributes/module.mjs +27 -0
- package/dist/core/identity/provider/mapper/attributes/module.mjs.map +1 -0
- package/dist/core/identity/provider/mapper/attributes/types.mjs +1 -0
- package/dist/core/identity/provider/mapper/base.mjs +26 -0
- package/dist/core/identity/provider/mapper/base.mjs.map +1 -0
- package/dist/core/identity/provider/mapper/constants.mjs +11 -0
- package/dist/core/identity/provider/mapper/constants.mjs.map +1 -0
- package/dist/core/identity/provider/mapper/index.mjs +9 -0
- package/dist/core/identity/provider/mapper/permission/index.mjs +2 -0
- package/dist/core/identity/provider/mapper/permission/module.mjs +26 -0
- package/dist/core/identity/provider/mapper/permission/module.mjs.map +1 -0
- package/dist/core/identity/provider/mapper/permission/types.mjs +1 -0
- package/dist/core/identity/provider/mapper/role/index.mjs +2 -0
- package/dist/core/identity/provider/mapper/role/module.mjs +26 -0
- package/dist/core/identity/provider/mapper/role/module.mjs.map +1 -0
- package/dist/core/identity/provider/mapper/role/types.mjs +1 -0
- package/dist/core/identity/provider/mapper/types.mjs +1 -0
- package/dist/core/identity/provider/types.mjs +1 -0
- package/dist/core/identity/registration/index.mjs +2 -0
- package/dist/core/identity/registration/service.mjs +68 -0
- package/dist/core/identity/registration/service.mjs.map +1 -0
- package/dist/core/identity/registration/types.mjs +1 -0
- package/dist/core/identity/resolver/entities/ldap/module.mjs +8 -0
- package/dist/core/identity/resolver/entities/ldap/module.mjs.map +1 -0
- package/dist/core/identity/resolver/index.mjs +2 -0
- package/dist/core/identity/resolver/module.mjs +55 -0
- package/dist/core/identity/resolver/module.mjs.map +1 -0
- package/dist/core/identity/resolver/types.mjs +1 -0
- package/dist/core/index.mjs +104 -0
- package/dist/core/ldap/index.mjs +1 -0
- package/dist/core/ldap/types.mjs +1 -0
- package/dist/core/mail/index.mjs +1 -0
- package/dist/core/mail/types.mjs +1 -0
- package/dist/core/oauth2/authorization/code/index.mjs +4 -0
- package/dist/core/oauth2/authorization/code/issuer/index.mjs +2 -0
- package/dist/core/oauth2/authorization/code/issuer/module.mjs +33 -0
- package/dist/core/oauth2/authorization/code/issuer/module.mjs.map +1 -0
- package/dist/core/oauth2/authorization/code/issuer/types.mjs +1 -0
- package/dist/core/oauth2/authorization/code/repository/index.mjs +1 -0
- package/dist/core/oauth2/authorization/code/repository/types.mjs +1 -0
- package/dist/core/oauth2/authorization/code/verifier/index.mjs +2 -0
- package/dist/core/oauth2/authorization/code/verifier/module.mjs +27 -0
- package/dist/core/oauth2/authorization/code/verifier/module.mjs.map +1 -0
- package/dist/core/oauth2/authorization/code/verifier/types.mjs +1 -0
- package/dist/core/oauth2/authorization/code-request/index.mjs +4 -0
- package/dist/core/oauth2/authorization/code-request/validator.mjs +35 -0
- package/dist/core/oauth2/authorization/code-request/validator.mjs.map +1 -0
- package/dist/core/oauth2/authorization/code-request/verifier/index.mjs +2 -0
- package/dist/core/oauth2/authorization/code-request/verifier/module.mjs +41 -0
- package/dist/core/oauth2/authorization/code-request/verifier/module.mjs.map +1 -0
- package/dist/core/oauth2/authorization/code-request/verifier/types.mjs +1 -0
- package/dist/core/oauth2/authorization/helpers.mjs +27 -0
- package/dist/core/oauth2/authorization/helpers.mjs.map +1 -0
- package/dist/core/oauth2/authorization/index.mjs +11 -0
- package/dist/core/oauth2/authorization/module.mjs +66 -0
- package/dist/core/oauth2/authorization/module.mjs.map +1 -0
- package/dist/core/oauth2/authorization/state/index.mjs +2 -0
- package/dist/core/oauth2/authorization/state/module.mjs +23 -0
- package/dist/core/oauth2/authorization/state/module.mjs.map +1 -0
- package/dist/core/oauth2/authorization/state/types.mjs +1 -0
- package/dist/core/oauth2/authorization/types.mjs +1 -0
- package/dist/core/oauth2/client/index.mjs +1 -0
- package/dist/core/oauth2/client/types.mjs +1 -0
- package/dist/core/oauth2/grant-types/authorize.mjs +50 -0
- package/dist/core/oauth2/grant-types/authorize.mjs.map +1 -0
- package/dist/core/oauth2/grant-types/base.mjs +13 -0
- package/dist/core/oauth2/grant-types/base.mjs.map +1 -0
- package/dist/core/oauth2/grant-types/client-credentials.mjs +35 -0
- package/dist/core/oauth2/grant-types/client-credentials.mjs.map +1 -0
- package/dist/core/oauth2/grant-types/identity.mjs +46 -0
- package/dist/core/oauth2/grant-types/identity.mjs.map +1 -0
- package/dist/core/oauth2/grant-types/index.mjs +7 -0
- package/dist/core/oauth2/grant-types/password.mjs +48 -0
- package/dist/core/oauth2/grant-types/password.mjs.map +1 -0
- package/dist/core/oauth2/grant-types/refresh-token.mjs +53 -0
- package/dist/core/oauth2/grant-types/refresh-token.mjs.map +1 -0
- package/dist/core/oauth2/grant-types/robot-credentials.mjs +35 -0
- package/dist/core/oauth2/grant-types/robot-credentials.mjs.map +1 -0
- package/dist/core/oauth2/grant-types/types.mjs +1 -0
- package/dist/core/oauth2/helpers/erorr.mjs +26 -0
- package/dist/core/oauth2/helpers/erorr.mjs.map +1 -0
- package/dist/core/oauth2/helpers/index.mjs +2 -0
- package/dist/core/oauth2/index.mjs +28 -0
- package/dist/core/oauth2/key/index.mjs +1 -0
- package/dist/core/oauth2/key/types.mjs +1 -0
- package/dist/core/oauth2/openid/claims.mjs +75 -0
- package/dist/core/oauth2/openid/claims.mjs.map +1 -0
- package/dist/core/oauth2/openid/index.mjs +2 -0
- package/dist/core/oauth2/response/bearer.mjs +24 -0
- package/dist/core/oauth2/response/bearer.mjs.map +1 -0
- package/dist/core/oauth2/response/index.mjs +2 -0
- package/dist/core/oauth2/response/type.mjs +1 -0
- package/dist/core/oauth2/scope/index.mjs +2 -0
- package/dist/core/oauth2/scope/resolver.mjs +93 -0
- package/dist/core/oauth2/scope/resolver.mjs.map +1 -0
- package/dist/core/oauth2/scope/types.mjs +1 -0
- package/dist/core/oauth2/token/index.mjs +11 -0
- package/dist/core/oauth2/token/issuer/access/index.mjs +2 -0
- package/dist/core/oauth2/token/issuer/access/module.mjs +28 -0
- package/dist/core/oauth2/token/issuer/access/module.mjs.map +1 -0
- package/dist/core/oauth2/token/issuer/base.mjs +26 -0
- package/dist/core/oauth2/token/issuer/base.mjs.map +1 -0
- package/dist/core/oauth2/token/issuer/index.mjs +7 -0
- package/dist/core/oauth2/token/issuer/open-id/index.mjs +2 -0
- package/dist/core/oauth2/token/issuer/open-id/module.mjs +47 -0
- package/dist/core/oauth2/token/issuer/open-id/module.mjs.map +1 -0
- package/dist/core/oauth2/token/issuer/open-id/types.mjs +1 -0
- package/dist/core/oauth2/token/issuer/refresh/index.mjs +2 -0
- package/dist/core/oauth2/token/issuer/refresh/module.mjs +28 -0
- package/dist/core/oauth2/token/issuer/refresh/module.mjs.map +1 -0
- package/dist/core/oauth2/token/issuer/types.mjs +1 -0
- package/dist/core/oauth2/token/repository/index.mjs +1 -0
- package/dist/core/oauth2/token/repository/types.mjs +1 -0
- package/dist/core/oauth2/token/revoker/index.mjs +2 -0
- package/dist/core/oauth2/token/revoker/module.mjs +16 -0
- package/dist/core/oauth2/token/revoker/module.mjs.map +1 -0
- package/dist/core/oauth2/token/revoker/types.mjs +1 -0
- package/dist/core/oauth2/token/signer/index.mjs +2 -0
- package/dist/core/oauth2/token/signer/module.mjs +38 -0
- package/dist/core/oauth2/token/signer/module.mjs.map +1 -0
- package/dist/core/oauth2/token/signer/types.mjs +1 -0
- package/dist/core/oauth2/token/verifier/index.mjs +2 -0
- package/dist/core/oauth2/token/verifier/module.mjs +62 -0
- package/dist/core/oauth2/token/verifier/module.mjs.map +1 -0
- package/dist/core/oauth2/token/verifier/types.mjs +1 -0
- package/dist/core/provisioning/entities/client/index.mjs +2 -0
- package/dist/core/provisioning/entities/client/relations-validator.mjs +25 -0
- package/dist/core/provisioning/entities/client/relations-validator.mjs.map +1 -0
- package/dist/core/provisioning/entities/client/types.mjs +1 -0
- package/dist/core/provisioning/entities/client/validator.mjs +21 -0
- package/dist/core/provisioning/entities/client/validator.mjs.map +1 -0
- package/dist/core/provisioning/entities/index.mjs +17 -0
- package/dist/core/provisioning/entities/permission/index.mjs +2 -0
- package/dist/core/provisioning/entities/permission/types.mjs +1 -0
- package/dist/core/provisioning/entities/permission/validator.mjs +18 -0
- package/dist/core/provisioning/entities/permission/validator.mjs.map +1 -0
- package/dist/core/provisioning/entities/policy/index.mjs +1 -0
- package/dist/core/provisioning/entities/policy/types.mjs +1 -0
- package/dist/core/provisioning/entities/realm/index.mjs +2 -0
- package/dist/core/provisioning/entities/realm/relations-validator.mjs +81 -0
- package/dist/core/provisioning/entities/realm/relations-validator.mjs.map +1 -0
- package/dist/core/provisioning/entities/realm/types.mjs +1 -0
- package/dist/core/provisioning/entities/realm/validator.mjs +21 -0
- package/dist/core/provisioning/entities/realm/validator.mjs.map +1 -0
- package/dist/core/provisioning/entities/robot/index.mjs +2 -0
- package/dist/core/provisioning/entities/robot/relations-validator.mjs +17 -0
- package/dist/core/provisioning/entities/robot/relations-validator.mjs.map +1 -0
- package/dist/core/provisioning/entities/robot/types.mjs +1 -0
- package/dist/core/provisioning/entities/robot/validator.mjs +21 -0
- package/dist/core/provisioning/entities/robot/validator.mjs.map +1 -0
- package/dist/core/provisioning/entities/role/index.mjs +2 -0
- package/dist/core/provisioning/entities/role/relations-validator.mjs +15 -0
- package/dist/core/provisioning/entities/role/relations-validator.mjs.map +1 -0
- package/dist/core/provisioning/entities/role/types.mjs +1 -0
- package/dist/core/provisioning/entities/role/validator.mjs +21 -0
- package/dist/core/provisioning/entities/role/validator.mjs.map +1 -0
- package/dist/core/provisioning/entities/root/index.mjs +2 -0
- package/dist/core/provisioning/entities/root/types.mjs +1 -0
- package/dist/core/provisioning/entities/root/validator.mjs +53 -0
- package/dist/core/provisioning/entities/root/validator.mjs.map +1 -0
- package/dist/core/provisioning/entities/scope/index.mjs +2 -0
- package/dist/core/provisioning/entities/scope/types.mjs +1 -0
- package/dist/core/provisioning/entities/scope/validator.mjs +18 -0
- package/dist/core/provisioning/entities/scope/validator.mjs.map +1 -0
- package/dist/core/provisioning/entities/types.mjs +1 -0
- package/dist/core/provisioning/entities/user/index.mjs +2 -0
- package/dist/core/provisioning/entities/user/relations-validator.mjs +19 -0
- package/dist/core/provisioning/entities/user/relations-validator.mjs.map +1 -0
- package/dist/core/provisioning/entities/user/types.mjs +1 -0
- package/dist/core/provisioning/entities/user/validator.mjs +21 -0
- package/dist/core/provisioning/entities/user/validator.mjs.map +1 -0
- package/dist/core/provisioning/index.mjs +26 -0
- package/dist/core/provisioning/strategy/constants.mjs +12 -0
- package/dist/core/provisioning/strategy/constants.mjs.map +1 -0
- package/dist/core/provisioning/strategy/index.mjs +4 -0
- package/dist/core/provisioning/strategy/normalize.mjs +10 -0
- package/dist/core/provisioning/strategy/normalize.mjs.map +1 -0
- package/dist/core/provisioning/strategy/types.mjs +1 -0
- package/dist/core/provisioning/strategy/validator.mjs +30 -0
- package/dist/core/provisioning/strategy/validator.mjs.map +1 -0
- package/dist/core/provisioning/synchronizer/base.mjs +12 -0
- package/dist/core/provisioning/synchronizer/base.mjs.map +1 -0
- package/dist/core/provisioning/synchronizer/client/index.mjs +2 -0
- package/dist/core/provisioning/synchronizer/client/module.mjs +88 -0
- package/dist/core/provisioning/synchronizer/client/module.mjs.map +1 -0
- package/dist/core/provisioning/synchronizer/client/types.mjs +1 -0
- package/dist/core/provisioning/synchronizer/entity-resolver.mjs +47 -0
- package/dist/core/provisioning/synchronizer/entity-resolver.mjs.map +1 -0
- package/dist/core/provisioning/synchronizer/index.mjs +19 -0
- package/dist/core/provisioning/synchronizer/junction-synchronizer.mjs +26 -0
- package/dist/core/provisioning/synchronizer/junction-synchronizer.mjs.map +1 -0
- package/dist/core/provisioning/synchronizer/permission/index.mjs +2 -0
- package/dist/core/provisioning/synchronizer/permission/module.mjs +47 -0
- package/dist/core/provisioning/synchronizer/permission/module.mjs.map +1 -0
- package/dist/core/provisioning/synchronizer/permission/types.mjs +1 -0
- package/dist/core/provisioning/synchronizer/policy/index.mjs +2 -0
- package/dist/core/provisioning/synchronizer/policy/module.mjs +65 -0
- package/dist/core/provisioning/synchronizer/policy/module.mjs.map +1 -0
- package/dist/core/provisioning/synchronizer/policy/types.mjs +1 -0
- package/dist/core/provisioning/synchronizer/realm/index.mjs +2 -0
- package/dist/core/provisioning/synchronizer/realm/module.mjs +103 -0
- package/dist/core/provisioning/synchronizer/realm/module.mjs.map +1 -0
- package/dist/core/provisioning/synchronizer/realm/types.mjs +1 -0
- package/dist/core/provisioning/synchronizer/robot/index.mjs +2 -0
- package/dist/core/provisioning/synchronizer/robot/module.mjs +68 -0
- package/dist/core/provisioning/synchronizer/robot/module.mjs.map +1 -0
- package/dist/core/provisioning/synchronizer/robot/types.mjs +1 -0
- package/dist/core/provisioning/synchronizer/role/index.mjs +2 -0
- package/dist/core/provisioning/synchronizer/role/module.mjs +93 -0
- package/dist/core/provisioning/synchronizer/role/module.mjs.map +1 -0
- package/dist/core/provisioning/synchronizer/role/types.mjs +1 -0
- package/dist/core/provisioning/synchronizer/root/index.mjs +2 -0
- package/dist/core/provisioning/synchronizer/root/module.mjs +30 -0
- package/dist/core/provisioning/synchronizer/root/module.mjs.map +1 -0
- package/dist/core/provisioning/synchronizer/root/types.mjs +1 -0
- package/dist/core/provisioning/synchronizer/scope/index.mjs +2 -0
- package/dist/core/provisioning/synchronizer/scope/module.mjs +46 -0
- package/dist/core/provisioning/synchronizer/scope/module.mjs.map +1 -0
- package/dist/core/provisioning/synchronizer/scope/types.mjs +1 -0
- package/dist/core/provisioning/synchronizer/user/index.mjs +2 -0
- package/dist/core/provisioning/synchronizer/user/module.mjs +103 -0
- package/dist/core/provisioning/synchronizer/user/module.mjs.map +1 -0
- package/dist/core/provisioning/synchronizer/user/types.mjs +1 -0
- package/dist/core/provisioning/types.mjs +1 -0
- package/dist/core/security/index.mjs +4 -0
- package/dist/core/security/policy/engine.mjs +13 -0
- package/dist/core/security/policy/engine.mjs.map +1 -0
- package/dist/core/security/policy/evaluator.mjs +69 -0
- package/dist/core/security/policy/evaluator.mjs.map +1 -0
- package/dist/core/security/policy/index.mjs +3 -0
- package/dist/index.mjs +208 -1
- package/dist/path.mjs +12 -0
- package/dist/path.mjs.map +1 -0
- package/dist/utils/error.mjs +67 -0
- package/dist/utils/error.mjs.map +1 -0
- package/dist/utils/host.mjs +9 -0
- package/dist/utils/host.mjs.map +1 -0
- package/dist/utils/index.mjs +3 -0
- package/dist/utils/self-id.mjs +8 -0
- package/dist/utils/self-id.mjs.map +1 -0
- package/package.json +14 -14
- package/dist/cli.mjs.map +0 -1
- package/dist/commands-D5p6u-xJ.mjs +0 -18546
- package/dist/commands-D5p6u-xJ.mjs.map +0 -1
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { ClientCredentialsService } from "../../credential/entities/client/module.mjs";
|
|
2
|
+
import "../../credential/index.mjs";
|
|
3
|
+
import { BaseCredentialsAuthenticator } from "../../base.mjs";
|
|
4
|
+
import { ClientError, IdentityType } from "@authup/core-kit";
|
|
5
|
+
//#region src/core/authentication/entities/client/module.ts
|
|
6
|
+
var ClientAuthenticator = class extends BaseCredentialsAuthenticator {
|
|
7
|
+
identityResolver;
|
|
8
|
+
credentialsService;
|
|
9
|
+
constructor(identityResolver) {
|
|
10
|
+
super();
|
|
11
|
+
this.identityResolver = identityResolver;
|
|
12
|
+
this.credentialsService = new ClientCredentialsService();
|
|
13
|
+
}
|
|
14
|
+
async authenticate(key, secret, realmId) {
|
|
15
|
+
const identity = await this.identityResolver.resolve(IdentityType.CLIENT, key, realmId);
|
|
16
|
+
if (!identity || identity.type !== IdentityType.CLIENT) throw ClientError.credentialsInvalid();
|
|
17
|
+
if (!identity.data.active) throw ClientError.inactive();
|
|
18
|
+
if (identity.data.is_confidential) {
|
|
19
|
+
if (!await this.credentialsService.verify(secret, identity.data)) throw ClientError.credentialsInvalid();
|
|
20
|
+
} else throw ClientError.invalid();
|
|
21
|
+
return identity.data;
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
//#endregion
|
|
25
|
+
export { ClientAuthenticator };
|
|
26
|
+
|
|
27
|
+
//# sourceMappingURL=module.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.mjs","names":["ClientError","IdentityType","ClientCredentialsService","BaseCredentialsAuthenticator","ClientAuthenticator","identityResolver","credentialsService","authenticate","key","secret","realmId","identity","resolve","CLIENT","type","credentialsInvalid","data","active","inactive","is_confidential","verified","verify","invalid"],"sources":["../../../../../src/core/authentication/entities/client/module.ts"],"sourcesContent":["/*\n * Copyright (c) 2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { Client } from '@authup/core-kit';\nimport { ClientError, IdentityType } from '@authup/core-kit';\nimport type { IIdentityResolver } from '../../../identity/index.ts';\nimport { ClientCredentialsService } from '../../credential/index.ts';\nimport { BaseCredentialsAuthenticator } from '../../base.ts';\n\nexport class ClientAuthenticator extends BaseCredentialsAuthenticator<Client> {\n protected identityResolver : IIdentityResolver;\n\n protected credentialsService : ClientCredentialsService;\n\n constructor(identityResolver: IIdentityResolver) {\n super();\n\n this.identityResolver = identityResolver;\n this.credentialsService = new ClientCredentialsService();\n }\n\n async authenticate(key: string, secret: string, realmId?: string): Promise<Client> {\n const identity = await this.identityResolver.resolve(IdentityType.CLIENT, key, realmId);\n if (!identity || identity.type !== IdentityType.CLIENT) {\n throw ClientError.credentialsInvalid();\n }\n\n if (!identity.data.active) {\n throw ClientError.inactive();\n }\n\n if (identity.data.is_confidential) {\n const verified = await this.credentialsService.verify(secret, identity.data);\n if (!verified) {\n throw ClientError.credentialsInvalid();\n }\n } else {\n throw ClientError.invalid();\n }\n\n return identity.data;\n }\n}\n"],"mappings":";;;;;AAaA,IAAaI,sBAAb,cAAyCD,6BAAAA;CAC3BE;CAEAC;CAEV,YAAYD,kBAAqC;AAC7C,SAAK;AAEL,OAAKA,mBAAmBA;AACxB,OAAKC,qBAAqB,IAAIJ,0BAAAA;;CAGlC,MAAMK,aAAaC,KAAaC,QAAgBC,SAAmC;EAC/E,MAAMC,WAAW,MAAM,KAAKN,iBAAiBO,QAAQX,aAAaY,QAAQL,KAAKE,QAAAA;AAC/E,MAAI,CAACC,YAAYA,SAASG,SAASb,aAAaY,OAC5C,OAAMb,YAAYe,oBAAkB;AAGxC,MAAI,CAACJ,SAASK,KAAKC,OACf,OAAMjB,YAAYkB,UAAQ;AAG9B,MAAIP,SAASK,KAAKG;OAEV,CAACC,MADkB,KAAKd,mBAAmBe,OAAOZ,QAAQE,SAASK,KAAI,CAEvE,OAAMhB,YAAYe,oBAAkB;QAGxC,OAAMf,YAAYsB,SAAO;AAG7B,SAAOX,SAASK"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ClientAuthenticator } from "./client/module.mjs";
|
|
2
|
+
import "./client/index.mjs";
|
|
3
|
+
import { RobotAuthenticator } from "./robot/module.mjs";
|
|
4
|
+
import "./robot/index.mjs";
|
|
5
|
+
import { UserAuthenticator } from "./user/module.mjs";
|
|
6
|
+
import "./user/index.mjs";
|
|
7
|
+
export { ClientAuthenticator, RobotAuthenticator, UserAuthenticator };
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { RobotCredentialsService } from "../../credential/entities/robot/module.mjs";
|
|
2
|
+
import "../../credential/index.mjs";
|
|
3
|
+
import { BaseCredentialsAuthenticator } from "../../base.mjs";
|
|
4
|
+
import { IdentityType, RobotError } from "@authup/core-kit";
|
|
5
|
+
//#region src/core/authentication/entities/robot/module.ts
|
|
6
|
+
var RobotAuthenticator = class extends BaseCredentialsAuthenticator {
|
|
7
|
+
identityResolver;
|
|
8
|
+
credentialsService;
|
|
9
|
+
constructor(identityResolver) {
|
|
10
|
+
super();
|
|
11
|
+
this.identityResolver = identityResolver;
|
|
12
|
+
this.credentialsService = new RobotCredentialsService();
|
|
13
|
+
}
|
|
14
|
+
async authenticate(key, secret, realmId) {
|
|
15
|
+
const identity = await this.identityResolver.resolve(IdentityType.ROBOT, key, realmId);
|
|
16
|
+
if (!identity || identity.type !== IdentityType.ROBOT) throw RobotError.credentialsInvalid();
|
|
17
|
+
if (!await this.credentialsService.verify(secret, identity.data)) throw RobotError.credentialsInvalid();
|
|
18
|
+
if (!identity.data.active) throw RobotError.inactive();
|
|
19
|
+
return identity.data;
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
//#endregion
|
|
23
|
+
export { RobotAuthenticator };
|
|
24
|
+
|
|
25
|
+
//# sourceMappingURL=module.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.mjs","names":["IdentityType","RobotError","RobotCredentialsService","BaseCredentialsAuthenticator","RobotAuthenticator","identityResolver","credentialsService","authenticate","key","secret","realmId","identity","resolve","ROBOT","type","credentialsInvalid","verified","verify","data","active","inactive"],"sources":["../../../../../src/core/authentication/entities/robot/module.ts"],"sourcesContent":["/*\n * Copyright (c) 2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { Robot } from '@authup/core-kit';\nimport { IdentityType, RobotError } from '@authup/core-kit';\nimport type { IIdentityResolver } from '../../../identity/index.ts';\nimport { RobotCredentialsService } from '../../credential/index.ts';\nimport { BaseCredentialsAuthenticator } from '../../base.ts';\n\nexport class RobotAuthenticator extends BaseCredentialsAuthenticator<Robot> {\n protected identityResolver : IIdentityResolver;\n\n protected credentialsService : RobotCredentialsService;\n\n constructor(identityResolver: IIdentityResolver) {\n super();\n\n this.identityResolver = identityResolver;\n this.credentialsService = new RobotCredentialsService();\n }\n\n async authenticate(key: string, secret: string, realmId?: string): Promise<Robot> {\n const identity = await this.identityResolver.resolve(IdentityType.ROBOT, key, realmId);\n if (!identity || identity.type !== IdentityType.ROBOT) {\n throw RobotError.credentialsInvalid();\n }\n\n const verified = await this.credentialsService.verify(secret, identity.data);\n if (!verified) {\n throw RobotError.credentialsInvalid();\n }\n\n if (!identity.data.active) {\n throw RobotError.inactive();\n }\n\n return identity.data;\n }\n}\n"],"mappings":";;;;;AAaA,IAAaI,qBAAb,cAAwCD,6BAAAA;CAC1BE;CAEAC;CAEV,YAAYD,kBAAqC;AAC7C,SAAK;AAEL,OAAKA,mBAAmBA;AACxB,OAAKC,qBAAqB,IAAIJ,yBAAAA;;CAGlC,MAAMK,aAAaC,KAAaC,QAAgBC,SAAkC;EAC9E,MAAMC,WAAW,MAAM,KAAKN,iBAAiBO,QAAQZ,aAAaa,OAAOL,KAAKE,QAAAA;AAC9E,MAAI,CAACC,YAAYA,SAASG,SAASd,aAAaa,MAC5C,OAAMZ,WAAWc,oBAAkB;AAIvC,MAAI,CAACC,MADkB,KAAKV,mBAAmBW,OAAOR,QAAQE,SAASO,KAAI,CAEvE,OAAMjB,WAAWc,oBAAkB;AAGvC,MAAI,CAACJ,SAASO,KAAKC,OACf,OAAMlB,WAAWmB,UAAQ;AAG7B,SAAOT,SAASO"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { UserCredentialsService } from "../../credential/entities/user/module.mjs";
|
|
2
|
+
import "../../credential/index.mjs";
|
|
3
|
+
import { BaseCredentialsAuthenticator } from "../../base.mjs";
|
|
4
|
+
import { IdentityType, UserError } from "@authup/core-kit";
|
|
5
|
+
//#region src/core/authentication/entities/user/module.ts
|
|
6
|
+
var UserAuthenticator = class extends BaseCredentialsAuthenticator {
|
|
7
|
+
identityResolver;
|
|
8
|
+
credentialsService;
|
|
9
|
+
constructor(identityResolver) {
|
|
10
|
+
super();
|
|
11
|
+
this.identityResolver = identityResolver;
|
|
12
|
+
this.credentialsService = new UserCredentialsService();
|
|
13
|
+
}
|
|
14
|
+
async authenticate(key, secret, realmId) {
|
|
15
|
+
const identity = await this.identityResolver.resolve(IdentityType.USER, key, realmId);
|
|
16
|
+
if (!identity || identity.type !== IdentityType.USER) throw UserError.credentialsInvalid();
|
|
17
|
+
if (!await this.credentialsService.verify(secret, identity.data)) throw UserError.credentialsInvalid();
|
|
18
|
+
if (!identity.data.active) throw UserError.inactive();
|
|
19
|
+
return identity.data;
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
//#endregion
|
|
23
|
+
export { UserAuthenticator };
|
|
24
|
+
|
|
25
|
+
//# sourceMappingURL=module.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.mjs","names":["IdentityType","UserError","UserCredentialsService","BaseCredentialsAuthenticator","UserAuthenticator","identityResolver","credentialsService","authenticate","key","secret","realmId","identity","resolve","USER","type","credentialsInvalid","verified","verify","data","active","inactive"],"sources":["../../../../../src/core/authentication/entities/user/module.ts"],"sourcesContent":["/*\n * Copyright (c) 2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { User } from '@authup/core-kit';\nimport { IdentityType, UserError } from '@authup/core-kit';\nimport type { IIdentityResolver } from '../../../identity/index.ts';\nimport { UserCredentialsService } from '../../credential/index.ts';\nimport { BaseCredentialsAuthenticator } from '../../base.ts';\n\nexport class UserAuthenticator extends BaseCredentialsAuthenticator<User> {\n protected identityResolver : IIdentityResolver;\n\n protected credentialsService : UserCredentialsService;\n\n constructor(identityResolver: IIdentityResolver) {\n super();\n\n this.identityResolver = identityResolver;\n this.credentialsService = new UserCredentialsService();\n }\n\n async authenticate(key: string, secret: string, realmId?: string): Promise<User> {\n const identity = await this.identityResolver.resolve(IdentityType.USER, key, realmId);\n if (!identity || identity.type !== IdentityType.USER) {\n throw UserError.credentialsInvalid();\n }\n\n const verified = await this.credentialsService.verify(secret, identity.data);\n if (!verified) {\n throw UserError.credentialsInvalid();\n }\n\n if (!identity.data.active) {\n throw UserError.inactive();\n }\n\n return identity.data;\n }\n}\n"],"mappings":";;;;;AAaA,IAAaI,oBAAb,cAAuCD,6BAAAA;CACzBE;CAEAC;CAEV,YAAYD,kBAAqC;AAC7C,SAAK;AAEL,OAAKA,mBAAmBA;AACxB,OAAKC,qBAAqB,IAAIJ,wBAAAA;;CAGlC,MAAMK,aAAaC,KAAaC,QAAgBC,SAAiC;EAC7E,MAAMC,WAAW,MAAM,KAAKN,iBAAiBO,QAAQZ,aAAaa,MAAML,KAAKE,QAAAA;AAC7E,MAAI,CAACC,YAAYA,SAASG,SAASd,aAAaa,KAC5C,OAAMZ,UAAUc,oBAAkB;AAItC,MAAI,CAACC,MADkB,KAAKV,mBAAmBW,OAAOR,QAAQE,SAASO,KAAI,CAEvE,OAAMjB,UAAUc,oBAAkB;AAGtC,MAAI,CAACJ,SAASO,KAAKC,OACf,OAAMlB,UAAUmB,UAAQ;AAG5B,SAAOT,SAASO"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ClientCredentialsService } from "./credential/entities/client/module.mjs";
|
|
2
|
+
import { RobotCredentialsService } from "./credential/entities/robot/module.mjs";
|
|
3
|
+
import { UserCredentialsService } from "./credential/entities/user/module.mjs";
|
|
4
|
+
import "./credential/index.mjs";
|
|
5
|
+
import { BaseCredentialsAuthenticator } from "./base.mjs";
|
|
6
|
+
import { ClientAuthenticator } from "./entities/client/module.mjs";
|
|
7
|
+
import { RobotAuthenticator } from "./entities/robot/module.mjs";
|
|
8
|
+
import { UserAuthenticator } from "./entities/user/module.mjs";
|
|
9
|
+
import "./entities/index.mjs";
|
|
10
|
+
import { CredentialsAuthenticator } from "./module.mjs";
|
|
11
|
+
import { SessionManager } from "./session/module.mjs";
|
|
12
|
+
import "./session/index.mjs";
|
|
13
|
+
export { BaseCredentialsAuthenticator, ClientAuthenticator, ClientCredentialsService, CredentialsAuthenticator, RobotAuthenticator, RobotCredentialsService, SessionManager, UserAuthenticator, UserCredentialsService };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { BaseCredentialsAuthenticator } from "./base.mjs";
|
|
2
|
+
//#region src/core/authentication/module.ts
|
|
3
|
+
var CredentialsAuthenticator = class extends BaseCredentialsAuthenticator {
|
|
4
|
+
strategies;
|
|
5
|
+
constructor(strategies) {
|
|
6
|
+
super();
|
|
7
|
+
this.strategies = strategies;
|
|
8
|
+
}
|
|
9
|
+
async authenticate(key, value, realmId) {
|
|
10
|
+
let error;
|
|
11
|
+
for (let i = 0; i < this.strategies.length; i++) {
|
|
12
|
+
const output = await this.strategies[i].safeAuthenticate(key, value, realmId);
|
|
13
|
+
if (output.success) return output.data;
|
|
14
|
+
error = output.error;
|
|
15
|
+
}
|
|
16
|
+
if (error) throw error;
|
|
17
|
+
throw new Error("No authentication strategy worked.");
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
//#endregion
|
|
21
|
+
export { CredentialsAuthenticator };
|
|
22
|
+
|
|
23
|
+
//# sourceMappingURL=module.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.mjs","names":["BaseCredentialsAuthenticator","CredentialsAuthenticator","strategies","authenticate","key","value","realmId","error","i","length","strategy","output","safeAuthenticate","success","data","Error"],"sources":["../../../src/core/authentication/module.ts"],"sourcesContent":["/*\n * Copyright (c) 2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { ObjectLiteral } from '@authup/kit';\nimport { BaseCredentialsAuthenticator } from './base.ts';\n\nexport class CredentialsAuthenticator<T extends ObjectLiteral = ObjectLiteral> extends BaseCredentialsAuthenticator<T> {\n protected strategies: BaseCredentialsAuthenticator<T>[];\n\n constructor(strategies: BaseCredentialsAuthenticator<T>[]) {\n super();\n\n this.strategies = strategies;\n }\n\n async authenticate(key: string, value: string, realmId?: string): Promise<T> {\n let error : Error | undefined;\n\n for (let i = 0; i < this.strategies.length; i++) {\n const strategy = this.strategies[i];\n\n const output = await strategy.safeAuthenticate(key, value, realmId);\n if (output.success) {\n return output.data;\n }\n\n error = output.error;\n }\n\n if (error) {\n throw error;\n }\n\n throw new Error('No authentication strategy worked.');\n }\n}\n"],"mappings":";;AAUA,IAAaC,2BAAb,cAAuFD,6BAAAA;CACzEE;CAEV,YAAYA,YAA+C;AACvD,SAAK;AAEL,OAAKA,aAAaA;;CAGtB,MAAMC,aAAaC,KAAaC,OAAeC,SAA8B;EACzE,IAAIC;AAEJ,OAAK,IAAIC,IAAI,GAAGA,IAAI,KAAKN,WAAWO,QAAQD,KAAK;GAG7C,MAAMG,SAAS,MAFE,KAAKT,WAAWM,GAEHI,iBAAiBR,KAAKC,OAAOC,QAAAA;AAC3D,OAAIK,OAAOE,QACP,QAAOF,OAAOG;AAGlBP,WAAQI,OAAOJ;;AAGnB,MAAIA,MACA,OAAMA;AAGV,QAAM,IAAIQ,MAAM,qCAAA"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { IdentityType } from "@authup/core-kit";
|
|
2
|
+
import { JWTError } from "@authup/specs";
|
|
3
|
+
//#region src/core/authentication/session/module.ts
|
|
4
|
+
var SessionManager = class {
|
|
5
|
+
options;
|
|
6
|
+
repository;
|
|
7
|
+
constructor(ctx) {
|
|
8
|
+
this.options = ctx.options;
|
|
9
|
+
this.repository = ctx.repository;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Create/Update session
|
|
13
|
+
*
|
|
14
|
+
* @param input
|
|
15
|
+
*/ async create(input) {
|
|
16
|
+
input.ip_address = input.ip_address || "127.0.0.1";
|
|
17
|
+
input.user_agent = input.user_agent || "system";
|
|
18
|
+
input.expires_at = input.expires_at || new Date(Date.now() + this.options.maxAge * 1e3).toISOString();
|
|
19
|
+
switch (input.sub_kind) {
|
|
20
|
+
case IdentityType.CLIENT:
|
|
21
|
+
input.client_id = input.sub;
|
|
22
|
+
break;
|
|
23
|
+
case IdentityType.ROBOT:
|
|
24
|
+
input.robot_id = input.sub;
|
|
25
|
+
break;
|
|
26
|
+
case IdentityType.USER:
|
|
27
|
+
input.user_id = input.sub;
|
|
28
|
+
break;
|
|
29
|
+
}
|
|
30
|
+
return this.repository.save(input);
|
|
31
|
+
}
|
|
32
|
+
async ping(session) {
|
|
33
|
+
if (session.seen_at) {
|
|
34
|
+
if (new Date(session.seen_at).getTime() + 5 * 1e3 > Date.now()) return session;
|
|
35
|
+
}
|
|
36
|
+
session.seen_at = (/* @__PURE__ */ new Date()).toISOString();
|
|
37
|
+
return this.repository.save(session);
|
|
38
|
+
}
|
|
39
|
+
async refresh(session) {
|
|
40
|
+
const now = (/* @__PURE__ */ new Date()).toISOString();
|
|
41
|
+
session.refreshed_at = now;
|
|
42
|
+
session.seen_at = now;
|
|
43
|
+
session.expires_at = new Date(Date.now() + this.options.maxAge * 1e3).toISOString();
|
|
44
|
+
return this.repository.save(session);
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Verify session on token inspection/verification.
|
|
48
|
+
*
|
|
49
|
+
* @param id
|
|
50
|
+
* @throws JWTError
|
|
51
|
+
*/ async findOneById(id) {
|
|
52
|
+
return this.repository.findOneById(id);
|
|
53
|
+
}
|
|
54
|
+
async verify(session) {
|
|
55
|
+
const ms = new Date(session.expires_at).getTime();
|
|
56
|
+
if (Date.now() > ms) {
|
|
57
|
+
await this.repository.remove(session);
|
|
58
|
+
throw JWTError.expired();
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
//#endregion
|
|
63
|
+
export { SessionManager };
|
|
64
|
+
|
|
65
|
+
//# sourceMappingURL=module.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.mjs","names":["IdentityType","JWTError","SessionManager","options","repository","ctx","create","input","ip_address","user_agent","expires_at","Date","now","maxAge","toISOString","sub_kind","CLIENT","client_id","sub","ROBOT","robot_id","USER","user_id","save","ping","session","seen_at","seenAt","getTime","threshold","refresh","refreshed_at","findOneById","id","verify","ms","remove","expired"],"sources":["../../../../src/core/authentication/session/module.ts"],"sourcesContent":["/*\n * Copyright (c) 2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { Session } from '@authup/core-kit';\nimport { IdentityType } from '@authup/core-kit';\nimport { JWTError } from '@authup/specs';\nimport type {\n ISessionManager, \n ISessionRepository, \n SessionManagerContext, \n SessionManagerOptions,\n} from './types.ts';\n\nexport class SessionManager implements ISessionManager {\n protected options: SessionManagerOptions;\n\n protected repository: ISessionRepository;\n\n // -----------------------------------------------------\n\n constructor(ctx: SessionManagerContext) {\n this.options = ctx.options;\n this.repository = ctx.repository;\n }\n\n // -----------------------------------------------------\n\n /**\n * Create/Update session\n *\n * @param input\n */\n async create(input: Partial<Session>): Promise<Session> {\n input.ip_address = input.ip_address || '127.0.0.1';\n input.user_agent = input.user_agent || 'system';\n input.expires_at = input.expires_at || new Date(\n Date.now() + (this.options.maxAge * 1_000),\n ).toISOString();\n\n switch (input.sub_kind) {\n case IdentityType.CLIENT: {\n input.client_id = input.sub;\n break;\n }\n case IdentityType.ROBOT: {\n input.robot_id = input.sub;\n break;\n }\n case IdentityType.USER: {\n input.user_id = input.sub;\n break;\n }\n }\n\n return this.repository.save(input);\n }\n\n // -----------------------------------------------------\n\n async ping(session: Session): Promise<Session> {\n if (session.seen_at) {\n const seenAt = new Date(session.seen_at).getTime();\n const threshold = seenAt + (5 * 1_000);\n\n if (threshold > Date.now()) {\n return session;\n }\n }\n\n session.seen_at = new Date().toISOString();\n\n return this.repository.save(session);\n }\n\n // -----------------------------------------------------\n\n async refresh(session: Session): Promise<Session> {\n const now = new Date().toISOString();\n session.refreshed_at = now;\n session.seen_at = now;\n\n session.expires_at = new Date(\n Date.now() + (this.options.maxAge * 1_000),\n ).toISOString();\n\n return this.repository.save(session);\n }\n\n // -----------------------------------------------------\n\n /**\n * Verify session on token inspection/verification.\n *\n * @param id\n * @throws JWTError\n */\n async findOneById(id: string): Promise<Session | null> {\n return this.repository.findOneById(id);\n }\n\n // -----------------------------------------------------\n\n async verify(session: Session): Promise<void> {\n const ms = new Date(session.expires_at).getTime();\n if (Date.now() > ms) {\n await this.repository.remove(session);\n\n // todo: better error\n throw JWTError.expired();\n }\n }\n}\n"],"mappings":";;;AAiBA,IAAaE,iBAAb,MAAaA;CACCC;CAEAC;CAIV,YAAYC,KAA4B;AACpC,OAAKF,UAAUE,IAAIF;AACnB,OAAKC,aAAaC,IAAID;;;;;;IAU1B,MAAME,OAAOC,OAA2C;AACpDA,QAAMC,aAAaD,MAAMC,cAAc;AACvCD,QAAME,aAAaF,MAAME,cAAc;AACvCF,QAAMG,aAAaH,MAAMG,cAAc,IAAIC,KACvCA,KAAKC,KAAG,GAAM,KAAKT,QAAQU,SAAS,IAAA,CACtCC,aAAW;AAEb,UAAQP,MAAMQ,UAAd;GACI,KAAKf,aAAagB;AACdT,UAAMU,YAAYV,MAAMW;AACxB;GAEJ,KAAKlB,aAAamB;AACdZ,UAAMa,WAAWb,MAAMW;AACvB;GAEJ,KAAKlB,aAAaqB;AACdd,UAAMe,UAAUf,MAAMW;AACtB;;AAIR,SAAO,KAAKd,WAAWmB,KAAKhB,MAAAA;;CAKhC,MAAMiB,KAAKC,SAAoC;AAC3C,MAAIA,QAAQC;OACO,IAAIf,KAAKc,QAAQC,QAAO,CAAEE,SACvBD,GAAU,IAAI,MAEhBhB,KAAKC,KAAG,CACpB,QAAOa;;AAIfA,UAAQC,2BAAU,IAAIf,MAAAA,EAAOG,aAAW;AAExC,SAAO,KAAKV,WAAWmB,KAAKE,QAAAA;;CAKhC,MAAMK,QAAQL,SAAoC;EAC9C,MAAMb,uBAAM,IAAID,MAAAA,EAAOG,aAAW;AAClCW,UAAQM,eAAenB;AACvBa,UAAQC,UAAUd;AAElBa,UAAQf,aAAa,IAAIC,KACrBA,KAAKC,KAAG,GAAM,KAAKT,QAAQU,SAAS,IAAA,CACtCC,aAAW;AAEb,SAAO,KAAKV,WAAWmB,KAAKE,QAAAA;;;;;;;IAWhC,MAAMO,YAAYC,IAAqC;AACnD,SAAO,KAAK7B,WAAW4B,YAAYC,GAAAA;;CAKvC,MAAMC,OAAOT,SAAiC;EAC1C,MAAMU,KAAK,IAAIxB,KAAKc,QAAQf,WAAU,CAAEkB,SAAO;AAC/C,MAAIjB,KAAKC,KAAG,GAAKuB,IAAI;AACjB,SAAM,KAAK/B,WAAWgC,OAAOX,QAAAA;AAG7B,SAAMxB,SAASoC,SAAO"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
import { ClientCredentialsService } from "../../authentication/credential/entities/client/module.mjs";
|
|
2
|
+
import { AbstractEntityService } from "../service.mjs";
|
|
3
|
+
import { ClientValidator, PermissionName, ValidatorGroup } from "@authup/core-kit";
|
|
4
|
+
import { BuiltInPolicyType, PolicyData } from "@authup/access";
|
|
5
|
+
import { isUUID } from "@authup/kit";
|
|
6
|
+
import { NotFoundError } from "@ebec/http";
|
|
7
|
+
//#region src/core/entities/client/service.ts
|
|
8
|
+
var ClientService = class extends AbstractEntityService {
|
|
9
|
+
repository;
|
|
10
|
+
realmRepository;
|
|
11
|
+
validator;
|
|
12
|
+
constructor(ctx) {
|
|
13
|
+
super();
|
|
14
|
+
this.repository = ctx.repository;
|
|
15
|
+
this.realmRepository = ctx.realmRepository;
|
|
16
|
+
this.validator = new ClientValidator();
|
|
17
|
+
}
|
|
18
|
+
async getMany(query, actor) {
|
|
19
|
+
await actor.permissionEvaluator.preEvaluateOneOf({ name: [
|
|
20
|
+
PermissionName.CLIENT_READ,
|
|
21
|
+
PermissionName.CLIENT_UPDATE,
|
|
22
|
+
PermissionName.CLIENT_DELETE
|
|
23
|
+
] });
|
|
24
|
+
const { data: entities, meta } = await this.repository.findMany(query);
|
|
25
|
+
let { total } = meta;
|
|
26
|
+
const data = [];
|
|
27
|
+
for (const entity of entities) {
|
|
28
|
+
if (entity.secret && !entity.secret_encrypted && !entity.secret_hashed) {
|
|
29
|
+
try {
|
|
30
|
+
await actor.permissionEvaluator.evaluateOneOf({
|
|
31
|
+
name: [
|
|
32
|
+
PermissionName.CLIENT_READ,
|
|
33
|
+
PermissionName.CLIENT_UPDATE,
|
|
34
|
+
PermissionName.CLIENT_DELETE
|
|
35
|
+
],
|
|
36
|
+
input: new PolicyData({ [BuiltInPolicyType.ATTRIBUTES]: entity })
|
|
37
|
+
});
|
|
38
|
+
data.push(entity);
|
|
39
|
+
} catch {
|
|
40
|
+
total -= 1;
|
|
41
|
+
}
|
|
42
|
+
continue;
|
|
43
|
+
}
|
|
44
|
+
data.push(entity);
|
|
45
|
+
}
|
|
46
|
+
return {
|
|
47
|
+
data,
|
|
48
|
+
meta: {
|
|
49
|
+
...meta,
|
|
50
|
+
total
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
async getOne(idOrName, actor, realmId) {
|
|
55
|
+
await actor.permissionEvaluator.preEvaluateOneOf({ name: [
|
|
56
|
+
PermissionName.CLIENT_READ,
|
|
57
|
+
PermissionName.CLIENT_UPDATE,
|
|
58
|
+
PermissionName.CLIENT_DELETE
|
|
59
|
+
] });
|
|
60
|
+
let entity;
|
|
61
|
+
if (isUUID(idOrName)) entity = await this.repository.findOneByIdOrName(idOrName, realmId);
|
|
62
|
+
else if (realmId) {
|
|
63
|
+
const realm = await this.realmRepository.resolve(realmId);
|
|
64
|
+
if (realm) entity = await this.repository.findOneBy({
|
|
65
|
+
name: idOrName,
|
|
66
|
+
realm_id: realm.id
|
|
67
|
+
});
|
|
68
|
+
else entity = null;
|
|
69
|
+
} else entity = await this.repository.findOneByName(idOrName);
|
|
70
|
+
if (!entity) throw new NotFoundError();
|
|
71
|
+
if (entity.secret && !entity.secret_encrypted && !entity.secret_hashed) await actor.permissionEvaluator.evaluateOneOf({
|
|
72
|
+
name: [
|
|
73
|
+
PermissionName.CLIENT_READ,
|
|
74
|
+
PermissionName.CLIENT_UPDATE,
|
|
75
|
+
PermissionName.CLIENT_DELETE
|
|
76
|
+
],
|
|
77
|
+
input: new PolicyData({ [BuiltInPolicyType.ATTRIBUTES]: entity })
|
|
78
|
+
});
|
|
79
|
+
return entity;
|
|
80
|
+
}
|
|
81
|
+
async create(data, actor) {
|
|
82
|
+
const { entity } = await this.save(void 0, data, actor);
|
|
83
|
+
return entity;
|
|
84
|
+
}
|
|
85
|
+
async update(idOrName, data, actor) {
|
|
86
|
+
const { entity } = await this.save(idOrName, data, actor, { updateOnly: true });
|
|
87
|
+
return entity;
|
|
88
|
+
}
|
|
89
|
+
async save(idOrName, data, actor, options = {}) {
|
|
90
|
+
let group;
|
|
91
|
+
const realm = typeof data.realm_id === "string" ? await this.realmRepository.resolve(data.realm_id) : void 0;
|
|
92
|
+
let entity;
|
|
93
|
+
if (idOrName) {
|
|
94
|
+
const where = {};
|
|
95
|
+
if (isUUID(idOrName)) where.id = idOrName;
|
|
96
|
+
else where.name = idOrName;
|
|
97
|
+
if (realm) where.realm_id = realm.id;
|
|
98
|
+
entity = await this.repository.findOneWithSecret(where);
|
|
99
|
+
if (!entity && options.updateOnly) throw new NotFoundError();
|
|
100
|
+
} else if (options.updateOnly) throw new NotFoundError();
|
|
101
|
+
if (entity) {
|
|
102
|
+
await actor.permissionEvaluator.preEvaluate({ name: PermissionName.CLIENT_UPDATE });
|
|
103
|
+
group = ValidatorGroup.UPDATE;
|
|
104
|
+
} else {
|
|
105
|
+
await actor.permissionEvaluator.preEvaluate({ name: PermissionName.CLIENT_CREATE });
|
|
106
|
+
group = ValidatorGroup.CREATE;
|
|
107
|
+
}
|
|
108
|
+
const validated = await this.validator.run(data, { group });
|
|
109
|
+
await this.repository.validateJoinColumns(validated);
|
|
110
|
+
await this.repository.checkUniqueness(validated, entity || void 0);
|
|
111
|
+
const credentialsService = new ClientCredentialsService();
|
|
112
|
+
if (entity) {
|
|
113
|
+
if (!validated.realm_id && !entity.realm_id) {
|
|
114
|
+
const actorRealmId = this.getActorRealmId(actor);
|
|
115
|
+
if (actorRealmId) validated.realm_id = actorRealmId;
|
|
116
|
+
}
|
|
117
|
+
entity = this.repository.merge(entity, validated);
|
|
118
|
+
await actor.permissionEvaluator.evaluate({
|
|
119
|
+
name: PermissionName.CLIENT_UPDATE,
|
|
120
|
+
input: new PolicyData({ [BuiltInPolicyType.ATTRIBUTES]: entity })
|
|
121
|
+
});
|
|
122
|
+
if (entity.is_confidential) {
|
|
123
|
+
if (!validated.secret && !entity.secret) validated.secret = credentialsService.generateSecret();
|
|
124
|
+
if (validated.secret) entity.secret = await credentialsService.protect(validated.secret, entity);
|
|
125
|
+
} else entity.secret = null;
|
|
126
|
+
await this.repository.save(entity);
|
|
127
|
+
return {
|
|
128
|
+
entity,
|
|
129
|
+
created: false
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
if (!validated.realm_id) {
|
|
133
|
+
const actorRealmId = this.getActorRealmId(actor);
|
|
134
|
+
if (actorRealmId) validated.realm_id = actorRealmId;
|
|
135
|
+
}
|
|
136
|
+
await actor.permissionEvaluator.evaluate({
|
|
137
|
+
name: PermissionName.CLIENT_CREATE,
|
|
138
|
+
input: new PolicyData({ [BuiltInPolicyType.ATTRIBUTES]: validated })
|
|
139
|
+
});
|
|
140
|
+
entity = this.repository.create(validated);
|
|
141
|
+
if (entity.is_confidential) {
|
|
142
|
+
if (!validated.secret) validated.secret = credentialsService.generateSecret();
|
|
143
|
+
entity.secret = await credentialsService.protect(validated.secret, validated);
|
|
144
|
+
} else entity.secret = null;
|
|
145
|
+
await this.repository.save(entity);
|
|
146
|
+
return {
|
|
147
|
+
entity,
|
|
148
|
+
created: true
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
async delete(id, actor) {
|
|
152
|
+
await actor.permissionEvaluator.preEvaluate({ name: PermissionName.CLIENT_DELETE });
|
|
153
|
+
const entity = await this.repository.findOneBy({ id });
|
|
154
|
+
if (!entity) throw new NotFoundError();
|
|
155
|
+
await actor.permissionEvaluator.evaluate({
|
|
156
|
+
name: PermissionName.CLIENT_DELETE,
|
|
157
|
+
input: new PolicyData({ [BuiltInPolicyType.ATTRIBUTES]: entity })
|
|
158
|
+
});
|
|
159
|
+
const { id: entityId } = entity;
|
|
160
|
+
await this.repository.remove(entity);
|
|
161
|
+
entity.id = entityId;
|
|
162
|
+
return entity;
|
|
163
|
+
}
|
|
164
|
+
};
|
|
165
|
+
//#endregion
|
|
166
|
+
export { ClientService };
|
|
167
|
+
|
|
168
|
+
//# sourceMappingURL=service.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service.mjs","names":["BuiltInPolicyType","PolicyData","isUUID","NotFoundError","ClientValidator","PermissionName","ValidatorGroup","AbstractEntityService","ClientCredentialsService","ClientService","repository","realmRepository","validator","ctx","getMany","query","actor","permissionEvaluator","preEvaluateOneOf","name","CLIENT_READ","CLIENT_UPDATE","CLIENT_DELETE","data","entities","meta","findMany","total","entity","secret","secret_encrypted","secret_hashed","evaluateOneOf","input","ATTRIBUTES","push","getOne","idOrName","realmId","findOneByIdOrName","realm","resolve","findOneBy","realm_id","id","findOneByName","create","save","undefined","update","updateOnly","options","group","where","findOneWithSecret","preEvaluate","UPDATE","CLIENT_CREATE","CREATE","validated","run","validateJoinColumns","checkUniqueness","credentialsService","actorRealmId","getActorRealmId","merge","evaluate","is_confidential","generateSecret","protect","created","delete","entityId","remove"],"sources":["../../../../src/core/entities/client/service.ts"],"sourcesContent":["/*\n * Copyright (c) 2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { BuiltInPolicyType, PolicyData } from '@authup/access';\nimport { isUUID } from '@authup/kit';\nimport { NotFoundError } from '@ebec/http';\nimport {\n ClientValidator,\n PermissionName,\n ValidatorGroup,\n} from '@authup/core-kit';\nimport type { Client } from '@authup/core-kit';\nimport type { ActorContext } from '../actor/types.ts';\nimport type { IRealmRepository } from '../realm/types.ts';\nimport { AbstractEntityService } from '../service.ts';\nimport type { EntityRepositoryFindManyResult } from '../types.ts';\nimport { ClientCredentialsService } from '../../authentication/credential/entities/client/module.ts';\nimport type { IClientRepository, IClientService } from './types.ts';\n\nexport type ClientServiceContext = {\n repository: IClientRepository;\n realmRepository: IRealmRepository;\n};\n\nexport class ClientService extends AbstractEntityService implements IClientService {\n protected repository: IClientRepository;\n\n protected realmRepository: IRealmRepository;\n\n protected validator: ClientValidator;\n\n constructor(ctx: ClientServiceContext) {\n super();\n this.repository = ctx.repository;\n this.realmRepository = ctx.realmRepository;\n this.validator = new ClientValidator();\n }\n\n async getMany(\n query: Record<string, any>,\n actor: ActorContext,\n ): Promise<EntityRepositoryFindManyResult<Client>> {\n await actor.permissionEvaluator.preEvaluateOneOf({\n name: [\n PermissionName.CLIENT_READ,\n PermissionName.CLIENT_UPDATE,\n PermissionName.CLIENT_DELETE,\n ],\n });\n\n const {\n data: entities, \n meta, \n } = await this.repository.findMany(query);\n let { total } = meta;\n\n const data: Client[] = [];\n for (const entity of entities) {\n if (\n entity.secret &&\n !entity.secret_encrypted &&\n !entity.secret_hashed\n ) {\n try {\n await actor.permissionEvaluator.evaluateOneOf({\n name: [\n PermissionName.CLIENT_READ,\n PermissionName.CLIENT_UPDATE,\n PermissionName.CLIENT_DELETE,\n ],\n input: new PolicyData({ [BuiltInPolicyType.ATTRIBUTES]: entity }),\n });\n data.push(entity);\n } catch {\n total -= 1;\n }\n\n continue;\n }\n\n data.push(entity);\n }\n\n return {\n data,\n meta: {\n ...meta,\n total, \n }, \n };\n }\n\n async getOne(\n idOrName: string,\n actor: ActorContext,\n realmId?: string,\n ): Promise<Client> {\n await actor.permissionEvaluator.preEvaluateOneOf({\n name: [\n PermissionName.CLIENT_READ,\n PermissionName.CLIENT_UPDATE,\n PermissionName.CLIENT_DELETE,\n ],\n });\n\n let entity: Client | null;\n\n if (isUUID(idOrName)) {\n entity = await this.repository.findOneByIdOrName(idOrName, realmId);\n } else if (realmId) {\n const realm = await this.realmRepository.resolve(realmId);\n if (realm) {\n entity = await this.repository.findOneBy({\n name: idOrName,\n realm_id: realm.id,\n });\n } else {\n entity = null;\n }\n } else {\n entity = await this.repository.findOneByName(idOrName);\n }\n\n if (!entity) {\n throw new NotFoundError();\n }\n\n if (\n entity.secret &&\n !entity.secret_encrypted &&\n !entity.secret_hashed\n ) {\n await actor.permissionEvaluator.evaluateOneOf({\n name: [\n PermissionName.CLIENT_READ,\n PermissionName.CLIENT_UPDATE,\n PermissionName.CLIENT_DELETE,\n ],\n input: new PolicyData({ [BuiltInPolicyType.ATTRIBUTES]: entity }),\n });\n }\n\n return entity;\n }\n\n async create(\n data: Record<string, any>,\n actor: ActorContext,\n ): Promise<Client> {\n const { entity } = await this.save(undefined, data, actor);\n return entity;\n }\n\n async update(\n idOrName: string,\n data: Record<string, any>,\n actor: ActorContext,\n ): Promise<Client> {\n const { entity } = await this.save(idOrName, data, actor, { updateOnly: true });\n return entity;\n }\n\n async save(\n idOrName: string | undefined,\n data: Record<string, any>,\n actor: ActorContext,\n options: { updateOnly?: boolean } = {},\n ): Promise<{\n entity: Client,\n created: boolean \n }> {\n let group: string;\n\n const realm = typeof data.realm_id === 'string' ?\n await this.realmRepository.resolve(data.realm_id) :\n undefined;\n\n let entity: Client | null | undefined;\n if (idOrName) {\n const where: Record<string, any> = {};\n if (isUUID(idOrName)) {\n where.id = idOrName;\n } else {\n where.name = idOrName;\n }\n\n if (realm) {\n where.realm_id = realm.id;\n }\n\n entity = await this.repository.findOneWithSecret(where);\n if (!entity && options.updateOnly) {\n throw new NotFoundError();\n }\n } else if (options.updateOnly) {\n throw new NotFoundError();\n }\n\n if (entity) {\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.CLIENT_UPDATE });\n group = ValidatorGroup.UPDATE;\n } else {\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.CLIENT_CREATE });\n group = ValidatorGroup.CREATE;\n }\n\n const validated = await this.validator.run(data, { group });\n\n await this.repository.validateJoinColumns(validated);\n await this.repository.checkUniqueness(validated, entity || undefined);\n\n const credentialsService = new ClientCredentialsService();\n\n if (entity) {\n if (\n !validated.realm_id &&\n !entity.realm_id\n ) {\n const actorRealmId = this.getActorRealmId(actor);\n if (actorRealmId) {\n validated.realm_id = actorRealmId;\n }\n }\n\n entity = this.repository.merge(entity, validated);\n\n await actor.permissionEvaluator.evaluate({\n name: PermissionName.CLIENT_UPDATE,\n input: new PolicyData({ [BuiltInPolicyType.ATTRIBUTES]: entity }),\n });\n\n if (entity.is_confidential) {\n if (!validated.secret && !entity.secret) {\n validated.secret = credentialsService.generateSecret();\n }\n\n if (validated.secret) {\n entity.secret = await credentialsService.protect(validated.secret, entity);\n }\n } else {\n entity.secret = null;\n }\n\n await this.repository.save(entity);\n\n return {\n entity,\n created: false, \n };\n }\n\n if (!validated.realm_id) {\n const actorRealmId = this.getActorRealmId(actor);\n if (actorRealmId) {\n validated.realm_id = actorRealmId;\n }\n }\n\n await actor.permissionEvaluator.evaluate({\n name: PermissionName.CLIENT_CREATE,\n input: new PolicyData({ [BuiltInPolicyType.ATTRIBUTES]: validated }),\n });\n\n entity = this.repository.create(validated);\n\n if (entity.is_confidential) {\n if (!validated.secret) {\n validated.secret = credentialsService.generateSecret();\n }\n\n entity.secret = await credentialsService.protect(validated.secret, validated);\n } else {\n entity.secret = null;\n }\n\n await this.repository.save(entity);\n\n return {\n entity,\n created: true, \n };\n }\n\n async delete(\n id: string,\n actor: ActorContext,\n ): Promise<Client> {\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.CLIENT_DELETE });\n\n const entity = await this.repository.findOneBy({ id });\n if (!entity) {\n throw new NotFoundError();\n }\n\n await actor.permissionEvaluator.evaluate({\n name: PermissionName.CLIENT_DELETE,\n input: new PolicyData({ [BuiltInPolicyType.ATTRIBUTES]: entity }),\n });\n\n const { id: entityId } = entity;\n await this.repository.remove(entity);\n entity.id = entityId;\n\n return entity;\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { AbstractEntityService } from "../service.mjs";
|
|
2
|
+
import { ClientPermissionValidator, PermissionName, ValidatorGroup } from "@authup/core-kit";
|
|
3
|
+
import { BuiltInPolicyType, PolicyData } from "@authup/access";
|
|
4
|
+
import { ConflictError, NotFoundError } from "@ebec/http";
|
|
5
|
+
//#region src/core/entities/client-permission/service.ts
|
|
6
|
+
var ClientPermissionService = class extends AbstractEntityService {
|
|
7
|
+
repository;
|
|
8
|
+
identityPermissionProvider;
|
|
9
|
+
validator;
|
|
10
|
+
constructor(ctx) {
|
|
11
|
+
super();
|
|
12
|
+
this.repository = ctx.repository;
|
|
13
|
+
this.identityPermissionProvider = ctx.identityPermissionProvider;
|
|
14
|
+
this.validator = new ClientPermissionValidator();
|
|
15
|
+
}
|
|
16
|
+
async getMany(query, actor) {
|
|
17
|
+
await actor.permissionEvaluator.preEvaluateOneOf({ name: [PermissionName.CLIENT_PERMISSION_CREATE, PermissionName.CLIENT_PERMISSION_DELETE] });
|
|
18
|
+
return this.repository.findMany(query);
|
|
19
|
+
}
|
|
20
|
+
async getOne(id, actor) {
|
|
21
|
+
await actor.permissionEvaluator.preEvaluateOneOf({ name: [PermissionName.CLIENT_PERMISSION_CREATE, PermissionName.CLIENT_PERMISSION_DELETE] });
|
|
22
|
+
const entity = await this.repository.findOneBy({ id });
|
|
23
|
+
if (!entity) throw new NotFoundError();
|
|
24
|
+
return entity;
|
|
25
|
+
}
|
|
26
|
+
async create(data, actor) {
|
|
27
|
+
await actor.permissionEvaluator.preEvaluate({ name: PermissionName.CLIENT_PERMISSION_CREATE });
|
|
28
|
+
const validated = await this.validator.run(data, { group: ValidatorGroup.CREATE });
|
|
29
|
+
await this.repository.validateJoinColumns(validated);
|
|
30
|
+
if (await this.repository.findOneBy({
|
|
31
|
+
client_id: validated.client_id,
|
|
32
|
+
permission_id: validated.permission_id
|
|
33
|
+
})) throw new ConflictError("The client-permission assignment already exists.");
|
|
34
|
+
if (validated.permission) {
|
|
35
|
+
validated.permission_realm_id = validated.permission.realm_id;
|
|
36
|
+
await actor.permissionEvaluator.preEvaluate({
|
|
37
|
+
name: validated.permission.name,
|
|
38
|
+
realmId: validated.permission.realm_id,
|
|
39
|
+
clientId: validated.permission.client_id
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
if (validated.client) validated.client_realm_id = validated.client.realm_id;
|
|
43
|
+
if (validated.permission && actor.identity && typeof validated.policy_id === "undefined") {
|
|
44
|
+
const junctionPolicy = await this.identityPermissionProvider.resolveJunctionPolicy({
|
|
45
|
+
type: actor.identity.type,
|
|
46
|
+
id: actor.identity.data.id
|
|
47
|
+
}, {
|
|
48
|
+
name: validated.permission.name,
|
|
49
|
+
realmId: validated.permission.realm_id,
|
|
50
|
+
clientId: validated.permission.client_id
|
|
51
|
+
});
|
|
52
|
+
if (junctionPolicy) validated.policy_id = junctionPolicy.id;
|
|
53
|
+
}
|
|
54
|
+
await actor.permissionEvaluator.evaluate({
|
|
55
|
+
name: PermissionName.CLIENT_PERMISSION_CREATE,
|
|
56
|
+
input: new PolicyData({ [BuiltInPolicyType.ATTRIBUTES]: validated })
|
|
57
|
+
});
|
|
58
|
+
let entity = this.repository.create(validated);
|
|
59
|
+
entity = await this.repository.save(entity);
|
|
60
|
+
return entity;
|
|
61
|
+
}
|
|
62
|
+
async update(id, data, actor) {
|
|
63
|
+
await actor.permissionEvaluator.preEvaluate({ name: PermissionName.CLIENT_PERMISSION_UPDATE });
|
|
64
|
+
const entity = await this.repository.findOneBy({ id });
|
|
65
|
+
if (!entity) throw new NotFoundError();
|
|
66
|
+
const updateData = {};
|
|
67
|
+
if (Object.prototype.hasOwnProperty.call(data, "policy_id")) updateData.policy_id = data.policy_id;
|
|
68
|
+
await this.repository.validateJoinColumns(updateData);
|
|
69
|
+
const merged = this.repository.merge(entity, updateData);
|
|
70
|
+
await actor.permissionEvaluator.evaluate({
|
|
71
|
+
name: PermissionName.CLIENT_PERMISSION_UPDATE,
|
|
72
|
+
input: new PolicyData({ [BuiltInPolicyType.ATTRIBUTES]: merged })
|
|
73
|
+
});
|
|
74
|
+
return this.repository.save(merged);
|
|
75
|
+
}
|
|
76
|
+
async delete(id, actor) {
|
|
77
|
+
await actor.permissionEvaluator.preEvaluate({ name: PermissionName.CLIENT_PERMISSION_DELETE });
|
|
78
|
+
const entity = await this.repository.findOneBy({ id });
|
|
79
|
+
if (!entity) throw new NotFoundError();
|
|
80
|
+
await actor.permissionEvaluator.evaluate({
|
|
81
|
+
name: PermissionName.CLIENT_PERMISSION_DELETE,
|
|
82
|
+
input: new PolicyData({ [BuiltInPolicyType.ATTRIBUTES]: entity })
|
|
83
|
+
});
|
|
84
|
+
const { id: entityId } = entity;
|
|
85
|
+
await this.repository.remove(entity);
|
|
86
|
+
entity.id = entityId;
|
|
87
|
+
return entity;
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
//#endregion
|
|
91
|
+
export { ClientPermissionService };
|
|
92
|
+
|
|
93
|
+
//# sourceMappingURL=service.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service.mjs","names":["BuiltInPolicyType","PolicyData","ConflictError","NotFoundError","ClientPermissionValidator","PermissionName","ValidatorGroup","AbstractEntityService","ClientPermissionService","repository","identityPermissionProvider","validator","ctx","getMany","query","actor","permissionEvaluator","preEvaluateOneOf","name","CLIENT_PERMISSION_CREATE","CLIENT_PERMISSION_DELETE","findMany","getOne","id","entity","findOneBy","create","data","preEvaluate","validated","run","group","CREATE","validateJoinColumns","existing","client_id","permission_id","permission","permission_realm_id","realm_id","realmId","clientId","client","client_realm_id","identity","policy_id","junctionPolicy","resolveJunctionPolicy","type","evaluate","input","ATTRIBUTES","save","update","CLIENT_PERMISSION_UPDATE","updateData","Object","prototype","hasOwnProperty","call","merged","merge","delete","entityId","remove"],"sources":["../../../../src/core/entities/client-permission/service.ts"],"sourcesContent":["/*\n * Copyright (c) 2025.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { BuiltInPolicyType, PolicyData } from '@authup/access';\nimport { ConflictError, NotFoundError } from '@ebec/http';\nimport { ClientPermissionValidator, PermissionName, ValidatorGroup } from '@authup/core-kit';\nimport type { ClientPermission } from '@authup/core-kit';\nimport type { IIdentityPermissionProvider } from '../../identity/permission/types.ts';\nimport type { ActorContext } from '../actor/types.ts';\nimport { AbstractEntityService } from '../service.ts';\nimport type { EntityRepositoryFindManyResult } from '../types.ts';\nimport type { IClientPermissionRepository, IClientPermissionService } from './types.ts';\n\nexport type ClientPermissionServiceContext = {\n repository: IClientPermissionRepository;\n identityPermissionProvider: IIdentityPermissionProvider;\n};\n\nexport class ClientPermissionService extends AbstractEntityService implements IClientPermissionService {\n protected repository: IClientPermissionRepository;\n\n protected identityPermissionProvider: IIdentityPermissionProvider;\n\n protected validator: ClientPermissionValidator;\n\n constructor(ctx: ClientPermissionServiceContext) {\n super();\n this.repository = ctx.repository;\n this.identityPermissionProvider = ctx.identityPermissionProvider;\n this.validator = new ClientPermissionValidator();\n }\n\n async getMany(\n query: Record<string, any>,\n actor: ActorContext,\n ): Promise<EntityRepositoryFindManyResult<ClientPermission>> {\n await actor.permissionEvaluator.preEvaluateOneOf({\n name: [\n PermissionName.CLIENT_PERMISSION_CREATE,\n PermissionName.CLIENT_PERMISSION_DELETE,\n ],\n });\n\n return this.repository.findMany(query);\n }\n\n async getOne(\n id: string,\n actor: ActorContext,\n ): Promise<ClientPermission> {\n await actor.permissionEvaluator.preEvaluateOneOf({\n name: [\n PermissionName.CLIENT_PERMISSION_CREATE,\n PermissionName.CLIENT_PERMISSION_DELETE,\n ],\n });\n\n const entity = await this.repository.findOneBy({ id });\n if (!entity) {\n throw new NotFoundError();\n }\n\n return entity;\n }\n\n async create(\n data: Record<string, any>,\n actor: ActorContext,\n ): Promise<ClientPermission> {\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.CLIENT_PERMISSION_CREATE });\n\n const validated = await this.validator.run(data, { group: ValidatorGroup.CREATE });\n\n await this.repository.validateJoinColumns(validated);\n\n const existing = await this.repository.findOneBy({\n client_id: validated.client_id,\n permission_id: validated.permission_id,\n });\n if (existing) {\n throw new ConflictError('The client-permission assignment already exists.');\n }\n\n if (validated.permission) {\n validated.permission_realm_id = validated.permission.realm_id;\n\n await actor.permissionEvaluator.preEvaluate({\n name: validated.permission.name,\n realmId: validated.permission.realm_id,\n clientId: validated.permission.client_id,\n });\n }\n\n if (validated.client) {\n validated.client_realm_id = validated.client.realm_id;\n }\n\n if (\n validated.permission &&\n actor.identity &&\n typeof validated.policy_id === 'undefined'\n ) {\n const junctionPolicy = await this.identityPermissionProvider.resolveJunctionPolicy(\n {\n type: actor.identity.type,\n id: actor.identity.data.id,\n },\n {\n name: validated.permission.name,\n realmId: validated.permission.realm_id,\n clientId: validated.permission.client_id,\n },\n );\n if (junctionPolicy) {\n validated.policy_id = junctionPolicy.id;\n }\n }\n\n await actor.permissionEvaluator.evaluate({\n name: PermissionName.CLIENT_PERMISSION_CREATE,\n input: new PolicyData({ [BuiltInPolicyType.ATTRIBUTES]: validated }),\n });\n\n let entity = this.repository.create(validated);\n entity = await this.repository.save(entity);\n\n return entity;\n }\n\n async update(\n id: string,\n data: Record<string, any>,\n actor: ActorContext,\n ): Promise<ClientPermission> {\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.CLIENT_PERMISSION_UPDATE });\n\n const entity = await this.repository.findOneBy({ id });\n if (!entity) {\n throw new NotFoundError();\n }\n\n const updateData: Record<string, any> = {};\n if (Object.prototype.hasOwnProperty.call(data, 'policy_id')) {\n updateData.policy_id = data.policy_id;\n }\n\n await this.repository.validateJoinColumns(updateData);\n\n const merged = this.repository.merge(entity, updateData);\n\n await actor.permissionEvaluator.evaluate({\n name: PermissionName.CLIENT_PERMISSION_UPDATE,\n input: new PolicyData({ [BuiltInPolicyType.ATTRIBUTES]: merged }),\n });\n\n return this.repository.save(merged);\n }\n\n async delete(\n id: string,\n actor: ActorContext,\n ): Promise<ClientPermission> {\n await actor.permissionEvaluator.preEvaluate({ name: PermissionName.CLIENT_PERMISSION_DELETE });\n\n const entity = await this.repository.findOneBy({ id });\n if (!entity) {\n throw new NotFoundError();\n }\n\n await actor.permissionEvaluator.evaluate({\n name: PermissionName.CLIENT_PERMISSION_DELETE,\n input: new PolicyData({ [BuiltInPolicyType.ATTRIBUTES]: entity }),\n });\n\n const { id: entityId } = entity;\n await this.repository.remove(entity);\n entity.id = entityId;\n\n return entity;\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|