@authup/server-core 1.0.0-beta.41 → 1.0.0-beta.42
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/module.mjs.map +1 -1
- package/dist/adapters/database/data-source/options/module.mjs.map +1 -1
- package/dist/adapters/database/data-source/singleton.mjs.map +1 -1
- package/dist/adapters/database/domains/client/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/client/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/client-permission/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/client-permission/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/client-role/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/client-role/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/client-scope/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/client-scope/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/identity-provider/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/identity-provider/repository.mjs.map +1 -1
- package/dist/adapters/database/domains/identity-provider/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/identity-provider-account/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/identity-provider-account/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/identity-provider-attribute/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/identity-provider-attribute/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/identity-provider-attribute-mapping/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/identity-provider-permission-mapping/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/identity-provider-role-mapping/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/identity-provider-role-mapping/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/key/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/permission/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/permission/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/permission-policy/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/policy/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/policy/repository.mjs.map +1 -1
- package/dist/adapters/database/domains/policy/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/policy-attribute/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/policy-attribute/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/realm/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/realm/repository.mjs.map +1 -1
- package/dist/adapters/database/domains/realm/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/robot/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/robot/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/robot-permission/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/robot-permission/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/robot-role/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/robot-role/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/role/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/role/repository.mjs.map +1 -1
- package/dist/adapters/database/domains/role/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/role-attribute/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/role-attribute/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/role-permission/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/role-permission/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/scope/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/scope/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/session/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/user/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/user/repository.mjs.map +1 -1
- package/dist/adapters/database/domains/user/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/user-attribute/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/user-attribute/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/user-permission/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/user-permission/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/user-role/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/user-role/subscriber.mjs.map +1 -1
- package/dist/adapters/database/errors/conflict.d.ts +2 -2
- package/dist/adapters/database/errors/conflict.d.ts.map +1 -1
- package/dist/adapters/database/errors/conflict.mjs +6 -3
- package/dist/adapters/database/errors/conflict.mjs.map +1 -1
- package/dist/adapters/database/event-publisher/module.mjs.map +1 -1
- package/dist/adapters/database/extra-attribute-repository/adapter.mjs.map +1 -1
- package/dist/adapters/database/extra-attribute-repository/repository.mjs.map +1 -1
- package/dist/adapters/database/extra-attribute-repository/tree/adapter.mjs.map +1 -1
- package/dist/adapters/database/extra-attribute-repository/tree/repository.mjs.map +1 -1
- package/dist/adapters/database/helpers/is-supported.mjs.map +1 -1
- package/dist/adapters/database/logger/module.mjs.map +1 -1
- package/dist/adapters/database/migrations/mysql/1673449341125-Default.mjs.map +1 -1
- package/dist/adapters/database/migrations/mysql/1689597906910-Default.mjs.map +1 -1
- package/dist/adapters/database/migrations/mysql/1718790373914-Default.mjs.map +1 -1
- package/dist/adapters/database/migrations/mysql/1722673916392-Default.mjs.map +1 -1
- package/dist/adapters/database/migrations/mysql/1740991051622-Default.mjs.map +1 -1
- package/dist/adapters/database/migrations/mysql/1766830857009-Default.mjs.map +1 -1
- package/dist/adapters/database/migrations/mysql/1774800953474-Default.mjs.map +1 -1
- package/dist/adapters/database/migrations/postgres/1673449341125-Default.mjs.map +1 -1
- package/dist/adapters/database/migrations/postgres/1689597906910-Default.mjs.map +1 -1
- package/dist/adapters/database/migrations/postgres/1718790373914-Default.mjs.map +1 -1
- package/dist/adapters/database/migrations/postgres/1722673916392-Default.mjs.map +1 -1
- package/dist/adapters/database/migrations/postgres/1740991051622-Default.mjs.map +1 -1
- package/dist/adapters/database/migrations/postgres/1766830857009-Default.mjs.map +1 -1
- package/dist/adapters/database/migrations/postgres/1774800953474-Default.mjs.map +1 -1
- package/dist/adapters/http/adapters/oauth2/authorization/module.mjs.map +1 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/authorize.mjs +2 -2
- package/dist/adapters/http/adapters/oauth2/grant-types/authorize.mjs.map +1 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/client-credentials.mjs +2 -2
- package/dist/adapters/http/adapters/oauth2/grant-types/client-credentials.mjs.map +1 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/identity.mjs.map +1 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/password.mjs.map +1 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/refresh_token.mjs +4 -4
- package/dist/adapters/http/adapters/oauth2/grant-types/refresh_token.mjs.map +1 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/robot-credentials.mjs.map +1 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/utils/credentials.mjs +4 -4
- package/dist/adapters/http/adapters/oauth2/grant-types/utils/credentials.mjs.map +1 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/utils/guess.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/client/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/entities/client/module.mjs +10 -6
- package/dist/adapters/http/controllers/entities/client/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/client-permission/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/client-permission/utils/validation.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/client-role/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/client-role/utils/validation.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/client-scope/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/client-scope/utils/validator.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/identity-provide-role/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/identity-provider/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/entities/identity-provider/module.mjs +19 -17
- package/dist/adapters/http/controllers/entities/identity-provider/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/permission/module.d.ts +3 -10
- package/dist/adapters/http/controllers/entities/permission/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/entities/permission/module.mjs +16 -49
- package/dist/adapters/http/controllers/entities/permission/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/permission-policy/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/policy/module.d.ts +3 -7
- package/dist/adapters/http/controllers/entities/policy/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/entities/policy/module.mjs +16 -39
- package/dist/adapters/http/controllers/entities/policy/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/policy/utils/attributes-validator.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/policy/utils/validation.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/realm/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/entities/realm/module.mjs +1 -1
- package/dist/adapters/http/controllers/entities/realm/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/robot/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/entities/robot/module.mjs +11 -7
- package/dist/adapters/http/controllers/entities/robot/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/robot-permission/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/robot-permission/utils/validation.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/robot-role/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/robot-role/utils/validation.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/role/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/role-attribute/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/role-attribute/utils/validation.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/role-permission/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/role-permission/utils/validation.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/scope/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/user/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/entities/user/module.mjs +7 -3
- package/dist/adapters/http/controllers/entities/user/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/user-attribute/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/user-attribute/utils/validation.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/user-permission/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/user-permission/utils/validation.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/user-role/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/user-role/utils/validation.mjs.map +1 -1
- package/dist/adapters/http/controllers/workflows/activate/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/workflows/activate/validator.mjs.map +1 -1
- package/dist/adapters/http/controllers/workflows/authorize/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/workflows/authorize/module.mjs +2 -2
- package/dist/adapters/http/controllers/workflows/authorize/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/workflows/jwks/handlers/read.d.ts.map +1 -1
- package/dist/adapters/http/controllers/workflows/jwks/handlers/read.mjs +3 -4
- package/dist/adapters/http/controllers/workflows/jwks/handlers/read.mjs.map +1 -1
- package/dist/adapters/http/controllers/workflows/jwks/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/workflows/jwks/module.mjs +3 -4
- package/dist/adapters/http/controllers/workflows/jwks/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/workflows/openid/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/workflows/password-forgot/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/workflows/password-reset/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/workflows/register/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/workflows/status/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/workflows/token/module.d.ts.map +1 -1
- package/dist/adapters/http/controllers/workflows/token/module.mjs +6 -6
- package/dist/adapters/http/controllers/workflows/token/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/workflows/token/utils/extract.mjs.map +1 -1
- package/dist/adapters/http/controllers/workflows/token/utils/validator.mjs.map +1 -1
- package/dist/adapters/http/index.mjs +4 -1
- package/dist/adapters/http/middleware/built-in/assets.mjs.map +1 -1
- package/dist/adapters/http/middleware/built-in/authorization/factory.mjs.map +1 -1
- package/dist/adapters/http/middleware/built-in/authorization/module.mjs +2 -2
- package/dist/adapters/http/middleware/built-in/authorization/module.mjs.map +1 -1
- package/dist/adapters/http/middleware/built-in/basic.mjs.map +1 -1
- package/dist/adapters/http/middleware/built-in/cors.mjs.map +1 -1
- package/dist/adapters/http/middleware/built-in/error.mjs +5 -3
- package/dist/adapters/http/middleware/built-in/error.mjs.map +1 -1
- package/dist/adapters/http/middleware/built-in/index.d.ts +1 -0
- package/dist/adapters/http/middleware/built-in/index.d.ts.map +1 -1
- package/dist/adapters/http/middleware/built-in/index.mjs +4 -1
- package/dist/adapters/http/middleware/built-in/loggedin/module.mjs.map +1 -1
- package/dist/adapters/http/middleware/built-in/loggedin/user.mjs +1 -1
- package/dist/adapters/http/middleware/built-in/loggedin/user.mjs.map +1 -1
- package/dist/adapters/http/middleware/built-in/logger.mjs.map +1 -1
- package/dist/adapters/http/middleware/built-in/prometheus.mjs.map +1 -1
- package/dist/adapters/http/middleware/built-in/rate-limit.mjs.map +1 -1
- package/dist/adapters/http/middleware/built-in/realm-resolver/factory.d.ts +4 -0
- package/dist/adapters/http/middleware/built-in/realm-resolver/factory.d.ts.map +1 -0
- package/dist/adapters/http/middleware/built-in/realm-resolver/factory.mjs +14 -0
- package/dist/adapters/http/middleware/built-in/realm-resolver/factory.mjs.map +1 -0
- package/dist/adapters/http/middleware/built-in/realm-resolver/index.d.ts +4 -0
- package/dist/adapters/http/middleware/built-in/realm-resolver/index.d.ts.map +1 -0
- package/dist/adapters/http/middleware/built-in/realm-resolver/index.mjs +3 -0
- package/dist/adapters/http/middleware/built-in/realm-resolver/module.d.ts +9 -0
- package/dist/adapters/http/middleware/built-in/realm-resolver/module.d.ts.map +1 -0
- package/dist/adapters/http/middleware/built-in/realm-resolver/module.mjs +26 -0
- package/dist/adapters/http/middleware/built-in/realm-resolver/module.mjs.map +1 -0
- package/dist/adapters/http/middleware/built-in/realm-resolver/types.d.ts +5 -0
- package/dist/adapters/http/middleware/built-in/realm-resolver/types.d.ts.map +1 -0
- package/dist/adapters/http/middleware/built-in/swagger.mjs.map +1 -1
- package/dist/adapters/http/middleware/index.mjs +3 -1
- package/dist/adapters/http/request/helpers/actor.d.ts +1 -1
- package/dist/adapters/http/request/helpers/actor.d.ts.map +1 -1
- package/dist/adapters/http/request/helpers/actor.mjs.map +1 -1
- package/dist/adapters/http/request/helpers/body-realm-id.mjs.map +1 -1
- package/dist/adapters/http/request/helpers/identity.mjs +1 -1
- package/dist/adapters/http/request/helpers/identity.mjs.map +1 -1
- package/dist/adapters/http/request/helpers/index.d.ts +1 -0
- package/dist/adapters/http/request/helpers/index.d.ts.map +1 -1
- package/dist/adapters/http/request/helpers/index.mjs +2 -1
- package/dist/adapters/http/request/helpers/locations.mjs.map +1 -1
- package/dist/adapters/http/request/helpers/param-id.mjs.map +1 -1
- package/dist/adapters/http/request/helpers/realm-id.d.ts +5 -0
- package/dist/adapters/http/request/helpers/realm-id.d.ts.map +1 -0
- package/dist/adapters/http/request/helpers/realm-id.mjs +19 -0
- package/dist/adapters/http/request/helpers/realm-id.mjs.map +1 -0
- package/dist/adapters/http/request/helpers/scopes.mjs.map +1 -1
- package/dist/adapters/http/request/helpers/token.mjs.map +1 -1
- package/dist/adapters/http/request/index.mjs +2 -1
- package/dist/adapters/http/request/permission/helper.mjs.map +1 -1
- package/dist/adapters/http/request/permission/module.mjs.map +1 -1
- package/dist/adapters/shared/ldap/factory.mjs.map +1 -1
- package/dist/adapters/shared/ldap/module.mjs.map +1 -1
- package/dist/app/builder.mjs.map +1 -1
- package/dist/app/factory.mjs.map +1 -1
- package/dist/app/modules/authentication/constants.mjs.map +1 -1
- package/dist/app/modules/authentication/module.mjs.map +1 -1
- package/dist/app/modules/authentication/repositories/session.mjs.map +1 -1
- package/dist/app/modules/cache/constants.mjs.map +1 -1
- package/dist/app/modules/cache/module.mjs.map +1 -1
- package/dist/app/modules/components/module.mjs.map +1 -1
- package/dist/app/modules/config/constants.mjs.map +1 -1
- package/dist/app/modules/config/module.mjs.map +1 -1
- package/dist/app/modules/config/normalize.mjs.map +1 -1
- package/dist/app/modules/config/parse.mjs.map +1 -1
- package/dist/app/modules/config/read/env.mjs.map +1 -1
- package/dist/app/modules/config/read/fs.mjs.map +1 -1
- package/dist/app/modules/config/read/module.mjs.map +1 -1
- package/dist/app/modules/constants.mjs.map +1 -1
- package/dist/app/modules/database/constants.mjs.map +1 -1
- package/dist/app/modules/database/module.mjs.map +1 -1
- package/dist/app/modules/database/repositories/bindings.mjs.map +1 -1
- package/dist/app/modules/database/repositories/client/repository.d.ts +2 -1
- package/dist/app/modules/database/repositories/client/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/client/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/client-permission/repository.d.ts +1 -1
- package/dist/app/modules/database/repositories/client-permission/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/client-permission/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/client-role/repository.d.ts +1 -1
- package/dist/app/modules/database/repositories/client-role/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/client-role/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/client-scope/repository.d.ts +1 -1
- package/dist/app/modules/database/repositories/client-scope/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/client-scope/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/helpers.mjs.map +1 -1
- package/dist/app/modules/database/repositories/identity-provider/repository.d.ts +2 -1
- package/dist/app/modules/database/repositories/identity-provider/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/identity-provider/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/identity-provider-role-mapping/repository.d.ts +2 -1
- package/dist/app/modules/database/repositories/identity-provider-role-mapping/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/identity-provider-role-mapping/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/permission/repository.d.ts +2 -1
- package/dist/app/modules/database/repositories/permission/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/permission/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/permission-policy/repository.d.ts +2 -1
- package/dist/app/modules/database/repositories/permission-policy/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/permission-policy/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/permission-provider/module.mjs.map +1 -1
- package/dist/app/modules/database/repositories/policy/repository.d.ts +2 -1
- package/dist/app/modules/database/repositories/policy/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/policy/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/realm/repository.d.ts +2 -1
- package/dist/app/modules/database/repositories/realm/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/realm/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/robot/repository.d.ts +2 -1
- package/dist/app/modules/database/repositories/robot/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/robot/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/robot-permission/repository.d.ts +1 -1
- package/dist/app/modules/database/repositories/robot-permission/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/robot-permission/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/robot-role/repository.d.ts +2 -1
- package/dist/app/modules/database/repositories/robot-role/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/robot-role/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/role/repository.d.ts +2 -1
- package/dist/app/modules/database/repositories/role/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/role/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/role-attribute/repository.d.ts +2 -1
- package/dist/app/modules/database/repositories/role-attribute/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/role-attribute/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/role-permission/repository.d.ts +2 -1
- package/dist/app/modules/database/repositories/role-permission/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/role-permission/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/scope/repository.d.ts +2 -1
- package/dist/app/modules/database/repositories/scope/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/scope/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/user/repository.d.ts +2 -1
- package/dist/app/modules/database/repositories/user/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/user/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/user-attribute/repository.d.ts +2 -1
- package/dist/app/modules/database/repositories/user-attribute/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/user-attribute/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/user-permission/repository.d.ts +2 -1
- package/dist/app/modules/database/repositories/user-permission/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/user-permission/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/user-role/repository.d.ts +2 -1
- package/dist/app/modules/database/repositories/user-role/repository.d.ts.map +1 -1
- package/dist/app/modules/database/repositories/user-role/repository.mjs.map +1 -1
- package/dist/app/modules/http/constants.mjs.map +1 -1
- package/dist/app/modules/http/module.mjs.map +1 -1
- package/dist/app/modules/http/modules/controller.d.ts.map +1 -1
- package/dist/app/modules/http/modules/controller.mjs +27 -19
- package/dist/app/modules/http/modules/controller.mjs.map +1 -1
- package/dist/app/modules/http/modules/middleware.d.ts +1 -0
- package/dist/app/modules/http/modules/middleware.d.ts.map +1 -1
- package/dist/app/modules/http/modules/middleware.mjs +10 -0
- package/dist/app/modules/http/modules/middleware.mjs.map +1 -1
- package/dist/app/modules/identity/constants.mjs.map +1 -1
- package/dist/app/modules/identity/module.mjs.map +1 -1
- package/dist/app/modules/identity/repositories/client.mjs.map +1 -1
- package/dist/app/modules/identity/repositories/provider/account/module.mjs.map +1 -1
- package/dist/app/modules/identity/repositories/provider/mapper/attribute.mjs.map +1 -1
- package/dist/app/modules/identity/repositories/provider/mapper/permission.mjs.map +1 -1
- package/dist/app/modules/identity/repositories/provider/mapper/role.mjs.map +1 -1
- package/dist/app/modules/identity/repositories/robot.mjs.map +1 -1
- package/dist/app/modules/identity/repositories/user.mjs.map +1 -1
- package/dist/app/modules/ldap/constants.mjs.map +1 -1
- package/dist/app/modules/ldap/module.mjs.map +1 -1
- package/dist/app/modules/logger/constants.mjs.map +1 -1
- package/dist/app/modules/logger/module.mjs.map +1 -1
- package/dist/app/modules/mail/adapter/smtp/module.mjs.map +1 -1
- package/dist/app/modules/mail/adapter/smtp/smtp.mjs.map +1 -1
- package/dist/app/modules/mail/adapter/void.mjs.map +1 -1
- package/dist/app/modules/mail/constants.mjs.map +1 -1
- package/dist/app/modules/mail/module.mjs.map +1 -1
- package/dist/app/modules/oauth2/constants.mjs.map +1 -1
- package/dist/app/modules/oauth2/module.mjs.map +1 -1
- package/dist/app/modules/oauth2/repositories/authorize/code/repository.mjs.map +1 -1
- package/dist/app/modules/oauth2/repositories/authorize/state/repository.mjs.map +1 -1
- package/dist/app/modules/oauth2/repositories/client/repository.mjs.map +1 -1
- package/dist/app/modules/oauth2/repositories/key/repository.mjs.map +1 -1
- package/dist/app/modules/oauth2/repositories/scope/repository.mjs.map +1 -1
- package/dist/app/modules/oauth2/repositories/token/repository.mjs.map +1 -1
- package/dist/app/modules/provisioning/module.mjs.map +1 -1
- package/dist/app/modules/provisioning/sources/composite/module.mjs.map +1 -1
- package/dist/app/modules/provisioning/sources/default/module.mjs.map +1 -1
- package/dist/app/modules/provisioning/sources/file/module.mjs.map +1 -1
- package/dist/app/modules/runtime/module.mjs.map +1 -1
- package/dist/cli/commands/healthcheck.mjs.map +1 -1
- package/dist/cli/commands/migration.mjs.map +1 -1
- package/dist/cli/commands/reset.mjs.map +1 -1
- package/dist/cli/commands/start.mjs.map +1 -1
- package/dist/cli/index.mjs.map +1 -1
- package/dist/cli/module.mjs.map +1 -1
- package/dist/components/database/unique-entries/factory.mjs.map +1 -1
- package/dist/components/database/unique-entries/module.mjs.map +1 -1
- package/dist/components/oauth2-cleaner/module.mjs.map +1 -1
- package/dist/core/authentication/base.mjs.map +1 -1
- package/dist/core/authentication/credential/entities/client/module.mjs.map +1 -1
- package/dist/core/authentication/credential/entities/robot/module.mjs.map +1 -1
- package/dist/core/authentication/credential/entities/user/module.mjs.map +1 -1
- package/dist/core/authentication/entities/client/module.d.ts.map +1 -1
- package/dist/core/authentication/entities/client/module.mjs +7 -5
- package/dist/core/authentication/entities/client/module.mjs.map +1 -1
- package/dist/core/authentication/entities/robot/module.d.ts.map +1 -1
- package/dist/core/authentication/entities/robot/module.mjs +5 -4
- package/dist/core/authentication/entities/robot/module.mjs.map +1 -1
- package/dist/core/authentication/entities/user/module.d.ts.map +1 -1
- package/dist/core/authentication/entities/user/module.mjs +5 -4
- package/dist/core/authentication/entities/user/module.mjs.map +1 -1
- package/dist/core/authentication/module.mjs.map +1 -1
- package/dist/core/authentication/session/module.mjs.map +1 -1
- package/dist/core/entities/client/service.d.ts +2 -3
- package/dist/core/entities/client/service.d.ts.map +1 -1
- package/dist/core/entities/client/service.mjs +8 -8
- package/dist/core/entities/client/service.mjs.map +1 -1
- package/dist/core/entities/client/types.d.ts +1 -2
- package/dist/core/entities/client/types.d.ts.map +1 -1
- package/dist/core/entities/client-permission/service.d.ts +2 -3
- package/dist/core/entities/client-permission/service.d.ts.map +1 -1
- package/dist/core/entities/client-permission/service.mjs +8 -7
- package/dist/core/entities/client-permission/service.mjs.map +1 -1
- package/dist/core/entities/client-permission/types.d.ts +1 -2
- package/dist/core/entities/client-permission/types.d.ts.map +1 -1
- package/dist/core/entities/client-role/service.d.ts +2 -3
- package/dist/core/entities/client-role/service.d.ts.map +1 -1
- package/dist/core/entities/client-role/service.mjs +9 -8
- package/dist/core/entities/client-role/service.mjs.map +1 -1
- package/dist/core/entities/client-role/types.d.ts +1 -2
- package/dist/core/entities/client-role/types.d.ts.map +1 -1
- package/dist/core/entities/client-scope/service.d.ts +2 -3
- package/dist/core/entities/client-scope/service.d.ts.map +1 -1
- package/dist/core/entities/client-scope/service.mjs +7 -6
- package/dist/core/entities/client-scope/service.mjs.map +1 -1
- package/dist/core/entities/client-scope/types.d.ts +1 -2
- package/dist/core/entities/client-scope/types.d.ts.map +1 -1
- package/dist/core/entities/identity-provider/types.d.ts +1 -1
- package/dist/core/entities/identity-provider/types.d.ts.map +1 -1
- package/dist/core/entities/identity-provider-role-mapping/service.d.ts +2 -3
- package/dist/core/entities/identity-provider-role-mapping/service.d.ts.map +1 -1
- package/dist/core/entities/identity-provider-role-mapping/service.mjs +10 -9
- package/dist/core/entities/identity-provider-role-mapping/service.mjs.map +1 -1
- package/dist/core/entities/identity-provider-role-mapping/types.d.ts +1 -2
- package/dist/core/entities/identity-provider-role-mapping/types.d.ts.map +1 -1
- package/dist/core/entities/index.d.ts +0 -3
- package/dist/core/entities/index.d.ts.map +1 -1
- package/dist/core/entities/index.mjs +1 -2
- package/dist/core/entities/permission/service.d.ts +2 -3
- package/dist/core/entities/permission/service.d.ts.map +1 -1
- package/dist/core/entities/permission/service.mjs +8 -9
- package/dist/core/entities/permission/service.mjs.map +1 -1
- package/dist/core/entities/permission/types.d.ts +1 -2
- package/dist/core/entities/permission/types.d.ts.map +1 -1
- package/dist/core/entities/permission-policy/service.d.ts +2 -3
- package/dist/core/entities/permission-policy/service.d.ts.map +1 -1
- package/dist/core/entities/permission-policy/service.mjs +7 -6
- package/dist/core/entities/permission-policy/service.mjs.map +1 -1
- package/dist/core/entities/permission-policy/types.d.ts +1 -2
- package/dist/core/entities/permission-policy/types.d.ts.map +1 -1
- package/dist/core/entities/policy/attributes-validator.mjs.map +1 -1
- package/dist/core/entities/policy/service.d.ts +2 -3
- package/dist/core/entities/policy/service.d.ts.map +1 -1
- package/dist/core/entities/policy/service.mjs +8 -8
- package/dist/core/entities/policy/service.mjs.map +1 -1
- package/dist/core/entities/policy/types.d.ts +1 -2
- package/dist/core/entities/policy/types.d.ts.map +1 -1
- package/dist/core/entities/realm/service.d.ts +2 -3
- package/dist/core/entities/realm/service.d.ts.map +1 -1
- package/dist/core/entities/realm/service.mjs +8 -8
- package/dist/core/entities/realm/service.mjs.map +1 -1
- package/dist/core/entities/realm/types.d.ts +1 -2
- package/dist/core/entities/realm/types.d.ts.map +1 -1
- package/dist/core/entities/robot/service.d.ts +2 -3
- package/dist/core/entities/robot/service.d.ts.map +1 -1
- package/dist/core/entities/robot/service.mjs +8 -8
- package/dist/core/entities/robot/service.mjs.map +1 -1
- package/dist/core/entities/robot/types.d.ts +1 -2
- package/dist/core/entities/robot/types.d.ts.map +1 -1
- package/dist/core/entities/robot-permission/service.d.ts +2 -3
- package/dist/core/entities/robot-permission/service.d.ts.map +1 -1
- package/dist/core/entities/robot-permission/service.mjs +8 -7
- package/dist/core/entities/robot-permission/service.mjs.map +1 -1
- package/dist/core/entities/robot-permission/types.d.ts +1 -2
- package/dist/core/entities/robot-permission/types.d.ts.map +1 -1
- package/dist/core/entities/robot-role/service.d.ts +2 -3
- package/dist/core/entities/robot-role/service.d.ts.map +1 -1
- package/dist/core/entities/robot-role/service.mjs +9 -8
- package/dist/core/entities/robot-role/service.mjs.map +1 -1
- package/dist/core/entities/robot-role/types.d.ts +1 -2
- package/dist/core/entities/robot-role/types.d.ts.map +1 -1
- package/dist/core/entities/role/service.d.ts +2 -3
- package/dist/core/entities/role/service.d.ts.map +1 -1
- package/dist/core/entities/role/service.mjs +8 -8
- package/dist/core/entities/role/service.mjs.map +1 -1
- package/dist/core/entities/role/types.d.ts +1 -2
- package/dist/core/entities/role/types.d.ts.map +1 -1
- package/dist/core/entities/role-attribute/service.d.ts +2 -3
- package/dist/core/entities/role-attribute/service.d.ts.map +1 -1
- package/dist/core/entities/role-attribute/service.mjs +5 -5
- package/dist/core/entities/role-attribute/service.mjs.map +1 -1
- package/dist/core/entities/role-attribute/types.d.ts +1 -2
- package/dist/core/entities/role-attribute/types.d.ts.map +1 -1
- package/dist/core/entities/role-permission/service.d.ts +2 -3
- package/dist/core/entities/role-permission/service.d.ts.map +1 -1
- package/dist/core/entities/role-permission/service.mjs +8 -7
- package/dist/core/entities/role-permission/service.mjs.map +1 -1
- package/dist/core/entities/role-permission/types.d.ts +1 -2
- package/dist/core/entities/role-permission/types.d.ts.map +1 -1
- package/dist/core/entities/scope/service.d.ts +2 -3
- package/dist/core/entities/scope/service.d.ts.map +1 -1
- package/dist/core/entities/scope/service.mjs +8 -8
- package/dist/core/entities/scope/service.mjs.map +1 -1
- package/dist/core/entities/scope/types.d.ts +1 -2
- package/dist/core/entities/scope/types.d.ts.map +1 -1
- package/dist/core/entities/user/service.d.ts +2 -3
- package/dist/core/entities/user/service.d.ts.map +1 -1
- package/dist/core/entities/user/service.mjs +8 -8
- package/dist/core/entities/user/service.mjs.map +1 -1
- package/dist/core/entities/user/types.d.ts +1 -2
- package/dist/core/entities/user/types.d.ts.map +1 -1
- package/dist/core/entities/user-attribute/service.d.ts +2 -3
- package/dist/core/entities/user-attribute/service.d.ts.map +1 -1
- package/dist/core/entities/user-attribute/service.mjs +8 -8
- package/dist/core/entities/user-attribute/service.mjs.map +1 -1
- package/dist/core/entities/user-attribute/types.d.ts +1 -2
- package/dist/core/entities/user-attribute/types.d.ts.map +1 -1
- package/dist/core/entities/user-permission/service.d.ts +2 -3
- package/dist/core/entities/user-permission/service.d.ts.map +1 -1
- package/dist/core/entities/user-permission/service.mjs +8 -7
- package/dist/core/entities/user-permission/service.mjs.map +1 -1
- package/dist/core/entities/user-permission/types.d.ts +1 -2
- package/dist/core/entities/user-permission/types.d.ts.map +1 -1
- package/dist/core/entities/user-role/service.d.ts +2 -3
- package/dist/core/entities/user-role/service.d.ts.map +1 -1
- package/dist/core/entities/user-role/service.mjs +9 -8
- package/dist/core/entities/user-role/service.mjs.map +1 -1
- package/dist/core/entities/user-role/types.d.ts +1 -2
- package/dist/core/entities/user-role/types.d.ts.map +1 -1
- package/dist/core/identity/index.d.ts +1 -0
- package/dist/core/identity/index.d.ts.map +1 -1
- package/dist/core/identity/index.mjs +4 -1
- package/dist/core/identity/password-recovery/check.d.ts +7 -0
- package/dist/core/identity/password-recovery/check.d.ts.map +1 -0
- package/dist/core/identity/password-recovery/check.mjs +24 -0
- package/dist/core/identity/password-recovery/check.mjs.map +1 -0
- package/dist/core/identity/password-recovery/disabled.d.ts +6 -0
- package/dist/core/identity/password-recovery/disabled.d.ts.map +1 -0
- package/dist/core/identity/password-recovery/disabled.mjs +16 -0
- package/dist/core/identity/password-recovery/disabled.mjs.map +1 -0
- package/dist/core/identity/password-recovery/email-verification-required.d.ts +6 -0
- package/dist/core/identity/password-recovery/email-verification-required.d.ts.map +1 -0
- package/dist/core/identity/password-recovery/email-verification-required.mjs +16 -0
- package/dist/core/identity/password-recovery/email-verification-required.mjs.map +1 -0
- package/dist/core/identity/password-recovery/service.d.ts.map +1 -1
- package/dist/core/identity/password-recovery/service.mjs +10 -7
- package/dist/core/identity/password-recovery/service.mjs.map +1 -1
- package/dist/core/identity/password-recovery/token-expired.d.ts +6 -0
- package/dist/core/identity/password-recovery/token-expired.d.ts.map +1 -0
- package/dist/core/identity/password-recovery/token-expired.mjs +16 -0
- package/dist/core/identity/password-recovery/token-expired.mjs.map +1 -0
- package/dist/core/identity/permission/checker/index.d.ts +3 -0
- package/dist/core/identity/permission/checker/index.d.ts.map +1 -0
- package/dist/core/identity/permission/checker/index.mjs +2 -0
- package/dist/core/identity/permission/checker/service.d.ts +10 -0
- package/dist/core/identity/permission/checker/service.d.ts.map +1 -0
- package/dist/core/identity/permission/checker/service.mjs +55 -0
- package/dist/core/identity/permission/checker/service.mjs.map +1 -0
- package/dist/core/identity/permission/checker/types.d.ts +42 -0
- package/dist/core/identity/permission/checker/types.d.ts.map +1 -0
- package/dist/core/identity/permission/identity-policy-data.d.ts +4 -0
- package/dist/core/identity/permission/identity-policy-data.d.ts.map +1 -0
- package/dist/core/identity/permission/identity-policy-data.mjs +23 -0
- package/dist/core/identity/permission/identity-policy-data.mjs.map +1 -0
- package/dist/core/identity/permission/index.d.ts +1 -0
- package/dist/core/identity/permission/index.d.ts.map +1 -1
- package/dist/core/identity/permission/index.mjs +3 -1
- package/dist/core/identity/permission/module.mjs.map +1 -1
- package/dist/core/identity/policy/checker/index.d.ts +3 -0
- package/dist/core/identity/policy/checker/index.d.ts.map +1 -0
- package/dist/core/identity/policy/checker/index.mjs +2 -0
- package/dist/core/identity/policy/checker/service.d.ts +10 -0
- package/dist/core/identity/policy/checker/service.d.ts.map +1 -0
- package/dist/core/identity/policy/checker/service.mjs +46 -0
- package/dist/core/identity/policy/checker/service.mjs.map +1 -0
- package/dist/core/identity/policy/checker/types.d.ts +40 -0
- package/dist/core/identity/policy/checker/types.d.ts.map +1 -0
- package/dist/core/identity/policy/index.d.ts +2 -0
- package/dist/core/identity/policy/index.d.ts.map +1 -0
- package/dist/core/identity/policy/index.mjs +3 -0
- package/dist/core/identity/provider/account/module.d.ts.map +1 -1
- package/dist/core/identity/provider/account/module.mjs +2 -2
- package/dist/core/identity/provider/account/module.mjs.map +1 -1
- package/dist/core/identity/provider/authentication/constants.mjs.map +1 -1
- package/dist/core/identity/provider/authentication/factory.mjs.map +1 -1
- package/dist/core/identity/provider/authentication/presets/facebook.mjs.map +1 -1
- package/dist/core/identity/provider/authentication/presets/github.mjs.map +1 -1
- package/dist/core/identity/provider/authentication/presets/google.mjs.map +1 -1
- package/dist/core/identity/provider/authentication/presets/instagram.mjs.map +1 -1
- package/dist/core/identity/provider/authentication/presets/paypal.mjs.map +1 -1
- package/dist/core/identity/provider/authentication/protocols/ldap/collection.d.ts.map +1 -1
- package/dist/core/identity/provider/authentication/protocols/ldap/collection.mjs +3 -2
- package/dist/core/identity/provider/authentication/protocols/ldap/collection.mjs.map +1 -1
- package/dist/core/identity/provider/authentication/protocols/ldap/module.d.ts.map +1 -1
- package/dist/core/identity/provider/authentication/protocols/ldap/module.mjs +7 -4
- package/dist/core/identity/provider/authentication/protocols/ldap/module.mjs.map +1 -1
- package/dist/core/identity/provider/authentication/protocols/oauth2/module.mjs.map +1 -1
- package/dist/core/identity/provider/authentication/protocols/open-id/module.mjs.map +1 -1
- package/dist/core/identity/provider/mapper/attributes/module.mjs.map +1 -1
- package/dist/core/identity/provider/mapper/base.mjs.map +1 -1
- package/dist/core/identity/provider/mapper/permission/module.mjs.map +1 -1
- package/dist/core/identity/provider/mapper/role/module.mjs.map +1 -1
- package/dist/core/identity/registration/check.d.ts +3 -0
- package/dist/core/identity/registration/check.d.ts.map +1 -0
- package/dist/core/identity/registration/check.mjs +12 -0
- package/dist/core/identity/registration/check.mjs.map +1 -0
- package/dist/core/identity/registration/error.d.ts +6 -0
- package/dist/core/identity/registration/error.d.ts.map +1 -0
- package/dist/core/identity/registration/error.mjs +16 -0
- package/dist/core/identity/registration/error.mjs.map +1 -0
- package/dist/core/identity/registration/service.d.ts.map +1 -1
- package/dist/core/identity/registration/service.mjs +4 -3
- package/dist/core/identity/registration/service.mjs.map +1 -1
- package/dist/core/identity/resolver/entities/ldap/module.mjs.map +1 -1
- package/dist/core/identity/resolver/module.mjs.map +1 -1
- package/dist/core/identity/role/module.mjs.map +1 -1
- package/dist/core/index.mjs +5 -4
- package/dist/core/oauth2/authorization/code/issuer/module.mjs.map +1 -1
- package/dist/core/oauth2/authorization/code/verifier/module.mjs +8 -8
- package/dist/core/oauth2/authorization/code/verifier/module.mjs.map +1 -1
- package/dist/core/oauth2/authorization/code-request/validator.mjs +2 -2
- package/dist/core/oauth2/authorization/code-request/validator.mjs.map +1 -1
- package/dist/core/oauth2/authorization/code-request/verifier/module.d.ts.map +1 -1
- package/dist/core/oauth2/authorization/code-request/verifier/module.mjs +8 -8
- package/dist/core/oauth2/authorization/code-request/verifier/module.mjs.map +1 -1
- package/dist/core/oauth2/authorization/helpers.mjs.map +1 -1
- package/dist/core/oauth2/authorization/module.d.ts.map +1 -1
- package/dist/core/oauth2/authorization/module.mjs +4 -4
- package/dist/core/oauth2/authorization/module.mjs.map +1 -1
- package/dist/core/oauth2/authorization/state/module.mjs +4 -4
- package/dist/core/oauth2/authorization/state/module.mjs.map +1 -1
- package/dist/core/oauth2/client/authenticator.mjs +6 -6
- package/dist/core/oauth2/client/authenticator.mjs.map +1 -1
- package/dist/core/oauth2/grant-types/authorize.mjs.map +1 -1
- package/dist/core/oauth2/grant-types/base.mjs.map +1 -1
- package/dist/core/oauth2/grant-types/client-credentials.mjs.map +1 -1
- package/dist/core/oauth2/grant-types/identity.mjs.map +1 -1
- package/dist/core/oauth2/grant-types/password.mjs.map +1 -1
- package/dist/core/oauth2/grant-types/refresh-token.mjs.map +1 -1
- package/dist/core/oauth2/grant-types/robot-credentials.mjs.map +1 -1
- package/dist/core/oauth2/helpers/{erorr.d.ts → error.d.ts} +1 -1
- package/dist/core/oauth2/helpers/error.d.ts.map +1 -0
- package/dist/core/oauth2/helpers/{erorr.mjs → error.mjs} +6 -7
- package/dist/core/oauth2/helpers/error.mjs.map +1 -0
- package/dist/core/oauth2/helpers/index.d.ts +1 -1
- package/dist/core/oauth2/helpers/index.mjs +1 -1
- package/dist/core/oauth2/openid/claims.mjs.map +1 -1
- package/dist/core/oauth2/response/bearer.mjs.map +1 -1
- package/dist/core/oauth2/scope/resolver.mjs.map +1 -1
- package/dist/core/oauth2/token/issuer/access/module.mjs.map +1 -1
- package/dist/core/oauth2/token/issuer/base.mjs.map +1 -1
- package/dist/core/oauth2/token/issuer/open-id/module.mjs.map +1 -1
- package/dist/core/oauth2/token/issuer/refresh/module.mjs.map +1 -1
- package/dist/core/oauth2/token/revoker/module.mjs.map +1 -1
- package/dist/core/oauth2/token/signer/module.mjs.map +1 -1
- package/dist/core/oauth2/token/verifier/module.mjs.map +1 -1
- package/dist/core/provisioning/entities/client/relations-validator.mjs.map +1 -1
- package/dist/core/provisioning/entities/client/validator.mjs.map +1 -1
- package/dist/core/provisioning/entities/permission/validator.mjs.map +1 -1
- package/dist/core/provisioning/entities/realm/relations-validator.mjs.map +1 -1
- package/dist/core/provisioning/entities/realm/validator.mjs.map +1 -1
- package/dist/core/provisioning/entities/robot/relations-validator.mjs.map +1 -1
- package/dist/core/provisioning/entities/robot/validator.mjs.map +1 -1
- package/dist/core/provisioning/entities/role/relations-validator.mjs.map +1 -1
- package/dist/core/provisioning/entities/role/validator.mjs.map +1 -1
- package/dist/core/provisioning/entities/root/validator.mjs.map +1 -1
- package/dist/core/provisioning/entities/scope/validator.mjs.map +1 -1
- package/dist/core/provisioning/entities/user/relations-validator.mjs.map +1 -1
- package/dist/core/provisioning/entities/user/validator.mjs.map +1 -1
- package/dist/core/provisioning/strategy/normalize.mjs.map +1 -1
- package/dist/core/provisioning/strategy/validator.mjs.map +1 -1
- package/dist/core/provisioning/synchronizer/base.mjs.map +1 -1
- package/dist/core/provisioning/synchronizer/client/module.mjs.map +1 -1
- package/dist/core/provisioning/synchronizer/entity-resolver.d.ts +1 -1
- package/dist/core/provisioning/synchronizer/entity-resolver.d.ts.map +1 -1
- package/dist/core/provisioning/synchronizer/entity-resolver.mjs.map +1 -1
- package/dist/core/provisioning/synchronizer/junction-synchronizer.d.ts +1 -1
- package/dist/core/provisioning/synchronizer/junction-synchronizer.d.ts.map +1 -1
- package/dist/core/provisioning/synchronizer/junction-synchronizer.mjs.map +1 -1
- package/dist/core/provisioning/synchronizer/permission/module.mjs.map +1 -1
- package/dist/core/provisioning/synchronizer/policy/module.mjs.map +1 -1
- package/dist/core/provisioning/synchronizer/realm/module.mjs.map +1 -1
- package/dist/core/provisioning/synchronizer/robot/module.mjs.map +1 -1
- package/dist/core/provisioning/synchronizer/role/module.mjs.map +1 -1
- package/dist/core/provisioning/synchronizer/root/module.mjs.map +1 -1
- package/dist/core/provisioning/synchronizer/scope/module.mjs.map +1 -1
- package/dist/core/provisioning/synchronizer/user/module.mjs.map +1 -1
- package/dist/core/security/policy/engine.mjs.map +1 -1
- package/dist/core/security/policy/evaluator.mjs.map +1 -1
- package/dist/index.mjs +4 -1
- package/dist/path.mjs.map +1 -1
- package/dist/swagger.json +3125 -1269
- package/dist/ui/client/.vite/ssr-manifest.json +30 -35
- package/dist/ui/client/assets/index-BdPtpN2t.js +66 -0
- package/dist/ui/client/index.html +1 -1
- package/dist/ui/server/server.js +24261 -972
- package/dist/utils/error.d.ts +13 -0
- package/dist/utils/error.d.ts.map +1 -1
- package/dist/utils/error.mjs +26 -23
- package/dist/utils/error.mjs.map +1 -1
- package/dist/utils/host.mjs.map +1 -1
- package/dist/utils/self-id.mjs.map +1 -1
- package/dist/utils/url.mjs.map +1 -1
- package/package.json +26 -27
- package/dist/core/entities/actor/index.d.ts +0 -2
- package/dist/core/entities/actor/index.d.ts.map +0 -1
- package/dist/core/entities/actor/types.d.ts +0 -7
- package/dist/core/entities/actor/types.d.ts.map +0 -1
- package/dist/core/entities/service.d.ts +0 -6
- package/dist/core/entities/service.d.ts.map +0 -1
- package/dist/core/entities/service.mjs +0 -21
- package/dist/core/entities/service.mjs.map +0 -1
- package/dist/core/entities/types.d.ts +0 -22
- package/dist/core/entities/types.d.ts.map +0 -1
- package/dist/core/oauth2/helpers/erorr.d.ts.map +0 -1
- package/dist/core/oauth2/helpers/erorr.mjs.map +0 -1
- package/dist/ui/client/assets/index-DJBdH-x_.js +0 -64
- /package/dist/{core/entities/actor → adapters/http/middleware/built-in/realm-resolver}/types.mjs +0 -0
- /package/dist/core/{entities → identity/permission/checker}/types.mjs +0 -0
- /package/dist/core/{entities/actor/index.mjs → identity/policy/checker/types.mjs} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"1766830857009-Default.mjs","names":["Default1766830857009","name","up","queryRunner","query","down"],"sources":["../../../../../src/adapters/database/migrations/postgres/1766830857009-Default.ts"],"sourcesContent":["import type { MigrationInterface, QueryRunner } from 'typeorm';\n\nexport class Default1766830857009 implements MigrationInterface {\n name = 'Default1766830857009';\n\n public async up(queryRunner: QueryRunner): Promise<void> {\n await queryRunner.query(`\n ALTER TABLE \"auth_clients\" DROP CONSTRAINT \"FK_9c9f985a5cfc1ff52a04c05e5d5\"\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_permissions\" DROP CONSTRAINT \"FK_0d8fb586aa4d177206142bd4ed5\"\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_users\" DROP CONSTRAINT \"FK_b1797e07106b4af61280b8edac1\"\n `);\n await queryRunner.query(`\n CREATE TABLE \"auth_sessions\" (\n \"id\" uuid NOT NULL DEFAULT uuid_generate_v4(),\n \"sub\" character varying(64) NOT NULL,\n \"sub_kind\" character varying(64) NOT NULL,\n \"ip_address\" character varying(15) NOT NULL,\n \"user_agent\" character varying(512) NOT NULL,\n \"expires_at\" character varying(28) NOT NULL,\n \"refreshed_at\" character varying(28),\n \"seen_at\" character varying(28),\n \"updated_at\" TIMESTAMP NOT NULL DEFAULT now(),\n \"created_at\" TIMESTAMP NOT NULL DEFAULT now(),\n \"client_id\" uuid,\n \"user_id\" uuid,\n \"robot_id\" uuid,\n \"realm_id\" uuid NOT NULL,\n CONSTRAINT \"PK_641507381f32580e8479efc36cd\" PRIMARY KEY (\"id\")\n )\n `);\n await queryRunner.query(`\n CREATE INDEX \"IDX_a83763bae0948e46c0c128a3c4\" ON \"auth_sessions\" (\"sub\")\n `);\n await queryRunner.query(`\n CREATE INDEX \"IDX_00a5096d599ad839dee7385f4e\" ON \"auth_sessions\" (\"sub_kind\")\n `);\n await queryRunner.query(`\n CREATE INDEX \"IDX_514d063fddd0ce969e7b8881c5\" ON \"auth_sessions\" (\"ip_address\")\n `);\n await queryRunner.query(`\n CREATE INDEX \"IDX_717d1d5d49af59b84a3c70281f\" ON \"auth_sessions\" (\"user_agent\")\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_clients\" DROP COLUMN \"user_id\"\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_permissions\" DROP COLUMN \"target\"\n `);\n\n await queryRunner.query(`\n ALTER TABLE \"auth_identity_provider_attribute_mappings\"\n RENAME COLUMN \"source_value_is_regex\" TO \"value_is_regex\"\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_identity_provider_attribute_mappings\"\n RENAME COLUMN \"source_name\" TO \"name\"\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_identity_provider_attribute_mappings\"\n RENAME COLUMN \"source_value\" TO \"value\"\n `);\n\n await queryRunner.query(`\n ALTER TABLE \"auth_clients\"\n ADD \"active\" boolean NOT NULL DEFAULT true\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_clients\"\n ADD \"secret_hashed\" boolean NOT NULL DEFAULT false\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_clients\"\n ADD \"secret_encrypted\" boolean NOT NULL DEFAULT false\n `);\n\n // client realm_id not null\n await queryRunner.query(`\n ALTER TABLE \"auth_clients\" DROP CONSTRAINT \"FK_b628ffa1b2f5415598cfb1a72af\"\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_clients\" DROP CONSTRAINT \"UQ_6018b722f28f1cc6fdac450e611\"\n `);\n await queryRunner.query(`\n DELETE FROM \"auth_clients\"\n WHERE \"realm_id\" IS NULL\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_clients\"\n ALTER COLUMN \"realm_id\"\n SET NOT NULL\n `);\n\n // user client_id referenced wrong table\n await queryRunner.query(`\n DELETE FROM \"auth_users\"\n WHERE \"client_id\" IS NOT NULL\n `);\n\n // user email not null\n await queryRunner.query(`\n UPDATE \"auth_users\"\n SET \"email\" = CONCAT(\"name\", '@example.com')\n WHERE \"email\" IS NULL;\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_users\"\n ALTER COLUMN \"email\"\n SET NOT NULL\n `);\n\n await queryRunner.query(`\n ALTER TABLE \"auth_clients\"\n ADD CONSTRAINT \"UQ_6018b722f28f1cc6fdac450e611\" UNIQUE (\"name\", \"realm_id\")\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_clients\"\n ADD CONSTRAINT \"FK_b628ffa1b2f5415598cfb1a72af\" FOREIGN KEY (\"realm_id\") REFERENCES \"auth_realms\"(\"id\") ON DELETE CASCADE ON UPDATE NO ACTION\n `);\n\n // permission client_id referenced wrong table\n await queryRunner.query(`\n DELETE FROM \"auth_permissions\"\n WHERE \"client_id\" IS NOT NULL\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_permissions\"\n ADD CONSTRAINT \"FK_0d8fb586aa4d177206142bd4ed5\" FOREIGN KEY (\"client_id\") REFERENCES \"auth_clients\"(\"id\") ON DELETE\n SET NULL ON UPDATE NO ACTION\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_users\"\n ADD CONSTRAINT \"FK_b1797e07106b4af61280b8edac1\" FOREIGN KEY (\"client_id\") REFERENCES \"auth_clients\"(\"id\") ON DELETE CASCADE ON UPDATE NO ACTION\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_sessions\"\n ADD CONSTRAINT \"FK_4b428fb760524b6ef45e7c2cbff\" FOREIGN KEY (\"client_id\") REFERENCES \"auth_clients\"(\"id\") ON DELETE CASCADE ON UPDATE NO ACTION\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_sessions\"\n ADD CONSTRAINT \"FK_50ccaa6440288a06f0ba693ccc6\" FOREIGN KEY (\"user_id\") REFERENCES \"auth_users\"(\"id\") ON DELETE CASCADE ON UPDATE NO ACTION\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_sessions\"\n ADD CONSTRAINT \"FK_46b30e5d8e5d5de58d454f53f8c\" FOREIGN KEY (\"robot_id\") REFERENCES \"auth_robots\"(\"id\") ON DELETE CASCADE ON UPDATE NO ACTION\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_sessions\"\n ADD CONSTRAINT \"FK_5a40fe23cbb002e73bf740715f5\" FOREIGN KEY (\"realm_id\") REFERENCES \"auth_realms\"(\"id\") ON DELETE CASCADE ON UPDATE NO ACTION\n `);\n }\n\n public async down(queryRunner: QueryRunner): Promise<void> {\n await queryRunner.query(`\n ALTER TABLE \"auth_sessions\" DROP CONSTRAINT \"FK_5a40fe23cbb002e73bf740715f5\"\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_sessions\" DROP CONSTRAINT \"FK_46b30e5d8e5d5de58d454f53f8c\"\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_sessions\" DROP CONSTRAINT \"FK_50ccaa6440288a06f0ba693ccc6\"\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_sessions\" DROP CONSTRAINT \"FK_4b428fb760524b6ef45e7c2cbff\"\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_users\" DROP CONSTRAINT \"FK_b1797e07106b4af61280b8edac1\"\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_permissions\" DROP CONSTRAINT \"FK_0d8fb586aa4d177206142bd4ed5\"\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_clients\" DROP CONSTRAINT \"FK_b628ffa1b2f5415598cfb1a72af\"\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_clients\" DROP CONSTRAINT \"UQ_6018b722f28f1cc6fdac450e611\"\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_users\"\n ALTER COLUMN \"email\" DROP NOT NULL\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_clients\"\n ALTER COLUMN \"realm_id\" DROP NOT NULL\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_clients\"\n ADD CONSTRAINT \"UQ_6018b722f28f1cc6fdac450e611\" UNIQUE (\"name\", \"realm_id\")\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_clients\"\n ADD CONSTRAINT \"FK_b628ffa1b2f5415598cfb1a72af\" FOREIGN KEY (\"realm_id\") REFERENCES \"auth_realms\"(\"id\") ON DELETE CASCADE ON UPDATE NO ACTION\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_clients\" DROP COLUMN \"secret_encrypted\"\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_clients\" DROP COLUMN \"secret_hashed\"\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_clients\" DROP COLUMN \"active\"\n `);\n\n await queryRunner.query(`\n ALTER TABLE \"auth_identity_provider_attribute_mappings\"\n RENAME COLUMN \"value_is_regex\" TO \"source_value_is_regex\"\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_identity_provider_attribute_mappings\"\n RENAME COLUMN \"name\" TO \"source_name\"\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_identity_provider_attribute_mappings\"\n RENAME COLUMN \"value\" TO \"source_value\"\n `);\n\n await queryRunner.query(`\n ALTER TABLE \"auth_permissions\"\n ADD \"target\" character varying(16)\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_clients\"\n ADD \"user_id\" uuid\n `);\n await queryRunner.query(`\n DROP INDEX \"public\".\"IDX_717d1d5d49af59b84a3c70281f\"\n `);\n await queryRunner.query(`\n DROP INDEX \"public\".\"IDX_514d063fddd0ce969e7b8881c5\"\n `);\n await queryRunner.query(`\n DROP INDEX \"public\".\"IDX_00a5096d599ad839dee7385f4e\"\n `);\n await queryRunner.query(`\n DROP INDEX \"public\".\"IDX_a83763bae0948e46c0c128a3c4\"\n `);\n await queryRunner.query(`\n DROP TABLE \"auth_sessions\"\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_users\"\n ADD CONSTRAINT \"FK_b1797e07106b4af61280b8edac1\" FOREIGN KEY (\"client_id\") REFERENCES \"auth_realms\"(\"id\") ON DELETE CASCADE ON UPDATE NO ACTION\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_permissions\"\n ADD CONSTRAINT \"FK_0d8fb586aa4d177206142bd4ed5\" FOREIGN KEY (\"client_id\") REFERENCES \"auth_realms\"(\"id\") ON DELETE\n SET NULL ON UPDATE NO ACTION\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_clients\"\n ADD CONSTRAINT \"FK_9c9f985a5cfc1ff52a04c05e5d5\" FOREIGN KEY (\"user_id\") REFERENCES \"auth_users\"(\"id\") ON DELETE CASCADE ON UPDATE NO ACTION\n `);\n }\n}\n"],"mappings":";AAEA,IAAaA,uBAAb,MAAaA;CACTC,OAAO;CAEP,MAAaC,GAAGC,aAAyC;AACrD,QAAMA,YAAYC,MAAM;;UAEvB;AACD,QAAMD,YAAYC,MAAM;;UAEvB;AACD,QAAMD,YAAYC,MAAM;;UAEvB;AACD,QAAMD,YAAYC,MAAM;;;;;;;;;;;;;;;;;;UAkBvB;AACD,QAAMD,YAAYC,MAAM;;UAEvB;AACD,QAAMD,YAAYC,MAAM;;UAEvB;AACD,QAAMD,YAAYC,MAAM;;UAEvB;AACD,QAAMD,YAAYC,MAAM;;UAEvB;AACD,QAAMD,YAAYC,MAAM;;UAEvB;AACD,QAAMD,YAAYC,MAAM;;UAEvB;AAED,QAAMD,YAAYC,MAAM;;;UAGvB;AACD,QAAMD,YAAYC,MAAM;;;UAGvB;AACD,QAAMD,YAAYC,MAAM;;;UAGvB;AAED,QAAMD,YAAYC,MAAM;;;UAGvB;AACD,QAAMD,YAAYC,MAAM;;;UAGvB;AACD,QAAMD,YAAYC,MAAM;;;UAGvB;AAGD,QAAMD,YAAYC,MAAM;;UAEvB;AACD,QAAMD,YAAYC,MAAM;;UAEvB;AACD,QAAMD,YAAYC,MAAM;;;UAGvB;AACD,QAAMD,YAAYC,MAAM;;;;UAIvB;AAGD,QAAMD,YAAYC,MAAM;;;UAGvB;AAGD,QAAMD,YAAYC,MAAM;;;;UAIvB;AACD,QAAMD,YAAYC,MAAM;;;;UAIvB;AAED,QAAMD,YAAYC,MAAM;;;UAGvB;AACD,QAAMD,YAAYC,MAAM;;;UAGvB;AAGD,QAAMD,YAAYC,MAAM;;;UAGvB;AACD,QAAMD,YAAYC,MAAM;;;;UAIvB;AACD,QAAMD,YAAYC,MAAM;;;UAGvB;AACD,QAAMD,YAAYC,MAAM;;;UAGvB;AACD,QAAMD,YAAYC,MAAM;;;UAGvB;AACD,QAAMD,YAAYC,MAAM;;;UAGvB;AACD,QAAMD,YAAYC,MAAM;;;UAGvB;;CAGL,MAAaC,KAAKF,aAAyC;AACvD,QAAMA,YAAYC,MAAM;;UAEvB;AACD,QAAMD,YAAYC,MAAM;;UAEvB;AACD,QAAMD,YAAYC,MAAM;;UAEvB;AACD,QAAMD,YAAYC,MAAM;;UAEvB;AACD,QAAMD,YAAYC,MAAM;;UAEvB;AACD,QAAMD,YAAYC,MAAM;;UAEvB;AACD,QAAMD,YAAYC,MAAM;;UAEvB;AACD,QAAMD,YAAYC,MAAM;;UAEvB;AACD,QAAMD,YAAYC,MAAM;;;UAGvB;AACD,QAAMD,YAAYC,MAAM;;;UAGvB;AACD,QAAMD,YAAYC,MAAM;;;UAGvB;AACD,QAAMD,YAAYC,MAAM;;;UAGvB;AACD,QAAMD,YAAYC,MAAM;;UAEvB;AACD,QAAMD,YAAYC,MAAM;;UAEvB;AACD,QAAMD,YAAYC,MAAM;;UAEvB;AAED,QAAMD,YAAYC,MAAM;;;UAGvB;AACD,QAAMD,YAAYC,MAAM;;;UAGvB;AACD,QAAMD,YAAYC,MAAM;;;UAGvB;AAED,QAAMD,YAAYC,MAAM;;;UAGvB;AACD,QAAMD,YAAYC,MAAM;;;UAGvB;AACD,QAAMD,YAAYC,MAAM;;UAEvB;AACD,QAAMD,YAAYC,MAAM;;UAEvB;AACD,QAAMD,YAAYC,MAAM;;UAEvB;AACD,QAAMD,YAAYC,MAAM;;UAEvB;AACD,QAAMD,YAAYC,MAAM;;UAEvB;AACD,QAAMD,YAAYC,MAAM;;;UAGvB;AACD,QAAMD,YAAYC,MAAM;;;;UAIvB;AACD,QAAMD,YAAYC,MAAM;;;UAGvB"}
|
|
1
|
+
{"version":3,"file":"1766830857009-Default.mjs","names":["Default1766830857009","name","up","queryRunner","query","down"],"sources":["../../../../../src/adapters/database/migrations/postgres/1766830857009-Default.ts"],"sourcesContent":["import type { MigrationInterface, QueryRunner } from 'typeorm';\n\nexport class Default1766830857009 implements MigrationInterface {\n name = 'Default1766830857009';\n\n public async up(queryRunner: QueryRunner): Promise<void> {\n await queryRunner.query(`\n ALTER TABLE \"auth_clients\" DROP CONSTRAINT \"FK_9c9f985a5cfc1ff52a04c05e5d5\"\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_permissions\" DROP CONSTRAINT \"FK_0d8fb586aa4d177206142bd4ed5\"\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_users\" DROP CONSTRAINT \"FK_b1797e07106b4af61280b8edac1\"\n `);\n await queryRunner.query(`\n CREATE TABLE \"auth_sessions\" (\n \"id\" uuid NOT NULL DEFAULT uuid_generate_v4(),\n \"sub\" character varying(64) NOT NULL,\n \"sub_kind\" character varying(64) NOT NULL,\n \"ip_address\" character varying(15) NOT NULL,\n \"user_agent\" character varying(512) NOT NULL,\n \"expires_at\" character varying(28) NOT NULL,\n \"refreshed_at\" character varying(28),\n \"seen_at\" character varying(28),\n \"updated_at\" TIMESTAMP NOT NULL DEFAULT now(),\n \"created_at\" TIMESTAMP NOT NULL DEFAULT now(),\n \"client_id\" uuid,\n \"user_id\" uuid,\n \"robot_id\" uuid,\n \"realm_id\" uuid NOT NULL,\n CONSTRAINT \"PK_641507381f32580e8479efc36cd\" PRIMARY KEY (\"id\")\n )\n `);\n await queryRunner.query(`\n CREATE INDEX \"IDX_a83763bae0948e46c0c128a3c4\" ON \"auth_sessions\" (\"sub\")\n `);\n await queryRunner.query(`\n CREATE INDEX \"IDX_00a5096d599ad839dee7385f4e\" ON \"auth_sessions\" (\"sub_kind\")\n `);\n await queryRunner.query(`\n CREATE INDEX \"IDX_514d063fddd0ce969e7b8881c5\" ON \"auth_sessions\" (\"ip_address\")\n `);\n await queryRunner.query(`\n CREATE INDEX \"IDX_717d1d5d49af59b84a3c70281f\" ON \"auth_sessions\" (\"user_agent\")\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_clients\" DROP COLUMN \"user_id\"\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_permissions\" DROP COLUMN \"target\"\n `);\n\n await queryRunner.query(`\n ALTER TABLE \"auth_identity_provider_attribute_mappings\"\n RENAME COLUMN \"source_value_is_regex\" TO \"value_is_regex\"\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_identity_provider_attribute_mappings\"\n RENAME COLUMN \"source_name\" TO \"name\"\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_identity_provider_attribute_mappings\"\n RENAME COLUMN \"source_value\" TO \"value\"\n `);\n\n await queryRunner.query(`\n ALTER TABLE \"auth_clients\"\n ADD \"active\" boolean NOT NULL DEFAULT true\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_clients\"\n ADD \"secret_hashed\" boolean NOT NULL DEFAULT false\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_clients\"\n ADD \"secret_encrypted\" boolean NOT NULL DEFAULT false\n `);\n\n // client realm_id not null\n await queryRunner.query(`\n ALTER TABLE \"auth_clients\" DROP CONSTRAINT \"FK_b628ffa1b2f5415598cfb1a72af\"\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_clients\" DROP CONSTRAINT \"UQ_6018b722f28f1cc6fdac450e611\"\n `);\n await queryRunner.query(`\n DELETE FROM \"auth_clients\"\n WHERE \"realm_id\" IS NULL\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_clients\"\n ALTER COLUMN \"realm_id\"\n SET NOT NULL\n `);\n\n // user client_id referenced wrong table\n await queryRunner.query(`\n DELETE FROM \"auth_users\"\n WHERE \"client_id\" IS NOT NULL\n `);\n\n // user email not null\n await queryRunner.query(`\n UPDATE \"auth_users\"\n SET \"email\" = CONCAT(\"name\", '@example.com')\n WHERE \"email\" IS NULL;\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_users\"\n ALTER COLUMN \"email\"\n SET NOT NULL\n `);\n\n await queryRunner.query(`\n ALTER TABLE \"auth_clients\"\n ADD CONSTRAINT \"UQ_6018b722f28f1cc6fdac450e611\" UNIQUE (\"name\", \"realm_id\")\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_clients\"\n ADD CONSTRAINT \"FK_b628ffa1b2f5415598cfb1a72af\" FOREIGN KEY (\"realm_id\") REFERENCES \"auth_realms\"(\"id\") ON DELETE CASCADE ON UPDATE NO ACTION\n `);\n\n // permission client_id referenced wrong table\n await queryRunner.query(`\n DELETE FROM \"auth_permissions\"\n WHERE \"client_id\" IS NOT NULL\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_permissions\"\n ADD CONSTRAINT \"FK_0d8fb586aa4d177206142bd4ed5\" FOREIGN KEY (\"client_id\") REFERENCES \"auth_clients\"(\"id\") ON DELETE\n SET NULL ON UPDATE NO ACTION\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_users\"\n ADD CONSTRAINT \"FK_b1797e07106b4af61280b8edac1\" FOREIGN KEY (\"client_id\") REFERENCES \"auth_clients\"(\"id\") ON DELETE CASCADE ON UPDATE NO ACTION\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_sessions\"\n ADD CONSTRAINT \"FK_4b428fb760524b6ef45e7c2cbff\" FOREIGN KEY (\"client_id\") REFERENCES \"auth_clients\"(\"id\") ON DELETE CASCADE ON UPDATE NO ACTION\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_sessions\"\n ADD CONSTRAINT \"FK_50ccaa6440288a06f0ba693ccc6\" FOREIGN KEY (\"user_id\") REFERENCES \"auth_users\"(\"id\") ON DELETE CASCADE ON UPDATE NO ACTION\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_sessions\"\n ADD CONSTRAINT \"FK_46b30e5d8e5d5de58d454f53f8c\" FOREIGN KEY (\"robot_id\") REFERENCES \"auth_robots\"(\"id\") ON DELETE CASCADE ON UPDATE NO ACTION\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_sessions\"\n ADD CONSTRAINT \"FK_5a40fe23cbb002e73bf740715f5\" FOREIGN KEY (\"realm_id\") REFERENCES \"auth_realms\"(\"id\") ON DELETE CASCADE ON UPDATE NO ACTION\n `);\n }\n\n public async down(queryRunner: QueryRunner): Promise<void> {\n await queryRunner.query(`\n ALTER TABLE \"auth_sessions\" DROP CONSTRAINT \"FK_5a40fe23cbb002e73bf740715f5\"\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_sessions\" DROP CONSTRAINT \"FK_46b30e5d8e5d5de58d454f53f8c\"\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_sessions\" DROP CONSTRAINT \"FK_50ccaa6440288a06f0ba693ccc6\"\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_sessions\" DROP CONSTRAINT \"FK_4b428fb760524b6ef45e7c2cbff\"\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_users\" DROP CONSTRAINT \"FK_b1797e07106b4af61280b8edac1\"\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_permissions\" DROP CONSTRAINT \"FK_0d8fb586aa4d177206142bd4ed5\"\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_clients\" DROP CONSTRAINT \"FK_b628ffa1b2f5415598cfb1a72af\"\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_clients\" DROP CONSTRAINT \"UQ_6018b722f28f1cc6fdac450e611\"\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_users\"\n ALTER COLUMN \"email\" DROP NOT NULL\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_clients\"\n ALTER COLUMN \"realm_id\" DROP NOT NULL\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_clients\"\n ADD CONSTRAINT \"UQ_6018b722f28f1cc6fdac450e611\" UNIQUE (\"name\", \"realm_id\")\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_clients\"\n ADD CONSTRAINT \"FK_b628ffa1b2f5415598cfb1a72af\" FOREIGN KEY (\"realm_id\") REFERENCES \"auth_realms\"(\"id\") ON DELETE CASCADE ON UPDATE NO ACTION\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_clients\" DROP COLUMN \"secret_encrypted\"\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_clients\" DROP COLUMN \"secret_hashed\"\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_clients\" DROP COLUMN \"active\"\n `);\n\n await queryRunner.query(`\n ALTER TABLE \"auth_identity_provider_attribute_mappings\"\n RENAME COLUMN \"value_is_regex\" TO \"source_value_is_regex\"\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_identity_provider_attribute_mappings\"\n RENAME COLUMN \"name\" TO \"source_name\"\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_identity_provider_attribute_mappings\"\n RENAME COLUMN \"value\" TO \"source_value\"\n `);\n\n await queryRunner.query(`\n ALTER TABLE \"auth_permissions\"\n ADD \"target\" character varying(16)\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_clients\"\n ADD \"user_id\" uuid\n `);\n await queryRunner.query(`\n DROP INDEX \"public\".\"IDX_717d1d5d49af59b84a3c70281f\"\n `);\n await queryRunner.query(`\n DROP INDEX \"public\".\"IDX_514d063fddd0ce969e7b8881c5\"\n `);\n await queryRunner.query(`\n DROP INDEX \"public\".\"IDX_00a5096d599ad839dee7385f4e\"\n `);\n await queryRunner.query(`\n DROP INDEX \"public\".\"IDX_a83763bae0948e46c0c128a3c4\"\n `);\n await queryRunner.query(`\n DROP TABLE \"auth_sessions\"\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_users\"\n ADD CONSTRAINT \"FK_b1797e07106b4af61280b8edac1\" FOREIGN KEY (\"client_id\") REFERENCES \"auth_realms\"(\"id\") ON DELETE CASCADE ON UPDATE NO ACTION\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_permissions\"\n ADD CONSTRAINT \"FK_0d8fb586aa4d177206142bd4ed5\" FOREIGN KEY (\"client_id\") REFERENCES \"auth_realms\"(\"id\") ON DELETE\n SET NULL ON UPDATE NO ACTION\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_clients\"\n ADD CONSTRAINT \"FK_9c9f985a5cfc1ff52a04c05e5d5\" FOREIGN KEY (\"user_id\") REFERENCES \"auth_users\"(\"id\") ON DELETE CASCADE ON UPDATE NO ACTION\n `);\n }\n}\n"],"mappings":";AAEA,IAAaA,uBAAb,MAAaA;CACTC,OAAO;CAEP,MAAaC,GAAGC,aAAyC;EACrD,MAAMA,YAAYC,MAAM;;SAEvB;EACD,MAAMD,YAAYC,MAAM;;SAEvB;EACD,MAAMD,YAAYC,MAAM;;SAEvB;EACD,MAAMD,YAAYC,MAAM;;;;;;;;;;;;;;;;;;SAkBvB;EACD,MAAMD,YAAYC,MAAM;;SAEvB;EACD,MAAMD,YAAYC,MAAM;;SAEvB;EACD,MAAMD,YAAYC,MAAM;;SAEvB;EACD,MAAMD,YAAYC,MAAM;;SAEvB;EACD,MAAMD,YAAYC,MAAM;;SAEvB;EACD,MAAMD,YAAYC,MAAM;;SAEvB;EAED,MAAMD,YAAYC,MAAM;;;SAGvB;EACD,MAAMD,YAAYC,MAAM;;;SAGvB;EACD,MAAMD,YAAYC,MAAM;;;SAGvB;EAED,MAAMD,YAAYC,MAAM;;;SAGvB;EACD,MAAMD,YAAYC,MAAM;;;SAGvB;EACD,MAAMD,YAAYC,MAAM;;;SAGvB;EAGD,MAAMD,YAAYC,MAAM;;SAEvB;EACD,MAAMD,YAAYC,MAAM;;SAEvB;EACD,MAAMD,YAAYC,MAAM;;;SAGvB;EACD,MAAMD,YAAYC,MAAM;;;;SAIvB;EAGD,MAAMD,YAAYC,MAAM;;;SAGvB;EAGD,MAAMD,YAAYC,MAAM;;;;SAIvB;EACD,MAAMD,YAAYC,MAAM;;;;SAIvB;EAED,MAAMD,YAAYC,MAAM;;;SAGvB;EACD,MAAMD,YAAYC,MAAM;;;SAGvB;EAGD,MAAMD,YAAYC,MAAM;;;SAGvB;EACD,MAAMD,YAAYC,MAAM;;;;SAIvB;EACD,MAAMD,YAAYC,MAAM;;;SAGvB;EACD,MAAMD,YAAYC,MAAM;;;SAGvB;EACD,MAAMD,YAAYC,MAAM;;;SAGvB;EACD,MAAMD,YAAYC,MAAM;;;SAGvB;EACD,MAAMD,YAAYC,MAAM;;;SAGvB;CACL;CAEA,MAAaC,KAAKF,aAAyC;EACvD,MAAMA,YAAYC,MAAM;;SAEvB;EACD,MAAMD,YAAYC,MAAM;;SAEvB;EACD,MAAMD,YAAYC,MAAM;;SAEvB;EACD,MAAMD,YAAYC,MAAM;;SAEvB;EACD,MAAMD,YAAYC,MAAM;;SAEvB;EACD,MAAMD,YAAYC,MAAM;;SAEvB;EACD,MAAMD,YAAYC,MAAM;;SAEvB;EACD,MAAMD,YAAYC,MAAM;;SAEvB;EACD,MAAMD,YAAYC,MAAM;;;SAGvB;EACD,MAAMD,YAAYC,MAAM;;;SAGvB;EACD,MAAMD,YAAYC,MAAM;;;SAGvB;EACD,MAAMD,YAAYC,MAAM;;;SAGvB;EACD,MAAMD,YAAYC,MAAM;;SAEvB;EACD,MAAMD,YAAYC,MAAM;;SAEvB;EACD,MAAMD,YAAYC,MAAM;;SAEvB;EAED,MAAMD,YAAYC,MAAM;;;SAGvB;EACD,MAAMD,YAAYC,MAAM;;;SAGvB;EACD,MAAMD,YAAYC,MAAM;;;SAGvB;EAED,MAAMD,YAAYC,MAAM;;;SAGvB;EACD,MAAMD,YAAYC,MAAM;;;SAGvB;EACD,MAAMD,YAAYC,MAAM;;SAEvB;EACD,MAAMD,YAAYC,MAAM;;SAEvB;EACD,MAAMD,YAAYC,MAAM;;SAEvB;EACD,MAAMD,YAAYC,MAAM;;SAEvB;EACD,MAAMD,YAAYC,MAAM;;SAEvB;EACD,MAAMD,YAAYC,MAAM;;;SAGvB;EACD,MAAMD,YAAYC,MAAM;;;;SAIvB;EACD,MAAMD,YAAYC,MAAM;;;SAGvB;CACL;AACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"1774800953474-Default.mjs","names":["Default1774800953474","name","up","queryRunner","query","down"],"sources":["../../../../../src/adapters/database/migrations/postgres/1774800953474-Default.ts"],"sourcesContent":["import type { MigrationInterface, QueryRunner } from 'typeorm';\n\nexport class Default1774800953474 implements MigrationInterface {\n name = 'Default1774800953474';\n\n public async up(queryRunner: QueryRunner): Promise<void> {\n await queryRunner.query(`\n ALTER TABLE \"auth_permissions\" DROP CONSTRAINT \"FK_b669b08267cf6486c7e44a24fb8\"\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_permissions\"\n RENAME COLUMN \"policy_id\" TO \"decision_strategy\"\n `);\n await queryRunner.query(`\n CREATE TABLE \"auth_permission_policies\" (\n \"id\" uuid NOT NULL DEFAULT uuid_generate_v4(),\n \"created_at\" TIMESTAMP NOT NULL DEFAULT now(),\n \"updated_at\" TIMESTAMP NOT NULL DEFAULT now(),\n \"permission_id\" uuid NOT NULL,\n \"permission_realm_id\" uuid,\n \"policy_id\" uuid NOT NULL,\n \"policy_realm_id\" uuid,\n CONSTRAINT \"PK_f99fb313ce4a7246530c9931bfb\" PRIMARY KEY (\"id\")\n )\n `);\n await queryRunner.query(`\n CREATE UNIQUE INDEX \"IDX_41ab2228f1cb7778aced673014\" ON \"auth_permission_policies\" (\"permission_id\", \"policy_id\")\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_permissions\" DROP COLUMN \"decision_strategy\"\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_permissions\"\n ADD \"decision_strategy\" character varying(50)\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_permission_policies\"\n ADD CONSTRAINT \"FK_f49282ed769970070b9d5df30f3\" FOREIGN KEY (\"permission_id\") REFERENCES \"auth_permissions\"(\"id\") ON DELETE CASCADE ON UPDATE NO ACTION\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_permission_policies\"\n ADD CONSTRAINT \"FK_babb340dda101f2df8334eea5c9\" FOREIGN KEY (\"permission_realm_id\") REFERENCES \"auth_realms\"(\"id\") ON DELETE CASCADE ON UPDATE NO ACTION\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_permission_policies\"\n ADD CONSTRAINT \"FK_f5225aa8083c99b1cd09f4390c7\" FOREIGN KEY (\"policy_id\") REFERENCES \"auth_policies\"(\"id\") ON DELETE CASCADE ON UPDATE NO ACTION\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_permission_policies\"\n ADD CONSTRAINT \"FK_a76f5f6a12317ea0e24a84c1a5b\" FOREIGN KEY (\"policy_realm_id\") REFERENCES \"auth_realms\"(\"id\") ON DELETE CASCADE ON UPDATE NO ACTION\n `);\n }\n public async down(queryRunner: QueryRunner): Promise<void> {\n await queryRunner.query(`\n ALTER TABLE \"auth_permission_policies\" DROP CONSTRAINT \"FK_a76f5f6a12317ea0e24a84c1a5b\"\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_permission_policies\" DROP CONSTRAINT \"FK_f5225aa8083c99b1cd09f4390c7\"\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_permission_policies\" DROP CONSTRAINT \"FK_babb340dda101f2df8334eea5c9\"\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_permission_policies\" DROP CONSTRAINT \"FK_f49282ed769970070b9d5df30f3\"\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_permissions\" DROP COLUMN \"decision_strategy\"\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_permissions\"\n ADD \"decision_strategy\" uuid\n `);\n await queryRunner.query(`\n DROP INDEX \"public\".\"IDX_41ab2228f1cb7778aced673014\"\n `);\n await queryRunner.query(`\n DROP TABLE \"auth_permission_policies\"\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_permissions\"\n RENAME COLUMN \"decision_strategy\" TO \"policy_id\"\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_permissions\"\n ADD CONSTRAINT \"FK_b669b08267cf6486c7e44a24fb8\" FOREIGN KEY (\"policy_id\") REFERENCES \"auth_policies\"(\"id\") ON DELETE\n SET NULL ON UPDATE NO ACTION\n `);\n }\n}\n"],"mappings":";AAEA,IAAaA,uBAAb,MAAaA;CACTC,OAAO;CAEP,MAAaC,GAAGC,aAAyC;
|
|
1
|
+
{"version":3,"file":"1774800953474-Default.mjs","names":["Default1774800953474","name","up","queryRunner","query","down"],"sources":["../../../../../src/adapters/database/migrations/postgres/1774800953474-Default.ts"],"sourcesContent":["import type { MigrationInterface, QueryRunner } from 'typeorm';\n\nexport class Default1774800953474 implements MigrationInterface {\n name = 'Default1774800953474';\n\n public async up(queryRunner: QueryRunner): Promise<void> {\n await queryRunner.query(`\n ALTER TABLE \"auth_permissions\" DROP CONSTRAINT \"FK_b669b08267cf6486c7e44a24fb8\"\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_permissions\"\n RENAME COLUMN \"policy_id\" TO \"decision_strategy\"\n `);\n await queryRunner.query(`\n CREATE TABLE \"auth_permission_policies\" (\n \"id\" uuid NOT NULL DEFAULT uuid_generate_v4(),\n \"created_at\" TIMESTAMP NOT NULL DEFAULT now(),\n \"updated_at\" TIMESTAMP NOT NULL DEFAULT now(),\n \"permission_id\" uuid NOT NULL,\n \"permission_realm_id\" uuid,\n \"policy_id\" uuid NOT NULL,\n \"policy_realm_id\" uuid,\n CONSTRAINT \"PK_f99fb313ce4a7246530c9931bfb\" PRIMARY KEY (\"id\")\n )\n `);\n await queryRunner.query(`\n CREATE UNIQUE INDEX \"IDX_41ab2228f1cb7778aced673014\" ON \"auth_permission_policies\" (\"permission_id\", \"policy_id\")\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_permissions\" DROP COLUMN \"decision_strategy\"\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_permissions\"\n ADD \"decision_strategy\" character varying(50)\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_permission_policies\"\n ADD CONSTRAINT \"FK_f49282ed769970070b9d5df30f3\" FOREIGN KEY (\"permission_id\") REFERENCES \"auth_permissions\"(\"id\") ON DELETE CASCADE ON UPDATE NO ACTION\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_permission_policies\"\n ADD CONSTRAINT \"FK_babb340dda101f2df8334eea5c9\" FOREIGN KEY (\"permission_realm_id\") REFERENCES \"auth_realms\"(\"id\") ON DELETE CASCADE ON UPDATE NO ACTION\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_permission_policies\"\n ADD CONSTRAINT \"FK_f5225aa8083c99b1cd09f4390c7\" FOREIGN KEY (\"policy_id\") REFERENCES \"auth_policies\"(\"id\") ON DELETE CASCADE ON UPDATE NO ACTION\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_permission_policies\"\n ADD CONSTRAINT \"FK_a76f5f6a12317ea0e24a84c1a5b\" FOREIGN KEY (\"policy_realm_id\") REFERENCES \"auth_realms\"(\"id\") ON DELETE CASCADE ON UPDATE NO ACTION\n `);\n }\n public async down(queryRunner: QueryRunner): Promise<void> {\n await queryRunner.query(`\n ALTER TABLE \"auth_permission_policies\" DROP CONSTRAINT \"FK_a76f5f6a12317ea0e24a84c1a5b\"\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_permission_policies\" DROP CONSTRAINT \"FK_f5225aa8083c99b1cd09f4390c7\"\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_permission_policies\" DROP CONSTRAINT \"FK_babb340dda101f2df8334eea5c9\"\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_permission_policies\" DROP CONSTRAINT \"FK_f49282ed769970070b9d5df30f3\"\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_permissions\" DROP COLUMN \"decision_strategy\"\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_permissions\"\n ADD \"decision_strategy\" uuid\n `);\n await queryRunner.query(`\n DROP INDEX \"public\".\"IDX_41ab2228f1cb7778aced673014\"\n `);\n await queryRunner.query(`\n DROP TABLE \"auth_permission_policies\"\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_permissions\"\n RENAME COLUMN \"decision_strategy\" TO \"policy_id\"\n `);\n await queryRunner.query(`\n ALTER TABLE \"auth_permissions\"\n ADD CONSTRAINT \"FK_b669b08267cf6486c7e44a24fb8\" FOREIGN KEY (\"policy_id\") REFERENCES \"auth_policies\"(\"id\") ON DELETE\n SET NULL ON UPDATE NO ACTION\n `);\n }\n}\n"],"mappings":";AAEA,IAAaA,uBAAb,MAAaA;CACTC,OAAO;CAEP,MAAaC,GAAGC,aAAyC;EACrD,MAAMA,YAAYC,MAAM;;SAEvB;EACD,MAAMD,YAAYC,MAAM;;;SAGvB;EACD,MAAMD,YAAYC,MAAM;;;;;;;;;;;SAWvB;EACD,MAAMD,YAAYC,MAAM;;SAEvB;EACD,MAAMD,YAAYC,MAAM;;SAEvB;EACD,MAAMD,YAAYC,MAAM;;;SAGvB;EACD,MAAMD,YAAYC,MAAM;;;SAGvB;EACD,MAAMD,YAAYC,MAAM;;;SAGvB;EACD,MAAMD,YAAYC,MAAM;;;SAGvB;EACD,MAAMD,YAAYC,MAAM;;;SAGvB;CACL;CACA,MAAaC,KAAKF,aAAyC;EACvD,MAAMA,YAAYC,MAAM;;SAEvB;EACD,MAAMD,YAAYC,MAAM;;SAEvB;EACD,MAAMD,YAAYC,MAAM;;SAEvB;EACD,MAAMD,YAAYC,MAAM;;SAEvB;EACD,MAAMD,YAAYC,MAAM;;SAEvB;EACD,MAAMD,YAAYC,MAAM;;;SAGvB;EACD,MAAMD,YAAYC,MAAM;;SAEvB;EACD,MAAMD,YAAYC,MAAM;;SAEvB;EACD,MAAMD,YAAYC,MAAM;;;SAGvB;EACD,MAAMD,YAAYC,MAAM;;;;SAIvB;CACL;AACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.mjs","names":["OAuth2Authorization","OAuth2AuthorizationCodeRequestValidator","readFromLocations","useRequestIdentityOrFail","HTTPOAuth2Authorizer","codeRequestVerifier","requestValidator","ctx","authorizeWithRequest","event","codeRequestValidated","validateWithRequest","data","verify","identity","authorize","raw","run"],"sources":["../../../../../../src/adapters/http/adapters/oauth2/authorization/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 { IRoutupEvent } from 'routup';\nimport type { OAuth2AuthorizationCodeRequest } from '@authup/core-kit';\nimport type { IOAuth2AuthorizationCodeRequestVerifier, OAuth2AuthorizationResult } from '../../../../../core/index.ts';\nimport { OAuth2Authorization, OAuth2AuthorizationCodeRequestValidator } from '../../../../../core/index.ts';\nimport { readFromLocations, useRequestIdentityOrFail } from '../../../request/index.ts';\nimport type { HTTPOAuth2AuthorizationManagerContext } from './types.ts';\n\nexport class HTTPOAuth2Authorizer extends OAuth2Authorization {\n protected codeRequestVerifier : IOAuth2AuthorizationCodeRequestVerifier;\n\n protected requestValidator : OAuth2AuthorizationCodeRequestValidator;\n\n constructor(ctx: HTTPOAuth2AuthorizationManagerContext) {\n super(ctx);\n\n this.codeRequestVerifier = ctx.codeRequestVerifier;\n\n this.requestValidator = new OAuth2AuthorizationCodeRequestValidator();\n }\n\n async authorizeWithRequest(event: IRoutupEvent) : Promise<OAuth2AuthorizationResult> {\n const codeRequestValidated = await this.validateWithRequest(event);\n\n const { data } = await this.codeRequestVerifier.verify(codeRequestValidated);\n\n const identity = useRequestIdentityOrFail(event);\n\n return this.authorize(data, identity.raw);\n }\n\n /**\n * Validate authorization request.\n *\n * @throws OAuth2Error\n */\n async validateWithRequest(\n event: IRoutupEvent,\n ) : Promise<OAuth2AuthorizationCodeRequest> {\n const data = await readFromLocations(event, ['body', 'query']);\n return this.requestValidator.run(data);\n }\n}\n"],"mappings":";;;;;;;AAcA,IAAaI,uBAAb,cAA0CJ,oBAAAA;CAC5BK;CAEAC;CAEV,YAAYC,KAA4C;
|
|
1
|
+
{"version":3,"file":"module.mjs","names":["OAuth2Authorization","OAuth2AuthorizationCodeRequestValidator","readFromLocations","useRequestIdentityOrFail","HTTPOAuth2Authorizer","codeRequestVerifier","requestValidator","ctx","authorizeWithRequest","event","codeRequestValidated","validateWithRequest","data","verify","identity","authorize","raw","run"],"sources":["../../../../../../src/adapters/http/adapters/oauth2/authorization/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 { IRoutupEvent } from 'routup';\nimport type { OAuth2AuthorizationCodeRequest } from '@authup/core-kit';\nimport type { IOAuth2AuthorizationCodeRequestVerifier, OAuth2AuthorizationResult } from '../../../../../core/index.ts';\nimport { OAuth2Authorization, OAuth2AuthorizationCodeRequestValidator } from '../../../../../core/index.ts';\nimport { readFromLocations, useRequestIdentityOrFail } from '../../../request/index.ts';\nimport type { HTTPOAuth2AuthorizationManagerContext } from './types.ts';\n\nexport class HTTPOAuth2Authorizer extends OAuth2Authorization {\n protected codeRequestVerifier : IOAuth2AuthorizationCodeRequestVerifier;\n\n protected requestValidator : OAuth2AuthorizationCodeRequestValidator;\n\n constructor(ctx: HTTPOAuth2AuthorizationManagerContext) {\n super(ctx);\n\n this.codeRequestVerifier = ctx.codeRequestVerifier;\n\n this.requestValidator = new OAuth2AuthorizationCodeRequestValidator();\n }\n\n async authorizeWithRequest(event: IRoutupEvent) : Promise<OAuth2AuthorizationResult> {\n const codeRequestValidated = await this.validateWithRequest(event);\n\n const { data } = await this.codeRequestVerifier.verify(codeRequestValidated);\n\n const identity = useRequestIdentityOrFail(event);\n\n return this.authorize(data, identity.raw);\n }\n\n /**\n * Validate authorization request.\n *\n * @throws OAuth2Error\n */\n async validateWithRequest(\n event: IRoutupEvent,\n ) : Promise<OAuth2AuthorizationCodeRequest> {\n const data = await readFromLocations(event, ['body', 'query']);\n return this.requestValidator.run(data);\n }\n}\n"],"mappings":";;;;;;;AAcA,IAAaI,uBAAb,cAA0CJ,oBAAAA;CAC5BK;CAEAC;CAEV,YAAYC,KAA4C;EACpD,MAAMA,GAAAA;EAEN,KAAKF,sBAAsBE,IAAIF;EAE/B,KAAKC,mBAAmB,IAAIL,wCAAAA;CAChC;CAEA,MAAMO,qBAAqBC,OAA0D;EACjF,MAAMC,uBAAuB,MAAM,KAAKC,oBAAoBF,KAAAA;EAE5D,MAAM,EAAEG,SAAS,MAAM,KAAKP,oBAAoBQ,OAAOH,oBAAAA;EAEvD,MAAMI,WAAWX,yBAAyBM,KAAAA;EAE1C,OAAO,KAAKM,UAAUH,MAAME,SAASE,GAAG;CAC5C;;;;;IAOA,MAAML,oBACFF,OACwC;EACxC,MAAMG,OAAO,MAAMV,kBAAkBO,OAAO,CAAC,QAAQ,OAAA,CAAQ;EAC7D,OAAO,KAAKH,iBAAiBW,IAAIL,IAAAA;CACrC;AACJ"}
|
|
@@ -2,7 +2,7 @@ import { OAuth2AuthorizeGrant } from "../../../../../core/oauth2/grant-types/aut
|
|
|
2
2
|
import "../../../../../core/index.mjs";
|
|
3
3
|
import { extractClientCredentialsFromRequest } from "./utils/credentials.mjs";
|
|
4
4
|
import "./utils/index.mjs";
|
|
5
|
-
import {
|
|
5
|
+
import { OAuth2RequestError } from "@authup/specs";
|
|
6
6
|
import { getRequestHeader, getRequestIP } from "routup";
|
|
7
7
|
import { readRequestBody } from "@routup/basic/body";
|
|
8
8
|
import { useRequestQuery } from "@routup/basic/query";
|
|
@@ -21,7 +21,7 @@ var HTTPOAuth2AuthorizeGrant = class extends OAuth2AuthorizeGrant {
|
|
|
21
21
|
const code = this.pickStringParam(body, query, "code");
|
|
22
22
|
const redirectUri = this.pickStringParam(body, query, "redirect_uri");
|
|
23
23
|
const codeVerifier = this.pickStringParam(body, query, "code_verifier");
|
|
24
|
-
if (!code) throw
|
|
24
|
+
if (!code) throw OAuth2RequestError.malformed();
|
|
25
25
|
const { clientId, clientSecret } = await extractClientCredentialsFromRequest(event);
|
|
26
26
|
const realmId = this.pickStringParam(body, query, "realm_id");
|
|
27
27
|
const client = await this.clientAuthenticator.authenticate(clientId, clientSecret, realmId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authorize.mjs","names":["
|
|
1
|
+
{"version":3,"file":"authorize.mjs","names":["OAuth2RequestError","readRequestBody","useRequestQuery","getRequestHeader","getRequestIP","OAuth2AuthorizeGrant","extractClientCredentialsFromRequest","HTTPOAuth2AuthorizeGrant","codeVerifier","clientAuthenticator","ctx","runWithRequest","event","body","query","code","pickStringParam","redirectUri","malformed","clientId","clientSecret","realmId","client","authenticate","entity","verify","id","clientIsPublic","is_confidential","runWith","ipAddress","trustProxy","undefined","userAgent","key","value","length"],"sources":["../../../../../../src/adapters/http/adapters/oauth2/grant-types/authorize.ts"],"sourcesContent":["/*\n * Copyright (c) 2025-2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { OAuth2TokenGrantResponse } from '@authup/specs';\nimport { OAuth2RequestError } from '@authup/specs';\nimport { readRequestBody } from '@routup/basic/body';\nimport { useRequestQuery } from '@routup/basic/query';\nimport type { IRoutupEvent } from 'routup';\nimport { getRequestHeader, getRequestIP } from 'routup';\nimport { OAuth2AuthorizeGrant } from '../../../../../core/index.ts';\nimport type {\n IOAuth2AuthorizationCodeVerifier,\n OAuth2ClientAuthenticator,\n} from '../../../../../core/index.ts';\nimport type { HTTPOAuth2AuthorizeGrantContext, IHTTPOAuth2Grant } from './types.ts';\nimport { extractClientCredentialsFromRequest } from './utils/index.ts';\n\nexport class HTTPOAuth2AuthorizeGrant extends OAuth2AuthorizeGrant implements IHTTPOAuth2Grant {\n protected codeVerifier : IOAuth2AuthorizationCodeVerifier;\n\n protected clientAuthenticator : OAuth2ClientAuthenticator;\n\n constructor(ctx: HTTPOAuth2AuthorizeGrantContext) {\n super(ctx);\n\n this.codeVerifier = ctx.codeVerifier;\n this.clientAuthenticator = ctx.clientAuthenticator;\n }\n\n async runWithRequest(event: IRoutupEvent): Promise<OAuth2TokenGrantResponse> {\n const body = await readRequestBody(event);\n const query = useRequestQuery(event);\n\n const code = this.pickStringParam(body, query, 'code');\n const redirectUri = this.pickStringParam(body, query, 'redirect_uri');\n const codeVerifier = this.pickStringParam(body, query, 'code_verifier');\n if (!code) {\n throw OAuth2RequestError.malformed();\n }\n\n const { clientId, clientSecret } = await extractClientCredentialsFromRequest(event);\n const realmId = this.pickStringParam(body, query, 'realm_id');\n\n const client = await this.clientAuthenticator.authenticate(clientId, clientSecret, realmId);\n\n const entity = await this.codeVerifier.verify(code, {\n redirectUri,\n codeVerifier,\n clientId: client.id,\n clientIsPublic: !client.is_confidential,\n });\n\n return this.runWith(entity, {\n ipAddress: getRequestIP(event, { trustProxy: true }) ?? undefined,\n userAgent: getRequestHeader(event, 'user-agent') ?? undefined,\n });\n }\n\n protected pickStringParam(\n body: Record<string, any> | undefined,\n query: Record<string, any> | undefined,\n key: string,\n ): string | undefined {\n const value = body?.[key] ?? query?.[key];\n return typeof value === 'string' && value.length > 0 ? value : undefined;\n }\n}\n"],"mappings":";;;;;;;;;AAqBA,IAAaO,2BAAb,cAA8CF,qBAAAA;CAChCG;CAEAC;CAEV,YAAYC,KAAsC;EAC9C,MAAMA,GAAAA;EAEN,KAAKF,eAAeE,IAAIF;EACxB,KAAKC,sBAAsBC,IAAID;CACnC;CAEA,MAAME,eAAeC,OAAwD;EACzE,MAAMC,OAAO,MAAMZ,gBAAgBW,KAAAA;EACnC,MAAME,QAAQZ,gBAAgBU,KAAAA;EAE9B,MAAMG,OAAO,KAAKC,gBAAgBH,MAAMC,OAAO,MAAA;EAC/C,MAAMG,cAAc,KAAKD,gBAAgBH,MAAMC,OAAO,cAAA;EACtD,MAAMN,eAAe,KAAKQ,gBAAgBH,MAAMC,OAAO,eAAA;EACvD,IAAI,CAACC,MACD,MAAMf,mBAAmBkB,UAAS;EAGtC,MAAM,EAAEC,UAAUC,iBAAiB,MAAMd,oCAAoCM,KAAAA;EAC7E,MAAMS,UAAU,KAAKL,gBAAgBH,MAAMC,OAAO,UAAA;EAElD,MAAMQ,SAAS,MAAM,KAAKb,oBAAoBc,aAAaJ,UAAUC,cAAcC,OAAAA;EAEnF,MAAMG,SAAS,MAAM,KAAKhB,aAAaiB,OAAOV,MAAM;GAChDE;GACAT;GACAW,UAAUG,OAAOI;GACjBC,gBAAgB,CAACL,OAAOM;EAC5B,CAAA;EAEA,OAAO,KAAKC,QAAQL,QAAQ;GACxBM,WAAW1B,aAAaQ,OAAO,EAAEmB,YAAY,KAAK,CAAA,KAAMC,KAAAA;GACxDC,WAAW9B,iBAAiBS,OAAO,YAAA,KAAiBoB,KAAAA;EACxD,CAAA;CACJ;CAEUhB,gBACNH,MACAC,OACAoB,KACkB;EAClB,MAAMC,QAAQtB,OAAOqB,QAAQpB,QAAQoB;EACrC,OAAO,OAAOC,UAAU,YAAYA,MAAMC,SAAS,IAAID,QAAQH,KAAAA;CACnE;AACJ"}
|
|
@@ -2,7 +2,7 @@ import { ClientCredentialsGrant } from "../../../../../core/oauth2/grant-types/c
|
|
|
2
2
|
import "../../../../../core/index.mjs";
|
|
3
3
|
import { extractClientCredentialsFromRequest } from "./utils/credentials.mjs";
|
|
4
4
|
import "./utils/index.mjs";
|
|
5
|
-
import {
|
|
5
|
+
import { EntityCredentialsInvalidError } from "@authup/errors";
|
|
6
6
|
import { getRequestHeader, getRequestIP } from "routup";
|
|
7
7
|
import { readRequestBody } from "@routup/basic/body";
|
|
8
8
|
//#region src/adapters/http/adapters/oauth2/grant-types/client-credentials.ts
|
|
@@ -15,7 +15,7 @@ var HTTPClientCredentialsGrant = class extends ClientCredentialsGrant {
|
|
|
15
15
|
async runWithRequest(event) {
|
|
16
16
|
const { clientId, clientSecret } = await extractClientCredentialsFromRequest(event);
|
|
17
17
|
const realmId = (await readRequestBody(event))?.realm_id;
|
|
18
|
-
if (!clientId) throw
|
|
18
|
+
if (!clientId) throw new EntityCredentialsInvalidError({ entity: "client" });
|
|
19
19
|
const client = await this.authenticator.authenticate(clientId, clientSecret ?? "", realmId);
|
|
20
20
|
return this.runWith(client, {
|
|
21
21
|
ipAddress: getRequestIP(event, { trustProxy: true }) ?? void 0,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-credentials.mjs","names":["readRequestBody","
|
|
1
|
+
{"version":3,"file":"client-credentials.mjs","names":["readRequestBody","EntityCredentialsInvalidError","getRequestHeader","getRequestIP","ClientCredentialsGrant","extractClientCredentialsFromRequest","HTTPClientCredentialsGrant","authenticator","ctx","runWithRequest","event","clientId","clientSecret","body","realmId","realm_id","entity","client","authenticate","runWith","ipAddress","trustProxy","undefined","userAgent"],"sources":["../../../../../../src/adapters/http/adapters/oauth2/grant-types/client-credentials.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 { OAuth2TokenGrantResponse } from '@authup/specs';\nimport { readRequestBody } from '@routup/basic/body';\nimport type { Client } from '@authup/core-kit';\nimport { EntityCredentialsInvalidError } from '@authup/errors';\nimport type { IRoutupEvent } from 'routup';\nimport { getRequestHeader, getRequestIP } from 'routup';\nimport type { ICredentialsAuthenticator } from '../../../../../core/index.ts';\nimport { ClientCredentialsGrant } from '../../../../../core/index.ts';\nimport type { HTTPOAuth2ClientCredentialsGrantContext, IHTTPOAuth2Grant } from './types.ts';\nimport { extractClientCredentialsFromRequest } from './utils/index.ts';\n\nexport class HTTPClientCredentialsGrant extends ClientCredentialsGrant implements IHTTPOAuth2Grant {\n protected authenticator : ICredentialsAuthenticator<Client>;\n\n constructor(ctx: HTTPOAuth2ClientCredentialsGrantContext) {\n super(ctx);\n\n this.authenticator = ctx.authenticator;\n }\n\n async runWithRequest(event: IRoutupEvent): Promise<OAuth2TokenGrantResponse> {\n const { clientId, clientSecret } = await extractClientCredentialsFromRequest(event);\n const body = await readRequestBody(event);\n const realmId = body?.realm_id;\n\n if (!clientId) {\n throw new EntityCredentialsInvalidError({ entity: 'client' });\n }\n\n const client = await this.authenticator.authenticate(clientId, clientSecret ?? '', realmId);\n\n return this.runWith(client, {\n ipAddress: getRequestIP(event, { trustProxy: true }) ?? undefined,\n userAgent: getRequestHeader(event, 'user-agent') ?? undefined,\n });\n }\n}\n"],"mappings":";;;;;;;;AAkBA,IAAaM,6BAAb,cAAgDF,uBAAAA;CAClCG;CAEV,YAAYC,KAA8C;EACtD,MAAMA,GAAAA;EAEN,KAAKD,gBAAgBC,IAAID;CAC7B;CAEA,MAAME,eAAeC,OAAwD;EACzE,MAAM,EAAEC,UAAUC,iBAAiB,MAAMP,oCAAoCK,KAAAA;EAE7E,MAAMI,WAAUD,MADGb,gBAAgBU,KAAAA,IACbK;EAEtB,IAAI,CAACJ,UACD,MAAM,IAAIV,8BAA8B,EAAEe,QAAQ,SAAS,CAAA;EAG/D,MAAMC,SAAS,MAAM,KAAKV,cAAcW,aAAaP,UAAUC,gBAAgB,IAAIE,OAAAA;EAEnF,OAAO,KAAKK,QAAQF,QAAQ;GACxBG,WAAWjB,aAAaO,OAAO,EAAEW,YAAY,KAAK,CAAA,KAAMC,KAAAA;GACxDC,WAAWrB,iBAAiBQ,OAAO,YAAA,KAAiBY,KAAAA;EACxD,CAAA;CACJ;AACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity.mjs","names":["getRequestHeader","getRequestIP","IdentityGrantType","useRequestIdentityOrFail","HTTPOAuth2IdentityGrantType","runWithRequest","event","identity","runWith","raw","ipAddress","trustProxy","undefined","userAgent"],"sources":["../../../../../../src/adapters/http/adapters/oauth2/grant-types/identity.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 { OAuth2TokenGrantResponse } from '@authup/specs';\nimport type { IRoutupEvent } from 'routup';\nimport { getRequestHeader, getRequestIP } from 'routup';\nimport { IdentityGrantType } from '../../../../../core/index.ts';\nimport { useRequestIdentityOrFail } from '../../../request/index.ts';\nimport type { IHTTPOAuth2Grant } from './types.ts';\n\nexport class HTTPOAuth2IdentityGrantType extends IdentityGrantType implements IHTTPOAuth2Grant {\n runWithRequest(event: IRoutupEvent): Promise<OAuth2TokenGrantResponse> {\n const identity = useRequestIdentityOrFail(event);\n\n return this.runWith(\n identity.raw,\n {\n ipAddress: getRequestIP(event, { trustProxy: true }) ?? undefined,\n userAgent: getRequestHeader(event, 'user-agent') ?? undefined,\n },\n );\n }\n}\n"],"mappings":";;;;;;AAcA,IAAaI,8BAAb,cAAiDF,kBAAAA;CAC7CG,eAAeC,OAAwD;EACnE,MAAMC,WAAWJ,yBAAyBG,
|
|
1
|
+
{"version":3,"file":"identity.mjs","names":["getRequestHeader","getRequestIP","IdentityGrantType","useRequestIdentityOrFail","HTTPOAuth2IdentityGrantType","runWithRequest","event","identity","runWith","raw","ipAddress","trustProxy","undefined","userAgent"],"sources":["../../../../../../src/adapters/http/adapters/oauth2/grant-types/identity.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 { OAuth2TokenGrantResponse } from '@authup/specs';\nimport type { IRoutupEvent } from 'routup';\nimport { getRequestHeader, getRequestIP } from 'routup';\nimport { IdentityGrantType } from '../../../../../core/index.ts';\nimport { useRequestIdentityOrFail } from '../../../request/index.ts';\nimport type { IHTTPOAuth2Grant } from './types.ts';\n\nexport class HTTPOAuth2IdentityGrantType extends IdentityGrantType implements IHTTPOAuth2Grant {\n runWithRequest(event: IRoutupEvent): Promise<OAuth2TokenGrantResponse> {\n const identity = useRequestIdentityOrFail(event);\n\n return this.runWith(\n identity.raw,\n {\n ipAddress: getRequestIP(event, { trustProxy: true }) ?? undefined,\n userAgent: getRequestHeader(event, 'user-agent') ?? undefined,\n },\n );\n }\n}\n"],"mappings":";;;;;;AAcA,IAAaI,8BAAb,cAAiDF,kBAAAA;CAC7CG,eAAeC,OAAwD;EACnE,MAAMC,WAAWJ,yBAAyBG,KAAAA;EAE1C,OAAO,KAAKE,QACRD,SAASE,KACT;GACIC,WAAWT,aAAaK,OAAO,EAAEK,YAAY,KAAK,CAAA,KAAMC,KAAAA;GACxDC,WAAWb,iBAAiBM,OAAO,YAAA,KAAiBM,KAAAA;EACxD,CAAA;CAER;AACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"password.mjs","names":["readRequestBody","getRequestHeader","getRequestIP","PasswordGrantType","extractClientCredentialsFromRequest","HTTPPasswordGrant","authenticator","clientAuthenticator","ctx","runWithRequest","event","body","username","password","realm_id","realmId","clientId","clientSecret","client","authenticate","undefined","user","runWith","ipAddress","trustProxy","userAgent"],"sources":["../../../../../../src/adapters/http/adapters/oauth2/grant-types/password.ts"],"sourcesContent":["/*\n * Copyright (c) 2025-2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { User } from '@authup/core-kit';\nimport type { OAuth2TokenGrantResponse } from '@authup/specs';\nimport { readRequestBody } from '@routup/basic/body';\nimport type { IRoutupEvent } from 'routup';\nimport { getRequestHeader, getRequestIP } from 'routup';\nimport type { ICredentialsAuthenticator, OAuth2ClientAuthenticator } from '../../../../../core/index.ts';\nimport { PasswordGrantType } from '../../../../../core/index.ts';\nimport type { HTTPOAuth2PasswordGrantContext, IHTTPOAuth2Grant } from './types.ts';\nimport { extractClientCredentialsFromRequest } from './utils/index.ts';\n\nexport class HTTPPasswordGrant extends PasswordGrantType implements IHTTPOAuth2Grant {\n protected authenticator : ICredentialsAuthenticator<User>;\n\n protected clientAuthenticator : OAuth2ClientAuthenticator;\n\n constructor(ctx: HTTPOAuth2PasswordGrantContext) {\n super(ctx);\n\n this.authenticator = ctx.authenticator;\n this.clientAuthenticator = ctx.clientAuthenticator;\n }\n\n async runWithRequest(event: IRoutupEvent): Promise<OAuth2TokenGrantResponse> {\n const body = await readRequestBody(event);\n const {\n username,\n password,\n realm_id: realmId,\n } = body || {};\n\n const { clientId, clientSecret } = await extractClientCredentialsFromRequest(event);\n\n const client = clientId ?\n await this.clientAuthenticator.authenticate(\n clientId,\n clientSecret,\n typeof realmId === 'string' ? realmId : undefined,\n ) :\n undefined;\n\n const user = await this.authenticator.authenticate(username, password, realmId);\n\n return this.runWith(\n { user, client },\n {\n ipAddress: getRequestIP(event, { trustProxy: true }) ?? undefined,\n userAgent: getRequestHeader(event, 'user-agent') ?? undefined,\n },\n );\n }\n}\n"],"mappings":";;;;;;;AAiBA,IAAaK,oBAAb,cAAuCF,kBAAAA;CACzBG;CAEAC;CAEV,YAAYC,KAAqC;
|
|
1
|
+
{"version":3,"file":"password.mjs","names":["readRequestBody","getRequestHeader","getRequestIP","PasswordGrantType","extractClientCredentialsFromRequest","HTTPPasswordGrant","authenticator","clientAuthenticator","ctx","runWithRequest","event","body","username","password","realm_id","realmId","clientId","clientSecret","client","authenticate","undefined","user","runWith","ipAddress","trustProxy","userAgent"],"sources":["../../../../../../src/adapters/http/adapters/oauth2/grant-types/password.ts"],"sourcesContent":["/*\n * Copyright (c) 2025-2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { User } from '@authup/core-kit';\nimport type { OAuth2TokenGrantResponse } from '@authup/specs';\nimport { readRequestBody } from '@routup/basic/body';\nimport type { IRoutupEvent } from 'routup';\nimport { getRequestHeader, getRequestIP } from 'routup';\nimport type { ICredentialsAuthenticator, OAuth2ClientAuthenticator } from '../../../../../core/index.ts';\nimport { PasswordGrantType } from '../../../../../core/index.ts';\nimport type { HTTPOAuth2PasswordGrantContext, IHTTPOAuth2Grant } from './types.ts';\nimport { extractClientCredentialsFromRequest } from './utils/index.ts';\n\nexport class HTTPPasswordGrant extends PasswordGrantType implements IHTTPOAuth2Grant {\n protected authenticator : ICredentialsAuthenticator<User>;\n\n protected clientAuthenticator : OAuth2ClientAuthenticator;\n\n constructor(ctx: HTTPOAuth2PasswordGrantContext) {\n super(ctx);\n\n this.authenticator = ctx.authenticator;\n this.clientAuthenticator = ctx.clientAuthenticator;\n }\n\n async runWithRequest(event: IRoutupEvent): Promise<OAuth2TokenGrantResponse> {\n const body = await readRequestBody(event);\n const {\n username,\n password,\n realm_id: realmId,\n } = body || {};\n\n const { clientId, clientSecret } = await extractClientCredentialsFromRequest(event);\n\n const client = clientId ?\n await this.clientAuthenticator.authenticate(\n clientId,\n clientSecret,\n typeof realmId === 'string' ? realmId : undefined,\n ) :\n undefined;\n\n const user = await this.authenticator.authenticate(username, password, realmId);\n\n return this.runWith(\n { user, client },\n {\n ipAddress: getRequestIP(event, { trustProxy: true }) ?? undefined,\n userAgent: getRequestHeader(event, 'user-agent') ?? undefined,\n },\n );\n }\n}\n"],"mappings":";;;;;;;AAiBA,IAAaK,oBAAb,cAAuCF,kBAAAA;CACzBG;CAEAC;CAEV,YAAYC,KAAqC;EAC7C,MAAMA,GAAAA;EAEN,KAAKF,gBAAgBE,IAAIF;EACzB,KAAKC,sBAAsBC,IAAID;CACnC;CAEA,MAAME,eAAeC,OAAwD;EAEzE,MAAM,EACFE,UACAC,UACAC,UAAUC,YACVJ,MALeX,gBAAgBU,KAAAA,KAKvB,CAAC;EAEb,MAAM,EAAEM,UAAUC,iBAAiB,MAAMb,oCAAoCM,KAAAA;EAE7E,MAAMQ,SAASF,WACX,MAAM,KAAKT,oBAAoBY,aAC3BH,UACAC,cACA,OAAOF,YAAY,WAAWA,UAAUK,KAAAA,CAAAA,IAE5CA,KAAAA;EAEJ,MAAMC,OAAO,MAAM,KAAKf,cAAca,aAAaP,UAAUC,UAAUE,OAAAA;EAEvE,OAAO,KAAKO,QACR;GAAED;GAAMH;EAAO,GACf;GACIK,WAAWrB,aAAaQ,OAAO,EAAEc,YAAY,KAAK,CAAA,KAAMJ,KAAAA;GACxDK,WAAWxB,iBAAiBS,OAAO,YAAA,KAAiBU,KAAAA;EACxD,CAAA;CAER;AACJ"}
|
|
@@ -2,7 +2,7 @@ import { OAuth2RefreshTokenGrant } from "../../../../../core/oauth2/grant-types/
|
|
|
2
2
|
import "../../../../../core/index.mjs";
|
|
3
3
|
import { extractClientCredentialsFromRequest } from "./utils/credentials.mjs";
|
|
4
4
|
import "./utils/index.mjs";
|
|
5
|
-
import {
|
|
5
|
+
import { OAuth2ClientError, OAuth2GrantError, OAuth2RequestError } from "@authup/specs";
|
|
6
6
|
import { getRequestHeader, getRequestIP } from "routup";
|
|
7
7
|
import { readRequestBody } from "@routup/basic/body";
|
|
8
8
|
//#region src/adapters/http/adapters/oauth2/grant-types/refresh_token.ts
|
|
@@ -17,14 +17,14 @@ var HTTPOAuth2RefreshTokenGrant = class extends OAuth2RefreshTokenGrant {
|
|
|
17
17
|
async runWithRequest(event) {
|
|
18
18
|
const body = await readRequestBody(event);
|
|
19
19
|
const refreshToken = body?.refresh_token;
|
|
20
|
-
if (typeof refreshToken !== "string" || refreshToken.length === 0) throw
|
|
20
|
+
if (typeof refreshToken !== "string" || refreshToken.length === 0) throw OAuth2RequestError.malformed();
|
|
21
21
|
const { clientId, clientSecret } = await extractClientCredentialsFromRequest(event);
|
|
22
22
|
const realmId = body?.realm_id;
|
|
23
23
|
const payload = await this.refreshTokenVerifier.verify(refreshToken);
|
|
24
24
|
if (clientId) {
|
|
25
25
|
const client = await this.clientAuthenticator.authenticate(clientId, clientSecret, typeof realmId === "string" ? realmId : void 0);
|
|
26
|
-
if (payload.client_id && payload.client_id !== client.id) throw
|
|
27
|
-
} else if (payload.client_id) throw
|
|
26
|
+
if (payload.client_id && payload.client_id !== client.id) throw OAuth2GrantError.invalid();
|
|
27
|
+
} else if (payload.client_id) throw OAuth2ClientError.invalid();
|
|
28
28
|
return this.runWith(payload, {
|
|
29
29
|
ipAddress: getRequestIP(event, { trustProxy: true }) ?? void 0,
|
|
30
30
|
userAgent: getRequestHeader(event, "user-agent") ?? void 0
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refresh_token.mjs","names":["
|
|
1
|
+
{"version":3,"file":"refresh_token.mjs","names":["OAuth2ClientError","OAuth2GrantError","OAuth2RequestError","readRequestBody","getRequestHeader","getRequestIP","OAuth2RefreshTokenGrant","extractClientCredentialsFromRequest","HTTPOAuth2RefreshTokenGrant","clientAuthenticator","refreshTokenVerifier","ctx","tokenVerifier","runWithRequest","event","body","refreshToken","refresh_token","length","malformed","clientId","clientSecret","realmId","realm_id","payload","verify","client","authenticate","undefined","client_id","id","invalid","runWith","ipAddress","trustProxy","userAgent"],"sources":["../../../../../../src/adapters/http/adapters/oauth2/grant-types/refresh_token.ts"],"sourcesContent":["/*\n * Copyright (c) 2025-2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport type { OAuth2TokenGrantResponse } from '@authup/specs';\nimport { OAuth2ClientError, OAuth2GrantError, OAuth2RequestError } from '@authup/specs';\nimport { readRequestBody } from '@routup/basic/body';\nimport type { IRoutupEvent } from 'routup';\nimport { getRequestHeader, getRequestIP } from 'routup';\nimport { OAuth2RefreshTokenGrant } from '../../../../../core/index.ts';\nimport type {\n IOAuth2TokenVerifier,\n OAuth2ClientAuthenticator,\n} from '../../../../../core/index.ts';\nimport type { HTTPOAuth2RefreshTokenGrantContext, IHTTPOAuth2Grant } from './types.ts';\nimport { extractClientCredentialsFromRequest } from './utils/index.ts';\n\nexport class HTTPOAuth2RefreshTokenGrant extends OAuth2RefreshTokenGrant implements IHTTPOAuth2Grant {\n protected clientAuthenticator : OAuth2ClientAuthenticator;\n\n protected refreshTokenVerifier : IOAuth2TokenVerifier;\n\n constructor(ctx: HTTPOAuth2RefreshTokenGrantContext) {\n super(ctx);\n\n this.clientAuthenticator = ctx.clientAuthenticator;\n this.refreshTokenVerifier = ctx.tokenVerifier;\n }\n\n async runWithRequest(event: IRoutupEvent): Promise<OAuth2TokenGrantResponse> {\n const body = await readRequestBody(event);\n const refreshToken = body?.refresh_token;\n if (typeof refreshToken !== 'string' || refreshToken.length === 0) {\n throw OAuth2RequestError.malformed();\n }\n\n const { clientId, clientSecret } = await extractClientCredentialsFromRequest(event);\n const realmId = body?.realm_id;\n\n // RFC 6749 §6: verify the refresh token first to learn its bound\n // client (if any), then enforce binding. Authenticate the requesting\n // client when credentials are present, or when the token requires\n // a client binding.\n const payload = await this.refreshTokenVerifier.verify(refreshToken);\n\n if (clientId) {\n const client = await this.clientAuthenticator.authenticate(\n clientId,\n clientSecret,\n typeof realmId === 'string' ? realmId : undefined,\n );\n\n if (payload.client_id && payload.client_id !== client.id) {\n throw OAuth2GrantError.invalid();\n }\n } else if (payload.client_id) {\n // Token was issued to a specific client — that client MUST\n // re-authenticate (RFC 6749 §6 binding requirement).\n throw OAuth2ClientError.invalid();\n }\n\n return this.runWith(payload, {\n ipAddress: getRequestIP(event, { trustProxy: true }) ?? undefined,\n userAgent: getRequestHeader(event, 'user-agent') ?? undefined,\n });\n }\n}\n"],"mappings":";;;;;;;;AAoBA,IAAaQ,8BAAb,cAAiDF,wBAAAA;CACnCG;CAEAC;CAEV,YAAYC,KAAyC;EACjD,MAAMA,GAAAA;EAEN,KAAKF,sBAAsBE,IAAIF;EAC/B,KAAKC,uBAAuBC,IAAIC;CACpC;CAEA,MAAMC,eAAeC,OAAwD;EACzE,MAAMC,OAAO,MAAMZ,gBAAgBW,KAAAA;EACnC,MAAME,eAAeD,MAAME;EAC3B,IAAI,OAAOD,iBAAiB,YAAYA,aAAaE,WAAW,GAC5D,MAAMhB,mBAAmBiB,UAAS;EAGtC,MAAM,EAAEC,UAAUC,iBAAiB,MAAMd,oCAAoCO,KAAAA;EAC7E,MAAMQ,UAAUP,MAAMQ;EAMtB,MAAMC,UAAU,MAAM,KAAKd,qBAAqBe,OAAOT,YAAAA;EAEvD,IAAII,UAAU;GACV,MAAMM,SAAS,MAAM,KAAKjB,oBAAoBkB,aAC1CP,UACAC,cACA,OAAOC,YAAY,WAAWA,UAAUM,KAAAA,CAAAA;GAG5C,IAAIJ,QAAQK,aAAaL,QAAQK,cAAcH,OAAOI,IAClD,MAAM7B,iBAAiB8B,QAAO;EAEtC,OAAO,IAAIP,QAAQK,WAGf,MAAM7B,kBAAkB+B,QAAO;EAGnC,OAAO,KAAKC,QAAQR,SAAS;GACzBS,WAAW5B,aAAaS,OAAO,EAAEoB,YAAY,KAAK,CAAA,KAAMN,KAAAA;GACxDO,WAAW/B,iBAAiBU,OAAO,YAAA,KAAiBc,KAAAA;EACxD,CAAA;CACJ;AACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"robot-credentials.mjs","names":["readRequestBody","getRequestHeader","getRequestIP","RobotCredentialsGrant","HTTPRobotCredentialsGrant","authenticator","ctx","runWithRequest","event","body","id","secret","realm_id","realmId","entity","authenticate","runWith","ipAddress","trustProxy","undefined","userAgent"],"sources":["../../../../../../src/adapters/http/adapters/oauth2/grant-types/robot-credentials.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 { OAuth2TokenGrantResponse } from '@authup/specs';\nimport { readRequestBody } from '@routup/basic/body';\nimport type { IRoutupEvent } from 'routup';\nimport { getRequestHeader, getRequestIP } from 'routup';\nimport type { Robot } from '@authup/core-kit';\nimport type { ICredentialsAuthenticator } from '../../../../../core/index.ts';\nimport { RobotCredentialsGrant } from '../../../../../core/index.ts';\nimport type { HTTPOAuth2RobotCredentialsGrantContext, IHTTPOAuth2Grant } from './types.ts';\n\nexport class HTTPRobotCredentialsGrant extends RobotCredentialsGrant implements IHTTPOAuth2Grant {\n protected authenticator : ICredentialsAuthenticator<Robot>;\n\n constructor(ctx: HTTPOAuth2RobotCredentialsGrantContext) {\n super(ctx);\n\n this.authenticator = ctx.authenticator;\n }\n\n async runWithRequest(event: IRoutupEvent): Promise<OAuth2TokenGrantResponse> {\n const body = await readRequestBody(event);\n const {\n id,\n secret,\n realm_id: realmId,\n } = body || {};\n const entity = await this.authenticator.authenticate(id, secret, realmId);\n\n return this.runWith(\n entity,\n {\n ipAddress: getRequestIP(event, { trustProxy: true }) ?? undefined,\n userAgent: getRequestHeader(event, 'user-agent') ?? undefined,\n },\n );\n }\n}\n"],"mappings":";;;;;AAgBA,IAAaI,4BAAb,cAA+CD,sBAAAA;CACjCE;CAEV,YAAYC,KAA6C;
|
|
1
|
+
{"version":3,"file":"robot-credentials.mjs","names":["readRequestBody","getRequestHeader","getRequestIP","RobotCredentialsGrant","HTTPRobotCredentialsGrant","authenticator","ctx","runWithRequest","event","body","id","secret","realm_id","realmId","entity","authenticate","runWith","ipAddress","trustProxy","undefined","userAgent"],"sources":["../../../../../../src/adapters/http/adapters/oauth2/grant-types/robot-credentials.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 { OAuth2TokenGrantResponse } from '@authup/specs';\nimport { readRequestBody } from '@routup/basic/body';\nimport type { IRoutupEvent } from 'routup';\nimport { getRequestHeader, getRequestIP } from 'routup';\nimport type { Robot } from '@authup/core-kit';\nimport type { ICredentialsAuthenticator } from '../../../../../core/index.ts';\nimport { RobotCredentialsGrant } from '../../../../../core/index.ts';\nimport type { HTTPOAuth2RobotCredentialsGrantContext, IHTTPOAuth2Grant } from './types.ts';\n\nexport class HTTPRobotCredentialsGrant extends RobotCredentialsGrant implements IHTTPOAuth2Grant {\n protected authenticator : ICredentialsAuthenticator<Robot>;\n\n constructor(ctx: HTTPOAuth2RobotCredentialsGrantContext) {\n super(ctx);\n\n this.authenticator = ctx.authenticator;\n }\n\n async runWithRequest(event: IRoutupEvent): Promise<OAuth2TokenGrantResponse> {\n const body = await readRequestBody(event);\n const {\n id,\n secret,\n realm_id: realmId,\n } = body || {};\n const entity = await this.authenticator.authenticate(id, secret, realmId);\n\n return this.runWith(\n entity,\n {\n ipAddress: getRequestIP(event, { trustProxy: true }) ?? undefined,\n userAgent: getRequestHeader(event, 'user-agent') ?? undefined,\n },\n );\n }\n}\n"],"mappings":";;;;;AAgBA,IAAaI,4BAAb,cAA+CD,sBAAAA;CACjCE;CAEV,YAAYC,KAA6C;EACrD,MAAMA,GAAAA;EAEN,KAAKD,gBAAgBC,IAAID;CAC7B;CAEA,MAAME,eAAeC,OAAwD;EAEzE,MAAM,EACFE,IACAC,QACAC,UAAUC,YACVJ,MALeT,gBAAgBQ,KAAAA,KAKvB,CAAC;EACb,MAAMM,SAAS,MAAM,KAAKT,cAAcU,aAAaL,IAAIC,QAAQE,OAAAA;EAEjE,OAAO,KAAKG,QACRF,QACA;GACIG,WAAWf,aAAaM,OAAO,EAAEU,YAAY,KAAK,CAAA,KAAMC,KAAAA;GACxDC,WAAWnB,iBAAiBO,OAAO,YAAA,KAAiBW,KAAAA;EACxD,CAAA;CAER;AACJ"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { OAuth2RequestError } from "@authup/specs";
|
|
2
2
|
import { readRequestBody } from "@routup/basic/body";
|
|
3
3
|
import { AuthorizationHeaderType, parseAuthorizationHeader } from "hapic";
|
|
4
4
|
//#region src/adapters/http/adapters/oauth2/grant-types/utils/credentials.ts
|
|
@@ -15,9 +15,9 @@ import { AuthorizationHeaderType, parseAuthorizationHeader } from "hapic";
|
|
|
15
15
|
const bodyClientSecret = readStringField(body, "client_secret");
|
|
16
16
|
const hasBodyCredentials = !!bodyClientId || !!bodyClientSecret;
|
|
17
17
|
const basicCredentials = parseBasicCredentials(event);
|
|
18
|
-
if (hasBodyCredentials && basicCredentials) throw
|
|
18
|
+
if (hasBodyCredentials && basicCredentials) throw OAuth2RequestError.malformed("Client credentials must be provided either via Basic Authorization header or request body, not both.");
|
|
19
19
|
if (hasBodyCredentials) {
|
|
20
|
-
if (!bodyClientId) throw
|
|
20
|
+
if (!bodyClientId) throw OAuth2RequestError.malformed("client_secret was provided without client_id.");
|
|
21
21
|
return {
|
|
22
22
|
clientId: bodyClientId,
|
|
23
23
|
clientSecret: bodyClientSecret
|
|
@@ -37,7 +37,7 @@ function parseBasicCredentials(event) {
|
|
|
37
37
|
try {
|
|
38
38
|
header = parseAuthorizationHeader(headerValue);
|
|
39
39
|
} catch {
|
|
40
|
-
throw
|
|
40
|
+
throw OAuth2RequestError.malformed("Malformed Authorization header.");
|
|
41
41
|
}
|
|
42
42
|
if (header.type !== AuthorizationHeaderType.BASIC) return;
|
|
43
43
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credentials.mjs","names":["
|
|
1
|
+
{"version":3,"file":"credentials.mjs","names":["OAuth2RequestError","readRequestBody","AuthorizationHeaderType","parseAuthorizationHeader","extractClientCredentialsFromRequest","event","body","bodyClientId","readStringField","bodyClientSecret","hasBodyCredentials","basicCredentials","parseBasicCredentials","malformed","clientId","clientSecret","key","value","length","undefined","headerValue","headers","get","header","type","BASIC","formDecode","username","password","decodeURIComponent","replace"],"sources":["../../../../../../../src/adapters/http/adapters/oauth2/grant-types/utils/credentials.ts"],"sourcesContent":["/*\n * Copyright (c) 2025-2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport { OAuth2RequestError } from '@authup/specs';\nimport { readRequestBody } from '@routup/basic/body';\nimport { AuthorizationHeaderType, parseAuthorizationHeader } from 'hapic';\nimport type { IRoutupEvent } from 'routup';\n\nexport type ExtractedClientCredentials = {\n clientId?: string,\n clientSecret?: string,\n};\n\n/**\n * Extract client credentials from an OAuth2 token endpoint request.\n *\n * Per RFC 6749 §2.3.1, the server MUST NOT support multiple client\n * authentication methods in a single request. This helper rejects requests\n * that present credentials in BOTH the Basic Authorization header and the\n * request body.\n */\nexport async function extractClientCredentialsFromRequest(event: IRoutupEvent): Promise<ExtractedClientCredentials> {\n const body = await readRequestBody(event);\n const bodyClientId = readStringField(body, 'client_id');\n const bodyClientSecret = readStringField(body, 'client_secret');\n const hasBodyCredentials = !!bodyClientId || !!bodyClientSecret;\n\n const basicCredentials = parseBasicCredentials(event);\n\n if (hasBodyCredentials && basicCredentials) {\n throw OAuth2RequestError.malformed(\n 'Client credentials must be provided either via Basic Authorization header or request body, not both.',\n );\n }\n\n if (hasBodyCredentials) {\n // Reject stray client_secret without client_id — otherwise grants\n // that gate auth on `if (clientId)` would silently skip\n // authentication and leak through with the secret discarded.\n if (!bodyClientId) {\n throw OAuth2RequestError.malformed('client_secret was provided without client_id.');\n }\n return { clientId: bodyClientId, clientSecret: bodyClientSecret };\n }\n\n if (basicCredentials) {\n return basicCredentials;\n }\n\n return {};\n}\n\nfunction readStringField(body: Record<string, any> | undefined, key: string): string | undefined {\n const value = body?.[key];\n return typeof value === 'string' && value.length > 0 ? value : undefined;\n}\n\nfunction parseBasicCredentials(event: IRoutupEvent): ExtractedClientCredentials | undefined {\n const headerValue = event.headers.get('authorization');\n if (!headerValue) {\n return undefined;\n }\n\n let header;\n try {\n header = parseAuthorizationHeader(headerValue);\n } catch {\n // Malformed Authorization header — surface as 400 invalid_request\n // rather than letting hapic's error propagate as 500.\n throw OAuth2RequestError.malformed('Malformed Authorization header.');\n }\n\n if (header.type !== AuthorizationHeaderType.BASIC) {\n return undefined;\n }\n\n // RFC 6749 §2.3.1 + Appendix B: client_id and client_secret are\n // application/x-www-form-urlencoded BEFORE base64 encoding in the\n // Authorization header. hapic only base64-decodes; we form-decode here\n // so credentials containing reserved characters (`:`, `+`, `%`, `&`,\n // `=`, etc.) round-trip correctly.\n return {\n clientId: formDecode(header.username),\n clientSecret: formDecode(header.password),\n };\n}\n\nfunction formDecode(value: string): string {\n try {\n // application/x-www-form-urlencoded: '+' represents space; %XX is\n // percent-encoded UTF-8.\n return decodeURIComponent(value.replace(/\\+/g, ' '));\n } catch {\n // Malformed percent-encoding — return raw value rather than\n // throwing; the caller will still validate via authentication.\n return value;\n }\n}\n"],"mappings":";;;;;;;;;;;GAyBA,eAAsBI,oCAAoCC,OAAmB;CACzE,MAAMC,OAAO,MAAML,gBAAgBI,KAAAA;CACnC,MAAME,eAAeC,gBAAgBF,MAAM,WAAA;CAC3C,MAAMG,mBAAmBD,gBAAgBF,MAAM,eAAA;CAC/C,MAAMI,qBAAqB,CAAC,CAACH,gBAAgB,CAAC,CAACE;CAE/C,MAAME,mBAAmBC,sBAAsBP,KAAAA;CAE/C,IAAIK,sBAAsBC,kBACtB,MAAMX,mBAAmBa,UACrB,sGAAA;CAIR,IAAIH,oBAAoB;EAIpB,IAAI,CAACH,cACD,MAAMP,mBAAmBa,UAAU,+CAAA;EAEvC,OAAO;GAAEC,UAAUP;GAAcQ,cAAcN;EAAiB;CACpE;CAEA,IAAIE,kBACA,OAAOA;CAGX,OAAO,CAAC;AACZ;AAEA,SAASH,gBAAgBF,MAAuCU,KAAW;CACvE,MAAMC,QAAQX,OAAOU;CACrB,OAAO,OAAOC,UAAU,YAAYA,MAAMC,SAAS,IAAID,QAAQE,KAAAA;AACnE;AAEA,SAASP,sBAAsBP,OAAmB;CAC9C,MAAMe,cAAcf,MAAMgB,QAAQC,IAAI,eAAA;CACtC,IAAI,CAACF,aACD;CAGJ,IAAIG;CACJ,IAAI;EACAA,SAASpB,yBAAyBiB,WAAAA;CACtC,QAAQ;EAGJ,MAAMpB,mBAAmBa,UAAU,iCAAA;CACvC;CAEA,IAAIU,OAAOC,SAAStB,wBAAwBuB,OACxC;CAQJ,OAAO;EACHX,UAAUY,WAAWH,OAAOI,QAAQ;EACpCZ,cAAcW,WAAWH,OAAOK,QAAQ;CAC5C;AACJ;AAEA,SAASF,WAAWT,OAAa;CAC7B,IAAI;EAGA,OAAOY,mBAAmBZ,MAAMa,QAAQ,OAAO,GAAA,CAAA;CACnD,QAAQ;EAGJ,OAAOb;CACX;AACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guess.mjs","names":["OAuth2TokenGrant","readRequestBody","useRequestQuery","AuthorizationHeaderType","parseAuthorizationHeader","guessOauth2GrantTypeByRequest","event","body","query","pick","key","grantType","validGrantTypes","Object","values","includes","username","password","PASSWORD","robotId","robotSecret","ROBOT_CREDENTIALS","refreshToken","REFRESH_TOKEN","code","AUTHORIZATION_CODE","clientId","clientSecret","headerValue","headers","get","header","type","BASIC","CLIENT_CREDENTIALS","undefined"],"sources":["../../../../../../../src/adapters/http/adapters/oauth2/grant-types/utils/guess.ts"],"sourcesContent":["/*\n * Copyright (c) 2022.\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 { OAuth2TokenGrant } from '@authup/specs';\nimport { readRequestBody } from '@routup/basic/body';\nimport { useRequestQuery } from '@routup/basic/query';\nimport { AuthorizationHeaderType, parseAuthorizationHeader } from 'hapic';\nimport type { IRoutupEvent } from 'routup';\n\nexport async function guessOauth2GrantTypeByRequest(\n event: IRoutupEvent,\n) : Promise<`${OAuth2TokenGrant}` | undefined> {\n const body = await readRequestBody(event);\n const query = useRequestQuery(event);\n\n const pick = (key: string): any => body?.[key] ?? query?.[key];\n\n const grantType = pick('grant_type');\n\n const validGrantTypes = Object.values(OAuth2TokenGrant);\n if (validGrantTypes.includes(grantType)) {\n return grantType;\n }\n\n const username = pick('username');\n const password = pick('password');\n\n if (username && password) {\n return OAuth2TokenGrant.PASSWORD;\n }\n\n // ------------------------------------------------------------------\n\n const robotId = pick('id');\n const robotSecret = pick('secret');\n\n if (robotId && robotSecret) {\n return OAuth2TokenGrant.ROBOT_CREDENTIALS;\n }\n\n // ------------------------------------------------------------------\n\n const refreshToken = pick('refresh_token');\n if (refreshToken) {\n return OAuth2TokenGrant.REFRESH_TOKEN;\n }\n\n // ------------------------------------------------------------------\n\n const code = pick('code');\n if (code) {\n return OAuth2TokenGrant.AUTHORIZATION_CODE;\n }\n\n // ------------------------------------------------------------------\n\n let clientId = pick('client_id');\n let clientSecret = pick('client_secret');\n\n if (!clientId && !clientSecret) {\n const headerValue = event.headers.get('authorization');\n\n if (headerValue) {\n const header = parseAuthorizationHeader(headerValue);\n\n if (header.type === AuthorizationHeaderType.BASIC) {\n clientId = header.username;\n clientSecret = header.password;\n }\n }\n }\n\n if (clientId && clientSecret) {\n return OAuth2TokenGrant.CLIENT_CREDENTIALS;\n }\n\n return undefined;\n}\n"],"mappings":";;;;;AAaA,eAAsBK,8BAClBC,OAAmB;CAEnB,MAAMC,OAAO,MAAMN,gBAAgBK,
|
|
1
|
+
{"version":3,"file":"guess.mjs","names":["OAuth2TokenGrant","readRequestBody","useRequestQuery","AuthorizationHeaderType","parseAuthorizationHeader","guessOauth2GrantTypeByRequest","event","body","query","pick","key","grantType","validGrantTypes","Object","values","includes","username","password","PASSWORD","robotId","robotSecret","ROBOT_CREDENTIALS","refreshToken","REFRESH_TOKEN","code","AUTHORIZATION_CODE","clientId","clientSecret","headerValue","headers","get","header","type","BASIC","CLIENT_CREDENTIALS","undefined"],"sources":["../../../../../../../src/adapters/http/adapters/oauth2/grant-types/utils/guess.ts"],"sourcesContent":["/*\n * Copyright (c) 2022.\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 { OAuth2TokenGrant } from '@authup/specs';\nimport { readRequestBody } from '@routup/basic/body';\nimport { useRequestQuery } from '@routup/basic/query';\nimport { AuthorizationHeaderType, parseAuthorizationHeader } from 'hapic';\nimport type { IRoutupEvent } from 'routup';\n\nexport async function guessOauth2GrantTypeByRequest(\n event: IRoutupEvent,\n) : Promise<`${OAuth2TokenGrant}` | undefined> {\n const body = await readRequestBody(event);\n const query = useRequestQuery(event);\n\n const pick = (key: string): any => body?.[key] ?? query?.[key];\n\n const grantType = pick('grant_type');\n\n const validGrantTypes = Object.values(OAuth2TokenGrant);\n if (validGrantTypes.includes(grantType)) {\n return grantType;\n }\n\n const username = pick('username');\n const password = pick('password');\n\n if (username && password) {\n return OAuth2TokenGrant.PASSWORD;\n }\n\n // ------------------------------------------------------------------\n\n const robotId = pick('id');\n const robotSecret = pick('secret');\n\n if (robotId && robotSecret) {\n return OAuth2TokenGrant.ROBOT_CREDENTIALS;\n }\n\n // ------------------------------------------------------------------\n\n const refreshToken = pick('refresh_token');\n if (refreshToken) {\n return OAuth2TokenGrant.REFRESH_TOKEN;\n }\n\n // ------------------------------------------------------------------\n\n const code = pick('code');\n if (code) {\n return OAuth2TokenGrant.AUTHORIZATION_CODE;\n }\n\n // ------------------------------------------------------------------\n\n let clientId = pick('client_id');\n let clientSecret = pick('client_secret');\n\n if (!clientId && !clientSecret) {\n const headerValue = event.headers.get('authorization');\n\n if (headerValue) {\n const header = parseAuthorizationHeader(headerValue);\n\n if (header.type === AuthorizationHeaderType.BASIC) {\n clientId = header.username;\n clientSecret = header.password;\n }\n }\n }\n\n if (clientId && clientSecret) {\n return OAuth2TokenGrant.CLIENT_CREDENTIALS;\n }\n\n return undefined;\n}\n"],"mappings":";;;;;AAaA,eAAsBK,8BAClBC,OAAmB;CAEnB,MAAMC,OAAO,MAAMN,gBAAgBK,KAAAA;CACnC,MAAME,QAAQN,gBAAgBI,KAAAA;CAE9B,MAAMG,QAAQC,QAAqBH,OAAOG,QAAQF,QAAQE;CAE1D,MAAMC,YAAYF,KAAK,YAAA;CAGvB,IADwBI,OAAOC,OAAOd,gBAClCY,EAAgBG,SAASJ,SAAAA,GACzB,OAAOA;CAGX,MAAMK,WAAWP,KAAK,UAAA;CACtB,MAAMQ,WAAWR,KAAK,UAAA;CAEtB,IAAIO,YAAYC,UACZ,OAAOjB,iBAAiBkB;CAK5B,MAAMC,UAAUV,KAAK,IAAA;CACrB,MAAMW,cAAcX,KAAK,QAAA;CAEzB,IAAIU,WAAWC,aACX,OAAOpB,iBAAiBqB;CAM5B,IADqBZ,KAAK,eACtBa,GACA,OAAOtB,iBAAiBuB;CAM5B,IADad,KAAK,MACde,GACA,OAAOxB,iBAAiByB;CAK5B,IAAIC,WAAWjB,KAAK,WAAA;CACpB,IAAIkB,eAAelB,KAAK,eAAA;CAExB,IAAI,CAACiB,YAAY,CAACC,cAAc;EAC5B,MAAMC,cAActB,MAAMuB,QAAQC,IAAI,eAAA;EAEtC,IAAIF,aAAa;GACb,MAAMG,SAAS3B,yBAAyBwB,WAAAA;GAExC,IAAIG,OAAOC,SAAS7B,wBAAwB8B,OAAO;IAC/CP,WAAWK,OAAOf;IAClBW,eAAeI,OAAOd;GAC1B;EACJ;CACJ;CAEA,IAAIS,YAAYC,cACZ,OAAO3B,iBAAiBkC;AAIhC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../../../src/adapters/http/controllers/entities/client/module.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../../../../src/adapters/http/controllers/entities/client/module.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAE3C,OAAO,KAAK,EACR,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,wBAAwB,EAC3B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAWtF,MAAM,MAAM,uBAAuB,GAAG;IAClC,OAAO,EAAE,cAAc,CAAC;IACxB,UAAU,EAAE,iBAAiB,CAAC;CACjC,CAAC;AAEF,qBAEa,gBAAgB;IACzB,SAAS,CAAC,OAAO,EAAE,cAAc,CAAC;IAElC,SAAS,CAAC,UAAU,EAAE,iBAAiB,CAAC;gBAE5B,GAAG,EAAE,uBAAuB;IAMlC,OAAO,CACG,KAAK,EAAE,YAAY,GAChC,OAAO,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;IActC,GAAG,CACQ,EAAE,EAAE,MAAM,EACX,KAAK,EAAE,YAAY,GAChC,OAAO,CAAC,MAAM,CAAC;IAiDZ,GAAG,CACI,IAAI,EAAE,mBAAmB,EACtB,KAAK,EAAE,YAAY,GAChC,OAAO,CAAC,MAAM,CAAC;IAWZ,IAAI,CACO,EAAE,EAAE,MAAM,EACd,IAAI,EAAE,mBAAmB,EACtB,KAAK,EAAE,YAAY,GAChC,OAAO,CAAC,MAAM,CAAC;IAWZ,GAAG,CACQ,EAAE,EAAE,MAAM,EACd,IAAI,EAAE,iBAAiB,EACpB,KAAK,EAAE,YAAY,GAChC,OAAO,CAAC,MAAM,CAAC;IAiBZ,IAAI,CACO,EAAE,EAAE,MAAM,EACX,KAAK,EAAE,YAAY,GAChC,OAAO,CAAC,MAAM,CAAC;CAQrB"}
|
|
@@ -2,14 +2,15 @@ import { OAuth2ScopeAttributesResolver } from "../../../../../core/oauth2/scope/
|
|
|
2
2
|
import "../../../../../core/index.mjs";
|
|
3
3
|
import { useRequestIdentity } from "../../../request/helpers/identity.mjs";
|
|
4
4
|
import { buildActorContext } from "../../../request/helpers/actor.mjs";
|
|
5
|
+
import { applyRouteRealmIDToBody, getRequestRealmID } from "../../../request/helpers/realm-id.mjs";
|
|
5
6
|
import { useRequestScopes } from "../../../request/helpers/scopes.mjs";
|
|
6
7
|
import "../../../request/index.mjs";
|
|
7
|
-
import { ForceLoggedInMiddleware } from "../../../middleware/built-in/loggedin/module.mjs";
|
|
8
8
|
import { isSelfToken } from "../../../../../utils/self-id.mjs";
|
|
9
9
|
import "../../../../../utils/index.mjs";
|
|
10
|
+
import { ForceLoggedInMiddleware } from "../../../middleware/built-in/loggedin/module.mjs";
|
|
10
11
|
import "../../../middleware/index.mjs";
|
|
12
|
+
import { EntityNotFoundError } from "@authup/errors";
|
|
11
13
|
import { OAuth2SubKind } from "@authup/specs";
|
|
12
|
-
import { NotFoundError } from "@ebec/http";
|
|
13
14
|
import { DBody, DContext, DController, DDelete, DGet, DPath, DPost, DPut, DTags } from "@routup/decorators";
|
|
14
15
|
import { useRequestQuery } from "@routup/basic/query";
|
|
15
16
|
//#region src/adapters/http/controllers/entities/client/module.ts
|
|
@@ -48,8 +49,8 @@ var ClientController = class {
|
|
|
48
49
|
if (identity && identity.type === "client") isMe = isSelfToken(id) || identity.id === id;
|
|
49
50
|
if (isMe) {
|
|
50
51
|
const attributes = new OAuth2ScopeAttributesResolver().resolveFor(OAuth2SubKind.CLIENT, useRequestScopes(event));
|
|
51
|
-
const entity = await this.repository.findOneByIdOrName(identity.id, event
|
|
52
|
-
if (!entity) throw new
|
|
52
|
+
const entity = await this.repository.findOneByIdOrName(identity.id, getRequestRealmID(event));
|
|
53
|
+
if (!entity) throw new EntityNotFoundError();
|
|
53
54
|
for (const attribute of attributes) if (attribute === "secret") {
|
|
54
55
|
const withSecret = await this.repository.findOneWithSecret({ id: entity.id });
|
|
55
56
|
if (withSecret) entity.secret = withSecret.secret;
|
|
@@ -57,21 +58,24 @@ var ClientController = class {
|
|
|
57
58
|
return entity;
|
|
58
59
|
}
|
|
59
60
|
const actor = buildActorContext(event);
|
|
60
|
-
return await this.service.getOne(id, actor, useRequestQuery(event), event
|
|
61
|
+
return await this.service.getOne(id, actor, useRequestQuery(event), getRequestRealmID(event));
|
|
61
62
|
}
|
|
62
63
|
async add(data, event) {
|
|
64
|
+
applyRouteRealmIDToBody(event, data);
|
|
63
65
|
const actor = buildActorContext(event);
|
|
64
66
|
const entity = await this.service.create(data, actor);
|
|
65
67
|
event.response.status = 201;
|
|
66
68
|
return entity;
|
|
67
69
|
}
|
|
68
70
|
async edit(id, data, event) {
|
|
71
|
+
applyRouteRealmIDToBody(event, data);
|
|
69
72
|
const actor = buildActorContext(event);
|
|
70
73
|
const entity = await this.service.update(id, data, actor);
|
|
71
74
|
event.response.status = 202;
|
|
72
75
|
return entity;
|
|
73
76
|
}
|
|
74
77
|
async put(id, data, event) {
|
|
78
|
+
applyRouteRealmIDToBody(event, data);
|
|
75
79
|
const actor = buildActorContext(event);
|
|
76
80
|
const { entity, created } = await this.service.save(id || void 0, data, actor);
|
|
77
81
|
event.response.status = created ? 201 : 202;
|
|
@@ -143,7 +147,7 @@ _ts_decorate([
|
|
|
143
147
|
], ClientController.prototype, "drop", null);
|
|
144
148
|
ClientController = _ts_decorate([
|
|
145
149
|
DTags("oauth2"),
|
|
146
|
-
DController("/clients"),
|
|
150
|
+
DController(["/clients", "/realms/:realmId/clients"]),
|
|
147
151
|
_ts_metadata("design:type", Function),
|
|
148
152
|
_ts_metadata("design:paramtypes", [typeof ClientControllerContext === "undefined" ? Object : ClientControllerContext])
|
|
149
153
|
], ClientController);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.mjs","names":["OAuth2SubKind","DBody","DContext","DController","DDelete","DGet","DPath","DPost","DPut","DTags","
|
|
1
|
+
{"version":3,"file":"module.mjs","names":["OAuth2SubKind","DBody","DContext","DController","DDelete","DGet","DPath","DPost","DPut","DTags","EntityNotFoundError","isSelfToken","useRequestQuery","OAuth2ScopeAttributesResolver","ForceLoggedInMiddleware","applyRouteRealmIDToBody","buildActorContext","getRequestRealmID","useRequestIdentity","useRequestScopes","ClientController","service","repository","ctx","getMany","event","actor","data","meta","get","id","identity","isMe","type","attributesResolver","attributes","resolveFor","CLIENT","entity","findOneByIdOrName","attribute","attr","withSecret","findOneWithSecret","secret","getOne","add","create","response","status","edit","update","put","created","save","undefined","drop","delete"],"sources":["../../../../../../src/adapters/http/controllers/entities/client/module.ts"],"sourcesContent":["/*\n * Copyright (c) 2022.\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 { OAuth2SubKind } from '@authup/specs';\nimport {\n DBody,\n DContext,\n DController,\n DDelete,\n DGet,\n DPath,\n DPost,\n DPut,\n DTags,\n} from '@routup/decorators';\nimport { EntityNotFoundError } from '@authup/errors';\nimport { isSelfToken } from '../../../../../utils/index.ts';\nimport type { Client } from '@authup/core-kit';\nimport type { IRoutupEvent } from 'routup';\nimport { useRequestQuery } from '@routup/basic/query';\nimport type {\n ClientCreatePayload,\n ClientSavePayload,\n ClientUpdatePayload,\n EntityCollectionResponse,\n} from '@authup/core-http-kit';\nimport type { IClientRepository, IClientService } from '../../../../../core/index.ts';\nimport { OAuth2ScopeAttributesResolver } from '../../../../../core/index.ts';\nimport { ForceLoggedInMiddleware } from '../../../middleware/index.ts';\nimport {\n applyRouteRealmIDToBody,\n buildActorContext,\n getRequestRealmID,\n useRequestIdentity,\n useRequestScopes,\n} from '../../../request/index.ts';\n\nexport type ClientControllerContext = {\n service: IClientService,\n repository: IClientRepository,\n};\n\n@DTags('oauth2')\n@DController(['/clients', '/realms/:realmId/clients'])\nexport class ClientController {\n protected service: IClientService;\n\n protected repository: IClientRepository;\n\n constructor(ctx: ClientControllerContext) {\n this.service = ctx.service;\n this.repository = ctx.repository;\n }\n\n @DGet('', [])\n async getMany(\n @DContext() event: IRoutupEvent,\n ): Promise<EntityCollectionResponse<Client>> {\n const actor = buildActorContext(event);\n const {\n data,\n meta,\n } = await this.service.getMany(useRequestQuery(event), actor);\n\n return {\n data,\n meta,\n };\n }\n\n @DGet('/:id', [])\n async get(\n @DPath('id') id: string,\n @DContext() event: IRoutupEvent,\n ): Promise<Client> {\n const identity = useRequestIdentity(event);\n\n let isMe = false;\n if (\n identity &&\n identity.type === 'client'\n ) {\n isMe = isSelfToken(id) || identity.id === id;\n }\n\n if (isMe) {\n const attributesResolver = new OAuth2ScopeAttributesResolver();\n const attributes = attributesResolver.resolveFor(OAuth2SubKind.CLIENT, useRequestScopes(event));\n\n const entity = await this.repository.findOneByIdOrName(\n identity!.id,\n getRequestRealmID(event),\n );\n\n if (!entity) {\n throw new EntityNotFoundError();\n }\n\n for (const attribute of attributes) {\n const attr = attribute as keyof Client;\n if (attr === 'secret') {\n const withSecret = await this.repository.findOneWithSecret({ id: entity.id });\n if (withSecret) {\n entity.secret = withSecret.secret;\n }\n }\n }\n\n return entity;\n }\n\n const actor = buildActorContext(event);\n const entity = await this.service.getOne(\n id,\n actor,\n useRequestQuery(event),\n getRequestRealmID(event),\n );\n\n return entity;\n }\n\n @DPost('', [ForceLoggedInMiddleware])\n async add(\n @DBody() data: ClientCreatePayload,\n @DContext() event: IRoutupEvent,\n ): Promise<Client> {\n applyRouteRealmIDToBody(event, data);\n const actor = buildActorContext(event);\n const entity = await this.service.create(data, actor);\n\n event.response.status = 201;\n\n return entity;\n }\n\n @DPost('/:id', [ForceLoggedInMiddleware])\n async edit(\n @DPath('id') id: string,\n @DBody() data: ClientUpdatePayload,\n @DContext() event: IRoutupEvent,\n ): Promise<Client> {\n applyRouteRealmIDToBody(event, data);\n const actor = buildActorContext(event);\n const entity = await this.service.update(id, data, actor);\n\n event.response.status = 202;\n\n return entity;\n }\n\n @DPut('/:id', [ForceLoggedInMiddleware])\n async put(\n @DPath('id') id: string,\n @DBody() data: ClientSavePayload,\n @DContext() event: IRoutupEvent,\n ): Promise<Client> {\n applyRouteRealmIDToBody(event, data);\n const actor = buildActorContext(event);\n const {\n entity,\n created,\n } = await this.service.save(\n id || undefined,\n data,\n actor,\n );\n\n event.response.status = created ? 201 : 202;\n return entity;\n }\n\n @DDelete('/:id', [ForceLoggedInMiddleware])\n async drop(\n @DPath('id') id: string,\n @DContext() event: IRoutupEvent,\n ): Promise<Client> {\n const actor = buildActorContext(event);\n const entity = await this.service.delete(id, actor);\n\n event.response.status = 202;\n\n return entity;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgDA,IAAaoB,mBAAb,MAAaA;CACCC;CAEAC;CAEV,YAAYC,KAA8B;EACtC,KAAKF,UAAUE,IAAIF;EACnB,KAAKC,aAAaC,IAAID;CAC1B;CAEA,MACME,QACF,OACyC;EACzC,MAAME,QAAQV,kBAAkBS,KAAAA;EAChC,MAAM,EACFE,MACAC,SACA,MAAM,KAAKP,QAAQG,QAAQZ,gBAAgBa,KAAAA,GAAQC,KAAAA;EAEvD,OAAO;GACHC;GACAC;EACJ;CACJ;CAEA,MACMC,IACF,IACA,OACe;EACf,MAAME,WAAWb,mBAAmBO,KAAAA;EAEpC,IAAIO,OAAO;EACX,IACID,YACAA,SAASE,SAAS,UAElBD,OAAOrB,YAAYmB,EAAAA,KAAOC,SAASD,OAAOA;EAG9C,IAAIE,MAAM;GAEN,MAAMG,aAAaD,IADYrB,8BACZqB,EAAmBE,WAAWpC,cAAcqC,QAAQlB,iBAAiBM,KAAAA,CAAAA;GAExF,MAAMa,SAAS,MAAM,KAAKhB,WAAWiB,kBACjCR,SAAUD,IACVb,kBAAkBQ,KAAAA,CAAAA;GAGtB,IAAI,CAACa,QACD,MAAM,IAAI5B,oBAAAA;GAGd,KAAK,MAAM8B,aAAaL,YAEpB,IAAIM,cAAS,UAAU;IACnB,MAAMC,aAAa,MAAM,KAAKpB,WAAWqB,kBAAkB,EAAEb,IAAIQ,OAAOR,GAAG,CAAA;IAC3E,IAAIY,YACAJ,OAAOM,SAASF,WAAWE;GAEnC;GAGJ,OAAON;EACX;EAEA,MAAMZ,QAAQV,kBAAkBS,KAAAA;EAQhC,OAAOa,MAPc,KAAKjB,QAAQwB,OAC9Bf,IACAJ,OACAd,gBAAgBa,KAAAA,GAChBR,kBAAkBQ,KAAAA,CAAAA;CAI1B;CAEA,MACMqB,IACF,MACA,OACe;EACf/B,wBAAwBU,OAAOE,IAAAA;EAC/B,MAAMD,QAAQV,kBAAkBS,KAAAA;EAChC,MAAMa,SAAS,MAAM,KAAKjB,QAAQ0B,OAAOpB,MAAMD,KAAAA;EAE/CD,MAAMuB,SAASC,SAAS;EAExB,OAAOX;CACX;CAEA,MACMY,KACF,IACA,MACA,OACe;EACfnC,wBAAwBU,OAAOE,IAAAA;EAC/B,MAAMD,QAAQV,kBAAkBS,KAAAA;EAChC,MAAMa,SAAS,MAAM,KAAKjB,QAAQ8B,OAAOrB,IAAIH,MAAMD,KAAAA;EAEnDD,MAAMuB,SAASC,SAAS;EAExB,OAAOX;CACX;CAEA,MACMc,IACF,IACA,MACA,OACe;EACfrC,wBAAwBU,OAAOE,IAAAA;EAC/B,MAAMD,QAAQV,kBAAkBS,KAAAA;EAChC,MAAM,EACFa,QACAe,YACA,MAAM,KAAKhC,QAAQiC,KACnBxB,MAAMyB,KAAAA,GACN5B,MACAD,KAAAA;EAGJD,MAAMuB,SAASC,SAASI,UAAU,MAAM;EACxC,OAAOf;CACX;CAEA,MACMkB,KACF,IACA,OACe;EACf,MAAM9B,QAAQV,kBAAkBS,KAAAA;EAChC,MAAMa,SAAS,MAAM,KAAKjB,QAAQoC,OAAO3B,IAAIJ,KAAAA;EAE7CD,MAAMuB,SAASC,SAAS;EAExB,OAAOX;CACX;AACJ;;;;;;;;;;;;;;;;;YA9DgBxB,uBAAAA,CAAAA;;;;;;;;gBAcIA,uBAAAA,CAAAA;;;;;;;;;;;;;eAeDA,uBAAAA,CAAAA;;;;;;;;;;;;;kBAqBGA,uBAAAA,CAAAA;;;;;;;;;cAjIR,YAAY,0BAAA,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.mjs","names":["DBody","DContext","DController","DDelete","DGet","DPath","DPost","DTags","useRequestQuery","ForceLoggedInMiddleware","buildActorContext","ClientPermissionController","service","ctx","getMany","event","actor","data","meta","add","entity","create","response","status","edit","id","update","getOne","drop","delete"],"sources":["../../../../../../src/adapters/http/controllers/entities/client-permission/module.ts"],"sourcesContent":["/*\n * Copyright (c) 2022.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport {\n DBody,\n DContext,\n DController,\n DDelete,\n DGet,\n DPath,\n DPost,\n DTags,\n} from '@routup/decorators';\nimport type { IRoutupEvent } from 'routup';\nimport { useRequestQuery } from '@routup/basic/query';\nimport type {\n ClientPermissionCreatePayload,\n ClientPermissionUpdatePayload,\n EntityCollectionResponse,\n} from '@authup/core-http-kit';\nimport type { ClientPermission } from '@authup/core-kit';\nimport type { IClientPermissionService } from '../../../../../core/index.ts';\nimport { ForceLoggedInMiddleware } from '../../../middleware/index.ts';\nimport { buildActorContext } from '../../../request/index.ts';\n\nexport type ClientPermissionControllerContext = {\n service: IClientPermissionService,\n};\n\n@DTags('client')\n@DController('/client-permissions')\nexport class ClientPermissionController {\n protected service: IClientPermissionService;\n\n constructor(ctx: ClientPermissionControllerContext) {\n this.service = ctx.service;\n }\n\n @DGet('', [ForceLoggedInMiddleware])\n async getMany(\n @DContext() event: IRoutupEvent,\n ): Promise<EntityCollectionResponse<ClientPermission>> {\n const actor = buildActorContext(event);\n const {\n data,\n meta,\n } = await this.service.getMany(useRequestQuery(event), actor);\n\n return {\n data,\n meta,\n };\n }\n\n @DPost('', [ForceLoggedInMiddleware])\n async add(\n @DBody() data: ClientPermissionCreatePayload,\n @DContext() event: IRoutupEvent,\n ): Promise<ClientPermission> {\n const actor = buildActorContext(event);\n\n const entity = await this.service.create(data, actor);\n\n event.response.status = 201;\n\n return entity;\n }\n\n @DPost('/:id', [ForceLoggedInMiddleware])\n async edit(\n @DPath('id') id: string,\n @DBody() data: ClientPermissionUpdatePayload,\n @DContext() event: IRoutupEvent,\n ): Promise<ClientPermission> {\n const actor = buildActorContext(event);\n const entity = await this.service.update(id, data, actor);\n\n event.response.status = 202;\n\n return entity;\n }\n\n @DGet('/:id', [ForceLoggedInMiddleware])\n async getOne(\n @DPath('id') id: string,\n @DContext() event: IRoutupEvent,\n ): Promise<ClientPermission> {\n const actor = buildActorContext(event);\n const entity = await this.service.getOne(id, actor);\n\n return entity;\n }\n\n @DDelete('/:id', [ForceLoggedInMiddleware])\n async drop(\n @DPath('id') id: string,\n @DContext() event: IRoutupEvent,\n ): Promise<ClientPermission> {\n const actor = buildActorContext(event);\n const entity = await this.service.delete(\n id,\n actor,\n );\n\n event.response.status = 202;\n\n return entity;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAmCA,IAAaW,6BAAb,MAAaA;CACCC;CAEV,YAAYC,KAAwC;
|
|
1
|
+
{"version":3,"file":"module.mjs","names":["DBody","DContext","DController","DDelete","DGet","DPath","DPost","DTags","useRequestQuery","ForceLoggedInMiddleware","buildActorContext","ClientPermissionController","service","ctx","getMany","event","actor","data","meta","add","entity","create","response","status","edit","id","update","getOne","drop","delete"],"sources":["../../../../../../src/adapters/http/controllers/entities/client-permission/module.ts"],"sourcesContent":["/*\n * Copyright (c) 2022.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport {\n DBody,\n DContext,\n DController,\n DDelete,\n DGet,\n DPath,\n DPost,\n DTags,\n} from '@routup/decorators';\nimport type { IRoutupEvent } from 'routup';\nimport { useRequestQuery } from '@routup/basic/query';\nimport type {\n ClientPermissionCreatePayload,\n ClientPermissionUpdatePayload,\n EntityCollectionResponse,\n} from '@authup/core-http-kit';\nimport type { ClientPermission } from '@authup/core-kit';\nimport type { IClientPermissionService } from '../../../../../core/index.ts';\nimport { ForceLoggedInMiddleware } from '../../../middleware/index.ts';\nimport { buildActorContext } from '../../../request/index.ts';\n\nexport type ClientPermissionControllerContext = {\n service: IClientPermissionService,\n};\n\n@DTags('client')\n@DController('/client-permissions')\nexport class ClientPermissionController {\n protected service: IClientPermissionService;\n\n constructor(ctx: ClientPermissionControllerContext) {\n this.service = ctx.service;\n }\n\n @DGet('', [ForceLoggedInMiddleware])\n async getMany(\n @DContext() event: IRoutupEvent,\n ): Promise<EntityCollectionResponse<ClientPermission>> {\n const actor = buildActorContext(event);\n const {\n data,\n meta,\n } = await this.service.getMany(useRequestQuery(event), actor);\n\n return {\n data,\n meta,\n };\n }\n\n @DPost('', [ForceLoggedInMiddleware])\n async add(\n @DBody() data: ClientPermissionCreatePayload,\n @DContext() event: IRoutupEvent,\n ): Promise<ClientPermission> {\n const actor = buildActorContext(event);\n\n const entity = await this.service.create(data, actor);\n\n event.response.status = 201;\n\n return entity;\n }\n\n @DPost('/:id', [ForceLoggedInMiddleware])\n async edit(\n @DPath('id') id: string,\n @DBody() data: ClientPermissionUpdatePayload,\n @DContext() event: IRoutupEvent,\n ): Promise<ClientPermission> {\n const actor = buildActorContext(event);\n const entity = await this.service.update(id, data, actor);\n\n event.response.status = 202;\n\n return entity;\n }\n\n @DGet('/:id', [ForceLoggedInMiddleware])\n async getOne(\n @DPath('id') id: string,\n @DContext() event: IRoutupEvent,\n ): Promise<ClientPermission> {\n const actor = buildActorContext(event);\n const entity = await this.service.getOne(id, actor);\n\n return entity;\n }\n\n @DDelete('/:id', [ForceLoggedInMiddleware])\n async drop(\n @DPath('id') id: string,\n @DContext() event: IRoutupEvent,\n ): Promise<ClientPermission> {\n const actor = buildActorContext(event);\n const entity = await this.service.delete(\n id,\n actor,\n );\n\n event.response.status = 202;\n\n return entity;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAmCA,IAAaW,6BAAb,MAAaA;CACCC;CAEV,YAAYC,KAAwC;EAChD,KAAKD,UAAUC,IAAID;CACvB;CAEA,MACME,QACF,OACmD;EACnD,MAAME,QAAQN,kBAAkBK,KAAAA;EAChC,MAAM,EACFE,MACAC,SACA,MAAM,KAAKN,QAAQE,QAAQN,gBAAgBO,KAAAA,GAAQC,KAAAA;EAEvD,OAAO;GACHC;GACAC;EACJ;CACJ;CAEA,MACMC,IACF,MACA,OACyB;EACzB,MAAMH,QAAQN,kBAAkBK,KAAAA;EAEhC,MAAMK,SAAS,MAAM,KAAKR,QAAQS,OAAOJ,MAAMD,KAAAA;EAE/CD,MAAMO,SAASC,SAAS;EAExB,OAAOH;CACX;CAEA,MACMI,KACF,IACA,MACA,OACyB;EACzB,MAAMR,QAAQN,kBAAkBK,KAAAA;EAChC,MAAMK,SAAS,MAAM,KAAKR,QAAQc,OAAOD,IAAIR,MAAMD,KAAAA;EAEnDD,MAAMO,SAASC,SAAS;EAExB,OAAOH;CACX;CAEA,MACMO,OACF,IACA,OACyB;EACzB,MAAMX,QAAQN,kBAAkBK,KAAAA;EAGhC,OAAOK,MAFc,KAAKR,QAAQe,OAAOF,IAAIT,KAAAA;CAGjD;CAEA,MACMY,KACF,IACA,OACyB;EACzB,MAAMZ,QAAQN,kBAAkBK,KAAAA;EAChC,MAAMK,SAAS,MAAM,KAAKR,QAAQiB,OAC9BJ,IACAT,KAAAA;EAGJD,MAAMO,SAASC,SAAS;EAExB,OAAOH;CACX;AACJ;;WAtEeX,uBAAAA,CAAAA;;;;;;;YAgBCA,uBAAAA,CAAAA;;;;;;;;gBAcIA,uBAAAA,CAAAA;;;;;;;;;;;;;eAcDA,uBAAAA,CAAAA;;;;;;;;kBAWGA,uBAAAA,CAAAA"}
|