@authup/server-core 1.0.0-beta.17 → 1.0.0-beta.19
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/commands/reset.js +1 -2
- package/dist/commands/reset.js.map +1 -1
- package/dist/commands/setup.js +1 -2
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/start.js +1 -2
- package/dist/commands/start.js.map +1 -1
- package/dist/config/build.js +1 -2
- package/dist/config/build.js.map +1 -1
- package/dist/config/module.js +3 -4
- package/dist/config/module.js.map +1 -1
- package/dist/config/parse.js +1 -2
- package/dist/config/parse.js.map +1 -1
- package/dist/config/services/logger.js +1 -2
- package/dist/config/services/logger.js.map +1 -1
- package/dist/config/services/redis.js +2 -3
- package/dist/config/services/redis.js.map +1 -1
- package/dist/config/services/smtp.js +1 -2
- package/dist/config/services/smtp.js.map +1 -1
- package/dist/config/services/vault.js +1 -2
- package/dist/config/services/vault.js.map +1 -1
- package/dist/config/setup.js +1 -2
- package/dist/config/setup.js.map +1 -1
- package/dist/config/utils/database.js +3 -4
- package/dist/config/utils/database.js.map +1 -1
- package/dist/config/utils/env.js +1 -2
- package/dist/config/utils/env.js.map +1 -1
- package/dist/core/domain-event-publisher/module.js +2 -3
- package/dist/core/domain-event-publisher/module.js.map +1 -1
- package/dist/core/request-validator/module.d.ts +1 -1
- package/dist/core/request-validator/module.d.ts.map +1 -1
- package/dist/core/request-validator/module.js +5 -3
- package/dist/core/request-validator/module.js.map +1 -1
- package/dist/core/smtp/module.js +1 -2
- package/dist/core/smtp/module.js.map +1 -1
- package/dist/core/smtp/singleton.js +3 -4
- package/dist/core/smtp/singleton.js.map +1 -1
- package/dist/database/helpers/data-source-options.js +2 -3
- package/dist/database/helpers/data-source-options.js.map +1 -1
- package/dist/database/helpers/entities.js +1 -2
- package/dist/database/helpers/entities.js.map +1 -1
- package/dist/database/helpers/subscribers.d.ts.map +1 -1
- package/dist/database/helpers/subscribers.js +4 -2
- package/dist/database/helpers/subscribers.js.map +1 -1
- package/dist/database/helpers/uniqueness.js +1 -2
- package/dist/database/helpers/uniqueness.js.map +1 -1
- package/dist/database/seeds/utils.js +1 -2
- package/dist/database/seeds/utils.js.map +1 -1
- package/dist/database/subscribers/index.d.ts +3 -0
- package/dist/database/subscribers/index.d.ts.map +1 -1
- package/dist/database/subscribers/index.js +3 -0
- package/dist/database/subscribers/index.js.map +1 -1
- package/dist/database/subscribers/permission.d.ts +9 -0
- package/dist/database/subscribers/permission.d.ts.map +1 -0
- package/dist/database/subscribers/permission.js +79 -0
- package/dist/database/subscribers/permission.js.map +1 -0
- package/dist/database/subscribers/policy-attribute.d.ts +9 -0
- package/dist/database/subscribers/policy-attribute.d.ts.map +1 -0
- package/dist/database/subscribers/policy-attribute.js +91 -0
- package/dist/database/subscribers/policy-attribute.js.map +1 -0
- package/dist/database/subscribers/policy.d.ts +9 -0
- package/dist/database/subscribers/policy.d.ts.map +1 -0
- package/dist/database/subscribers/policy.js +79 -0
- package/dist/database/subscribers/policy.js.map +1 -0
- package/dist/domains/constants.d.ts +2 -0
- package/dist/domains/constants.d.ts.map +1 -1
- package/dist/domains/constants.js +2 -0
- package/dist/domains/constants.js.map +1 -1
- package/dist/domains/identity-provider/flow/factory.js +1 -2
- package/dist/domains/identity-provider/flow/factory.js.map +1 -1
- package/dist/domains/identity-provider/protocol/ldap/extract.js +1 -2
- package/dist/domains/identity-provider/protocol/ldap/extract.js.map +1 -1
- package/dist/domains/identity-provider/protocol/ldap/validation.js +1 -2
- package/dist/domains/identity-provider/protocol/ldap/validation.js.map +1 -1
- package/dist/domains/identity-provider/protocol/oauth2/extract.js +1 -2
- package/dist/domains/identity-provider/protocol/oauth2/extract.js.map +1 -1
- package/dist/domains/identity-provider/protocol/oauth2/validation.js +1 -2
- package/dist/domains/identity-provider/protocol/oauth2/validation.js.map +1 -1
- package/dist/domains/key/utils/sign.js +1 -2
- package/dist/domains/key/utils/sign.js.map +1 -1
- package/dist/domains/key/utils/singleton.js +1 -2
- package/dist/domains/key/utils/singleton.js.map +1 -1
- package/dist/domains/key/utils/verify.js +1 -2
- package/dist/domains/key/utils/verify.js.map +1 -1
- package/dist/domains/policy/built-in/attribute-names.js +1 -2
- package/dist/domains/policy/built-in/attribute-names.js.map +1 -1
- package/dist/domains/policy/built-in/attributes.js +1 -2
- package/dist/domains/policy/built-in/attributes.js.map +1 -1
- package/dist/domains/policy/built-in/date.js +1 -2
- package/dist/domains/policy/built-in/date.js.map +1 -1
- package/dist/domains/policy/built-in/time.js +1 -2
- package/dist/domains/policy/built-in/time.js.map +1 -1
- package/dist/domains/policy/repository.d.ts +1 -1
- package/dist/domains/policy/repository.d.ts.map +1 -1
- package/dist/domains/policy/repository.js +6 -5
- package/dist/domains/policy/repository.js.map +1 -1
- package/dist/domains/realm/utils/query.js +2 -3
- package/dist/domains/realm/utils/query.js.map +1 -1
- package/dist/domains/realm/utils/resolve.js +1 -2
- package/dist/domains/realm/utils/resolve.js.map +1 -1
- package/dist/domains/robot/vault.js +4 -5
- package/dist/domains/robot/vault.js.map +1 -1
- package/dist/domains/robot-permission/entity.js +1 -1
- package/dist/domains/robot-permission/entity.js.map +1 -1
- package/dist/domains/role/repository.d.ts +3 -2
- package/dist/domains/role/repository.d.ts.map +1 -1
- package/dist/domains/role/repository.js +16 -4
- package/dist/domains/role/repository.js.map +1 -1
- package/dist/domains/role-attribute/entity.d.ts +1 -1
- package/dist/domains/role-attribute/entity.d.ts.map +1 -1
- package/dist/domains/role-attribute/entity.js +3 -3
- package/dist/domains/role-attribute/entity.js.map +1 -1
- package/dist/domains/role-permission/entity.js +1 -1
- package/dist/domains/role-permission/entity.js.map +1 -1
- package/dist/domains/user-permission/entity.js +1 -1
- package/dist/domains/user-permission/entity.js.map +1 -1
- package/dist/http/controllers/client/handlers/create.d.ts.map +1 -1
- package/dist/http/controllers/client/handlers/create.js +5 -3
- package/dist/http/controllers/client/handlers/create.js.map +1 -1
- package/dist/http/controllers/client/handlers/delete.d.ts.map +1 -1
- package/dist/http/controllers/client/handlers/delete.js +7 -4
- package/dist/http/controllers/client/handlers/delete.js.map +1 -1
- package/dist/http/controllers/client/handlers/read.d.ts.map +1 -1
- package/dist/http/controllers/client/handlers/read.js +22 -8
- package/dist/http/controllers/client/handlers/read.js.map +1 -1
- package/dist/http/controllers/client/handlers/update.d.ts.map +1 -1
- package/dist/http/controllers/client/handlers/update.js +6 -4
- package/dist/http/controllers/client/handlers/update.js.map +1 -1
- package/dist/http/controllers/client-scope/handlers/create.d.ts.map +1 -1
- package/dist/http/controllers/client-scope/handlers/create.js +5 -3
- package/dist/http/controllers/client-scope/handlers/create.js.map +1 -1
- package/dist/http/controllers/client-scope/handlers/delete.d.ts.map +1 -1
- package/dist/http/controllers/client-scope/handlers/delete.js +7 -4
- package/dist/http/controllers/client-scope/handlers/delete.js.map +1 -1
- package/dist/http/controllers/client-scope/handlers/read.d.ts.map +1 -1
- package/dist/http/controllers/client-scope/handlers/read.js +18 -4
- package/dist/http/controllers/client-scope/handlers/read.js.map +1 -1
- package/dist/http/controllers/identity-provide-role/handlers/create.d.ts.map +1 -1
- package/dist/http/controllers/identity-provide-role/handlers/create.js +5 -3
- package/dist/http/controllers/identity-provide-role/handlers/create.js.map +1 -1
- package/dist/http/controllers/identity-provide-role/handlers/delete.d.ts.map +1 -1
- package/dist/http/controllers/identity-provide-role/handlers/delete.js +7 -4
- package/dist/http/controllers/identity-provide-role/handlers/delete.js.map +1 -1
- package/dist/http/controllers/identity-provide-role/handlers/read.d.ts.map +1 -1
- package/dist/http/controllers/identity-provide-role/handlers/read.js +18 -4
- package/dist/http/controllers/identity-provide-role/handlers/read.js.map +1 -1
- package/dist/http/controllers/identity-provide-role/handlers/update.d.ts.map +1 -1
- package/dist/http/controllers/identity-provide-role/handlers/update.js +6 -4
- package/dist/http/controllers/identity-provide-role/handlers/update.js.map +1 -1
- package/dist/http/controllers/identity-provider/handlers/create.d.ts.map +1 -1
- package/dist/http/controllers/identity-provider/handlers/create.js +5 -3
- package/dist/http/controllers/identity-provider/handlers/create.js.map +1 -1
- package/dist/http/controllers/identity-provider/handlers/custom.d.ts.map +1 -1
- package/dist/http/controllers/identity-provider/handlers/custom.js +5 -5
- package/dist/http/controllers/identity-provider/handlers/custom.js.map +1 -1
- package/dist/http/controllers/identity-provider/handlers/delete.d.ts.map +1 -1
- package/dist/http/controllers/identity-provider/handlers/delete.js +10 -7
- package/dist/http/controllers/identity-provider/handlers/delete.js.map +1 -1
- package/dist/http/controllers/identity-provider/handlers/read.d.ts.map +1 -1
- package/dist/http/controllers/identity-provider/handlers/read.js +12 -6
- package/dist/http/controllers/identity-provider/handlers/read.js.map +1 -1
- package/dist/http/controllers/identity-provider/handlers/update.d.ts.map +1 -1
- package/dist/http/controllers/identity-provider/handlers/update.js +6 -4
- package/dist/http/controllers/identity-provider/handlers/update.js.map +1 -1
- package/dist/http/controllers/identity-provider/module.js +2 -2
- package/dist/http/controllers/identity-provider/module.js.map +1 -1
- package/dist/http/controllers/permission/handlers/create.d.ts.map +1 -1
- package/dist/http/controllers/permission/handlers/create.js +5 -3
- package/dist/http/controllers/permission/handlers/create.js.map +1 -1
- package/dist/http/controllers/permission/handlers/delete.d.ts.map +1 -1
- package/dist/http/controllers/permission/handlers/delete.js +7 -4
- package/dist/http/controllers/permission/handlers/delete.js.map +1 -1
- package/dist/http/controllers/permission/handlers/read.d.ts.map +1 -1
- package/dist/http/controllers/permission/handlers/read.js +20 -4
- package/dist/http/controllers/permission/handlers/read.js.map +1 -1
- package/dist/http/controllers/permission/handlers/update.d.ts.map +1 -1
- package/dist/http/controllers/permission/handlers/update.js +6 -4
- package/dist/http/controllers/permission/handlers/update.js.map +1 -1
- package/dist/http/controllers/policy/handlers/create.d.ts.map +1 -1
- package/dist/http/controllers/policy/handlers/create.js +5 -3
- package/dist/http/controllers/policy/handlers/create.js.map +1 -1
- package/dist/http/controllers/policy/handlers/delete.d.ts.map +1 -1
- package/dist/http/controllers/policy/handlers/delete.js +7 -4
- package/dist/http/controllers/policy/handlers/delete.js.map +1 -1
- package/dist/http/controllers/policy/handlers/read.d.ts.map +1 -1
- package/dist/http/controllers/policy/handlers/read.js +20 -4
- package/dist/http/controllers/policy/handlers/read.js.map +1 -1
- package/dist/http/controllers/policy/handlers/update.d.ts.map +1 -1
- package/dist/http/controllers/policy/handlers/update.js +6 -4
- package/dist/http/controllers/policy/handlers/update.js.map +1 -1
- package/dist/http/controllers/policy/utils/validation.d.ts.map +1 -1
- package/dist/http/controllers/policy/utils/validation.js +9 -7
- package/dist/http/controllers/policy/utils/validation.js.map +1 -1
- package/dist/http/controllers/realm/handlers/create.d.ts.map +1 -1
- package/dist/http/controllers/realm/handlers/create.js +5 -3
- package/dist/http/controllers/realm/handlers/create.js.map +1 -1
- package/dist/http/controllers/realm/handlers/delete.d.ts.map +1 -1
- package/dist/http/controllers/realm/handlers/delete.js +9 -6
- package/dist/http/controllers/realm/handlers/delete.js.map +1 -1
- package/dist/http/controllers/realm/handlers/jwks.d.ts.map +1 -1
- package/dist/http/controllers/realm/handlers/jwks.js +3 -3
- package/dist/http/controllers/realm/handlers/jwks.js.map +1 -1
- package/dist/http/controllers/realm/handlers/openid.d.ts.map +1 -1
- package/dist/http/controllers/realm/handlers/openid.js +3 -3
- package/dist/http/controllers/realm/handlers/openid.js.map +1 -1
- package/dist/http/controllers/realm/handlers/read.d.ts.map +1 -1
- package/dist/http/controllers/realm/handlers/read.js +6 -7
- package/dist/http/controllers/realm/handlers/read.js.map +1 -1
- package/dist/http/controllers/realm/handlers/update.d.ts.map +1 -1
- package/dist/http/controllers/realm/handlers/update.js +6 -4
- package/dist/http/controllers/realm/handlers/update.js.map +1 -1
- package/dist/http/controllers/register.js +1 -2
- package/dist/http/controllers/register.js.map +1 -1
- package/dist/http/controllers/robot/handlers/create.d.ts.map +1 -1
- package/dist/http/controllers/robot/handlers/create.js +6 -9
- package/dist/http/controllers/robot/handlers/create.js.map +1 -1
- package/dist/http/controllers/robot/handlers/delete.d.ts.map +1 -1
- package/dist/http/controllers/robot/handlers/delete.js +6 -9
- package/dist/http/controllers/robot/handlers/delete.js.map +1 -1
- package/dist/http/controllers/robot/handlers/integrity.d.ts.map +1 -1
- package/dist/http/controllers/robot/handlers/integrity.js +3 -3
- package/dist/http/controllers/robot/handlers/integrity.js.map +1 -1
- package/dist/http/controllers/robot/handlers/read.d.ts.map +1 -1
- package/dist/http/controllers/robot/handlers/read.js +22 -8
- package/dist/http/controllers/robot/handlers/read.js.map +1 -1
- package/dist/http/controllers/robot/handlers/update.d.ts.map +1 -1
- package/dist/http/controllers/robot/handlers/update.js +5 -9
- package/dist/http/controllers/robot/handlers/update.js.map +1 -1
- package/dist/http/controllers/robot-permission/handlers/create.js +5 -6
- package/dist/http/controllers/robot-permission/handlers/create.js.map +1 -1
- package/dist/http/controllers/robot-permission/handlers/delete.d.ts.map +1 -1
- package/dist/http/controllers/robot-permission/handlers/delete.js +7 -5
- package/dist/http/controllers/robot-permission/handlers/delete.js.map +1 -1
- package/dist/http/controllers/robot-permission/handlers/read.d.ts.map +1 -1
- package/dist/http/controllers/robot-permission/handlers/read.js +16 -4
- package/dist/http/controllers/robot-permission/handlers/read.js.map +1 -1
- package/dist/http/controllers/robot-role/handlers/create.js +5 -6
- package/dist/http/controllers/robot-role/handlers/create.js.map +1 -1
- package/dist/http/controllers/robot-role/handlers/delete.d.ts.map +1 -1
- package/dist/http/controllers/robot-role/handlers/delete.js +9 -11
- package/dist/http/controllers/robot-role/handlers/delete.js.map +1 -1
- package/dist/http/controllers/robot-role/handlers/read.d.ts.map +1 -1
- package/dist/http/controllers/robot-role/handlers/read.js +18 -4
- package/dist/http/controllers/robot-role/handlers/read.js.map +1 -1
- package/dist/http/controllers/role/handlers/create.d.ts.map +1 -1
- package/dist/http/controllers/role/handlers/create.js +5 -3
- package/dist/http/controllers/role/handlers/create.js.map +1 -1
- package/dist/http/controllers/role/handlers/delete.d.ts.map +1 -1
- package/dist/http/controllers/role/handlers/delete.js +7 -4
- package/dist/http/controllers/role/handlers/delete.js.map +1 -1
- package/dist/http/controllers/role/handlers/read.d.ts.map +1 -1
- package/dist/http/controllers/role/handlers/read.js +20 -4
- package/dist/http/controllers/role/handlers/read.js.map +1 -1
- package/dist/http/controllers/role/handlers/update.d.ts.map +1 -1
- package/dist/http/controllers/role/handlers/update.js +6 -4
- package/dist/http/controllers/role/handlers/update.js.map +1 -1
- package/dist/http/controllers/role-attribute/handlers/create.js +2 -3
- package/dist/http/controllers/role-attribute/handlers/create.js.map +1 -1
- package/dist/http/controllers/role-attribute/handlers/delete.d.ts.map +1 -1
- package/dist/http/controllers/role-attribute/handlers/delete.js +4 -4
- package/dist/http/controllers/role-attribute/handlers/delete.js.map +1 -1
- package/dist/http/controllers/role-attribute/handlers/read.d.ts.map +1 -1
- package/dist/http/controllers/role-attribute/handlers/read.js +15 -6
- package/dist/http/controllers/role-attribute/handlers/read.js.map +1 -1
- package/dist/http/controllers/role-attribute/handlers/update.js +3 -4
- package/dist/http/controllers/role-attribute/handlers/update.js.map +1 -1
- package/dist/http/controllers/role-permission/handlers/create.js +5 -6
- package/dist/http/controllers/role-permission/handlers/create.js.map +1 -1
- package/dist/http/controllers/role-permission/handlers/delete.d.ts.map +1 -1
- package/dist/http/controllers/role-permission/handlers/delete.js +5 -5
- package/dist/http/controllers/role-permission/handlers/delete.js.map +1 -1
- package/dist/http/controllers/role-permission/handlers/read.d.ts.map +1 -1
- package/dist/http/controllers/role-permission/handlers/read.js +18 -4
- package/dist/http/controllers/role-permission/handlers/read.js.map +1 -1
- package/dist/http/controllers/root/authorize/handlers/run.js +1 -2
- package/dist/http/controllers/root/authorize/handlers/run.js.map +1 -1
- package/dist/http/controllers/root/base/handlers/activate.js +2 -2
- package/dist/http/controllers/root/base/handlers/activate.js.map +1 -1
- package/dist/http/controllers/root/base/handlers/password-forgot.js +2 -2
- package/dist/http/controllers/root/base/handlers/password-forgot.js.map +1 -1
- package/dist/http/controllers/root/base/handlers/password-reset.js +2 -2
- package/dist/http/controllers/root/base/handlers/password-reset.js.map +1 -1
- package/dist/http/controllers/root/base/handlers/register.js +2 -2
- package/dist/http/controllers/root/base/handlers/register.js.map +1 -1
- package/dist/http/controllers/root/jwks/handlers/read.d.ts.map +1 -1
- package/dist/http/controllers/root/jwks/handlers/read.js +4 -4
- package/dist/http/controllers/root/jwks/handlers/read.js.map +1 -1
- package/dist/http/controllers/root/openid/handlers/configuration.js +1 -2
- package/dist/http/controllers/root/openid/handlers/configuration.js.map +1 -1
- package/dist/http/controllers/root/status/module.js +2 -3
- package/dist/http/controllers/root/status/module.js.map +1 -1
- package/dist/http/controllers/root/token/handlers/create.js +1 -2
- package/dist/http/controllers/root/token/handlers/create.js.map +1 -1
- package/dist/http/controllers/root/token/handlers/introspect.js +2 -2
- package/dist/http/controllers/root/token/handlers/introspect.js.map +1 -1
- package/dist/http/controllers/scope/handlers/create.d.ts.map +1 -1
- package/dist/http/controllers/scope/handlers/create.js +5 -3
- package/dist/http/controllers/scope/handlers/create.js.map +1 -1
- package/dist/http/controllers/scope/handlers/delete.d.ts.map +1 -1
- package/dist/http/controllers/scope/handlers/delete.js +7 -4
- package/dist/http/controllers/scope/handlers/delete.js.map +1 -1
- package/dist/http/controllers/scope/handlers/read.d.ts.map +1 -1
- package/dist/http/controllers/scope/handlers/read.js +20 -4
- package/dist/http/controllers/scope/handlers/read.js.map +1 -1
- package/dist/http/controllers/scope/handlers/update.d.ts.map +1 -1
- package/dist/http/controllers/scope/handlers/update.js +6 -4
- package/dist/http/controllers/scope/handlers/update.js.map +1 -1
- package/dist/http/controllers/user/handlers/create.d.ts.map +1 -1
- package/dist/http/controllers/user/handlers/create.js +6 -4
- package/dist/http/controllers/user/handlers/create.js.map +1 -1
- package/dist/http/controllers/user/handlers/delete.d.ts.map +1 -1
- package/dist/http/controllers/user/handlers/delete.js +7 -4
- package/dist/http/controllers/user/handlers/delete.js.map +1 -1
- package/dist/http/controllers/user/handlers/read.d.ts.map +1 -1
- package/dist/http/controllers/user/handlers/read.js +34 -21
- package/dist/http/controllers/user/handlers/read.js.map +1 -1
- package/dist/http/controllers/user/handlers/update.js +4 -5
- package/dist/http/controllers/user/handlers/update.js.map +1 -1
- package/dist/http/controllers/user-attribute/handlers/create.d.ts.map +1 -1
- package/dist/http/controllers/user-attribute/handlers/create.js +21 -10
- package/dist/http/controllers/user-attribute/handlers/create.js.map +1 -1
- package/dist/http/controllers/user-attribute/handlers/delete.d.ts.map +1 -1
- package/dist/http/controllers/user-attribute/handlers/delete.js +10 -8
- package/dist/http/controllers/user-attribute/handlers/delete.js.map +1 -1
- package/dist/http/controllers/user-attribute/handlers/read.d.ts.map +1 -1
- package/dist/http/controllers/user-attribute/handlers/read.js +24 -15
- package/dist/http/controllers/user-attribute/handlers/read.js.map +1 -1
- package/dist/http/controllers/user-attribute/handlers/update.d.ts.map +1 -1
- package/dist/http/controllers/user-attribute/handlers/update.js +6 -5
- package/dist/http/controllers/user-attribute/handlers/update.js.map +1 -1
- package/dist/http/controllers/user-attribute/utils/validation.js +2 -2
- package/dist/http/controllers/user-attribute/utils/validation.js.map +1 -1
- package/dist/http/controllers/user-permission/handlers/create.js +5 -6
- package/dist/http/controllers/user-permission/handlers/create.js.map +1 -1
- package/dist/http/controllers/user-permission/handlers/delete.d.ts.map +1 -1
- package/dist/http/controllers/user-permission/handlers/delete.js +5 -5
- package/dist/http/controllers/user-permission/handlers/delete.js.map +1 -1
- package/dist/http/controllers/user-permission/handlers/read.d.ts.map +1 -1
- package/dist/http/controllers/user-permission/handlers/read.js +18 -4
- package/dist/http/controllers/user-permission/handlers/read.js.map +1 -1
- package/dist/http/controllers/user-role/handlers/create.js +5 -6
- package/dist/http/controllers/user-role/handlers/create.js.map +1 -1
- package/dist/http/controllers/user-role/handlers/delete.d.ts.map +1 -1
- package/dist/http/controllers/user-role/handlers/delete.js +5 -5
- package/dist/http/controllers/user-role/handlers/delete.js.map +1 -1
- package/dist/http/controllers/user-role/handlers/read.d.ts.map +1 -1
- package/dist/http/controllers/user-role/handlers/read.js +18 -4
- package/dist/http/controllers/user-role/handlers/read.js.map +1 -1
- package/dist/http/middleware/built-in/auth/module.js +1 -2
- package/dist/http/middleware/built-in/auth/module.js.map +1 -1
- package/dist/http/middleware/built-in/auth/verify.js +1 -2
- package/dist/http/middleware/built-in/auth/verify.js.map +1 -1
- package/dist/http/middleware/built-in/basic.js +1 -2
- package/dist/http/middleware/built-in/basic.js.map +1 -1
- package/dist/http/middleware/built-in/cors.js +1 -2
- package/dist/http/middleware/built-in/cors.js.map +1 -1
- package/dist/http/middleware/built-in/error.d.ts.map +1 -1
- package/dist/http/middleware/built-in/error.js +2 -2
- package/dist/http/middleware/built-in/error.js.map +1 -1
- package/dist/http/middleware/built-in/loggedin/module.js +2 -2
- package/dist/http/middleware/built-in/loggedin/module.js.map +1 -1
- package/dist/http/middleware/built-in/logger.js +1 -2
- package/dist/http/middleware/built-in/logger.js.map +1 -1
- package/dist/http/middleware/built-in/prometheus.js +1 -2
- package/dist/http/middleware/built-in/prometheus.js.map +1 -1
- package/dist/http/middleware/built-in/rate-limit.js +1 -2
- package/dist/http/middleware/built-in/rate-limit.js.map +1 -1
- package/dist/http/middleware/built-in/swagger.js +1 -2
- package/dist/http/middleware/built-in/swagger.js.map +1 -1
- package/dist/http/middleware/module.js +1 -2
- package/dist/http/middleware/module.js.map +1 -1
- package/dist/http/middleware/utils.js +2 -3
- package/dist/http/middleware/utils.js.map +1 -1
- package/dist/http/oauth2/authorize/module.js +1 -2
- package/dist/http/oauth2/authorize/module.js.map +1 -1
- package/dist/http/oauth2/authorize/validation.js +2 -2
- package/dist/http/oauth2/authorize/validation.js.map +1 -1
- package/dist/http/oauth2/cleaner/event.js +1 -2
- package/dist/http/oauth2/cleaner/event.js.map +1 -1
- package/dist/http/oauth2/cleaner/interval.js +1 -2
- package/dist/http/oauth2/cleaner/interval.js.map +1 -1
- package/dist/http/oauth2/cleaner/module.js +1 -2
- package/dist/http/oauth2/cleaner/module.js.map +1 -1
- package/dist/http/oauth2/cleaner/utils.js +1 -2
- package/dist/http/oauth2/cleaner/utils.js.map +1 -1
- package/dist/http/oauth2/grant-types/utils/guess.js +1 -2
- package/dist/http/oauth2/grant-types/utils/guess.js.map +1 -1
- package/dist/http/oauth2/openid/claims.js +1 -2
- package/dist/http/oauth2/openid/claims.js.map +1 -1
- package/dist/http/oauth2/response/bearer.js +1 -2
- package/dist/http/oauth2/response/bearer.js.map +1 -1
- package/dist/http/oauth2/response/utils/type.js +1 -2
- package/dist/http/oauth2/response/utils/type.js.map +1 -1
- package/dist/http/oauth2/scope/check.js +1 -2
- package/dist/http/oauth2/scope/check.js.map +1 -1
- package/dist/http/oauth2/scope/resolve.js +1 -2
- package/dist/http/oauth2/scope/resolve.js.map +1 -1
- package/dist/http/oauth2/token/builder/access-token.js +1 -2
- package/dist/http/oauth2/token/builder/access-token.js.map +1 -1
- package/dist/http/oauth2/token/builder/id-token.js +2 -3
- package/dist/http/oauth2/token/builder/id-token.js.map +1 -1
- package/dist/http/oauth2/token/builder/refresh-token.js +3 -4
- package/dist/http/oauth2/token/builder/refresh-token.js.map +1 -1
- package/dist/http/oauth2/token/payload/read.js +1 -2
- package/dist/http/oauth2/token/payload/read.js.map +1 -1
- package/dist/http/oauth2/token/permissions.js +1 -2
- package/dist/http/oauth2/token/permissions.js.map +1 -1
- package/dist/http/oauth2/token/sub.js +1 -2
- package/dist/http/oauth2/token/sub.js.map +1 -1
- package/dist/http/path.js +2 -3
- package/dist/http/path.js.map +1 -1
- package/dist/http/request/helper/id-param.d.ts +7 -0
- package/dist/http/request/helper/id-param.d.ts.map +1 -0
- package/dist/http/request/helper/id-param.js +28 -0
- package/dist/http/request/helper/id-param.js.map +1 -0
- package/dist/http/request/helper/index.d.ts +1 -0
- package/dist/http/request/helper/index.d.ts.map +1 -1
- package/dist/http/request/helper/index.js +1 -0
- package/dist/http/request/helper/index.js.map +1 -1
- package/dist/http/request/helper/master-realm.js +1 -2
- package/dist/http/request/helper/master-realm.js.map +1 -1
- package/dist/http/router/module.js +1 -2
- package/dist/http/router/module.js.map +1 -1
- package/dist/http/server/module.js +1 -2
- package/dist/http/server/module.js.map +1 -1
- package/dist/http/server/type.d.ts +0 -1
- package/dist/http/server/type.d.ts.map +1 -1
- package/dist/http/swagger/module.d.ts.map +1 -1
- package/dist/http/swagger/module.js +2 -2
- package/dist/http/swagger/module.js.map +1 -1
- package/dist/http/swagger/utils.js +1 -2
- package/dist/http/swagger/utils.js.map +1 -1
- package/dist/http/utils/env.js +2 -3
- package/dist/http/utils/env.js.map +1 -1
- package/dist/http/utils/owner.js +1 -2
- package/dist/http/utils/owner.js.map +1 -1
- package/dist/utils/attributes-extract.js +1 -2
- package/dist/utils/attributes-extract.js.map +1 -1
- package/dist/utils/error.js +3 -4
- package/dist/utils/error.js.map +1 -1
- package/dist/utils/self-id.d.ts +1 -1
- package/dist/utils/self-id.d.ts.map +1 -1
- package/dist/utils/self-id.js +1 -2
- package/dist/utils/self-id.js.map +1 -1
- package/package.json +14 -14
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../../../src/http/controllers/user/handlers/create.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAShD,wBAAsB,sBAAsB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAI,OAAO,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../../../src/http/controllers/user/handlers/create.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAShD,wBAAsB,sBAAsB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAI,OAAO,CAAC,GAAG,CAAC,CAwCvF"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* view the LICENSE file that was distributed with this source code.
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.createUserRouteHandler =
|
|
9
|
+
exports.createUserRouteHandler = createUserRouteHandler;
|
|
10
10
|
const http_1 = require("@ebec/http");
|
|
11
11
|
const core_kit_1 = require("@authup/core-kit");
|
|
12
12
|
const routup_1 = require("routup");
|
|
@@ -18,14 +18,14 @@ const utils_3 = require("../utils");
|
|
|
18
18
|
const request_1 = require("../../../request");
|
|
19
19
|
async function createUserRouteHandler(req, res) {
|
|
20
20
|
const ability = (0, utils_2.useRequestEnv)(req, 'abilities');
|
|
21
|
-
if (!ability.has(core_kit_1.PermissionName.
|
|
21
|
+
if (!ability.has(core_kit_1.PermissionName.USER_CREATE)) {
|
|
22
22
|
throw new http_1.ForbiddenError('You are not permitted to add a user.');
|
|
23
23
|
}
|
|
24
24
|
const validator = new utils_3.UserRequestValidator();
|
|
25
25
|
const data = await validator.execute(req, {
|
|
26
26
|
group: request_1.RequestHandlerOperation.CREATE,
|
|
27
27
|
});
|
|
28
|
-
if (!ability.has(core_kit_1.PermissionName.
|
|
28
|
+
if (!ability.has(core_kit_1.PermissionName.USER_CREATE)) {
|
|
29
29
|
delete data.name_locked;
|
|
30
30
|
delete data.active;
|
|
31
31
|
delete data.status;
|
|
@@ -35,6 +35,9 @@ async function createUserRouteHandler(req, res) {
|
|
|
35
35
|
const { id: realmId } = (0, utils_2.useRequestEnv)(req, 'realm');
|
|
36
36
|
data.realm_id = realmId;
|
|
37
37
|
}
|
|
38
|
+
if (!ability.can(core_kit_1.PermissionName.USER_CREATE, { attributes: data })) {
|
|
39
|
+
throw new http_1.ForbiddenError();
|
|
40
|
+
}
|
|
38
41
|
if (!(0, core_kit_1.isRealmResourceWritable)((0, utils_2.useRequestEnv)(req, 'realm'), data.realm_id)) {
|
|
39
42
|
throw new http_1.BadRequestError((0, utils_1.buildErrorMessageForAttribute)('realm_id'));
|
|
40
43
|
}
|
|
@@ -45,5 +48,4 @@ async function createUserRouteHandler(req, res) {
|
|
|
45
48
|
delete entity.password;
|
|
46
49
|
return (0, routup_1.sendCreated)(res, entity);
|
|
47
50
|
}
|
|
48
|
-
exports.createUserRouteHandler = createUserRouteHandler;
|
|
49
51
|
//# sourceMappingURL=create.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../../src/http/controllers/user/handlers/create.ts"],"names":[],"mappings":";AAAA;;;;;GAKG
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../../src/http/controllers/user/handlers/create.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAaH,wDAwCC;AAnDD,qCAA6D;AAC7D,+CAA2E;AAE3E,mCAAqC;AACrC,yDAAkD;AAClD,iDAAqD;AACrD,6CAAkE;AAClE,0CAA+C;AAC/C,oCAAgD;AAChD,8CAA2D;AAEpD,KAAK,UAAU,sBAAsB,CAAC,GAAY,EAAE,GAAa;IACpE,MAAM,OAAO,GAAG,IAAA,qBAAa,EAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAChD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAc,CAAC,WAAW,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,qBAAc,CAAC,sCAAsC,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,4BAAoB,EAAE,CAAC;IAC7C,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE;QACtC,KAAK,EAAE,iCAAuB,CAAC,MAAM;KACxC,CAAC,CAAC;IAEH,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAc,CAAC,WAAW,CAAC,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAC,WAAW,CAAC;QACxB,OAAO,IAAI,CAAC,MAAM,CAAC;QACnB,OAAO,IAAI,CAAC,MAAM,CAAC;QACnB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC/B,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACjB,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,IAAA,qBAAa,EAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC5B,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAc,CAAC,WAAW,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QACjE,MAAM,IAAI,qBAAc,EAAE,CAAC;IAC/B,CAAC;IAED,IAAI,CAAC,IAAA,kCAAuB,EAAC,IAAA,qBAAa,EAAC,GAAG,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvE,MAAM,IAAI,sBAAe,CAAC,IAAA,qCAA6B,EAAC,UAAU,CAAC,CAAC,CAAC;IACzE,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,IAAA,iCAAa,GAAE,CAAC;IACzC,MAAM,UAAU,GAAG,IAAI,wBAAc,CAAC,UAAU,CAAC,CAAC;IAClD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAE7D,MAAM,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAE9B,OAAO,MAAM,CAAC,QAAQ,CAAC;IAEvB,OAAO,IAAA,oBAAW,EAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AACpC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../../../src/http/controllers/user/handlers/delete.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../../../src/http/controllers/user/handlers/delete.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAOhD,wBAAsB,sBAAsB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAI,OAAO,CAAC,GAAG,CAAC,CAmCvF"}
|
|
@@ -6,17 +6,18 @@
|
|
|
6
6
|
* view the LICENSE file that was distributed with this source code.
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.deleteUserRouteHandler =
|
|
9
|
+
exports.deleteUserRouteHandler = deleteUserRouteHandler;
|
|
10
10
|
const http_1 = require("@ebec/http");
|
|
11
11
|
const core_kit_1 = require("@authup/core-kit");
|
|
12
12
|
const routup_1 = require("routup");
|
|
13
13
|
const typeorm_extension_1 = require("typeorm-extension");
|
|
14
14
|
const domains_1 = require("../../../../domains");
|
|
15
|
+
const request_1 = require("../../../request");
|
|
15
16
|
const utils_1 = require("../../../utils");
|
|
16
17
|
async function deleteUserRouteHandler(req, res) {
|
|
17
|
-
const id = (0,
|
|
18
|
+
const id = (0, request_1.useRequestIDParam)(req);
|
|
18
19
|
const ability = (0, utils_1.useRequestEnv)(req, 'abilities');
|
|
19
|
-
if (!ability.has(core_kit_1.PermissionName.
|
|
20
|
+
if (!ability.has(core_kit_1.PermissionName.USER_DELETE)) {
|
|
20
21
|
throw new http_1.ForbiddenError('You are not authorized to drop a user.');
|
|
21
22
|
}
|
|
22
23
|
if ((0, utils_1.useRequestEnv)(req, 'userId') === id) {
|
|
@@ -28,6 +29,9 @@ async function deleteUserRouteHandler(req, res) {
|
|
|
28
29
|
if (!entity) {
|
|
29
30
|
throw new http_1.NotFoundError();
|
|
30
31
|
}
|
|
32
|
+
if (!ability.can(core_kit_1.PermissionName.USER_DELETE, { attributes: entity })) {
|
|
33
|
+
throw new http_1.ForbiddenError();
|
|
34
|
+
}
|
|
31
35
|
if (!(0, core_kit_1.isRealmResourceWritable)((0, utils_1.useRequestEnv)(req, 'realm'), entity.realm_id)) {
|
|
32
36
|
throw new http_1.ForbiddenError(`You are not authorized to drop a user fo the realm ${entity.realm_id}`);
|
|
33
37
|
}
|
|
@@ -36,5 +40,4 @@ async function deleteUserRouteHandler(req, res) {
|
|
|
36
40
|
entity.id = entityId;
|
|
37
41
|
return (0, routup_1.sendAccepted)(res, entity);
|
|
38
42
|
}
|
|
39
|
-
exports.deleteUserRouteHandler = deleteUserRouteHandler;
|
|
40
43
|
//# sourceMappingURL=delete.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../../../src/http/controllers/user/handlers/delete.ts"],"names":[],"mappings":";AAAA;;;;;GAKG
|
|
1
|
+
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../../../src/http/controllers/user/handlers/delete.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAWH,wDAmCC;AA5CD,qCAA4E;AAC5E,+CAA2E;AAE3E,mCAAsC;AACtC,yDAAkD;AAClD,iDAAqD;AACrD,8CAAqD;AACrD,0CAA+C;AAExC,KAAK,UAAU,sBAAsB,CAAC,GAAY,EAAE,GAAa;IACpE,MAAM,EAAE,GAAG,IAAA,2BAAiB,EAAC,GAAG,CAAC,CAAC;IAElC,MAAM,OAAO,GAAG,IAAA,qBAAa,EAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAChD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAc,CAAC,WAAW,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,qBAAc,CAAC,wCAAwC,CAAC,CAAC;IACvE,CAAC;IAED,IAAI,IAAA,qBAAa,EAAC,GAAG,EAAE,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,sBAAe,CAAC,kCAAkC,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,IAAA,iCAAa,GAAE,CAAC;IACzC,MAAM,UAAU,GAAG,IAAI,wBAAc,CAAC,UAAU,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAElD,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,MAAM,IAAI,oBAAa,EAAE,CAAC;IAC9B,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAc,CAAC,WAAW,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QACnE,MAAM,IAAI,qBAAc,EAAE,CAAC;IAC/B,CAAC;IAED,IAAI,CAAC,IAAA,kCAAuB,EAAC,IAAA,qBAAa,EAAC,GAAG,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzE,MAAM,IAAI,qBAAc,CAAC,sDAAsD,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IACtG,CAAC;IAED,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IAEhC,MAAM,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAEhC,MAAM,CAAC,EAAE,GAAG,QAAQ,CAAC;IAErB,OAAO,IAAA,qBAAY,EAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AACrC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../../../../src/http/controllers/user/handlers/read.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../../../../src/http/controllers/user/handlers/read.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AA+ChD,wBAAsB,uBAAuB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAI,OAAO,CAAC,GAAG,CAAC,CAiCxF;AAED,wBAAsB,sBAAsB,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAI,OAAO,CAAC,GAAG,CAAC,CAwEvF"}
|
|
@@ -6,7 +6,8 @@
|
|
|
6
6
|
* view the LICENSE file that was distributed with this source code.
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.
|
|
9
|
+
exports.getManyUserRouteHandler = getManyUserRouteHandler;
|
|
10
|
+
exports.getOneUserRouteHandler = getOneUserRouteHandler;
|
|
10
11
|
const query_1 = require("@routup/basic/query");
|
|
11
12
|
const routup_1 = require("routup");
|
|
12
13
|
const typeorm_extension_1 = require("typeorm-extension");
|
|
@@ -16,6 +17,7 @@ const kit_1 = require("@authup/kit");
|
|
|
16
17
|
const domains_1 = require("../../../../domains");
|
|
17
18
|
const utils_1 = require("../../../../utils");
|
|
18
19
|
const oauth2_1 = require("../../../oauth2");
|
|
20
|
+
const request_1 = require("../../../request");
|
|
19
21
|
const utils_2 = require("../../../utils");
|
|
20
22
|
function buildFieldsOption(req) {
|
|
21
23
|
const options = {
|
|
@@ -35,7 +37,7 @@ function buildFieldsOption(req) {
|
|
|
35
37
|
'realm_id',
|
|
36
38
|
],
|
|
37
39
|
};
|
|
38
|
-
if ((0, utils_2.useRequestEnv)(req, 'abilities').has(core_kit_1.PermissionName.
|
|
40
|
+
if ((0, utils_2.useRequestEnv)(req, 'abilities').has(core_kit_1.PermissionName.USER_UPDATE)) {
|
|
39
41
|
options.allowed = ['email'];
|
|
40
42
|
}
|
|
41
43
|
return options;
|
|
@@ -70,28 +72,23 @@ async function getManyUserRouteHandler(req, res) {
|
|
|
70
72
|
},
|
|
71
73
|
});
|
|
72
74
|
}
|
|
73
|
-
exports.getManyUserRouteHandler = getManyUserRouteHandler;
|
|
74
75
|
async function getOneUserRouteHandler(req, res) {
|
|
75
|
-
const id = (0,
|
|
76
|
+
const id = (0, request_1.useRequestIDParam)(req, {
|
|
77
|
+
strict: false,
|
|
78
|
+
});
|
|
76
79
|
const dataSource = await (0, typeorm_extension_1.useDataSource)();
|
|
77
80
|
const userRepository = new domains_1.UserRepository(dataSource);
|
|
78
81
|
const query = userRepository.createQueryBuilder('user');
|
|
79
|
-
const
|
|
80
|
-
let
|
|
81
|
-
if ((0, utils_1.isSelfId)(id) &&
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
const validAttributes = userRepository.metadata.columns.map((column) => column.databaseName);
|
|
85
|
-
for (let i = 0; i < attributes.length; i++) {
|
|
86
|
-
const isValid = validAttributes.includes(attributes[i]);
|
|
87
|
-
if (isValid) {
|
|
88
|
-
// todo: remove attribute from attributes
|
|
89
|
-
query.addSelect(`user.${attributes[i]}`);
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
query.where('user.id = :id', { id: (0, utils_2.useRequestEnv)(req, 'userId') });
|
|
82
|
+
const userId = (0, utils_2.useRequestEnv)(req, 'userId');
|
|
83
|
+
let isMe = false;
|
|
84
|
+
if ((0, utils_1.isSelfId)(id) && userId) {
|
|
85
|
+
isMe = true;
|
|
86
|
+
query.where('user.id = :id', { id: userId });
|
|
93
87
|
}
|
|
94
88
|
else if ((0, kit_1.isUUID)(id)) {
|
|
89
|
+
if (id === userId) {
|
|
90
|
+
isMe = true;
|
|
91
|
+
}
|
|
95
92
|
query.where('user.id = :id', { id });
|
|
96
93
|
}
|
|
97
94
|
else {
|
|
@@ -99,6 +96,24 @@ async function getOneUserRouteHandler(req, res) {
|
|
|
99
96
|
const realm = await (0, domains_1.resolveRealm)((0, routup_1.useRequestParam)(req, 'realmId'), true);
|
|
100
97
|
query.andWhere('user.realm_id = :realmId', { realmId: realm.id });
|
|
101
98
|
}
|
|
99
|
+
const ability = (0, utils_2.useRequestEnv)(req, 'abilities');
|
|
100
|
+
const hasAbility = ability.has(core_kit_1.PermissionName.USER_READ) ||
|
|
101
|
+
ability.has(core_kit_1.PermissionName.USER_UPDATE) ||
|
|
102
|
+
ability.has(core_kit_1.PermissionName.USER_DELETE);
|
|
103
|
+
if (!isMe && !hasAbility) {
|
|
104
|
+
throw new http_1.ForbiddenError();
|
|
105
|
+
}
|
|
106
|
+
const scopes = (0, utils_2.useRequestEnv)(req, 'scopes');
|
|
107
|
+
if (isMe) {
|
|
108
|
+
const attributes = (0, oauth2_1.resolveOAuth2SubAttributesForScope)(kit_1.OAuth2SubKind.USER, scopes);
|
|
109
|
+
const validAttributes = userRepository.metadata.columns.map((column) => column.databaseName);
|
|
110
|
+
for (let i = 0; i < attributes.length; i++) {
|
|
111
|
+
const isValid = validAttributes.includes(attributes[i]);
|
|
112
|
+
if (isValid) {
|
|
113
|
+
query.addSelect(`user.${attributes[i]}`);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
102
117
|
(0, domains_1.onlyRealmReadableQueryResources)(query, (0, utils_2.useRequestEnv)(req, 'realm'));
|
|
103
118
|
(0, typeorm_extension_1.applyQuery)(query, (0, query_1.useRequestQuery)(req), {
|
|
104
119
|
defaultAlias: 'user',
|
|
@@ -111,11 +126,9 @@ async function getOneUserRouteHandler(req, res) {
|
|
|
111
126
|
if (!entity) {
|
|
112
127
|
throw new http_1.NotFoundError();
|
|
113
128
|
}
|
|
114
|
-
if ((0,
|
|
115
|
-
(0, oauth2_1.hasOAuth2Scope)(scopes, core_kit_1.ScopeName.GLOBAL)) {
|
|
129
|
+
if ((isMe && (0, oauth2_1.hasOAuth2Scope)(scopes, core_kit_1.ScopeName.GLOBAL)) || hasAbility) {
|
|
116
130
|
await userRepository.findAndAppendExtraAttributesTo(entity);
|
|
117
131
|
}
|
|
118
132
|
return (0, routup_1.send)(res, entity);
|
|
119
133
|
}
|
|
120
|
-
exports.getOneUserRouteHandler = getOneUserRouteHandler;
|
|
121
134
|
//# sourceMappingURL=read.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read.js","sourceRoot":"","sources":["../../../../../src/http/controllers/user/handlers/read.ts"],"names":[],"mappings":";AAAA;;;;;GAKG
|
|
1
|
+
{"version":3,"file":"read.js","sourceRoot":"","sources":["../../../../../src/http/controllers/user/handlers/read.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* view the LICENSE file that was distributed with this source code.
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.updateUserRouteHandler =
|
|
9
|
+
exports.updateUserRouteHandler = updateUserRouteHandler;
|
|
10
10
|
const http_1 = require("@ebec/http");
|
|
11
11
|
const core_kit_1 = require("@authup/core-kit");
|
|
12
12
|
const routup_1 = require("routup");
|
|
@@ -17,10 +17,10 @@ const utils_1 = require("../../../utils");
|
|
|
17
17
|
const utils_2 = require("../utils");
|
|
18
18
|
const request_1 = require("../../../request");
|
|
19
19
|
async function updateUserRouteHandler(req, res) {
|
|
20
|
-
const id = (0,
|
|
20
|
+
const id = (0, request_1.useRequestIDParam)(req);
|
|
21
21
|
const ability = (0, utils_1.useRequestEnv)(req, 'abilities');
|
|
22
22
|
const env = (0, utils_1.useRequestEnv)(req);
|
|
23
|
-
if (!ability.has(core_kit_1.PermissionName.
|
|
23
|
+
if (!ability.has(core_kit_1.PermissionName.USER_UPDATE) &&
|
|
24
24
|
env.userId !== id) {
|
|
25
25
|
throw new http_1.ForbiddenError('You are not authorized to modify a user.');
|
|
26
26
|
}
|
|
@@ -28,7 +28,7 @@ async function updateUserRouteHandler(req, res) {
|
|
|
28
28
|
const data = await validator.execute(req, {
|
|
29
29
|
group: request_1.RequestHandlerOperation.UPDATE,
|
|
30
30
|
});
|
|
31
|
-
if (!ability.has(core_kit_1.PermissionName.
|
|
31
|
+
if (!ability.has(core_kit_1.PermissionName.USER_UPDATE)) {
|
|
32
32
|
delete data.name_locked;
|
|
33
33
|
delete data.active;
|
|
34
34
|
delete data.status;
|
|
@@ -66,5 +66,4 @@ async function updateUserRouteHandler(req, res) {
|
|
|
66
66
|
await repository.save(entity);
|
|
67
67
|
return (0, routup_1.sendAccepted)(res, entity);
|
|
68
68
|
}
|
|
69
|
-
exports.updateUserRouteHandler = updateUserRouteHandler;
|
|
70
69
|
//# sourceMappingURL=update.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../../src/http/controllers/user/handlers/update.ts"],"names":[],"mappings":";AAAA;;;;;GAKG
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../../src/http/controllers/user/handlers/update.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../../../src/http/controllers/user-attribute/handlers/create.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../../../src/http/controllers/user-attribute/handlers/create.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAShD,wBAAsB,+BAA+B,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAI,OAAO,CAAC,GAAG,CAAC,CA+ChG"}
|
|
@@ -6,40 +6,51 @@
|
|
|
6
6
|
* view the LICENSE file that was distributed with this source code.
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.createUserAttributeRouteHandler =
|
|
9
|
+
exports.createUserAttributeRouteHandler = createUserAttributeRouteHandler;
|
|
10
10
|
const http_1 = require("@ebec/http");
|
|
11
11
|
const core_kit_1 = require("@authup/core-kit");
|
|
12
12
|
const routup_1 = require("routup");
|
|
13
13
|
const typeorm_extension_1 = require("typeorm-extension");
|
|
14
14
|
const domains_1 = require("../../../../domains");
|
|
15
|
-
const utils_1 = require("
|
|
16
|
-
const utils_2 = require("
|
|
15
|
+
const utils_1 = require("../../../../utils");
|
|
16
|
+
const utils_2 = require("../../../utils");
|
|
17
|
+
const utils_3 = require("../utils");
|
|
17
18
|
const request_1 = require("../../../request");
|
|
18
19
|
async function createUserAttributeRouteHandler(req, res) {
|
|
19
|
-
const validator = new
|
|
20
|
+
const validator = new utils_3.UserAttributeRequestValidator();
|
|
20
21
|
const data = await validator.execute(req, {
|
|
21
22
|
group: request_1.RequestHandlerOperation.CREATE,
|
|
22
23
|
});
|
|
24
|
+
const userId = (0, utils_2.useRequestEnv)(req, 'userId');
|
|
23
25
|
if (data.user) {
|
|
24
26
|
data.realm_id = data.user.realm_id;
|
|
25
27
|
data.user_id = data.user.id;
|
|
26
28
|
}
|
|
27
29
|
else {
|
|
28
|
-
const { id } = (0,
|
|
30
|
+
const { id } = (0, utils_2.useRequestEnv)(req, 'realm');
|
|
29
31
|
data.realm_id = id;
|
|
30
|
-
|
|
32
|
+
if (userId) {
|
|
33
|
+
data.user_id = userId;
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
throw new http_1.BadRequestError((0, utils_1.buildErrorMessageForAttribute)('user_id'));
|
|
37
|
+
}
|
|
31
38
|
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
39
|
+
const abilities = (0, utils_2.useRequestEnv)(req, 'abilities');
|
|
40
|
+
if (data.user_id !== userId) {
|
|
41
|
+
if (!abilities.has(core_kit_1.PermissionName.USER_UPDATE) ||
|
|
42
|
+
!(0, core_kit_1.isRealmResourceWritable)((0, utils_2.useRequestEnv)(req, 'realm'), data.realm_id)) {
|
|
35
43
|
throw new http_1.ForbiddenError('You are not permitted to set an attribute for the given user...');
|
|
36
44
|
}
|
|
37
45
|
}
|
|
38
46
|
const dataSource = await (0, typeorm_extension_1.useDataSource)();
|
|
39
47
|
const repository = dataSource.getRepository(domains_1.UserAttributeEntity);
|
|
40
48
|
const entity = repository.create(data);
|
|
49
|
+
if (data.user_id !== userId &&
|
|
50
|
+
!abilities.can(core_kit_1.PermissionName.USER_UPDATE, { attributes: entity })) {
|
|
51
|
+
throw new http_1.ForbiddenError();
|
|
52
|
+
}
|
|
41
53
|
await repository.save(entity);
|
|
42
54
|
return (0, routup_1.sendCreated)(res, entity);
|
|
43
55
|
}
|
|
44
|
-
exports.createUserAttributeRouteHandler = createUserAttributeRouteHandler;
|
|
45
56
|
//# sourceMappingURL=create.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../../src/http/controllers/user-attribute/handlers/create.ts"],"names":[],"mappings":";AAAA;;;;;GAKG
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../../src/http/controllers/user-attribute/handlers/create.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAgBH,0EA+CC;AA7DD,qCAA6D;AAC7D,+CAG0B;AAE1B,mCAAqC;AACrC,yDAAkD;AAClD,iDAA0D;AAC1D,6CAAkE;AAClE,0CAA+C;AAC/C,oCAAyD;AACzD,8CAA2D;AAEpD,KAAK,UAAU,+BAA+B,CAAC,GAAY,EAAE,GAAa;IAC7E,MAAM,SAAS,GAAG,IAAI,qCAA6B,EAAE,CAAC;IAEtD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE;QACtC,KAAK,EAAE,iCAAuB,CAAC,MAAM;KACxC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,IAAA,qBAAa,EAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC5C,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IAChC,CAAC;SAAM,CAAC;QACJ,MAAM,EAAE,EAAE,EAAE,GAAG,IAAA,qBAAa,EAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC3C,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,MAAM,EAAE,CAAC;YACT,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QAC1B,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,sBAAe,CAAC,IAAA,qCAA6B,EAAC,SAAS,CAAC,CAAC,CAAC;QACxE,CAAC;IACL,CAAC;IAED,MAAM,SAAS,GAAG,IAAA,qBAAa,EAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAElD,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;QAC1B,IACI,CAAC,SAAS,CAAC,GAAG,CAAC,yBAAc,CAAC,WAAW,CAAC;YAC1C,CAAC,IAAA,kCAAuB,EAAC,IAAA,qBAAa,EAAC,GAAG,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EACtE,CAAC;YACC,MAAM,IAAI,qBAAc,CAAC,iEAAiE,CAAC,CAAC;QAChG,CAAC;IACL,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,IAAA,iCAAa,GAAE,CAAC;IACzC,MAAM,UAAU,GAAG,UAAU,CAAC,aAAa,CAAC,6BAAmB,CAAC,CAAC;IAEjE,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAEvC,IACI,IAAI,CAAC,OAAO,KAAK,MAAM;QACvB,CAAC,SAAS,CAAC,GAAG,CAAC,yBAAc,CAAC,WAAW,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,EACpE,CAAC;QACC,MAAM,IAAI,qBAAc,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAE9B,OAAO,IAAA,oBAAW,EAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AACpC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../../../src/http/controllers/user-attribute/handlers/delete.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"delete.d.ts","sourceRoot":"","sources":["../../../../../src/http/controllers/user-attribute/handlers/delete.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAOhD,wBAAsB,+BAA+B,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAI,OAAO,CAAC,GAAG,CAAC,CA6BhG"}
|
|
@@ -6,25 +6,28 @@
|
|
|
6
6
|
* view the LICENSE file that was distributed with this source code.
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.deleteUserAttributeRouteHandler =
|
|
9
|
+
exports.deleteUserAttributeRouteHandler = deleteUserAttributeRouteHandler;
|
|
10
10
|
const http_1 = require("@ebec/http");
|
|
11
11
|
const core_kit_1 = require("@authup/core-kit");
|
|
12
12
|
const routup_1 = require("routup");
|
|
13
13
|
const typeorm_extension_1 = require("typeorm-extension");
|
|
14
14
|
const domains_1 = require("../../../../domains");
|
|
15
|
-
const
|
|
15
|
+
const request_1 = require("../../../request");
|
|
16
|
+
const utils_1 = require("../../../utils");
|
|
16
17
|
async function deleteUserAttributeRouteHandler(req, res) {
|
|
17
|
-
const id = (0,
|
|
18
|
+
const id = (0, request_1.useRequestIDParam)(req);
|
|
18
19
|
const dataSource = await (0, typeorm_extension_1.useDataSource)();
|
|
19
20
|
const repository = dataSource.getRepository(domains_1.UserAttributeEntity);
|
|
20
21
|
const entity = await repository.findOneBy({ id });
|
|
21
22
|
if (!entity) {
|
|
22
23
|
throw new http_1.NotFoundError();
|
|
23
24
|
}
|
|
24
|
-
if (entity.user_id !== (0,
|
|
25
|
-
if (!(0,
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
if (entity.user_id !== (0, utils_1.useRequestEnv)(req, 'userId')) {
|
|
26
|
+
if (!(0, core_kit_1.isRealmResourceWritable)((0, utils_1.useRequestEnv)(req, 'realm'), entity.realm_id)) {
|
|
27
|
+
throw new http_1.ForbiddenError('You are not permitted for the resource realm.');
|
|
28
|
+
}
|
|
29
|
+
if (!(0, utils_1.useRequestEnv)(req, 'abilities').can(core_kit_1.PermissionName.USER_UPDATE, { attributes: entity })) {
|
|
30
|
+
throw new http_1.ForbiddenError();
|
|
28
31
|
}
|
|
29
32
|
}
|
|
30
33
|
const { id: entityId } = entity;
|
|
@@ -32,5 +35,4 @@ async function deleteUserAttributeRouteHandler(req, res) {
|
|
|
32
35
|
entity.id = entityId;
|
|
33
36
|
return (0, routup_1.sendAccepted)(res, entity);
|
|
34
37
|
}
|
|
35
|
-
exports.deleteUserAttributeRouteHandler = deleteUserAttributeRouteHandler;
|
|
36
38
|
//# sourceMappingURL=delete.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../../../src/http/controllers/user-attribute/handlers/delete.ts"],"names":[],"mappings":";AAAA;;;;;GAKG
|
|
1
|
+
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../../../src/http/controllers/user-attribute/handlers/delete.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAYH,0EA6BC;AAvCD,qCAA2D;AAE3D,+CAA2E;AAE3E,mCAAsC;AACtC,yDAAkD;AAClD,iDAA0D;AAC1D,8CAAqD;AACrD,0CAA+C;AAExC,KAAK,UAAU,+BAA+B,CAAC,GAAY,EAAE,GAAa;IAC7E,MAAM,EAAE,GAAG,IAAA,2BAAiB,EAAC,GAAG,CAAC,CAAC;IAElC,MAAM,UAAU,GAAG,MAAM,IAAA,iCAAa,GAAE,CAAC;IACzC,MAAM,UAAU,GAAG,UAAU,CAAC,aAAa,CAAC,6BAAmB,CAAC,CAAC;IAEjE,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAElD,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,MAAM,IAAI,oBAAa,EAAE,CAAC;IAC9B,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,KAAK,IAAA,qBAAa,EAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC;QAClD,IAAI,CAAC,IAAA,kCAAuB,EAAC,IAAA,qBAAa,EAAC,GAAG,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzE,MAAM,IAAI,qBAAc,CAAC,+CAA+C,CAAC,CAAC;QAC9E,CAAC;QAED,IAAI,CAAC,IAAA,qBAAa,EAAC,GAAG,EAAE,WAAW,CAAC,CAAC,GAAG,CAAC,yBAAc,CAAC,WAAW,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;YAC3F,MAAM,IAAI,qBAAc,EAAE,CAAC;QAC/B,CAAC;IACL,CAAC;IAED,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IAEhC,MAAM,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAEhC,MAAM,CAAC,EAAE,GAAG,QAAQ,CAAC;IAErB,OAAO,IAAA,qBAAY,EAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AACrC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../../../../src/http/controllers/user-attribute/handlers/read.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../../../../src/http/controllers/user-attribute/handlers/read.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAehD,wBAAsB,gCAAgC,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAI,OAAO,CAAC,GAAG,CAAC,CA4CjG;AAED,wBAAsB,+BAA+B,CACjD,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,GACb,OAAO,CAAC,GAAG,CAAC,CA8Bf"}
|
|
@@ -6,7 +6,8 @@
|
|
|
6
6
|
* view the LICENSE file that was distributed with this source code.
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.
|
|
9
|
+
exports.getManyUserAttributeRouteHandler = getManyUserAttributeRouteHandler;
|
|
10
|
+
exports.getOneUserAttributeRouteHandler = getOneUserAttributeRouteHandler;
|
|
10
11
|
const query_1 = require("@routup/basic/query");
|
|
11
12
|
const routup_1 = require("routup");
|
|
12
13
|
const typeorm_1 = require("typeorm");
|
|
@@ -14,16 +15,21 @@ const typeorm_extension_1 = require("typeorm-extension");
|
|
|
14
15
|
const http_1 = require("@ebec/http");
|
|
15
16
|
const core_kit_1 = require("@authup/core-kit");
|
|
16
17
|
const domains_1 = require("../../../../domains");
|
|
18
|
+
const request_1 = require("../../../request");
|
|
17
19
|
const utils_1 = require("../../../utils");
|
|
18
20
|
async function getManyUserAttributeRouteHandler(req, res) {
|
|
21
|
+
const userId = (0, utils_1.useRequestEnv)(req, 'userId');
|
|
22
|
+
const ability = (0, utils_1.useRequestEnv)(req, 'abilities');
|
|
23
|
+
if (!userId && !ability.has(core_kit_1.PermissionName.USER_READ)) {
|
|
24
|
+
throw new http_1.ForbiddenError();
|
|
25
|
+
}
|
|
19
26
|
const dataSource = await (0, typeorm_extension_1.useDataSource)();
|
|
20
27
|
const repository = dataSource.getRepository(domains_1.UserAttributeEntity);
|
|
21
28
|
const query = repository.createQueryBuilder('userAttribute');
|
|
22
|
-
const ability = (0, utils_1.useRequestEnv)(req, 'abilities');
|
|
23
29
|
query.where(new typeorm_1.Brackets((qb) => {
|
|
24
30
|
(0, domains_1.onlyRealmReadableQueryResources)(query, (0, utils_1.useRequestEnv)(req, 'realm'));
|
|
25
|
-
if (!ability.has(core_kit_1.PermissionName.
|
|
26
|
-
qb.orWhere('userAttribute.user_id = :userId', { userId
|
|
31
|
+
if (!ability.has(core_kit_1.PermissionName.USER_READ)) {
|
|
32
|
+
qb.orWhere('userAttribute.user_id = :userId', { userId });
|
|
27
33
|
}
|
|
28
34
|
}));
|
|
29
35
|
const { pagination } = (0, typeorm_extension_1.applyQuery)(query, (0, query_1.useRequestQuery)(req), {
|
|
@@ -47,23 +53,26 @@ async function getManyUserAttributeRouteHandler(req, res) {
|
|
|
47
53
|
},
|
|
48
54
|
});
|
|
49
55
|
}
|
|
50
|
-
exports.getManyUserAttributeRouteHandler = getManyUserAttributeRouteHandler;
|
|
51
56
|
async function getOneUserAttributeRouteHandler(req, res) {
|
|
52
|
-
const id = (0,
|
|
53
|
-
|
|
54
|
-
|
|
57
|
+
const id = (0, request_1.useRequestIDParam)(req);
|
|
58
|
+
const userId = (0, utils_1.useRequestEnv)(req, 'userId');
|
|
59
|
+
const ability = (0, utils_1.useRequestEnv)(req, 'abilities');
|
|
60
|
+
if (!userId && !ability.has(core_kit_1.PermissionName.USER_READ)) {
|
|
61
|
+
throw new http_1.ForbiddenError();
|
|
55
62
|
}
|
|
56
63
|
const dataSource = await (0, typeorm_extension_1.useDataSource)();
|
|
57
64
|
const repository = dataSource.getRepository(domains_1.UserAttributeEntity);
|
|
58
|
-
const
|
|
59
|
-
if (!
|
|
65
|
+
const entity = await repository.findOneBy({ id });
|
|
66
|
+
if (!entity) {
|
|
60
67
|
throw new http_1.NotFoundError();
|
|
61
68
|
}
|
|
62
|
-
if (!(0, core_kit_1.isRealmResourceReadable)((0, utils_1.useRequestEnv)(req, 'realm'),
|
|
63
|
-
|
|
64
|
-
throw new http_1.ForbiddenError('You are not authorized to read this user attribute...');
|
|
69
|
+
if (!(0, core_kit_1.isRealmResourceReadable)((0, utils_1.useRequestEnv)(req, 'realm'), entity.realm_id)) {
|
|
70
|
+
throw new http_1.ForbiddenError('You are not permitted for the resource realm.');
|
|
65
71
|
}
|
|
66
|
-
|
|
72
|
+
if (userId !== entity.user_id &&
|
|
73
|
+
!ability.can(core_kit_1.PermissionName.USER_READ, { attributes: entity })) {
|
|
74
|
+
throw new http_1.ForbiddenError();
|
|
75
|
+
}
|
|
76
|
+
return (0, routup_1.send)(res, entity);
|
|
67
77
|
}
|
|
68
|
-
exports.getOneUserAttributeRouteHandler = getOneUserAttributeRouteHandler;
|
|
69
78
|
//# sourceMappingURL=read.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read.js","sourceRoot":"","sources":["../../../../../src/http/controllers/user-attribute/handlers/read.ts"],"names":[],"mappings":";AAAA;;;;;GAKG
|
|
1
|
+
{"version":3,"file":"read.js","sourceRoot":"","sources":["../../../../../src/http/controllers/user-attribute/handlers/read.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../../../src/http/controllers/user-attribute/handlers/update.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAQhD,wBAAsB,+BAA+B,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAI,OAAO,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../../../src/http/controllers/user-attribute/handlers/update.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAQhD,wBAAsB,+BAA+B,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAI,OAAO,CAAC,GAAG,CAAC,CAiChG"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* view the LICENSE file that was distributed with this source code.
|
|
7
7
|
*/
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.updateUserAttributeRouteHandler =
|
|
9
|
+
exports.updateUserAttributeRouteHandler = updateUserAttributeRouteHandler;
|
|
10
10
|
const http_1 = require("@ebec/http");
|
|
11
11
|
const core_kit_1 = require("@authup/core-kit");
|
|
12
12
|
const routup_1 = require("routup");
|
|
@@ -16,7 +16,7 @@ const utils_1 = require("../../../utils");
|
|
|
16
16
|
const utils_2 = require("../utils");
|
|
17
17
|
const request_1 = require("../../../request");
|
|
18
18
|
async function updateUserAttributeRouteHandler(req, res) {
|
|
19
|
-
const id = (0,
|
|
19
|
+
const id = (0, request_1.useRequestIDParam)(req);
|
|
20
20
|
const validator = new utils_2.UserAttributeRequestValidator();
|
|
21
21
|
const data = await validator.execute(req, {
|
|
22
22
|
group: request_1.RequestHandlerOperation.UPDATE,
|
|
@@ -28,8 +28,10 @@ async function updateUserAttributeRouteHandler(req, res) {
|
|
|
28
28
|
throw new http_1.NotFoundError();
|
|
29
29
|
}
|
|
30
30
|
entity = repository.merge(entity, data);
|
|
31
|
-
|
|
32
|
-
|
|
31
|
+
const userId = (0, utils_1.useRequestEnv)(req, 'userId');
|
|
32
|
+
const abilities = (0, utils_1.useRequestEnv)(req, 'abilities');
|
|
33
|
+
if (entity.user_id !== userId) {
|
|
34
|
+
if (!abilities.can(core_kit_1.PermissionName.USER_UPDATE, { attributes: entity }) ||
|
|
33
35
|
!(0, core_kit_1.isRealmResourceWritable)((0, utils_1.useRequestEnv)(req, 'realm'), entity.realm_id)) {
|
|
34
36
|
throw new http_1.ForbiddenError('You are not permitted to update an attribute for the given user...');
|
|
35
37
|
}
|
|
@@ -37,5 +39,4 @@ async function updateUserAttributeRouteHandler(req, res) {
|
|
|
37
39
|
await repository.save(entity);
|
|
38
40
|
return (0, routup_1.sendAccepted)(res, entity);
|
|
39
41
|
}
|
|
40
|
-
exports.updateUserAttributeRouteHandler = updateUserAttributeRouteHandler;
|
|
41
42
|
//# sourceMappingURL=update.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../../src/http/controllers/user-attribute/handlers/update.ts"],"names":[],"mappings":";AAAA;;;;;GAKG
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../../src/http/controllers/user-attribute/handlers/update.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAYH,0EAiCC;AA3CD,qCAA2D;AAC3D,+CAA2E;AAE3E,mCAAsC;AACtC,yDAAkD;AAClD,iDAA0D;AAC1D,0CAA+C;AAC/C,oCAAyD;AACzD,8CAA8E;AAEvE,KAAK,UAAU,+BAA+B,CAAC,GAAY,EAAE,GAAa;IAC7E,MAAM,EAAE,GAAG,IAAA,2BAAiB,EAAC,GAAG,CAAC,CAAC;IAElC,MAAM,SAAS,GAAG,IAAI,qCAA6B,EAAE,CAAC;IACtD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE;QACtC,KAAK,EAAE,iCAAuB,CAAC,MAAM;KACxC,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,MAAM,IAAA,iCAAa,GAAE,CAAC;IACzC,MAAM,UAAU,GAAG,UAAU,CAAC,aAAa,CAAC,6BAAmB,CAAC,CAAC;IAEjE,IAAI,MAAM,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAChD,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,MAAM,IAAI,oBAAa,EAAE,CAAC;IAC9B,CAAC;IAED,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAExC,MAAM,MAAM,GAAG,IAAA,qBAAa,EAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,IAAA,qBAAa,EAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAElD,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;QAC5B,IACI,CAAC,SAAS,CAAC,GAAG,CAAC,yBAAc,CAAC,WAAW,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;YAClE,CAAC,IAAA,kCAAuB,EAAC,IAAA,qBAAa,EAAC,GAAG,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,EACxE,CAAC;YACC,MAAM,IAAI,qBAAc,CAAC,oEAAoE,CAAC,CAAC;QACnG,CAAC;IACL,CAAC;IAED,MAAM,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAE9B,OAAO,IAAA,qBAAY,EAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AACrC,CAAC"}
|
|
@@ -22,8 +22,8 @@ class UserAttributeRequestValidator extends core_1.RequestDatabaseValidator {
|
|
|
22
22
|
.isString()
|
|
23
23
|
.isLength({ min: 3, max: 255 });
|
|
24
24
|
this.addTo(request_1.RequestHandlerOperation.CREATE, 'user_id')
|
|
25
|
-
.
|
|
26
|
-
.
|
|
25
|
+
.isUUID()
|
|
26
|
+
.optional({ values: 'null' });
|
|
27
27
|
this.add('value')
|
|
28
28
|
.exists()
|
|
29
29
|
.notEmpty()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../../../src/http/controllers/user-attribute/utils/validation.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,2CAA4D;AAC5D,iDAA0D;AAC1D,8CAA2D;AAE3D,MAAa,6BAA8B,SAAQ,+BAElD;IACG;QACI,KAAK,CAAC,6BAAmB,CAAC,CAAC;QAE3B,IAAI,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC;IAED,KAAK;QACD,IAAI,CAAC,KAAK,CAAC,iCAAuB,CAAC,MAAM,EAAE,MAAM,CAAC;aAC7C,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,EAAE;aACV,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QAEpC,IAAI,CAAC,KAAK,CAAC,iCAAuB,CAAC,MAAM,EAAE,SAAS,CAAC;aAChD,MAAM,EAAE;aACR,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../../../src/http/controllers/user-attribute/utils/validation.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,2CAA4D;AAC5D,iDAA0D;AAC1D,8CAA2D;AAE3D,MAAa,6BAA8B,SAAQ,+BAElD;IACG;QACI,KAAK,CAAC,6BAAmB,CAAC,CAAC;QAE3B,IAAI,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC;IAED,KAAK;QACD,IAAI,CAAC,KAAK,CAAC,iCAAuB,CAAC,MAAM,EAAE,MAAM,CAAC;aAC7C,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,EAAE;aACV,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QAEpC,IAAI,CAAC,KAAK,CAAC,iCAAuB,CAAC,MAAM,EAAE,SAAS,CAAC;aAChD,MAAM,EAAE;aACR,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAElC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;aACZ,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,EAAE;aACV,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;aAC9B,QAAQ,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IACtC,CAAC;CACJ;AA3BD,sEA2BC"}
|