@strapi/admin 5.30.0 → 5.30.1

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.
Files changed (342) hide show
  1. package/dist/admin/admin/src/StrapiApp.js.map +1 -1
  2. package/dist/admin/admin/src/StrapiApp.mjs.map +1 -1
  3. package/dist/admin/admin/src/components/ContentBox.js.map +1 -1
  4. package/dist/admin/admin/src/components/ContentBox.mjs.map +1 -1
  5. package/dist/admin/admin/src/components/DescriptionComponentRenderer.js.map +1 -1
  6. package/dist/admin/admin/src/components/DescriptionComponentRenderer.mjs.map +1 -1
  7. package/dist/admin/admin/src/components/Filters.js +1 -1
  8. package/dist/admin/admin/src/components/Filters.js.map +1 -1
  9. package/dist/admin/admin/src/components/Filters.mjs +1 -1
  10. package/dist/admin/admin/src/components/Filters.mjs.map +1 -1
  11. package/dist/admin/admin/src/components/Form.js +8 -3
  12. package/dist/admin/admin/src/components/Form.js.map +1 -1
  13. package/dist/admin/admin/src/components/Form.mjs +8 -3
  14. package/dist/admin/admin/src/components/Form.mjs.map +1 -1
  15. package/dist/admin/admin/src/components/FormInputs/Enumeration.js +1 -1
  16. package/dist/admin/admin/src/components/FormInputs/Enumeration.js.map +1 -1
  17. package/dist/admin/admin/src/components/FormInputs/Enumeration.mjs +1 -1
  18. package/dist/admin/admin/src/components/FormInputs/Enumeration.mjs.map +1 -1
  19. package/dist/admin/admin/src/components/FormInputs/Number.js +1 -1
  20. package/dist/admin/admin/src/components/FormInputs/Number.js.map +1 -1
  21. package/dist/admin/admin/src/components/FormInputs/Number.mjs +1 -1
  22. package/dist/admin/admin/src/components/FormInputs/Number.mjs.map +1 -1
  23. package/dist/admin/admin/src/components/FormInputs/Renderer.js.map +1 -1
  24. package/dist/admin/admin/src/components/FormInputs/Renderer.mjs.map +1 -1
  25. package/dist/admin/admin/src/components/FormInputs/Time.js.map +1 -1
  26. package/dist/admin/admin/src/components/FormInputs/Time.mjs.map +1 -1
  27. package/dist/admin/admin/src/components/GapDropZone.js.map +1 -1
  28. package/dist/admin/admin/src/components/GapDropZone.mjs.map +1 -1
  29. package/dist/admin/admin/src/components/GuidedTour/Overview.js.map +1 -1
  30. package/dist/admin/admin/src/components/GuidedTour/Overview.mjs.map +1 -1
  31. package/dist/admin/admin/src/components/GuidedTour/Steps/ContentTypeBuilderSteps.js.map +1 -1
  32. package/dist/admin/admin/src/components/GuidedTour/Steps/ContentTypeBuilderSteps.mjs.map +1 -1
  33. package/dist/admin/admin/src/components/GuidedTour/Steps/Step.js.map +1 -1
  34. package/dist/admin/admin/src/components/GuidedTour/Steps/Step.mjs.map +1 -1
  35. package/dist/admin/admin/src/components/Layouts/GridLayout.js.map +1 -1
  36. package/dist/admin/admin/src/components/Layouts/GridLayout.mjs.map +1 -1
  37. package/dist/admin/admin/src/components/Layouts/HeaderLayout.js +8 -4
  38. package/dist/admin/admin/src/components/Layouts/HeaderLayout.js.map +1 -1
  39. package/dist/admin/admin/src/components/Layouts/HeaderLayout.mjs +8 -4
  40. package/dist/admin/admin/src/components/Layouts/HeaderLayout.mjs.map +1 -1
  41. package/dist/admin/admin/src/components/NpsSurvey.js +5 -3
  42. package/dist/admin/admin/src/components/NpsSurvey.js.map +1 -1
  43. package/dist/admin/admin/src/components/NpsSurvey.mjs +5 -3
  44. package/dist/admin/admin/src/components/NpsSurvey.mjs.map +1 -1
  45. package/dist/admin/admin/src/components/PageHelpers.js.map +1 -1
  46. package/dist/admin/admin/src/components/PageHelpers.mjs.map +1 -1
  47. package/dist/admin/admin/src/components/PrivateRoute.js.map +1 -1
  48. package/dist/admin/admin/src/components/PrivateRoute.mjs.map +1 -1
  49. package/dist/admin/admin/src/components/RelativeTime.js.map +1 -1
  50. package/dist/admin/admin/src/components/RelativeTime.mjs.map +1 -1
  51. package/dist/admin/admin/src/components/ResizeIndicator.js.map +1 -1
  52. package/dist/admin/admin/src/components/ResizeIndicator.mjs.map +1 -1
  53. package/dist/admin/admin/src/components/Table.js +1 -1
  54. package/dist/admin/admin/src/components/Table.js.map +1 -1
  55. package/dist/admin/admin/src/components/Table.mjs +1 -1
  56. package/dist/admin/admin/src/components/Table.mjs.map +1 -1
  57. package/dist/admin/admin/src/components/Widgets.js.map +1 -1
  58. package/dist/admin/admin/src/components/Widgets.mjs.map +1 -1
  59. package/dist/admin/admin/src/core/apis/CustomFields.js.map +1 -1
  60. package/dist/admin/admin/src/core/apis/CustomFields.mjs.map +1 -1
  61. package/dist/admin/admin/src/core/apis/Plugin.js +0 -1
  62. package/dist/admin/admin/src/core/apis/Plugin.js.map +1 -1
  63. package/dist/admin/admin/src/core/apis/Plugin.mjs +0 -1
  64. package/dist/admin/admin/src/core/apis/Plugin.mjs.map +1 -1
  65. package/dist/admin/admin/src/core/apis/Widgets.js.map +1 -1
  66. package/dist/admin/admin/src/core/apis/Widgets.mjs.map +1 -1
  67. package/dist/admin/admin/src/core/apis/rbac.js.map +1 -1
  68. package/dist/admin/admin/src/core/apis/rbac.mjs.map +1 -1
  69. package/dist/admin/admin/src/core/apis/router.js.map +1 -1
  70. package/dist/admin/admin/src/core/apis/router.mjs.map +1 -1
  71. package/dist/admin/admin/src/features/BackButton.js.map +1 -1
  72. package/dist/admin/admin/src/features/BackButton.mjs.map +1 -1
  73. package/dist/admin/admin/src/features/Tracking.js.map +1 -1
  74. package/dist/admin/admin/src/features/Tracking.mjs.map +1 -1
  75. package/dist/admin/admin/src/features/Widgets.js.map +1 -1
  76. package/dist/admin/admin/src/features/Widgets.mjs.map +1 -1
  77. package/dist/admin/admin/src/hooks/usePersistentState.js.map +1 -1
  78. package/dist/admin/admin/src/hooks/usePersistentState.mjs.map +1 -1
  79. package/dist/admin/admin/src/hooks/useRBAC.js.map +1 -1
  80. package/dist/admin/admin/src/hooks/useRBAC.mjs.map +1 -1
  81. package/dist/admin/admin/src/pages/Auth/components/Register.js.map +1 -1
  82. package/dist/admin/admin/src/pages/Auth/components/Register.mjs.map +1 -1
  83. package/dist/admin/admin/src/pages/Home/HomePage.js.map +1 -1
  84. package/dist/admin/admin/src/pages/Home/HomePage.mjs.map +1 -1
  85. package/dist/admin/admin/src/pages/Marketplace/MarketplacePage.js +2 -2
  86. package/dist/admin/admin/src/pages/Marketplace/MarketplacePage.js.map +1 -1
  87. package/dist/admin/admin/src/pages/Marketplace/MarketplacePage.mjs +2 -2
  88. package/dist/admin/admin/src/pages/Marketplace/MarketplacePage.mjs.map +1 -1
  89. package/dist/admin/admin/src/pages/Marketplace/components/NpmPackageCard.js.map +1 -1
  90. package/dist/admin/admin/src/pages/Marketplace/components/NpmPackageCard.mjs.map +1 -1
  91. package/dist/admin/admin/src/pages/Marketplace/components/NpmPackagesFilters.js.map +1 -1
  92. package/dist/admin/admin/src/pages/Marketplace/components/NpmPackagesFilters.mjs.map +1 -1
  93. package/dist/admin/admin/src/pages/Marketplace/components/PageHeader.js.map +1 -1
  94. package/dist/admin/admin/src/pages/Marketplace/components/PageHeader.mjs.map +1 -1
  95. package/dist/admin/admin/src/pages/Marketplace/hooks/useMarketplaceData.js.map +1 -1
  96. package/dist/admin/admin/src/pages/Marketplace/hooks/useMarketplaceData.mjs.map +1 -1
  97. package/dist/admin/admin/src/pages/Settings/components/SettingsNav.js.map +1 -1
  98. package/dist/admin/admin/src/pages/Settings/components/SettingsNav.mjs.map +1 -1
  99. package/dist/admin/admin/src/pages/Settings/components/Tokens/FormHead.js +8 -1
  100. package/dist/admin/admin/src/pages/Settings/components/Tokens/FormHead.js.map +1 -1
  101. package/dist/admin/admin/src/pages/Settings/components/Tokens/FormHead.mjs +9 -2
  102. package/dist/admin/admin/src/pages/Settings/components/Tokens/FormHead.mjs.map +1 -1
  103. package/dist/admin/admin/src/pages/Settings/components/Tokens/LifeSpanInput.js.map +1 -1
  104. package/dist/admin/admin/src/pages/Settings/components/Tokens/LifeSpanInput.mjs.map +1 -1
  105. package/dist/admin/admin/src/pages/Settings/components/Tokens/Table.js.map +1 -1
  106. package/dist/admin/admin/src/pages/Settings/components/Tokens/Table.mjs.map +1 -1
  107. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/EditViewPage.js.map +1 -1
  108. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/EditViewPage.mjs.map +1 -1
  109. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/components/CollapsableContentType.js.map +1 -1
  110. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/components/CollapsableContentType.mjs.map +1 -1
  111. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/utils/transformPermissionsData.js.map +1 -1
  112. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/utils/transformPermissionsData.mjs.map +1 -1
  113. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/ListView.js +2 -0
  114. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/ListView.js.map +1 -1
  115. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/ListView.mjs +2 -0
  116. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/ListView.mjs.map +1 -1
  117. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.js.map +1 -1
  118. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.mjs.map +1 -1
  119. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/LogoInput.js.map +1 -1
  120. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/LogoInput.mjs.map +1 -1
  121. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/utils/files.js.map +1 -1
  122. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/utils/files.mjs.map +1 -1
  123. package/dist/admin/admin/src/pages/Settings/pages/InstalledPlugins.js.map +1 -1
  124. package/dist/admin/admin/src/pages/Settings/pages/InstalledPlugins.mjs.map +1 -1
  125. package/dist/admin/admin/src/pages/Settings/pages/Roles/CreatePage.js +9 -2
  126. package/dist/admin/admin/src/pages/Settings/pages/Roles/CreatePage.js.map +1 -1
  127. package/dist/admin/admin/src/pages/Settings/pages/Roles/CreatePage.mjs +9 -2
  128. package/dist/admin/admin/src/pages/Settings/pages/Roles/CreatePage.mjs.map +1 -1
  129. package/dist/admin/admin/src/pages/Settings/pages/Roles/EditPage.js +9 -2
  130. package/dist/admin/admin/src/pages/Settings/pages/Roles/EditPage.js.map +1 -1
  131. package/dist/admin/admin/src/pages/Settings/pages/Roles/EditPage.mjs +9 -2
  132. package/dist/admin/admin/src/pages/Settings/pages/Roles/EditPage.mjs.map +1 -1
  133. package/dist/admin/admin/src/pages/Settings/pages/Roles/ListPage.js.map +1 -1
  134. package/dist/admin/admin/src/pages/Settings/pages/Roles/ListPage.mjs.map +1 -1
  135. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/CollapsePropertyMatrix.js.map +1 -1
  136. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/CollapsePropertyMatrix.mjs.map +1 -1
  137. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ConditionsModal.js.map +1 -1
  138. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ConditionsModal.mjs.map +1 -1
  139. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ContentTypeCollapses.js.map +1 -1
  140. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ContentTypeCollapses.mjs.map +1 -1
  141. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/GlobalActions.js.map +1 -1
  142. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/GlobalActions.mjs.map +1 -1
  143. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/Permissions.js.map +1 -1
  144. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/Permissions.mjs.map +1 -1
  145. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/PluginsAndSettings.js.map +1 -1
  146. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/PluginsAndSettings.mjs.map +1 -1
  147. package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/forms.js.map +1 -1
  148. package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/forms.mjs.map +1 -1
  149. package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/permissions.js.map +1 -1
  150. package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/permissions.mjs.map +1 -1
  151. package/dist/admin/admin/src/pages/Settings/pages/TransferTokens/EditView.js.map +1 -1
  152. package/dist/admin/admin/src/pages/Settings/pages/TransferTokens/EditView.mjs.map +1 -1
  153. package/dist/admin/admin/src/pages/Settings/pages/TransferTokens/ListView.js +2 -0
  154. package/dist/admin/admin/src/pages/Settings/pages/TransferTokens/ListView.js.map +1 -1
  155. package/dist/admin/admin/src/pages/Settings/pages/TransferTokens/ListView.mjs +2 -0
  156. package/dist/admin/admin/src/pages/Settings/pages/TransferTokens/ListView.mjs.map +1 -1
  157. package/dist/admin/admin/src/pages/Settings/pages/Users/EditPage.js +9 -2
  158. package/dist/admin/admin/src/pages/Settings/pages/Users/EditPage.js.map +1 -1
  159. package/dist/admin/admin/src/pages/Settings/pages/Users/EditPage.mjs +9 -2
  160. package/dist/admin/admin/src/pages/Settings/pages/Users/EditPage.mjs.map +1 -1
  161. package/dist/admin/admin/src/pages/Settings/pages/Users/ListPage.js +3 -1
  162. package/dist/admin/admin/src/pages/Settings/pages/Users/ListPage.js.map +1 -1
  163. package/dist/admin/admin/src/pages/Settings/pages/Users/ListPage.mjs +3 -1
  164. package/dist/admin/admin/src/pages/Settings/pages/Users/ListPage.mjs.map +1 -1
  165. package/dist/admin/admin/src/pages/Settings/pages/Users/components/MagicLinkCE.js.map +1 -1
  166. package/dist/admin/admin/src/pages/Settings/pages/Users/components/MagicLinkCE.mjs.map +1 -1
  167. package/dist/admin/admin/src/pages/Settings/pages/Users/components/SelectRoles.js.map +1 -1
  168. package/dist/admin/admin/src/pages/Settings/pages/Users/components/SelectRoles.mjs.map +1 -1
  169. package/dist/admin/admin/src/pages/Settings/pages/Webhooks/EditPage.js.map +1 -1
  170. package/dist/admin/admin/src/pages/Settings/pages/Webhooks/EditPage.mjs.map +1 -1
  171. package/dist/admin/admin/src/pages/Settings/pages/Webhooks/ListPage.js.map +1 -1
  172. package/dist/admin/admin/src/pages/Settings/pages/Webhooks/ListPage.mjs.map +1 -1
  173. package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/HeadersInput.js.map +1 -1
  174. package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/HeadersInput.mjs.map +1 -1
  175. package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/WebhookForm.js +9 -2
  176. package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/WebhookForm.js.map +1 -1
  177. package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/WebhookForm.mjs +9 -2
  178. package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/WebhookForm.mjs.map +1 -1
  179. package/dist/admin/admin/src/pages/UseCasePage.js.map +1 -1
  180. package/dist/admin/admin/src/pages/UseCasePage.mjs.map +1 -1
  181. package/dist/admin/admin/src/services/api.js +2 -1
  182. package/dist/admin/admin/src/services/api.js.map +1 -1
  183. package/dist/admin/admin/src/services/api.mjs +2 -1
  184. package/dist/admin/admin/src/services/api.mjs.map +1 -1
  185. package/dist/admin/admin/src/services/apiTokens.js.map +1 -1
  186. package/dist/admin/admin/src/services/apiTokens.mjs.map +1 -1
  187. package/dist/admin/admin/src/services/transferTokens.js.map +1 -1
  188. package/dist/admin/admin/src/services/transferTokens.mjs.map +1 -1
  189. package/dist/admin/admin/src/services/users.js.map +1 -1
  190. package/dist/admin/admin/src/services/users.mjs.map +1 -1
  191. package/dist/admin/admin/src/services/webhooks.js.map +1 -1
  192. package/dist/admin/admin/src/services/webhooks.mjs.map +1 -1
  193. package/dist/admin/admin/src/utils/cookies.js.map +1 -1
  194. package/dist/admin/admin/src/utils/cookies.mjs.map +1 -1
  195. package/dist/admin/admin/src/utils/getFetchClient.js.map +1 -1
  196. package/dist/admin/admin/src/utils/getFetchClient.mjs.map +1 -1
  197. package/dist/admin/admin/src/utils/getPrefixedId.js.map +1 -1
  198. package/dist/admin/admin/src/utils/getPrefixedId.mjs.map +1 -1
  199. package/dist/admin/admin/src/utils/rulesEngine.js.map +1 -1
  200. package/dist/admin/admin/src/utils/rulesEngine.mjs.map +1 -1
  201. package/dist/admin/admin/src/utils/urls.js.map +1 -1
  202. package/dist/admin/admin/src/utils/urls.mjs.map +1 -1
  203. package/dist/admin/admin/src/utils/users.js.map +1 -1
  204. package/dist/admin/admin/src/utils/users.mjs.map +1 -1
  205. package/dist/admin/ee/admin/src/components/AuditLogs/Widgets.js.map +1 -1
  206. package/dist/admin/ee/admin/src/components/AuditLogs/Widgets.mjs.map +1 -1
  207. package/dist/admin/ee/admin/src/hooks/useLicenseLimitNotification.js.map +1 -1
  208. package/dist/admin/ee/admin/src/hooks/useLicenseLimitNotification.mjs.map +1 -1
  209. package/dist/admin/ee/admin/src/pages/AuthPage/components/SSOProviders.js.map +1 -1
  210. package/dist/admin/ee/admin/src/pages/AuthPage/components/SSOProviders.mjs.map +1 -1
  211. package/dist/admin/ee/admin/src/pages/AuthResponse.js.map +1 -1
  212. package/dist/admin/ee/admin/src/pages/AuthResponse.mjs.map +1 -1
  213. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AIUsage.js.map +1 -1
  214. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AIUsage.mjs.map +1 -1
  215. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListPage.js +3 -3
  216. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListPage.js.map +1 -1
  217. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListPage.mjs +3 -3
  218. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListPage.mjs.map +1 -1
  219. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/components/Modal.js.map +1 -1
  220. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/components/Modal.mjs.map +1 -1
  221. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/hooks/useFormatTimeStamp.js.map +1 -1
  222. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/hooks/useFormatTimeStamp.mjs.map +1 -1
  223. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getDisplayedFilters.js.map +1 -1
  224. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getDisplayedFilters.mjs.map +1 -1
  225. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/Users/components/MagicLinkEE.js.map +1 -1
  226. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/Users/components/MagicLinkEE.mjs.map +1 -1
  227. package/dist/admin/ee/admin/src/services/ai.js +14 -1
  228. package/dist/admin/ee/admin/src/services/ai.js.map +1 -1
  229. package/dist/admin/ee/admin/src/services/ai.mjs +14 -2
  230. package/dist/admin/ee/admin/src/services/ai.mjs.map +1 -1
  231. package/dist/admin/ee/admin/src/services/auditLogs.js.map +1 -1
  232. package/dist/admin/ee/admin/src/services/auditLogs.mjs.map +1 -1
  233. package/dist/admin/ee.js +1 -0
  234. package/dist/admin/ee.js.map +1 -1
  235. package/dist/admin/ee.mjs +1 -1
  236. package/dist/admin/src/components/Form.d.ts +1 -1
  237. package/dist/admin/src/core/store/configure.d.ts +2 -2
  238. package/dist/admin/src/core/store/hooks.d.ts +2 -2
  239. package/dist/admin/src/ee.d.ts +1 -1
  240. package/dist/admin/src/hooks/useAdminRoles.d.ts +1 -1
  241. package/dist/admin/src/pages/Settings/pages/Webhooks/hooks/useWebhooks.d.ts +4 -4
  242. package/dist/admin/src/selectors.d.ts +2 -2
  243. package/dist/admin/src/services/admin.d.ts +6 -6
  244. package/dist/admin/src/services/api.d.ts +1 -1
  245. package/dist/admin/src/services/apiTokens.d.ts +1 -1
  246. package/dist/admin/src/services/auth.d.ts +13 -13
  247. package/dist/admin/src/services/contentApi.d.ts +1 -1
  248. package/dist/admin/src/services/contentManager.d.ts +1 -1
  249. package/dist/admin/src/services/homepage.d.ts +3 -3
  250. package/dist/admin/src/services/transferTokens.d.ts +1 -1
  251. package/dist/admin/src/services/users.d.ts +8 -8
  252. package/dist/admin/src/services/webhooks.d.ts +2 -2
  253. package/dist/admin/tests/utils.d.ts +1 -1
  254. package/dist/ee/admin/src/services/ai.d.ts +6 -3
  255. package/dist/ee/admin/src/services/auditLogs.d.ts +1 -1
  256. package/dist/ee/server/src/ai/containers/ai.d.ts +11 -0
  257. package/dist/ee/server/src/ai/containers/ai.d.ts.map +1 -0
  258. package/dist/ee/server/src/ai/controllers/ai.d.ts +1 -0
  259. package/dist/ee/server/src/ai/controllers/ai.d.ts.map +1 -1
  260. package/dist/ee/server/src/ai/routes/ai.d.ts.map +1 -1
  261. package/dist/ee/server/src/index.d.ts +1 -0
  262. package/dist/ee/server/src/index.d.ts.map +1 -1
  263. package/dist/server/ee/server/src/ai/containers/ai.js +18 -0
  264. package/dist/server/ee/server/src/ai/containers/ai.js.map +1 -0
  265. package/dist/server/ee/server/src/ai/containers/ai.mjs +16 -0
  266. package/dist/server/ee/server/src/ai/containers/ai.mjs.map +1 -0
  267. package/dist/server/ee/server/src/ai/controllers/ai.js +6 -0
  268. package/dist/server/ee/server/src/ai/controllers/ai.js.map +1 -1
  269. package/dist/server/ee/server/src/ai/controllers/ai.mjs +6 -0
  270. package/dist/server/ee/server/src/ai/controllers/ai.mjs.map +1 -1
  271. package/dist/server/ee/server/src/ai/routes/ai.js +11 -0
  272. package/dist/server/ee/server/src/ai/routes/ai.js.map +1 -1
  273. package/dist/server/ee/server/src/ai/routes/ai.mjs +11 -0
  274. package/dist/server/ee/server/src/ai/routes/ai.mjs.map +1 -1
  275. package/dist/server/ee/server/src/audit-logs/services/audit-logs.js.map +1 -1
  276. package/dist/server/ee/server/src/audit-logs/services/audit-logs.mjs.map +1 -1
  277. package/dist/server/ee/server/src/controllers/authentication-utils/constants.js.map +1 -1
  278. package/dist/server/ee/server/src/controllers/authentication-utils/constants.mjs.map +1 -1
  279. package/dist/server/ee/server/src/controllers/authentication-utils/utils.js.map +1 -1
  280. package/dist/server/ee/server/src/controllers/authentication-utils/utils.mjs.map +1 -1
  281. package/dist/server/ee/server/src/controllers/authentication.js.map +1 -1
  282. package/dist/server/ee/server/src/controllers/authentication.mjs.map +1 -1
  283. package/dist/server/ee/server/src/controllers/user.js.map +1 -1
  284. package/dist/server/ee/server/src/controllers/user.mjs.map +1 -1
  285. package/dist/server/ee/server/src/index.js +7 -0
  286. package/dist/server/ee/server/src/index.js.map +1 -1
  287. package/dist/server/ee/server/src/index.mjs +7 -0
  288. package/dist/server/ee/server/src/index.mjs.map +1 -1
  289. package/dist/server/ee/server/src/services/auth.js.map +1 -1
  290. package/dist/server/ee/server/src/services/auth.mjs.map +1 -1
  291. package/dist/server/ee/server/src/services/passport/sso.js.map +1 -1
  292. package/dist/server/ee/server/src/services/passport/sso.mjs.map +1 -1
  293. package/dist/server/ee/server/src/utils/index.js.map +1 -1
  294. package/dist/server/ee/server/src/utils/index.mjs.map +1 -1
  295. package/dist/server/server/src/controllers/transfer/index.js.map +1 -1
  296. package/dist/server/server/src/controllers/transfer/index.mjs.map +1 -1
  297. package/dist/server/server/src/controllers/user.js +10 -0
  298. package/dist/server/server/src/controllers/user.js.map +1 -1
  299. package/dist/server/server/src/controllers/user.mjs +10 -0
  300. package/dist/server/server/src/controllers/user.mjs.map +1 -1
  301. package/dist/server/server/src/domain/action/index.js.map +1 -1
  302. package/dist/server/server/src/domain/action/index.mjs.map +1 -1
  303. package/dist/server/server/src/domain/condition/index.js.map +1 -1
  304. package/dist/server/server/src/domain/condition/index.mjs.map +1 -1
  305. package/dist/server/server/src/domain/permission/index.js.map +1 -1
  306. package/dist/server/server/src/domain/permission/index.mjs.map +1 -1
  307. package/dist/server/server/src/middlewares/rateLimit.js.map +1 -1
  308. package/dist/server/server/src/middlewares/rateLimit.mjs.map +1 -1
  309. package/dist/server/server/src/routes/serve-admin-panel.js.map +1 -1
  310. package/dist/server/server/src/routes/serve-admin-panel.mjs.map +1 -1
  311. package/dist/server/server/src/services/api-token.js.map +1 -1
  312. package/dist/server/server/src/services/api-token.mjs.map +1 -1
  313. package/dist/server/server/src/services/auth.js.map +1 -1
  314. package/dist/server/server/src/services/auth.mjs.map +1 -1
  315. package/dist/server/server/src/services/content-type.js.map +1 -1
  316. package/dist/server/server/src/services/content-type.mjs.map +1 -1
  317. package/dist/server/server/src/services/encryption.js.map +1 -1
  318. package/dist/server/server/src/services/encryption.mjs.map +1 -1
  319. package/dist/server/server/src/services/homepage.js.map +1 -1
  320. package/dist/server/server/src/services/homepage.mjs.map +1 -1
  321. package/dist/server/server/src/services/permission/permissions-manager/sanitize.js.map +1 -1
  322. package/dist/server/server/src/services/permission/permissions-manager/sanitize.mjs.map +1 -1
  323. package/dist/server/server/src/services/permission/permissions-manager/validate.js.map +1 -1
  324. package/dist/server/server/src/services/permission/permissions-manager/validate.mjs.map +1 -1
  325. package/dist/server/server/src/services/role.js.map +1 -1
  326. package/dist/server/server/src/services/role.mjs.map +1 -1
  327. package/dist/server/server/src/services/transfer/token.js.map +1 -1
  328. package/dist/server/server/src/services/transfer/token.mjs.map +1 -1
  329. package/dist/server/server/src/services/user.js.map +1 -1
  330. package/dist/server/server/src/services/user.mjs.map +1 -1
  331. package/dist/server/server/src/utils/index.js.map +1 -1
  332. package/dist/server/server/src/utils/index.mjs.map +1 -1
  333. package/dist/server/server/src/validation/action-provider.js.map +1 -1
  334. package/dist/server/server/src/validation/action-provider.mjs.map +1 -1
  335. package/dist/server/server/src/validation/common-functions/check-fields-are-correctly-nested.js.map +1 -1
  336. package/dist/server/server/src/validation/common-functions/check-fields-are-correctly-nested.mjs.map +1 -1
  337. package/dist/server/server/src/validation/common-validators.js.map +1 -1
  338. package/dist/server/server/src/validation/common-validators.mjs.map +1 -1
  339. package/dist/server/src/controllers/user.d.ts.map +1 -1
  340. package/dist/shared/contracts/ai.d.ts +16 -0
  341. package/dist/shared/contracts/ai.d.ts.map +1 -1
  342. package/package.json +7 -7
@@ -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":";;;;;;;;;;;;AAUA,MAAMA,wBAAwB,CAACC,QAAAA,GAAAA;AAC7B,IAAA,OAAOC,kBAAW,CAAA,YAAA,CAAA,CAAcC,cAAc,CAACC,GAAG,CAACH,QAAAA,CAAAA;AACrD,CAAA;AAEO,MAAMI,QAAQC,SAAIC,CAAAA,MAAM,GAAGF,KAAK,EAAA,CAAGG,SAAS;AAE5C,MAAMC,YAAYH,SAAIC,CAAAA,MAAM,GAAGG,IAAI,EAAA,CAAGC,GAAG,CAAC,CAAG;AAEvCC,MAAAA,QAAAA,GAAWN,SAAIC,CAAAA,MAAM;MAErBM,QAAWP,GAAAA,SAAAA,CAAIC,MAAM,EAAGI,CAAAA,GAAG,CAAC,CAAG;AAE/BG,MAAAA,QAAAA,GAAWR,SACrBC,CAAAA,MAAM,EACNI,CAAAA,GAAG,CAAC,CAAA,CAAA,CACJI,IAAI,CAAC,oBAAsB,EAAA,oCAAA,EAAsC,SAAUC,KAAK,EAAA;IAC/E,IAAI,CAACA,OAAO,OAAO,IAAA;AACnB,IAAA,MAAMC,WAAW,IAAIC,WAAAA,EAAAA,CAAcC,MAAM,CAACH,OAAOI,MAAM;AACvD,IAAA,OAAOH,QAAY,IAAA,EAAA;AACrB,CACCI,CAAAA,CAAAA,OAAO,CAAC,OAAA,EAAS,uDACjBA,CAAAA,CAAAA,OAAO,CAAC,OAAA,EAAS,uDACjBA,CAAAA,CAAAA,OAAO,CAAC,IAAA,EAAM,0CAA4C;AAEtD,MAAMC,KAAQhB,GAAAA,SAAAA,CAAIiB,KAAK,CAACjB,UAAIkB,QAAQ,EAAA,CAAA,CAAIb,GAAG,CAAC,CAAG;AAEtD,MAAMc,aAAAA,GAAgBnB,UACnBC,MAAM,EAAA,CACNQ,IAAI,CAAC,kBAAA,EAAoB,sBAAwB,EAAA,SAAUC,KAAK,EAAA;IAC/D,OAAO;AAACU,QAAAA,SAAAA;AAAW,QAAA,OAAA;WAAYC,MAAOC,CAAAA,IAAI,CAACC,MAAAA,CAAOC,OAAO;AAAE,KAAA,CAACC,QAAQ,CAACf,KAAAA,CAAAA,GACjE,OACA,IAAI,CAACgB,WAAW,CAAC;QAAEC,IAAM,EAAA,IAAI,CAACA,IAAI;AAAEC,QAAAA,OAAAA,EAAS,GAAG,IAAI,CAACD,IAAI,CAAC,0BAA0B;AAAE,KAAA,CAAA;AAC5F,CAAA,CAAA;AAEWE,MAAAA,qBAAAA,GAAwB7B,SAClCiB,CAAAA,KAAK,GACLa,EAAE,CAAC9B,SAAIC,CAAAA,MAAM,IACbQ,IAAI,CAAC,2BAA6B,EAAA,sBAAA,EAAwB,SAAUC,KAAK,EAAA;AACxE,IAAA,MAAMqB,MAAMR,MAAOS,CAAAA,OAAO,CAAC,mBAAqBC,CAAAA,CAAAA,iBAAiB,CAACX,IAAI,EAAA;AACtE,IAAA,OAAOY,EAAEC,WAAW,CAACzB,KAAUwB,CAAAA,IAAAA,CAAAA,CAAEE,UAAU,CAAC1B,KAAAA,EAAOqB,GAAKjB,CAAAA,CAAAA,MAAM,KAAK,CAC/D,GAAA,IAAA,GACA,IAAI,CAACY,WAAW,CAAC;QAAEC,IAAM,EAAA,IAAI,CAACA,IAAI;QAAEC,OAAS,EAAA,CAAC,oCAAoC;AAAE,KAAA,CAAA;AAC1F,CAAG;AAEQS,MAAAA,oBAAAA,GAAuB,CAACC,CAAAA,EAAQC,CAC3CD,GAAAA,CAAAA,CAAEE,MAAM,KAAKD,CAAEC,CAAAA,MAAM,KAAKF,EAAEG,OAAO,KAAKF,CAAEE,CAAAA,OAAO,IAAKP,CAAAA,CAAEQ,KAAK,CAACJ,CAAEG,CAAAA,OAAO,CAAKP,IAAAA,CAAAA,CAAEQ,KAAK,CAACH,CAAEE,CAAAA,OAAO,CAAC;AAEhG,MAAME,4BAAAA,GAA+B,CAACC,WAAAA,GACpC,CAACC,KAAAA,CAAMC,OAAO,CAACF,WAAAA,CAAAA,IACfA,WAAYG,CAAAA,KAAK,CAAC,CAACC,OAAOC,CACxBL,GAAAA,WAAAA,CAAYM,KAAK,CAACD,CAAI,GAAA,CAAA,CAAA,CAAGF,KAAK,CAAC,CAACI,KAAAA,GAAU,CAACd,oBAAAA,CAAqBW,KAAOG,EAAAA,KAAAA,CAAAA,CAAAA,CAAAA;AAG3E,MAAMC,cAAiB,GAAA,CAACZ,MACtB,GAAA,SAAUa,MAA2B,EAAA;;AAEnC,QAAA,IAAIX,SAAMF,MAAS,CAAA,EAAA;YACjB,OAAO,IAAA;AACT;AAEA,QAAA,OAAOc,KAAaC,CAAAA,iBAAiB,CAAC,QAAA,EAAUf,WAAWE,QAAMW,CAAAA,MAAAA,CAAAA;AACnE,KAAA;AAEF,MAAMG,wBAAAA,GAA2B,CAAChB,MAAAA,GAChCxC,SACGiB,CAAAA,KAAK,EACLa,CAAAA,EAAE,CAAC9B,SAAAA,CAAIC,MAAM,EAAA,CAAA,CACbwD,QAAQ,EAAA,CACRhD,IAAI,CACH,cACA,EAAA,4CAAA,EACAiD,6BAEDjD,CAAAA,CAAAA,IAAI,CACH,cAAA,EACA,2CACAkD,EAAAA,6BAAAA,CAAAA,CAEDlD,IAAI,CACH,oBACA,EAAA,qEAAA;IAEA2C,cAAeZ,CAAAA,MAAAA,CAAAA,CAAAA;MAGRoB,UAAa5D,GAAAA,SAAAA,CACvB6D,MAAM,EAAA,CACNC,KAAK,CAAC;IACLtB,MAAQxC,EAAAA,SAAAA,CACLC,MAAM,EAAA,CACN8D,QAAQ,EAAA,CACRtD,IAAI,CAAC,iBAAA,EAAmB,6CAA+C,EAAA,SAAUd,QAAQ,EAAA;;AAExF,QAAA,IAAI+C,SAAM/C,QAAW,CAAA,EAAA;YACnB,OAAO,IAAA;AACT;QAEA,OAAO,CAAC,CAACD,qBAAsBC,CAAAA,QAAAA,CAAAA;AACjC,KAAA,CAAA;IACFqE,gBAAkBhE,EAAAA,SAAAA,CAAI6D,MAAM,EAAA,CAAGJ,QAAQ,EAAA;IACvChB,OAASzC,EAAAA,SAAAA,CACNC,MAAM,EAAA,CACNwD,QAAQ,EAAA,CACRhD,IAAI,CAAC,kBAAA,EAAoB,2BAA6B,EAAA,SAAUgC,OAAO,EAAA;;QAEtE,MAAMD,MAAAA,GAAS9C,sBAAsB,IAAI,CAACuE,OAAO,CAACC,MAAM,CAAC1B,MAAM,CAAA;AAE/D,QAAA,IAAI,CAACA,MAAQ,EAAA;YACX,OAAO,IAAA;AACT;QAEA,IAAIE,QAAAA,CAAMF,MAAO2B,CAAAA,QAAQ,CAAG,EAAA;AAC1B,YAAA,OAAOzB,QAAMD,CAAAA,OAAAA,CAAAA;AACf;AAEA,QAAA,IAAIK,WAAQN,MAAO2B,CAAAA,QAAQ,CAAK,IAAA,CAACzB,SAAMD,OAAU,CAAA,EAAA;AAC/C,YAAA,OAAOD,MAAO2B,CAAAA,QAAQ,CAAC1C,QAAQ,CAACgB,OAAAA,CAAAA;AAClC;QAEA,OAAO,KAAA;AACT,KAAA,CAAA;IACF2B,UAAYpE,EAAAA,SAAAA,CACT6D,MAAM,EACNpD,CAAAA,IAAI,CAAC,sBAAwB,EAAA,iCAAA,EAAmC,SAAU2D,UAAU,EAAA;;QAEnF,MAAM5B,MAAAA,GAAS9C,sBAAsB,IAAI,CAACuE,OAAO,CAACC,MAAM,CAAC1B,MAAM,CAAA;QAC/D,MAAM6B,eAAAA,GAAkBC,UAAQF,CAAAA,UAAAA,CAAAA,IAAe1B,QAAM0B,CAAAA,UAAAA,CAAAA;QAErD,IAAI,CAACG,MAAI,CAAA,2BAAA,EAA6B/B,MAAS,CAAA,EAAA;YAC7C,OAAO6B,eAAAA;AACT;AAEA,QAAA,IAAIA,eAAiB,EAAA;YACnB,OAAO,IAAA;AACT;AAEA,QAAA,MAAM,EAAEG,iBAAiB,EAAE,GAAGhC,OAAOyB,OAAO;QAE5C,IAAI,CAACnB,WAAQ0B,iBAAoB,CAAA,EAAA;YAC/B,OAAO,KAAA;AACT;QAEA,OAAOnD,MAAAA,CAAOC,IAAI,CAAC8C,UAAYrB,CAAAA,CAAAA,KAAK,CAAC,CAAC0B,QAAAA,GAAaD,iBAAkB/C,CAAAA,QAAQ,CAACgD,QAAAA,CAAAA,CAAAA;AAChF,KAAA,CAAA,CACChE,IAAI,CACH,iBAAA,EACA,sCACA,eAAgB2D,UAAAA,GAAa,EAAE,EAAA;;QAE7B,MAAM5B,MAAAA,GAAS9C,sBAAsB,IAAI,CAACuE,OAAO,CAACC,MAAM,CAAC1B,MAAM,CAAA;QAE/D,IAAI,CAACA,MAAU,IAAA,CAAC4B,UAAY,EAAA;YAC1B,OAAO,IAAA;AACT;AAEA,QAAA,IAAI,CAACd,KAAAA,CAAaC,iBAAiB,CAAC,UAAUf,MAAS,CAAA,EAAA;YACrD,OAAO,IAAA;AACT;QAEA,IAAI;AACF,YAAA,MAAMgB,yBAAyBhB,MAAQkC,CAAAA,CAAAA,QAAQ,CAACN,UAAAA,CAAWf,MAAM,EAAE;gBACjEsB,MAAQ,EAAA,IAAA;gBACRC,UAAY,EAAA;AACd,aAAA,CAAA;YACA,OAAO,IAAA;AACT,SAAA,CAAE,OAAOC,CAAQ,EAAA;;YAEf,MAAM,IAAI,CAACnD,WAAW,CAAC;AACrBE,gBAAAA,OAAAA,EAASiD,EAAEjD,OAAO;AAClBD,gBAAAA,IAAAA,EAAM,GAAG,IAAI,CAACA,IAAI,CAAC,OAAO;AAC5B,aAAA,CAAA;AACF;AACF,KAAA,CAAA;AAEJmD,IAAAA,UAAAA,EAAY9E,UAAIiB,KAAK,EAAA,CAAGa,EAAE,CAAC9B,UAAIC,MAAM,EAAA;AACvC,CAAA,CAAA,CACC8E,SAAS;MAECC,iBAAoBhF,GAAAA,SAAAA,CAC9B6D,MAAM,EAAA,CACNC,KAAK,CAAC;IACLlB,WAAa5C,EAAAA,SAAAA,CACViB,KAAK,EAAA,CACL8C,QAAQ,EAAA,CACRjC,EAAE,CAAC8B,UACHnD,CAAAA,CAAAA,IAAI,CACH,wBAAA,EACA,2DACAkC,EAAAA,4BAAAA;AAEN,CACCoB,CAAAA,CAAAA,QAAQ,EACRgB,CAAAA,SAAS;AAEZ,iBAAe;AACbhF,IAAAA,KAAAA;AACAI,IAAAA,SAAAA;AACAG,IAAAA,QAAAA;AACAC,IAAAA,QAAAA;AACAC,IAAAA,QAAAA;AACAQ,IAAAA,KAAAA;AACAG,IAAAA,aAAAA;AACAU,IAAAA,qBAAAA;AACA+B,IAAAA,UAAAA;AACAoB,IAAAA;AACF,CAAE;;;;;;;;;;;;;;"}
@@ -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;IAc5B;;;OAGG;oBACmB,OAAO;;AArH/B,wBAiIE"}
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.30.0",
3
+ "version": "5.30.1",
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.30.0",
90
- "@strapi/types": "5.30.0",
91
- "@strapi/typescript-utils": "5.30.0",
92
- "@strapi/utils": "5.30.0",
89
+ "@strapi/permissions": "5.30.1",
90
+ "@strapi/types": "5.30.1",
91
+ "@strapi/typescript-utils": "5.30.1",
92
+ "@strapi/utils": "5.30.1",
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.30.0",
147
- "@strapi/data-transfer": "5.30.0",
146
+ "@strapi/admin-test-utils": "5.30.1",
147
+ "@strapi/data-transfer": "5.30.1",
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",