@authup/server-core 1.0.0-beta.54 → 1.0.0-beta.55
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapters/database/data-source/options/module.mjs.map +1 -1
- package/dist/adapters/database/domains/client/entity.mjs +2 -2
- package/dist/adapters/database/domains/client/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/client/subscriber.mjs +2 -2
- package/dist/adapters/database/domains/client/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/client-permission/entity.mjs +2 -2
- package/dist/adapters/database/domains/client-permission/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/client-permission/subscriber.mjs +2 -2
- package/dist/adapters/database/domains/client-permission/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/client-role/entity.mjs +2 -2
- package/dist/adapters/database/domains/client-role/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/client-role/subscriber.mjs +2 -2
- package/dist/adapters/database/domains/client-role/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/client-scope/entity.mjs +2 -2
- package/dist/adapters/database/domains/client-scope/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/client-scope/subscriber.mjs +2 -2
- package/dist/adapters/database/domains/client-scope/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/consent/entity.mjs +2 -2
- package/dist/adapters/database/domains/consent/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/consent/subscriber.mjs +2 -2
- package/dist/adapters/database/domains/consent/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/constants.mjs.map +1 -1
- package/dist/adapters/database/domains/event/entity.mjs +2 -2
- package/dist/adapters/database/domains/event/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/identity-provider/entity.mjs +2 -2
- package/dist/adapters/database/domains/identity-provider/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/identity-provider/subscriber.mjs +2 -2
- package/dist/adapters/database/domains/identity-provider/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/identity-provider-account/entity.mjs +2 -2
- package/dist/adapters/database/domains/identity-provider-account/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/identity-provider-account/subscriber.mjs +2 -2
- package/dist/adapters/database/domains/identity-provider-account/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/identity-provider-attribute/entity.mjs +2 -2
- package/dist/adapters/database/domains/identity-provider-attribute/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/identity-provider-attribute/subscriber.mjs +2 -2
- package/dist/adapters/database/domains/identity-provider-attribute/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/identity-provider-attribute-mapping/entity.mjs +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- package/dist/adapters/database/domains/identity-provider-role-mapping/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/key/entity.mjs +2 -2
- package/dist/adapters/database/domains/key/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/permission/entity.mjs +2 -2
- package/dist/adapters/database/domains/permission/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/permission/subscriber.mjs +2 -2
- package/dist/adapters/database/domains/permission/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/permission-policy/entity.mjs +2 -2
- package/dist/adapters/database/domains/permission-policy/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/policy/entity.mjs +2 -2
- package/dist/adapters/database/domains/policy/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/policy/subscriber.mjs +2 -2
- package/dist/adapters/database/domains/policy/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/policy-attribute/entity.mjs +2 -2
- package/dist/adapters/database/domains/policy-attribute/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/policy-attribute/subscriber.mjs +2 -2
- package/dist/adapters/database/domains/policy-attribute/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/realm/entity.mjs +2 -2
- package/dist/adapters/database/domains/realm/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/realm/subscriber.mjs +2 -2
- package/dist/adapters/database/domains/realm/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/role/entity.mjs +2 -2
- package/dist/adapters/database/domains/role/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/role/subscriber.mjs +2 -2
- package/dist/adapters/database/domains/role/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/role-attribute/entity.mjs +2 -2
- package/dist/adapters/database/domains/role-attribute/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/role-attribute/subscriber.mjs +2 -2
- package/dist/adapters/database/domains/role-attribute/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/role-permission/entity.mjs +2 -2
- package/dist/adapters/database/domains/role-permission/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/role-permission/subscriber.mjs +2 -2
- package/dist/adapters/database/domains/role-permission/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/scope/entity.mjs +2 -2
- package/dist/adapters/database/domains/scope/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/scope/subscriber.mjs +2 -2
- package/dist/adapters/database/domains/scope/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/session/entity.mjs +2 -2
- package/dist/adapters/database/domains/session/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/session-token/entity.mjs +2 -2
- package/dist/adapters/database/domains/session-token/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/trust-anchor/entity.mjs +2 -2
- package/dist/adapters/database/domains/trust-anchor/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/user/entity.mjs +2 -2
- package/dist/adapters/database/domains/user/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/user/subscriber.mjs +2 -2
- package/dist/adapters/database/domains/user/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/user-attribute/entity.mjs +2 -2
- package/dist/adapters/database/domains/user-attribute/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/user-attribute/subscriber.mjs +2 -2
- package/dist/adapters/database/domains/user-attribute/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/user-authenticator/entity.mjs +2 -2
- package/dist/adapters/database/domains/user-authenticator/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/user-permission/entity.mjs +2 -2
- package/dist/adapters/database/domains/user-permission/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/user-permission/subscriber.mjs +2 -2
- package/dist/adapters/database/domains/user-permission/subscriber.mjs.map +1 -1
- package/dist/adapters/database/domains/user-role/entity.mjs +2 -2
- package/dist/adapters/database/domains/user-role/entity.mjs.map +1 -1
- package/dist/adapters/database/domains/user-role/subscriber.mjs +2 -2
- package/dist/adapters/database/domains/user-role/subscriber.mjs.map +1 -1
- package/dist/adapters/database/errors/driver.mjs.map +1 -1
- package/dist/adapters/database/extra-attribute-repository/adapter.mjs.map +1 -1
- package/dist/adapters/database/extra-attribute-repository/tree/adapter.mjs.map +1 -1
- package/dist/adapters/database/extra-attribute-repository/tree/repository.mjs.map +1 -1
- package/dist/adapters/database/migrations/mysql/1779267068441-Default.mjs.map +1 -1
- package/dist/adapters/database/migrations/mysql/1779300000000-Default.mjs.map +1 -1
- package/dist/adapters/database/migrations/mysql/1784289540000-CamelCaseAttributes.mjs.map +1 -1
- package/dist/adapters/database/migrations/postgres/1779267068441-Default.mjs.map +1 -1
- package/dist/adapters/database/migrations/postgres/1779300000000-Default.mjs.map +1 -1
- package/dist/adapters/database/migrations/postgres/1784289540000-CamelCaseAttributes.mjs.map +1 -1
- package/dist/adapters/database/subscriber/module.mjs.map +1 -1
- package/dist/adapters/http/adapters/oauth2/authorization/module.mjs.map +1 -1
- package/dist/adapters/http/adapters/oauth2/grant-types/utils/realm.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/client/module.mjs +2 -2
- package/dist/adapters/http/controllers/entities/client/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/client-permission/module.mjs +2 -2
- package/dist/adapters/http/controllers/entities/client-permission/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/client-role/module.mjs +2 -2
- package/dist/adapters/http/controllers/entities/client-role/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/client-scope/module.mjs +2 -2
- package/dist/adapters/http/controllers/entities/client-scope/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/consent/module.mjs +2 -2
- package/dist/adapters/http/controllers/entities/consent/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/event/module.mjs +2 -2
- package/dist/adapters/http/controllers/entities/event/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/identity-provide-role/module.mjs +2 -2
- package/dist/adapters/http/controllers/entities/identity-provide-role/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/identity-provider/module.mjs +2 -2
- package/dist/adapters/http/controllers/entities/identity-provider/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/key/module.mjs +2 -2
- package/dist/adapters/http/controllers/entities/key/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/permission/module.mjs +2 -2
- package/dist/adapters/http/controllers/entities/permission/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/permission-policy/module.mjs +2 -2
- package/dist/adapters/http/controllers/entities/permission-policy/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/policy/module.mjs +2 -2
- package/dist/adapters/http/controllers/entities/policy/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/realm/module.mjs +2 -2
- package/dist/adapters/http/controllers/entities/realm/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/role/module.mjs +2 -2
- package/dist/adapters/http/controllers/entities/role/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/role-attribute/module.mjs +2 -2
- package/dist/adapters/http/controllers/entities/role-attribute/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/role-permission/module.mjs +2 -2
- package/dist/adapters/http/controllers/entities/role-permission/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/scope/module.mjs +2 -2
- package/dist/adapters/http/controllers/entities/scope/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/session/module.mjs +2 -2
- package/dist/adapters/http/controllers/entities/session/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/trust-anchor/module.mjs +2 -2
- package/dist/adapters/http/controllers/entities/trust-anchor/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/user/module.mjs +2 -2
- package/dist/adapters/http/controllers/entities/user/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/user-attribute/module.mjs +2 -2
- package/dist/adapters/http/controllers/entities/user-attribute/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/user-authenticator/module.mjs +2 -2
- package/dist/adapters/http/controllers/entities/user-authenticator/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/user-permission/module.mjs +2 -2
- package/dist/adapters/http/controllers/entities/user-permission/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/entities/user-role/module.mjs +2 -2
- package/dist/adapters/http/controllers/entities/user-role/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/workflows/activate/module.mjs +2 -2
- package/dist/adapters/http/controllers/workflows/authenticator-challenge/module.mjs +2 -2
- package/dist/adapters/http/controllers/workflows/authorize/module.mjs +2 -2
- package/dist/adapters/http/controllers/workflows/authorize/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/workflows/jwks/handlers/read.mjs.map +1 -1
- package/dist/adapters/http/controllers/workflows/jwks/module.mjs +2 -2
- package/dist/adapters/http/controllers/workflows/jwks/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/workflows/logout/module.mjs +2 -2
- package/dist/adapters/http/controllers/workflows/logout/module.mjs.map +1 -1
- package/dist/adapters/http/controllers/workflows/openid/module.mjs +2 -2
- package/dist/adapters/http/controllers/workflows/password-forgot/module.mjs +2 -2
- package/dist/adapters/http/controllers/workflows/password-reset/module.mjs +2 -2
- package/dist/adapters/http/controllers/workflows/register/module.mjs +2 -2
- package/dist/adapters/http/controllers/workflows/status/module.mjs +2 -2
- package/dist/adapters/http/controllers/workflows/token/module.mjs +2 -2
- package/dist/adapters/http/controllers/workflows/token/utils/extract.mjs.map +1 -1
- package/dist/adapters/http/middleware/built-in/authorization/module.mjs.map +1 -1
- package/dist/adapters/http/middleware/built-in/cors.mjs.map +1 -1
- package/dist/adapters/http/middleware/built-in/logger.mjs.map +1 -1
- package/dist/adapters/http/request/constants.mjs.map +1 -1
- package/dist/adapters/http/request/helpers/param-id.mjs.map +1 -1
- package/dist/adapters/http/request/helpers/redirect.mjs.map +1 -1
- package/dist/app/factory.mjs.map +1 -1
- package/dist/app/modules/authentication/module.mjs.map +1 -1
- package/dist/app/modules/authentication/repositories/constants.mjs.map +1 -1
- package/dist/app/modules/authentication/repositories/session.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/origins.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/validator.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.mjs.map +1 -1
- package/dist/app/modules/database/repositories/event/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/helpers.mjs.map +1 -1
- package/dist/app/modules/database/repositories/permission-provider/module.mjs.map +1 -1
- package/dist/app/modules/database/repositories/user/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/user-attribute/repository.mjs.map +1 -1
- package/dist/app/modules/database/repositories/user-authenticator/repository.mjs.map +1 -1
- package/dist/app/modules/http/module.mjs.map +1 -1
- package/dist/app/modules/http/modules/controller.mjs.map +1 -1
- package/dist/app/modules/identity/module.mjs.map +1 -1
- package/dist/app/modules/logger/module.mjs.map +1 -1
- package/dist/app/modules/mail/module.mjs.map +1 -1
- package/dist/app/modules/metrics/prom.mjs.map +1 -1
- package/dist/app/modules/oauth2/module.mjs.map +1 -1
- package/dist/app/modules/oauth2/repositories/consent/repository.mjs.map +1 -1
- package/dist/app/modules/oauth2/repositories/constants.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/migration.mjs.map +1 -1
- package/dist/components/database/unique-entries/module.mjs.map +1 -1
- package/dist/core/authentication/entities/client/module.mjs.map +1 -1
- package/dist/core/authentication/session/module.mjs.map +1 -1
- package/dist/core/authentication/session/types.mjs.map +1 -1
- package/dist/core/client-certificate/module.mjs.map +1 -1
- package/dist/core/entities/client/schema.mjs.map +1 -1
- package/dist/core/entities/client/service.mjs.map +1 -1
- package/dist/core/entities/client-permission/schema.mjs.map +1 -1
- package/dist/core/entities/client-permission/service.mjs.map +1 -1
- package/dist/core/entities/client-role/schema.mjs.map +1 -1
- package/dist/core/entities/client-role/service.mjs.map +1 -1
- package/dist/core/entities/client-scope/schema.mjs.map +1 -1
- package/dist/core/entities/client-scope/service.mjs.map +1 -1
- package/dist/core/entities/consent/schema.mjs.map +1 -1
- package/dist/core/entities/consent/types.mjs.map +1 -1
- package/dist/core/entities/event/diff.mjs.map +1 -1
- package/dist/core/entities/event/sanitize.mjs.map +1 -1
- package/dist/core/entities/event/schema.mjs.map +1 -1
- package/dist/core/entities/event/service.mjs.map +1 -1
- package/dist/core/entities/identity-provider/schema.mjs.map +1 -1
- package/dist/core/entities/identity-provider-role-mapping/schema.mjs.map +1 -1
- package/dist/core/entities/identity-provider-role-mapping/service.mjs.map +1 -1
- package/dist/core/entities/key/schema.mjs.map +1 -1
- package/dist/core/entities/key/service.mjs.map +1 -1
- package/dist/core/entities/permission/schema.d.ts.map +1 -1
- package/dist/core/entities/permission/schema.mjs +12 -0
- package/dist/core/entities/permission/schema.mjs.map +1 -1
- package/dist/core/entities/permission/service.mjs.map +1 -1
- package/dist/core/entities/permission-policy/schema.mjs.map +1 -1
- package/dist/core/entities/permission-policy/service.mjs.map +1 -1
- package/dist/core/entities/policy/schema.mjs.map +1 -1
- package/dist/core/entities/policy/service.mjs.map +1 -1
- package/dist/core/entities/realm/schema.mjs.map +1 -1
- package/dist/core/entities/role/schema.mjs.map +1 -1
- package/dist/core/entities/role/service.mjs.map +1 -1
- package/dist/core/entities/role-attribute/schema.mjs.map +1 -1
- package/dist/core/entities/role-attribute/service.mjs.map +1 -1
- package/dist/core/entities/role-permission/schema.mjs.map +1 -1
- package/dist/core/entities/role-permission/service.mjs.map +1 -1
- package/dist/core/entities/scope/schema.mjs.map +1 -1
- package/dist/core/entities/scope/service.mjs.map +1 -1
- package/dist/core/entities/session/schema.mjs.map +1 -1
- package/dist/core/entities/session/service.mjs.map +1 -1
- package/dist/core/entities/trust-anchor/schema.mjs.map +1 -1
- package/dist/core/entities/trust-anchor/service.mjs.map +1 -1
- package/dist/core/entities/user/schema.mjs.map +1 -1
- package/dist/core/entities/user/service.mjs.map +1 -1
- package/dist/core/entities/user-attribute/schema.mjs.map +1 -1
- package/dist/core/entities/user-attribute/service.mjs.map +1 -1
- package/dist/core/entities/user-authenticator/schema.mjs.map +1 -1
- package/dist/core/entities/user-authenticator/service.mjs.map +1 -1
- package/dist/core/entities/user-authenticator/types.mjs.map +1 -1
- package/dist/core/entities/user-permission/schema.mjs.map +1 -1
- package/dist/core/entities/user-permission/service.mjs.map +1 -1
- package/dist/core/entities/user-role/schema.mjs.map +1 -1
- package/dist/core/entities/user-role/service.mjs.map +1 -1
- package/dist/core/identity/permission/junction-grant.mjs.map +1 -1
- package/dist/core/identity/permission/module.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/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/constants.mjs.map +1 -1
- package/dist/core/identity/provider/mapper/base.mjs.map +1 -1
- package/dist/core/identity/provider/mapper/constants.mjs.map +1 -1
- package/dist/core/identity/registration/service.mjs.map +1 -1
- package/dist/core/key/provisioner.mjs.map +1 -1
- package/dist/core/key/realm-cipher.mjs.map +1 -1
- package/dist/core/mail/template/templates/mfa-email-otp.mjs.map +1 -1
- package/dist/core/mail/template/templates/password-reset.mjs.map +1 -1
- package/dist/core/mail/template/templates/registration-activation.mjs.map +1 -1
- package/dist/core/mail/template/types.mjs.map +1 -1
- package/dist/core/oauth2/authorization/code/verifier/module.mjs.map +1 -1
- package/dist/core/oauth2/authorization/code-request/verifier/module.mjs.map +1 -1
- package/dist/core/oauth2/authorization/module.mjs.map +1 -1
- package/dist/core/oauth2/end-session/service.mjs.map +1 -1
- package/dist/core/oauth2/grant-types/refresh-token.mjs.map +1 -1
- package/dist/core/oauth2/mfa-login/module.mjs.map +1 -1
- package/dist/core/oauth2/openid/claims.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/mfa/module.mjs.map +1 -1
- package/dist/core/oauth2/token/issuer/open-id/module.mjs.map +1 -1
- package/dist/core/oauth2/token/issuer/refresh/module.mjs.map +1 -1
- package/dist/core/oauth2/token/verifier/module.mjs.map +1 -1
- package/dist/core/provisioning/entities/policy/validator.mjs.map +1 -1
- package/dist/core/provisioning/entities/utils.mjs.map +1 -1
- package/dist/core/provisioning/strategy/constants.mjs.map +1 -1
- package/dist/core/provisioning/strategy/validator.mjs.map +1 -1
- package/dist/core/provisioning/synchronizer/client/module.mjs.map +1 -1
- package/dist/core/provisioning/synchronizer/role/module.mjs.map +1 -1
- package/dist/core/provisioning/synchronizer/user/module.mjs.map +1 -1
- package/dist/core/query/module.mjs.map +1 -1
- package/dist/core/query/relations.mjs.map +1 -1
- package/dist/core/security/policy/evaluator.mjs.map +1 -1
- package/dist/ui/client/.vite/ssr-manifest.json +218 -218
- package/dist/ui/client/assets/index-CiHrf73J.css +2 -0
- package/dist/ui/client/assets/{index-BmJ2X468.js → index-mtJngmng.js} +1 -1
- package/dist/ui/client/index.html +2 -2
- package/dist/ui/server/server.js +534 -79
- package/package.json +26 -26
- package/dist/ui/client/assets/index-DiOvW76Q.css +0 -2
|
@@ -23,8 +23,8 @@ function _ts_decorate(decorators, target, key, desc) {
|
|
|
23
23
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
24
24
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
25
25
|
}
|
|
26
|
-
function _ts_metadata(
|
|
27
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(
|
|
26
|
+
function _ts_metadata(metadataKey, metadataValue) {
|
|
27
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
|
|
28
28
|
}
|
|
29
29
|
function _ts_param(paramIndex, decorator) {
|
|
30
30
|
return function(target, key) {
|
|
@@ -1 +1 @@
|
|
|
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 { IAppEvent } 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: IAppEvent,\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: IAppEvent,\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: IAppEvent,\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: IAppEvent,\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: IAppEvent,\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: IAppEvent,\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,CAAAA,CAAmBE,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;;;;;;;;;;;;;;;;;
|
|
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 { IAppEvent } 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: IAppEvent,\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: IAppEvent,\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: IAppEvent,\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: IAppEvent,\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: IAppEvent,\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: IAppEvent,\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,CAAAA,CAAmBE,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;;;;;;;;;;;;;;;;;CA9DgBxB,MAAAA,IAAAA,CAAAA,uBAAAA,CAAAA;;;;;;;;CAcIA,MAAAA,QAAAA,CAAAA,uBAAAA,CAAAA;;;;;;;;;;;;;CAeDA,KAAAA,QAAAA,CAAAA,uBAAAA,CAAAA;;;;;;;;;;;;;CAqBGA,QAAAA,QAAAA,CAAAA,uBAAAA,CAAAA;;;;;;;;;CAjIR,YAAA,CAAA,YAAY,0BAAA,CAAA"}
|
|
@@ -14,8 +14,8 @@ function _ts_decorate(decorators, target, key, desc) {
|
|
|
14
14
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
15
15
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
16
16
|
}
|
|
17
|
-
function _ts_metadata(
|
|
18
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(
|
|
17
|
+
function _ts_metadata(metadataKey, metadataValue) {
|
|
18
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
|
|
19
19
|
}
|
|
20
20
|
function _ts_param(paramIndex, decorator) {
|
|
21
21
|
return function(target, key) {
|
|
@@ -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 { IAppEvent } 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: IAppEvent,\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: IAppEvent,\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: IAppEvent,\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: IAppEvent,\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: IAppEvent,\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;;
|
|
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 { IAppEvent } 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: IAppEvent,\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: IAppEvent,\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: IAppEvent,\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: IAppEvent,\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: IAppEvent,\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;;CAtEeX,KAAAA,IAAAA,CAAAA,uBAAAA,CAAAA;;;;;;;CAgBCA,MAAAA,IAAAA,CAAAA,uBAAAA,CAAAA;;;;;;;;CAcIA,MAAAA,QAAAA,CAAAA,uBAAAA,CAAAA;;;;;;;;;;;;;CAcDA,KAAAA,QAAAA,CAAAA,uBAAAA,CAAAA;;;;;;;;CAWGA,QAAAA,QAAAA,CAAAA,uBAAAA,CAAAA"}
|
|
@@ -14,8 +14,8 @@ function _ts_decorate(decorators, target, key, desc) {
|
|
|
14
14
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
15
15
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
16
16
|
}
|
|
17
|
-
function _ts_metadata(
|
|
18
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(
|
|
17
|
+
function _ts_metadata(metadataKey, metadataValue) {
|
|
18
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
|
|
19
19
|
}
|
|
20
20
|
function _ts_param(paramIndex, decorator) {
|
|
21
21
|
return function(target, key) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.mjs","names":["DBody","DContext","DController","DDelete","DGet","DPath","DPost","DTags","useRequestQuery","ForceLoggedInMiddleware","buildActorContext","ClientRoleController","service","ctx","getMany","event","actor","data","meta","add","entity","create","response","status","getOne","id","drop","delete"],"sources":["../../../../../../src/adapters/http/controllers/entities/client-role/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 { IAppEvent } from 'routup';\nimport { useRequestQuery } from '@routup/basic/query';\nimport type {\n ClientRoleCreatePayload,\n EntityCollectionResponse,\n} from '@authup/core-http-kit';\nimport type { ClientRole } from '@authup/core-kit';\nimport type { IClientRoleService } from '../../../../../core/index.ts';\nimport { ForceLoggedInMiddleware } from '../../../middleware/index.ts';\nimport {\n buildActorContext,\n} from '../../../request/index.ts';\n\nexport type ClientRoleControllerContext = {\n service: IClientRoleService,\n};\n\n@DTags('client')\n@DController('/client-roles')\nexport class ClientRoleController {\n protected service: IClientRoleService;\n\n constructor(ctx: ClientRoleControllerContext) {\n this.service = ctx.service;\n }\n\n @DGet('', [ForceLoggedInMiddleware])\n async getMany(\n @DContext() event: IAppEvent,\n ): Promise<EntityCollectionResponse<ClientRole>> {\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: ClientRoleCreatePayload,\n @DContext() event: IAppEvent,\n ): Promise<ClientRole> {\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 @DGet('/:id', [ForceLoggedInMiddleware])\n async getOne(\n @DPath('id') id: string,\n @DContext() event: IAppEvent,\n ): Promise<ClientRole> {\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: IAppEvent,\n ): Promise<ClientRole> {\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":";;;;;;;;;;;;;;;;;;;;;;;;AAoCA,IAAaW,uBAAb,MAAaA;CACCC;CAEV,YAAYC,KAAkC;EAC1C,KAAKD,UAAUC,IAAID;CACvB;CAEA,MACME,QACF,OAC6C;EAC7C,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,OACmB;EACnB,MAAMH,QAAQN,kBAAkBK,KAAAA;EAChC,MAAMK,SAAS,MAAM,KAAKR,QAAQS,OAAOJ,MAAMD,KAAAA;EAE/CD,MAAMO,SAASC,SAAS;EAExB,OAAOH;CACX;CAEA,MACMI,OACF,IACA,OACmB;EACnB,MAAMR,QAAQN,kBAAkBK,KAAAA;EAGhC,OAAOK,MAFc,KAAKR,QAAQY,OAAOC,IAAIT,KAAAA;CAGjD;CAEA,MACMU,KACF,IACA,OACmB;EACnB,MAAMV,QAAQN,kBAAkBK,KAAAA;EAChC,MAAMK,SAAS,MAAM,KAAKR,QAAQe,OAAOF,IAAIT,KAAAA;EAE7CD,MAAMO,SAASC,SAAS;EAExB,OAAOH;CACX;AACJ;;
|
|
1
|
+
{"version":3,"file":"module.mjs","names":["DBody","DContext","DController","DDelete","DGet","DPath","DPost","DTags","useRequestQuery","ForceLoggedInMiddleware","buildActorContext","ClientRoleController","service","ctx","getMany","event","actor","data","meta","add","entity","create","response","status","getOne","id","drop","delete"],"sources":["../../../../../../src/adapters/http/controllers/entities/client-role/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 { IAppEvent } from 'routup';\nimport { useRequestQuery } from '@routup/basic/query';\nimport type {\n ClientRoleCreatePayload,\n EntityCollectionResponse,\n} from '@authup/core-http-kit';\nimport type { ClientRole } from '@authup/core-kit';\nimport type { IClientRoleService } from '../../../../../core/index.ts';\nimport { ForceLoggedInMiddleware } from '../../../middleware/index.ts';\nimport {\n buildActorContext,\n} from '../../../request/index.ts';\n\nexport type ClientRoleControllerContext = {\n service: IClientRoleService,\n};\n\n@DTags('client')\n@DController('/client-roles')\nexport class ClientRoleController {\n protected service: IClientRoleService;\n\n constructor(ctx: ClientRoleControllerContext) {\n this.service = ctx.service;\n }\n\n @DGet('', [ForceLoggedInMiddleware])\n async getMany(\n @DContext() event: IAppEvent,\n ): Promise<EntityCollectionResponse<ClientRole>> {\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: ClientRoleCreatePayload,\n @DContext() event: IAppEvent,\n ): Promise<ClientRole> {\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 @DGet('/:id', [ForceLoggedInMiddleware])\n async getOne(\n @DPath('id') id: string,\n @DContext() event: IAppEvent,\n ): Promise<ClientRole> {\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: IAppEvent,\n ): Promise<ClientRole> {\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":";;;;;;;;;;;;;;;;;;;;;;;;AAoCA,IAAaW,uBAAb,MAAaA;CACCC;CAEV,YAAYC,KAAkC;EAC1C,KAAKD,UAAUC,IAAID;CACvB;CAEA,MACME,QACF,OAC6C;EAC7C,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,OACmB;EACnB,MAAMH,QAAQN,kBAAkBK,KAAAA;EAChC,MAAMK,SAAS,MAAM,KAAKR,QAAQS,OAAOJ,MAAMD,KAAAA;EAE/CD,MAAMO,SAASC,SAAS;EAExB,OAAOH;CACX;CAEA,MACMI,OACF,IACA,OACmB;EACnB,MAAMR,QAAQN,kBAAkBK,KAAAA;EAGhC,OAAOK,MAFc,KAAKR,QAAQY,OAAOC,IAAIT,KAAAA;CAGjD;CAEA,MACMU,KACF,IACA,OACmB;EACnB,MAAMV,QAAQN,kBAAkBK,KAAAA;EAChC,MAAMK,SAAS,MAAM,KAAKR,QAAQe,OAAOF,IAAIT,KAAAA;EAE7CD,MAAMO,SAASC,SAAS;EAExB,OAAOH;CACX;AACJ;;CApDeX,KAAAA,IAAAA,CAAAA,uBAAAA,CAAAA;;;;;;;CAgBCA,MAAAA,IAAAA,CAAAA,uBAAAA,CAAAA;;;;;;;;CAaGA,KAAAA,QAAAA,CAAAA,uBAAAA,CAAAA;;;;;;;;CAWGA,QAAAA,QAAAA,CAAAA,uBAAAA,CAAAA"}
|
|
@@ -14,8 +14,8 @@ function _ts_decorate(decorators, target, key, desc) {
|
|
|
14
14
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
15
15
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
16
16
|
}
|
|
17
|
-
function _ts_metadata(
|
|
18
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(
|
|
17
|
+
function _ts_metadata(metadataKey, metadataValue) {
|
|
18
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
|
|
19
19
|
}
|
|
20
20
|
function _ts_param(paramIndex, decorator) {
|
|
21
21
|
return function(target, key) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.mjs","names":["DBody","DContext","DController","DDelete","DGet","DPath","DPost","DTags","useRequestQuery","ForceLoggedInMiddleware","buildActorContext","ClientScopeController","service","ctx","getMany","event","actor","data","meta","add","entity","create","response","status","getOne","id","drop","delete"],"sources":["../../../../../../src/adapters/http/controllers/entities/client-scope/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 { IAppEvent } from 'routup';\nimport { useRequestQuery } from '@routup/basic/query';\nimport type {\n ClientScopeCreatePayload,\n EntityCollectionResponse,\n} from '@authup/core-http-kit';\nimport type { ClientScope } from '@authup/core-kit';\nimport type { IClientScopeService } from '../../../../../core/index.ts';\nimport { ForceLoggedInMiddleware } from '../../../middleware/index.ts';\nimport { buildActorContext } from '../../../request/index.ts';\n\nexport type ClientScopeControllerContext = {\n service: IClientScopeService,\n};\n\n@DTags('client', 'scope')\n@DController('/client-scopes')\nexport class ClientScopeController {\n protected service: IClientScopeService;\n\n constructor(ctx: ClientScopeControllerContext) {\n this.service = ctx.service;\n }\n\n @DGet('', [])\n async getMany(\n @DContext() event: IAppEvent,\n ): Promise<EntityCollectionResponse<ClientScope>> {\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: ClientScopeCreatePayload,\n @DContext() event: IAppEvent,\n ): Promise<ClientScope> {\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 @DGet('/:id', [])\n async getOne(\n @DPath('id') id: string,\n @DContext() event: IAppEvent,\n ): Promise<ClientScope> {\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: IAppEvent,\n ): Promise<ClientScope> {\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":";;;;;;;;;;;;;;;;;;;;;;;;AAkCA,IAAaW,wBAAb,MAAaA;CACCC;CAEV,YAAYC,KAAmC;EAC3C,KAAKD,UAAUC,IAAID;CACvB;CAEA,MACME,QACF,OAC8C;EAC9C,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,OACoB;EACpB,MAAMH,QAAQN,kBAAkBK,KAAAA;EAEhC,MAAMK,SAAS,MAAM,KAAKR,QAAQS,OAAOJ,MAAMD,KAAAA;EAE/CD,MAAMO,SAASC,SAAS;EAExB,OAAOH;CACX;CAEA,MACMI,OACF,IACA,OACoB;EACpB,MAAMR,QAAQN,kBAAkBK,KAAAA;EAGhC,OAAOK,MAFc,KAAKR,QAAQY,OAAOC,IAAIT,KAAAA;CAGjD;CAEA,MACMU,KACF,IACA,OACoB;EACpB,MAAMV,QAAQN,kBAAkBK,KAAAA;EAChC,MAAMK,SAAS,MAAM,KAAKR,QAAQe,OAAOF,IAAIT,KAAAA;EAE7CD,MAAMO,SAASC,SAAS;EAExB,OAAOH;CACX;AACJ;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"module.mjs","names":["DBody","DContext","DController","DDelete","DGet","DPath","DPost","DTags","useRequestQuery","ForceLoggedInMiddleware","buildActorContext","ClientScopeController","service","ctx","getMany","event","actor","data","meta","add","entity","create","response","status","getOne","id","drop","delete"],"sources":["../../../../../../src/adapters/http/controllers/entities/client-scope/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 { IAppEvent } from 'routup';\nimport { useRequestQuery } from '@routup/basic/query';\nimport type {\n ClientScopeCreatePayload,\n EntityCollectionResponse,\n} from '@authup/core-http-kit';\nimport type { ClientScope } from '@authup/core-kit';\nimport type { IClientScopeService } from '../../../../../core/index.ts';\nimport { ForceLoggedInMiddleware } from '../../../middleware/index.ts';\nimport { buildActorContext } from '../../../request/index.ts';\n\nexport type ClientScopeControllerContext = {\n service: IClientScopeService,\n};\n\n@DTags('client', 'scope')\n@DController('/client-scopes')\nexport class ClientScopeController {\n protected service: IClientScopeService;\n\n constructor(ctx: ClientScopeControllerContext) {\n this.service = ctx.service;\n }\n\n @DGet('', [])\n async getMany(\n @DContext() event: IAppEvent,\n ): Promise<EntityCollectionResponse<ClientScope>> {\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: ClientScopeCreatePayload,\n @DContext() event: IAppEvent,\n ): Promise<ClientScope> {\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 @DGet('/:id', [])\n async getOne(\n @DPath('id') id: string,\n @DContext() event: IAppEvent,\n ): Promise<ClientScope> {\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: IAppEvent,\n ): Promise<ClientScope> {\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":";;;;;;;;;;;;;;;;;;;;;;;;AAkCA,IAAaW,wBAAb,MAAaA;CACCC;CAEV,YAAYC,KAAmC;EAC3C,KAAKD,UAAUC,IAAID;CACvB;CAEA,MACME,QACF,OAC8C;EAC9C,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,OACoB;EACpB,MAAMH,QAAQN,kBAAkBK,KAAAA;EAEhC,MAAMK,SAAS,MAAM,KAAKR,QAAQS,OAAOJ,MAAMD,KAAAA;EAE/CD,MAAMO,SAASC,SAAS;EAExB,OAAOH;CACX;CAEA,MACMI,OACF,IACA,OACoB;EACpB,MAAMR,QAAQN,kBAAkBK,KAAAA;EAGhC,OAAOK,MAFc,KAAKR,QAAQY,OAAOC,IAAIT,KAAAA;CAGjD;CAEA,MACMU,KACF,IACA,OACoB;EACpB,MAAMV,QAAQN,kBAAkBK,KAAAA;EAChC,MAAMK,SAAS,MAAM,KAAKR,QAAQe,OAAOF,IAAIT,KAAAA;EAE7CD,MAAMO,SAASC,SAAS;EAExB,OAAOH;CACX;AACJ;;;;;;;;;CArCgBX,MAAAA,IAAAA,CAAAA,uBAAAA,CAAAA;;;;;;;;;;;;;;;;CAyBMA,QAAAA,QAAAA,CAAAA,uBAAAA,CAAAA"}
|
|
@@ -15,8 +15,8 @@ function _ts_decorate(decorators, target, key, desc) {
|
|
|
15
15
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
16
16
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
17
17
|
}
|
|
18
|
-
function _ts_metadata(
|
|
19
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(
|
|
18
|
+
function _ts_metadata(metadataKey, metadataValue) {
|
|
19
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
|
|
20
20
|
}
|
|
21
21
|
function _ts_param(paramIndex, decorator) {
|
|
22
22
|
return function(target, key) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.mjs","names":["DContext","DController","DDelete","DGet","DPath","DTags","useRequestQuery","ForceLoggedInMiddleware","buildActorContext","getRequestRealmID","ConsentController","service","ctx","getMany","event","actor","data","meta","realmId","getOne","id","drop","entity","delete","response","status"],"sources":["../../../../../../src/adapters/http/controllers/entities/consent/module.ts"],"sourcesContent":["/*\n * Copyright (c) 2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport {\n DContext,\n DController,\n DDelete,\n DGet,\n DPath,\n DTags,\n} from '@routup/decorators';\nimport type { Consent } from '@authup/core-kit';\nimport type { IAppEvent } from 'routup';\nimport { useRequestQuery } from '@routup/basic/query';\nimport type { EntityCollectionResponse } from '@authup/core-http-kit';\nimport type { IConsentService } from '../../../../../core/index.ts';\nimport { ForceLoggedInMiddleware } from '../../../middleware/index.ts';\nimport { buildActorContext, getRequestRealmID } from '../../../request/index.ts';\n\nexport type ConsentControllerContext = {\n service: IConsentService,\n};\n\n@DTags('consent')\n@DController(['/consents', '/realms/:realmId/consents'])\nexport class ConsentController {\n protected service: IConsentService;\n\n constructor(ctx: ConsentControllerContext) {\n this.service = ctx.service;\n }\n\n @DGet('', [ForceLoggedInMiddleware])\n async getMany(\n @DContext() event: IAppEvent,\n ): Promise<EntityCollectionResponse<Consent>> {\n const actor = buildActorContext(event);\n const {\n data,\n meta,\n } = await this.service.getMany(useRequestQuery(event), actor, { realmId: getRequestRealmID(event) });\n\n return {\n data,\n meta,\n };\n }\n\n @DGet('/:id', [ForceLoggedInMiddleware])\n async getOne(\n @DPath('id') id: string,\n @DContext() event: IAppEvent,\n ): Promise<Consent> {\n const actor = buildActorContext(event);\n\n return this.service.getOne(id, actor, { realmId: getRequestRealmID(event) });\n }\n\n @DDelete('/:id', [ForceLoggedInMiddleware])\n async drop(\n @DPath('id') id: string,\n @DContext() event: IAppEvent,\n ): Promise<Consent> {\n const actor = buildActorContext(event);\n\n const entity = await this.service.delete(id, actor, { realmId: getRequestRealmID(event) });\n\n event.response.status = 202;\n return entity;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AA6BA,IAAaU,oBAAb,MAAaA;CACCC;CAEV,YAAYC,KAA+B;EACvC,KAAKD,UAAUC,IAAID;CACvB;CAEA,MACME,QACF,OAC0C;EAC1C,MAAME,QAAQP,kBAAkBM,KAAAA;EAChC,MAAM,EACFE,MACAC,SACA,MAAM,KAAKN,QAAQE,QAAQP,gBAAgBQ,KAAAA,GAAQC,OAAO,EAAEG,SAAST,kBAAkBK,KAAAA,EAAO,CAAA;EAElG,OAAO;GACHE;GACAC;EACJ;CACJ;CAEA,MACME,OACF,IACA,OACgB;EAChB,MAAMJ,QAAQP,kBAAkBM,KAAAA;EAEhC,OAAO,KAAKH,QAAQQ,OAAOC,IAAIL,OAAO,EAAEG,SAAST,kBAAkBK,KAAAA,EAAO,CAAA;CAC9E;CAEA,MACMO,KACF,IACA,OACgB;EAChB,MAAMN,QAAQP,kBAAkBM,KAAAA;EAEhC,MAAMQ,SAAS,MAAM,KAAKX,QAAQY,OAAOH,IAAIL,OAAO,EAAEG,SAAST,kBAAkBK,KAAAA,EAAO,CAAA;EAExFA,MAAMU,SAASC,SAAS;EACxB,OAAOH;CACX;AACJ;;
|
|
1
|
+
{"version":3,"file":"module.mjs","names":["DContext","DController","DDelete","DGet","DPath","DTags","useRequestQuery","ForceLoggedInMiddleware","buildActorContext","getRequestRealmID","ConsentController","service","ctx","getMany","event","actor","data","meta","realmId","getOne","id","drop","entity","delete","response","status"],"sources":["../../../../../../src/adapters/http/controllers/entities/consent/module.ts"],"sourcesContent":["/*\n * Copyright (c) 2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport {\n DContext,\n DController,\n DDelete,\n DGet,\n DPath,\n DTags,\n} from '@routup/decorators';\nimport type { Consent } from '@authup/core-kit';\nimport type { IAppEvent } from 'routup';\nimport { useRequestQuery } from '@routup/basic/query';\nimport type { EntityCollectionResponse } from '@authup/core-http-kit';\nimport type { IConsentService } from '../../../../../core/index.ts';\nimport { ForceLoggedInMiddleware } from '../../../middleware/index.ts';\nimport { buildActorContext, getRequestRealmID } from '../../../request/index.ts';\n\nexport type ConsentControllerContext = {\n service: IConsentService,\n};\n\n@DTags('consent')\n@DController(['/consents', '/realms/:realmId/consents'])\nexport class ConsentController {\n protected service: IConsentService;\n\n constructor(ctx: ConsentControllerContext) {\n this.service = ctx.service;\n }\n\n @DGet('', [ForceLoggedInMiddleware])\n async getMany(\n @DContext() event: IAppEvent,\n ): Promise<EntityCollectionResponse<Consent>> {\n const actor = buildActorContext(event);\n const {\n data,\n meta,\n } = await this.service.getMany(useRequestQuery(event), actor, { realmId: getRequestRealmID(event) });\n\n return {\n data,\n meta,\n };\n }\n\n @DGet('/:id', [ForceLoggedInMiddleware])\n async getOne(\n @DPath('id') id: string,\n @DContext() event: IAppEvent,\n ): Promise<Consent> {\n const actor = buildActorContext(event);\n\n return this.service.getOne(id, actor, { realmId: getRequestRealmID(event) });\n }\n\n @DDelete('/:id', [ForceLoggedInMiddleware])\n async drop(\n @DPath('id') id: string,\n @DContext() event: IAppEvent,\n ): Promise<Consent> {\n const actor = buildActorContext(event);\n\n const entity = await this.service.delete(id, actor, { realmId: getRequestRealmID(event) });\n\n event.response.status = 202;\n return entity;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AA6BA,IAAaU,oBAAb,MAAaA;CACCC;CAEV,YAAYC,KAA+B;EACvC,KAAKD,UAAUC,IAAID;CACvB;CAEA,MACME,QACF,OAC0C;EAC1C,MAAME,QAAQP,kBAAkBM,KAAAA;EAChC,MAAM,EACFE,MACAC,SACA,MAAM,KAAKN,QAAQE,QAAQP,gBAAgBQ,KAAAA,GAAQC,OAAO,EAAEG,SAAST,kBAAkBK,KAAAA,EAAO,CAAA;EAElG,OAAO;GACHE;GACAC;EACJ;CACJ;CAEA,MACME,OACF,IACA,OACgB;EAChB,MAAMJ,QAAQP,kBAAkBM,KAAAA;EAEhC,OAAO,KAAKH,QAAQQ,OAAOC,IAAIL,OAAO,EAAEG,SAAST,kBAAkBK,KAAAA,EAAO,CAAA;CAC9E;CAEA,MACMO,KACF,IACA,OACgB;EAChB,MAAMN,QAAQP,kBAAkBM,KAAAA;EAEhC,MAAMQ,SAAS,MAAM,KAAKX,QAAQY,OAAOH,IAAIL,OAAO,EAAEG,SAAST,kBAAkBK,KAAAA,EAAO,CAAA;EAExFA,MAAMU,SAASC,SAAS;EACxB,OAAOH;CACX;AACJ;;CAtCef,KAAAA,IAAAA,CAAAA,uBAAAA,CAAAA;;;;;;;CAgBIA,KAAAA,QAAAA,CAAAA,uBAAAA,CAAAA;;;;;;;;CAUGA,QAAAA,QAAAA,CAAAA,uBAAAA,CAAAA;;;;;;;;;CAlCR,YAAA,CAAA,aAAa,2BAAA,CAAA"}
|
|
@@ -15,8 +15,8 @@ function _ts_decorate(decorators, target, key, desc) {
|
|
|
15
15
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
16
16
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
17
17
|
}
|
|
18
|
-
function _ts_metadata(
|
|
19
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(
|
|
18
|
+
function _ts_metadata(metadataKey, metadataValue) {
|
|
19
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
|
|
20
20
|
}
|
|
21
21
|
function _ts_param(paramIndex, decorator) {
|
|
22
22
|
return function(target, key) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.mjs","names":["DContext","DController","DGet","DPath","DTags","useRequestQuery","ForceLoggedInMiddleware","buildActorContext","getRequestRealmID","EventController","service","ctx","getMany","event","actor","data","meta","realmId","getOne","id"],"sources":["../../../../../../src/adapters/http/controllers/entities/event/module.ts"],"sourcesContent":["/*\n * Copyright (c) 2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport {\n DContext,\n DController,\n DGet,\n DPath,\n DTags,\n} from '@routup/decorators';\nimport type { Event } from '@authup/core-kit';\nimport type { IAppEvent } from 'routup';\nimport { useRequestQuery } from '@routup/basic/query';\nimport type { EntityCollectionResponse } from '@authup/core-http-kit';\nimport type { IEventService } from '../../../../../core/index.ts';\nimport { ForceLoggedInMiddleware } from '../../../middleware/index.ts';\nimport { buildActorContext, getRequestRealmID } from '../../../request/index.ts';\n\nexport type EventControllerContext = {\n service: IEventService,\n};\n\n// Read-only surface — the log is append-only: writes happen internally via\n// IEventService.record(), pruning is the retention sweep's job.\n@DTags('event')\n@DController(['/events', '/realms/:realmId/events'])\nexport class EventController {\n protected service: IEventService;\n\n constructor(ctx: EventControllerContext) {\n this.service = ctx.service;\n }\n\n @DGet('', [ForceLoggedInMiddleware])\n async getMany(\n @DContext() event: IAppEvent,\n ): Promise<EntityCollectionResponse<Event>> {\n const actor = buildActorContext(event);\n const {\n data,\n meta,\n } = await this.service.getMany(\n useRequestQuery(event),\n actor,\n { realmId: getRequestRealmID(event) },\n );\n\n return {\n data,\n meta,\n };\n }\n\n @DGet('/:id', [ForceLoggedInMiddleware])\n async getOne(\n @DPath('id') id: string,\n @DContext() event: IAppEvent,\n ): Promise<Event> {\n const actor = buildActorContext(event);\n\n return this.service.getOne(id, actor, { realmId: getRequestRealmID(event) });\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AA8BA,IAAaS,kBAAb,MAAaA;CACCC;CAEV,YAAYC,KAA6B;EACrC,KAAKD,UAAUC,IAAID;CACvB;CAEA,MACME,QACF,OACwC;EACxC,MAAME,QAAQP,kBAAkBM,KAAAA;EAChC,MAAM,EACFE,MACAC,SACA,MAAM,KAAKN,QAAQE,QACnBP,gBAAgBQ,KAAAA,GAChBC,OACA,EAAEG,SAAST,kBAAkBK,KAAAA,EAAO,CAAA;EAGxC,OAAO;GACHE;GACAC;EACJ;CACJ;CAEA,MACME,OACF,IACA,OACc;EACd,MAAMJ,QAAQP,kBAAkBM,KAAAA;EAEhC,OAAO,KAAKH,QAAQQ,OAAOC,IAAIL,OAAO,EAAEG,SAAST,kBAAkBK,KAAAA,EAAO,CAAA;CAC9E;AACJ;;
|
|
1
|
+
{"version":3,"file":"module.mjs","names":["DContext","DController","DGet","DPath","DTags","useRequestQuery","ForceLoggedInMiddleware","buildActorContext","getRequestRealmID","EventController","service","ctx","getMany","event","actor","data","meta","realmId","getOne","id"],"sources":["../../../../../../src/adapters/http/controllers/entities/event/module.ts"],"sourcesContent":["/*\n * Copyright (c) 2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport {\n DContext,\n DController,\n DGet,\n DPath,\n DTags,\n} from '@routup/decorators';\nimport type { Event } from '@authup/core-kit';\nimport type { IAppEvent } from 'routup';\nimport { useRequestQuery } from '@routup/basic/query';\nimport type { EntityCollectionResponse } from '@authup/core-http-kit';\nimport type { IEventService } from '../../../../../core/index.ts';\nimport { ForceLoggedInMiddleware } from '../../../middleware/index.ts';\nimport { buildActorContext, getRequestRealmID } from '../../../request/index.ts';\n\nexport type EventControllerContext = {\n service: IEventService,\n};\n\n// Read-only surface — the log is append-only: writes happen internally via\n// IEventService.record(), pruning is the retention sweep's job.\n@DTags('event')\n@DController(['/events', '/realms/:realmId/events'])\nexport class EventController {\n protected service: IEventService;\n\n constructor(ctx: EventControllerContext) {\n this.service = ctx.service;\n }\n\n @DGet('', [ForceLoggedInMiddleware])\n async getMany(\n @DContext() event: IAppEvent,\n ): Promise<EntityCollectionResponse<Event>> {\n const actor = buildActorContext(event);\n const {\n data,\n meta,\n } = await this.service.getMany(\n useRequestQuery(event),\n actor,\n { realmId: getRequestRealmID(event) },\n );\n\n return {\n data,\n meta,\n };\n }\n\n @DGet('/:id', [ForceLoggedInMiddleware])\n async getOne(\n @DPath('id') id: string,\n @DContext() event: IAppEvent,\n ): Promise<Event> {\n const actor = buildActorContext(event);\n\n return this.service.getOne(id, actor, { realmId: getRequestRealmID(event) });\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AA8BA,IAAaS,kBAAb,MAAaA;CACCC;CAEV,YAAYC,KAA6B;EACrC,KAAKD,UAAUC,IAAID;CACvB;CAEA,MACME,QACF,OACwC;EACxC,MAAME,QAAQP,kBAAkBM,KAAAA;EAChC,MAAM,EACFE,MACAC,SACA,MAAM,KAAKN,QAAQE,QACnBP,gBAAgBQ,KAAAA,GAChBC,OACA,EAAEG,SAAST,kBAAkBK,KAAAA,EAAO,CAAA;EAGxC,OAAO;GACHE;GACAC;EACJ;CACJ;CAEA,MACME,OACF,IACA,OACc;EACd,MAAMJ,QAAQP,kBAAkBM,KAAAA;EAEhC,OAAO,KAAKH,QAAQQ,OAAOC,IAAIL,OAAO,EAAEG,SAAST,kBAAkBK,KAAAA,EAAO,CAAA;CAC9E;AACJ;;CA7BeP,KAAAA,IAAAA,CAAAA,uBAAAA,CAAAA;;;;;;;CAoBIA,KAAAA,QAAAA,CAAAA,uBAAAA,CAAAA;;;;;;;;;CA5BL,YAAA,CAAA,WAAW,yBAAA,CAAA"}
|
|
@@ -14,8 +14,8 @@ function _ts_decorate(decorators, target, key, desc) {
|
|
|
14
14
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
15
15
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
16
16
|
}
|
|
17
|
-
function _ts_metadata(
|
|
18
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(
|
|
17
|
+
function _ts_metadata(metadataKey, metadataValue) {
|
|
18
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
|
|
19
19
|
}
|
|
20
20
|
function _ts_param(paramIndex, decorator) {
|
|
21
21
|
return function(target, key) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.mjs","names":["DBody","DContext","DController","DDelete","DGet","DPath","DPost","DTags","useRequestQuery","ForceLoggedInMiddleware","buildActorContext","IdentityProviderRoleMappingController","service","ctx","getMany","event","actor","data","meta","getOne","id","entity","add","create","response","status","edit","update","drop","delete"],"sources":["../../../../../../src/adapters/http/controllers/entities/identity-provide-role/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 { IAppEvent } from 'routup';\nimport { useRequestQuery } from '@routup/basic/query';\nimport type {\n EntityCollectionResponse,\n IdentityProviderRoleMappingCreatePayload,\n IdentityProviderRoleMappingUpdatePayload,\n} from '@authup/core-http-kit';\nimport type { IdentityProviderRoleMapping } from '@authup/core-kit';\nimport type {\n IIdentityProviderRoleMappingService,\n} from '../../../../../core/index.ts';\nimport { ForceLoggedInMiddleware } from '../../../middleware/index.ts';\nimport {\n buildActorContext,\n} from '../../../request/index.ts';\n\nexport type IdentityProviderRoleMappingControllerContext = {\n service: IIdentityProviderRoleMappingService,\n};\n\n@DTags('identity-provider')\n@DController('/identity-provider-role-mappings')\nexport class IdentityProviderRoleMappingController {\n protected service: IIdentityProviderRoleMappingService;\n\n constructor(ctx: IdentityProviderRoleMappingControllerContext) {\n this.service = ctx.service;\n }\n\n @DGet('', [ForceLoggedInMiddleware])\n async getMany(\n @DContext() event: IAppEvent,\n ): Promise<EntityCollectionResponse<IdentityProviderRoleMapping>> {\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', [ForceLoggedInMiddleware])\n async getOne(\n @DPath('id') id: string,\n @DContext() event: IAppEvent,\n ): Promise<IdentityProviderRoleMapping> {\n const actor = buildActorContext(event);\n const entity = await this.service.getOne(id, actor);\n\n return entity;\n }\n\n @DPost('', [ForceLoggedInMiddleware])\n async add(\n @DBody() data: IdentityProviderRoleMappingCreatePayload,\n @DContext() event: IAppEvent,\n ): Promise<IdentityProviderRoleMapping> {\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: IdentityProviderRoleMappingUpdatePayload,\n @DContext() event: IAppEvent,\n ): Promise<IdentityProviderRoleMapping> {\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 @DDelete('/:id', [ForceLoggedInMiddleware])\n async drop(\n @DPath('id') id: string,\n @DContext() event: IAppEvent,\n ): Promise<IdentityProviderRoleMapping> {\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":";;;;;;;;;;;;;;;;;;;;;;;;AAuCA,IAAaW,wCAAb,MAAaA;CACCC;CAEV,YAAYC,KAAmD;EAC3D,KAAKD,UAAUC,IAAID;CACvB;CAEA,MACME,QACF,OAC8D;EAC9D,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,OACF,IACA,OACoC;EACpC,MAAMH,QAAQN,kBAAkBK,KAAAA;EAGhC,OAAOM,MAFc,KAAKT,QAAQO,OAAOC,IAAIJ,KAAAA;CAGjD;CAEA,MACMM,IACF,MACA,OACoC;EACpC,MAAMN,QAAQN,kBAAkBK,KAAAA;EAChC,MAAMM,SAAS,MAAM,KAAKT,QAAQW,OAAON,MAAMD,KAAAA;EAE/CD,MAAMS,SAASC,SAAS;EAExB,OAAOJ;CACX;CAEA,MACMK,KACF,IACA,MACA,OACoC;EACpC,MAAMV,QAAQN,kBAAkBK,KAAAA;EAChC,MAAMM,SAAS,MAAM,KAAKT,QAAQe,OAAOP,IAAIH,MAAMD,KAAAA;EAEnDD,MAAMS,SAASC,SAAS;EAExB,OAAOJ;CACX;CAEA,MACMO,KACF,IACA,OACoC;EACpC,MAAMZ,QAAQN,kBAAkBK,KAAAA;EAChC,MAAMM,SAAS,MAAM,KAAKT,QAAQiB,OAAOT,IAAIJ,KAAAA;EAE7CD,MAAMS,SAASC,SAAS;EAExB,OAAOJ;CACX;AACJ;;
|
|
1
|
+
{"version":3,"file":"module.mjs","names":["DBody","DContext","DController","DDelete","DGet","DPath","DPost","DTags","useRequestQuery","ForceLoggedInMiddleware","buildActorContext","IdentityProviderRoleMappingController","service","ctx","getMany","event","actor","data","meta","getOne","id","entity","add","create","response","status","edit","update","drop","delete"],"sources":["../../../../../../src/adapters/http/controllers/entities/identity-provide-role/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 { IAppEvent } from 'routup';\nimport { useRequestQuery } from '@routup/basic/query';\nimport type {\n EntityCollectionResponse,\n IdentityProviderRoleMappingCreatePayload,\n IdentityProviderRoleMappingUpdatePayload,\n} from '@authup/core-http-kit';\nimport type { IdentityProviderRoleMapping } from '@authup/core-kit';\nimport type {\n IIdentityProviderRoleMappingService,\n} from '../../../../../core/index.ts';\nimport { ForceLoggedInMiddleware } from '../../../middleware/index.ts';\nimport {\n buildActorContext,\n} from '../../../request/index.ts';\n\nexport type IdentityProviderRoleMappingControllerContext = {\n service: IIdentityProviderRoleMappingService,\n};\n\n@DTags('identity-provider')\n@DController('/identity-provider-role-mappings')\nexport class IdentityProviderRoleMappingController {\n protected service: IIdentityProviderRoleMappingService;\n\n constructor(ctx: IdentityProviderRoleMappingControllerContext) {\n this.service = ctx.service;\n }\n\n @DGet('', [ForceLoggedInMiddleware])\n async getMany(\n @DContext() event: IAppEvent,\n ): Promise<EntityCollectionResponse<IdentityProviderRoleMapping>> {\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', [ForceLoggedInMiddleware])\n async getOne(\n @DPath('id') id: string,\n @DContext() event: IAppEvent,\n ): Promise<IdentityProviderRoleMapping> {\n const actor = buildActorContext(event);\n const entity = await this.service.getOne(id, actor);\n\n return entity;\n }\n\n @DPost('', [ForceLoggedInMiddleware])\n async add(\n @DBody() data: IdentityProviderRoleMappingCreatePayload,\n @DContext() event: IAppEvent,\n ): Promise<IdentityProviderRoleMapping> {\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: IdentityProviderRoleMappingUpdatePayload,\n @DContext() event: IAppEvent,\n ): Promise<IdentityProviderRoleMapping> {\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 @DDelete('/:id', [ForceLoggedInMiddleware])\n async drop(\n @DPath('id') id: string,\n @DContext() event: IAppEvent,\n ): Promise<IdentityProviderRoleMapping> {\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":";;;;;;;;;;;;;;;;;;;;;;;;AAuCA,IAAaW,wCAAb,MAAaA;CACCC;CAEV,YAAYC,KAAmD;EAC3D,KAAKD,UAAUC,IAAID;CACvB;CAEA,MACME,QACF,OAC8D;EAC9D,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,OACF,IACA,OACoC;EACpC,MAAMH,QAAQN,kBAAkBK,KAAAA;EAGhC,OAAOM,MAFc,KAAKT,QAAQO,OAAOC,IAAIJ,KAAAA;CAGjD;CAEA,MACMM,IACF,MACA,OACoC;EACpC,MAAMN,QAAQN,kBAAkBK,KAAAA;EAChC,MAAMM,SAAS,MAAM,KAAKT,QAAQW,OAAON,MAAMD,KAAAA;EAE/CD,MAAMS,SAASC,SAAS;EAExB,OAAOJ;CACX;CAEA,MACMK,KACF,IACA,MACA,OACoC;EACpC,MAAMV,QAAQN,kBAAkBK,KAAAA;EAChC,MAAMM,SAAS,MAAM,KAAKT,QAAQe,OAAOP,IAAIH,MAAMD,KAAAA;EAEnDD,MAAMS,SAASC,SAAS;EAExB,OAAOJ;CACX;CAEA,MACMO,KACF,IACA,OACoC;EACpC,MAAMZ,QAAQN,kBAAkBK,KAAAA;EAChC,MAAMM,SAAS,MAAM,KAAKT,QAAQiB,OAAOT,IAAIJ,KAAAA;EAE7CD,MAAMS,SAASC,SAAS;EAExB,OAAOJ;CACX;AACJ;;CAlEeZ,KAAAA,IAAAA,CAAAA,uBAAAA,CAAAA;;;;;;;CAgBIA,KAAAA,QAAAA,CAAAA,uBAAAA,CAAAA;;;;;;;;CAWHA,MAAAA,IAAAA,CAAAA,uBAAAA,CAAAA;;;;;;;;CAaIA,MAAAA,QAAAA,CAAAA,uBAAAA,CAAAA;;;;;;;;;;;;;CAcEA,QAAAA,QAAAA,CAAAA,uBAAAA,CAAAA"}
|
|
@@ -35,8 +35,8 @@ function _ts_decorate(decorators, target, key, desc) {
|
|
|
35
35
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
36
36
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
37
37
|
}
|
|
38
|
-
function _ts_metadata(
|
|
39
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(
|
|
38
|
+
function _ts_metadata(metadataKey, metadataValue) {
|
|
39
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
|
|
40
40
|
}
|
|
41
41
|
function _ts_param(paramIndex, decorator) {
|
|
42
42
|
return function(target, key) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.mjs","names":["BuiltInPolicyType","definePolicyData","ValidatorGroup","base64URLDecode","isUUID","DBody","DContext","DController","DDelete","DGet","DPath","DPost","DPut","DTags","getRequestHeader","getRequestIP","sendRedirect","IdentityProviderAttributesValidator","IdentityProviderValidator","IdentityType","PermissionName","SessionAuthMethod","isOAuth2IdentityProvider","isOpenIDIdentityProvider","BadRequestError","EntityNotFoundError","resolveURL","useRequestQuery","readRequestBody","OAuth2ErrorCode","OAuth2RequestError","URL","OAuth2AuthorizationCodeRequestValidator","createIdentityProviderOAuth2Authenticator","decodeQuery","identityProviderSchema","toIdentityPolicyData","applyRouteRealmIDToBody","buildActorContext","getBodyRealmID","getRequestParamID","getRequestRealmID","useRequestIdentityOrFail","useRequestParamID","useRequestPermissionEvaluator","ForceLoggedInMiddleware","IdentityProviderController","options","repository","realmRepository","clientRepository","accountManager","codeRequestVerifier","codeRequestValidator","stateManager","codeIssuer","accessPolicyEvaluator","ctx","getProviders","event","data","meta","findMany","schema","actor","permissionEvaluator","preEvaluate","name","IDENTITY_PROVIDER_READ","datum","evaluate","ATTRIBUTES","REALM_MATCH","realmId","getProvider","id","paramId","entity","findOneByIdOrName","editProvider","user","write","updateOnly","put","dropProvider","IDENTITY_PROVIDER_DELETE","findOneBy","entityId","remove","response","status","addProvider","authorizeOut","_id","resolve","authenticator","provider","baseURL","parameters","codeRequest","query","codeRequestDecoded","JSON","parse","malformed","codeRequestValidated","run","verify","client","state","saveAuthorizationState","buildRedirectURL","authorizeIn","Error","protocol","verifyAuthorizationState","realm_id","code","clientId","client_id","authenticate","realm","accessPolicyId","allowed","subject","type","USER","url","buildHostedAuthorizeURL","searchParams","set","ACCESS_DENIED","href","authorizationCode","issue","response_type","redirect_uri","scope","authMethod","EXTERNAL","group","body","where","IDENTITY_PROVIDER_UPDATE","UPDATE","IDENTITY_PROVIDER_CREATE","CREATE","validator","attributesValidator","attributes","validateJoinColumns","identity","checkUniqueness","undefined","merge","saveWithEA","create","codeRequestKeys","Object","keys","codeRequestKey_","codeRequestKey","codeRequestValue","String","findOneById","save","ip","trustProxy","userAgent","stateInvalid"],"sources":["../../../../../../src/adapters/http/controllers/entities/identity-provider/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 { BuiltInPolicyType, definePolicyData } from '@authup/access';\nimport { ValidatorGroup, base64URLDecode, isUUID } from '@authup/kit';\nimport {\n DBody,\n DContext,\n DController,\n DDelete,\n DGet,\n DPath,\n DPost,\n DPut,\n DTags,\n} from '@routup/decorators';\nimport type { IAppEvent } from 'routup';\nimport {\n getRequestHeader,\n getRequestIP,\n sendRedirect,\n} from 'routup';\nimport type { IdentityProvider, OAuth2AuthorizationCodeRequest } from '@authup/core-kit';\nimport {\n\n IdentityProviderAttributesValidator,\n IdentityProviderValidator,\n IdentityType,\n PermissionName,\n SessionAuthMethod,\n isOAuth2IdentityProvider,\n isOpenIDIdentityProvider,\n} from '@authup/core-kit';\nimport { BadRequestError, EntityNotFoundError } from '@authup/errors';\nimport { resolveURL } from '../../../../../utils/index.ts';\nimport type { AuthorizeParameters } from '@hapic/oauth2';\nimport { useRequestQuery } from '@routup/basic/query';\nimport { readRequestBody } from '@routup/basic/body';\nimport { OAuth2ErrorCode, OAuth2RequestError } from '@authup/specs';\nimport type {\n EntityCollectionResponse,\n IdentityProviderCreatePayload,\n IdentityProviderSavePayload,\n IdentityProviderUpdatePayload,\n} from '@authup/core-http-kit';\nimport { URL } from 'node:url';\nimport type {\n IIdentityProviderAccountManager,\n IIdentityProviderRepository,\n IOAuth2AccessPolicyEvaluator,\n IOAuth2AuthorizationCodeIssuer,\n IOAuth2AuthorizationCodeRequestVerifier,\n IOAuth2AuthorizationStateManager,\n IOAuth2ClientRepository,\n IRealmRepository,\n OAuth2AuthorizationState,\n} from '../../../../../core/index.ts';\nimport {\n OAuth2AuthorizationCodeRequestValidator,\n createIdentityProviderOAuth2Authenticator,\n decodeQuery,\n identityProviderSchema,\n toIdentityPolicyData,\n} from '../../../../../core/index.ts';\nimport {\n applyRouteRealmIDToBody,\n buildActorContext,\n getBodyRealmID,\n getRequestParamID,\n getRequestRealmID,\n useRequestIdentityOrFail,\n useRequestParamID,\n useRequestPermissionEvaluator,\n} from '../../../request/index.ts';\nimport { ForceLoggedInMiddleware } from '../../../middleware/index.ts';\nimport type { IdentityProviderControllerContext, IdentityProviderControllerOptions } from './types.ts';\n\n@DTags('identity')\n@DController(['/identity-providers', '/realms/:realmId/identity-providers'])\nexport class IdentityProviderController {\n protected options: IdentityProviderControllerOptions;\n\n protected repository: IIdentityProviderRepository;\n\n protected realmRepository: IRealmRepository;\n\n protected clientRepository: IOAuth2ClientRepository;\n\n protected accountManager: IIdentityProviderAccountManager;\n\n protected codeRequestVerifier : IOAuth2AuthorizationCodeRequestVerifier;\n\n protected codeRequestValidator : OAuth2AuthorizationCodeRequestValidator;\n\n protected stateManager : IOAuth2AuthorizationStateManager;\n\n protected codeIssuer : IOAuth2AuthorizationCodeIssuer;\n\n protected accessPolicyEvaluator? : IOAuth2AccessPolicyEvaluator;\n\n // ---------------------------------------------------------\n\n constructor(ctx: IdentityProviderControllerContext) {\n this.options = ctx.options;\n this.repository = ctx.repository;\n this.realmRepository = ctx.realmRepository;\n this.clientRepository = ctx.clientRepository;\n this.accountManager = ctx.accountManager;\n this.codeIssuer = ctx.codeIssuer;\n this.codeRequestVerifier = ctx.codeRequestVerifier;\n this.codeRequestValidator = new OAuth2AuthorizationCodeRequestValidator();\n this.stateManager = ctx.stateManager;\n this.accessPolicyEvaluator = ctx.accessPolicyEvaluator;\n }\n\n // ---------------------------------------------------------\n\n @DGet('', [])\n async getProviders(\n @DContext() event: IAppEvent,\n ): Promise<EntityCollectionResponse<IdentityProvider>> {\n const {\n data,\n meta,\n } = await this.repository.findMany(\n await decodeQuery(useRequestQuery(event), {\n schema: identityProviderSchema,\n actor: buildActorContext(event),\n }),\n );\n\n try {\n const permissionEvaluator = useRequestPermissionEvaluator(event);\n await permissionEvaluator.preEvaluate({ name: PermissionName.IDENTITY_PROVIDER_READ });\n\n for (const datum of data) {\n try {\n await permissionEvaluator.evaluate({\n name: PermissionName.IDENTITY_PROVIDER_READ,\n data: definePolicyData({ [BuiltInPolicyType.ATTRIBUTES]: datum, [BuiltInPolicyType.REALM_MATCH]: datum.realmId ?? null }),\n });\n } catch {\n // do nothing\n }\n }\n } catch {\n // do nothing\n }\n\n return {\n data,\n meta,\n };\n }\n\n @DGet('/:id', [])\n async getProvider(\n @DPath('id') id: string,\n @DContext() event: IAppEvent,\n ): Promise<IdentityProvider> {\n const paramId = useRequestParamID(event, { isUUID: false });\n\n const entity = await this.repository.findOneByIdOrName(\n paramId,\n getRequestRealmID(event),\n );\n\n if (!entity) {\n throw new EntityNotFoundError();\n }\n\n try {\n const permissionEvaluator = useRequestPermissionEvaluator(event);\n await permissionEvaluator.evaluate({\n name: PermissionName.IDENTITY_PROVIDER_READ,\n data: definePolicyData({ [BuiltInPolicyType.ATTRIBUTES]: entity, [BuiltInPolicyType.REALM_MATCH]: entity.realmId ?? null }),\n });\n } catch {\n // do nothing\n }\n\n return entity;\n }\n\n @DPost('/:id', [ForceLoggedInMiddleware])\n async editProvider(\n @DPath('id') id: string,\n @DBody() user: IdentityProviderUpdatePayload,\n @DContext() event: IAppEvent,\n ) : Promise<IdentityProvider> {\n return this.write(event, { updateOnly: true });\n }\n\n @DPut('/:id', [ForceLoggedInMiddleware])\n async put(\n @DPath('id') id: string,\n @DBody() user: IdentityProviderSavePayload,\n @DContext() event: IAppEvent,\n ) : Promise<IdentityProvider> {\n return this.write(event);\n }\n\n @DDelete('/:id', [ForceLoggedInMiddleware])\n async dropProvider(\n @DPath('id') id: string,\n @DContext() event: IAppEvent,\n ) : Promise<IdentityProvider> {\n const paramId = useRequestParamID(event);\n\n const permissionEvaluator = useRequestPermissionEvaluator(event);\n await permissionEvaluator.preEvaluate({ name: PermissionName.IDENTITY_PROVIDER_DELETE });\n\n const entity = await this.repository.findOneBy({ id: paramId });\n\n if (!entity) {\n throw new EntityNotFoundError();\n }\n\n await permissionEvaluator.evaluate({\n name: PermissionName.IDENTITY_PROVIDER_DELETE,\n data: definePolicyData({ [BuiltInPolicyType.ATTRIBUTES]: entity, [BuiltInPolicyType.REALM_MATCH]: entity.realmId ?? null }),\n });\n\n const { id: entityId } = entity;\n\n await this.repository.remove(entity);\n\n entity.id = entityId;\n\n event.response.status = 202;\n\n return entity;\n }\n\n @DPost('', [ForceLoggedInMiddleware])\n async addProvider(\n @DBody() user: IdentityProviderCreatePayload,\n @DContext() event: IAppEvent,\n ) : Promise<IdentityProvider> {\n return this.write(event);\n }\n\n // ---------------------------------------------------------\n\n @DGet('/:id/authorize-out', [])\n async authorizeOut(\n @DPath('id') _id: string,\n @DContext() event: IAppEvent,\n ) {\n const id = useRequestParamID(event);\n const entity = await this.resolve(id);\n\n if (!isOAuth2IdentityProvider(entity) && !isOpenIDIdentityProvider(entity)) {\n throw new BadRequestError('Only an identity-provider based on the oauth protocol supports authorize redirect.');\n }\n\n const authenticator = createIdentityProviderOAuth2Authenticator({\n accountManager: this.accountManager,\n provider: entity,\n options: { baseURL: this.options.baseURL },\n });\n\n const parameters : AuthorizeParameters = {};\n\n let codeRequest: OAuth2AuthorizationCodeRequest | undefined;\n const query = useRequestQuery(event);\n if (typeof query.codeRequest === 'string') {\n let codeRequestDecoded: OAuth2AuthorizationCodeRequest;\n\n try {\n codeRequestDecoded = JSON.parse(base64URLDecode(query.codeRequest));\n } catch {\n throw OAuth2RequestError.malformed('The code request is malformed and can not be parsed.');\n }\n\n const codeRequestValidated = await this.codeRequestValidator.run(codeRequestDecoded);\n const data = await this.codeRequestVerifier.verify(codeRequestValidated);\n\n if (\n data.client.realmId &&\n entity.realmId &&\n entity.realmId !== data.client.realmId\n ) {\n throw OAuth2RequestError.malformed('The provider and client realm do not match.');\n }\n\n codeRequest = data.data;\n }\n\n parameters.state = await this.saveAuthorizationState(event, codeRequest);\n\n return sendRedirect(event, authenticator.buildRedirectURL(parameters));\n }\n\n @DGet('/:id/authorize-in', [])\n async authorizeIn(\n @DPath('id') _id: string,\n @DContext() event: IAppEvent,\n ) {\n const id = useRequestParamID(event);\n\n const entity = await this.resolve(id);\n\n if (!isOAuth2IdentityProvider(entity) && !isOpenIDIdentityProvider(entity)) {\n throw new Error(`The provider protocol ${entity.protocol} is not valid.`);\n }\n\n const data = await this.verifyAuthorizationState(event);\n if (\n entity.realmId &&\n data.codeRequest &&\n data.codeRequest.realm_id &&\n data.codeRequest.realm_id !== entity.realmId\n ) {\n throw OAuth2RequestError.malformed('The provider and client realm do not match.');\n }\n\n const { code } = useRequestQuery(event);\n\n const authenticator = createIdentityProviderOAuth2Authenticator({\n accountManager: this.accountManager,\n provider: entity,\n options: {\n baseURL: this.options.baseURL,\n clientId: data.codeRequest?.client_id,\n },\n });\n\n const user = await authenticator.authenticate(code);\n\n const realm = await this.realmRepository.resolve(entity.realmId, true);\n\n // Application access policy (plan 052), federated leg: the callback\n // never redirects to the RP directly — a denial bounces back to the\n // hosted authorize page with error=access_denied, so no\n // redirectUriVerified threading through the state blob is needed.\n // A policy id with no wired evaluator denies (fail closed); a\n // since-deleted client is skipped (the /token backstop still covers it).\n if (data.codeRequest?.client_id) {\n const client = await this.clientRepository.findOneByIdOrName(\n data.codeRequest.client_id,\n data.codeRequest.realm_id,\n );\n\n if (client?.accessPolicyId) {\n let allowed = false;\n\n const subject = toIdentityPolicyData({\n type: IdentityType.USER,\n data: {\n ...user,\n realm,\n },\n });\n if (this.accessPolicyEvaluator && subject) {\n allowed = await this.accessPolicyEvaluator.evaluate(\n client.accessPolicyId,\n subject,\n );\n }\n\n if (!allowed) {\n const url = this.buildHostedAuthorizeURL(data.codeRequest);\n url.searchParams.set('error', OAuth2ErrorCode.ACCESS_DENIED);\n\n return sendRedirect(event, url.href);\n }\n }\n }\n\n const authorizationCode = await this.codeIssuer.issue(\n {\n response_type: 'code',\n client_id: data.codeRequest?.client_id,\n redirect_uri: data.codeRequest?.redirect_uri,\n scope: data.codeRequest?.scope,\n },\n {\n type: IdentityType.USER,\n data: {\n ...user,\n realm,\n },\n },\n { authMethod: SessionAuthMethod.EXTERNAL },\n );\n\n if (data.codeRequest) {\n const url = this.buildHostedAuthorizeURL(data.codeRequest);\n url.searchParams.set('code', authorizationCode.id);\n\n return sendRedirect(event, url.href);\n }\n\n const url = new URL(this.options.baseURL);\n url.searchParams.set('code', authorizationCode.id);\n\n return sendRedirect(event, url.href);\n }\n\n // ---------------------------------------------------------\n\n private async write(event: IAppEvent, options: {\n updateOnly?: boolean\n } = {}): Promise<IdentityProvider> {\n let group: string;\n const id = getRequestParamID(event, { isUUID: false });\n const body = await readRequestBody(event);\n applyRouteRealmIDToBody(event, body);\n const realmId = getRequestRealmID(event) ?? getBodyRealmID(body);\n\n let entity: IdentityProvider | null | undefined;\n if (id) {\n const where: Record<string, any> = {};\n if (isUUID(id)) {\n where.id = id;\n } else {\n where.name = id;\n }\n\n if (realmId) {\n where.realmId = realmId;\n }\n\n entity = await this.repository.findOneBy(where);\n if (!entity && options.updateOnly) {\n throw new EntityNotFoundError();\n }\n } else if (options.updateOnly) {\n throw new EntityNotFoundError();\n }\n\n const permissionEvaluator = useRequestPermissionEvaluator(event);\n if (entity) {\n await permissionEvaluator.preEvaluate({ name: PermissionName.IDENTITY_PROVIDER_UPDATE });\n\n group = ValidatorGroup.UPDATE;\n } else {\n await permissionEvaluator.preEvaluate({ name: PermissionName.IDENTITY_PROVIDER_CREATE });\n\n group = ValidatorGroup.CREATE;\n }\n\n const validator = new IdentityProviderValidator();\n const data = await validator.run(body, { group });\n\n const attributesValidator = new IdentityProviderAttributesValidator();\n const attributes = await attributesValidator.run(body);\n\n await this.repository.validateJoinColumns(data);\n\n if (entity) {\n await permissionEvaluator.evaluate({\n name: PermissionName.IDENTITY_PROVIDER_UPDATE,\n data: definePolicyData({\n [BuiltInPolicyType.ATTRIBUTES]: {\n ...entity,\n ...data,\n },\n [BuiltInPolicyType.REALM_MATCH]: data.realmId ?? entity.realmId ?? null,\n }),\n });\n } else {\n if (!data.realmId) {\n const identity = useRequestIdentityOrFail(event);\n data.realmId = identity.realmId;\n }\n\n await permissionEvaluator.evaluate({\n name: PermissionName.IDENTITY_PROVIDER_CREATE,\n data: definePolicyData({ [BuiltInPolicyType.ATTRIBUTES]: data, [BuiltInPolicyType.REALM_MATCH]: data.realmId ?? null }),\n });\n }\n\n await this.repository.checkUniqueness(data, entity || undefined);\n\n if (entity) {\n entity = this.repository.merge(entity, data);\n await this.repository.saveWithEA(entity, attributes);\n\n event.response.status = 202;\n\n return entity;\n }\n\n entity = this.repository.create(data);\n await this.repository.saveWithEA(entity, attributes);\n\n event.response.status = 201;\n\n return entity;\n }\n\n // ---------------------------------------------------------\n\n private buildHostedAuthorizeURL(codeRequest: OAuth2AuthorizationCodeRequest): URL {\n const url = new URL(resolveURL(this.options.baseURL, 'authorize'));\n\n const codeRequestKeys = Object.keys(codeRequest);\n for (const codeRequestKey_ of codeRequestKeys) {\n const codeRequestKey = codeRequestKey_ as keyof OAuth2AuthorizationCodeRequest;\n const codeRequestValue = codeRequest[codeRequestKey];\n // Preserve meaningful falsy values (e.g. max_age=0, which OIDC\n // treats as prompt=login) — only skip absent ones.\n if (typeof codeRequestValue !== 'undefined' && codeRequestValue !== null) {\n url.searchParams.set(codeRequestKey, String(codeRequestValue));\n }\n }\n\n return url;\n }\n\n // ---------------------------------------------------------\n\n private async resolve(id: string) {\n const entity = await this.repository.findOneById(id);\n\n if (!entity) {\n throw new EntityNotFoundError();\n }\n\n return entity;\n }\n\n // ---------------------------------------------------------\n\n private async saveAuthorizationState(\n event: IAppEvent,\n codeRequest?: OAuth2AuthorizationCodeRequest,\n ) : Promise<string> {\n return this.stateManager.save({\n codeRequest,\n ip: getRequestIP(event, { trustProxy: true }) ?? '',\n userAgent: getRequestHeader(event, 'user-agent') ?? undefined,\n });\n }\n\n private async verifyAuthorizationState(event: IAppEvent): Promise<OAuth2AuthorizationState> {\n const query = useRequestQuery(event);\n if (typeof query.state !== 'string') {\n throw OAuth2RequestError.stateInvalid();\n }\n\n return this.stateManager.verify(query.state, {\n ip: getRequestIP(event, { trustProxy: true }) ?? '',\n userAgent: getRequestHeader(event, 'user-agent') ?? undefined,\n });\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"module.mjs","names":["BuiltInPolicyType","definePolicyData","ValidatorGroup","base64URLDecode","isUUID","DBody","DContext","DController","DDelete","DGet","DPath","DPost","DPut","DTags","getRequestHeader","getRequestIP","sendRedirect","IdentityProviderAttributesValidator","IdentityProviderValidator","IdentityType","PermissionName","SessionAuthMethod","isOAuth2IdentityProvider","isOpenIDIdentityProvider","BadRequestError","EntityNotFoundError","resolveURL","useRequestQuery","readRequestBody","OAuth2ErrorCode","OAuth2RequestError","URL","OAuth2AuthorizationCodeRequestValidator","createIdentityProviderOAuth2Authenticator","decodeQuery","identityProviderSchema","toIdentityPolicyData","applyRouteRealmIDToBody","buildActorContext","getBodyRealmID","getRequestParamID","getRequestRealmID","useRequestIdentityOrFail","useRequestParamID","useRequestPermissionEvaluator","ForceLoggedInMiddleware","IdentityProviderController","options","repository","realmRepository","clientRepository","accountManager","codeRequestVerifier","codeRequestValidator","stateManager","codeIssuer","accessPolicyEvaluator","ctx","getProviders","event","data","meta","findMany","schema","actor","permissionEvaluator","preEvaluate","name","IDENTITY_PROVIDER_READ","datum","evaluate","ATTRIBUTES","REALM_MATCH","realmId","getProvider","id","paramId","entity","findOneByIdOrName","editProvider","user","write","updateOnly","put","dropProvider","IDENTITY_PROVIDER_DELETE","findOneBy","entityId","remove","response","status","addProvider","authorizeOut","_id","resolve","authenticator","provider","baseURL","parameters","codeRequest","query","codeRequestDecoded","JSON","parse","malformed","codeRequestValidated","run","verify","client","state","saveAuthorizationState","buildRedirectURL","authorizeIn","Error","protocol","verifyAuthorizationState","realm_id","code","clientId","client_id","authenticate","realm","accessPolicyId","allowed","subject","type","USER","url","buildHostedAuthorizeURL","searchParams","set","ACCESS_DENIED","href","authorizationCode","issue","response_type","redirect_uri","scope","authMethod","EXTERNAL","group","body","where","IDENTITY_PROVIDER_UPDATE","UPDATE","IDENTITY_PROVIDER_CREATE","CREATE","validator","attributesValidator","attributes","validateJoinColumns","identity","checkUniqueness","undefined","merge","saveWithEA","create","codeRequestKeys","Object","keys","codeRequestKey_","codeRequestKey","codeRequestValue","String","findOneById","save","ip","trustProxy","userAgent","stateInvalid"],"sources":["../../../../../../src/adapters/http/controllers/entities/identity-provider/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 { BuiltInPolicyType, definePolicyData } from '@authup/access';\nimport { ValidatorGroup, base64URLDecode, isUUID } from '@authup/kit';\nimport {\n DBody,\n DContext,\n DController,\n DDelete,\n DGet,\n DPath,\n DPost,\n DPut,\n DTags,\n} from '@routup/decorators';\nimport type { IAppEvent } from 'routup';\nimport {\n getRequestHeader,\n getRequestIP,\n sendRedirect,\n} from 'routup';\nimport type { IdentityProvider, OAuth2AuthorizationCodeRequest } from '@authup/core-kit';\nimport {\n\n IdentityProviderAttributesValidator,\n IdentityProviderValidator,\n IdentityType,\n PermissionName,\n SessionAuthMethod,\n isOAuth2IdentityProvider,\n isOpenIDIdentityProvider,\n} from '@authup/core-kit';\nimport { BadRequestError, EntityNotFoundError } from '@authup/errors';\nimport { resolveURL } from '../../../../../utils/index.ts';\nimport type { AuthorizeParameters } from '@hapic/oauth2';\nimport { useRequestQuery } from '@routup/basic/query';\nimport { readRequestBody } from '@routup/basic/body';\nimport { OAuth2ErrorCode, OAuth2RequestError } from '@authup/specs';\nimport type {\n EntityCollectionResponse,\n IdentityProviderCreatePayload,\n IdentityProviderSavePayload,\n IdentityProviderUpdatePayload,\n} from '@authup/core-http-kit';\nimport { URL } from 'node:url';\nimport type {\n IIdentityProviderAccountManager,\n IIdentityProviderRepository,\n IOAuth2AccessPolicyEvaluator,\n IOAuth2AuthorizationCodeIssuer,\n IOAuth2AuthorizationCodeRequestVerifier,\n IOAuth2AuthorizationStateManager,\n IOAuth2ClientRepository,\n IRealmRepository,\n OAuth2AuthorizationState,\n} from '../../../../../core/index.ts';\nimport {\n OAuth2AuthorizationCodeRequestValidator,\n createIdentityProviderOAuth2Authenticator,\n decodeQuery,\n identityProviderSchema,\n toIdentityPolicyData,\n} from '../../../../../core/index.ts';\nimport {\n applyRouteRealmIDToBody,\n buildActorContext,\n getBodyRealmID,\n getRequestParamID,\n getRequestRealmID,\n useRequestIdentityOrFail,\n useRequestParamID,\n useRequestPermissionEvaluator,\n} from '../../../request/index.ts';\nimport { ForceLoggedInMiddleware } from '../../../middleware/index.ts';\nimport type { IdentityProviderControllerContext, IdentityProviderControllerOptions } from './types.ts';\n\n@DTags('identity')\n@DController(['/identity-providers', '/realms/:realmId/identity-providers'])\nexport class IdentityProviderController {\n protected options: IdentityProviderControllerOptions;\n\n protected repository: IIdentityProviderRepository;\n\n protected realmRepository: IRealmRepository;\n\n protected clientRepository: IOAuth2ClientRepository;\n\n protected accountManager: IIdentityProviderAccountManager;\n\n protected codeRequestVerifier : IOAuth2AuthorizationCodeRequestVerifier;\n\n protected codeRequestValidator : OAuth2AuthorizationCodeRequestValidator;\n\n protected stateManager : IOAuth2AuthorizationStateManager;\n\n protected codeIssuer : IOAuth2AuthorizationCodeIssuer;\n\n protected accessPolicyEvaluator? : IOAuth2AccessPolicyEvaluator;\n\n // ---------------------------------------------------------\n\n constructor(ctx: IdentityProviderControllerContext) {\n this.options = ctx.options;\n this.repository = ctx.repository;\n this.realmRepository = ctx.realmRepository;\n this.clientRepository = ctx.clientRepository;\n this.accountManager = ctx.accountManager;\n this.codeIssuer = ctx.codeIssuer;\n this.codeRequestVerifier = ctx.codeRequestVerifier;\n this.codeRequestValidator = new OAuth2AuthorizationCodeRequestValidator();\n this.stateManager = ctx.stateManager;\n this.accessPolicyEvaluator = ctx.accessPolicyEvaluator;\n }\n\n // ---------------------------------------------------------\n\n @DGet('', [])\n async getProviders(\n @DContext() event: IAppEvent,\n ): Promise<EntityCollectionResponse<IdentityProvider>> {\n const {\n data,\n meta,\n } = await this.repository.findMany(\n await decodeQuery(useRequestQuery(event), {\n schema: identityProviderSchema,\n actor: buildActorContext(event),\n }),\n );\n\n try {\n const permissionEvaluator = useRequestPermissionEvaluator(event);\n await permissionEvaluator.preEvaluate({ name: PermissionName.IDENTITY_PROVIDER_READ });\n\n for (const datum of data) {\n try {\n await permissionEvaluator.evaluate({\n name: PermissionName.IDENTITY_PROVIDER_READ,\n data: definePolicyData({ [BuiltInPolicyType.ATTRIBUTES]: datum, [BuiltInPolicyType.REALM_MATCH]: datum.realmId ?? null }),\n });\n } catch {\n // do nothing\n }\n }\n } catch {\n // do nothing\n }\n\n return {\n data,\n meta,\n };\n }\n\n @DGet('/:id', [])\n async getProvider(\n @DPath('id') id: string,\n @DContext() event: IAppEvent,\n ): Promise<IdentityProvider> {\n const paramId = useRequestParamID(event, { isUUID: false });\n\n const entity = await this.repository.findOneByIdOrName(\n paramId,\n getRequestRealmID(event),\n );\n\n if (!entity) {\n throw new EntityNotFoundError();\n }\n\n try {\n const permissionEvaluator = useRequestPermissionEvaluator(event);\n await permissionEvaluator.evaluate({\n name: PermissionName.IDENTITY_PROVIDER_READ,\n data: definePolicyData({ [BuiltInPolicyType.ATTRIBUTES]: entity, [BuiltInPolicyType.REALM_MATCH]: entity.realmId ?? null }),\n });\n } catch {\n // do nothing\n }\n\n return entity;\n }\n\n @DPost('/:id', [ForceLoggedInMiddleware])\n async editProvider(\n @DPath('id') id: string,\n @DBody() user: IdentityProviderUpdatePayload,\n @DContext() event: IAppEvent,\n ) : Promise<IdentityProvider> {\n return this.write(event, { updateOnly: true });\n }\n\n @DPut('/:id', [ForceLoggedInMiddleware])\n async put(\n @DPath('id') id: string,\n @DBody() user: IdentityProviderSavePayload,\n @DContext() event: IAppEvent,\n ) : Promise<IdentityProvider> {\n return this.write(event);\n }\n\n @DDelete('/:id', [ForceLoggedInMiddleware])\n async dropProvider(\n @DPath('id') id: string,\n @DContext() event: IAppEvent,\n ) : Promise<IdentityProvider> {\n const paramId = useRequestParamID(event);\n\n const permissionEvaluator = useRequestPermissionEvaluator(event);\n await permissionEvaluator.preEvaluate({ name: PermissionName.IDENTITY_PROVIDER_DELETE });\n\n const entity = await this.repository.findOneBy({ id: paramId });\n\n if (!entity) {\n throw new EntityNotFoundError();\n }\n\n await permissionEvaluator.evaluate({\n name: PermissionName.IDENTITY_PROVIDER_DELETE,\n data: definePolicyData({ [BuiltInPolicyType.ATTRIBUTES]: entity, [BuiltInPolicyType.REALM_MATCH]: entity.realmId ?? null }),\n });\n\n const { id: entityId } = entity;\n\n await this.repository.remove(entity);\n\n entity.id = entityId;\n\n event.response.status = 202;\n\n return entity;\n }\n\n @DPost('', [ForceLoggedInMiddleware])\n async addProvider(\n @DBody() user: IdentityProviderCreatePayload,\n @DContext() event: IAppEvent,\n ) : Promise<IdentityProvider> {\n return this.write(event);\n }\n\n // ---------------------------------------------------------\n\n @DGet('/:id/authorize-out', [])\n async authorizeOut(\n @DPath('id') _id: string,\n @DContext() event: IAppEvent,\n ) {\n const id = useRequestParamID(event);\n const entity = await this.resolve(id);\n\n if (!isOAuth2IdentityProvider(entity) && !isOpenIDIdentityProvider(entity)) {\n throw new BadRequestError('Only an identity-provider based on the oauth protocol supports authorize redirect.');\n }\n\n const authenticator = createIdentityProviderOAuth2Authenticator({\n accountManager: this.accountManager,\n provider: entity,\n options: { baseURL: this.options.baseURL },\n });\n\n const parameters : AuthorizeParameters = {};\n\n let codeRequest: OAuth2AuthorizationCodeRequest | undefined;\n const query = useRequestQuery(event);\n if (typeof query.codeRequest === 'string') {\n let codeRequestDecoded: OAuth2AuthorizationCodeRequest;\n\n try {\n codeRequestDecoded = JSON.parse(base64URLDecode(query.codeRequest));\n } catch {\n throw OAuth2RequestError.malformed('The code request is malformed and can not be parsed.');\n }\n\n const codeRequestValidated = await this.codeRequestValidator.run(codeRequestDecoded);\n const data = await this.codeRequestVerifier.verify(codeRequestValidated);\n\n if (\n data.client.realmId &&\n entity.realmId &&\n entity.realmId !== data.client.realmId\n ) {\n throw OAuth2RequestError.malformed('The provider and client realm do not match.');\n }\n\n codeRequest = data.data;\n }\n\n parameters.state = await this.saveAuthorizationState(event, codeRequest);\n\n return sendRedirect(event, authenticator.buildRedirectURL(parameters));\n }\n\n @DGet('/:id/authorize-in', [])\n async authorizeIn(\n @DPath('id') _id: string,\n @DContext() event: IAppEvent,\n ) {\n const id = useRequestParamID(event);\n\n const entity = await this.resolve(id);\n\n if (!isOAuth2IdentityProvider(entity) && !isOpenIDIdentityProvider(entity)) {\n throw new Error(`The provider protocol ${entity.protocol} is not valid.`);\n }\n\n const data = await this.verifyAuthorizationState(event);\n if (\n entity.realmId &&\n data.codeRequest &&\n data.codeRequest.realm_id &&\n data.codeRequest.realm_id !== entity.realmId\n ) {\n throw OAuth2RequestError.malformed('The provider and client realm do not match.');\n }\n\n const { code } = useRequestQuery(event);\n\n const authenticator = createIdentityProviderOAuth2Authenticator({\n accountManager: this.accountManager,\n provider: entity,\n options: {\n baseURL: this.options.baseURL,\n clientId: data.codeRequest?.client_id,\n },\n });\n\n const user = await authenticator.authenticate(code);\n\n const realm = await this.realmRepository.resolve(entity.realmId, true);\n\n // Application access policy (plan 052), federated leg: the callback\n // never redirects to the RP directly — a denial bounces back to the\n // hosted authorize page with error=access_denied, so no\n // redirectUriVerified threading through the state blob is needed.\n // A policy id with no wired evaluator denies (fail closed); a\n // since-deleted client is skipped (the /token backstop still covers it).\n if (data.codeRequest?.client_id) {\n const client = await this.clientRepository.findOneByIdOrName(\n data.codeRequest.client_id,\n data.codeRequest.realm_id,\n );\n\n if (client?.accessPolicyId) {\n let allowed = false;\n\n const subject = toIdentityPolicyData({\n type: IdentityType.USER,\n data: {\n ...user,\n realm,\n },\n });\n if (this.accessPolicyEvaluator && subject) {\n allowed = await this.accessPolicyEvaluator.evaluate(\n client.accessPolicyId,\n subject,\n );\n }\n\n if (!allowed) {\n const url = this.buildHostedAuthorizeURL(data.codeRequest);\n url.searchParams.set('error', OAuth2ErrorCode.ACCESS_DENIED);\n\n return sendRedirect(event, url.href);\n }\n }\n }\n\n const authorizationCode = await this.codeIssuer.issue(\n {\n response_type: 'code',\n client_id: data.codeRequest?.client_id,\n redirect_uri: data.codeRequest?.redirect_uri,\n scope: data.codeRequest?.scope,\n },\n {\n type: IdentityType.USER,\n data: {\n ...user,\n realm,\n },\n },\n { authMethod: SessionAuthMethod.EXTERNAL },\n );\n\n if (data.codeRequest) {\n const url = this.buildHostedAuthorizeURL(data.codeRequest);\n url.searchParams.set('code', authorizationCode.id);\n\n return sendRedirect(event, url.href);\n }\n\n const url = new URL(this.options.baseURL);\n url.searchParams.set('code', authorizationCode.id);\n\n return sendRedirect(event, url.href);\n }\n\n // ---------------------------------------------------------\n\n private async write(event: IAppEvent, options: {\n updateOnly?: boolean\n } = {}): Promise<IdentityProvider> {\n let group: string;\n const id = getRequestParamID(event, { isUUID: false });\n const body = await readRequestBody(event);\n applyRouteRealmIDToBody(event, body);\n const realmId = getRequestRealmID(event) ?? getBodyRealmID(body);\n\n let entity: IdentityProvider | null | undefined;\n if (id) {\n const where: Record<string, any> = {};\n if (isUUID(id)) {\n where.id = id;\n } else {\n where.name = id;\n }\n\n if (realmId) {\n where.realmId = realmId;\n }\n\n entity = await this.repository.findOneBy(where);\n if (!entity && options.updateOnly) {\n throw new EntityNotFoundError();\n }\n } else if (options.updateOnly) {\n throw new EntityNotFoundError();\n }\n\n const permissionEvaluator = useRequestPermissionEvaluator(event);\n if (entity) {\n await permissionEvaluator.preEvaluate({ name: PermissionName.IDENTITY_PROVIDER_UPDATE });\n\n group = ValidatorGroup.UPDATE;\n } else {\n await permissionEvaluator.preEvaluate({ name: PermissionName.IDENTITY_PROVIDER_CREATE });\n\n group = ValidatorGroup.CREATE;\n }\n\n const validator = new IdentityProviderValidator();\n const data = await validator.run(body, { group });\n\n const attributesValidator = new IdentityProviderAttributesValidator();\n const attributes = await attributesValidator.run(body);\n\n await this.repository.validateJoinColumns(data);\n\n if (entity) {\n await permissionEvaluator.evaluate({\n name: PermissionName.IDENTITY_PROVIDER_UPDATE,\n data: definePolicyData({\n [BuiltInPolicyType.ATTRIBUTES]: {\n ...entity,\n ...data,\n },\n [BuiltInPolicyType.REALM_MATCH]: data.realmId ?? entity.realmId ?? null,\n }),\n });\n } else {\n if (!data.realmId) {\n const identity = useRequestIdentityOrFail(event);\n data.realmId = identity.realmId;\n }\n\n await permissionEvaluator.evaluate({\n name: PermissionName.IDENTITY_PROVIDER_CREATE,\n data: definePolicyData({ [BuiltInPolicyType.ATTRIBUTES]: data, [BuiltInPolicyType.REALM_MATCH]: data.realmId ?? null }),\n });\n }\n\n await this.repository.checkUniqueness(data, entity || undefined);\n\n if (entity) {\n entity = this.repository.merge(entity, data);\n await this.repository.saveWithEA(entity, attributes);\n\n event.response.status = 202;\n\n return entity;\n }\n\n entity = this.repository.create(data);\n await this.repository.saveWithEA(entity, attributes);\n\n event.response.status = 201;\n\n return entity;\n }\n\n // ---------------------------------------------------------\n\n private buildHostedAuthorizeURL(codeRequest: OAuth2AuthorizationCodeRequest): URL {\n const url = new URL(resolveURL(this.options.baseURL, 'authorize'));\n\n const codeRequestKeys = Object.keys(codeRequest);\n for (const codeRequestKey_ of codeRequestKeys) {\n const codeRequestKey = codeRequestKey_ as keyof OAuth2AuthorizationCodeRequest;\n const codeRequestValue = codeRequest[codeRequestKey];\n // Preserve meaningful falsy values (e.g. max_age=0, which OIDC\n // treats as prompt=login) — only skip absent ones.\n if (typeof codeRequestValue !== 'undefined' && codeRequestValue !== null) {\n url.searchParams.set(codeRequestKey, String(codeRequestValue));\n }\n }\n\n return url;\n }\n\n // ---------------------------------------------------------\n\n private async resolve(id: string) {\n const entity = await this.repository.findOneById(id);\n\n if (!entity) {\n throw new EntityNotFoundError();\n }\n\n return entity;\n }\n\n // ---------------------------------------------------------\n\n private async saveAuthorizationState(\n event: IAppEvent,\n codeRequest?: OAuth2AuthorizationCodeRequest,\n ) : Promise<string> {\n return this.stateManager.save({\n codeRequest,\n ip: getRequestIP(event, { trustProxy: true }) ?? '',\n userAgent: getRequestHeader(event, 'user-agent') ?? undefined,\n });\n }\n\n private async verifyAuthorizationState(event: IAppEvent): Promise<OAuth2AuthorizationState> {\n const query = useRequestQuery(event);\n if (typeof query.state !== 'string') {\n throw OAuth2RequestError.stateInvalid();\n }\n\n return this.stateManager.verify(query.state, {\n ip: getRequestIP(event, { trustProxy: true }) ?? '',\n userAgent: getRequestHeader(event, 'user-agent') ?? undefined,\n });\n }\n}\n"],"mappings":"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"}
|
|
@@ -15,8 +15,8 @@ function _ts_decorate(decorators, target, key, desc) {
|
|
|
15
15
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
16
16
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
17
17
|
}
|
|
18
|
-
function _ts_metadata(
|
|
19
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(
|
|
18
|
+
function _ts_metadata(metadataKey, metadataValue) {
|
|
19
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
|
|
20
20
|
}
|
|
21
21
|
function _ts_param(paramIndex, decorator) {
|
|
22
22
|
return function(target, key) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.mjs","names":["DBody","DContext","DController","DDelete","DGet","DPath","DPost","DTags","useRequestQuery","ForceLoggedInMiddleware","applyRouteRealmIDToBody","buildActorContext","getRequestRealmID","KeyController","service","ctx","getMany","event","actor","data","meta","realmId","getOne","id","add","entity","create","response","status","edit","update","drop","query","force","delete"],"sources":["../../../../../../src/adapters/http/controllers/entities/key/module.ts"],"sourcesContent":["/*\n * Copyright (c) 2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport {\n DBody,\n DContext,\n DController,\n DDelete,\n DGet,\n DPath,\n DPost,\n DTags,\n} from '@routup/decorators';\nimport type { IAppEvent } from 'routup';\nimport { useRequestQuery } from '@routup/basic/query';\nimport type {\n EntityCollectionResponse,\n KeyCreatePayload,\n KeyUpdatePayload,\n} from '@authup/core-http-kit';\nimport type { Key } from '@authup/core-kit';\nimport type { IKeyService } from '../../../../../core/index.ts';\nimport { ForceLoggedInMiddleware } from '../../../middleware/index.ts';\nimport {\n applyRouteRealmIDToBody,\n buildActorContext,\n getRequestRealmID,\n} from '../../../request/index.ts';\n\nexport type KeyControllerContext = {\n service: IKeyService,\n};\n\n@DTags('key')\n@DController(['/keys', '/realms/:realmId/keys'])\nexport class KeyController {\n protected service: IKeyService;\n\n constructor(ctx: KeyControllerContext) {\n this.service = ctx.service;\n }\n\n @DGet('', [ForceLoggedInMiddleware])\n async getMany(\n @DContext() event: IAppEvent,\n ): Promise<EntityCollectionResponse<Key>> {\n const actor = buildActorContext(event);\n\n const { data, meta } = await this.service.getMany(useRequestQuery(event), actor, { realmId: getRequestRealmID(event) });\n\n return {\n data,\n meta,\n };\n }\n\n @DGet('/:id', [ForceLoggedInMiddleware])\n async getOne(\n @DPath('id') id: string,\n @DContext() event: IAppEvent,\n ): Promise<Key> {\n const actor = buildActorContext(event);\n\n return this.service.getOne(id, actor, getRequestRealmID(event));\n }\n\n @DPost('', [ForceLoggedInMiddleware])\n async add(\n @DBody() data: KeyCreatePayload,\n @DContext() event: IAppEvent,\n ): Promise<Key> {\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: KeyUpdatePayload,\n @DContext() event: IAppEvent,\n ): Promise<Key> {\n const actor = buildActorContext(event);\n\n return this.service.update(id, data, actor, getRequestRealmID(event));\n }\n\n @DDelete('/:id', [ForceLoggedInMiddleware])\n async drop(\n @DPath('id') id: string,\n @DContext() event: IAppEvent,\n ): Promise<Key> {\n const actor = buildActorContext(event);\n\n const query = useRequestQuery(event);\n const force = query.force === 'true' || query.force === '1';\n\n const entity = await this.service.delete(id, actor, { force });\n\n event.response.status = 202;\n\n return entity;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAuCA,IAAaa,gBAAb,MAAaA;CACCC;CAEV,YAAYC,KAA2B;EACnC,KAAKD,UAAUC,IAAID;CACvB;CAEA,MACME,QACF,OACsC;EACtC,MAAME,QAAQP,kBAAkBM,KAAAA;EAEhC,MAAM,EAAEE,MAAMC,SAAS,MAAM,KAAKN,QAAQE,QAAQR,gBAAgBS,KAAAA,GAAQC,OAAO,EAAEG,SAAST,kBAAkBK,KAAAA,EAAO,CAAA;EAErH,OAAO;GACHE;GACAC;EACJ;CACJ;CAEA,MACME,OACF,IACA,OACY;EACZ,MAAMJ,QAAQP,kBAAkBM,KAAAA;EAEhC,OAAO,KAAKH,QAAQQ,OAAOC,IAAIL,OAAON,kBAAkBK,KAAAA,CAAAA;CAC5D;CAEA,MACMO,IACF,MACA,OACY;EACZd,wBAAwBO,OAAOE,IAAAA;EAC/B,MAAMD,QAAQP,kBAAkBM,KAAAA;EAChC,MAAMQ,SAAS,MAAM,KAAKX,QAAQY,OAAOP,MAAMD,KAAAA;EAE/CD,MAAMU,SAASC,SAAS;EAExB,OAAOH;CACX;CAEA,MACMI,KACF,IACA,MACA,OACY;EACZ,MAAMX,QAAQP,kBAAkBM,KAAAA;EAEhC,OAAO,KAAKH,QAAQgB,OAAOP,IAAIJ,MAAMD,OAAON,kBAAkBK,KAAAA,CAAAA;CAClE;CAEA,MACMc,KACF,IACA,OACY;EACZ,MAAMb,QAAQP,kBAAkBM,KAAAA;EAEhC,MAAMe,QAAQxB,gBAAgBS,KAAAA;EAC9B,MAAMgB,QAAQD,MAAMC,UAAU,UAAUD,MAAMC,UAAU;EAExD,MAAMR,SAAS,MAAM,KAAKX,QAAQoB,OAAOX,IAAIL,OAAO,EAAEe,MAAM,CAAA;EAE5DhB,MAAMU,SAASC,SAAS;EAExB,OAAOH;CACX;AACJ;;
|
|
1
|
+
{"version":3,"file":"module.mjs","names":["DBody","DContext","DController","DDelete","DGet","DPath","DPost","DTags","useRequestQuery","ForceLoggedInMiddleware","applyRouteRealmIDToBody","buildActorContext","getRequestRealmID","KeyController","service","ctx","getMany","event","actor","data","meta","realmId","getOne","id","add","entity","create","response","status","edit","update","drop","query","force","delete"],"sources":["../../../../../../src/adapters/http/controllers/entities/key/module.ts"],"sourcesContent":["/*\n * Copyright (c) 2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport {\n DBody,\n DContext,\n DController,\n DDelete,\n DGet,\n DPath,\n DPost,\n DTags,\n} from '@routup/decorators';\nimport type { IAppEvent } from 'routup';\nimport { useRequestQuery } from '@routup/basic/query';\nimport type {\n EntityCollectionResponse,\n KeyCreatePayload,\n KeyUpdatePayload,\n} from '@authup/core-http-kit';\nimport type { Key } from '@authup/core-kit';\nimport type { IKeyService } from '../../../../../core/index.ts';\nimport { ForceLoggedInMiddleware } from '../../../middleware/index.ts';\nimport {\n applyRouteRealmIDToBody,\n buildActorContext,\n getRequestRealmID,\n} from '../../../request/index.ts';\n\nexport type KeyControllerContext = {\n service: IKeyService,\n};\n\n@DTags('key')\n@DController(['/keys', '/realms/:realmId/keys'])\nexport class KeyController {\n protected service: IKeyService;\n\n constructor(ctx: KeyControllerContext) {\n this.service = ctx.service;\n }\n\n @DGet('', [ForceLoggedInMiddleware])\n async getMany(\n @DContext() event: IAppEvent,\n ): Promise<EntityCollectionResponse<Key>> {\n const actor = buildActorContext(event);\n\n const { data, meta } = await this.service.getMany(useRequestQuery(event), actor, { realmId: getRequestRealmID(event) });\n\n return {\n data,\n meta,\n };\n }\n\n @DGet('/:id', [ForceLoggedInMiddleware])\n async getOne(\n @DPath('id') id: string,\n @DContext() event: IAppEvent,\n ): Promise<Key> {\n const actor = buildActorContext(event);\n\n return this.service.getOne(id, actor, getRequestRealmID(event));\n }\n\n @DPost('', [ForceLoggedInMiddleware])\n async add(\n @DBody() data: KeyCreatePayload,\n @DContext() event: IAppEvent,\n ): Promise<Key> {\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: KeyUpdatePayload,\n @DContext() event: IAppEvent,\n ): Promise<Key> {\n const actor = buildActorContext(event);\n\n return this.service.update(id, data, actor, getRequestRealmID(event));\n }\n\n @DDelete('/:id', [ForceLoggedInMiddleware])\n async drop(\n @DPath('id') id: string,\n @DContext() event: IAppEvent,\n ): Promise<Key> {\n const actor = buildActorContext(event);\n\n const query = useRequestQuery(event);\n const force = query.force === 'true' || query.force === '1';\n\n const entity = await this.service.delete(id, actor, { force });\n\n event.response.status = 202;\n\n return entity;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAuCA,IAAaa,gBAAb,MAAaA;CACCC;CAEV,YAAYC,KAA2B;EACnC,KAAKD,UAAUC,IAAID;CACvB;CAEA,MACME,QACF,OACsC;EACtC,MAAME,QAAQP,kBAAkBM,KAAAA;EAEhC,MAAM,EAAEE,MAAMC,SAAS,MAAM,KAAKN,QAAQE,QAAQR,gBAAgBS,KAAAA,GAAQC,OAAO,EAAEG,SAAST,kBAAkBK,KAAAA,EAAO,CAAA;EAErH,OAAO;GACHE;GACAC;EACJ;CACJ;CAEA,MACME,OACF,IACA,OACY;EACZ,MAAMJ,QAAQP,kBAAkBM,KAAAA;EAEhC,OAAO,KAAKH,QAAQQ,OAAOC,IAAIL,OAAON,kBAAkBK,KAAAA,CAAAA;CAC5D;CAEA,MACMO,IACF,MACA,OACY;EACZd,wBAAwBO,OAAOE,IAAAA;EAC/B,MAAMD,QAAQP,kBAAkBM,KAAAA;EAChC,MAAMQ,SAAS,MAAM,KAAKX,QAAQY,OAAOP,MAAMD,KAAAA;EAE/CD,MAAMU,SAASC,SAAS;EAExB,OAAOH;CACX;CAEA,MACMI,KACF,IACA,MACA,OACY;EACZ,MAAMX,QAAQP,kBAAkBM,KAAAA;EAEhC,OAAO,KAAKH,QAAQgB,OAAOP,IAAIJ,MAAMD,OAAON,kBAAkBK,KAAAA,CAAAA;CAClE;CAEA,MACMc,KACF,IACA,OACY;EACZ,MAAMb,QAAQP,kBAAkBM,KAAAA;EAEhC,MAAMe,QAAQxB,gBAAgBS,KAAAA;EAC9B,MAAMgB,QAAQD,MAAMC,UAAU,UAAUD,MAAMC,UAAU;EAExD,MAAMR,SAAS,MAAM,KAAKX,QAAQoB,OAAOX,IAAIL,OAAO,EAAEe,MAAM,CAAA;EAE5DhB,MAAMU,SAASC,SAAS;EAExB,OAAOH;CACX;AACJ;;CAjEehB,KAAAA,IAAAA,CAAAA,uBAAAA,CAAAA;;;;;;;CAcIA,KAAAA,QAAAA,CAAAA,uBAAAA,CAAAA;;;;;;;;CAUHA,MAAAA,IAAAA,CAAAA,uBAAAA,CAAAA;;;;;;;;CAcIA,MAAAA,QAAAA,CAAAA,uBAAAA,CAAAA;;;;;;;;;;;;;CAWEA,QAAAA,QAAAA,CAAAA,uBAAAA,CAAAA;;;;;;;;;CAzDR,YAAA,CAAA,SAAS,uBAAA,CAAA"}
|
|
@@ -16,8 +16,8 @@ function _ts_decorate(decorators, target, key, desc) {
|
|
|
16
16
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
17
17
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
18
18
|
}
|
|
19
|
-
function _ts_metadata(
|
|
20
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(
|
|
19
|
+
function _ts_metadata(metadataKey, metadataValue) {
|
|
20
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
|
|
21
21
|
}
|
|
22
22
|
function _ts_param(paramIndex, decorator) {
|
|
23
23
|
return function(target, key) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.mjs","names":["serializeError","DBody","DContext","DController","DDelete","DGet","DPath","DPost","DPut","DTags","useRequestQuery","ForceLoggedInMiddleware","applyRouteRealmIDToBody","buildActorContext","getRequestRealmID","PermissionController","service","checkerService","ctx","getMany","event","actor","data","meta","add","entity","create","response","status","check","id","result","safeCheck","success","error","get","getOne","edit","update","put","created","save","undefined","drop","delete"],"sources":["../../../../../../src/adapters/http/controllers/entities/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 type {\n EntityCollectionResponse,\n PermissionAPICheckResponse,\n PermissionCreatePayload,\n PermissionSavePayload,\n PermissionUpdatePayload,\n} from '@authup/core-http-kit';\nimport type { Permission } from '@authup/core-kit';\nimport { serializeError } from '@authup/errors';\nimport {\n DBody,\n DContext,\n DController,\n DDelete,\n DGet,\n DPath,\n DPost,\n DPut,\n DTags,\n} from '@routup/decorators';\nimport type { IAppEvent } from 'routup';\nimport { useRequestQuery } from '@routup/basic/query';\nimport type {\n IPermissionCheckerService,\n IPermissionService,\n} from '../../../../../core/index.ts';\nimport { ForceLoggedInMiddleware } from '../../../middleware/index.ts';\nimport {\n applyRouteRealmIDToBody,\n buildActorContext,\n getRequestRealmID,\n} from '../../../request/index.ts';\n\nexport type PermissionControllerContext = {\n service: IPermissionService,\n checkerService: IPermissionCheckerService,\n};\n\n@DTags('permission')\n@DController(['/permissions', '/realms/:realmId/permissions'])\nexport class PermissionController {\n protected service: IPermissionService;\n\n protected checkerService: IPermissionCheckerService;\n\n constructor(ctx: PermissionControllerContext) {\n this.service = ctx.service;\n this.checkerService = ctx.checkerService;\n }\n\n @DGet('', [ForceLoggedInMiddleware])\n async getMany(\n @DContext() event: IAppEvent,\n ): Promise<EntityCollectionResponse<Permission>> {\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: PermissionCreatePayload,\n @DContext() event: IAppEvent,\n ): Promise<Permission> {\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/check', [ForceLoggedInMiddleware])\n async check(\n @DPath('id') id: string,\n @DBody() data: any,\n @DContext() event: IAppEvent,\n ): Promise<PermissionAPICheckResponse> {\n const actor = buildActorContext(event);\n const result = await this.checkerService.safeCheck(\n id,\n data,\n actor,\n getRequestRealmID(event),\n );\n\n event.response.status = 202;\n if (result.success) {\n return { status: 'success' };\n }\n\n return {\n status: 'error',\n data: serializeError(result.error),\n };\n }\n\n @DGet('/:id', [ForceLoggedInMiddleware])\n async get(\n @DPath('id') id: string,\n @DContext() event: IAppEvent,\n ): Promise<Permission> {\n const actor = buildActorContext(event);\n const entity = await this.service.getOne(\n id,\n actor,\n getRequestRealmID(event),\n );\n\n return entity;\n }\n\n @DPost('/:id', [ForceLoggedInMiddleware])\n async edit(\n @DPath('id') id: string,\n @DBody() data: PermissionUpdatePayload,\n @DContext() event: IAppEvent,\n ): Promise<Permission> {\n applyRouteRealmIDToBody(event, data);\n const actor = buildActorContext(event);\n const entity = await this.service.update(\n id,\n data,\n actor,\n );\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: PermissionSavePayload,\n @DContext() event: IAppEvent,\n ): Promise<Permission> {\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: IAppEvent,\n ): Promise<Permission> {\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":";;;;;;;;;;;;AAKC,SAAA,aAAA,YAAA,QAAA,KAAA,MAAA;;;;;;;;;;;;;;AA0CD,IAAae,uBAAb,MAAaA;CACCC;CAEAC;CAEV,YAAYC,KAAkC;EAC1C,KAAKF,UAAUE,IAAIF;EACnB,KAAKC,iBAAiBC,IAAID;CAC9B;CAEA,MACME,QACF,OAC6C;EAC7C,MAAME,QAAQR,kBAAkBO,KAAAA;EAChC,MAAM,EACFE,MACAC,SACA,MAAM,KAAKP,QAAQG,QAAQT,gBAAgBU,KAAAA,GAAQC,KAAAA;EAEvD,OAAO;GACHC;GACAC;EACJ;CACJ;CAEA,MACMC,IACF,MACA,OACmB;EACnBZ,wBAAwBQ,OAAOE,IAAAA;EAC/B,MAAMD,QAAQR,kBAAkBO,KAAAA;EAChC,MAAMK,SAAS,MAAM,KAAKT,QAAQU,OAAOJ,MAAMD,KAAAA;EAE/CD,MAAMO,SAASC,SAAS;EAExB,OAAOH;CACX;CAEA,MACMI,MACF,IACA,MACA,OACmC;EACnC,MAAMR,QAAQR,kBAAkBO,KAAAA;EAChC,MAAMW,SAAS,MAAM,KAAKd,eAAee,UACrCF,IACAR,MACAD,OACAP,kBAAkBM,KAAAA,CAAAA;EAGtBA,MAAMO,SAASC,SAAS;EACxB,IAAIG,OAAOE,SACP,OAAO,EAAEL,QAAQ,UAAU;EAG/B,OAAO;GACHA,QAAQ;GACRN,MAAMtB,eAAe+B,OAAOG,KAAK;EACrC;CACJ;CAEA,MACMC,IACF,IACA,OACmB;EACnB,MAAMd,QAAQR,kBAAkBO,KAAAA;EAOhC,OAAOK,MANc,KAAKT,QAAQoB,OAC9BN,IACAT,OACAP,kBAAkBM,KAAAA,CAAAA;CAI1B;CAEA,MACMiB,KACF,IACA,MACA,OACmB;EACnBzB,wBAAwBQ,OAAOE,IAAAA;EAC/B,MAAMD,QAAQR,kBAAkBO,KAAAA;EAChC,MAAMK,SAAS,MAAM,KAAKT,QAAQsB,OAC9BR,IACAR,MACAD,KAAAA;EAGJD,MAAMO,SAASC,SAAS;EAExB,OAAOH;CACX;CAEA,MACMc,IACF,IACA,MACA,OACmB;EACnB3B,wBAAwBQ,OAAOE,IAAAA;EAC/B,MAAMD,QAAQR,kBAAkBO,KAAAA;EAChC,MAAM,EACFK,QACAe,YACA,MAAM,KAAKxB,QAAQyB,KACnBX,MAAMY,KAAAA,GACNpB,MACAD,KAAAA;EAGJD,MAAMO,SAASC,SAASY,UAAU,MAAM;EACxC,OAAOf;CACX;CAEA,MACMkB,KACF,IACA,OACmB;EACnB,MAAMtB,QAAQR,kBAAkBO,KAAAA;EAChC,MAAMK,SAAS,MAAM,KAAKT,QAAQ4B,OAAOd,IAAIT,KAAAA;EAE7CD,MAAMO,SAASC,SAAS;EAExB,OAAOH;CACX;AACJ;;
|
|
1
|
+
{"version":3,"file":"module.mjs","names":["serializeError","DBody","DContext","DController","DDelete","DGet","DPath","DPost","DPut","DTags","useRequestQuery","ForceLoggedInMiddleware","applyRouteRealmIDToBody","buildActorContext","getRequestRealmID","PermissionController","service","checkerService","ctx","getMany","event","actor","data","meta","add","entity","create","response","status","check","id","result","safeCheck","success","error","get","getOne","edit","update","put","created","save","undefined","drop","delete"],"sources":["../../../../../../src/adapters/http/controllers/entities/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 type {\n EntityCollectionResponse,\n PermissionAPICheckResponse,\n PermissionCreatePayload,\n PermissionSavePayload,\n PermissionUpdatePayload,\n} from '@authup/core-http-kit';\nimport type { Permission } from '@authup/core-kit';\nimport { serializeError } from '@authup/errors';\nimport {\n DBody,\n DContext,\n DController,\n DDelete,\n DGet,\n DPath,\n DPost,\n DPut,\n DTags,\n} from '@routup/decorators';\nimport type { IAppEvent } from 'routup';\nimport { useRequestQuery } from '@routup/basic/query';\nimport type {\n IPermissionCheckerService,\n IPermissionService,\n} from '../../../../../core/index.ts';\nimport { ForceLoggedInMiddleware } from '../../../middleware/index.ts';\nimport {\n applyRouteRealmIDToBody,\n buildActorContext,\n getRequestRealmID,\n} from '../../../request/index.ts';\n\nexport type PermissionControllerContext = {\n service: IPermissionService,\n checkerService: IPermissionCheckerService,\n};\n\n@DTags('permission')\n@DController(['/permissions', '/realms/:realmId/permissions'])\nexport class PermissionController {\n protected service: IPermissionService;\n\n protected checkerService: IPermissionCheckerService;\n\n constructor(ctx: PermissionControllerContext) {\n this.service = ctx.service;\n this.checkerService = ctx.checkerService;\n }\n\n @DGet('', [ForceLoggedInMiddleware])\n async getMany(\n @DContext() event: IAppEvent,\n ): Promise<EntityCollectionResponse<Permission>> {\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: PermissionCreatePayload,\n @DContext() event: IAppEvent,\n ): Promise<Permission> {\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/check', [ForceLoggedInMiddleware])\n async check(\n @DPath('id') id: string,\n @DBody() data: any,\n @DContext() event: IAppEvent,\n ): Promise<PermissionAPICheckResponse> {\n const actor = buildActorContext(event);\n const result = await this.checkerService.safeCheck(\n id,\n data,\n actor,\n getRequestRealmID(event),\n );\n\n event.response.status = 202;\n if (result.success) {\n return { status: 'success' };\n }\n\n return {\n status: 'error',\n data: serializeError(result.error),\n };\n }\n\n @DGet('/:id', [ForceLoggedInMiddleware])\n async get(\n @DPath('id') id: string,\n @DContext() event: IAppEvent,\n ): Promise<Permission> {\n const actor = buildActorContext(event);\n const entity = await this.service.getOne(\n id,\n actor,\n getRequestRealmID(event),\n );\n\n return entity;\n }\n\n @DPost('/:id', [ForceLoggedInMiddleware])\n async edit(\n @DPath('id') id: string,\n @DBody() data: PermissionUpdatePayload,\n @DContext() event: IAppEvent,\n ): Promise<Permission> {\n applyRouteRealmIDToBody(event, data);\n const actor = buildActorContext(event);\n const entity = await this.service.update(\n id,\n data,\n actor,\n );\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: PermissionSavePayload,\n @DContext() event: IAppEvent,\n ): Promise<Permission> {\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: IAppEvent,\n ): Promise<Permission> {\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":";;;;;;;;;;;;AAKC,SAAA,aAAA,YAAA,QAAA,KAAA,MAAA;;;;;;;;;;;;;;AA0CD,IAAae,uBAAb,MAAaA;CACCC;CAEAC;CAEV,YAAYC,KAAkC;EAC1C,KAAKF,UAAUE,IAAIF;EACnB,KAAKC,iBAAiBC,IAAID;CAC9B;CAEA,MACME,QACF,OAC6C;EAC7C,MAAME,QAAQR,kBAAkBO,KAAAA;EAChC,MAAM,EACFE,MACAC,SACA,MAAM,KAAKP,QAAQG,QAAQT,gBAAgBU,KAAAA,GAAQC,KAAAA;EAEvD,OAAO;GACHC;GACAC;EACJ;CACJ;CAEA,MACMC,IACF,MACA,OACmB;EACnBZ,wBAAwBQ,OAAOE,IAAAA;EAC/B,MAAMD,QAAQR,kBAAkBO,KAAAA;EAChC,MAAMK,SAAS,MAAM,KAAKT,QAAQU,OAAOJ,MAAMD,KAAAA;EAE/CD,MAAMO,SAASC,SAAS;EAExB,OAAOH;CACX;CAEA,MACMI,MACF,IACA,MACA,OACmC;EACnC,MAAMR,QAAQR,kBAAkBO,KAAAA;EAChC,MAAMW,SAAS,MAAM,KAAKd,eAAee,UACrCF,IACAR,MACAD,OACAP,kBAAkBM,KAAAA,CAAAA;EAGtBA,MAAMO,SAASC,SAAS;EACxB,IAAIG,OAAOE,SACP,OAAO,EAAEL,QAAQ,UAAU;EAG/B,OAAO;GACHA,QAAQ;GACRN,MAAMtB,eAAe+B,OAAOG,KAAK;EACrC;CACJ;CAEA,MACMC,IACF,IACA,OACmB;EACnB,MAAMd,QAAQR,kBAAkBO,KAAAA;EAOhC,OAAOK,MANc,KAAKT,QAAQoB,OAC9BN,IACAT,OACAP,kBAAkBM,KAAAA,CAAAA;CAI1B;CAEA,MACMiB,KACF,IACA,MACA,OACmB;EACnBzB,wBAAwBQ,OAAOE,IAAAA;EAC/B,MAAMD,QAAQR,kBAAkBO,KAAAA;EAChC,MAAMK,SAAS,MAAM,KAAKT,QAAQsB,OAC9BR,IACAR,MACAD,KAAAA;EAGJD,MAAMO,SAASC,SAAS;EAExB,OAAOH;CACX;CAEA,MACMc,IACF,IACA,MACA,OACmB;EACnB3B,wBAAwBQ,OAAOE,IAAAA;EAC/B,MAAMD,QAAQR,kBAAkBO,KAAAA;EAChC,MAAM,EACFK,QACAe,YACA,MAAM,KAAKxB,QAAQyB,KACnBX,MAAMY,KAAAA,GACNpB,MACAD,KAAAA;EAGJD,MAAMO,SAASC,SAASY,UAAU,MAAM;EACxC,OAAOf;CACX;CAEA,MACMkB,KACF,IACA,OACmB;EACnB,MAAMtB,QAAQR,kBAAkBO,KAAAA;EAChC,MAAMK,SAAS,MAAM,KAAKT,QAAQ4B,OAAOd,IAAIT,KAAAA;EAE7CD,MAAMO,SAASC,SAAS;EAExB,OAAOH;CACX;AACJ;;CA1Hed,KAAAA,IAAAA,CAAAA,uBAAAA,CAAAA;;;;;;;CAgBCA,MAAAA,IAAAA,CAAAA,uBAAAA,CAAAA;;;;;;;;CAcUA,MAAAA,cAAAA,CAAAA,uBAAAA,CAAAA;;;;;;;;;;;;;CAyBPA,KAAAA,QAAAA,CAAAA,uBAAAA,CAAAA;;;;;;;;CAeCA,MAAAA,QAAAA,CAAAA,uBAAAA,CAAAA;;;;;;;;;;;;;CAmBDA,KAAAA,QAAAA,CAAAA,uBAAAA,CAAAA;;;;;;;;;;;;;CAqBGA,QAAAA,QAAAA,CAAAA,uBAAAA,CAAAA;;;;;;;;;CAzHR,YAAA,CAAA,gBAAgB,8BAAA,CAAA"}
|
|
@@ -14,8 +14,8 @@ function _ts_decorate(decorators, target, key, desc) {
|
|
|
14
14
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
15
15
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
16
16
|
}
|
|
17
|
-
function _ts_metadata(
|
|
18
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(
|
|
17
|
+
function _ts_metadata(metadataKey, metadataValue) {
|
|
18
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
|
|
19
19
|
}
|
|
20
20
|
function _ts_param(paramIndex, decorator) {
|
|
21
21
|
return function(target, key) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.mjs","names":["DBody","DContext","DController","DDelete","DGet","DPath","DPost","DTags","useRequestQuery","ForceLoggedInMiddleware","buildActorContext","PermissionPolicyController","service","ctx","getMany","event","actor","data","meta","add","entity","create","response","status","getOne","id","drop","delete"],"sources":["../../../../../../src/adapters/http/controllers/entities/permission-policy/module.ts"],"sourcesContent":["/*\n * Copyright (c) 2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport {\n DBody,\n DContext,\n DController,\n DDelete,\n DGet,\n DPath,\n DPost,\n DTags,\n} from '@routup/decorators';\nimport type { IAppEvent } from 'routup';\nimport { useRequestQuery } from '@routup/basic/query';\nimport type {\n EntityCollectionResponse,\n PermissionPolicyCreatePayload,\n} from '@authup/core-http-kit';\nimport type { PermissionPolicy } from '@authup/core-kit';\nimport type { IPermissionPolicyService } from '../../../../../core/index.ts';\nimport { ForceLoggedInMiddleware } from '../../../middleware/index.ts';\nimport { buildActorContext } from '../../../request/index.ts';\n\nexport type PermissionPolicyControllerContext = {\n service: IPermissionPolicyService,\n};\n\n@DTags('permission')\n@DController('/permission-policies')\nexport class PermissionPolicyController {\n protected service: IPermissionPolicyService;\n\n constructor(ctx: PermissionPolicyControllerContext) {\n this.service = ctx.service;\n }\n\n @DGet('', [ForceLoggedInMiddleware])\n async getMany(\n @DContext() event: IAppEvent,\n ): Promise<EntityCollectionResponse<PermissionPolicy>> {\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: PermissionPolicyCreatePayload,\n @DContext() event: IAppEvent,\n ): Promise<PermissionPolicy> {\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 @DGet('/:id', [ForceLoggedInMiddleware])\n async getOne(\n @DPath('id') id: string,\n @DContext() event: IAppEvent,\n ): Promise<PermissionPolicy> {\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: IAppEvent,\n ): Promise<PermissionPolicy> {\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":";;;;;;;;;;;;;;;;;;;;;;;;AAkCA,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,OACF,IACA,OACyB;EACzB,MAAMR,QAAQN,kBAAkBK,KAAAA;EAGhC,OAAOK,MAFc,KAAKR,QAAQY,OAAOC,IAAIT,KAAAA;CAGjD;CAEA,MACMU,KACF,IACA,OACyB;EACzB,MAAMV,QAAQN,kBAAkBK,KAAAA;EAChC,MAAMK,SAAS,MAAM,KAAKR,QAAQe,OAAOF,IAAIT,KAAAA;EAE7CD,MAAMO,SAASC,SAAS;EAExB,OAAOH;CACX;AACJ;;
|
|
1
|
+
{"version":3,"file":"module.mjs","names":["DBody","DContext","DController","DDelete","DGet","DPath","DPost","DTags","useRequestQuery","ForceLoggedInMiddleware","buildActorContext","PermissionPolicyController","service","ctx","getMany","event","actor","data","meta","add","entity","create","response","status","getOne","id","drop","delete"],"sources":["../../../../../../src/adapters/http/controllers/entities/permission-policy/module.ts"],"sourcesContent":["/*\n * Copyright (c) 2026.\n * Author Peter Placzek (tada5hi)\n * For the full copyright and license information,\n * view the LICENSE file that was distributed with this source code.\n */\n\nimport {\n DBody,\n DContext,\n DController,\n DDelete,\n DGet,\n DPath,\n DPost,\n DTags,\n} from '@routup/decorators';\nimport type { IAppEvent } from 'routup';\nimport { useRequestQuery } from '@routup/basic/query';\nimport type {\n EntityCollectionResponse,\n PermissionPolicyCreatePayload,\n} from '@authup/core-http-kit';\nimport type { PermissionPolicy } from '@authup/core-kit';\nimport type { IPermissionPolicyService } from '../../../../../core/index.ts';\nimport { ForceLoggedInMiddleware } from '../../../middleware/index.ts';\nimport { buildActorContext } from '../../../request/index.ts';\n\nexport type PermissionPolicyControllerContext = {\n service: IPermissionPolicyService,\n};\n\n@DTags('permission')\n@DController('/permission-policies')\nexport class PermissionPolicyController {\n protected service: IPermissionPolicyService;\n\n constructor(ctx: PermissionPolicyControllerContext) {\n this.service = ctx.service;\n }\n\n @DGet('', [ForceLoggedInMiddleware])\n async getMany(\n @DContext() event: IAppEvent,\n ): Promise<EntityCollectionResponse<PermissionPolicy>> {\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: PermissionPolicyCreatePayload,\n @DContext() event: IAppEvent,\n ): Promise<PermissionPolicy> {\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 @DGet('/:id', [ForceLoggedInMiddleware])\n async getOne(\n @DPath('id') id: string,\n @DContext() event: IAppEvent,\n ): Promise<PermissionPolicy> {\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: IAppEvent,\n ): Promise<PermissionPolicy> {\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":";;;;;;;;;;;;;;;;;;;;;;;;AAkCA,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,OACF,IACA,OACyB;EACzB,MAAMR,QAAQN,kBAAkBK,KAAAA;EAGhC,OAAOK,MAFc,KAAKR,QAAQY,OAAOC,IAAIT,KAAAA;CAGjD;CAEA,MACMU,KACF,IACA,OACyB;EACzB,MAAMV,QAAQN,kBAAkBK,KAAAA;EAChC,MAAMK,SAAS,MAAM,KAAKR,QAAQe,OAAOF,IAAIT,KAAAA;EAE7CD,MAAMO,SAASC,SAAS;EAExB,OAAOH;CACX;AACJ;;CArDeX,KAAAA,IAAAA,CAAAA,uBAAAA,CAAAA;;;;;;;CAgBCA,MAAAA,IAAAA,CAAAA,uBAAAA,CAAAA;;;;;;;;CAcGA,KAAAA,QAAAA,CAAAA,uBAAAA,CAAAA;;;;;;;;CAWGA,QAAAA,QAAAA,CAAAA,uBAAAA,CAAAA"}
|