@strapi/admin 5.30.0 → 5.31.0
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/admin/admin/src/StrapiApp.js.map +1 -1
- package/dist/admin/admin/src/StrapiApp.mjs.map +1 -1
- package/dist/admin/admin/src/components/ContentBox.js.map +1 -1
- package/dist/admin/admin/src/components/ContentBox.mjs.map +1 -1
- package/dist/admin/admin/src/components/DescriptionComponentRenderer.js.map +1 -1
- package/dist/admin/admin/src/components/DescriptionComponentRenderer.mjs.map +1 -1
- package/dist/admin/admin/src/components/Filters.js +1 -1
- package/dist/admin/admin/src/components/Filters.js.map +1 -1
- package/dist/admin/admin/src/components/Filters.mjs +1 -1
- package/dist/admin/admin/src/components/Filters.mjs.map +1 -1
- package/dist/admin/admin/src/components/Form.js +8 -3
- package/dist/admin/admin/src/components/Form.js.map +1 -1
- package/dist/admin/admin/src/components/Form.mjs +8 -3
- package/dist/admin/admin/src/components/Form.mjs.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Enumeration.js +1 -1
- package/dist/admin/admin/src/components/FormInputs/Enumeration.js.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Enumeration.mjs +1 -1
- package/dist/admin/admin/src/components/FormInputs/Enumeration.mjs.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Number.js +1 -1
- package/dist/admin/admin/src/components/FormInputs/Number.js.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Number.mjs +1 -1
- package/dist/admin/admin/src/components/FormInputs/Number.mjs.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Renderer.js.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Renderer.mjs.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Time.js.map +1 -1
- package/dist/admin/admin/src/components/FormInputs/Time.mjs.map +1 -1
- package/dist/admin/admin/src/components/GapDropZone.js.map +1 -1
- package/dist/admin/admin/src/components/GapDropZone.mjs.map +1 -1
- package/dist/admin/admin/src/components/GuidedTour/Overview.js.map +1 -1
- package/dist/admin/admin/src/components/GuidedTour/Overview.mjs.map +1 -1
- package/dist/admin/admin/src/components/GuidedTour/Steps/ContentTypeBuilderSteps.js.map +1 -1
- package/dist/admin/admin/src/components/GuidedTour/Steps/ContentTypeBuilderSteps.mjs.map +1 -1
- package/dist/admin/admin/src/components/GuidedTour/Steps/Step.js.map +1 -1
- package/dist/admin/admin/src/components/GuidedTour/Steps/Step.mjs.map +1 -1
- package/dist/admin/admin/src/components/Layouts/GridLayout.js.map +1 -1
- package/dist/admin/admin/src/components/Layouts/GridLayout.mjs.map +1 -1
- package/dist/admin/admin/src/components/Layouts/HeaderLayout.js +8 -4
- package/dist/admin/admin/src/components/Layouts/HeaderLayout.js.map +1 -1
- package/dist/admin/admin/src/components/Layouts/HeaderLayout.mjs +8 -4
- package/dist/admin/admin/src/components/Layouts/HeaderLayout.mjs.map +1 -1
- package/dist/admin/admin/src/components/NpsSurvey.js +5 -3
- package/dist/admin/admin/src/components/NpsSurvey.js.map +1 -1
- package/dist/admin/admin/src/components/NpsSurvey.mjs +5 -3
- package/dist/admin/admin/src/components/NpsSurvey.mjs.map +1 -1
- package/dist/admin/admin/src/components/PageHelpers.js.map +1 -1
- package/dist/admin/admin/src/components/PageHelpers.mjs.map +1 -1
- package/dist/admin/admin/src/components/PrivateRoute.js.map +1 -1
- package/dist/admin/admin/src/components/PrivateRoute.mjs.map +1 -1
- package/dist/admin/admin/src/components/RelativeTime.js.map +1 -1
- package/dist/admin/admin/src/components/RelativeTime.mjs.map +1 -1
- package/dist/admin/admin/src/components/ResizeIndicator.js.map +1 -1
- package/dist/admin/admin/src/components/ResizeIndicator.mjs.map +1 -1
- package/dist/admin/admin/src/components/Table.js +1 -1
- package/dist/admin/admin/src/components/Table.js.map +1 -1
- package/dist/admin/admin/src/components/Table.mjs +1 -1
- package/dist/admin/admin/src/components/Table.mjs.map +1 -1
- package/dist/admin/admin/src/components/Widgets.js.map +1 -1
- package/dist/admin/admin/src/components/Widgets.mjs.map +1 -1
- package/dist/admin/admin/src/core/apis/CustomFields.js.map +1 -1
- package/dist/admin/admin/src/core/apis/CustomFields.mjs.map +1 -1
- package/dist/admin/admin/src/core/apis/Plugin.js +0 -1
- package/dist/admin/admin/src/core/apis/Plugin.js.map +1 -1
- package/dist/admin/admin/src/core/apis/Plugin.mjs +0 -1
- package/dist/admin/admin/src/core/apis/Plugin.mjs.map +1 -1
- package/dist/admin/admin/src/core/apis/Widgets.js.map +1 -1
- package/dist/admin/admin/src/core/apis/Widgets.mjs.map +1 -1
- package/dist/admin/admin/src/core/apis/rbac.js.map +1 -1
- package/dist/admin/admin/src/core/apis/rbac.mjs.map +1 -1
- package/dist/admin/admin/src/core/apis/router.js.map +1 -1
- package/dist/admin/admin/src/core/apis/router.mjs.map +1 -1
- package/dist/admin/admin/src/features/BackButton.js.map +1 -1
- package/dist/admin/admin/src/features/BackButton.mjs.map +1 -1
- package/dist/admin/admin/src/features/Tracking.js.map +1 -1
- package/dist/admin/admin/src/features/Tracking.mjs.map +1 -1
- package/dist/admin/admin/src/features/Widgets.js.map +1 -1
- package/dist/admin/admin/src/features/Widgets.mjs.map +1 -1
- package/dist/admin/admin/src/hooks/usePersistentState.js.map +1 -1
- package/dist/admin/admin/src/hooks/usePersistentState.mjs.map +1 -1
- package/dist/admin/admin/src/hooks/useRBAC.js.map +1 -1
- package/dist/admin/admin/src/hooks/useRBAC.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Auth/components/Register.js.map +1 -1
- package/dist/admin/admin/src/pages/Auth/components/Register.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Home/HomePage.js.map +1 -1
- package/dist/admin/admin/src/pages/Home/HomePage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Marketplace/MarketplacePage.js +2 -2
- package/dist/admin/admin/src/pages/Marketplace/MarketplacePage.js.map +1 -1
- package/dist/admin/admin/src/pages/Marketplace/MarketplacePage.mjs +2 -2
- package/dist/admin/admin/src/pages/Marketplace/MarketplacePage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Marketplace/components/NpmPackageCard.js.map +1 -1
- package/dist/admin/admin/src/pages/Marketplace/components/NpmPackageCard.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Marketplace/components/NpmPackagesFilters.js.map +1 -1
- package/dist/admin/admin/src/pages/Marketplace/components/NpmPackagesFilters.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Marketplace/components/PageHeader.js.map +1 -1
- package/dist/admin/admin/src/pages/Marketplace/components/PageHeader.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Marketplace/hooks/useMarketplaceData.js.map +1 -1
- package/dist/admin/admin/src/pages/Marketplace/hooks/useMarketplaceData.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/components/SettingsNav.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/components/SettingsNav.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/components/Tokens/FormHead.js +8 -1
- package/dist/admin/admin/src/pages/Settings/components/Tokens/FormHead.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/components/Tokens/FormHead.mjs +9 -2
- package/dist/admin/admin/src/pages/Settings/components/Tokens/FormHead.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/components/Tokens/LifeSpanInput.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/components/Tokens/LifeSpanInput.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/components/Tokens/Table.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/components/Tokens/Table.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/EditViewPage.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/EditViewPage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/components/CollapsableContentType.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/components/CollapsableContentType.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/utils/transformPermissionsData.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/utils/transformPermissionsData.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/ListView.js +2 -0
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/ListView.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/ListView.mjs +2 -0
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/ListView.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/LogoInput.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/LogoInput.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/utils/files.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/utils/files.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/InstalledPlugins.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/InstalledPlugins.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/CreatePage.js +9 -2
- package/dist/admin/admin/src/pages/Settings/pages/Roles/CreatePage.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/CreatePage.mjs +9 -2
- package/dist/admin/admin/src/pages/Settings/pages/Roles/CreatePage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/EditPage.js +9 -2
- package/dist/admin/admin/src/pages/Settings/pages/Roles/EditPage.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/EditPage.mjs +9 -2
- package/dist/admin/admin/src/pages/Settings/pages/Roles/EditPage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/ListPage.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/ListPage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/CollapsePropertyMatrix.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/CollapsePropertyMatrix.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ConditionsModal.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ConditionsModal.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ContentTypeCollapses.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ContentTypeCollapses.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/GlobalActions.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/GlobalActions.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/Permissions.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/Permissions.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/PluginsAndSettings.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/components/PluginsAndSettings.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/forms.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/forms.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/permissions.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/permissions.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/TransferTokens/EditView.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/TransferTokens/EditView.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/TransferTokens/ListView.js +2 -0
- package/dist/admin/admin/src/pages/Settings/pages/TransferTokens/ListView.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/TransferTokens/ListView.mjs +2 -0
- package/dist/admin/admin/src/pages/Settings/pages/TransferTokens/ListView.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Users/EditPage.js +9 -2
- package/dist/admin/admin/src/pages/Settings/pages/Users/EditPage.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Users/EditPage.mjs +9 -2
- package/dist/admin/admin/src/pages/Settings/pages/Users/EditPage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Users/ListPage.js +3 -1
- package/dist/admin/admin/src/pages/Settings/pages/Users/ListPage.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Users/ListPage.mjs +3 -1
- package/dist/admin/admin/src/pages/Settings/pages/Users/ListPage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Users/components/MagicLinkCE.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Users/components/MagicLinkCE.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Users/components/SelectRoles.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Users/components/SelectRoles.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/EditPage.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/EditPage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/ListPage.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/ListPage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/HeadersInput.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/HeadersInput.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/WebhookForm.js +9 -2
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/WebhookForm.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/WebhookForm.mjs +9 -2
- package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/WebhookForm.mjs.map +1 -1
- package/dist/admin/admin/src/pages/UseCasePage.js.map +1 -1
- package/dist/admin/admin/src/pages/UseCasePage.mjs.map +1 -1
- package/dist/admin/admin/src/services/api.js +2 -1
- package/dist/admin/admin/src/services/api.js.map +1 -1
- package/dist/admin/admin/src/services/api.mjs +2 -1
- package/dist/admin/admin/src/services/api.mjs.map +1 -1
- package/dist/admin/admin/src/services/apiTokens.js.map +1 -1
- package/dist/admin/admin/src/services/apiTokens.mjs.map +1 -1
- package/dist/admin/admin/src/services/transferTokens.js.map +1 -1
- package/dist/admin/admin/src/services/transferTokens.mjs.map +1 -1
- package/dist/admin/admin/src/services/users.js.map +1 -1
- package/dist/admin/admin/src/services/users.mjs.map +1 -1
- package/dist/admin/admin/src/services/webhooks.js.map +1 -1
- package/dist/admin/admin/src/services/webhooks.mjs.map +1 -1
- package/dist/admin/admin/src/utils/cookies.js.map +1 -1
- package/dist/admin/admin/src/utils/cookies.mjs.map +1 -1
- package/dist/admin/admin/src/utils/getFetchClient.js.map +1 -1
- package/dist/admin/admin/src/utils/getFetchClient.mjs.map +1 -1
- package/dist/admin/admin/src/utils/getPrefixedId.js.map +1 -1
- package/dist/admin/admin/src/utils/getPrefixedId.mjs.map +1 -1
- package/dist/admin/admin/src/utils/rulesEngine.js.map +1 -1
- package/dist/admin/admin/src/utils/rulesEngine.mjs.map +1 -1
- package/dist/admin/admin/src/utils/urls.js.map +1 -1
- package/dist/admin/admin/src/utils/urls.mjs.map +1 -1
- package/dist/admin/admin/src/utils/users.js.map +1 -1
- package/dist/admin/admin/src/utils/users.mjs.map +1 -1
- package/dist/admin/ee/admin/src/components/AuditLogs/Widgets.js.map +1 -1
- package/dist/admin/ee/admin/src/components/AuditLogs/Widgets.mjs.map +1 -1
- package/dist/admin/ee/admin/src/hooks/useLicenseLimitNotification.js.map +1 -1
- package/dist/admin/ee/admin/src/hooks/useLicenseLimitNotification.mjs.map +1 -1
- package/dist/admin/ee/admin/src/pages/AuthPage/components/SSOProviders.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/AuthPage/components/SSOProviders.mjs.map +1 -1
- package/dist/admin/ee/admin/src/pages/AuthResponse.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/AuthResponse.mjs.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AIUsage.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AIUsage.mjs.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListPage.js +3 -3
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListPage.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListPage.mjs +3 -3
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListPage.mjs.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/components/Modal.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/components/Modal.mjs.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/hooks/useFormatTimeStamp.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/hooks/useFormatTimeStamp.mjs.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getDisplayedFilters.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getDisplayedFilters.mjs.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/Users/components/MagicLinkEE.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/Users/components/MagicLinkEE.mjs.map +1 -1
- package/dist/admin/ee/admin/src/services/ai.js +14 -1
- package/dist/admin/ee/admin/src/services/ai.js.map +1 -1
- package/dist/admin/ee/admin/src/services/ai.mjs +14 -2
- package/dist/admin/ee/admin/src/services/ai.mjs.map +1 -1
- package/dist/admin/ee/admin/src/services/auditLogs.js.map +1 -1
- package/dist/admin/ee/admin/src/services/auditLogs.mjs.map +1 -1
- package/dist/admin/ee.js +1 -0
- package/dist/admin/ee.js.map +1 -1
- package/dist/admin/ee.mjs +1 -1
- package/dist/admin/src/components/Form.d.ts +1 -1
- package/dist/admin/src/core/store/configure.d.ts +2 -2
- package/dist/admin/src/core/store/hooks.d.ts +2 -2
- package/dist/admin/src/ee.d.ts +1 -1
- package/dist/admin/src/hooks/useAdminRoles.d.ts +1 -1
- package/dist/admin/src/pages/Settings/pages/Webhooks/hooks/useWebhooks.d.ts +4 -4
- package/dist/admin/src/selectors.d.ts +2 -2
- package/dist/admin/src/services/admin.d.ts +6 -6
- package/dist/admin/src/services/api.d.ts +1 -1
- package/dist/admin/src/services/apiTokens.d.ts +1 -1
- package/dist/admin/src/services/auth.d.ts +13 -13
- package/dist/admin/src/services/contentApi.d.ts +1 -1
- package/dist/admin/src/services/contentManager.d.ts +1 -1
- package/dist/admin/src/services/homepage.d.ts +3 -3
- package/dist/admin/src/services/transferTokens.d.ts +1 -1
- package/dist/admin/src/services/users.d.ts +8 -8
- package/dist/admin/src/services/webhooks.d.ts +2 -2
- package/dist/admin/tests/utils.d.ts +1 -1
- package/dist/ee/admin/src/services/ai.d.ts +6 -3
- package/dist/ee/admin/src/services/auditLogs.d.ts +1 -1
- package/dist/ee/server/src/ai/containers/ai.d.ts +11 -0
- package/dist/ee/server/src/ai/containers/ai.d.ts.map +1 -0
- package/dist/ee/server/src/ai/controllers/ai.d.ts +1 -0
- package/dist/ee/server/src/ai/controllers/ai.d.ts.map +1 -1
- package/dist/ee/server/src/ai/routes/ai.d.ts.map +1 -1
- package/dist/ee/server/src/index.d.ts +1 -0
- package/dist/ee/server/src/index.d.ts.map +1 -1
- package/dist/server/ee/server/src/ai/containers/ai.js +18 -0
- package/dist/server/ee/server/src/ai/containers/ai.js.map +1 -0
- package/dist/server/ee/server/src/ai/containers/ai.mjs +16 -0
- package/dist/server/ee/server/src/ai/containers/ai.mjs.map +1 -0
- package/dist/server/ee/server/src/ai/controllers/ai.js +6 -0
- package/dist/server/ee/server/src/ai/controllers/ai.js.map +1 -1
- package/dist/server/ee/server/src/ai/controllers/ai.mjs +6 -0
- package/dist/server/ee/server/src/ai/controllers/ai.mjs.map +1 -1
- package/dist/server/ee/server/src/ai/routes/ai.js +11 -0
- package/dist/server/ee/server/src/ai/routes/ai.js.map +1 -1
- package/dist/server/ee/server/src/ai/routes/ai.mjs +11 -0
- package/dist/server/ee/server/src/ai/routes/ai.mjs.map +1 -1
- package/dist/server/ee/server/src/audit-logs/services/audit-logs.js.map +1 -1
- package/dist/server/ee/server/src/audit-logs/services/audit-logs.mjs.map +1 -1
- package/dist/server/ee/server/src/controllers/authentication-utils/constants.js.map +1 -1
- package/dist/server/ee/server/src/controllers/authentication-utils/constants.mjs.map +1 -1
- package/dist/server/ee/server/src/controllers/authentication-utils/utils.js.map +1 -1
- package/dist/server/ee/server/src/controllers/authentication-utils/utils.mjs.map +1 -1
- package/dist/server/ee/server/src/controllers/authentication.js.map +1 -1
- package/dist/server/ee/server/src/controllers/authentication.mjs.map +1 -1
- package/dist/server/ee/server/src/controllers/user.js.map +1 -1
- package/dist/server/ee/server/src/controllers/user.mjs.map +1 -1
- package/dist/server/ee/server/src/index.js +7 -0
- package/dist/server/ee/server/src/index.js.map +1 -1
- package/dist/server/ee/server/src/index.mjs +7 -0
- package/dist/server/ee/server/src/index.mjs.map +1 -1
- package/dist/server/ee/server/src/services/auth.js.map +1 -1
- package/dist/server/ee/server/src/services/auth.mjs.map +1 -1
- package/dist/server/ee/server/src/services/passport/sso.js.map +1 -1
- package/dist/server/ee/server/src/services/passport/sso.mjs.map +1 -1
- package/dist/server/ee/server/src/utils/index.js.map +1 -1
- package/dist/server/ee/server/src/utils/index.mjs.map +1 -1
- package/dist/server/server/src/controllers/transfer/index.js.map +1 -1
- package/dist/server/server/src/controllers/transfer/index.mjs.map +1 -1
- package/dist/server/server/src/controllers/user.js +10 -0
- package/dist/server/server/src/controllers/user.js.map +1 -1
- package/dist/server/server/src/controllers/user.mjs +10 -0
- package/dist/server/server/src/controllers/user.mjs.map +1 -1
- package/dist/server/server/src/domain/action/index.js.map +1 -1
- package/dist/server/server/src/domain/action/index.mjs.map +1 -1
- package/dist/server/server/src/domain/condition/index.js.map +1 -1
- package/dist/server/server/src/domain/condition/index.mjs.map +1 -1
- package/dist/server/server/src/domain/permission/index.js.map +1 -1
- package/dist/server/server/src/domain/permission/index.mjs.map +1 -1
- package/dist/server/server/src/middlewares/rateLimit.js.map +1 -1
- package/dist/server/server/src/middlewares/rateLimit.mjs.map +1 -1
- package/dist/server/server/src/routes/serve-admin-panel.js.map +1 -1
- package/dist/server/server/src/routes/serve-admin-panel.mjs.map +1 -1
- package/dist/server/server/src/services/api-token.js.map +1 -1
- package/dist/server/server/src/services/api-token.mjs.map +1 -1
- package/dist/server/server/src/services/auth.js.map +1 -1
- package/dist/server/server/src/services/auth.mjs.map +1 -1
- package/dist/server/server/src/services/content-type.js.map +1 -1
- package/dist/server/server/src/services/content-type.mjs.map +1 -1
- package/dist/server/server/src/services/encryption.js.map +1 -1
- package/dist/server/server/src/services/encryption.mjs.map +1 -1
- package/dist/server/server/src/services/homepage.js.map +1 -1
- package/dist/server/server/src/services/homepage.mjs.map +1 -1
- package/dist/server/server/src/services/permission/permissions-manager/sanitize.js.map +1 -1
- package/dist/server/server/src/services/permission/permissions-manager/sanitize.mjs.map +1 -1
- package/dist/server/server/src/services/permission/permissions-manager/validate.js.map +1 -1
- package/dist/server/server/src/services/permission/permissions-manager/validate.mjs.map +1 -1
- package/dist/server/server/src/services/role.js.map +1 -1
- package/dist/server/server/src/services/role.mjs.map +1 -1
- package/dist/server/server/src/services/transfer/token.js.map +1 -1
- package/dist/server/server/src/services/transfer/token.mjs.map +1 -1
- package/dist/server/server/src/services/user.js.map +1 -1
- package/dist/server/server/src/services/user.mjs.map +1 -1
- package/dist/server/server/src/utils/index.js.map +1 -1
- package/dist/server/server/src/utils/index.mjs.map +1 -1
- package/dist/server/server/src/validation/action-provider.js.map +1 -1
- package/dist/server/server/src/validation/action-provider.mjs.map +1 -1
- package/dist/server/server/src/validation/common-functions/check-fields-are-correctly-nested.js.map +1 -1
- package/dist/server/server/src/validation/common-functions/check-fields-are-correctly-nested.mjs.map +1 -1
- package/dist/server/server/src/validation/common-validators.js.map +1 -1
- package/dist/server/server/src/validation/common-validators.mjs.map +1 -1
- package/dist/server/src/controllers/user.d.ts.map +1 -1
- package/dist/shared/contracts/ai.d.ts +16 -0
- package/dist/shared/contracts/ai.d.ts.map +1 -1
- package/package.json +8 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common-validators.js","sources":["../../../../../server/src/validation/common-validators.ts"],"sourcesContent":["import { yup } from '@strapi/utils';\nimport _ from 'lodash';\nimport { isEmpty, has, isNil, isArray } from 'lodash/fp';\nimport { getService } from '../utils';\nimport actionDomain, { type Action } from '../domain/action';\nimport { checkFieldsAreCorrectlyNested, checkFieldsDontHaveDuplicates } from './common-functions';\nimport actions from '../domain/action/index';\n\nconst { actionFields } = actions;\n\nconst getActionFromProvider = (actionId: string) => {\n return getService('permission').actionProvider.get(actionId);\n};\n\nexport const email = yup.string().email().lowercase();\n\nexport const firstname = yup.string().trim().min(1);\n\nexport const lastname = yup.string();\n\nexport const username = yup.string().min(1);\n\nexport const password = yup\n .string()\n .min(8)\n .test('required-byte-size', '${path} must be less than 73 bytes', function (value) {\n if (!value) return true;\n const byteSize = new TextEncoder().encode(value).length;\n return byteSize <= 72;\n })\n .matches(/[a-z]/, '${path} must contain at least one lowercase character')\n .matches(/[A-Z]/, '${path} must contain at least one uppercase character')\n .matches(/\\d/, '${path} must contain at least one number');\n\nexport const roles = yup.array(yup.strapiID()).min(1);\n\nconst isAPluginName = yup\n .string()\n .test('is-a-plugin-name', 'is not a plugin name', function (value) {\n return [undefined, 'admin', ...Object.keys(strapi.plugins)].includes(value)\n ? true\n : this.createError({ path: this.path, message: `${this.path} is not an existing plugin` });\n });\n\nexport const arrayOfConditionNames = yup\n .array()\n .of(yup.string())\n .test('is-an-array-of-conditions', 'is not a plugin name', function (value) {\n const ids = strapi.service('admin::permission').conditionProvider.keys();\n return _.isUndefined(value) || _.difference(value, ids).length === 0\n ? true\n : this.createError({ path: this.path, message: `contains conditions that don't exist` });\n });\n\nexport const permissionsAreEquals = (a: any, b: any) =>\n a.action === b.action && (a.subject === b.subject || (_.isNil(a.subject) && _.isNil(b.subject)));\n\nconst checkNoDuplicatedPermissions = (permissions: unknown) =>\n !Array.isArray(permissions) ||\n permissions.every((permA, i) =>\n permissions.slice(i + 1).every((permB) => !permissionsAreEquals(permA, permB))\n );\n\nconst checkNilFields = (action: Action) =>\n function (fields: typeof actionFields) {\n // If the parent has no action field, then we ignore this test\n if (isNil(action)) {\n return true;\n }\n\n return actionDomain.appliesToProperty('fields', action) || isNil(fields);\n };\n\nconst fieldsPropertyValidation = (action: Action) =>\n yup\n .array()\n .of(yup.string())\n .nullable()\n .test(\n 'field-nested',\n 'Fields format are incorrect (bad nesting).',\n checkFieldsAreCorrectlyNested\n )\n .test(\n 'field-nested',\n 'Fields format are incorrect (duplicates).',\n checkFieldsDontHaveDuplicates\n )\n .test(\n 'fields-restriction',\n 'The permission at ${path} must have fields set to null or undefined',\n // @ts-expect-error yup types\n checkNilFields(action)\n );\n\nexport const permission = yup\n .object()\n .shape({\n action: yup\n .string()\n .required()\n .test('action-validity', 'action is not an existing permission action', function (actionId) {\n // If the action field is Nil, ignore the test and let the required check handle the error\n if (isNil(actionId)) {\n return true;\n }\n\n return !!getActionFromProvider(actionId);\n }),\n actionParameters: yup.object().nullable(),\n subject: yup\n .string()\n .nullable()\n .test('subject-validity', 'Invalid subject submitted', function (subject) {\n // @ts-expect-error yup types\n const action = getActionFromProvider(this.options.parent.action);\n\n if (!action) {\n return true;\n }\n\n if (isNil(action.subjects)) {\n return isNil(subject);\n }\n\n if (isArray(action.subjects) && !isNil(subject)) {\n return action.subjects.includes(subject);\n }\n\n return false;\n }),\n properties: yup\n .object()\n .test('properties-structure', 'Invalid property set at ${path}', function (properties) {\n // @ts-expect-error yup types\n const action = getActionFromProvider(this.options.parent.action) as any;\n const hasNoProperties = isEmpty(properties) || isNil(properties);\n\n if (!has('options.applyToProperties', action)) {\n return hasNoProperties;\n }\n\n if (hasNoProperties) {\n return true;\n }\n\n const { applyToProperties } = action.options;\n\n if (!isArray(applyToProperties)) {\n return false;\n }\n\n return Object.keys(properties).every((property) => applyToProperties.includes(property));\n })\n .test(\n 'fields-property',\n 'Invalid fields property at ${path}',\n async function (properties = {}) {\n // @ts-expect-error yup types\n const action = getActionFromProvider(this.options.parent.action) as any;\n\n if (!action || !properties) {\n return true;\n }\n\n if (!actionDomain.appliesToProperty('fields', action)) {\n return true;\n }\n\n try {\n await fieldsPropertyValidation(action).validate(properties.fields, {\n strict: true,\n abortEarly: false,\n });\n return true;\n } catch (e: any) {\n // Propagate fieldsPropertyValidation error with updated path\n throw this.createError({\n message: e.message,\n path: `${this.path}.fields`,\n });\n }\n }\n ),\n conditions: yup.array().of(yup.string()),\n })\n .noUnknown();\n\nexport const updatePermissions = yup\n .object()\n .shape({\n permissions: yup\n .array()\n .required()\n .of(permission)\n .test(\n 'duplicated-permissions',\n 'Some permissions are duplicated (same action and subject)',\n checkNoDuplicatedPermissions\n ),\n })\n .required()\n .noUnknown();\n\nexport default {\n email,\n firstname,\n lastname,\n username,\n password,\n roles,\n isAPluginName,\n arrayOfConditionNames,\n permission,\n updatePermissions,\n};\n"],"names":["getActionFromProvider","actionId","getService","actionProvider","get","email","yup","string","lowercase","firstname","trim","min","lastname","username","password","test","value","byteSize","TextEncoder","encode","length","matches","roles","array","strapiID","isAPluginName","undefined","Object","keys","strapi","plugins","includes","createError","path","message","arrayOfConditionNames","of","ids","service","conditionProvider","_","isUndefined","difference","permissionsAreEquals","a","b","action","subject","isNil","checkNoDuplicatedPermissions","permissions","Array","isArray","every","permA","i","slice","permB","checkNilFields","fields","actionDomain","appliesToProperty","fieldsPropertyValidation","nullable","checkFieldsAreCorrectlyNested","checkFieldsDontHaveDuplicates","permission","object","shape","required","actionParameters","options","parent","subjects","properties","hasNoProperties","isEmpty","has","applyToProperties","property","validate","strict","abortEarly","e","conditions","noUnknown","updatePermissions"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"common-validators.js","sources":["../../../../../server/src/validation/common-validators.ts"],"sourcesContent":["import { yup } from '@strapi/utils';\nimport _ from 'lodash';\nimport { isEmpty, has, isNil, isArray } from 'lodash/fp';\nimport { getService } from '../utils';\nimport actionDomain, { type Action } from '../domain/action';\nimport { checkFieldsAreCorrectlyNested, checkFieldsDontHaveDuplicates } from './common-functions';\nimport actions from '../domain/action/index';\n\nconst { actionFields } = actions;\n\nconst getActionFromProvider = (actionId: string) => {\n return getService('permission').actionProvider.get(actionId);\n};\n\nexport const email = yup.string().email().lowercase();\n\nexport const firstname = yup.string().trim().min(1);\n\nexport const lastname = yup.string();\n\nexport const username = yup.string().min(1);\n\nexport const password = yup\n .string()\n .min(8)\n .test('required-byte-size', '${path} must be less than 73 bytes', function (value) {\n if (!value) return true;\n const byteSize = new TextEncoder().encode(value).length;\n return byteSize <= 72;\n })\n .matches(/[a-z]/, '${path} must contain at least one lowercase character')\n .matches(/[A-Z]/, '${path} must contain at least one uppercase character')\n .matches(/\\d/, '${path} must contain at least one number');\n\nexport const roles = yup.array(yup.strapiID()).min(1);\n\nconst isAPluginName = yup\n .string()\n .test('is-a-plugin-name', 'is not a plugin name', function (value) {\n return [undefined, 'admin', ...Object.keys(strapi.plugins)].includes(value)\n ? true\n : this.createError({ path: this.path, message: `${this.path} is not an existing plugin` });\n });\n\nexport const arrayOfConditionNames = yup\n .array()\n .of(yup.string())\n .test('is-an-array-of-conditions', 'is not a plugin name', function (value) {\n const ids = strapi.service('admin::permission').conditionProvider.keys();\n return _.isUndefined(value) || _.difference(value, ids).length === 0\n ? true\n : this.createError({ path: this.path, message: `contains conditions that don't exist` });\n });\n\nexport const permissionsAreEquals = (a: any, b: any) =>\n a.action === b.action && (a.subject === b.subject || (_.isNil(a.subject) && _.isNil(b.subject)));\n\nconst checkNoDuplicatedPermissions = (permissions: unknown) =>\n !Array.isArray(permissions) ||\n permissions.every((permA, i) =>\n permissions.slice(i + 1).every((permB) => !permissionsAreEquals(permA, permB))\n );\n\nconst checkNilFields = (action: Action) =>\n function (fields: typeof actionFields) {\n // If the parent has no action field, then we ignore this test\n if (isNil(action)) {\n return true;\n }\n\n return actionDomain.appliesToProperty('fields', action) || isNil(fields);\n };\n\nconst fieldsPropertyValidation = (action: Action) =>\n yup\n .array()\n .of(yup.string())\n .nullable()\n .test(\n 'field-nested',\n 'Fields format are incorrect (bad nesting).',\n checkFieldsAreCorrectlyNested\n )\n .test(\n 'field-nested',\n 'Fields format are incorrect (duplicates).',\n checkFieldsDontHaveDuplicates\n )\n .test(\n 'fields-restriction',\n 'The permission at ${path} must have fields set to null or undefined',\n // @ts-expect-error yup types\n checkNilFields(action)\n );\n\nexport const permission = yup\n .object()\n .shape({\n action: yup\n .string()\n .required()\n .test('action-validity', 'action is not an existing permission action', function (actionId) {\n // If the action field is Nil, ignore the test and let the required check handle the error\n if (isNil(actionId)) {\n return true;\n }\n\n return !!getActionFromProvider(actionId);\n }),\n actionParameters: yup.object().nullable(),\n subject: yup\n .string()\n .nullable()\n .test('subject-validity', 'Invalid subject submitted', function (subject) {\n // @ts-expect-error yup types\n const action = getActionFromProvider(this.options.parent.action);\n\n if (!action) {\n return true;\n }\n\n if (isNil(action.subjects)) {\n return isNil(subject);\n }\n\n if (isArray(action.subjects) && !isNil(subject)) {\n return action.subjects.includes(subject);\n }\n\n return false;\n }),\n properties: yup\n .object()\n .test('properties-structure', 'Invalid property set at ${path}', function (properties) {\n // @ts-expect-error yup types\n const action = getActionFromProvider(this.options.parent.action) as any;\n const hasNoProperties = isEmpty(properties) || isNil(properties);\n\n if (!has('options.applyToProperties', action)) {\n return hasNoProperties;\n }\n\n if (hasNoProperties) {\n return true;\n }\n\n const { applyToProperties } = action.options;\n\n if (!isArray(applyToProperties)) {\n return false;\n }\n\n return Object.keys(properties).every((property) => applyToProperties.includes(property));\n })\n .test(\n 'fields-property',\n 'Invalid fields property at ${path}',\n async function (properties = {}) {\n // @ts-expect-error yup types\n const action = getActionFromProvider(this.options.parent.action) as any;\n\n if (!action || !properties) {\n return true;\n }\n\n if (!actionDomain.appliesToProperty('fields', action)) {\n return true;\n }\n\n try {\n await fieldsPropertyValidation(action).validate(properties.fields, {\n strict: true,\n abortEarly: false,\n });\n return true;\n } catch (e: any) {\n // Propagate fieldsPropertyValidation error with updated path\n throw this.createError({\n message: e.message,\n path: `${this.path}.fields`,\n });\n }\n }\n ),\n conditions: yup.array().of(yup.string()),\n })\n .noUnknown();\n\nexport const updatePermissions = yup\n .object()\n .shape({\n permissions: yup\n .array()\n .required()\n .of(permission)\n .test(\n 'duplicated-permissions',\n 'Some permissions are duplicated (same action and subject)',\n checkNoDuplicatedPermissions\n ),\n })\n .required()\n .noUnknown();\n\nexport default {\n email,\n firstname,\n lastname,\n username,\n password,\n roles,\n isAPluginName,\n arrayOfConditionNames,\n permission,\n updatePermissions,\n};\n"],"names":["getActionFromProvider","actionId","getService","actionProvider","get","email","yup","string","lowercase","firstname","trim","min","lastname","username","password","test","value","byteSize","TextEncoder","encode","length","matches","roles","array","strapiID","isAPluginName","undefined","Object","keys","strapi","plugins","includes","createError","path","message","arrayOfConditionNames","of","ids","service","conditionProvider","_","isUndefined","difference","permissionsAreEquals","a","b","action","subject","isNil","checkNoDuplicatedPermissions","permissions","Array","isArray","every","permA","i","slice","permB","checkNilFields","fields","actionDomain","appliesToProperty","fieldsPropertyValidation","nullable","checkFieldsAreCorrectlyNested","checkFieldsDontHaveDuplicates","permission","object","shape","required","actionParameters","options","parent","subjects","properties","hasNoProperties","isEmpty","has","applyToProperties","property","validate","strict","abortEarly","e","conditions","noUnknown","updatePermissions"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common-validators.mjs","sources":["../../../../../server/src/validation/common-validators.ts"],"sourcesContent":["import { yup } from '@strapi/utils';\nimport _ from 'lodash';\nimport { isEmpty, has, isNil, isArray } from 'lodash/fp';\nimport { getService } from '../utils';\nimport actionDomain, { type Action } from '../domain/action';\nimport { checkFieldsAreCorrectlyNested, checkFieldsDontHaveDuplicates } from './common-functions';\nimport actions from '../domain/action/index';\n\nconst { actionFields } = actions;\n\nconst getActionFromProvider = (actionId: string) => {\n return getService('permission').actionProvider.get(actionId);\n};\n\nexport const email = yup.string().email().lowercase();\n\nexport const firstname = yup.string().trim().min(1);\n\nexport const lastname = yup.string();\n\nexport const username = yup.string().min(1);\n\nexport const password = yup\n .string()\n .min(8)\n .test('required-byte-size', '${path} must be less than 73 bytes', function (value) {\n if (!value) return true;\n const byteSize = new TextEncoder().encode(value).length;\n return byteSize <= 72;\n })\n .matches(/[a-z]/, '${path} must contain at least one lowercase character')\n .matches(/[A-Z]/, '${path} must contain at least one uppercase character')\n .matches(/\\d/, '${path} must contain at least one number');\n\nexport const roles = yup.array(yup.strapiID()).min(1);\n\nconst isAPluginName = yup\n .string()\n .test('is-a-plugin-name', 'is not a plugin name', function (value) {\n return [undefined, 'admin', ...Object.keys(strapi.plugins)].includes(value)\n ? true\n : this.createError({ path: this.path, message: `${this.path} is not an existing plugin` });\n });\n\nexport const arrayOfConditionNames = yup\n .array()\n .of(yup.string())\n .test('is-an-array-of-conditions', 'is not a plugin name', function (value) {\n const ids = strapi.service('admin::permission').conditionProvider.keys();\n return _.isUndefined(value) || _.difference(value, ids).length === 0\n ? true\n : this.createError({ path: this.path, message: `contains conditions that don't exist` });\n });\n\nexport const permissionsAreEquals = (a: any, b: any) =>\n a.action === b.action && (a.subject === b.subject || (_.isNil(a.subject) && _.isNil(b.subject)));\n\nconst checkNoDuplicatedPermissions = (permissions: unknown) =>\n !Array.isArray(permissions) ||\n permissions.every((permA, i) =>\n permissions.slice(i + 1).every((permB) => !permissionsAreEquals(permA, permB))\n );\n\nconst checkNilFields = (action: Action) =>\n function (fields: typeof actionFields) {\n // If the parent has no action field, then we ignore this test\n if (isNil(action)) {\n return true;\n }\n\n return actionDomain.appliesToProperty('fields', action) || isNil(fields);\n };\n\nconst fieldsPropertyValidation = (action: Action) =>\n yup\n .array()\n .of(yup.string())\n .nullable()\n .test(\n 'field-nested',\n 'Fields format are incorrect (bad nesting).',\n checkFieldsAreCorrectlyNested\n )\n .test(\n 'field-nested',\n 'Fields format are incorrect (duplicates).',\n checkFieldsDontHaveDuplicates\n )\n .test(\n 'fields-restriction',\n 'The permission at ${path} must have fields set to null or undefined',\n // @ts-expect-error yup types\n checkNilFields(action)\n );\n\nexport const permission = yup\n .object()\n .shape({\n action: yup\n .string()\n .required()\n .test('action-validity', 'action is not an existing permission action', function (actionId) {\n // If the action field is Nil, ignore the test and let the required check handle the error\n if (isNil(actionId)) {\n return true;\n }\n\n return !!getActionFromProvider(actionId);\n }),\n actionParameters: yup.object().nullable(),\n subject: yup\n .string()\n .nullable()\n .test('subject-validity', 'Invalid subject submitted', function (subject) {\n // @ts-expect-error yup types\n const action = getActionFromProvider(this.options.parent.action);\n\n if (!action) {\n return true;\n }\n\n if (isNil(action.subjects)) {\n return isNil(subject);\n }\n\n if (isArray(action.subjects) && !isNil(subject)) {\n return action.subjects.includes(subject);\n }\n\n return false;\n }),\n properties: yup\n .object()\n .test('properties-structure', 'Invalid property set at ${path}', function (properties) {\n // @ts-expect-error yup types\n const action = getActionFromProvider(this.options.parent.action) as any;\n const hasNoProperties = isEmpty(properties) || isNil(properties);\n\n if (!has('options.applyToProperties', action)) {\n return hasNoProperties;\n }\n\n if (hasNoProperties) {\n return true;\n }\n\n const { applyToProperties } = action.options;\n\n if (!isArray(applyToProperties)) {\n return false;\n }\n\n return Object.keys(properties).every((property) => applyToProperties.includes(property));\n })\n .test(\n 'fields-property',\n 'Invalid fields property at ${path}',\n async function (properties = {}) {\n // @ts-expect-error yup types\n const action = getActionFromProvider(this.options.parent.action) as any;\n\n if (!action || !properties) {\n return true;\n }\n\n if (!actionDomain.appliesToProperty('fields', action)) {\n return true;\n }\n\n try {\n await fieldsPropertyValidation(action).validate(properties.fields, {\n strict: true,\n abortEarly: false,\n });\n return true;\n } catch (e: any) {\n // Propagate fieldsPropertyValidation error with updated path\n throw this.createError({\n message: e.message,\n path: `${this.path}.fields`,\n });\n }\n }\n ),\n conditions: yup.array().of(yup.string()),\n })\n .noUnknown();\n\nexport const updatePermissions = yup\n .object()\n .shape({\n permissions: yup\n .array()\n .required()\n .of(permission)\n .test(\n 'duplicated-permissions',\n 'Some permissions are duplicated (same action and subject)',\n checkNoDuplicatedPermissions\n ),\n })\n .required()\n .noUnknown();\n\nexport default {\n email,\n firstname,\n lastname,\n username,\n password,\n roles,\n isAPluginName,\n arrayOfConditionNames,\n permission,\n updatePermissions,\n};\n"],"names":["getActionFromProvider","actionId","getService","actionProvider","get","email","yup","string","lowercase","firstname","trim","min","lastname","username","password","test","value","byteSize","TextEncoder","encode","length","matches","roles","array","strapiID","isAPluginName","undefined","Object","keys","strapi","plugins","includes","createError","path","message","arrayOfConditionNames","of","ids","service","conditionProvider","_","isUndefined","difference","permissionsAreEquals","a","b","action","subject","isNil","checkNoDuplicatedPermissions","permissions","Array","isArray","every","permA","i","slice","permB","checkNilFields","fields","actionDomain","appliesToProperty","fieldsPropertyValidation","nullable","checkFieldsAreCorrectlyNested","checkFieldsDontHaveDuplicates","permission","object","shape","required","actionParameters","options","parent","subjects","properties","hasNoProperties","isEmpty","has","applyToProperties","property","validate","strict","abortEarly","e","conditions","noUnknown","updatePermissions"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"common-validators.mjs","sources":["../../../../../server/src/validation/common-validators.ts"],"sourcesContent":["import { yup } from '@strapi/utils';\nimport _ from 'lodash';\nimport { isEmpty, has, isNil, isArray } from 'lodash/fp';\nimport { getService } from '../utils';\nimport actionDomain, { type Action } from '../domain/action';\nimport { checkFieldsAreCorrectlyNested, checkFieldsDontHaveDuplicates } from './common-functions';\nimport actions from '../domain/action/index';\n\nconst { actionFields } = actions;\n\nconst getActionFromProvider = (actionId: string) => {\n return getService('permission').actionProvider.get(actionId);\n};\n\nexport const email = yup.string().email().lowercase();\n\nexport const firstname = yup.string().trim().min(1);\n\nexport const lastname = yup.string();\n\nexport const username = yup.string().min(1);\n\nexport const password = yup\n .string()\n .min(8)\n .test('required-byte-size', '${path} must be less than 73 bytes', function (value) {\n if (!value) return true;\n const byteSize = new TextEncoder().encode(value).length;\n return byteSize <= 72;\n })\n .matches(/[a-z]/, '${path} must contain at least one lowercase character')\n .matches(/[A-Z]/, '${path} must contain at least one uppercase character')\n .matches(/\\d/, '${path} must contain at least one number');\n\nexport const roles = yup.array(yup.strapiID()).min(1);\n\nconst isAPluginName = yup\n .string()\n .test('is-a-plugin-name', 'is not a plugin name', function (value) {\n return [undefined, 'admin', ...Object.keys(strapi.plugins)].includes(value)\n ? true\n : this.createError({ path: this.path, message: `${this.path} is not an existing plugin` });\n });\n\nexport const arrayOfConditionNames = yup\n .array()\n .of(yup.string())\n .test('is-an-array-of-conditions', 'is not a plugin name', function (value) {\n const ids = strapi.service('admin::permission').conditionProvider.keys();\n return _.isUndefined(value) || _.difference(value, ids).length === 0\n ? true\n : this.createError({ path: this.path, message: `contains conditions that don't exist` });\n });\n\nexport const permissionsAreEquals = (a: any, b: any) =>\n a.action === b.action && (a.subject === b.subject || (_.isNil(a.subject) && _.isNil(b.subject)));\n\nconst checkNoDuplicatedPermissions = (permissions: unknown) =>\n !Array.isArray(permissions) ||\n permissions.every((permA, i) =>\n permissions.slice(i + 1).every((permB) => !permissionsAreEquals(permA, permB))\n );\n\nconst checkNilFields = (action: Action) =>\n function (fields: typeof actionFields) {\n // If the parent has no action field, then we ignore this test\n if (isNil(action)) {\n return true;\n }\n\n return actionDomain.appliesToProperty('fields', action) || isNil(fields);\n };\n\nconst fieldsPropertyValidation = (action: Action) =>\n yup\n .array()\n .of(yup.string())\n .nullable()\n .test(\n 'field-nested',\n 'Fields format are incorrect (bad nesting).',\n checkFieldsAreCorrectlyNested\n )\n .test(\n 'field-nested',\n 'Fields format are incorrect (duplicates).',\n checkFieldsDontHaveDuplicates\n )\n .test(\n 'fields-restriction',\n 'The permission at ${path} must have fields set to null or undefined',\n // @ts-expect-error yup types\n checkNilFields(action)\n );\n\nexport const permission = yup\n .object()\n .shape({\n action: yup\n .string()\n .required()\n .test('action-validity', 'action is not an existing permission action', function (actionId) {\n // If the action field is Nil, ignore the test and let the required check handle the error\n if (isNil(actionId)) {\n return true;\n }\n\n return !!getActionFromProvider(actionId);\n }),\n actionParameters: yup.object().nullable(),\n subject: yup\n .string()\n .nullable()\n .test('subject-validity', 'Invalid subject submitted', function (subject) {\n // @ts-expect-error yup types\n const action = getActionFromProvider(this.options.parent.action);\n\n if (!action) {\n return true;\n }\n\n if (isNil(action.subjects)) {\n return isNil(subject);\n }\n\n if (isArray(action.subjects) && !isNil(subject)) {\n return action.subjects.includes(subject);\n }\n\n return false;\n }),\n properties: yup\n .object()\n .test('properties-structure', 'Invalid property set at ${path}', function (properties) {\n // @ts-expect-error yup types\n const action = getActionFromProvider(this.options.parent.action) as any;\n const hasNoProperties = isEmpty(properties) || isNil(properties);\n\n if (!has('options.applyToProperties', action)) {\n return hasNoProperties;\n }\n\n if (hasNoProperties) {\n return true;\n }\n\n const { applyToProperties } = action.options;\n\n if (!isArray(applyToProperties)) {\n return false;\n }\n\n return Object.keys(properties).every((property) => applyToProperties.includes(property));\n })\n .test(\n 'fields-property',\n 'Invalid fields property at ${path}',\n async function (properties = {}) {\n // @ts-expect-error yup types\n const action = getActionFromProvider(this.options.parent.action) as any;\n\n if (!action || !properties) {\n return true;\n }\n\n if (!actionDomain.appliesToProperty('fields', action)) {\n return true;\n }\n\n try {\n await fieldsPropertyValidation(action).validate(properties.fields, {\n strict: true,\n abortEarly: false,\n });\n return true;\n } catch (e: any) {\n // Propagate fieldsPropertyValidation error with updated path\n throw this.createError({\n message: e.message,\n path: `${this.path}.fields`,\n });\n }\n }\n ),\n conditions: yup.array().of(yup.string()),\n })\n .noUnknown();\n\nexport const updatePermissions = yup\n .object()\n .shape({\n permissions: yup\n .array()\n .required()\n .of(permission)\n .test(\n 'duplicated-permissions',\n 'Some permissions are duplicated (same action and subject)',\n checkNoDuplicatedPermissions\n ),\n })\n .required()\n .noUnknown();\n\nexport default {\n email,\n firstname,\n lastname,\n username,\n password,\n roles,\n isAPluginName,\n arrayOfConditionNames,\n permission,\n updatePermissions,\n};\n"],"names":["getActionFromProvider","actionId","getService","actionProvider","get","email","yup","string","lowercase","firstname","trim","min","lastname","username","password","test","value","byteSize","TextEncoder","encode","length","matches","roles","array","strapiID","isAPluginName","undefined","Object","keys","strapi","plugins","includes","createError","path","message","arrayOfConditionNames","of","ids","service","conditionProvider","_","isUndefined","difference","permissionsAreEquals","a","b","action","subject","isNil","checkNoDuplicatedPermissions","permissions","Array","isArray","every","permA","i","slice","permB","checkNilFields","fields","actionDomain","appliesToProperty","fieldsPropertyValidation","nullable","checkFieldsAreCorrectlyNested","checkFieldsDontHaveDuplicates","permission","object","shape","required","actionParameters","options","parent","subjects","properties","hasNoProperties","isEmpty","has","applyToProperties","property","validate","strict","abortEarly","e","conditions","noUnknown","updatePermissions"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../../server/src/controllers/user.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;;gBAuBf,OAAO;cAkCT,OAAO;iBAsBJ,OAAO;gBAcR,OAAO;mBA4BJ,OAAO;
|
|
1
|
+
{"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../../server/src/controllers/user.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;;gBAuBf,OAAO;cAkCT,OAAO;iBAsBJ,OAAO;gBAcR,OAAO;mBA4BJ,OAAO;IAmB5B;;;OAGG;oBACmB,OAAO;;AA1H/B,wBA4IE"}
|
|
@@ -38,3 +38,19 @@ export declare namespace GetAiUsage {
|
|
|
38
38
|
};
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
|
+
/**
|
|
42
|
+
* GET /ai-feature-config - Get AI feature config
|
|
43
|
+
*/
|
|
44
|
+
export declare namespace GetAIFeatureConfig {
|
|
45
|
+
interface Request {
|
|
46
|
+
query: {};
|
|
47
|
+
body: {};
|
|
48
|
+
}
|
|
49
|
+
interface Response {
|
|
50
|
+
data: {
|
|
51
|
+
isAIi18nConfigured: boolean;
|
|
52
|
+
isAIMediaLibraryConfigured: boolean;
|
|
53
|
+
};
|
|
54
|
+
error?: errors.ApplicationError;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai.d.ts","sourceRoot":"","sources":["../../../shared/contracts/ai.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C;;GAEG;AACH,MAAM,CAAC,OAAO,WAAW,UAAU,CAAC;IAClC,UAAiB,OAAO;QACtB,KAAK,EAAE,EAAE,CAAC;QACV,IAAI,EAAE,EAAE,CAAC;KACV;IAED,UAAiB,QAAQ;QACvB,IAAI,EAAE;YACJ,KAAK,EAAE,MAAM,CAAC;YACd,SAAS,CAAC,EAAE,MAAM,CAAC;SACpB,CAAC;QACF,KAAK,CAAC,EAAE,MAAM,CAAC,gBAAgB,CAAC;KACjC;CACF;AAED;;GAEG;AACH,MAAM,CAAC,OAAO,WAAW,UAAU,CAAC;IAClC,UAAiB,OAAO;QACtB,KAAK,EAAE,EAAE,CAAC;QACV,IAAI,EAAE,EAAE,CAAC;KACV;IAED,UAAiB,QAAQ;QACvB,gBAAgB,EAAE,MAAM,CAAC;QACzB,YAAY,EAAE;YACZ,cAAc,EAAE,MAAM,CAAC;YACvB,WAAW,EAAE,MAAM,CAAC;YACpB,kBAAkB,EAAE,MAAM,CAAC;YAC3B,oBAAoB,EAAE,OAAO,CAAC;YAC9B,YAAY,EAAE,OAAO,CAAC;YACtB,gBAAgB,EAAE,MAAM,CAAC;YACzB,oBAAoB,EAAE,MAAM,CAAC;YAC7B,gBAAgB,EAAE,MAAM,CAAC;YACzB,cAAc,EAAE,MAAM,CAAC;SACxB,CAAC;KACH;CACF"}
|
|
1
|
+
{"version":3,"file":"ai.d.ts","sourceRoot":"","sources":["../../../shared/contracts/ai.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAE5C;;GAEG;AACH,MAAM,CAAC,OAAO,WAAW,UAAU,CAAC;IAClC,UAAiB,OAAO;QACtB,KAAK,EAAE,EAAE,CAAC;QACV,IAAI,EAAE,EAAE,CAAC;KACV;IAED,UAAiB,QAAQ;QACvB,IAAI,EAAE;YACJ,KAAK,EAAE,MAAM,CAAC;YACd,SAAS,CAAC,EAAE,MAAM,CAAC;SACpB,CAAC;QACF,KAAK,CAAC,EAAE,MAAM,CAAC,gBAAgB,CAAC;KACjC;CACF;AAED;;GAEG;AACH,MAAM,CAAC,OAAO,WAAW,UAAU,CAAC;IAClC,UAAiB,OAAO;QACtB,KAAK,EAAE,EAAE,CAAC;QACV,IAAI,EAAE,EAAE,CAAC;KACV;IAED,UAAiB,QAAQ;QACvB,gBAAgB,EAAE,MAAM,CAAC;QACzB,YAAY,EAAE;YACZ,cAAc,EAAE,MAAM,CAAC;YACvB,WAAW,EAAE,MAAM,CAAC;YACpB,kBAAkB,EAAE,MAAM,CAAC;YAC3B,oBAAoB,EAAE,OAAO,CAAC;YAC9B,YAAY,EAAE,OAAO,CAAC;YACtB,gBAAgB,EAAE,MAAM,CAAC;YACzB,oBAAoB,EAAE,MAAM,CAAC;YAC7B,gBAAgB,EAAE,MAAM,CAAC;YACzB,cAAc,EAAE,MAAM,CAAC;SACxB,CAAC;KACH;CACF;AAED;;GAEG;AACH,MAAM,CAAC,OAAO,WAAW,kBAAkB,CAAC;IAC1C,UAAiB,OAAO;QACtB,KAAK,EAAE,EAAE,CAAC;QACV,IAAI,EAAE,EAAE,CAAC;KACV;IAED,UAAiB,QAAQ;QACvB,IAAI,EAAE;YACJ,kBAAkB,EAAE,OAAO,CAAC;YAC5B,0BAA0B,EAAE,OAAO,CAAC;SACrC,CAAC;QACF,KAAK,CAAC,EAAE,MAAM,CAAC,gBAAgB,CAAC;KACjC;CACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@strapi/admin",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.31.0",
|
|
4
4
|
"description": "Strapi Admin",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -86,10 +86,10 @@
|
|
|
86
86
|
"@reduxjs/toolkit": "1.9.7",
|
|
87
87
|
"@strapi/design-system": "2.0.0-rc.30",
|
|
88
88
|
"@strapi/icons": "2.0.0-rc.30",
|
|
89
|
-
"@strapi/permissions": "5.
|
|
90
|
-
"@strapi/types": "5.
|
|
91
|
-
"@strapi/typescript-utils": "5.
|
|
92
|
-
"@strapi/utils": "5.
|
|
89
|
+
"@strapi/permissions": "5.31.0",
|
|
90
|
+
"@strapi/types": "5.31.0",
|
|
91
|
+
"@strapi/typescript-utils": "5.31.0",
|
|
92
|
+
"@strapi/utils": "5.31.0",
|
|
93
93
|
"@testing-library/dom": "10.1.0",
|
|
94
94
|
"@testing-library/react": "15.0.7",
|
|
95
95
|
"@testing-library/user-event": "14.5.2",
|
|
@@ -143,8 +143,8 @@
|
|
|
143
143
|
"zod": "3.25.67"
|
|
144
144
|
},
|
|
145
145
|
"devDependencies": {
|
|
146
|
-
"@strapi/admin-test-utils": "5.
|
|
147
|
-
"@strapi/data-transfer": "5.
|
|
146
|
+
"@strapi/admin-test-utils": "5.31.0",
|
|
147
|
+
"@strapi/data-transfer": "5.31.0",
|
|
148
148
|
"@types/codemirror5": "npm:@types/codemirror@^5.60.15",
|
|
149
149
|
"@types/fs-extra": "11.0.4",
|
|
150
150
|
"@types/invariant": "2.2.36",
|
|
@@ -179,7 +179,7 @@
|
|
|
179
179
|
"styled-components": "^6.0.0"
|
|
180
180
|
},
|
|
181
181
|
"engines": {
|
|
182
|
-
"node": ">=
|
|
182
|
+
"node": ">=20.0.0 <=24.x.x",
|
|
183
183
|
"npm": ">=6.0.0"
|
|
184
184
|
},
|
|
185
185
|
"nx": {
|