@strapi/admin 4.14.2 → 4.14.3
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/admin/src/content-manager/hooks/useRelation/useRelation.js +1 -0
- package/build/{Admin-authenticatedApp.08f32723.chunk.js → Admin-authenticatedApp.a16cdc37.chunk.js} +1 -1
- package/build/{content-manager.0d2b4a60.chunk.js → content-manager.e1e49cc9.chunk.js} +1 -1
- package/build/index.html +1 -1
- package/build/{runtime~main.cec66cd9.js → runtime~main.377a22d0.js} +1 -1
- package/dist/server/admin/server/src/bootstrap.d.ts +2 -0
- package/dist/server/admin/server/src/controllers/admin.d.ts +42 -0
- package/dist/server/admin/server/src/controllers/api-token.d.ts +10 -0
- package/dist/server/admin/server/src/controllers/authenticated-user.d.ts +6 -0
- package/dist/server/admin/server/src/controllers/authentication.d.ts +12 -0
- package/dist/server/admin/server/src/controllers/permission.d.ts +13 -0
- package/dist/server/admin/server/src/controllers/role.d.ts +43 -0
- package/dist/server/admin/server/src/controllers/transfer/token.d.ts +9 -0
- package/dist/server/admin/server/src/controllers/user.d.ts +13 -0
- package/dist/server/admin/server/src/destroy.d.ts +2 -0
- package/dist/server/admin/server/src/domain/condition/index.d.ts +56 -0
- package/dist/server/admin/server/src/domain/condition/index.js +53 -0
- package/dist/server/admin/server/src/domain/condition/index.js.map +1 -0
- package/dist/server/admin/server/src/domain/condition/provider.d.ts +30 -0
- package/dist/server/admin/server/src/domain/condition/provider.js +37 -0
- package/dist/server/admin/server/src/domain/condition/provider.js.map +1 -0
- package/dist/server/admin/server/src/index.d.ts +10 -0
- package/dist/server/admin/server/src/middlewares/data-transfer.d.ts +2 -0
- package/dist/server/admin/server/src/services/action.d.ts +9 -0
- package/dist/server/admin/server/src/services/auth.d.ts +42 -0
- package/dist/server/admin/server/src/services/condition.d.ts +2 -0
- package/dist/server/admin/server/src/services/content-type.d.ts +51 -0
- package/dist/server/admin/server/src/services/index.d.ts +61 -0
- package/dist/server/admin/server/src/services/metrics.d.ts +7 -0
- package/dist/server/admin/server/src/services/permission/engine.d.ts +15 -0
- package/dist/server/admin/server/src/services/permission/queries.d.ts +44 -0
- package/dist/server/admin/server/src/services/permission.d.ts +67 -0
- package/dist/server/admin/server/src/services/role.d.ts +116 -0
- package/dist/server/admin/server/src/services/transfer/token.d.ts +103 -0
- package/dist/server/admin/server/src/services/transfer/utils.d.ts +19 -0
- package/dist/server/admin/server/src/services/user.d.ts +96 -0
- package/dist/server/admin/server/src/strategies/admin.d.ts +25 -0
- package/dist/server/admin/server/src/strategies/api-token.d.ts +60 -0
- package/dist/server/admin/server/src/strategies/data-transfer.d.ts +50 -0
- package/dist/server/admin/server/src/validation/common-validators.d.ts +59 -0
- package/dist/server/admin/server/src/validation/permission.d.ts +9 -0
- package/dist/server/bootstrap.d.ts +2 -0
- package/dist/server/bootstrap.js +84 -0
- package/dist/server/bootstrap.js.map +1 -0
- package/dist/server/config/admin-actions.d.ts +33 -0
- package/dist/server/config/admin-actions.js +219 -0
- package/dist/server/config/admin-actions.js.map +1 -0
- package/dist/server/config/admin-conditions.d.ts +46 -0
- package/dist/server/config/admin-conditions.js +29 -0
- package/dist/server/config/admin-conditions.js.map +1 -0
- package/dist/server/config/email-templates/forgot-password.d.ts +6 -0
- package/dist/server/config/email-templates/forgot-password.js +19 -0
- package/dist/server/config/email-templates/forgot-password.js.map +1 -0
- package/dist/server/config/index.d.ts +17 -0
- package/dist/server/config/index.js +14 -0
- package/dist/server/config/index.js.map +1 -0
- package/dist/server/config/settings.d.ts +7 -0
- package/dist/server/config/settings.js +11 -0
- package/dist/server/config/settings.js.map +1 -0
- package/dist/server/content-types/Permission.d.ts +62 -0
- package/dist/server/content-types/Permission.js +64 -0
- package/dist/server/content-types/Permission.js.map +1 -0
- package/dist/server/content-types/Role.d.ts +57 -0
- package/dist/server/content-types/Role.js +59 -0
- package/dist/server/content-types/Role.js.map +1 -0
- package/dist/server/content-types/User.d.ts +106 -0
- package/dist/server/content-types/User.js +109 -0
- package/dist/server/content-types/User.js.map +1 -0
- package/dist/server/content-types/api-token-permission.d.ts +35 -0
- package/dist/server/content-types/api-token-permission.js +37 -0
- package/dist/server/content-types/api-token-permission.js.map +1 -0
- package/dist/server/content-types/api-token.d.ts +73 -0
- package/dist/server/content-types/api-token.js +79 -0
- package/dist/server/content-types/api-token.js.map +1 -0
- package/dist/server/content-types/index.d.ts +437 -0
- package/dist/server/content-types/index.js +22 -0
- package/dist/server/content-types/index.js.map +1 -0
- package/dist/server/content-types/transfer-token-permission.d.ts +35 -0
- package/dist/server/content-types/transfer-token-permission.js +37 -0
- package/dist/server/content-types/transfer-token-permission.js.map +1 -0
- package/dist/server/content-types/transfer-token.d.ts +65 -0
- package/dist/server/content-types/transfer-token.js +67 -0
- package/dist/server/content-types/transfer-token.js.map +1 -0
- package/dist/server/controllers/admin.d.ts +42 -0
- package/dist/server/controllers/admin.js +131 -0
- package/dist/server/controllers/admin.js.map +1 -0
- package/dist/server/controllers/api-token.d.ts +10 -0
- package/dist/server/controllers/api-token.js +106 -0
- package/dist/server/controllers/api-token.js.map +1 -0
- package/dist/server/controllers/authenticated-user.d.ts +6 -0
- package/dist/server/controllers/authenticated-user.js +41 -0
- package/dist/server/controllers/authenticated-user.js.map +1 -0
- package/dist/server/controllers/authentication.d.ts +12 -0
- package/dist/server/controllers/authentication.js +130 -0
- package/dist/server/controllers/authentication.js.map +1 -0
- package/dist/server/controllers/content-api.d.ts +5 -0
- package/dist/server/controllers/content-api.js +13 -0
- package/dist/server/controllers/content-api.js.map +1 -0
- package/dist/server/controllers/formatters/conditions.d.ts +3 -0
- package/dist/server/controllers/formatters/conditions.js +9 -0
- package/dist/server/controllers/formatters/conditions.js.map +1 -0
- package/dist/server/controllers/formatters/format-actions-by-sections.d.ts +7 -0
- package/dist/server/controllers/formatters/format-actions-by-sections.js +36 -0
- package/dist/server/controllers/formatters/format-actions-by-sections.js.map +1 -0
- package/dist/server/controllers/formatters/index.d.ts +2 -0
- package/dist/server/controllers/formatters/index.js +11 -0
- package/dist/server/controllers/formatters/index.js.map +1 -0
- package/dist/server/controllers/index.d.ts +68 -0
- package/dist/server/controllers/index.js +51 -0
- package/dist/server/controllers/index.js.map +1 -0
- package/dist/server/controllers/permission.d.ts +13 -0
- package/dist/server/controllers/permission.js +38 -0
- package/dist/server/controllers/permission.js.map +1 -0
- package/dist/server/controllers/role.d.ts +43 -0
- package/dist/server/controllers/role.js +148 -0
- package/dist/server/controllers/role.js.map +1 -0
- package/dist/server/controllers/transfer/index.d.ts +4 -0
- package/dist/server/controllers/transfer/index.js +14 -0
- package/dist/server/controllers/transfer/index.js.map +1 -0
- package/dist/server/controllers/transfer/runner.d.ts +6 -0
- package/dist/server/controllers/transfer/runner.js +25 -0
- package/dist/server/controllers/transfer/runner.js.map +1 -0
- package/dist/server/controllers/transfer/token.d.ts +9 -0
- package/dist/server/controllers/transfer/token.js +100 -0
- package/dist/server/controllers/transfer/token.js.map +1 -0
- package/dist/server/controllers/user.d.ts +13 -0
- package/dist/server/controllers/user.js +105 -0
- package/dist/server/controllers/user.js.map +1 -0
- package/dist/server/controllers/webhooks.d.ts +10 -0
- package/dist/server/controllers/webhooks.js +100 -0
- package/dist/server/controllers/webhooks.js.map +1 -0
- package/dist/server/destroy.d.ts +2 -0
- package/dist/server/destroy.js +9 -0
- package/dist/server/destroy.js.map +1 -0
- package/dist/server/domain/action/index.d.ts +33 -0
- package/dist/server/domain/action/index.js +98 -0
- package/dist/server/domain/action/index.js.map +1 -0
- package/dist/server/domain/action/provider.d.ts +38 -0
- package/dist/server/domain/action/provider.js +66 -0
- package/dist/server/domain/action/provider.js.map +1 -0
- package/dist/server/domain/condition/index.d.ts +53 -0
- package/dist/server/domain/condition/index.js +56 -0
- package/dist/server/domain/condition/index.js.map +1 -0
- package/dist/server/domain/condition/provider.d.ts +30 -0
- package/dist/server/domain/condition/provider.js +37 -0
- package/dist/server/domain/condition/provider.js.map +1 -0
- package/dist/server/domain/permission/index.d.ts +77 -0
- package/dist/server/domain/permission/index.js +119 -0
- package/dist/server/domain/permission/index.js.map +1 -0
- package/dist/server/domain/user.d.ts +32 -0
- package/dist/server/domain/user.js +28 -0
- package/dist/server/domain/user.js.map +1 -0
- package/dist/server/index.d.ts +10 -0
- package/dist/server/index.js +27 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/middlewares/data-transfer.d.ts +2 -0
- package/dist/server/middlewares/data-transfer.js +21 -0
- package/dist/server/middlewares/data-transfer.js.map +1 -0
- package/dist/server/middlewares/index.d.ts +9 -0
- package/dist/server/middlewares/index.js +17 -0
- package/dist/server/middlewares/index.js.map +1 -0
- package/dist/server/middlewares/rateLimit.d.ts +5 -0
- package/dist/server/middlewares/rateLimit.js +42 -0
- package/dist/server/middlewares/rateLimit.js.map +1 -0
- package/dist/server/policies/hasPermissions.d.ts +6 -0
- package/dist/server/policies/hasPermissions.js +38 -0
- package/dist/server/policies/hasPermissions.js.map +1 -0
- package/dist/server/policies/index.d.ts +14 -0
- package/dist/server/policies/index.js +10 -0
- package/dist/server/policies/index.js.map +1 -0
- package/dist/server/policies/isAuthenticatedAdmin.d.ts +2 -0
- package/dist/server/policies/isAuthenticatedAdmin.js +6 -0
- package/dist/server/policies/isAuthenticatedAdmin.js.map +1 -0
- package/dist/server/policies/isTelemetryEnabled.d.ts +10 -0
- package/dist/server/policies/isTelemetryEnabled.js +18 -0
- package/dist/server/policies/isTelemetryEnabled.js.map +1 -0
- package/dist/server/register.d.ts +2 -0
- package/dist/server/register.js +18 -0
- package/dist/server/register.js.map +1 -0
- package/dist/server/routes/admin.d.ts +23 -0
- package/dist/server/routes/admin.js +72 -0
- package/dist/server/routes/admin.js.map +1 -0
- package/dist/server/routes/api-tokens.d.ts +14 -0
- package/dist/server/routes/api-tokens.js +71 -0
- package/dist/server/routes/api-tokens.js.map +1 -0
- package/dist/server/routes/authentication.d.ts +29 -0
- package/dist/server/routes/authentication.js +58 -0
- package/dist/server/routes/authentication.js.map +1 -0
- package/dist/server/routes/content-api.d.ts +9 -0
- package/dist/server/routes/content-api.js +21 -0
- package/dist/server/routes/content-api.js.map +1 -0
- package/dist/server/routes/index.d.ts +66 -0
- package/dist/server/routes/index.js +32 -0
- package/dist/server/routes/index.js.map +1 -0
- package/dist/server/routes/permissions.d.ts +9 -0
- package/dist/server/routes/permissions.js +21 -0
- package/dist/server/routes/permissions.js.map +1 -0
- package/dist/server/routes/roles.d.ts +14 -0
- package/dist/server/routes/roles.js +108 -0
- package/dist/server/routes/roles.js.map +1 -0
- package/dist/server/routes/serve-admin-panel.d.ts +5 -0
- package/dist/server/routes/serve-admin-panel.js +65 -0
- package/dist/server/routes/serve-admin-panel.js.map +1 -0
- package/dist/server/routes/transfer.d.ts +55 -0
- package/dist/server/routes/transfer.js +105 -0
- package/dist/server/routes/transfer.js.map +1 -0
- package/dist/server/routes/users.d.ts +14 -0
- package/dist/server/routes/users.js +89 -0
- package/dist/server/routes/users.js.map +1 -0
- package/dist/server/routes/webhooks.d.ts +14 -0
- package/dist/server/routes/webhooks.js +82 -0
- package/dist/server/routes/webhooks.js.map +1 -0
- package/dist/server/services/action.d.ts +9 -0
- package/dist/server/services/action.js +29 -0
- package/dist/server/services/action.js.map +1 -0
- package/dist/server/services/api-token.d.ts +102 -0
- package/dist/server/services/api-token.js +378 -0
- package/dist/server/services/api-token.js.map +1 -0
- package/dist/server/services/auth.d.ts +42 -0
- package/dist/server/services/auth.js +98 -0
- package/dist/server/services/auth.js.map +1 -0
- package/dist/server/services/condition.d.ts +2 -0
- package/dist/server/services/condition.js +11 -0
- package/dist/server/services/condition.js.map +1 -0
- package/dist/server/services/constants.d.ts +33 -0
- package/dist/server/services/constants.js +37 -0
- package/dist/server/services/constants.js.map +1 -0
- package/dist/server/services/content-type.d.ts +51 -0
- package/dist/server/services/content-type.js +158 -0
- package/dist/server/services/content-type.js.map +1 -0
- package/dist/server/services/index.d.ts +61 -0
- package/dist/server/services/index.js +57 -0
- package/dist/server/services/index.js.map +1 -0
- package/dist/server/services/metrics.d.ts +7 -0
- package/dist/server/services/metrics.js +37 -0
- package/dist/server/services/metrics.js.map +1 -0
- package/dist/server/services/passport/local-strategy.d.ts +3 -0
- package/dist/server/services/passport/local-strategy.js +28 -0
- package/dist/server/services/passport/local-strategy.js.map +1 -0
- package/dist/server/services/passport.d.ts +7 -0
- package/dist/server/services/passport.js +40 -0
- package/dist/server/services/passport.js.map +1 -0
- package/dist/server/services/permission/engine.d.ts +15 -0
- package/dist/server/services/permission/engine.js +67 -0
- package/dist/server/services/permission/engine.js.map +1 -0
- package/dist/server/services/permission/permissions-manager/index.d.ts +16 -0
- package/dist/server/services/permission/permissions-manager/index.js +48 -0
- package/dist/server/services/permission/permissions-manager/index.js.map +1 -0
- package/dist/server/services/permission/permissions-manager/query-builders.d.ts +3 -0
- package/dist/server/services/permission/permissions-manager/query-builders.js +66 -0
- package/dist/server/services/permission/permissions-manager/query-builders.js.map +1 -0
- package/dist/server/services/permission/permissions-manager/sanitize.d.ts +6 -0
- package/dist/server/services/permission/permissions-manager/sanitize.js +184 -0
- package/dist/server/services/permission/permissions-manager/sanitize.js.map +1 -0
- package/dist/server/services/permission/permissions-manager/validate.d.ts +5 -0
- package/dist/server/services/permission/permissions-manager/validate.js +134 -0
- package/dist/server/services/permission/permissions-manager/validate.js.map +1 -0
- package/dist/server/services/permission/queries.d.ts +44 -0
- package/dist/server/services/permission/queries.js +159 -0
- package/dist/server/services/permission/queries.js.map +1 -0
- package/dist/server/services/permission/sections-builder/builder.d.ts +39 -0
- package/dist/server/services/permission/sections-builder/builder.js +75 -0
- package/dist/server/services/permission/sections-builder/builder.js.map +1 -0
- package/dist/server/services/permission/sections-builder/handlers.d.ts +44 -0
- package/dist/server/services/permission/sections-builder/handlers.js +124 -0
- package/dist/server/services/permission/sections-builder/handlers.js.map +1 -0
- package/dist/server/services/permission/sections-builder/index.d.ts +8 -0
- package/dist/server/services/permission/sections-builder/index.js +39 -0
- package/dist/server/services/permission/sections-builder/index.js.map +1 -0
- package/dist/server/services/permission/sections-builder/section.d.ts +38 -0
- package/dist/server/services/permission/sections-builder/section.js +56 -0
- package/dist/server/services/permission/sections-builder/section.js.map +1 -0
- package/dist/server/services/permission/sections-builder/utils.d.ts +12 -0
- package/dist/server/services/permission/sections-builder/utils.js +23 -0
- package/dist/server/services/permission/sections-builder/utils.js.map +1 -0
- package/dist/server/services/permission.d.ts +67 -0
- package/dist/server/services/permission.js +33 -0
- package/dist/server/services/permission.js.map +1 -0
- package/dist/server/services/project-settings.d.ts +5 -0
- package/dist/server/services/project-settings.js +139 -0
- package/dist/server/services/project-settings.js.map +1 -0
- package/dist/server/services/role.d.ts +116 -0
- package/dist/server/services/role.js +382 -0
- package/dist/server/services/role.js.map +1 -0
- package/dist/server/services/token.d.ts +35 -0
- package/dist/server/services/token.js +58 -0
- package/dist/server/services/token.js.map +1 -0
- package/dist/server/services/transfer/index.d.ts +4 -0
- package/dist/server/services/transfer/index.js +33 -0
- package/dist/server/services/transfer/index.js.map +1 -0
- package/dist/server/services/transfer/permission.d.ts +6 -0
- package/dist/server/services/transfer/permission.js +20 -0
- package/dist/server/services/transfer/permission.js.map +1 -0
- package/dist/server/services/transfer/token.d.ts +84 -0
- package/dist/server/services/transfer/token.js +273 -0
- package/dist/server/services/transfer/token.js.map +1 -0
- package/dist/server/services/transfer/utils.d.ts +13 -0
- package/dist/server/services/transfer/utils.js +29 -0
- package/dist/server/services/transfer/utils.js.map +1 -0
- package/dist/server/services/user.d.ts +96 -0
- package/dist/server/services/user.js +311 -0
- package/dist/server/services/user.js.map +1 -0
- package/dist/server/strategies/admin.d.ts +25 -0
- package/dist/server/strategies/admin.js +44 -0
- package/dist/server/strategies/admin.js.map +1 -0
- package/dist/server/strategies/api-token.d.ts +60 -0
- package/dist/server/strategies/api-token.js +121 -0
- package/dist/server/strategies/api-token.js.map +1 -0
- package/dist/server/strategies/data-transfer.d.ts +66 -0
- package/dist/server/strategies/data-transfer.js +94 -0
- package/dist/server/strategies/data-transfer.js.map +1 -0
- package/dist/server/strategies/index.d.ts +17 -0
- package/dist/server/strategies/index.js +27 -0
- package/dist/server/strategies/index.js.map +1 -0
- package/dist/server/types/src/types/utils/object.d.ts +58 -0
- package/dist/server/types/src/types/utils/object.js +3 -0
- package/dist/server/types/src/types/utils/object.js.map +1 -0
- package/dist/server/utils/index.d.ts +1 -0
- package/dist/server/utils/index.js +9 -0
- package/dist/server/utils/index.js.map +1 -0
- package/dist/server/utils/types.d.ts +14 -0
- package/dist/server/utils/types.js +3 -0
- package/dist/server/utils/types.js.map +1 -0
- package/dist/server/validation/action-provider.d.ts +5 -0
- package/dist/server/validation/action-provider.js +58 -0
- package/dist/server/validation/action-provider.js.map +1 -0
- package/dist/server/validation/api-tokens.d.ts +7 -0
- package/dist/server/validation/api-tokens.js +36 -0
- package/dist/server/validation/api-tokens.js.map +1 -0
- package/dist/server/validation/authentication/forgot-password.d.ts +2 -0
- package/dist/server/validation/authentication/forgot-password.js +16 -0
- package/dist/server/validation/authentication/forgot-password.js.map +1 -0
- package/dist/server/validation/authentication/index.d.ts +5 -0
- package/dist/server/validation/authentication/index.js +17 -0
- package/dist/server/validation/authentication/index.js.map +1 -0
- package/dist/server/validation/authentication/register.d.ts +9 -0
- package/dist/server/validation/authentication/register.js +49 -0
- package/dist/server/validation/authentication/register.js.map +1 -0
- package/dist/server/validation/authentication/renew-token.d.ts +2 -0
- package/dist/server/validation/authentication/renew-token.js +6 -0
- package/dist/server/validation/authentication/renew-token.js.map +1 -0
- package/dist/server/validation/authentication/reset-password.d.ts +2 -0
- package/dist/server/validation/authentication/reset-password.js +17 -0
- package/dist/server/validation/authentication/reset-password.js.map +1 -0
- package/dist/server/validation/common-functions/check-fields-are-correctly-nested.d.ts +2 -0
- package/dist/server/validation/common-functions/check-fields-are-correctly-nested.js +26 -0
- package/dist/server/validation/common-functions/check-fields-are-correctly-nested.js.map +1 -0
- package/dist/server/validation/common-functions/check-fields-dont-have-duplicates.d.ts +2 -0
- package/dist/server/validation/common-functions/check-fields-dont-have-duplicates.js +18 -0
- package/dist/server/validation/common-functions/check-fields-dont-have-duplicates.js.map +1 -0
- package/dist/server/validation/common-functions/index.d.ts +3 -0
- package/dist/server/validation/common-functions/index.js +11 -0
- package/dist/server/validation/common-functions/index.js.map +1 -0
- package/dist/server/validation/common-validators.d.ts +59 -0
- package/dist/server/validation/common-validators.js +162 -0
- package/dist/server/validation/common-validators.js.map +1 -0
- package/dist/server/validation/permission.d.ts +9 -0
- package/dist/server/validation/permission.js +46 -0
- package/dist/server/validation/permission.js.map +1 -0
- package/dist/server/validation/policies/hasPermissions.d.ts +5 -0
- package/dist/server/validation/policies/hasPermissions.js +29 -0
- package/dist/server/validation/policies/hasPermissions.js.map +1 -0
- package/dist/server/validation/project-settings.d.ts +9 -0
- package/dist/server/validation/project-settings.js +44 -0
- package/dist/server/validation/project-settings.js.map +1 -0
- package/dist/server/validation/role.d.ts +11 -0
- package/dist/server/validation/role.js +62 -0
- package/dist/server/validation/role.js.map +1 -0
- package/dist/server/validation/transfer/index.d.ts +1 -0
- package/dist/server/validation/transfer/index.js +9 -0
- package/dist/server/validation/transfer/index.js.map +1 -0
- package/dist/server/validation/transfer/token.d.ts +7 -0
- package/dist/server/validation/transfer/token.js +46 -0
- package/dist/server/validation/transfer/token.js.map +1 -0
- package/dist/server/validation/user.d.ts +117 -0
- package/dist/server/validation/user.js +69 -0
- package/dist/server/validation/user.js.map +1 -0
- package/package.json +9 -9
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
7
|
+
const checkFieldsAreCorrectlyNested = (fields) => {
|
|
8
|
+
if (lodash_1.default.isNil(fields)) {
|
|
9
|
+
// Only check if the fields exist
|
|
10
|
+
return true;
|
|
11
|
+
}
|
|
12
|
+
if (!Array.isArray(fields)) {
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
let failed = false;
|
|
16
|
+
for (let indexA = 0; indexA < fields.length; indexA += 1) {
|
|
17
|
+
failed = fields
|
|
18
|
+
.slice(indexA + 1)
|
|
19
|
+
.some((fieldB) => fieldB.startsWith(`${fields[indexA]}.`) || fields[indexA].startsWith(`${fieldB}.`));
|
|
20
|
+
if (failed)
|
|
21
|
+
break;
|
|
22
|
+
}
|
|
23
|
+
return !failed;
|
|
24
|
+
};
|
|
25
|
+
exports.default = checkFieldsAreCorrectlyNested;
|
|
26
|
+
//# sourceMappingURL=check-fields-are-correctly-nested.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check-fields-are-correctly-nested.js","sourceRoot":"","sources":["../../../../server/src/validation/common-functions/check-fields-are-correctly-nested.ts"],"names":[],"mappings":";;;;;AAAA,oDAAuB;AAEvB,MAAM,6BAA6B,GAAG,CAAC,MAAW,EAAE,EAAE;IACpD,IAAI,gBAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;QACnB,iCAAiC;QACjC,OAAO,IAAI,CAAC;KACb;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QAC1B,OAAO,KAAK,CAAC;KACd;IAED,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,EAAE;QACxD,MAAM,GAAG,MAAM;aACZ,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;aACjB,IAAI,CACH,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,GAAG,MAAM,GAAG,CAAC,CACrF,CAAC;QACJ,IAAI,MAAM;YAAE,MAAM;KACnB;IAED,OAAO,CAAC,MAAM,CAAC;AACjB,CAAC,CAAC;AAEF,kBAAe,6BAA6B,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
7
|
+
const checkFieldsDontHaveDuplicates = (fields) => {
|
|
8
|
+
if (lodash_1.default.isNil(fields)) {
|
|
9
|
+
// Only check if the fields exist
|
|
10
|
+
return true;
|
|
11
|
+
}
|
|
12
|
+
if (!Array.isArray(fields)) {
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
return lodash_1.default.uniq(fields).length === fields.length;
|
|
16
|
+
};
|
|
17
|
+
exports.default = checkFieldsDontHaveDuplicates;
|
|
18
|
+
//# sourceMappingURL=check-fields-dont-have-duplicates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check-fields-dont-have-duplicates.js","sourceRoot":"","sources":["../../../../server/src/validation/common-functions/check-fields-dont-have-duplicates.ts"],"names":[],"mappings":";;;;;AAAA,oDAAuB;AAEvB,MAAM,6BAA6B,GAAG,CAAC,MAAW,EAAE,EAAE;IACpD,IAAI,gBAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;QACnB,iCAAiC;QACjC,OAAO,IAAI,CAAC;KACb;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QAC1B,OAAO,KAAK,CAAC;KACd;IAED,OAAO,gBAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC;AACjD,CAAC,CAAC;AAEF,kBAAe,6BAA6B,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.checkFieldsDontHaveDuplicates = exports.checkFieldsAreCorrectlyNested = void 0;
|
|
7
|
+
const check_fields_are_correctly_nested_1 = __importDefault(require("./check-fields-are-correctly-nested"));
|
|
8
|
+
exports.checkFieldsAreCorrectlyNested = check_fields_are_correctly_nested_1.default;
|
|
9
|
+
const check_fields_dont_have_duplicates_1 = __importDefault(require("./check-fields-dont-have-duplicates"));
|
|
10
|
+
exports.checkFieldsDontHaveDuplicates = check_fields_dont_have_duplicates_1.default;
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/src/validation/common-functions/index.ts"],"names":[],"mappings":";;;;;;AAAA,4GAAgF;AAGvE,wCAHF,2CAA6B,CAGE;AAFtC,4GAAgF;AAExC,wCAFjC,2CAA6B,CAEiC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
export declare const email: import("yup").StringSchema<string | undefined, Record<string, any>, string | undefined>;
|
|
2
|
+
export declare const firstname: import("yup").StringSchema<string | undefined, Record<string, any>, string | undefined>;
|
|
3
|
+
export declare const lastname: import("yup").StringSchema<string | undefined, Record<string, any>, string | undefined>;
|
|
4
|
+
export declare const username: import("yup").StringSchema<string | undefined, Record<string, any>, string | undefined>;
|
|
5
|
+
export declare const password: import("yup").StringSchema<string | undefined, Record<string, any>, string | undefined>;
|
|
6
|
+
export declare const roles: import("yup/lib/array").OptionalArraySchema<import("@strapi/utils/dist/yup").StrapiIDSchema, import("yup/lib/types").AnyObject, any[] | undefined>;
|
|
7
|
+
export declare const arrayOfConditionNames: import("yup").ArraySchema<import("yup").StringSchema<string | undefined, Record<string, any>, string | undefined>, import("yup/lib/types").AnyObject, (string | undefined)[] | undefined, (string | undefined)[] | undefined>;
|
|
8
|
+
export declare const permissionsAreEquals: (a: any, b: any) => boolean;
|
|
9
|
+
export declare const permission: import("yup").ObjectSchema<import("yup/lib/object").Assign<import("yup/lib/object").ObjectShape, {
|
|
10
|
+
action: import("yup/lib/string").RequiredStringSchema<string | undefined, Record<string, any>>;
|
|
11
|
+
actionParameters: import("yup/lib/object").OptionalObjectSchema<import("yup/lib/object").ObjectShape, Record<string, any>, import("yup/lib/object").TypeOfShape<import("yup/lib/object").ObjectShape> | null>;
|
|
12
|
+
subject: import("yup").StringSchema<string | null | undefined, Record<string, any>, string | null | undefined>;
|
|
13
|
+
properties: import("yup/lib/object").OptionalObjectSchema<import("yup/lib/object").ObjectShape, Record<string, any>, import("yup/lib/object").TypeOfShape<import("yup/lib/object").ObjectShape>>;
|
|
14
|
+
conditions: import("yup").ArraySchema<import("yup").StringSchema<string | undefined, Record<string, any>, string | undefined>, import("yup/lib/types").AnyObject, (string | undefined)[] | undefined, (string | undefined)[] | undefined>;
|
|
15
|
+
}>, Record<string, any>, import("yup/lib/object").TypeOfShape<import("yup/lib/object").Assign<import("yup/lib/object").ObjectShape, {
|
|
16
|
+
action: import("yup/lib/string").RequiredStringSchema<string | undefined, Record<string, any>>;
|
|
17
|
+
actionParameters: import("yup/lib/object").OptionalObjectSchema<import("yup/lib/object").ObjectShape, Record<string, any>, import("yup/lib/object").TypeOfShape<import("yup/lib/object").ObjectShape> | null>;
|
|
18
|
+
subject: import("yup").StringSchema<string | null | undefined, Record<string, any>, string | null | undefined>;
|
|
19
|
+
properties: import("yup/lib/object").OptionalObjectSchema<import("yup/lib/object").ObjectShape, Record<string, any>, import("yup/lib/object").TypeOfShape<import("yup/lib/object").ObjectShape>>;
|
|
20
|
+
conditions: import("yup").ArraySchema<import("yup").StringSchema<string | undefined, Record<string, any>, string | undefined>, import("yup/lib/types").AnyObject, (string | undefined)[] | undefined, (string | undefined)[] | undefined>;
|
|
21
|
+
}>>, import("yup/lib/object").AssertsShape<import("yup/lib/object").Assign<import("yup/lib/object").ObjectShape, {
|
|
22
|
+
action: import("yup/lib/string").RequiredStringSchema<string | undefined, Record<string, any>>;
|
|
23
|
+
actionParameters: import("yup/lib/object").OptionalObjectSchema<import("yup/lib/object").ObjectShape, Record<string, any>, import("yup/lib/object").TypeOfShape<import("yup/lib/object").ObjectShape> | null>;
|
|
24
|
+
subject: import("yup").StringSchema<string | null | undefined, Record<string, any>, string | null | undefined>;
|
|
25
|
+
properties: import("yup/lib/object").OptionalObjectSchema<import("yup/lib/object").ObjectShape, Record<string, any>, import("yup/lib/object").TypeOfShape<import("yup/lib/object").ObjectShape>>;
|
|
26
|
+
conditions: import("yup").ArraySchema<import("yup").StringSchema<string | undefined, Record<string, any>, string | undefined>, import("yup/lib/types").AnyObject, (string | undefined)[] | undefined, (string | undefined)[] | undefined>;
|
|
27
|
+
}>>>;
|
|
28
|
+
export declare const updatePermissions: any;
|
|
29
|
+
declare const _default: {
|
|
30
|
+
email: import("yup").StringSchema<string | undefined, Record<string, any>, string | undefined>;
|
|
31
|
+
firstname: import("yup").StringSchema<string | undefined, Record<string, any>, string | undefined>;
|
|
32
|
+
lastname: import("yup").StringSchema<string | undefined, Record<string, any>, string | undefined>;
|
|
33
|
+
username: import("yup").StringSchema<string | undefined, Record<string, any>, string | undefined>;
|
|
34
|
+
password: import("yup").StringSchema<string | undefined, Record<string, any>, string | undefined>;
|
|
35
|
+
roles: import("yup/lib/array").OptionalArraySchema<import("@strapi/utils/dist/yup").StrapiIDSchema, import("yup/lib/types").AnyObject, any[] | undefined>;
|
|
36
|
+
isAPluginName: import("yup").StringSchema<string | undefined, Record<string, any>, string | undefined>;
|
|
37
|
+
arrayOfConditionNames: import("yup").ArraySchema<import("yup").StringSchema<string | undefined, Record<string, any>, string | undefined>, import("yup/lib/types").AnyObject, (string | undefined)[] | undefined, (string | undefined)[] | undefined>;
|
|
38
|
+
permission: import("yup").ObjectSchema<import("yup/lib/object").Assign<import("yup/lib/object").ObjectShape, {
|
|
39
|
+
action: import("yup/lib/string").RequiredStringSchema<string | undefined, Record<string, any>>;
|
|
40
|
+
actionParameters: import("yup/lib/object").OptionalObjectSchema<import("yup/lib/object").ObjectShape, Record<string, any>, import("yup/lib/object").TypeOfShape<import("yup/lib/object").ObjectShape> | null>;
|
|
41
|
+
subject: import("yup").StringSchema<string | null | undefined, Record<string, any>, string | null | undefined>;
|
|
42
|
+
properties: import("yup/lib/object").OptionalObjectSchema<import("yup/lib/object").ObjectShape, Record<string, any>, import("yup/lib/object").TypeOfShape<import("yup/lib/object").ObjectShape>>;
|
|
43
|
+
conditions: import("yup").ArraySchema<import("yup").StringSchema<string | undefined, Record<string, any>, string | undefined>, import("yup/lib/types").AnyObject, (string | undefined)[] | undefined, (string | undefined)[] | undefined>;
|
|
44
|
+
}>, Record<string, any>, import("yup/lib/object").TypeOfShape<import("yup/lib/object").Assign<import("yup/lib/object").ObjectShape, {
|
|
45
|
+
action: import("yup/lib/string").RequiredStringSchema<string | undefined, Record<string, any>>;
|
|
46
|
+
actionParameters: import("yup/lib/object").OptionalObjectSchema<import("yup/lib/object").ObjectShape, Record<string, any>, import("yup/lib/object").TypeOfShape<import("yup/lib/object").ObjectShape> | null>;
|
|
47
|
+
subject: import("yup").StringSchema<string | null | undefined, Record<string, any>, string | null | undefined>;
|
|
48
|
+
properties: import("yup/lib/object").OptionalObjectSchema<import("yup/lib/object").ObjectShape, Record<string, any>, import("yup/lib/object").TypeOfShape<import("yup/lib/object").ObjectShape>>;
|
|
49
|
+
conditions: import("yup").ArraySchema<import("yup").StringSchema<string | undefined, Record<string, any>, string | undefined>, import("yup/lib/types").AnyObject, (string | undefined)[] | undefined, (string | undefined)[] | undefined>;
|
|
50
|
+
}>>, import("yup/lib/object").AssertsShape<import("yup/lib/object").Assign<import("yup/lib/object").ObjectShape, {
|
|
51
|
+
action: import("yup/lib/string").RequiredStringSchema<string | undefined, Record<string, any>>;
|
|
52
|
+
actionParameters: import("yup/lib/object").OptionalObjectSchema<import("yup/lib/object").ObjectShape, Record<string, any>, import("yup/lib/object").TypeOfShape<import("yup/lib/object").ObjectShape> | null>;
|
|
53
|
+
subject: import("yup").StringSchema<string | null | undefined, Record<string, any>, string | null | undefined>;
|
|
54
|
+
properties: import("yup/lib/object").OptionalObjectSchema<import("yup/lib/object").ObjectShape, Record<string, any>, import("yup/lib/object").TypeOfShape<import("yup/lib/object").ObjectShape>>;
|
|
55
|
+
conditions: import("yup").ArraySchema<import("yup").StringSchema<string | undefined, Record<string, any>, string | undefined>, import("yup/lib/types").AnyObject, (string | undefined)[] | undefined, (string | undefined)[] | undefined>;
|
|
56
|
+
}>>>;
|
|
57
|
+
updatePermissions: any;
|
|
58
|
+
};
|
|
59
|
+
export default _default;
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.updatePermissions = exports.permission = exports.permissionsAreEquals = exports.arrayOfConditionNames = exports.roles = exports.password = exports.username = exports.lastname = exports.firstname = exports.email = void 0;
|
|
7
|
+
const utils_1 = require("@strapi/utils");
|
|
8
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
9
|
+
const fp_1 = require("lodash/fp");
|
|
10
|
+
const utils_2 = require("../utils");
|
|
11
|
+
const action_1 = __importDefault(require("../domain/action"));
|
|
12
|
+
const common_functions_1 = require("./common-functions");
|
|
13
|
+
const getActionFromProvider = (actionId) => {
|
|
14
|
+
return (0, utils_2.getService)('permission').actionProvider.get(actionId);
|
|
15
|
+
};
|
|
16
|
+
exports.email = utils_1.yup.string().email().lowercase();
|
|
17
|
+
exports.firstname = utils_1.yup.string().trim().min(1);
|
|
18
|
+
exports.lastname = utils_1.yup.string();
|
|
19
|
+
exports.username = utils_1.yup.string().min(1);
|
|
20
|
+
exports.password = utils_1.yup
|
|
21
|
+
.string()
|
|
22
|
+
.min(8)
|
|
23
|
+
.matches(/[a-z]/, '${path} must contain at least one lowercase character')
|
|
24
|
+
.matches(/[A-Z]/, '${path} must contain at least one uppercase character')
|
|
25
|
+
.matches(/\d/, '${path} must contain at least one number');
|
|
26
|
+
exports.roles = utils_1.yup.array(utils_1.yup.strapiID()).min(1);
|
|
27
|
+
const isAPluginName = utils_1.yup
|
|
28
|
+
.string()
|
|
29
|
+
.test('is-a-plugin-name', 'is not a plugin name', function (value) {
|
|
30
|
+
return [undefined, 'admin', ...Object.keys(strapi.plugins)].includes(value)
|
|
31
|
+
? true
|
|
32
|
+
: this.createError({ path: this.path, message: `${this.path} is not an existing plugin` });
|
|
33
|
+
});
|
|
34
|
+
exports.arrayOfConditionNames = utils_1.yup
|
|
35
|
+
.array()
|
|
36
|
+
.of(utils_1.yup.string())
|
|
37
|
+
.test('is-an-array-of-conditions', 'is not a plugin name', function (value) {
|
|
38
|
+
const ids = strapi.admin.services.permission.conditionProvider.keys();
|
|
39
|
+
return lodash_1.default.isUndefined(value) || lodash_1.default.difference(value, ids).length === 0
|
|
40
|
+
? true
|
|
41
|
+
: this.createError({ path: this.path, message: `contains conditions that don't exist` });
|
|
42
|
+
});
|
|
43
|
+
const permissionsAreEquals = (a, b) => a.action === b.action && (a.subject === b.subject || (lodash_1.default.isNil(a.subject) && lodash_1.default.isNil(b.subject)));
|
|
44
|
+
exports.permissionsAreEquals = permissionsAreEquals;
|
|
45
|
+
const checkNoDuplicatedPermissions = (permissions) => !Array.isArray(permissions) ||
|
|
46
|
+
permissions.every((permA, i) => permissions.slice(i + 1).every((permB) => !(0, exports.permissionsAreEquals)(permA, permB)));
|
|
47
|
+
const checkNilFields = (action) => function (fields) {
|
|
48
|
+
// If the parent has no action field, then we ignore this test
|
|
49
|
+
if ((0, fp_1.isNil)(action)) {
|
|
50
|
+
return true;
|
|
51
|
+
}
|
|
52
|
+
return action_1.default.appliesToProperty('fields', action) || (0, fp_1.isNil)(fields);
|
|
53
|
+
};
|
|
54
|
+
const fieldsPropertyValidation = (action) => utils_1.yup
|
|
55
|
+
.array()
|
|
56
|
+
.of(utils_1.yup.string())
|
|
57
|
+
.nullable()
|
|
58
|
+
.test('field-nested', 'Fields format are incorrect (bad nesting).', common_functions_1.checkFieldsAreCorrectlyNested)
|
|
59
|
+
.test('field-nested', 'Fields format are incorrect (duplicates).', common_functions_1.checkFieldsDontHaveDuplicates)
|
|
60
|
+
.test('fields-restriction', 'The permission at ${path} must have fields set to null or undefined',
|
|
61
|
+
// @ts-expect-error
|
|
62
|
+
checkNilFields(action));
|
|
63
|
+
exports.permission = utils_1.yup
|
|
64
|
+
.object()
|
|
65
|
+
.shape({
|
|
66
|
+
action: utils_1.yup
|
|
67
|
+
.string()
|
|
68
|
+
.required()
|
|
69
|
+
.test('action-validity', 'action is not an existing permission action', function (actionId) {
|
|
70
|
+
// If the action field is Nil, ignore the test and let the required check handle the error
|
|
71
|
+
if ((0, fp_1.isNil)(actionId)) {
|
|
72
|
+
return true;
|
|
73
|
+
}
|
|
74
|
+
return !!getActionFromProvider(actionId);
|
|
75
|
+
}),
|
|
76
|
+
actionParameters: utils_1.yup.object().nullable(),
|
|
77
|
+
subject: utils_1.yup
|
|
78
|
+
.string()
|
|
79
|
+
.nullable()
|
|
80
|
+
.test('subject-validity', 'Invalid subject submitted', function (subject) {
|
|
81
|
+
// @ts-expect-error
|
|
82
|
+
const action = getActionFromProvider(this.options.parent.action);
|
|
83
|
+
if (!action) {
|
|
84
|
+
return true;
|
|
85
|
+
}
|
|
86
|
+
if ((0, fp_1.isNil)(action.subjects)) {
|
|
87
|
+
return (0, fp_1.isNil)(subject);
|
|
88
|
+
}
|
|
89
|
+
if ((0, fp_1.isArray)(action.subjects)) {
|
|
90
|
+
return action.subjects.includes(subject);
|
|
91
|
+
}
|
|
92
|
+
return false;
|
|
93
|
+
}),
|
|
94
|
+
properties: utils_1.yup
|
|
95
|
+
.object()
|
|
96
|
+
.test('properties-structure', 'Invalid property set at ${path}', function (properties) {
|
|
97
|
+
// @ts-expect-error
|
|
98
|
+
const action = getActionFromProvider(this.options.parent.action);
|
|
99
|
+
const hasNoProperties = (0, fp_1.isEmpty)(properties) || (0, fp_1.isNil)(properties);
|
|
100
|
+
if (!(0, fp_1.has)('options.applyToProperties', action)) {
|
|
101
|
+
return hasNoProperties;
|
|
102
|
+
}
|
|
103
|
+
if (hasNoProperties) {
|
|
104
|
+
return true;
|
|
105
|
+
}
|
|
106
|
+
const { applyToProperties } = action.options;
|
|
107
|
+
if (!(0, fp_1.isArray)(applyToProperties)) {
|
|
108
|
+
return false;
|
|
109
|
+
}
|
|
110
|
+
return Object.keys(properties).every((property) => applyToProperties.includes(property));
|
|
111
|
+
})
|
|
112
|
+
.test('fields-property', 'Invalid fields property at ${path}', async function (properties = {}) {
|
|
113
|
+
// @ts-expect-error
|
|
114
|
+
const action = getActionFromProvider(this.options.parent.action);
|
|
115
|
+
if (!action || !properties) {
|
|
116
|
+
return true;
|
|
117
|
+
}
|
|
118
|
+
if (!action_1.default.appliesToProperty('fields', action)) {
|
|
119
|
+
return true;
|
|
120
|
+
}
|
|
121
|
+
try {
|
|
122
|
+
await fieldsPropertyValidation(action).validate(properties.fields, {
|
|
123
|
+
strict: true,
|
|
124
|
+
abortEarly: false,
|
|
125
|
+
});
|
|
126
|
+
return true;
|
|
127
|
+
}
|
|
128
|
+
catch (e) {
|
|
129
|
+
// Propagate fieldsPropertyValidation error with updated path
|
|
130
|
+
throw this.createError({
|
|
131
|
+
message: e.message,
|
|
132
|
+
path: `${this.path}.fields`,
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
}),
|
|
136
|
+
conditions: utils_1.yup.array().of(utils_1.yup.string()),
|
|
137
|
+
})
|
|
138
|
+
.noUnknown();
|
|
139
|
+
exports.updatePermissions = utils_1.yup
|
|
140
|
+
.object()
|
|
141
|
+
.shape({
|
|
142
|
+
permissions: utils_1.yup
|
|
143
|
+
.array()
|
|
144
|
+
.required()
|
|
145
|
+
.of(exports.permission)
|
|
146
|
+
.test('duplicated-permissions', 'Some permissions are duplicated (same action and subject)', checkNoDuplicatedPermissions),
|
|
147
|
+
})
|
|
148
|
+
.required()
|
|
149
|
+
.noUnknown();
|
|
150
|
+
exports.default = {
|
|
151
|
+
email: exports.email,
|
|
152
|
+
firstname: exports.firstname,
|
|
153
|
+
lastname: exports.lastname,
|
|
154
|
+
username: exports.username,
|
|
155
|
+
password: exports.password,
|
|
156
|
+
roles: exports.roles,
|
|
157
|
+
isAPluginName,
|
|
158
|
+
arrayOfConditionNames: exports.arrayOfConditionNames,
|
|
159
|
+
permission: exports.permission,
|
|
160
|
+
updatePermissions: exports.updatePermissions,
|
|
161
|
+
};
|
|
162
|
+
//# sourceMappingURL=common-validators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common-validators.js","sourceRoot":"","sources":["../../../server/src/validation/common-validators.ts"],"names":[],"mappings":";;;;;;AAAA,yCAAoC;AACpC,oDAAuB;AACvB,kCAAyD;AACzD,oCAAsC;AACtC,8DAA6D;AAC7D,yDAAkG;AAGlG,MAAM,qBAAqB,GAAG,CAAC,QAAgB,EAAE,EAAE;IACjD,OAAO,IAAA,kBAAU,EAAC,YAAY,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC/D,CAAC,CAAC;AAEW,QAAA,KAAK,GAAG,WAAG,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,SAAS,EAAE,CAAC;AAEzC,QAAA,SAAS,GAAG,WAAG,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAEvC,QAAA,QAAQ,GAAG,WAAG,CAAC,MAAM,EAAE,CAAC;AAExB,QAAA,QAAQ,GAAG,WAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAE/B,QAAA,QAAQ,GAAG,WAAG;KACxB,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,CAAC;KACN,OAAO,CAAC,OAAO,EAAE,uDAAuD,CAAC;KACzE,OAAO,CAAC,OAAO,EAAE,uDAAuD,CAAC;KACzE,OAAO,CAAC,IAAI,EAAE,0CAA0C,CAAC,CAAC;AAEhD,QAAA,KAAK,GAAG,WAAG,CAAC,KAAK,CAAC,WAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAEtD,MAAM,aAAa,GAAG,WAAG;KACtB,MAAM,EAAE;KACR,IAAI,CAAC,kBAAkB,EAAE,sBAAsB,EAAE,UAAU,KAAK;IAC/D,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;QACzE,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,IAAI,4BAA4B,EAAE,CAAC,CAAC;AAC/F,CAAC,CAAC,CAAC;AAEQ,QAAA,qBAAqB,GAAG,WAAG;KACrC,KAAK,EAAE;KACP,EAAE,CAAC,WAAG,CAAC,MAAM,EAAE,CAAC;KAChB,IAAI,CAAC,2BAA2B,EAAE,sBAAsB,EAAE,UAAU,KAAK;IACxE,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;IACtE,OAAO,gBAAC,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,gBAAC,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC;QAClE,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,sCAAsC,EAAE,CAAC,CAAC;AAC7F,CAAC,CAAC,CAAC;AAEE,MAAM,oBAAoB,GAAG,CAAC,CAAM,EAAE,CAAM,EAAE,EAAE,CACrD,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,gBAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,gBAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AADtF,QAAA,oBAAoB,wBACkE;AAEnG,MAAM,4BAA4B,GAAG,CAAC,WAAoB,EAAE,EAAE,CAC5D,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;IAC3B,WAAW,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAC7B,WAAW,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAA,4BAAoB,EAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAC/E,CAAC;AAEJ,MAAM,cAAc,GAAG,CAAC,MAAc,EAAE,EAAE,CACxC,UAAU,MAA2B;IACnC,8DAA8D;IAC9D,IAAI,IAAA,UAAK,EAAC,MAAM,CAAC,EAAE;QACjB,OAAO,IAAI,CAAC;KACb;IAED,OAAO,gBAAY,CAAC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,IAAA,UAAK,EAAC,MAAM,CAAC,CAAC;AAC3E,CAAC,CAAC;AAEJ,MAAM,wBAAwB,GAAG,CAAC,MAAc,EAAE,EAAE,CAClD,WAAG;KACA,KAAK,EAAE;KACP,EAAE,CAAC,WAAG,CAAC,MAAM,EAAE,CAAC;KAChB,QAAQ,EAAE;KACV,IAAI,CACH,cAAc,EACd,4CAA4C,EAC5C,gDAA6B,CAC9B;KACA,IAAI,CACH,cAAc,EACd,2CAA2C,EAC3C,gDAA6B,CAC9B;KACA,IAAI,CACH,oBAAoB,EACpB,qEAAqE;AACrE,mBAAmB;AACnB,cAAc,CAAC,MAAM,CAAC,CACvB,CAAC;AAEO,QAAA,UAAU,GAAG,WAAG;KAC1B,MAAM,EAAE;KACR,KAAK,CAAC;IACL,MAAM,EAAE,WAAG;SACR,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,IAAI,CAAC,iBAAiB,EAAE,6CAA6C,EAAE,UAAU,QAAQ;QACxF,0FAA0F;QAC1F,IAAI,IAAA,UAAK,EAAC,QAAQ,CAAC,EAAE;YACnB,OAAO,IAAI,CAAC;SACb;QAED,OAAO,CAAC,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAC3C,CAAC,CAAC;IACJ,gBAAgB,EAAE,WAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACzC,OAAO,EAAE,WAAG;SACT,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,IAAI,CAAC,kBAAkB,EAAE,2BAA2B,EAAE,UAAU,OAAO;QACtE,mBAAmB;QACnB,MAAM,MAAM,GAAG,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAEjE,IAAI,CAAC,MAAM,EAAE;YACX,OAAO,IAAI,CAAC;SACb;QAED,IAAI,IAAA,UAAK,EAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;YAC1B,OAAO,IAAA,UAAK,EAAC,OAAO,CAAC,CAAC;SACvB;QAED,IAAI,IAAA,YAAO,EAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;YAC5B,OAAO,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;SAC1C;QAED,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IACJ,UAAU,EAAE,WAAG;SACZ,MAAM,EAAE;SACR,IAAI,CAAC,sBAAsB,EAAE,iCAAiC,EAAE,UAAU,UAAU;QACnF,mBAAmB;QACnB,MAAM,MAAM,GAAG,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAQ,CAAC;QACxE,MAAM,eAAe,GAAG,IAAA,YAAO,EAAC,UAAU,CAAC,IAAI,IAAA,UAAK,EAAC,UAAU,CAAC,CAAC;QAEjE,IAAI,CAAC,IAAA,QAAG,EAAC,2BAA2B,EAAE,MAAM,CAAC,EAAE;YAC7C,OAAO,eAAe,CAAC;SACxB;QAED,IAAI,eAAe,EAAE;YACnB,OAAO,IAAI,CAAC;SACb;QAED,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC;QAE7C,IAAI,CAAC,IAAA,YAAO,EAAC,iBAAiB,CAAC,EAAE;YAC/B,OAAO,KAAK,CAAC;SACd;QAED,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC3F,CAAC,CAAC;SACD,IAAI,CACH,iBAAiB,EACjB,oCAAoC,EACpC,KAAK,WAAW,UAAU,GAAG,EAAE;QAC7B,mBAAmB;QACnB,MAAM,MAAM,GAAG,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAQ,CAAC;QAExE,IAAI,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE;YAC1B,OAAO,IAAI,CAAC;SACb;QAED,IAAI,CAAC,gBAAY,CAAC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE;YACrD,OAAO,IAAI,CAAC;SACb;QAED,IAAI;YACF,MAAM,wBAAwB,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE;gBACjE,MAAM,EAAE,IAAI;gBACZ,UAAU,EAAE,KAAK;aAClB,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;SACb;QAAC,OAAO,CAAM,EAAE;YACf,6DAA6D;YAC7D,MAAM,IAAI,CAAC,WAAW,CAAC;gBACrB,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,SAAS;aAC5B,CAAC,CAAC;SACJ;IACH,CAAC,CACF;IACH,UAAU,EAAE,WAAG,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,WAAG,CAAC,MAAM,EAAE,CAAC;CACzC,CAAC;KACD,SAAS,EAAE,CAAC;AAEF,QAAA,iBAAiB,GAAG,WAAG;KACjC,MAAM,EAAE;KACR,KAAK,CAAC;IACL,WAAW,EAAE,WAAG;SACb,KAAK,EAAE;SACP,QAAQ,EAAE;SACV,EAAE,CAAC,kBAAU,CAAC;SACd,IAAI,CACH,wBAAwB,EACxB,2DAA2D,EAC3D,4BAA4B,CAC7B;CACJ,CAAC;KACD,QAAQ,EAAE;KACV,SAAS,EAAE,CAAC;AAEf,kBAAe;IACb,KAAK,EAAL,aAAK;IACL,SAAS,EAAT,iBAAS;IACT,QAAQ,EAAR,gBAAQ;IACR,QAAQ,EAAR,gBAAQ;IACR,QAAQ,EAAR,gBAAQ;IACR,KAAK,EAAL,aAAK;IACL,aAAa;IACb,qBAAqB,EAArB,6BAAqB;IACrB,UAAU,EAAV,kBAAU;IACV,iBAAiB,EAAjB,yBAAiB;CAClB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const validatePermissionsExist: (body: unknown, errorMessage?: string | undefined) => Promise<any>;
|
|
2
|
+
export declare const validateCheckPermissionsInput: (body: unknown, errorMessage?: string | undefined) => Promise<any>;
|
|
3
|
+
export declare const validatedUpdatePermissionsInput: (body: unknown, errorMessage?: string | undefined) => Promise<any>;
|
|
4
|
+
declare const _default: {
|
|
5
|
+
validatedUpdatePermissionsInput: (body: unknown, errorMessage?: string | undefined) => Promise<any>;
|
|
6
|
+
validatePermissionsExist: (body: unknown, errorMessage?: string | undefined) => Promise<any>;
|
|
7
|
+
validateCheckPermissionsInput: (body: unknown, errorMessage?: string | undefined) => Promise<any>;
|
|
8
|
+
};
|
|
9
|
+
export default _default;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.validatedUpdatePermissionsInput = exports.validateCheckPermissionsInput = exports.validatePermissionsExist = void 0;
|
|
7
|
+
const utils_1 = require("@strapi/utils");
|
|
8
|
+
const utils_2 = require("../utils");
|
|
9
|
+
const common_validators_1 = __importDefault(require("./common-validators"));
|
|
10
|
+
const checkPermissionsSchema = utils_1.yup.object().shape({
|
|
11
|
+
permissions: utils_1.yup.array().of(utils_1.yup
|
|
12
|
+
.object()
|
|
13
|
+
.shape({
|
|
14
|
+
action: utils_1.yup.string().required(),
|
|
15
|
+
subject: utils_1.yup.string().nullable(),
|
|
16
|
+
field: utils_1.yup.string(),
|
|
17
|
+
})
|
|
18
|
+
.noUnknown()),
|
|
19
|
+
});
|
|
20
|
+
const checkPermissionsExist = function (permissions) {
|
|
21
|
+
const existingActions = (0, utils_2.getService)('permission').actionProvider.values();
|
|
22
|
+
const failIndex = permissions.findIndex((permission) => !existingActions.some((action) => action.actionId === permission.action &&
|
|
23
|
+
(action.section !== 'contentTypes' || action.subjects.includes(permission.subject))));
|
|
24
|
+
return failIndex === -1
|
|
25
|
+
? true
|
|
26
|
+
: // @ts-expect-error
|
|
27
|
+
this.createError({
|
|
28
|
+
path: 'permissions',
|
|
29
|
+
message: `[${failIndex}] is not an existing permission action`,
|
|
30
|
+
});
|
|
31
|
+
};
|
|
32
|
+
const actionsExistSchema = utils_1.yup
|
|
33
|
+
.array()
|
|
34
|
+
.of(utils_1.yup.object().shape({
|
|
35
|
+
conditions: utils_1.yup.array().of(utils_1.yup.string()),
|
|
36
|
+
}))
|
|
37
|
+
.test('actions-exist', '', checkPermissionsExist);
|
|
38
|
+
exports.validatePermissionsExist = (0, utils_1.validateYupSchema)(actionsExistSchema);
|
|
39
|
+
exports.validateCheckPermissionsInput = (0, utils_1.validateYupSchema)(checkPermissionsSchema);
|
|
40
|
+
exports.validatedUpdatePermissionsInput = (0, utils_1.validateYupSchema)(common_validators_1.default.updatePermissions);
|
|
41
|
+
exports.default = {
|
|
42
|
+
validatedUpdatePermissionsInput: exports.validatedUpdatePermissionsInput,
|
|
43
|
+
validatePermissionsExist: exports.validatePermissionsExist,
|
|
44
|
+
validateCheckPermissionsInput: exports.validateCheckPermissionsInput,
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=permission.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permission.js","sourceRoot":"","sources":["../../../server/src/validation/permission.ts"],"names":[],"mappings":";;;;;;AAAA,yCAAuD;AACvD,oCAAsC;AACtC,4EAA6C;AAE7C,MAAM,sBAAsB,GAAG,WAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC;IAChD,WAAW,EAAE,WAAG,CAAC,KAAK,EAAE,CAAC,EAAE,CACzB,WAAG;SACA,MAAM,EAAE;SACR,KAAK,CAAC;QACL,MAAM,EAAE,WAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC/B,OAAO,EAAE,WAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAChC,KAAK,EAAE,WAAG,CAAC,MAAM,EAAE;KACpB,CAAC;SACD,SAAS,EAAE,CACf;CACF,CAAC,CAAC;AAEH,MAAM,qBAAqB,GAAG,UAAU,WAAgB;IACtD,MAAM,eAAe,GAAG,IAAA,kBAAU,EAAC,YAAY,CAAC,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;IACzE,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,CACrC,CAAC,UAAe,EAAE,EAAE,CAClB,CAAC,eAAe,CAAC,IAAI,CACnB,CAAC,MAAW,EAAE,EAAE,CACd,MAAM,CAAC,QAAQ,KAAK,UAAU,CAAC,MAAM;QACrC,CAAC,MAAM,CAAC,OAAO,KAAK,cAAc,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CACtF,CACJ,CAAC;IAEF,OAAO,SAAS,KAAK,CAAC,CAAC;QACrB,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,mBAAmB;YACnB,IAAI,CAAC,WAAW,CAAC;gBACf,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE,IAAI,SAAS,wCAAwC;aAC/D,CAAC,CAAC;AACT,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,WAAG;KAC3B,KAAK,EAAE;KACP,EAAE,CACD,WAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC;IACjB,UAAU,EAAE,WAAG,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,WAAG,CAAC,MAAM,EAAE,CAAC;CACzC,CAAC,CACH;KACA,IAAI,CAAC,eAAe,EAAE,EAAE,EAAE,qBAAqB,CAAC,CAAC;AAEvC,QAAA,wBAAwB,GAAG,IAAA,yBAAiB,EAAC,kBAAkB,CAAC,CAAC;AACjE,QAAA,6BAA6B,GAAG,IAAA,yBAAiB,EAAC,sBAAsB,CAAC,CAAC;AAC1E,QAAA,+BAA+B,GAAG,IAAA,yBAAiB,EAAC,2BAAU,CAAC,iBAAiB,CAAC,CAAC;AAE/F,kBAAe;IACb,+BAA+B,EAA/B,uCAA+B;IAC/B,wBAAwB,EAAxB,gCAAwB;IACxB,6BAA6B,EAA7B,qCAA6B;CAC9B,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const validateHasPermissionsInput: (body: unknown, errorMessage?: string | undefined) => Promise<any>;
|
|
2
|
+
declare const _default: {
|
|
3
|
+
validateHasPermissionsInput: (body: unknown, errorMessage?: string | undefined) => Promise<any>;
|
|
4
|
+
};
|
|
5
|
+
export default _default;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.validateHasPermissionsInput = void 0;
|
|
7
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
8
|
+
const utils_1 = require("@strapi/utils");
|
|
9
|
+
const hasPermissionsSchema = utils_1.yup.object({
|
|
10
|
+
actions: utils_1.yup.array().of(
|
|
11
|
+
// @ts-expect-error
|
|
12
|
+
utils_1.yup.lazy((val) => {
|
|
13
|
+
if (lodash_1.default.isArray(val)) {
|
|
14
|
+
return utils_1.yup.array().of(utils_1.yup.string()).min(1).max(2);
|
|
15
|
+
}
|
|
16
|
+
if (lodash_1.default.isString(val)) {
|
|
17
|
+
return utils_1.yup.string().required();
|
|
18
|
+
}
|
|
19
|
+
return utils_1.yup.object().shape({
|
|
20
|
+
action: utils_1.yup.string().required(),
|
|
21
|
+
subject: utils_1.yup.string(),
|
|
22
|
+
});
|
|
23
|
+
})),
|
|
24
|
+
});
|
|
25
|
+
exports.validateHasPermissionsInput = (0, utils_1.validateYupSchema)(hasPermissionsSchema);
|
|
26
|
+
exports.default = {
|
|
27
|
+
validateHasPermissionsInput: exports.validateHasPermissionsInput,
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=hasPermissions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hasPermissions.js","sourceRoot":"","sources":["../../../../server/src/validation/policies/hasPermissions.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAuB;AACvB,yCAAuD;AAEvD,MAAM,oBAAoB,GAAG,WAAG,CAAC,MAAM,CAAC;IACtC,OAAO,EAAE,WAAG,CAAC,KAAK,EAAE,CAAC,EAAE;IACrB,mBAAmB;IACnB,WAAG,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;QACf,IAAI,gBAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAClB,OAAO,WAAG,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,WAAG,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SACnD;QAED,IAAI,gBAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACnB,OAAO,WAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC;SAChC;QAED,OAAO,WAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC;YACxB,MAAM,EAAE,WAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC/B,OAAO,EAAE,WAAG,CAAC,MAAM,EAAE;SACtB,CAAC,CAAC;IACL,CAAC,CAAC,CACH;CACF,CAAC,CAAC;AAEU,QAAA,2BAA2B,GAAG,IAAA,yBAAiB,EAAC,oBAAoB,CAAC,CAAC;AAEnF,kBAAe;IACb,2BAA2B,EAA3B,mCAA2B;CAC5B,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const validateUpdateProjectSettings: (body: unknown, errorMessage?: string | undefined) => any;
|
|
2
|
+
export declare const validateUpdateProjectSettingsFiles: (body: unknown, errorMessage?: string | undefined) => any;
|
|
3
|
+
export declare const validateUpdateProjectSettingsImagesDimensions: (body: unknown, errorMessage?: string | undefined) => any;
|
|
4
|
+
declare const _default: {
|
|
5
|
+
validateUpdateProjectSettings: (body: unknown, errorMessage?: string | undefined) => any;
|
|
6
|
+
validateUpdateProjectSettingsFiles: (body: unknown, errorMessage?: string | undefined) => any;
|
|
7
|
+
validateUpdateProjectSettingsImagesDimensions: (body: unknown, errorMessage?: string | undefined) => any;
|
|
8
|
+
};
|
|
9
|
+
export default _default;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateUpdateProjectSettingsImagesDimensions = exports.validateUpdateProjectSettingsFiles = exports.validateUpdateProjectSettings = void 0;
|
|
4
|
+
const utils_1 = require("@strapi/utils");
|
|
5
|
+
const MAX_IMAGE_WIDTH = 750;
|
|
6
|
+
const MAX_IMAGE_HEIGHT = MAX_IMAGE_WIDTH;
|
|
7
|
+
const MAX_IMAGE_FILE_SIZE = 1024 * 1024; // 1Mo
|
|
8
|
+
const ALLOWED_IMAGE_FILE_TYPES = ['image/jpeg', 'image/png', 'image/svg+xml'];
|
|
9
|
+
const updateProjectSettings = utils_1.yup
|
|
10
|
+
.object({
|
|
11
|
+
menuLogo: utils_1.yup.string(),
|
|
12
|
+
authLogo: utils_1.yup.string(),
|
|
13
|
+
})
|
|
14
|
+
.noUnknown();
|
|
15
|
+
const updateProjectSettingsLogo = utils_1.yup.object({
|
|
16
|
+
name: utils_1.yup.string(),
|
|
17
|
+
type: utils_1.yup.string().oneOf(ALLOWED_IMAGE_FILE_TYPES),
|
|
18
|
+
size: utils_1.yup.number().max(MAX_IMAGE_FILE_SIZE),
|
|
19
|
+
});
|
|
20
|
+
const updateProjectSettingsFiles = utils_1.yup
|
|
21
|
+
.object({
|
|
22
|
+
menuLogo: updateProjectSettingsLogo,
|
|
23
|
+
authLogo: updateProjectSettingsLogo,
|
|
24
|
+
})
|
|
25
|
+
.noUnknown();
|
|
26
|
+
const logoDimensions = utils_1.yup.object({
|
|
27
|
+
width: utils_1.yup.number().max(MAX_IMAGE_WIDTH),
|
|
28
|
+
height: utils_1.yup.number().max(MAX_IMAGE_HEIGHT),
|
|
29
|
+
});
|
|
30
|
+
const updateProjectSettingsImagesDimensions = utils_1.yup
|
|
31
|
+
.object({
|
|
32
|
+
menuLogo: logoDimensions,
|
|
33
|
+
authLogo: logoDimensions,
|
|
34
|
+
})
|
|
35
|
+
.noUnknown();
|
|
36
|
+
exports.validateUpdateProjectSettings = (0, utils_1.validateYupSchemaSync)(updateProjectSettings);
|
|
37
|
+
exports.validateUpdateProjectSettingsFiles = (0, utils_1.validateYupSchemaSync)(updateProjectSettingsFiles);
|
|
38
|
+
exports.validateUpdateProjectSettingsImagesDimensions = (0, utils_1.validateYupSchemaSync)(updateProjectSettingsImagesDimensions);
|
|
39
|
+
exports.default = {
|
|
40
|
+
validateUpdateProjectSettings: exports.validateUpdateProjectSettings,
|
|
41
|
+
validateUpdateProjectSettingsFiles: exports.validateUpdateProjectSettingsFiles,
|
|
42
|
+
validateUpdateProjectSettingsImagesDimensions: exports.validateUpdateProjectSettingsImagesDimensions,
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=project-settings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-settings.js","sourceRoot":"","sources":["../../../server/src/validation/project-settings.ts"],"names":[],"mappings":";;;AAAA,yCAA2D;AAE3D,MAAM,eAAe,GAAG,GAAG,CAAC;AAC5B,MAAM,gBAAgB,GAAG,eAAe,CAAC;AACzC,MAAM,mBAAmB,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,MAAM;AAC/C,MAAM,wBAAwB,GAAG,CAAC,YAAY,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;AAE9E,MAAM,qBAAqB,GAAG,WAAG;KAC9B,MAAM,CAAC;IACN,QAAQ,EAAE,WAAG,CAAC,MAAM,EAAE;IACtB,QAAQ,EAAE,WAAG,CAAC,MAAM,EAAE;CACvB,CAAC;KACD,SAAS,EAAE,CAAC;AAEf,MAAM,yBAAyB,GAAG,WAAG,CAAC,MAAM,CAAC;IAC3C,IAAI,EAAE,WAAG,CAAC,MAAM,EAAE;IAClB,IAAI,EAAE,WAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,wBAAwB,CAAC;IAClD,IAAI,EAAE,WAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,mBAAmB,CAAC;CAC5C,CAAC,CAAC;AAEH,MAAM,0BAA0B,GAAG,WAAG;KACnC,MAAM,CAAC;IACN,QAAQ,EAAE,yBAAyB;IACnC,QAAQ,EAAE,yBAAyB;CACpC,CAAC;KACD,SAAS,EAAE,CAAC;AAEf,MAAM,cAAc,GAAG,WAAG,CAAC,MAAM,CAAC;IAChC,KAAK,EAAE,WAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC;IACxC,MAAM,EAAE,WAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC;CAC3C,CAAC,CAAC;AAEH,MAAM,qCAAqC,GAAG,WAAG;KAC9C,MAAM,CAAC;IACN,QAAQ,EAAE,cAAc;IACxB,QAAQ,EAAE,cAAc;CACzB,CAAC;KACD,SAAS,EAAE,CAAC;AAEF,QAAA,6BAA6B,GAAG,IAAA,6BAAqB,EAAC,qBAAqB,CAAC,CAAC;AAC7E,QAAA,kCAAkC,GAAG,IAAA,6BAAqB,EAAC,0BAA0B,CAAC,CAAC;AACvF,QAAA,6CAA6C,GAAG,IAAA,6BAAqB,EAChF,qCAAqC,CACtC,CAAC;AAEF,kBAAe;IACb,6BAA6B,EAA7B,qCAA6B;IAC7B,kCAAkC,EAAlC,0CAAkC;IAClC,6CAA6C,EAA7C,qDAA6C;CAC9C,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare const validateRoleCreateInput: (body: unknown, errorMessage?: string | undefined) => Promise<any>;
|
|
2
|
+
export declare const validateRoleUpdateInput: (body: unknown, errorMessage?: string | undefined) => Promise<any>;
|
|
3
|
+
export declare const validateRolesDeleteInput: (body: unknown, errorMessage?: string | undefined) => Promise<any>;
|
|
4
|
+
export declare const validateRoleDeleteInput: (body: unknown, errorMessage?: string | undefined) => Promise<any>;
|
|
5
|
+
declare const _default: {
|
|
6
|
+
validateRoleUpdateInput: (body: unknown, errorMessage?: string | undefined) => Promise<any>;
|
|
7
|
+
validateRoleCreateInput: (body: unknown, errorMessage?: string | undefined) => Promise<any>;
|
|
8
|
+
validateRolesDeleteInput: (body: unknown, errorMessage?: string | undefined) => Promise<any>;
|
|
9
|
+
validateRoleDeleteInput: (body: unknown, errorMessage?: string | undefined) => Promise<any>;
|
|
10
|
+
};
|
|
11
|
+
export default _default;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateRoleDeleteInput = exports.validateRolesDeleteInput = exports.validateRoleUpdateInput = exports.validateRoleCreateInput = void 0;
|
|
4
|
+
const utils_1 = require("@strapi/utils");
|
|
5
|
+
const roleCreateSchema = utils_1.yup
|
|
6
|
+
.object()
|
|
7
|
+
.shape({
|
|
8
|
+
name: utils_1.yup.string().min(1).required(),
|
|
9
|
+
description: utils_1.yup.string().nullable(),
|
|
10
|
+
})
|
|
11
|
+
.noUnknown();
|
|
12
|
+
const rolesDeleteSchema = utils_1.yup
|
|
13
|
+
.object()
|
|
14
|
+
.shape({
|
|
15
|
+
ids: utils_1.yup
|
|
16
|
+
.array()
|
|
17
|
+
.of(utils_1.yup.strapiID())
|
|
18
|
+
.min(1)
|
|
19
|
+
.required()
|
|
20
|
+
.test('roles-deletion-checks', 'Roles deletion checks have failed', async function (ids) {
|
|
21
|
+
try {
|
|
22
|
+
await strapi.admin.services.role.checkRolesIdForDeletion(ids);
|
|
23
|
+
}
|
|
24
|
+
catch (e) {
|
|
25
|
+
// @ts-expect-error
|
|
26
|
+
return this.createError({ path: 'ids', message: e.message });
|
|
27
|
+
}
|
|
28
|
+
return true;
|
|
29
|
+
}),
|
|
30
|
+
})
|
|
31
|
+
.noUnknown();
|
|
32
|
+
const roleDeleteSchema = utils_1.yup
|
|
33
|
+
.strapiID()
|
|
34
|
+
.required()
|
|
35
|
+
.test('no-admin-single-delete', 'Role deletion checks have failed', async function (id) {
|
|
36
|
+
try {
|
|
37
|
+
await strapi.admin.services.role.checkRolesIdForDeletion([id]);
|
|
38
|
+
}
|
|
39
|
+
catch (e) {
|
|
40
|
+
// @ts-expect-error
|
|
41
|
+
return this.createError({ path: 'id', message: e.message });
|
|
42
|
+
}
|
|
43
|
+
return true;
|
|
44
|
+
});
|
|
45
|
+
const roleUpdateSchema = utils_1.yup
|
|
46
|
+
.object()
|
|
47
|
+
.shape({
|
|
48
|
+
name: utils_1.yup.string().min(1),
|
|
49
|
+
description: utils_1.yup.string().nullable(),
|
|
50
|
+
})
|
|
51
|
+
.noUnknown();
|
|
52
|
+
exports.validateRoleCreateInput = (0, utils_1.validateYupSchema)(roleCreateSchema);
|
|
53
|
+
exports.validateRoleUpdateInput = (0, utils_1.validateYupSchema)(roleUpdateSchema);
|
|
54
|
+
exports.validateRolesDeleteInput = (0, utils_1.validateYupSchema)(rolesDeleteSchema);
|
|
55
|
+
exports.validateRoleDeleteInput = (0, utils_1.validateYupSchema)(roleDeleteSchema);
|
|
56
|
+
exports.default = {
|
|
57
|
+
validateRoleUpdateInput: exports.validateRoleUpdateInput,
|
|
58
|
+
validateRoleCreateInput: exports.validateRoleCreateInput,
|
|
59
|
+
validateRolesDeleteInput: exports.validateRolesDeleteInput,
|
|
60
|
+
validateRoleDeleteInput: exports.validateRoleDeleteInput,
|
|
61
|
+
};
|
|
62
|
+
//# sourceMappingURL=role.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"role.js","sourceRoot":"","sources":["../../../server/src/validation/role.ts"],"names":[],"mappings":";;;AAAA,yCAAuD;AAEvD,MAAM,gBAAgB,GAAG,WAAG;KACzB,MAAM,EAAE;KACR,KAAK,CAAC;IACL,IAAI,EAAE,WAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACpC,WAAW,EAAE,WAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACrC,CAAC;KACD,SAAS,EAAE,CAAC;AAEf,MAAM,iBAAiB,GAAG,WAAG;KAC1B,MAAM,EAAE;KACR,KAAK,CAAC;IACL,GAAG,EAAE,WAAG;SACL,KAAK,EAAE;SACP,EAAE,CAAC,WAAG,CAAC,QAAQ,EAAE,CAAC;SAClB,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,IAAI,CAAC,uBAAuB,EAAE,mCAAmC,EAAE,KAAK,WAAW,GAAG;QACrF,IAAI;YACF,MAAM,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC;SAC/D;QAAC,OAAO,CAAC,EAAE;YACV,mBAAmB;YACnB,OAAO,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;SAC9D;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;CACL,CAAC;KACD,SAAS,EAAE,CAAC;AAEf,MAAM,gBAAgB,GAAG,WAAG;KACzB,QAAQ,EAAE;KACV,QAAQ,EAAE;KACV,IAAI,CAAC,wBAAwB,EAAE,kCAAkC,EAAE,KAAK,WAAW,EAAE;IACpF,IAAI;QACF,MAAM,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;KAChE;IAAC,OAAO,CAAC,EAAE;QACV,mBAAmB;QACnB,OAAO,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;KAC7D;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC,CAAC;AAEL,MAAM,gBAAgB,GAAG,WAAG;KACzB,MAAM,EAAE;KACR,KAAK,CAAC;IACL,IAAI,EAAE,WAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,WAAW,EAAE,WAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACrC,CAAC;KACD,SAAS,EAAE,CAAC;AAEF,QAAA,uBAAuB,GAAG,IAAA,yBAAiB,EAAC,gBAAgB,CAAC,CAAC;AAC9D,QAAA,uBAAuB,GAAG,IAAA,yBAAiB,EAAC,gBAAgB,CAAC,CAAC;AAC9D,QAAA,wBAAwB,GAAG,IAAA,yBAAiB,EAAC,iBAAiB,CAAC,CAAC;AAChE,QAAA,uBAAuB,GAAG,IAAA,yBAAiB,EAAC,gBAAgB,CAAC,CAAC;AAE3E,kBAAe;IACb,uBAAuB,EAAvB,+BAAuB;IACvB,uBAAuB,EAAvB,+BAAuB;IACvB,wBAAwB,EAAxB,gCAAwB;IACxB,uBAAuB,EAAvB,+BAAuB;CACxB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as token } from './token';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.token = void 0;
|
|
7
|
+
var token_1 = require("./token");
|
|
8
|
+
Object.defineProperty(exports, "token", { enumerable: true, get: function () { return __importDefault(token_1).default; } });
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../server/src/validation/transfer/index.ts"],"names":[],"mappings":";;;;;;AAAA,iCAA2C;AAAlC,+GAAA,OAAO,OAAS"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare const validateTransferTokenCreationInput: (body: unknown, errorMessage?: string | undefined) => Promise<any>;
|
|
2
|
+
export declare const validateTransferTokenUpdateInput: (body: unknown, errorMessage?: string | undefined) => Promise<any>;
|
|
3
|
+
declare const _default: {
|
|
4
|
+
validateTransferTokenCreationInput: (body: unknown, errorMessage?: string | undefined) => Promise<any>;
|
|
5
|
+
validateTransferTokenUpdateInput: (body: unknown, errorMessage?: string | undefined) => Promise<any>;
|
|
6
|
+
};
|
|
7
|
+
export default _default;
|