@strapi/admin 5.29.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 (375) 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/String.js +2 -1
  26. package/dist/admin/admin/src/components/FormInputs/String.js.map +1 -1
  27. package/dist/admin/admin/src/components/FormInputs/String.mjs +2 -1
  28. package/dist/admin/admin/src/components/FormInputs/String.mjs.map +1 -1
  29. package/dist/admin/admin/src/components/FormInputs/Time.js.map +1 -1
  30. package/dist/admin/admin/src/components/FormInputs/Time.mjs.map +1 -1
  31. package/dist/admin/admin/src/components/GapDropZone.js.map +1 -1
  32. package/dist/admin/admin/src/components/GapDropZone.mjs.map +1 -1
  33. package/dist/admin/admin/src/components/GuidedTour/Overview.js.map +1 -1
  34. package/dist/admin/admin/src/components/GuidedTour/Overview.mjs.map +1 -1
  35. package/dist/admin/admin/src/components/GuidedTour/Steps/ContentTypeBuilderSteps.js.map +1 -1
  36. package/dist/admin/admin/src/components/GuidedTour/Steps/ContentTypeBuilderSteps.mjs.map +1 -1
  37. package/dist/admin/admin/src/components/GuidedTour/Steps/Step.js.map +1 -1
  38. package/dist/admin/admin/src/components/GuidedTour/Steps/Step.mjs.map +1 -1
  39. package/dist/admin/admin/src/components/Layouts/GridLayout.js.map +1 -1
  40. package/dist/admin/admin/src/components/Layouts/GridLayout.mjs.map +1 -1
  41. package/dist/admin/admin/src/components/Layouts/HeaderLayout.js +8 -4
  42. package/dist/admin/admin/src/components/Layouts/HeaderLayout.js.map +1 -1
  43. package/dist/admin/admin/src/components/Layouts/HeaderLayout.mjs +8 -4
  44. package/dist/admin/admin/src/components/Layouts/HeaderLayout.mjs.map +1 -1
  45. package/dist/admin/admin/src/components/NpsSurvey.js +5 -3
  46. package/dist/admin/admin/src/components/NpsSurvey.js.map +1 -1
  47. package/dist/admin/admin/src/components/NpsSurvey.mjs +5 -3
  48. package/dist/admin/admin/src/components/NpsSurvey.mjs.map +1 -1
  49. package/dist/admin/admin/src/components/PageHelpers.js.map +1 -1
  50. package/dist/admin/admin/src/components/PageHelpers.mjs.map +1 -1
  51. package/dist/admin/admin/src/components/PrivateRoute.js.map +1 -1
  52. package/dist/admin/admin/src/components/PrivateRoute.mjs.map +1 -1
  53. package/dist/admin/admin/src/components/RelativeTime.js.map +1 -1
  54. package/dist/admin/admin/src/components/RelativeTime.mjs.map +1 -1
  55. package/dist/admin/admin/src/components/ResizeIndicator.js.map +1 -1
  56. package/dist/admin/admin/src/components/ResizeIndicator.mjs.map +1 -1
  57. package/dist/admin/admin/src/components/Table.js +1 -1
  58. package/dist/admin/admin/src/components/Table.js.map +1 -1
  59. package/dist/admin/admin/src/components/Table.mjs +1 -1
  60. package/dist/admin/admin/src/components/Table.mjs.map +1 -1
  61. package/dist/admin/admin/src/components/Theme.js +34 -1
  62. package/dist/admin/admin/src/components/Theme.js.map +1 -1
  63. package/dist/admin/admin/src/components/Theme.mjs +34 -1
  64. package/dist/admin/admin/src/components/Theme.mjs.map +1 -1
  65. package/dist/admin/admin/src/components/Widgets.js.map +1 -1
  66. package/dist/admin/admin/src/components/Widgets.mjs.map +1 -1
  67. package/dist/admin/admin/src/core/apis/CustomFields.js.map +1 -1
  68. package/dist/admin/admin/src/core/apis/CustomFields.mjs.map +1 -1
  69. package/dist/admin/admin/src/core/apis/Plugin.js +0 -1
  70. package/dist/admin/admin/src/core/apis/Plugin.js.map +1 -1
  71. package/dist/admin/admin/src/core/apis/Plugin.mjs +0 -1
  72. package/dist/admin/admin/src/core/apis/Plugin.mjs.map +1 -1
  73. package/dist/admin/admin/src/core/apis/Widgets.js.map +1 -1
  74. package/dist/admin/admin/src/core/apis/Widgets.mjs.map +1 -1
  75. package/dist/admin/admin/src/core/apis/rbac.js.map +1 -1
  76. package/dist/admin/admin/src/core/apis/rbac.mjs.map +1 -1
  77. package/dist/admin/admin/src/core/apis/router.js.map +1 -1
  78. package/dist/admin/admin/src/core/apis/router.mjs.map +1 -1
  79. package/dist/admin/admin/src/features/BackButton.js.map +1 -1
  80. package/dist/admin/admin/src/features/BackButton.mjs.map +1 -1
  81. package/dist/admin/admin/src/features/Tracking.js.map +1 -1
  82. package/dist/admin/admin/src/features/Tracking.mjs.map +1 -1
  83. package/dist/admin/admin/src/features/Widgets.js.map +1 -1
  84. package/dist/admin/admin/src/features/Widgets.mjs.map +1 -1
  85. package/dist/admin/admin/src/hooks/usePersistentState.js.map +1 -1
  86. package/dist/admin/admin/src/hooks/usePersistentState.mjs.map +1 -1
  87. package/dist/admin/admin/src/hooks/useRBAC.js.map +1 -1
  88. package/dist/admin/admin/src/hooks/useRBAC.mjs.map +1 -1
  89. package/dist/admin/admin/src/pages/Auth/components/Login.js +1 -1
  90. package/dist/admin/admin/src/pages/Auth/components/Login.js.map +1 -1
  91. package/dist/admin/admin/src/pages/Auth/components/Login.mjs +1 -1
  92. package/dist/admin/admin/src/pages/Auth/components/Login.mjs.map +1 -1
  93. package/dist/admin/admin/src/pages/Auth/components/Register.js.map +1 -1
  94. package/dist/admin/admin/src/pages/Auth/components/Register.mjs.map +1 -1
  95. package/dist/admin/admin/src/pages/Home/HomePage.js.map +1 -1
  96. package/dist/admin/admin/src/pages/Home/HomePage.mjs.map +1 -1
  97. package/dist/admin/admin/src/pages/Marketplace/MarketplacePage.js +2 -2
  98. package/dist/admin/admin/src/pages/Marketplace/MarketplacePage.js.map +1 -1
  99. package/dist/admin/admin/src/pages/Marketplace/MarketplacePage.mjs +2 -2
  100. package/dist/admin/admin/src/pages/Marketplace/MarketplacePage.mjs.map +1 -1
  101. package/dist/admin/admin/src/pages/Marketplace/components/NpmPackageCard.js.map +1 -1
  102. package/dist/admin/admin/src/pages/Marketplace/components/NpmPackageCard.mjs.map +1 -1
  103. package/dist/admin/admin/src/pages/Marketplace/components/NpmPackagesFilters.js.map +1 -1
  104. package/dist/admin/admin/src/pages/Marketplace/components/NpmPackagesFilters.mjs.map +1 -1
  105. package/dist/admin/admin/src/pages/Marketplace/components/PageHeader.js.map +1 -1
  106. package/dist/admin/admin/src/pages/Marketplace/components/PageHeader.mjs.map +1 -1
  107. package/dist/admin/admin/src/pages/Marketplace/hooks/useMarketplaceData.js.map +1 -1
  108. package/dist/admin/admin/src/pages/Marketplace/hooks/useMarketplaceData.mjs.map +1 -1
  109. package/dist/admin/admin/src/pages/Settings/components/SettingsNav.js.map +1 -1
  110. package/dist/admin/admin/src/pages/Settings/components/SettingsNav.mjs.map +1 -1
  111. package/dist/admin/admin/src/pages/Settings/components/Tokens/FormHead.js +8 -1
  112. package/dist/admin/admin/src/pages/Settings/components/Tokens/FormHead.js.map +1 -1
  113. package/dist/admin/admin/src/pages/Settings/components/Tokens/FormHead.mjs +9 -2
  114. package/dist/admin/admin/src/pages/Settings/components/Tokens/FormHead.mjs.map +1 -1
  115. package/dist/admin/admin/src/pages/Settings/components/Tokens/LifeSpanInput.js.map +1 -1
  116. package/dist/admin/admin/src/pages/Settings/components/Tokens/LifeSpanInput.mjs.map +1 -1
  117. package/dist/admin/admin/src/pages/Settings/components/Tokens/Table.js.map +1 -1
  118. package/dist/admin/admin/src/pages/Settings/components/Tokens/Table.mjs.map +1 -1
  119. package/dist/admin/admin/src/pages/Settings/components/Tokens/TokenName.js +1 -0
  120. package/dist/admin/admin/src/pages/Settings/components/Tokens/TokenName.js.map +1 -1
  121. package/dist/admin/admin/src/pages/Settings/components/Tokens/TokenName.mjs +1 -0
  122. package/dist/admin/admin/src/pages/Settings/components/Tokens/TokenName.mjs.map +1 -1
  123. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/EditViewPage.js.map +1 -1
  124. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/EditViewPage.mjs.map +1 -1
  125. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/components/CollapsableContentType.js.map +1 -1
  126. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/components/CollapsableContentType.mjs.map +1 -1
  127. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/utils/transformPermissionsData.js.map +1 -1
  128. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/utils/transformPermissionsData.mjs.map +1 -1
  129. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/ListView.js +2 -0
  130. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/ListView.js.map +1 -1
  131. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/ListView.mjs +2 -0
  132. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/ListView.mjs.map +1 -1
  133. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.js.map +1 -1
  134. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.mjs.map +1 -1
  135. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/LogoInput.js +1 -0
  136. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/LogoInput.js.map +1 -1
  137. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/LogoInput.mjs +1 -0
  138. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/LogoInput.mjs.map +1 -1
  139. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/utils/files.js.map +1 -1
  140. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/utils/files.mjs.map +1 -1
  141. package/dist/admin/admin/src/pages/Settings/pages/InstalledPlugins.js.map +1 -1
  142. package/dist/admin/admin/src/pages/Settings/pages/InstalledPlugins.mjs.map +1 -1
  143. package/dist/admin/admin/src/pages/Settings/pages/Roles/CreatePage.js +10 -2
  144. package/dist/admin/admin/src/pages/Settings/pages/Roles/CreatePage.js.map +1 -1
  145. package/dist/admin/admin/src/pages/Settings/pages/Roles/CreatePage.mjs +10 -2
  146. package/dist/admin/admin/src/pages/Settings/pages/Roles/CreatePage.mjs.map +1 -1
  147. package/dist/admin/admin/src/pages/Settings/pages/Roles/EditPage.js +9 -2
  148. package/dist/admin/admin/src/pages/Settings/pages/Roles/EditPage.js.map +1 -1
  149. package/dist/admin/admin/src/pages/Settings/pages/Roles/EditPage.mjs +9 -2
  150. package/dist/admin/admin/src/pages/Settings/pages/Roles/EditPage.mjs.map +1 -1
  151. package/dist/admin/admin/src/pages/Settings/pages/Roles/ListPage.js.map +1 -1
  152. package/dist/admin/admin/src/pages/Settings/pages/Roles/ListPage.mjs.map +1 -1
  153. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/CollapsePropertyMatrix.js.map +1 -1
  154. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/CollapsePropertyMatrix.mjs.map +1 -1
  155. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ConditionsModal.js.map +1 -1
  156. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ConditionsModal.mjs.map +1 -1
  157. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ContentTypeCollapses.js.map +1 -1
  158. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ContentTypeCollapses.mjs.map +1 -1
  159. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/GlobalActions.js.map +1 -1
  160. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/GlobalActions.mjs.map +1 -1
  161. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/Permissions.js.map +1 -1
  162. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/Permissions.mjs.map +1 -1
  163. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/PluginsAndSettings.js.map +1 -1
  164. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/PluginsAndSettings.mjs.map +1 -1
  165. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/RoleForm.js +2 -1
  166. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/RoleForm.js.map +1 -1
  167. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/RoleForm.mjs +2 -1
  168. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/RoleForm.mjs.map +1 -1
  169. package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/forms.js.map +1 -1
  170. package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/forms.mjs.map +1 -1
  171. package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/permissions.js.map +1 -1
  172. package/dist/admin/admin/src/pages/Settings/pages/Roles/utils/permissions.mjs.map +1 -1
  173. package/dist/admin/admin/src/pages/Settings/pages/TransferTokens/EditView.js.map +1 -1
  174. package/dist/admin/admin/src/pages/Settings/pages/TransferTokens/EditView.mjs.map +1 -1
  175. package/dist/admin/admin/src/pages/Settings/pages/TransferTokens/ListView.js +2 -0
  176. package/dist/admin/admin/src/pages/Settings/pages/TransferTokens/ListView.js.map +1 -1
  177. package/dist/admin/admin/src/pages/Settings/pages/TransferTokens/ListView.mjs +2 -0
  178. package/dist/admin/admin/src/pages/Settings/pages/TransferTokens/ListView.mjs.map +1 -1
  179. package/dist/admin/admin/src/pages/Settings/pages/Users/EditPage.js +9 -2
  180. package/dist/admin/admin/src/pages/Settings/pages/Users/EditPage.js.map +1 -1
  181. package/dist/admin/admin/src/pages/Settings/pages/Users/EditPage.mjs +9 -2
  182. package/dist/admin/admin/src/pages/Settings/pages/Users/EditPage.mjs.map +1 -1
  183. package/dist/admin/admin/src/pages/Settings/pages/Users/ListPage.js +3 -1
  184. package/dist/admin/admin/src/pages/Settings/pages/Users/ListPage.js.map +1 -1
  185. package/dist/admin/admin/src/pages/Settings/pages/Users/ListPage.mjs +3 -1
  186. package/dist/admin/admin/src/pages/Settings/pages/Users/ListPage.mjs.map +1 -1
  187. package/dist/admin/admin/src/pages/Settings/pages/Users/components/MagicLinkCE.js.map +1 -1
  188. package/dist/admin/admin/src/pages/Settings/pages/Users/components/MagicLinkCE.mjs.map +1 -1
  189. package/dist/admin/admin/src/pages/Settings/pages/Users/components/SelectRoles.js.map +1 -1
  190. package/dist/admin/admin/src/pages/Settings/pages/Users/components/SelectRoles.mjs.map +1 -1
  191. package/dist/admin/admin/src/pages/Settings/pages/Webhooks/EditPage.js.map +1 -1
  192. package/dist/admin/admin/src/pages/Settings/pages/Webhooks/EditPage.mjs.map +1 -1
  193. package/dist/admin/admin/src/pages/Settings/pages/Webhooks/ListPage.js.map +1 -1
  194. package/dist/admin/admin/src/pages/Settings/pages/Webhooks/ListPage.mjs.map +1 -1
  195. package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/HeadersInput.js +1 -1
  196. package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/HeadersInput.js.map +1 -1
  197. package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/HeadersInput.mjs +1 -1
  198. package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/HeadersInput.mjs.map +1 -1
  199. package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/WebhookForm.js +9 -2
  200. package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/WebhookForm.js.map +1 -1
  201. package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/WebhookForm.mjs +9 -2
  202. package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/WebhookForm.mjs.map +1 -1
  203. package/dist/admin/admin/src/pages/UseCasePage.js +1 -0
  204. package/dist/admin/admin/src/pages/UseCasePage.js.map +1 -1
  205. package/dist/admin/admin/src/pages/UseCasePage.mjs +1 -0
  206. package/dist/admin/admin/src/pages/UseCasePage.mjs.map +1 -1
  207. package/dist/admin/admin/src/services/api.js +2 -1
  208. package/dist/admin/admin/src/services/api.js.map +1 -1
  209. package/dist/admin/admin/src/services/api.mjs +2 -1
  210. package/dist/admin/admin/src/services/api.mjs.map +1 -1
  211. package/dist/admin/admin/src/services/apiTokens.js.map +1 -1
  212. package/dist/admin/admin/src/services/apiTokens.mjs.map +1 -1
  213. package/dist/admin/admin/src/services/transferTokens.js.map +1 -1
  214. package/dist/admin/admin/src/services/transferTokens.mjs.map +1 -1
  215. package/dist/admin/admin/src/services/users.js.map +1 -1
  216. package/dist/admin/admin/src/services/users.mjs.map +1 -1
  217. package/dist/admin/admin/src/services/webhooks.js.map +1 -1
  218. package/dist/admin/admin/src/services/webhooks.mjs.map +1 -1
  219. package/dist/admin/admin/src/translations/en.json.js +4 -0
  220. package/dist/admin/admin/src/translations/en.json.js.map +1 -1
  221. package/dist/admin/admin/src/translations/en.json.mjs +4 -0
  222. package/dist/admin/admin/src/translations/en.json.mjs.map +1 -1
  223. package/dist/admin/admin/src/utils/cookies.js.map +1 -1
  224. package/dist/admin/admin/src/utils/cookies.mjs.map +1 -1
  225. package/dist/admin/admin/src/utils/getFetchClient.js.map +1 -1
  226. package/dist/admin/admin/src/utils/getFetchClient.mjs.map +1 -1
  227. package/dist/admin/admin/src/utils/getPrefixedId.js.map +1 -1
  228. package/dist/admin/admin/src/utils/getPrefixedId.mjs.map +1 -1
  229. package/dist/admin/admin/src/utils/rulesEngine.js.map +1 -1
  230. package/dist/admin/admin/src/utils/rulesEngine.mjs.map +1 -1
  231. package/dist/admin/admin/src/utils/urls.js.map +1 -1
  232. package/dist/admin/admin/src/utils/urls.mjs.map +1 -1
  233. package/dist/admin/admin/src/utils/users.js.map +1 -1
  234. package/dist/admin/admin/src/utils/users.mjs.map +1 -1
  235. package/dist/admin/ee/admin/src/components/AuditLogs/Widgets.js.map +1 -1
  236. package/dist/admin/ee/admin/src/components/AuditLogs/Widgets.mjs.map +1 -1
  237. package/dist/admin/ee/admin/src/hooks/useLicenseLimitNotification.js.map +1 -1
  238. package/dist/admin/ee/admin/src/hooks/useLicenseLimitNotification.mjs.map +1 -1
  239. package/dist/admin/ee/admin/src/pages/AuthPage/components/SSOProviders.js.map +1 -1
  240. package/dist/admin/ee/admin/src/pages/AuthPage/components/SSOProviders.mjs.map +1 -1
  241. package/dist/admin/ee/admin/src/pages/AuthResponse.js.map +1 -1
  242. package/dist/admin/ee/admin/src/pages/AuthResponse.mjs.map +1 -1
  243. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AIUsage.js.map +1 -1
  244. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AIUsage.mjs.map +1 -1
  245. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListPage.js +3 -3
  246. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListPage.js.map +1 -1
  247. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListPage.mjs +3 -3
  248. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListPage.mjs.map +1 -1
  249. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/components/Modal.js.map +1 -1
  250. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/components/Modal.mjs.map +1 -1
  251. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/hooks/useFormatTimeStamp.js.map +1 -1
  252. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/hooks/useFormatTimeStamp.mjs.map +1 -1
  253. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getDisplayedFilters.js.map +1 -1
  254. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getDisplayedFilters.mjs.map +1 -1
  255. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/Users/components/MagicLinkEE.js.map +1 -1
  256. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/Users/components/MagicLinkEE.mjs.map +1 -1
  257. package/dist/admin/ee/admin/src/services/ai.js +14 -1
  258. package/dist/admin/ee/admin/src/services/ai.js.map +1 -1
  259. package/dist/admin/ee/admin/src/services/ai.mjs +14 -2
  260. package/dist/admin/ee/admin/src/services/ai.mjs.map +1 -1
  261. package/dist/admin/ee/admin/src/services/auditLogs.js.map +1 -1
  262. package/dist/admin/ee/admin/src/services/auditLogs.mjs.map +1 -1
  263. package/dist/admin/ee.js +1 -0
  264. package/dist/admin/ee.js.map +1 -1
  265. package/dist/admin/ee.mjs +1 -1
  266. package/dist/admin/src/components/Form.d.ts +1 -1
  267. package/dist/admin/src/core/store/configure.d.ts +2 -2
  268. package/dist/admin/src/core/store/hooks.d.ts +2 -2
  269. package/dist/admin/src/ee.d.ts +1 -1
  270. package/dist/admin/src/hooks/useAdminRoles.d.ts +1 -1
  271. package/dist/admin/src/pages/Settings/pages/Webhooks/hooks/useWebhooks.d.ts +4 -4
  272. package/dist/admin/src/selectors.d.ts +2 -2
  273. package/dist/admin/src/services/admin.d.ts +6 -6
  274. package/dist/admin/src/services/api.d.ts +1 -1
  275. package/dist/admin/src/services/apiTokens.d.ts +1 -1
  276. package/dist/admin/src/services/auth.d.ts +13 -13
  277. package/dist/admin/src/services/contentApi.d.ts +1 -1
  278. package/dist/admin/src/services/contentManager.d.ts +1 -1
  279. package/dist/admin/src/services/homepage.d.ts +3 -3
  280. package/dist/admin/src/services/transferTokens.d.ts +1 -1
  281. package/dist/admin/src/services/users.d.ts +8 -8
  282. package/dist/admin/src/services/webhooks.d.ts +2 -2
  283. package/dist/admin/tests/utils.d.ts +1 -1
  284. package/dist/ee/admin/src/services/ai.d.ts +6 -3
  285. package/dist/ee/admin/src/services/auditLogs.d.ts +1 -1
  286. package/dist/ee/server/src/ai/containers/ai.d.ts +11 -0
  287. package/dist/ee/server/src/ai/containers/ai.d.ts.map +1 -0
  288. package/dist/ee/server/src/ai/controllers/ai.d.ts +1 -0
  289. package/dist/ee/server/src/ai/controllers/ai.d.ts.map +1 -1
  290. package/dist/ee/server/src/ai/routes/ai.d.ts.map +1 -1
  291. package/dist/ee/server/src/index.d.ts +1 -0
  292. package/dist/ee/server/src/index.d.ts.map +1 -1
  293. package/dist/server/ee/server/src/ai/containers/ai.js +18 -0
  294. package/dist/server/ee/server/src/ai/containers/ai.js.map +1 -0
  295. package/dist/server/ee/server/src/ai/containers/ai.mjs +16 -0
  296. package/dist/server/ee/server/src/ai/containers/ai.mjs.map +1 -0
  297. package/dist/server/ee/server/src/ai/controllers/ai.js +6 -0
  298. package/dist/server/ee/server/src/ai/controllers/ai.js.map +1 -1
  299. package/dist/server/ee/server/src/ai/controllers/ai.mjs +6 -0
  300. package/dist/server/ee/server/src/ai/controllers/ai.mjs.map +1 -1
  301. package/dist/server/ee/server/src/ai/routes/ai.js +11 -0
  302. package/dist/server/ee/server/src/ai/routes/ai.js.map +1 -1
  303. package/dist/server/ee/server/src/ai/routes/ai.mjs +11 -0
  304. package/dist/server/ee/server/src/ai/routes/ai.mjs.map +1 -1
  305. package/dist/server/ee/server/src/audit-logs/services/audit-logs.js.map +1 -1
  306. package/dist/server/ee/server/src/audit-logs/services/audit-logs.mjs.map +1 -1
  307. package/dist/server/ee/server/src/controllers/authentication-utils/constants.js.map +1 -1
  308. package/dist/server/ee/server/src/controllers/authentication-utils/constants.mjs.map +1 -1
  309. package/dist/server/ee/server/src/controllers/authentication-utils/utils.js.map +1 -1
  310. package/dist/server/ee/server/src/controllers/authentication-utils/utils.mjs.map +1 -1
  311. package/dist/server/ee/server/src/controllers/authentication.js.map +1 -1
  312. package/dist/server/ee/server/src/controllers/authentication.mjs.map +1 -1
  313. package/dist/server/ee/server/src/controllers/user.js.map +1 -1
  314. package/dist/server/ee/server/src/controllers/user.mjs.map +1 -1
  315. package/dist/server/ee/server/src/index.js +7 -0
  316. package/dist/server/ee/server/src/index.js.map +1 -1
  317. package/dist/server/ee/server/src/index.mjs +7 -0
  318. package/dist/server/ee/server/src/index.mjs.map +1 -1
  319. package/dist/server/ee/server/src/services/auth.js.map +1 -1
  320. package/dist/server/ee/server/src/services/auth.mjs.map +1 -1
  321. package/dist/server/ee/server/src/services/passport/sso.js.map +1 -1
  322. package/dist/server/ee/server/src/services/passport/sso.mjs.map +1 -1
  323. package/dist/server/ee/server/src/utils/index.js.map +1 -1
  324. package/dist/server/ee/server/src/utils/index.mjs.map +1 -1
  325. package/dist/server/server/src/controllers/transfer/index.js.map +1 -1
  326. package/dist/server/server/src/controllers/transfer/index.mjs.map +1 -1
  327. package/dist/server/server/src/controllers/user.js +10 -0
  328. package/dist/server/server/src/controllers/user.js.map +1 -1
  329. package/dist/server/server/src/controllers/user.mjs +10 -0
  330. package/dist/server/server/src/controllers/user.mjs.map +1 -1
  331. package/dist/server/server/src/domain/action/index.js.map +1 -1
  332. package/dist/server/server/src/domain/action/index.mjs.map +1 -1
  333. package/dist/server/server/src/domain/condition/index.js.map +1 -1
  334. package/dist/server/server/src/domain/condition/index.mjs.map +1 -1
  335. package/dist/server/server/src/domain/permission/index.js.map +1 -1
  336. package/dist/server/server/src/domain/permission/index.mjs.map +1 -1
  337. package/dist/server/server/src/middlewares/rateLimit.js.map +1 -1
  338. package/dist/server/server/src/middlewares/rateLimit.mjs.map +1 -1
  339. package/dist/server/server/src/routes/serve-admin-panel.js.map +1 -1
  340. package/dist/server/server/src/routes/serve-admin-panel.mjs.map +1 -1
  341. package/dist/server/server/src/services/api-token.js.map +1 -1
  342. package/dist/server/server/src/services/api-token.mjs.map +1 -1
  343. package/dist/server/server/src/services/auth.js.map +1 -1
  344. package/dist/server/server/src/services/auth.mjs.map +1 -1
  345. package/dist/server/server/src/services/content-type.js.map +1 -1
  346. package/dist/server/server/src/services/content-type.mjs.map +1 -1
  347. package/dist/server/server/src/services/encryption.js.map +1 -1
  348. package/dist/server/server/src/services/encryption.mjs.map +1 -1
  349. package/dist/server/server/src/services/homepage.js.map +1 -1
  350. package/dist/server/server/src/services/homepage.mjs.map +1 -1
  351. package/dist/server/server/src/services/permission/permissions-manager/sanitize.js.map +1 -1
  352. package/dist/server/server/src/services/permission/permissions-manager/sanitize.mjs.map +1 -1
  353. package/dist/server/server/src/services/permission/permissions-manager/validate.js.map +1 -1
  354. package/dist/server/server/src/services/permission/permissions-manager/validate.mjs.map +1 -1
  355. package/dist/server/server/src/services/role.js.map +1 -1
  356. package/dist/server/server/src/services/role.mjs.map +1 -1
  357. package/dist/server/server/src/services/transfer/token.js.map +1 -1
  358. package/dist/server/server/src/services/transfer/token.mjs.map +1 -1
  359. package/dist/server/server/src/services/user.js +30 -0
  360. package/dist/server/server/src/services/user.js.map +1 -1
  361. package/dist/server/server/src/services/user.mjs +30 -0
  362. package/dist/server/server/src/services/user.mjs.map +1 -1
  363. package/dist/server/server/src/utils/index.js.map +1 -1
  364. package/dist/server/server/src/utils/index.mjs.map +1 -1
  365. package/dist/server/server/src/validation/action-provider.js.map +1 -1
  366. package/dist/server/server/src/validation/action-provider.mjs.map +1 -1
  367. package/dist/server/server/src/validation/common-functions/check-fields-are-correctly-nested.js.map +1 -1
  368. package/dist/server/server/src/validation/common-functions/check-fields-are-correctly-nested.mjs.map +1 -1
  369. package/dist/server/server/src/validation/common-validators.js.map +1 -1
  370. package/dist/server/server/src/validation/common-validators.mjs.map +1 -1
  371. package/dist/server/src/controllers/user.d.ts.map +1 -1
  372. package/dist/server/src/services/user.d.ts.map +1 -1
  373. package/dist/shared/contracts/ai.d.ts +16 -0
  374. package/dist/shared/contracts/ai.d.ts.map +1 -1
  375. package/package.json +7 -7
@@ -1 +1 @@
1
- {"version":3,"file":"transferTokens.mjs","sources":["../../../../../admin/src/services/transferTokens.ts"],"sourcesContent":["import * as TransferTokens from '../../../shared/contracts/transfer';\n\nimport { adminApi } from './api';\n\nconst transferTokenService = adminApi\n .enhanceEndpoints({\n addTagTypes: ['TransferToken'],\n })\n .injectEndpoints({\n endpoints: (builder) => ({\n regenerateToken: builder.mutation<TransferTokens.TokenRegenerate.Response['data'], string>({\n query: (url) => ({\n method: 'POST',\n url: `${url}/regenerate`,\n }),\n transformResponse: (response: TransferTokens.TokenRegenerate.Response) => response.data,\n }),\n getTransferTokens: builder.query<TransferTokens.TokenList.Response['data'], void>({\n query: () => ({\n url: '/admin/transfer/tokens',\n method: 'GET',\n }),\n transformResponse: (response: TransferTokens.TokenList.Response) => response.data,\n providesTags: (res, _err) => [\n ...(res?.map(({ id }) => ({ type: 'TransferToken' as const, id })) ?? []),\n { type: 'TransferToken' as const, id: 'LIST' },\n ],\n }),\n getTransferToken: builder.query<\n TransferTokens.TokenGetById.Response['data'],\n TransferTokens.TokenGetById.Params['id']\n >({\n query: (id) => `/admin/transfer/tokens/${id}`,\n transformResponse: (response: TransferTokens.TokenGetById.Response) => response.data,\n providesTags: (res, _err, id) => [{ type: 'TransferToken' as const, id }],\n }),\n createTransferToken: builder.mutation<\n TransferTokens.TokenCreate.Response['data'],\n TransferTokens.TokenCreate.Request['body']\n >({\n query: (body) => ({\n url: '/admin/transfer/tokens',\n method: 'POST',\n data: body,\n }),\n transformResponse: (response: TransferTokens.TokenCreate.Response) => response.data,\n invalidatesTags: [{ type: 'TransferToken' as const, id: 'LIST' }],\n }),\n deleteTransferToken: builder.mutation<\n TransferTokens.TokenRevoke.Response['data'],\n TransferTokens.TokenRevoke.Params['id']\n >({\n query: (id) => ({\n url: `/admin/transfer/tokens/${id}`,\n method: 'DELETE',\n }),\n transformResponse: (response: TransferTokens.TokenRevoke.Response) => response.data,\n invalidatesTags: (_res, _err, id) => [{ type: 'TransferToken' as const, id }],\n }),\n updateTransferToken: builder.mutation<\n TransferTokens.TokenUpdate.Response['data'],\n TransferTokens.TokenUpdate.Params & TransferTokens.TokenUpdate.Request['body']\n >({\n query: ({ id, ...body }) => ({\n url: `/admin/transfer/tokens/${id}`,\n method: 'PUT',\n data: body,\n }),\n transformResponse: (response: TransferTokens.TokenUpdate.Response) => response.data,\n invalidatesTags: (_res, _err, { id }) => [{ type: 'TransferToken' as const, id }],\n }),\n }),\n overrideExisting: false,\n });\n\nconst {\n useGetTransferTokensQuery,\n useGetTransferTokenQuery,\n useCreateTransferTokenMutation,\n useDeleteTransferTokenMutation,\n useUpdateTransferTokenMutation,\n useRegenerateTokenMutation,\n} = transferTokenService;\n\nexport {\n useGetTransferTokensQuery,\n useGetTransferTokenQuery,\n useCreateTransferTokenMutation,\n useDeleteTransferTokenMutation,\n useUpdateTransferTokenMutation,\n useRegenerateTokenMutation,\n};\n"],"names":["transferTokenService","adminApi","enhanceEndpoints","addTagTypes","injectEndpoints","endpoints","builder","regenerateToken","mutation","query","url","method","transformResponse","response","data","getTransferTokens","providesTags","res","_err","map","id","type","getTransferToken","createTransferToken","body","invalidatesTags","deleteTransferToken","_res","updateTransferToken","overrideExisting","useGetTransferTokensQuery","useGetTransferTokenQuery","useCreateTransferTokenMutation","useDeleteTransferTokenMutation","useUpdateTransferTokenMutation","useRegenerateTokenMutation"],"mappings":"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"}
1
+ {"version":3,"file":"transferTokens.mjs","sources":["../../../../../admin/src/services/transferTokens.ts"],"sourcesContent":["import * as TransferTokens from '../../../shared/contracts/transfer';\n\nimport { adminApi } from './api';\n\nconst transferTokenService = adminApi\n .enhanceEndpoints({\n addTagTypes: ['TransferToken'],\n })\n .injectEndpoints({\n endpoints: (builder) => ({\n regenerateToken: builder.mutation<TransferTokens.TokenRegenerate.Response['data'], string>({\n query: (url) => ({\n method: 'POST',\n url: `${url}/regenerate`,\n }),\n transformResponse: (response: TransferTokens.TokenRegenerate.Response) => response.data,\n }),\n getTransferTokens: builder.query<TransferTokens.TokenList.Response['data'], void>({\n query: () => ({\n url: '/admin/transfer/tokens',\n method: 'GET',\n }),\n transformResponse: (response: TransferTokens.TokenList.Response) => response.data,\n providesTags: (res, _err) => [\n ...(res?.map(({ id }) => ({ type: 'TransferToken' as const, id })) ?? []),\n { type: 'TransferToken' as const, id: 'LIST' },\n ],\n }),\n getTransferToken: builder.query<\n TransferTokens.TokenGetById.Response['data'],\n TransferTokens.TokenGetById.Params['id']\n >({\n query: (id) => `/admin/transfer/tokens/${id}`,\n transformResponse: (response: TransferTokens.TokenGetById.Response) => response.data,\n providesTags: (res, _err, id) => [{ type: 'TransferToken' as const, id }],\n }),\n createTransferToken: builder.mutation<\n TransferTokens.TokenCreate.Response['data'],\n TransferTokens.TokenCreate.Request['body']\n >({\n query: (body) => ({\n url: '/admin/transfer/tokens',\n method: 'POST',\n data: body,\n }),\n transformResponse: (response: TransferTokens.TokenCreate.Response) => response.data,\n invalidatesTags: [{ type: 'TransferToken' as const, id: 'LIST' }],\n }),\n deleteTransferToken: builder.mutation<\n TransferTokens.TokenRevoke.Response['data'],\n TransferTokens.TokenRevoke.Params['id']\n >({\n query: (id) => ({\n url: `/admin/transfer/tokens/${id}`,\n method: 'DELETE',\n }),\n transformResponse: (response: TransferTokens.TokenRevoke.Response) => response.data,\n invalidatesTags: (_res, _err, id) => [{ type: 'TransferToken' as const, id }],\n }),\n updateTransferToken: builder.mutation<\n TransferTokens.TokenUpdate.Response['data'],\n TransferTokens.TokenUpdate.Params & TransferTokens.TokenUpdate.Request['body']\n >({\n query: ({ id, ...body }) => ({\n url: `/admin/transfer/tokens/${id}`,\n method: 'PUT',\n data: body,\n }),\n transformResponse: (response: TransferTokens.TokenUpdate.Response) => response.data,\n invalidatesTags: (_res, _err, { id }) => [{ type: 'TransferToken' as const, id }],\n }),\n }),\n overrideExisting: false,\n });\n\nconst {\n useGetTransferTokensQuery,\n useGetTransferTokenQuery,\n useCreateTransferTokenMutation,\n useDeleteTransferTokenMutation,\n useUpdateTransferTokenMutation,\n useRegenerateTokenMutation,\n} = transferTokenService;\n\nexport {\n useGetTransferTokensQuery,\n useGetTransferTokenQuery,\n useCreateTransferTokenMutation,\n useDeleteTransferTokenMutation,\n useUpdateTransferTokenMutation,\n useRegenerateTokenMutation,\n};\n"],"names":["transferTokenService","adminApi","enhanceEndpoints","addTagTypes","injectEndpoints","endpoints","builder","regenerateToken","mutation","query","url","method","transformResponse","response","data","getTransferTokens","providesTags","res","_err","map","id","type","getTransferToken","createTransferToken","body","invalidatesTags","deleteTransferToken","_res","updateTransferToken","overrideExisting","useGetTransferTokensQuery","useGetTransferTokenQuery","useCreateTransferTokenMutation","useDeleteTransferTokenMutation","useUpdateTransferTokenMutation","useRegenerateTokenMutation"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"users.js","sources":["../../../../../admin/src/services/users.ts"],"sourcesContent":["import * as Permissions from '../../../shared/contracts/permissions';\nimport * as Roles from '../../../shared/contracts/roles';\nimport * as Users from '../../../shared/contracts/user';\n\nimport { adminApi } from './api';\n\nimport type { Data } from '@strapi/types';\n\nconst usersService = adminApi\n .enhanceEndpoints({\n addTagTypes: ['LicenseLimits', 'User', 'Role', 'RolePermissions'],\n })\n .injectEndpoints({\n endpoints: (builder) => ({\n /**\n * users\n */\n createUser: builder.mutation<Users.Create.Response['data'], Users.Create.Request['body']>({\n query: (body) => ({\n url: '/admin/users',\n method: 'POST',\n data: body,\n }),\n transformResponse: (response: Users.Create.Response) => response.data,\n invalidatesTags: ['LicenseLimits', { type: 'User', id: 'LIST' }, 'HomepageKeyStatistics'],\n }),\n updateUser: builder.mutation<\n Users.Update.Response['data'],\n Omit<Users.Update.Request['body'] & Users.Update.Params, 'blocked'>\n >({\n query: ({ id, ...body }) => ({\n url: `/admin/users/${id}`,\n method: 'PUT',\n data: body,\n }),\n invalidatesTags: (_res, _err, { id }) => [\n { type: 'User', id },\n { type: 'User', id: 'LIST' },\n ],\n }),\n getUsers: builder.query<\n {\n users: Users.FindAll.Response['data']['results'];\n pagination: Users.FindAll.Response['data']['pagination'] | null;\n },\n GetUsersParams\n >({\n query: ({ id, ...params } = {}) => ({\n url: `/admin/users/${id ?? ''}`,\n method: 'GET',\n config: {\n params,\n },\n }),\n transformResponse: (res: Users.FindAll.Response | Users.FindOne.Response) => {\n let users: Users.FindAll.Response['data']['results'] = [];\n\n if (res.data) {\n if ('results' in res.data) {\n if (Array.isArray(res.data.results)) {\n users = res.data.results;\n }\n } else {\n users = [res.data];\n }\n }\n\n return {\n users,\n pagination: 'pagination' in res.data ? res.data.pagination : null,\n };\n },\n providesTags: (res, _err, arg) => {\n if (typeof arg === 'object' && 'id' in arg) {\n return [{ type: 'User' as const, id: arg.id }];\n } else {\n return [\n ...(res?.users.map(({ id }) => ({ type: 'User' as const, id })) ?? []),\n { type: 'User' as const, id: 'LIST' },\n ];\n }\n },\n }),\n deleteManyUsers: builder.mutation<\n Users.DeleteMany.Response['data'],\n Users.DeleteMany.Request['body']\n >({\n query: (body) => ({\n url: '/admin/users/batch-delete',\n method: 'POST',\n data: body,\n }),\n transformResponse: (res: Users.DeleteMany.Response) => res.data,\n invalidatesTags: ['LicenseLimits', { type: 'User', id: 'LIST' }, 'HomepageKeyStatistics'],\n }),\n /**\n * roles\n */\n createRole: builder.mutation<Roles.Create.Response['data'], Roles.Create.Request['body']>({\n query: (body) => ({\n url: '/admin/roles',\n method: 'POST',\n data: body,\n }),\n transformResponse: (res: Roles.Create.Response) => res.data,\n invalidatesTags: [{ type: 'Role', id: 'LIST' }],\n }),\n getRoles: builder.query<Roles.FindRoles.Response['data'], GetRolesParams | void>({\n query: ({ id, ...params } = {}) => ({\n url: `/admin/roles/${id ?? ''}`,\n method: 'GET',\n config: {\n params,\n },\n }),\n transformResponse: (res: Roles.FindRole.Response | Roles.FindRoles.Response) => {\n let roles: Roles.FindRoles.Response['data'] = [];\n\n if (res.data) {\n if (Array.isArray(res.data)) {\n roles = res.data;\n } else {\n roles = [res.data];\n }\n }\n\n return roles;\n },\n providesTags: (res, _err, arg) => {\n if (typeof arg === 'object' && 'id' in arg) {\n return [{ type: 'Role' as const, id: arg.id }];\n } else {\n return [\n ...(res?.map(({ id }) => ({ type: 'Role' as const, id })) ?? []),\n { type: 'Role' as const, id: 'LIST' },\n ];\n }\n },\n }),\n updateRole: builder.mutation<\n Roles.Update.Response['data'],\n Roles.Update.Request['body'] & Roles.Update.Request['params']\n >({\n query: ({ id, ...body }) => ({\n url: `/admin/roles/${id}`,\n method: 'PUT',\n data: body,\n }),\n transformResponse: (res: Roles.Create.Response) => res.data,\n invalidatesTags: (_res, _err, { id }) => [{ type: 'Role' as const, id }],\n }),\n getRolePermissions: builder.query<\n Roles.GetPermissions.Response['data'],\n GetRolePermissionsParams\n >({\n query: ({ id, ...params }) => ({\n url: `/admin/roles/${id}/permissions`,\n method: 'GET',\n config: {\n params,\n },\n }),\n transformResponse: (res: Roles.GetPermissions.Response) => res.data,\n providesTags: (_res, _err, { id }) => [{ type: 'RolePermissions' as const, id }],\n }),\n updateRolePermissions: builder.mutation<\n Roles.UpdatePermissions.Response['data'],\n Roles.UpdatePermissions.Request['body'] & Roles.UpdatePermissions.Request['params']\n >({\n query: ({ id, ...body }) => ({\n url: `/admin/roles/${id}/permissions`,\n method: 'PUT',\n data: body,\n }),\n transformResponse: (res: Roles.UpdatePermissions.Response) => res.data,\n invalidatesTags: (_res, _err, { id }) => [{ type: 'RolePermissions' as const, id }],\n }),\n /**\n * Permissions\n */\n getRolePermissionLayout: builder.query<\n Permissions.GetAll.Response['data'],\n Permissions.GetAll.Request['params']\n >({\n query: (params) => ({\n url: '/admin/permissions',\n method: 'GET',\n config: {\n params,\n },\n }),\n transformResponse: (res: Permissions.GetAll.Response) => res.data,\n }),\n }),\n overrideExisting: false,\n });\n\ntype GetUsersParams =\n | Users.FindOne.Params\n | (Users.FindAll.Request['query'] & { id?: never })\n | void;\ntype GetRolesParams =\n | Roles.FindRole.Request['params']\n | (Roles.FindRoles.Request['query'] & { id?: never });\ninterface GetRolePermissionsParams {\n id: Data.ID;\n}\n\nconst {\n useCreateUserMutation,\n useGetUsersQuery,\n useUpdateUserMutation,\n useDeleteManyUsersMutation,\n useGetRolesQuery,\n useCreateRoleMutation,\n useUpdateRoleMutation,\n useGetRolePermissionsQuery,\n useGetRolePermissionLayoutQuery,\n useUpdateRolePermissionsMutation,\n} = usersService;\n\nconst useAdminUsers = useGetUsersQuery;\n\nexport {\n useUpdateUserMutation,\n useGetRolesQuery,\n useAdminUsers,\n useDeleteManyUsersMutation,\n useCreateUserMutation,\n useGetRolePermissionsQuery,\n useGetRolePermissionLayoutQuery,\n useCreateRoleMutation,\n useUpdateRolePermissionsMutation,\n useUpdateRoleMutation,\n};\nexport type { GetRolesParams, GetUsersParams, GetRolePermissionsParams };\n"],"names":["usersService","adminApi","enhanceEndpoints","addTagTypes","injectEndpoints","endpoints","builder","createUser","mutation","query","body","url","method","data","transformResponse","response","invalidatesTags","type","id","updateUser","_res","_err","getUsers","params","config","res","users","Array","isArray","results","pagination","providesTags","arg","map","deleteManyUsers","createRole","getRoles","roles","updateRole","getRolePermissions","updateRolePermissions","getRolePermissionLayout","overrideExisting","useCreateUserMutation","useGetUsersQuery","useUpdateUserMutation","useDeleteManyUsersMutation","useGetRolesQuery","useCreateRoleMutation","useUpdateRoleMutation","useGetRolePermissionsQuery","useGetRolePermissionLayoutQuery","useUpdateRolePermissionsMutation","useAdminUsers"],"mappings":"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"}
1
+ {"version":3,"file":"users.js","sources":["../../../../../admin/src/services/users.ts"],"sourcesContent":["import * as Permissions from '../../../shared/contracts/permissions';\nimport * as Roles from '../../../shared/contracts/roles';\nimport * as Users from '../../../shared/contracts/user';\n\nimport { adminApi } from './api';\n\nimport type { Data } from '@strapi/types';\n\nconst usersService = adminApi\n .enhanceEndpoints({\n addTagTypes: ['LicenseLimits', 'User', 'Role', 'RolePermissions'],\n })\n .injectEndpoints({\n endpoints: (builder) => ({\n /**\n * users\n */\n createUser: builder.mutation<Users.Create.Response['data'], Users.Create.Request['body']>({\n query: (body) => ({\n url: '/admin/users',\n method: 'POST',\n data: body,\n }),\n transformResponse: (response: Users.Create.Response) => response.data,\n invalidatesTags: ['LicenseLimits', { type: 'User', id: 'LIST' }, 'HomepageKeyStatistics'],\n }),\n updateUser: builder.mutation<\n Users.Update.Response['data'],\n Omit<Users.Update.Request['body'] & Users.Update.Params, 'blocked'>\n >({\n query: ({ id, ...body }) => ({\n url: `/admin/users/${id}`,\n method: 'PUT',\n data: body,\n }),\n invalidatesTags: (_res, _err, { id }) => [\n { type: 'User', id },\n { type: 'User', id: 'LIST' },\n ],\n }),\n getUsers: builder.query<\n {\n users: Users.FindAll.Response['data']['results'];\n pagination: Users.FindAll.Response['data']['pagination'] | null;\n },\n GetUsersParams\n >({\n query: ({ id, ...params } = {}) => ({\n url: `/admin/users/${id ?? ''}`,\n method: 'GET',\n config: {\n params,\n },\n }),\n transformResponse: (res: Users.FindAll.Response | Users.FindOne.Response) => {\n let users: Users.FindAll.Response['data']['results'] = [];\n\n if (res.data) {\n if ('results' in res.data) {\n if (Array.isArray(res.data.results)) {\n users = res.data.results;\n }\n } else {\n users = [res.data];\n }\n }\n\n return {\n users,\n pagination: 'pagination' in res.data ? res.data.pagination : null,\n };\n },\n providesTags: (res, _err, arg) => {\n if (typeof arg === 'object' && 'id' in arg) {\n return [{ type: 'User' as const, id: arg.id }];\n } else {\n return [\n ...(res?.users.map(({ id }) => ({ type: 'User' as const, id })) ?? []),\n { type: 'User' as const, id: 'LIST' },\n ];\n }\n },\n }),\n deleteManyUsers: builder.mutation<\n Users.DeleteMany.Response['data'],\n Users.DeleteMany.Request['body']\n >({\n query: (body) => ({\n url: '/admin/users/batch-delete',\n method: 'POST',\n data: body,\n }),\n transformResponse: (res: Users.DeleteMany.Response) => res.data,\n invalidatesTags: ['LicenseLimits', { type: 'User', id: 'LIST' }, 'HomepageKeyStatistics'],\n }),\n /**\n * roles\n */\n createRole: builder.mutation<Roles.Create.Response['data'], Roles.Create.Request['body']>({\n query: (body) => ({\n url: '/admin/roles',\n method: 'POST',\n data: body,\n }),\n transformResponse: (res: Roles.Create.Response) => res.data,\n invalidatesTags: [{ type: 'Role', id: 'LIST' }],\n }),\n getRoles: builder.query<Roles.FindRoles.Response['data'], GetRolesParams | void>({\n query: ({ id, ...params } = {}) => ({\n url: `/admin/roles/${id ?? ''}`,\n method: 'GET',\n config: {\n params,\n },\n }),\n transformResponse: (res: Roles.FindRole.Response | Roles.FindRoles.Response) => {\n let roles: Roles.FindRoles.Response['data'] = [];\n\n if (res.data) {\n if (Array.isArray(res.data)) {\n roles = res.data;\n } else {\n roles = [res.data];\n }\n }\n\n return roles;\n },\n providesTags: (res, _err, arg) => {\n if (typeof arg === 'object' && 'id' in arg) {\n return [{ type: 'Role' as const, id: arg.id }];\n } else {\n return [\n ...(res?.map(({ id }) => ({ type: 'Role' as const, id })) ?? []),\n { type: 'Role' as const, id: 'LIST' },\n ];\n }\n },\n }),\n updateRole: builder.mutation<\n Roles.Update.Response['data'],\n Roles.Update.Request['body'] & Roles.Update.Request['params']\n >({\n query: ({ id, ...body }) => ({\n url: `/admin/roles/${id}`,\n method: 'PUT',\n data: body,\n }),\n transformResponse: (res: Roles.Create.Response) => res.data,\n invalidatesTags: (_res, _err, { id }) => [{ type: 'Role' as const, id }],\n }),\n getRolePermissions: builder.query<\n Roles.GetPermissions.Response['data'],\n GetRolePermissionsParams\n >({\n query: ({ id, ...params }) => ({\n url: `/admin/roles/${id}/permissions`,\n method: 'GET',\n config: {\n params,\n },\n }),\n transformResponse: (res: Roles.GetPermissions.Response) => res.data,\n providesTags: (_res, _err, { id }) => [{ type: 'RolePermissions' as const, id }],\n }),\n updateRolePermissions: builder.mutation<\n Roles.UpdatePermissions.Response['data'],\n Roles.UpdatePermissions.Request['body'] & Roles.UpdatePermissions.Request['params']\n >({\n query: ({ id, ...body }) => ({\n url: `/admin/roles/${id}/permissions`,\n method: 'PUT',\n data: body,\n }),\n transformResponse: (res: Roles.UpdatePermissions.Response) => res.data,\n invalidatesTags: (_res, _err, { id }) => [{ type: 'RolePermissions' as const, id }],\n }),\n /**\n * Permissions\n */\n getRolePermissionLayout: builder.query<\n Permissions.GetAll.Response['data'],\n Permissions.GetAll.Request['params']\n >({\n query: (params) => ({\n url: '/admin/permissions',\n method: 'GET',\n config: {\n params,\n },\n }),\n transformResponse: (res: Permissions.GetAll.Response) => res.data,\n }),\n }),\n overrideExisting: false,\n });\n\ntype GetUsersParams =\n | Users.FindOne.Params\n | (Users.FindAll.Request['query'] & { id?: never })\n | void;\ntype GetRolesParams =\n | Roles.FindRole.Request['params']\n | (Roles.FindRoles.Request['query'] & { id?: never });\ninterface GetRolePermissionsParams {\n id: Data.ID;\n}\n\nconst {\n useCreateUserMutation,\n useGetUsersQuery,\n useUpdateUserMutation,\n useDeleteManyUsersMutation,\n useGetRolesQuery,\n useCreateRoleMutation,\n useUpdateRoleMutation,\n useGetRolePermissionsQuery,\n useGetRolePermissionLayoutQuery,\n useUpdateRolePermissionsMutation,\n} = usersService;\n\nconst useAdminUsers = useGetUsersQuery;\n\nexport {\n useUpdateUserMutation,\n useGetRolesQuery,\n useAdminUsers,\n useDeleteManyUsersMutation,\n useCreateUserMutation,\n useGetRolePermissionsQuery,\n useGetRolePermissionLayoutQuery,\n useCreateRoleMutation,\n useUpdateRolePermissionsMutation,\n useUpdateRoleMutation,\n};\nexport type { GetRolesParams, GetUsersParams, GetRolePermissionsParams };\n"],"names":["usersService","adminApi","enhanceEndpoints","addTagTypes","injectEndpoints","endpoints","builder","createUser","mutation","query","body","url","method","data","transformResponse","response","invalidatesTags","type","id","updateUser","_res","_err","getUsers","params","config","res","users","Array","isArray","results","pagination","providesTags","arg","map","deleteManyUsers","createRole","getRoles","roles","updateRole","getRolePermissions","updateRolePermissions","getRolePermissionLayout","overrideExisting","useCreateUserMutation","useGetUsersQuery","useUpdateUserMutation","useDeleteManyUsersMutation","useGetRolesQuery","useCreateRoleMutation","useUpdateRoleMutation","useGetRolePermissionsQuery","useGetRolePermissionLayoutQuery","useUpdateRolePermissionsMutation","useAdminUsers"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"users.mjs","sources":["../../../../../admin/src/services/users.ts"],"sourcesContent":["import * as Permissions from '../../../shared/contracts/permissions';\nimport * as Roles from '../../../shared/contracts/roles';\nimport * as Users from '../../../shared/contracts/user';\n\nimport { adminApi } from './api';\n\nimport type { Data } from '@strapi/types';\n\nconst usersService = adminApi\n .enhanceEndpoints({\n addTagTypes: ['LicenseLimits', 'User', 'Role', 'RolePermissions'],\n })\n .injectEndpoints({\n endpoints: (builder) => ({\n /**\n * users\n */\n createUser: builder.mutation<Users.Create.Response['data'], Users.Create.Request['body']>({\n query: (body) => ({\n url: '/admin/users',\n method: 'POST',\n data: body,\n }),\n transformResponse: (response: Users.Create.Response) => response.data,\n invalidatesTags: ['LicenseLimits', { type: 'User', id: 'LIST' }, 'HomepageKeyStatistics'],\n }),\n updateUser: builder.mutation<\n Users.Update.Response['data'],\n Omit<Users.Update.Request['body'] & Users.Update.Params, 'blocked'>\n >({\n query: ({ id, ...body }) => ({\n url: `/admin/users/${id}`,\n method: 'PUT',\n data: body,\n }),\n invalidatesTags: (_res, _err, { id }) => [\n { type: 'User', id },\n { type: 'User', id: 'LIST' },\n ],\n }),\n getUsers: builder.query<\n {\n users: Users.FindAll.Response['data']['results'];\n pagination: Users.FindAll.Response['data']['pagination'] | null;\n },\n GetUsersParams\n >({\n query: ({ id, ...params } = {}) => ({\n url: `/admin/users/${id ?? ''}`,\n method: 'GET',\n config: {\n params,\n },\n }),\n transformResponse: (res: Users.FindAll.Response | Users.FindOne.Response) => {\n let users: Users.FindAll.Response['data']['results'] = [];\n\n if (res.data) {\n if ('results' in res.data) {\n if (Array.isArray(res.data.results)) {\n users = res.data.results;\n }\n } else {\n users = [res.data];\n }\n }\n\n return {\n users,\n pagination: 'pagination' in res.data ? res.data.pagination : null,\n };\n },\n providesTags: (res, _err, arg) => {\n if (typeof arg === 'object' && 'id' in arg) {\n return [{ type: 'User' as const, id: arg.id }];\n } else {\n return [\n ...(res?.users.map(({ id }) => ({ type: 'User' as const, id })) ?? []),\n { type: 'User' as const, id: 'LIST' },\n ];\n }\n },\n }),\n deleteManyUsers: builder.mutation<\n Users.DeleteMany.Response['data'],\n Users.DeleteMany.Request['body']\n >({\n query: (body) => ({\n url: '/admin/users/batch-delete',\n method: 'POST',\n data: body,\n }),\n transformResponse: (res: Users.DeleteMany.Response) => res.data,\n invalidatesTags: ['LicenseLimits', { type: 'User', id: 'LIST' }, 'HomepageKeyStatistics'],\n }),\n /**\n * roles\n */\n createRole: builder.mutation<Roles.Create.Response['data'], Roles.Create.Request['body']>({\n query: (body) => ({\n url: '/admin/roles',\n method: 'POST',\n data: body,\n }),\n transformResponse: (res: Roles.Create.Response) => res.data,\n invalidatesTags: [{ type: 'Role', id: 'LIST' }],\n }),\n getRoles: builder.query<Roles.FindRoles.Response['data'], GetRolesParams | void>({\n query: ({ id, ...params } = {}) => ({\n url: `/admin/roles/${id ?? ''}`,\n method: 'GET',\n config: {\n params,\n },\n }),\n transformResponse: (res: Roles.FindRole.Response | Roles.FindRoles.Response) => {\n let roles: Roles.FindRoles.Response['data'] = [];\n\n if (res.data) {\n if (Array.isArray(res.data)) {\n roles = res.data;\n } else {\n roles = [res.data];\n }\n }\n\n return roles;\n },\n providesTags: (res, _err, arg) => {\n if (typeof arg === 'object' && 'id' in arg) {\n return [{ type: 'Role' as const, id: arg.id }];\n } else {\n return [\n ...(res?.map(({ id }) => ({ type: 'Role' as const, id })) ?? []),\n { type: 'Role' as const, id: 'LIST' },\n ];\n }\n },\n }),\n updateRole: builder.mutation<\n Roles.Update.Response['data'],\n Roles.Update.Request['body'] & Roles.Update.Request['params']\n >({\n query: ({ id, ...body }) => ({\n url: `/admin/roles/${id}`,\n method: 'PUT',\n data: body,\n }),\n transformResponse: (res: Roles.Create.Response) => res.data,\n invalidatesTags: (_res, _err, { id }) => [{ type: 'Role' as const, id }],\n }),\n getRolePermissions: builder.query<\n Roles.GetPermissions.Response['data'],\n GetRolePermissionsParams\n >({\n query: ({ id, ...params }) => ({\n url: `/admin/roles/${id}/permissions`,\n method: 'GET',\n config: {\n params,\n },\n }),\n transformResponse: (res: Roles.GetPermissions.Response) => res.data,\n providesTags: (_res, _err, { id }) => [{ type: 'RolePermissions' as const, id }],\n }),\n updateRolePermissions: builder.mutation<\n Roles.UpdatePermissions.Response['data'],\n Roles.UpdatePermissions.Request['body'] & Roles.UpdatePermissions.Request['params']\n >({\n query: ({ id, ...body }) => ({\n url: `/admin/roles/${id}/permissions`,\n method: 'PUT',\n data: body,\n }),\n transformResponse: (res: Roles.UpdatePermissions.Response) => res.data,\n invalidatesTags: (_res, _err, { id }) => [{ type: 'RolePermissions' as const, id }],\n }),\n /**\n * Permissions\n */\n getRolePermissionLayout: builder.query<\n Permissions.GetAll.Response['data'],\n Permissions.GetAll.Request['params']\n >({\n query: (params) => ({\n url: '/admin/permissions',\n method: 'GET',\n config: {\n params,\n },\n }),\n transformResponse: (res: Permissions.GetAll.Response) => res.data,\n }),\n }),\n overrideExisting: false,\n });\n\ntype GetUsersParams =\n | Users.FindOne.Params\n | (Users.FindAll.Request['query'] & { id?: never })\n | void;\ntype GetRolesParams =\n | Roles.FindRole.Request['params']\n | (Roles.FindRoles.Request['query'] & { id?: never });\ninterface GetRolePermissionsParams {\n id: Data.ID;\n}\n\nconst {\n useCreateUserMutation,\n useGetUsersQuery,\n useUpdateUserMutation,\n useDeleteManyUsersMutation,\n useGetRolesQuery,\n useCreateRoleMutation,\n useUpdateRoleMutation,\n useGetRolePermissionsQuery,\n useGetRolePermissionLayoutQuery,\n useUpdateRolePermissionsMutation,\n} = usersService;\n\nconst useAdminUsers = useGetUsersQuery;\n\nexport {\n useUpdateUserMutation,\n useGetRolesQuery,\n useAdminUsers,\n useDeleteManyUsersMutation,\n useCreateUserMutation,\n useGetRolePermissionsQuery,\n useGetRolePermissionLayoutQuery,\n useCreateRoleMutation,\n useUpdateRolePermissionsMutation,\n useUpdateRoleMutation,\n};\nexport type { GetRolesParams, GetUsersParams, GetRolePermissionsParams };\n"],"names":["usersService","adminApi","enhanceEndpoints","addTagTypes","injectEndpoints","endpoints","builder","createUser","mutation","query","body","url","method","data","transformResponse","response","invalidatesTags","type","id","updateUser","_res","_err","getUsers","params","config","res","users","Array","isArray","results","pagination","providesTags","arg","map","deleteManyUsers","createRole","getRoles","roles","updateRole","getRolePermissions","updateRolePermissions","getRolePermissionLayout","overrideExisting","useCreateUserMutation","useGetUsersQuery","useUpdateUserMutation","useDeleteManyUsersMutation","useGetRolesQuery","useCreateRoleMutation","useUpdateRoleMutation","useGetRolePermissionsQuery","useGetRolePermissionLayoutQuery","useUpdateRolePermissionsMutation","useAdminUsers"],"mappings":"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"}
1
+ {"version":3,"file":"users.mjs","sources":["../../../../../admin/src/services/users.ts"],"sourcesContent":["import * as Permissions from '../../../shared/contracts/permissions';\nimport * as Roles from '../../../shared/contracts/roles';\nimport * as Users from '../../../shared/contracts/user';\n\nimport { adminApi } from './api';\n\nimport type { Data } from '@strapi/types';\n\nconst usersService = adminApi\n .enhanceEndpoints({\n addTagTypes: ['LicenseLimits', 'User', 'Role', 'RolePermissions'],\n })\n .injectEndpoints({\n endpoints: (builder) => ({\n /**\n * users\n */\n createUser: builder.mutation<Users.Create.Response['data'], Users.Create.Request['body']>({\n query: (body) => ({\n url: '/admin/users',\n method: 'POST',\n data: body,\n }),\n transformResponse: (response: Users.Create.Response) => response.data,\n invalidatesTags: ['LicenseLimits', { type: 'User', id: 'LIST' }, 'HomepageKeyStatistics'],\n }),\n updateUser: builder.mutation<\n Users.Update.Response['data'],\n Omit<Users.Update.Request['body'] & Users.Update.Params, 'blocked'>\n >({\n query: ({ id, ...body }) => ({\n url: `/admin/users/${id}`,\n method: 'PUT',\n data: body,\n }),\n invalidatesTags: (_res, _err, { id }) => [\n { type: 'User', id },\n { type: 'User', id: 'LIST' },\n ],\n }),\n getUsers: builder.query<\n {\n users: Users.FindAll.Response['data']['results'];\n pagination: Users.FindAll.Response['data']['pagination'] | null;\n },\n GetUsersParams\n >({\n query: ({ id, ...params } = {}) => ({\n url: `/admin/users/${id ?? ''}`,\n method: 'GET',\n config: {\n params,\n },\n }),\n transformResponse: (res: Users.FindAll.Response | Users.FindOne.Response) => {\n let users: Users.FindAll.Response['data']['results'] = [];\n\n if (res.data) {\n if ('results' in res.data) {\n if (Array.isArray(res.data.results)) {\n users = res.data.results;\n }\n } else {\n users = [res.data];\n }\n }\n\n return {\n users,\n pagination: 'pagination' in res.data ? res.data.pagination : null,\n };\n },\n providesTags: (res, _err, arg) => {\n if (typeof arg === 'object' && 'id' in arg) {\n return [{ type: 'User' as const, id: arg.id }];\n } else {\n return [\n ...(res?.users.map(({ id }) => ({ type: 'User' as const, id })) ?? []),\n { type: 'User' as const, id: 'LIST' },\n ];\n }\n },\n }),\n deleteManyUsers: builder.mutation<\n Users.DeleteMany.Response['data'],\n Users.DeleteMany.Request['body']\n >({\n query: (body) => ({\n url: '/admin/users/batch-delete',\n method: 'POST',\n data: body,\n }),\n transformResponse: (res: Users.DeleteMany.Response) => res.data,\n invalidatesTags: ['LicenseLimits', { type: 'User', id: 'LIST' }, 'HomepageKeyStatistics'],\n }),\n /**\n * roles\n */\n createRole: builder.mutation<Roles.Create.Response['data'], Roles.Create.Request['body']>({\n query: (body) => ({\n url: '/admin/roles',\n method: 'POST',\n data: body,\n }),\n transformResponse: (res: Roles.Create.Response) => res.data,\n invalidatesTags: [{ type: 'Role', id: 'LIST' }],\n }),\n getRoles: builder.query<Roles.FindRoles.Response['data'], GetRolesParams | void>({\n query: ({ id, ...params } = {}) => ({\n url: `/admin/roles/${id ?? ''}`,\n method: 'GET',\n config: {\n params,\n },\n }),\n transformResponse: (res: Roles.FindRole.Response | Roles.FindRoles.Response) => {\n let roles: Roles.FindRoles.Response['data'] = [];\n\n if (res.data) {\n if (Array.isArray(res.data)) {\n roles = res.data;\n } else {\n roles = [res.data];\n }\n }\n\n return roles;\n },\n providesTags: (res, _err, arg) => {\n if (typeof arg === 'object' && 'id' in arg) {\n return [{ type: 'Role' as const, id: arg.id }];\n } else {\n return [\n ...(res?.map(({ id }) => ({ type: 'Role' as const, id })) ?? []),\n { type: 'Role' as const, id: 'LIST' },\n ];\n }\n },\n }),\n updateRole: builder.mutation<\n Roles.Update.Response['data'],\n Roles.Update.Request['body'] & Roles.Update.Request['params']\n >({\n query: ({ id, ...body }) => ({\n url: `/admin/roles/${id}`,\n method: 'PUT',\n data: body,\n }),\n transformResponse: (res: Roles.Create.Response) => res.data,\n invalidatesTags: (_res, _err, { id }) => [{ type: 'Role' as const, id }],\n }),\n getRolePermissions: builder.query<\n Roles.GetPermissions.Response['data'],\n GetRolePermissionsParams\n >({\n query: ({ id, ...params }) => ({\n url: `/admin/roles/${id}/permissions`,\n method: 'GET',\n config: {\n params,\n },\n }),\n transformResponse: (res: Roles.GetPermissions.Response) => res.data,\n providesTags: (_res, _err, { id }) => [{ type: 'RolePermissions' as const, id }],\n }),\n updateRolePermissions: builder.mutation<\n Roles.UpdatePermissions.Response['data'],\n Roles.UpdatePermissions.Request['body'] & Roles.UpdatePermissions.Request['params']\n >({\n query: ({ id, ...body }) => ({\n url: `/admin/roles/${id}/permissions`,\n method: 'PUT',\n data: body,\n }),\n transformResponse: (res: Roles.UpdatePermissions.Response) => res.data,\n invalidatesTags: (_res, _err, { id }) => [{ type: 'RolePermissions' as const, id }],\n }),\n /**\n * Permissions\n */\n getRolePermissionLayout: builder.query<\n Permissions.GetAll.Response['data'],\n Permissions.GetAll.Request['params']\n >({\n query: (params) => ({\n url: '/admin/permissions',\n method: 'GET',\n config: {\n params,\n },\n }),\n transformResponse: (res: Permissions.GetAll.Response) => res.data,\n }),\n }),\n overrideExisting: false,\n });\n\ntype GetUsersParams =\n | Users.FindOne.Params\n | (Users.FindAll.Request['query'] & { id?: never })\n | void;\ntype GetRolesParams =\n | Roles.FindRole.Request['params']\n | (Roles.FindRoles.Request['query'] & { id?: never });\ninterface GetRolePermissionsParams {\n id: Data.ID;\n}\n\nconst {\n useCreateUserMutation,\n useGetUsersQuery,\n useUpdateUserMutation,\n useDeleteManyUsersMutation,\n useGetRolesQuery,\n useCreateRoleMutation,\n useUpdateRoleMutation,\n useGetRolePermissionsQuery,\n useGetRolePermissionLayoutQuery,\n useUpdateRolePermissionsMutation,\n} = usersService;\n\nconst useAdminUsers = useGetUsersQuery;\n\nexport {\n useUpdateUserMutation,\n useGetRolesQuery,\n useAdminUsers,\n useDeleteManyUsersMutation,\n useCreateUserMutation,\n useGetRolePermissionsQuery,\n useGetRolePermissionLayoutQuery,\n useCreateRoleMutation,\n useUpdateRolePermissionsMutation,\n useUpdateRoleMutation,\n};\nexport type { GetRolesParams, GetUsersParams, GetRolePermissionsParams };\n"],"names":["usersService","adminApi","enhanceEndpoints","addTagTypes","injectEndpoints","endpoints","builder","createUser","mutation","query","body","url","method","data","transformResponse","response","invalidatesTags","type","id","updateUser","_res","_err","getUsers","params","config","res","users","Array","isArray","results","pagination","providesTags","arg","map","deleteManyUsers","createRole","getRoles","roles","updateRole","getRolePermissions","updateRolePermissions","getRolePermissionLayout","overrideExisting","useCreateUserMutation","useGetUsersQuery","useUpdateUserMutation","useDeleteManyUsersMutation","useGetRolesQuery","useCreateRoleMutation","useUpdateRoleMutation","useGetRolePermissionsQuery","useGetRolePermissionLayoutQuery","useUpdateRolePermissionsMutation","useAdminUsers"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"webhooks.js","sources":["../../../../../admin/src/services/webhooks.ts"],"sourcesContent":["import * as Webhooks from '../../../shared/contracts/webhooks';\n\nimport { adminApi } from './api';\n\nconst webhooksSerivce = adminApi\n .enhanceEndpoints({\n addTagTypes: ['Webhook'],\n })\n .injectEndpoints({\n endpoints: (builder) => ({\n getWebhooks: builder.query<\n Webhooks.GetWebhooks.Response['data'],\n Webhooks.GetWebhook.Params | void\n >({\n query: (args) => ({\n url: `/admin/webhooks/${args?.id ?? ''}`,\n method: 'GET',\n }),\n transformResponse: (\n response: Webhooks.GetWebhooks.Response | Webhooks.GetWebhook.Response\n ) => {\n if (Array.isArray(response.data)) {\n return response.data;\n } else {\n return [response.data];\n }\n },\n providesTags: (res, _err, arg) => {\n if (typeof arg === 'object' && 'id' in arg) {\n return [{ type: 'Webhook' as const, id: arg.id }];\n } else {\n return [\n ...(res?.map(({ id }) => ({ type: 'Webhook' as const, id })) ?? []),\n { type: 'Webhook' as const, id: 'LIST' },\n ];\n }\n },\n }),\n createWebhook: builder.mutation<\n Webhooks.CreateWebhook.Response['data'],\n Omit<Webhooks.CreateWebhook.Request['body'], 'id' | 'isEnabled'>\n >({\n query: (body) => ({\n url: `/admin/webhooks`,\n method: 'POST',\n data: body,\n }),\n transformResponse: (response: Webhooks.CreateWebhook.Response) => response.data,\n invalidatesTags: [{ type: 'Webhook', id: 'LIST' }, 'HomepageKeyStatistics'],\n }),\n updateWebhook: builder.mutation<\n Webhooks.UpdateWebhook.Response['data'],\n Webhooks.UpdateWebhook.Request['body'] & Webhooks.UpdateWebhook.Params\n >({\n query: ({ id, ...body }) => ({\n url: `/admin/webhooks/${id}`,\n method: 'PUT',\n data: body,\n }),\n transformResponse: (response: Webhooks.UpdateWebhook.Response) => response.data,\n invalidatesTags: (_res, _err, { id }) => [{ type: 'Webhook', id }],\n }),\n triggerWebhook: builder.mutation<\n Webhooks.TriggerWebhook.Response['data'],\n Webhooks.TriggerWebhook.Params['id']\n >({\n query: (webhookId) => ({\n url: `/admin/webhooks/${webhookId}/trigger`,\n method: 'POST',\n }),\n transformResponse: (response: Webhooks.TriggerWebhook.Response) => response.data,\n }),\n deleteManyWebhooks: builder.mutation<\n Webhooks.DeleteWebhooks.Response['data'],\n Webhooks.DeleteWebhooks.Request['body']\n >({\n query: (body) => ({\n url: `/admin/webhooks/batch-delete`,\n method: 'POST',\n data: body,\n }),\n transformResponse: (response: Webhooks.DeleteWebhooks.Response) => response.data,\n invalidatesTags: (_res, _err, { ids }) => [\n ...ids.map((id) => ({ type: 'Webhook' as const, id })),\n 'HomepageKeyStatistics',\n ],\n }),\n }),\n overrideExisting: false,\n });\n\nconst {\n useGetWebhooksQuery,\n useCreateWebhookMutation,\n useUpdateWebhookMutation,\n useTriggerWebhookMutation,\n useDeleteManyWebhooksMutation,\n} = webhooksSerivce;\n\nexport {\n useGetWebhooksQuery,\n useCreateWebhookMutation,\n useUpdateWebhookMutation,\n useTriggerWebhookMutation,\n useDeleteManyWebhooksMutation,\n};\n"],"names":["webhooksSerivce","adminApi","enhanceEndpoints","addTagTypes","injectEndpoints","endpoints","builder","getWebhooks","query","args","url","id","method","transformResponse","response","Array","isArray","data","providesTags","res","_err","arg","type","map","createWebhook","mutation","body","invalidatesTags","updateWebhook","_res","triggerWebhook","webhookId","deleteManyWebhooks","ids","overrideExisting","useGetWebhooksQuery","useCreateWebhookMutation","useUpdateWebhookMutation","useTriggerWebhookMutation","useDeleteManyWebhooksMutation"],"mappings":"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"}
1
+ {"version":3,"file":"webhooks.js","sources":["../../../../../admin/src/services/webhooks.ts"],"sourcesContent":["import * as Webhooks from '../../../shared/contracts/webhooks';\n\nimport { adminApi } from './api';\n\nconst webhooksSerivce = adminApi\n .enhanceEndpoints({\n addTagTypes: ['Webhook'],\n })\n .injectEndpoints({\n endpoints: (builder) => ({\n getWebhooks: builder.query<\n Webhooks.GetWebhooks.Response['data'],\n Webhooks.GetWebhook.Params | void\n >({\n query: (args) => ({\n url: `/admin/webhooks/${args?.id ?? ''}`,\n method: 'GET',\n }),\n transformResponse: (\n response: Webhooks.GetWebhooks.Response | Webhooks.GetWebhook.Response\n ) => {\n if (Array.isArray(response.data)) {\n return response.data;\n } else {\n return [response.data];\n }\n },\n providesTags: (res, _err, arg) => {\n if (typeof arg === 'object' && 'id' in arg) {\n return [{ type: 'Webhook' as const, id: arg.id }];\n } else {\n return [\n ...(res?.map(({ id }) => ({ type: 'Webhook' as const, id })) ?? []),\n { type: 'Webhook' as const, id: 'LIST' },\n ];\n }\n },\n }),\n createWebhook: builder.mutation<\n Webhooks.CreateWebhook.Response['data'],\n Omit<Webhooks.CreateWebhook.Request['body'], 'id' | 'isEnabled'>\n >({\n query: (body) => ({\n url: `/admin/webhooks`,\n method: 'POST',\n data: body,\n }),\n transformResponse: (response: Webhooks.CreateWebhook.Response) => response.data,\n invalidatesTags: [{ type: 'Webhook', id: 'LIST' }, 'HomepageKeyStatistics'],\n }),\n updateWebhook: builder.mutation<\n Webhooks.UpdateWebhook.Response['data'],\n Webhooks.UpdateWebhook.Request['body'] & Webhooks.UpdateWebhook.Params\n >({\n query: ({ id, ...body }) => ({\n url: `/admin/webhooks/${id}`,\n method: 'PUT',\n data: body,\n }),\n transformResponse: (response: Webhooks.UpdateWebhook.Response) => response.data,\n invalidatesTags: (_res, _err, { id }) => [{ type: 'Webhook', id }],\n }),\n triggerWebhook: builder.mutation<\n Webhooks.TriggerWebhook.Response['data'],\n Webhooks.TriggerWebhook.Params['id']\n >({\n query: (webhookId) => ({\n url: `/admin/webhooks/${webhookId}/trigger`,\n method: 'POST',\n }),\n transformResponse: (response: Webhooks.TriggerWebhook.Response) => response.data,\n }),\n deleteManyWebhooks: builder.mutation<\n Webhooks.DeleteWebhooks.Response['data'],\n Webhooks.DeleteWebhooks.Request['body']\n >({\n query: (body) => ({\n url: `/admin/webhooks/batch-delete`,\n method: 'POST',\n data: body,\n }),\n transformResponse: (response: Webhooks.DeleteWebhooks.Response) => response.data,\n invalidatesTags: (_res, _err, { ids }) => [\n ...ids.map((id) => ({ type: 'Webhook' as const, id })),\n 'HomepageKeyStatistics',\n ],\n }),\n }),\n overrideExisting: false,\n });\n\nconst {\n useGetWebhooksQuery,\n useCreateWebhookMutation,\n useUpdateWebhookMutation,\n useTriggerWebhookMutation,\n useDeleteManyWebhooksMutation,\n} = webhooksSerivce;\n\nexport {\n useGetWebhooksQuery,\n useCreateWebhookMutation,\n useUpdateWebhookMutation,\n useTriggerWebhookMutation,\n useDeleteManyWebhooksMutation,\n};\n"],"names":["webhooksSerivce","adminApi","enhanceEndpoints","addTagTypes","injectEndpoints","endpoints","builder","getWebhooks","query","args","url","id","method","transformResponse","response","Array","isArray","data","providesTags","res","_err","arg","type","map","createWebhook","mutation","body","invalidatesTags","updateWebhook","_res","triggerWebhook","webhookId","deleteManyWebhooks","ids","overrideExisting","useGetWebhooksQuery","useCreateWebhookMutation","useUpdateWebhookMutation","useTriggerWebhookMutation","useDeleteManyWebhooksMutation"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"webhooks.mjs","sources":["../../../../../admin/src/services/webhooks.ts"],"sourcesContent":["import * as Webhooks from '../../../shared/contracts/webhooks';\n\nimport { adminApi } from './api';\n\nconst webhooksSerivce = adminApi\n .enhanceEndpoints({\n addTagTypes: ['Webhook'],\n })\n .injectEndpoints({\n endpoints: (builder) => ({\n getWebhooks: builder.query<\n Webhooks.GetWebhooks.Response['data'],\n Webhooks.GetWebhook.Params | void\n >({\n query: (args) => ({\n url: `/admin/webhooks/${args?.id ?? ''}`,\n method: 'GET',\n }),\n transformResponse: (\n response: Webhooks.GetWebhooks.Response | Webhooks.GetWebhook.Response\n ) => {\n if (Array.isArray(response.data)) {\n return response.data;\n } else {\n return [response.data];\n }\n },\n providesTags: (res, _err, arg) => {\n if (typeof arg === 'object' && 'id' in arg) {\n return [{ type: 'Webhook' as const, id: arg.id }];\n } else {\n return [\n ...(res?.map(({ id }) => ({ type: 'Webhook' as const, id })) ?? []),\n { type: 'Webhook' as const, id: 'LIST' },\n ];\n }\n },\n }),\n createWebhook: builder.mutation<\n Webhooks.CreateWebhook.Response['data'],\n Omit<Webhooks.CreateWebhook.Request['body'], 'id' | 'isEnabled'>\n >({\n query: (body) => ({\n url: `/admin/webhooks`,\n method: 'POST',\n data: body,\n }),\n transformResponse: (response: Webhooks.CreateWebhook.Response) => response.data,\n invalidatesTags: [{ type: 'Webhook', id: 'LIST' }, 'HomepageKeyStatistics'],\n }),\n updateWebhook: builder.mutation<\n Webhooks.UpdateWebhook.Response['data'],\n Webhooks.UpdateWebhook.Request['body'] & Webhooks.UpdateWebhook.Params\n >({\n query: ({ id, ...body }) => ({\n url: `/admin/webhooks/${id}`,\n method: 'PUT',\n data: body,\n }),\n transformResponse: (response: Webhooks.UpdateWebhook.Response) => response.data,\n invalidatesTags: (_res, _err, { id }) => [{ type: 'Webhook', id }],\n }),\n triggerWebhook: builder.mutation<\n Webhooks.TriggerWebhook.Response['data'],\n Webhooks.TriggerWebhook.Params['id']\n >({\n query: (webhookId) => ({\n url: `/admin/webhooks/${webhookId}/trigger`,\n method: 'POST',\n }),\n transformResponse: (response: Webhooks.TriggerWebhook.Response) => response.data,\n }),\n deleteManyWebhooks: builder.mutation<\n Webhooks.DeleteWebhooks.Response['data'],\n Webhooks.DeleteWebhooks.Request['body']\n >({\n query: (body) => ({\n url: `/admin/webhooks/batch-delete`,\n method: 'POST',\n data: body,\n }),\n transformResponse: (response: Webhooks.DeleteWebhooks.Response) => response.data,\n invalidatesTags: (_res, _err, { ids }) => [\n ...ids.map((id) => ({ type: 'Webhook' as const, id })),\n 'HomepageKeyStatistics',\n ],\n }),\n }),\n overrideExisting: false,\n });\n\nconst {\n useGetWebhooksQuery,\n useCreateWebhookMutation,\n useUpdateWebhookMutation,\n useTriggerWebhookMutation,\n useDeleteManyWebhooksMutation,\n} = webhooksSerivce;\n\nexport {\n useGetWebhooksQuery,\n useCreateWebhookMutation,\n useUpdateWebhookMutation,\n useTriggerWebhookMutation,\n useDeleteManyWebhooksMutation,\n};\n"],"names":["webhooksSerivce","adminApi","enhanceEndpoints","addTagTypes","injectEndpoints","endpoints","builder","getWebhooks","query","args","url","id","method","transformResponse","response","Array","isArray","data","providesTags","res","_err","arg","type","map","createWebhook","mutation","body","invalidatesTags","updateWebhook","_res","triggerWebhook","webhookId","deleteManyWebhooks","ids","overrideExisting","useGetWebhooksQuery","useCreateWebhookMutation","useUpdateWebhookMutation","useTriggerWebhookMutation","useDeleteManyWebhooksMutation"],"mappings":"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"}
1
+ {"version":3,"file":"webhooks.mjs","sources":["../../../../../admin/src/services/webhooks.ts"],"sourcesContent":["import * as Webhooks from '../../../shared/contracts/webhooks';\n\nimport { adminApi } from './api';\n\nconst webhooksSerivce = adminApi\n .enhanceEndpoints({\n addTagTypes: ['Webhook'],\n })\n .injectEndpoints({\n endpoints: (builder) => ({\n getWebhooks: builder.query<\n Webhooks.GetWebhooks.Response['data'],\n Webhooks.GetWebhook.Params | void\n >({\n query: (args) => ({\n url: `/admin/webhooks/${args?.id ?? ''}`,\n method: 'GET',\n }),\n transformResponse: (\n response: Webhooks.GetWebhooks.Response | Webhooks.GetWebhook.Response\n ) => {\n if (Array.isArray(response.data)) {\n return response.data;\n } else {\n return [response.data];\n }\n },\n providesTags: (res, _err, arg) => {\n if (typeof arg === 'object' && 'id' in arg) {\n return [{ type: 'Webhook' as const, id: arg.id }];\n } else {\n return [\n ...(res?.map(({ id }) => ({ type: 'Webhook' as const, id })) ?? []),\n { type: 'Webhook' as const, id: 'LIST' },\n ];\n }\n },\n }),\n createWebhook: builder.mutation<\n Webhooks.CreateWebhook.Response['data'],\n Omit<Webhooks.CreateWebhook.Request['body'], 'id' | 'isEnabled'>\n >({\n query: (body) => ({\n url: `/admin/webhooks`,\n method: 'POST',\n data: body,\n }),\n transformResponse: (response: Webhooks.CreateWebhook.Response) => response.data,\n invalidatesTags: [{ type: 'Webhook', id: 'LIST' }, 'HomepageKeyStatistics'],\n }),\n updateWebhook: builder.mutation<\n Webhooks.UpdateWebhook.Response['data'],\n Webhooks.UpdateWebhook.Request['body'] & Webhooks.UpdateWebhook.Params\n >({\n query: ({ id, ...body }) => ({\n url: `/admin/webhooks/${id}`,\n method: 'PUT',\n data: body,\n }),\n transformResponse: (response: Webhooks.UpdateWebhook.Response) => response.data,\n invalidatesTags: (_res, _err, { id }) => [{ type: 'Webhook', id }],\n }),\n triggerWebhook: builder.mutation<\n Webhooks.TriggerWebhook.Response['data'],\n Webhooks.TriggerWebhook.Params['id']\n >({\n query: (webhookId) => ({\n url: `/admin/webhooks/${webhookId}/trigger`,\n method: 'POST',\n }),\n transformResponse: (response: Webhooks.TriggerWebhook.Response) => response.data,\n }),\n deleteManyWebhooks: builder.mutation<\n Webhooks.DeleteWebhooks.Response['data'],\n Webhooks.DeleteWebhooks.Request['body']\n >({\n query: (body) => ({\n url: `/admin/webhooks/batch-delete`,\n method: 'POST',\n data: body,\n }),\n transformResponse: (response: Webhooks.DeleteWebhooks.Response) => response.data,\n invalidatesTags: (_res, _err, { ids }) => [\n ...ids.map((id) => ({ type: 'Webhook' as const, id })),\n 'HomepageKeyStatistics',\n ],\n }),\n }),\n overrideExisting: false,\n });\n\nconst {\n useGetWebhooksQuery,\n useCreateWebhookMutation,\n useUpdateWebhookMutation,\n useTriggerWebhookMutation,\n useDeleteManyWebhooksMutation,\n} = webhooksSerivce;\n\nexport {\n useGetWebhooksQuery,\n useCreateWebhookMutation,\n useUpdateWebhookMutation,\n useTriggerWebhookMutation,\n useDeleteManyWebhooksMutation,\n};\n"],"names":["webhooksSerivce","adminApi","enhanceEndpoints","addTagTypes","injectEndpoints","endpoints","builder","getWebhooks","query","args","url","id","method","transformResponse","response","Array","isArray","data","providesTags","res","_err","arg","type","map","createWebhook","mutation","body","invalidatesTags","updateWebhook","_res","triggerWebhook","webhookId","deleteManyWebhooks","ids","overrideExisting","useGetWebhooksQuery","useCreateWebhookMutation","useUpdateWebhookMutation","useTriggerWebhookMutation","useDeleteManyWebhooksMutation"],"mappings":"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"}
@@ -693,6 +693,10 @@ var en = {
693
693
  "components.Blocks.popover.text.placeholder": "Enter link text",
694
694
  "components.Blocks.popover.link": "Link",
695
695
  "components.Blocks.popover.link.placeholder": "Paste link",
696
+ "components.Blocks.popover.link.rel": "Rel (optional)",
697
+ "components.Blocks.popover.link.rel.placeholder": "noopener, nofollow, noreferrer",
698
+ "components.Blocks.popover.link.target": "Target (optional)",
699
+ "components.Blocks.popover.link.target.placeholder": "_blank, _self, _parent, _top",
696
700
  "components.Blocks.popover.link.error": "Please enter valid link",
697
701
  "components.Blocks.popover.remove": "Remove",
698
702
  "components.Blocks.popover.edit": "Edit",
@@ -1 +1 @@
1
- {"version":3,"file":"en.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"en.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -689,6 +689,10 @@ var en = {
689
689
  "components.Blocks.popover.text.placeholder": "Enter link text",
690
690
  "components.Blocks.popover.link": "Link",
691
691
  "components.Blocks.popover.link.placeholder": "Paste link",
692
+ "components.Blocks.popover.link.rel": "Rel (optional)",
693
+ "components.Blocks.popover.link.rel.placeholder": "noopener, nofollow, noreferrer",
694
+ "components.Blocks.popover.link.target": "Target (optional)",
695
+ "components.Blocks.popover.link.target.placeholder": "_blank, _self, _parent, _top",
692
696
  "components.Blocks.popover.link.error": "Please enter valid link",
693
697
  "components.Blocks.popover.remove": "Remove",
694
698
  "components.Blocks.popover.edit": "Edit",
@@ -1 +1 @@
1
- {"version":3,"file":"en.json.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"en.json.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"cookies.js","sources":["../../../../../admin/src/utils/cookies.ts"],"sourcesContent":["/**\n * Retrieves the value of a specified cookie.\n *\n * @param name - The name of the cookie to retrieve.\n * @returns The decoded cookie value if found, otherwise null.\n */\nexport const getCookieValue = (name: string): string | null => {\n let result = null;\n const cookieArray = document.cookie.split(';');\n cookieArray.forEach((cookie) => {\n const [key, value] = cookie.split('=').map((item) => item.trim());\n if (key === name) {\n result = decodeURIComponent(value);\n }\n });\n return result;\n};\n\n/**\n * Sets a cookie with the given name, value, and optional expiration time.\n *\n * @param name - The name of the cookie.\n * @param value - The value of the cookie.\n * @param days - (Optional) Number of days until the cookie expires. If omitted, the cookie is a session cookie.\n */\nexport const setCookie = (name: string, value: string, days?: number): void => {\n let expires = '';\n if (days) {\n const date = new Date();\n date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);\n expires = `; Expires=${date.toUTCString()}`;\n }\n document.cookie = `${name}=${encodeURIComponent(value)}; Path=/${expires}`;\n};\n\n/**\n * Deletes a cookie by setting its expiration date to a past date.\n *\n * @param name - The name of the cookie to delete.\n */\nexport const deleteCookie = (name: string): void => {\n document.cookie = `${name}=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;`;\n};\n"],"names":["getCookieValue","name","result","cookieArray","document","cookie","split","forEach","key","value","map","item","trim","decodeURIComponent","setCookie","days","expires","encodeURIComponent","deleteCookie"],"mappings":";;AAAA;;;;;IAMaA,MAAAA,cAAAA,GAAiB,CAACC,IAAAA,GAAAA;AAC7B,IAAA,IAAIC,MAAS,GAAA,IAAA;AACb,IAAA,MAAMC,WAAcC,GAAAA,QAAAA,CAASC,MAAM,CAACC,KAAK,CAAC,GAAA,CAAA;IAC1CH,WAAYI,CAAAA,OAAO,CAAC,CAACF,MAAAA,GAAAA;AACnB,QAAA,MAAM,CAACG,GAAAA,EAAKC,KAAM,CAAA,GAAGJ,MAAOC,CAAAA,KAAK,CAAC,GAAA,CAAA,CAAKI,GAAG,CAAC,CAACC,IAAAA,GAASA,KAAKC,IAAI,EAAA,CAAA;AAC9D,QAAA,IAAIJ,QAAQP,IAAM,EAAA;AAChBC,YAAAA,MAAAA,GAASW,kBAAmBJ,CAAAA,KAAAA,CAAAA;AAC9B;AACF,KAAA,CAAA;IACA,OAAOP,MAAAA;AACT;AAEA;;;;;;AAMC,IACM,MAAMY,SAAY,GAAA,CAACb,MAAcQ,KAAeM,EAAAA,IAAAA,GAAAA;AACrD,IAAA,IAAIC,OAAU,GAAA,EAAA;AAMdZ,IAAAA,QAAAA,CAASC,MAAM,GAAG,CAAC,EAAEJ,IAAK,CAAA,CAAC,EAAEgB,kBAAAA,CAAmBR,KAAO,CAAA,CAAA,QAAQ,EAAEO,OAAAA,CAAQ,CAAC;AAC5E;AAEA;;;;IAKaE,MAAAA,YAAAA,GAAe,CAACjB,IAAAA,GAAAA;AAC3BG,IAAAA,QAAAA,CAASC,MAAM,GAAG,CAAC,EAAEJ,IAAAA,CAAK,iDAAiD,CAAC;AAC9E;;;;;;"}
1
+ {"version":3,"file":"cookies.js","sources":["../../../../../admin/src/utils/cookies.ts"],"sourcesContent":["/**\n * Retrieves the value of a specified cookie.\n *\n * @param name - The name of the cookie to retrieve.\n * @returns The decoded cookie value if found, otherwise null.\n */\nexport const getCookieValue = (name: string): string | null => {\n let result = null;\n const cookieArray = document.cookie.split(';');\n cookieArray.forEach((cookie) => {\n const [key, value] = cookie.split('=').map((item) => item.trim());\n if (key === name) {\n result = decodeURIComponent(value);\n }\n });\n return result;\n};\n\n/**\n * Sets a cookie with the given name, value, and optional expiration time.\n *\n * @param name - The name of the cookie.\n * @param value - The value of the cookie.\n * @param days - (Optional) Number of days until the cookie expires. If omitted, the cookie is a session cookie.\n */\nexport const setCookie = (name: string, value: string, days?: number): void => {\n let expires = '';\n if (days) {\n const date = new Date();\n date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);\n expires = `; Expires=${date.toUTCString()}`;\n }\n document.cookie = `${name}=${encodeURIComponent(value)}; Path=/${expires}`;\n};\n\n/**\n * Deletes a cookie by setting its expiration date to a past date.\n *\n * @param name - The name of the cookie to delete.\n */\nexport const deleteCookie = (name: string): void => {\n document.cookie = `${name}=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;`;\n};\n"],"names":["getCookieValue","name","result","cookieArray","document","cookie","split","forEach","key","value","map","item","trim","decodeURIComponent","setCookie","days","expires","encodeURIComponent","deleteCookie"],"mappings":";;AAAA;;;;;IAMaA,MAAAA,cAAAA,GAAiB,CAACC,IAAAA,GAAAA;AAC7B,IAAA,IAAIC,MAAS,GAAA,IAAA;AACb,IAAA,MAAMC,WAAcC,GAAAA,QAAAA,CAASC,MAAM,CAACC,KAAK,CAAC,GAAA,CAAA;IAC1CH,WAAYI,CAAAA,OAAO,CAAC,CAACF,MAAAA,GAAAA;AACnB,QAAA,MAAM,CAACG,GAAAA,EAAKC,KAAM,CAAA,GAAGJ,MAAOC,CAAAA,KAAK,CAAC,GAAA,CAAA,CAAKI,GAAG,CAAC,CAACC,IAAAA,GAASA,KAAKC,IAAI,EAAA,CAAA;AAC9D,QAAA,IAAIJ,QAAQP,IAAM,EAAA;AAChBC,YAAAA,MAAAA,GAASW,kBAAmBJ,CAAAA,KAAAA,CAAAA;AAC9B;AACF,KAAA,CAAA;IACA,OAAOP,MAAAA;AACT;AAEA;;;;;;AAMC,IACM,MAAMY,SAAY,GAAA,CAACb,MAAcQ,KAAeM,EAAAA,IAAAA,GAAAA;AACrD,IAAA,IAAIC,OAAU,GAAA,EAAA;IAMdZ,QAASC,CAAAA,MAAM,GAAG,CAAA,EAAGJ,IAAK,CAAA,CAAC,EAAEgB,kBAAmBR,CAAAA,KAAAA,CAAAA,CAAO,QAAQ,EAAEO,OAAS,CAAA,CAAA;AAC5E;AAEA;;;;IAKaE,MAAAA,YAAAA,GAAe,CAACjB,IAAAA,GAAAA;AAC3BG,IAAAA,QAAAA,CAASC,MAAM,GAAG,CAAGJ,EAAAA,IAAAA,CAAK,iDAAiD,CAAC;AAC9E;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"cookies.mjs","sources":["../../../../../admin/src/utils/cookies.ts"],"sourcesContent":["/**\n * Retrieves the value of a specified cookie.\n *\n * @param name - The name of the cookie to retrieve.\n * @returns The decoded cookie value if found, otherwise null.\n */\nexport const getCookieValue = (name: string): string | null => {\n let result = null;\n const cookieArray = document.cookie.split(';');\n cookieArray.forEach((cookie) => {\n const [key, value] = cookie.split('=').map((item) => item.trim());\n if (key === name) {\n result = decodeURIComponent(value);\n }\n });\n return result;\n};\n\n/**\n * Sets a cookie with the given name, value, and optional expiration time.\n *\n * @param name - The name of the cookie.\n * @param value - The value of the cookie.\n * @param days - (Optional) Number of days until the cookie expires. If omitted, the cookie is a session cookie.\n */\nexport const setCookie = (name: string, value: string, days?: number): void => {\n let expires = '';\n if (days) {\n const date = new Date();\n date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);\n expires = `; Expires=${date.toUTCString()}`;\n }\n document.cookie = `${name}=${encodeURIComponent(value)}; Path=/${expires}`;\n};\n\n/**\n * Deletes a cookie by setting its expiration date to a past date.\n *\n * @param name - The name of the cookie to delete.\n */\nexport const deleteCookie = (name: string): void => {\n document.cookie = `${name}=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;`;\n};\n"],"names":["getCookieValue","name","result","cookieArray","document","cookie","split","forEach","key","value","map","item","trim","decodeURIComponent","setCookie","days","expires","encodeURIComponent","deleteCookie"],"mappings":"AAAA;;;;;IAMaA,MAAAA,cAAAA,GAAiB,CAACC,IAAAA,GAAAA;AAC7B,IAAA,IAAIC,MAAS,GAAA,IAAA;AACb,IAAA,MAAMC,WAAcC,GAAAA,QAAAA,CAASC,MAAM,CAACC,KAAK,CAAC,GAAA,CAAA;IAC1CH,WAAYI,CAAAA,OAAO,CAAC,CAACF,MAAAA,GAAAA;AACnB,QAAA,MAAM,CAACG,GAAAA,EAAKC,KAAM,CAAA,GAAGJ,MAAOC,CAAAA,KAAK,CAAC,GAAA,CAAA,CAAKI,GAAG,CAAC,CAACC,IAAAA,GAASA,KAAKC,IAAI,EAAA,CAAA;AAC9D,QAAA,IAAIJ,QAAQP,IAAM,EAAA;AAChBC,YAAAA,MAAAA,GAASW,kBAAmBJ,CAAAA,KAAAA,CAAAA;AAC9B;AACF,KAAA,CAAA;IACA,OAAOP,MAAAA;AACT;AAEA;;;;;;AAMC,IACM,MAAMY,SAAY,GAAA,CAACb,MAAcQ,KAAeM,EAAAA,IAAAA,GAAAA;AACrD,IAAA,IAAIC,OAAU,GAAA,EAAA;AAMdZ,IAAAA,QAAAA,CAASC,MAAM,GAAG,CAAC,EAAEJ,IAAK,CAAA,CAAC,EAAEgB,kBAAAA,CAAmBR,KAAO,CAAA,CAAA,QAAQ,EAAEO,OAAAA,CAAQ,CAAC;AAC5E;AAEA;;;;IAKaE,MAAAA,YAAAA,GAAe,CAACjB,IAAAA,GAAAA;AAC3BG,IAAAA,QAAAA,CAASC,MAAM,GAAG,CAAC,EAAEJ,IAAAA,CAAK,iDAAiD,CAAC;AAC9E;;;;"}
1
+ {"version":3,"file":"cookies.mjs","sources":["../../../../../admin/src/utils/cookies.ts"],"sourcesContent":["/**\n * Retrieves the value of a specified cookie.\n *\n * @param name - The name of the cookie to retrieve.\n * @returns The decoded cookie value if found, otherwise null.\n */\nexport const getCookieValue = (name: string): string | null => {\n let result = null;\n const cookieArray = document.cookie.split(';');\n cookieArray.forEach((cookie) => {\n const [key, value] = cookie.split('=').map((item) => item.trim());\n if (key === name) {\n result = decodeURIComponent(value);\n }\n });\n return result;\n};\n\n/**\n * Sets a cookie with the given name, value, and optional expiration time.\n *\n * @param name - The name of the cookie.\n * @param value - The value of the cookie.\n * @param days - (Optional) Number of days until the cookie expires. If omitted, the cookie is a session cookie.\n */\nexport const setCookie = (name: string, value: string, days?: number): void => {\n let expires = '';\n if (days) {\n const date = new Date();\n date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);\n expires = `; Expires=${date.toUTCString()}`;\n }\n document.cookie = `${name}=${encodeURIComponent(value)}; Path=/${expires}`;\n};\n\n/**\n * Deletes a cookie by setting its expiration date to a past date.\n *\n * @param name - The name of the cookie to delete.\n */\nexport const deleteCookie = (name: string): void => {\n document.cookie = `${name}=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;`;\n};\n"],"names":["getCookieValue","name","result","cookieArray","document","cookie","split","forEach","key","value","map","item","trim","decodeURIComponent","setCookie","days","expires","encodeURIComponent","deleteCookie"],"mappings":"AAAA;;;;;IAMaA,MAAAA,cAAAA,GAAiB,CAACC,IAAAA,GAAAA;AAC7B,IAAA,IAAIC,MAAS,GAAA,IAAA;AACb,IAAA,MAAMC,WAAcC,GAAAA,QAAAA,CAASC,MAAM,CAACC,KAAK,CAAC,GAAA,CAAA;IAC1CH,WAAYI,CAAAA,OAAO,CAAC,CAACF,MAAAA,GAAAA;AACnB,QAAA,MAAM,CAACG,GAAAA,EAAKC,KAAM,CAAA,GAAGJ,MAAOC,CAAAA,KAAK,CAAC,GAAA,CAAA,CAAKI,GAAG,CAAC,CAACC,IAAAA,GAASA,KAAKC,IAAI,EAAA,CAAA;AAC9D,QAAA,IAAIJ,QAAQP,IAAM,EAAA;AAChBC,YAAAA,MAAAA,GAASW,kBAAmBJ,CAAAA,KAAAA,CAAAA;AAC9B;AACF,KAAA,CAAA;IACA,OAAOP,MAAAA;AACT;AAEA;;;;;;AAMC,IACM,MAAMY,SAAY,GAAA,CAACb,MAAcQ,KAAeM,EAAAA,IAAAA,GAAAA;AACrD,IAAA,IAAIC,OAAU,GAAA,EAAA;IAMdZ,QAASC,CAAAA,MAAM,GAAG,CAAA,EAAGJ,IAAK,CAAA,CAAC,EAAEgB,kBAAmBR,CAAAA,KAAAA,CAAAA,CAAO,QAAQ,EAAEO,OAAS,CAAA,CAAA;AAC5E;AAEA;;;;IAKaE,MAAAA,YAAAA,GAAe,CAACjB,IAAAA,GAAAA;AAC3BG,IAAAA,QAAAA,CAASC,MAAM,GAAG,CAAGJ,EAAAA,IAAAA,CAAK,iDAAiD,CAAC;AAC9E;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"getFetchClient.js","sources":["../../../../../admin/src/utils/getFetchClient.ts"],"sourcesContent":["import pipe from 'lodash/fp/pipe';\nimport qs from 'qs';\n\nimport { getCookieValue } from './cookies';\n\nimport type { errors } from '@strapi/utils';\n\nexport type ApiError =\n | errors.ApplicationError\n | errors.ForbiddenError\n | errors.NotFoundError\n | errors.NotImplementedError\n | errors.PaginationError\n | errors.PayloadTooLargeError\n | errors.PolicyError\n | errors.RateLimitError\n | errors.UnauthorizedError\n | errors.ValidationError\n | errors.YupValidationError;\n\nconst STORAGE_KEYS = {\n TOKEN: 'jwtToken',\n USER: 'userInfo',\n};\n\ntype FetchResponse<TData = any> = {\n data: TData;\n status?: number;\n};\n\ntype FetchOptions = {\n params?: any;\n signal?: AbortSignal;\n headers?: Record<string, string>;\n validateStatus?: ((status: number) => boolean) | null;\n};\n\ntype FetchConfig = {\n signal?: AbortSignal;\n};\n\ninterface ErrorResponse {\n data: {\n data?: any;\n error: ApiError & { status?: number };\n };\n}\n\nclass FetchError extends Error {\n public name: string;\n public message: string;\n public response?: ErrorResponse;\n public code?: number;\n public status?: number;\n\n constructor(message: string, response?: ErrorResponse) {\n super(message);\n this.name = 'FetchError';\n this.message = message;\n this.response = response;\n this.code = response?.data?.error?.status;\n this.status = response?.data?.error?.status;\n\n // Ensure correct stack trace in error object\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, FetchError);\n }\n }\n}\n\nconst isFetchError = (error: unknown): error is FetchError => {\n return error instanceof FetchError;\n};\n\nconst getToken = (): string | null => {\n const fromLocalStorage = localStorage.getItem(STORAGE_KEYS.TOKEN);\n if (fromLocalStorage) {\n return JSON.parse(fromLocalStorage);\n }\n\n const fromCookie = getCookieValue(STORAGE_KEYS.TOKEN);\n return fromCookie ?? null;\n};\n\ntype FetchClient = {\n get: <TData = any>(url: string, config?: FetchOptions) => Promise<FetchResponse<TData>>;\n put: <TData = any, TSend = any>(\n url: string,\n data?: TSend,\n config?: FetchOptions\n ) => Promise<FetchResponse<TData>>;\n post: <TData = any, TSend = any>(\n url: string,\n data?: TSend,\n config?: FetchOptions\n ) => Promise<FetchResponse<TData>>;\n del: <TData = any>(url: string, config?: FetchOptions) => Promise<FetchResponse<TData>>;\n};\n\n/**\n * @public\n * @param {FetchConfig} [defaultOptions={}] - Fetch Configs.\n * @returns {FetchClient} A fetch client object with methods for making HTTP requests.\n * @description This is an abstraction around the native fetch exposed by a function. It provides a simple interface to handle API calls\n * to the Strapi backend.\n * @example\n * ```tsx\n * import { getFetchClient } from '@strapi/admin/admin';\n *\n * const myFunct = () => {\n * const { get } = getFetchClient();\n * const requestURL = \"/some-endpoint\";\n *\n * const { data } = await get(requestURL);\n *\n * return data;\n * };\n * ```\n */\nconst getFetchClient = (defaultOptions: FetchConfig = {}): FetchClient => {\n const backendURL = window.strapi.backendURL;\n const defaultHeader = {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${getToken()}`,\n };\n\n const isFormDataRequest = (body: unknown) => body instanceof FormData;\n const addPrependingSlash = (url: string) => (url.charAt(0) !== '/' ? `/${url}` : url);\n\n // This regular expression matches a string that starts with either \"http://\" or \"https://\" or any other protocol name in lower case letters, followed by \"://\" and ends with anything else\n const hasProtocol = (url: string) => new RegExp('^(?:[a-z+]+:)?//', 'i').test(url);\n\n // Check if the url has a prepending slash, if not add a slash\n const normalizeUrl = (url: string) => (hasProtocol(url) ? url : addPrependingSlash(url));\n\n // Add a response interceptor to return the response\n const responseInterceptor = async <TData = any>(\n response: Response,\n validateStatus?: FetchOptions['validateStatus']\n ): Promise<FetchResponse<TData>> => {\n try {\n const result = await response.json();\n\n /**\n * validateStatus allows us to customize when a response should throw an error\n * In native Fetch API, a response is considered \"not ok\"\n * when the status code falls in the 200 to 299 (inclusive) range\n */\n if (!response.ok && result.error && !validateStatus?.(response.status)) {\n throw new FetchError(result.error.message, { data: result });\n }\n\n if (!response.ok && !validateStatus?.(response.status)) {\n throw new FetchError('Unknown Server Error');\n }\n\n return { data: result };\n } catch (error) {\n if (error instanceof SyntaxError && response.ok) {\n // Making sure that a SyntaxError doesn't throw if it's successful\n return { data: [], status: response.status } as FetchResponse<any>;\n } else {\n throw error;\n }\n }\n };\n\n const paramsSerializer =\n <Param = unknown>(params?: Param) =>\n (url: string) => {\n if (params) {\n if (typeof params === 'string') {\n return `${url}?${params}`;\n }\n\n /**\n * TODO V6: Encoding should be enabled in this step\n * So the rest of the app doesn't have to worry about it,\n * It's considered a breaking change because it impacts any API request, including the user's custom code\n */\n const serializedParams = qs.stringify(params, { encode: false });\n return `${url}?${serializedParams}`;\n }\n return url;\n };\n\n const addBaseUrl = (url: Parameters<typeof fetch>[0]) => {\n return `${backendURL}${url}`;\n };\n\n /**\n * We use the factory method because the options\n * are unique to the individual request\n */\n const makeCreateRequestUrl = (options?: FetchOptions) =>\n pipe(normalizeUrl, addBaseUrl, paramsSerializer(options?.params));\n\n const fetchClient: FetchClient = {\n get: async <TData>(url: string, options?: FetchOptions): Promise<FetchResponse<TData>> => {\n const headers = new Headers({\n ...defaultHeader,\n ...options?.headers,\n });\n /**\n * this applies all our transformations to the URL\n * - normalizing (making sure it has the correct slash)\n * - appending our BaseURL which comes from the window.strapi object\n * - serializing our params with QS\n */\n const createRequestUrl = makeCreateRequestUrl(options);\n const response = await fetch(createRequestUrl(url), {\n signal: options?.signal ?? defaultOptions.signal,\n method: 'GET',\n headers,\n });\n\n return responseInterceptor<TData>(response, options?.validateStatus);\n },\n post: async <TData, TSend = any>(\n url: string,\n data?: TSend,\n options?: FetchOptions\n ): Promise<FetchResponse<TData>> => {\n const headers = new Headers({\n ...defaultHeader,\n ...options?.headers,\n });\n\n const createRequestUrl = makeCreateRequestUrl(options);\n\n /**\n * we have to remove the Content-Type value if it was a formData request\n * the browser will automatically set the header value\n */\n if (isFormDataRequest(data)) {\n headers.delete('Content-Type');\n }\n\n const response = await fetch(createRequestUrl(url), {\n signal: options?.signal ?? defaultOptions.signal,\n method: 'POST',\n headers,\n body: isFormDataRequest(data) ? (data as FormData) : JSON.stringify(data),\n });\n return responseInterceptor<TData>(response, options?.validateStatus);\n },\n put: async <TData, TSend = any>(\n url: string,\n data?: TSend,\n options?: FetchOptions\n ): Promise<FetchResponse<TData>> => {\n const headers = new Headers({\n ...defaultHeader,\n ...options?.headers,\n });\n\n const createRequestUrl = makeCreateRequestUrl(options);\n\n /**\n * we have to remove the Content-Type value if it was a formData request\n * the browser will automatically set the header value\n */\n if (isFormDataRequest(data)) {\n headers.delete('Content-Type');\n }\n\n const response = await fetch(createRequestUrl(url), {\n signal: options?.signal ?? defaultOptions.signal,\n method: 'PUT',\n headers,\n body: isFormDataRequest(data) ? (data as FormData) : JSON.stringify(data),\n });\n\n return responseInterceptor<TData>(response, options?.validateStatus);\n },\n del: async <TData>(url: string, options?: FetchOptions): Promise<FetchResponse<TData>> => {\n const headers = new Headers({\n ...defaultHeader,\n ...options?.headers,\n });\n\n const createRequestUrl = makeCreateRequestUrl(options);\n const response = await fetch(createRequestUrl(url), {\n signal: options?.signal ?? defaultOptions.signal,\n method: 'DELETE',\n headers,\n });\n return responseInterceptor<TData>(response, options?.validateStatus);\n },\n };\n\n return fetchClient;\n};\n\nexport { getFetchClient, isFetchError, FetchError };\nexport type { FetchOptions, FetchResponse, FetchConfig, FetchClient, ErrorResponse };\n"],"names":["STORAGE_KEYS","TOKEN","USER","FetchError","Error","constructor","message","response","name","code","data","error","status","captureStackTrace","isFetchError","getToken","fromLocalStorage","localStorage","getItem","JSON","parse","fromCookie","getCookieValue","getFetchClient","defaultOptions","backendURL","window","strapi","defaultHeader","Accept","Authorization","isFormDataRequest","body","FormData","addPrependingSlash","url","charAt","hasProtocol","RegExp","test","normalizeUrl","responseInterceptor","validateStatus","result","json","ok","SyntaxError","paramsSerializer","params","serializedParams","qs","stringify","encode","addBaseUrl","makeCreateRequestUrl","options","pipe","fetchClient","get","headers","Headers","createRequestUrl","fetch","signal","method","post","delete","put","del"],"mappings":"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"}
1
+ {"version":3,"file":"getFetchClient.js","sources":["../../../../../admin/src/utils/getFetchClient.ts"],"sourcesContent":["import pipe from 'lodash/fp/pipe';\nimport qs from 'qs';\n\nimport { getCookieValue } from './cookies';\n\nimport type { errors } from '@strapi/utils';\n\nexport type ApiError =\n | errors.ApplicationError\n | errors.ForbiddenError\n | errors.NotFoundError\n | errors.NotImplementedError\n | errors.PaginationError\n | errors.PayloadTooLargeError\n | errors.PolicyError\n | errors.RateLimitError\n | errors.UnauthorizedError\n | errors.ValidationError\n | errors.YupValidationError;\n\nconst STORAGE_KEYS = {\n TOKEN: 'jwtToken',\n USER: 'userInfo',\n};\n\ntype FetchResponse<TData = any> = {\n data: TData;\n status?: number;\n};\n\ntype FetchOptions = {\n params?: any;\n signal?: AbortSignal;\n headers?: Record<string, string>;\n validateStatus?: ((status: number) => boolean) | null;\n};\n\ntype FetchConfig = {\n signal?: AbortSignal;\n};\n\ninterface ErrorResponse {\n data: {\n data?: any;\n error: ApiError & { status?: number };\n };\n}\n\nclass FetchError extends Error {\n public name: string;\n public message: string;\n public response?: ErrorResponse;\n public code?: number;\n public status?: number;\n\n constructor(message: string, response?: ErrorResponse) {\n super(message);\n this.name = 'FetchError';\n this.message = message;\n this.response = response;\n this.code = response?.data?.error?.status;\n this.status = response?.data?.error?.status;\n\n // Ensure correct stack trace in error object\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, FetchError);\n }\n }\n}\n\nconst isFetchError = (error: unknown): error is FetchError => {\n return error instanceof FetchError;\n};\n\nconst getToken = (): string | null => {\n const fromLocalStorage = localStorage.getItem(STORAGE_KEYS.TOKEN);\n if (fromLocalStorage) {\n return JSON.parse(fromLocalStorage);\n }\n\n const fromCookie = getCookieValue(STORAGE_KEYS.TOKEN);\n return fromCookie ?? null;\n};\n\ntype FetchClient = {\n get: <TData = any>(url: string, config?: FetchOptions) => Promise<FetchResponse<TData>>;\n put: <TData = any, TSend = any>(\n url: string,\n data?: TSend,\n config?: FetchOptions\n ) => Promise<FetchResponse<TData>>;\n post: <TData = any, TSend = any>(\n url: string,\n data?: TSend,\n config?: FetchOptions\n ) => Promise<FetchResponse<TData>>;\n del: <TData = any>(url: string, config?: FetchOptions) => Promise<FetchResponse<TData>>;\n};\n\n/**\n * @public\n * @param {FetchConfig} [defaultOptions={}] - Fetch Configs.\n * @returns {FetchClient} A fetch client object with methods for making HTTP requests.\n * @description This is an abstraction around the native fetch exposed by a function. It provides a simple interface to handle API calls\n * to the Strapi backend.\n * @example\n * ```tsx\n * import { getFetchClient } from '@strapi/admin/admin';\n *\n * const myFunct = () => {\n * const { get } = getFetchClient();\n * const requestURL = \"/some-endpoint\";\n *\n * const { data } = await get(requestURL);\n *\n * return data;\n * };\n * ```\n */\nconst getFetchClient = (defaultOptions: FetchConfig = {}): FetchClient => {\n const backendURL = window.strapi.backendURL;\n const defaultHeader = {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${getToken()}`,\n };\n\n const isFormDataRequest = (body: unknown) => body instanceof FormData;\n const addPrependingSlash = (url: string) => (url.charAt(0) !== '/' ? `/${url}` : url);\n\n // This regular expression matches a string that starts with either \"http://\" or \"https://\" or any other protocol name in lower case letters, followed by \"://\" and ends with anything else\n const hasProtocol = (url: string) => new RegExp('^(?:[a-z+]+:)?//', 'i').test(url);\n\n // Check if the url has a prepending slash, if not add a slash\n const normalizeUrl = (url: string) => (hasProtocol(url) ? url : addPrependingSlash(url));\n\n // Add a response interceptor to return the response\n const responseInterceptor = async <TData = any>(\n response: Response,\n validateStatus?: FetchOptions['validateStatus']\n ): Promise<FetchResponse<TData>> => {\n try {\n const result = await response.json();\n\n /**\n * validateStatus allows us to customize when a response should throw an error\n * In native Fetch API, a response is considered \"not ok\"\n * when the status code falls in the 200 to 299 (inclusive) range\n */\n if (!response.ok && result.error && !validateStatus?.(response.status)) {\n throw new FetchError(result.error.message, { data: result });\n }\n\n if (!response.ok && !validateStatus?.(response.status)) {\n throw new FetchError('Unknown Server Error');\n }\n\n return { data: result };\n } catch (error) {\n if (error instanceof SyntaxError && response.ok) {\n // Making sure that a SyntaxError doesn't throw if it's successful\n return { data: [], status: response.status } as FetchResponse<any>;\n } else {\n throw error;\n }\n }\n };\n\n const paramsSerializer =\n <Param = unknown>(params?: Param) =>\n (url: string) => {\n if (params) {\n if (typeof params === 'string') {\n return `${url}?${params}`;\n }\n\n /**\n * TODO V6: Encoding should be enabled in this step\n * So the rest of the app doesn't have to worry about it,\n * It's considered a breaking change because it impacts any API request, including the user's custom code\n */\n const serializedParams = qs.stringify(params, { encode: false });\n return `${url}?${serializedParams}`;\n }\n return url;\n };\n\n const addBaseUrl = (url: Parameters<typeof fetch>[0]) => {\n return `${backendURL}${url}`;\n };\n\n /**\n * We use the factory method because the options\n * are unique to the individual request\n */\n const makeCreateRequestUrl = (options?: FetchOptions) =>\n pipe(normalizeUrl, addBaseUrl, paramsSerializer(options?.params));\n\n const fetchClient: FetchClient = {\n get: async <TData>(url: string, options?: FetchOptions): Promise<FetchResponse<TData>> => {\n const headers = new Headers({\n ...defaultHeader,\n ...options?.headers,\n });\n /**\n * this applies all our transformations to the URL\n * - normalizing (making sure it has the correct slash)\n * - appending our BaseURL which comes from the window.strapi object\n * - serializing our params with QS\n */\n const createRequestUrl = makeCreateRequestUrl(options);\n const response = await fetch(createRequestUrl(url), {\n signal: options?.signal ?? defaultOptions.signal,\n method: 'GET',\n headers,\n });\n\n return responseInterceptor<TData>(response, options?.validateStatus);\n },\n post: async <TData, TSend = any>(\n url: string,\n data?: TSend,\n options?: FetchOptions\n ): Promise<FetchResponse<TData>> => {\n const headers = new Headers({\n ...defaultHeader,\n ...options?.headers,\n });\n\n const createRequestUrl = makeCreateRequestUrl(options);\n\n /**\n * we have to remove the Content-Type value if it was a formData request\n * the browser will automatically set the header value\n */\n if (isFormDataRequest(data)) {\n headers.delete('Content-Type');\n }\n\n const response = await fetch(createRequestUrl(url), {\n signal: options?.signal ?? defaultOptions.signal,\n method: 'POST',\n headers,\n body: isFormDataRequest(data) ? (data as FormData) : JSON.stringify(data),\n });\n return responseInterceptor<TData>(response, options?.validateStatus);\n },\n put: async <TData, TSend = any>(\n url: string,\n data?: TSend,\n options?: FetchOptions\n ): Promise<FetchResponse<TData>> => {\n const headers = new Headers({\n ...defaultHeader,\n ...options?.headers,\n });\n\n const createRequestUrl = makeCreateRequestUrl(options);\n\n /**\n * we have to remove the Content-Type value if it was a formData request\n * the browser will automatically set the header value\n */\n if (isFormDataRequest(data)) {\n headers.delete('Content-Type');\n }\n\n const response = await fetch(createRequestUrl(url), {\n signal: options?.signal ?? defaultOptions.signal,\n method: 'PUT',\n headers,\n body: isFormDataRequest(data) ? (data as FormData) : JSON.stringify(data),\n });\n\n return responseInterceptor<TData>(response, options?.validateStatus);\n },\n del: async <TData>(url: string, options?: FetchOptions): Promise<FetchResponse<TData>> => {\n const headers = new Headers({\n ...defaultHeader,\n ...options?.headers,\n });\n\n const createRequestUrl = makeCreateRequestUrl(options);\n const response = await fetch(createRequestUrl(url), {\n signal: options?.signal ?? defaultOptions.signal,\n method: 'DELETE',\n headers,\n });\n return responseInterceptor<TData>(response, options?.validateStatus);\n },\n };\n\n return fetchClient;\n};\n\nexport { getFetchClient, isFetchError, FetchError };\nexport type { FetchOptions, FetchResponse, FetchConfig, FetchClient, ErrorResponse };\n"],"names":["STORAGE_KEYS","TOKEN","USER","FetchError","Error","message","response","name","code","data","error","status","captureStackTrace","isFetchError","getToken","fromLocalStorage","localStorage","getItem","JSON","parse","fromCookie","getCookieValue","getFetchClient","defaultOptions","backendURL","window","strapi","defaultHeader","Accept","Authorization","isFormDataRequest","body","FormData","addPrependingSlash","url","charAt","hasProtocol","RegExp","test","normalizeUrl","responseInterceptor","validateStatus","result","json","ok","SyntaxError","paramsSerializer","params","serializedParams","qs","stringify","encode","addBaseUrl","makeCreateRequestUrl","options","pipe","fetchClient","get","headers","Headers","createRequestUrl","fetch","signal","method","post","delete","put","del"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"getFetchClient.mjs","sources":["../../../../../admin/src/utils/getFetchClient.ts"],"sourcesContent":["import pipe from 'lodash/fp/pipe';\nimport qs from 'qs';\n\nimport { getCookieValue } from './cookies';\n\nimport type { errors } from '@strapi/utils';\n\nexport type ApiError =\n | errors.ApplicationError\n | errors.ForbiddenError\n | errors.NotFoundError\n | errors.NotImplementedError\n | errors.PaginationError\n | errors.PayloadTooLargeError\n | errors.PolicyError\n | errors.RateLimitError\n | errors.UnauthorizedError\n | errors.ValidationError\n | errors.YupValidationError;\n\nconst STORAGE_KEYS = {\n TOKEN: 'jwtToken',\n USER: 'userInfo',\n};\n\ntype FetchResponse<TData = any> = {\n data: TData;\n status?: number;\n};\n\ntype FetchOptions = {\n params?: any;\n signal?: AbortSignal;\n headers?: Record<string, string>;\n validateStatus?: ((status: number) => boolean) | null;\n};\n\ntype FetchConfig = {\n signal?: AbortSignal;\n};\n\ninterface ErrorResponse {\n data: {\n data?: any;\n error: ApiError & { status?: number };\n };\n}\n\nclass FetchError extends Error {\n public name: string;\n public message: string;\n public response?: ErrorResponse;\n public code?: number;\n public status?: number;\n\n constructor(message: string, response?: ErrorResponse) {\n super(message);\n this.name = 'FetchError';\n this.message = message;\n this.response = response;\n this.code = response?.data?.error?.status;\n this.status = response?.data?.error?.status;\n\n // Ensure correct stack trace in error object\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, FetchError);\n }\n }\n}\n\nconst isFetchError = (error: unknown): error is FetchError => {\n return error instanceof FetchError;\n};\n\nconst getToken = (): string | null => {\n const fromLocalStorage = localStorage.getItem(STORAGE_KEYS.TOKEN);\n if (fromLocalStorage) {\n return JSON.parse(fromLocalStorage);\n }\n\n const fromCookie = getCookieValue(STORAGE_KEYS.TOKEN);\n return fromCookie ?? null;\n};\n\ntype FetchClient = {\n get: <TData = any>(url: string, config?: FetchOptions) => Promise<FetchResponse<TData>>;\n put: <TData = any, TSend = any>(\n url: string,\n data?: TSend,\n config?: FetchOptions\n ) => Promise<FetchResponse<TData>>;\n post: <TData = any, TSend = any>(\n url: string,\n data?: TSend,\n config?: FetchOptions\n ) => Promise<FetchResponse<TData>>;\n del: <TData = any>(url: string, config?: FetchOptions) => Promise<FetchResponse<TData>>;\n};\n\n/**\n * @public\n * @param {FetchConfig} [defaultOptions={}] - Fetch Configs.\n * @returns {FetchClient} A fetch client object with methods for making HTTP requests.\n * @description This is an abstraction around the native fetch exposed by a function. It provides a simple interface to handle API calls\n * to the Strapi backend.\n * @example\n * ```tsx\n * import { getFetchClient } from '@strapi/admin/admin';\n *\n * const myFunct = () => {\n * const { get } = getFetchClient();\n * const requestURL = \"/some-endpoint\";\n *\n * const { data } = await get(requestURL);\n *\n * return data;\n * };\n * ```\n */\nconst getFetchClient = (defaultOptions: FetchConfig = {}): FetchClient => {\n const backendURL = window.strapi.backendURL;\n const defaultHeader = {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${getToken()}`,\n };\n\n const isFormDataRequest = (body: unknown) => body instanceof FormData;\n const addPrependingSlash = (url: string) => (url.charAt(0) !== '/' ? `/${url}` : url);\n\n // This regular expression matches a string that starts with either \"http://\" or \"https://\" or any other protocol name in lower case letters, followed by \"://\" and ends with anything else\n const hasProtocol = (url: string) => new RegExp('^(?:[a-z+]+:)?//', 'i').test(url);\n\n // Check if the url has a prepending slash, if not add a slash\n const normalizeUrl = (url: string) => (hasProtocol(url) ? url : addPrependingSlash(url));\n\n // Add a response interceptor to return the response\n const responseInterceptor = async <TData = any>(\n response: Response,\n validateStatus?: FetchOptions['validateStatus']\n ): Promise<FetchResponse<TData>> => {\n try {\n const result = await response.json();\n\n /**\n * validateStatus allows us to customize when a response should throw an error\n * In native Fetch API, a response is considered \"not ok\"\n * when the status code falls in the 200 to 299 (inclusive) range\n */\n if (!response.ok && result.error && !validateStatus?.(response.status)) {\n throw new FetchError(result.error.message, { data: result });\n }\n\n if (!response.ok && !validateStatus?.(response.status)) {\n throw new FetchError('Unknown Server Error');\n }\n\n return { data: result };\n } catch (error) {\n if (error instanceof SyntaxError && response.ok) {\n // Making sure that a SyntaxError doesn't throw if it's successful\n return { data: [], status: response.status } as FetchResponse<any>;\n } else {\n throw error;\n }\n }\n };\n\n const paramsSerializer =\n <Param = unknown>(params?: Param) =>\n (url: string) => {\n if (params) {\n if (typeof params === 'string') {\n return `${url}?${params}`;\n }\n\n /**\n * TODO V6: Encoding should be enabled in this step\n * So the rest of the app doesn't have to worry about it,\n * It's considered a breaking change because it impacts any API request, including the user's custom code\n */\n const serializedParams = qs.stringify(params, { encode: false });\n return `${url}?${serializedParams}`;\n }\n return url;\n };\n\n const addBaseUrl = (url: Parameters<typeof fetch>[0]) => {\n return `${backendURL}${url}`;\n };\n\n /**\n * We use the factory method because the options\n * are unique to the individual request\n */\n const makeCreateRequestUrl = (options?: FetchOptions) =>\n pipe(normalizeUrl, addBaseUrl, paramsSerializer(options?.params));\n\n const fetchClient: FetchClient = {\n get: async <TData>(url: string, options?: FetchOptions): Promise<FetchResponse<TData>> => {\n const headers = new Headers({\n ...defaultHeader,\n ...options?.headers,\n });\n /**\n * this applies all our transformations to the URL\n * - normalizing (making sure it has the correct slash)\n * - appending our BaseURL which comes from the window.strapi object\n * - serializing our params with QS\n */\n const createRequestUrl = makeCreateRequestUrl(options);\n const response = await fetch(createRequestUrl(url), {\n signal: options?.signal ?? defaultOptions.signal,\n method: 'GET',\n headers,\n });\n\n return responseInterceptor<TData>(response, options?.validateStatus);\n },\n post: async <TData, TSend = any>(\n url: string,\n data?: TSend,\n options?: FetchOptions\n ): Promise<FetchResponse<TData>> => {\n const headers = new Headers({\n ...defaultHeader,\n ...options?.headers,\n });\n\n const createRequestUrl = makeCreateRequestUrl(options);\n\n /**\n * we have to remove the Content-Type value if it was a formData request\n * the browser will automatically set the header value\n */\n if (isFormDataRequest(data)) {\n headers.delete('Content-Type');\n }\n\n const response = await fetch(createRequestUrl(url), {\n signal: options?.signal ?? defaultOptions.signal,\n method: 'POST',\n headers,\n body: isFormDataRequest(data) ? (data as FormData) : JSON.stringify(data),\n });\n return responseInterceptor<TData>(response, options?.validateStatus);\n },\n put: async <TData, TSend = any>(\n url: string,\n data?: TSend,\n options?: FetchOptions\n ): Promise<FetchResponse<TData>> => {\n const headers = new Headers({\n ...defaultHeader,\n ...options?.headers,\n });\n\n const createRequestUrl = makeCreateRequestUrl(options);\n\n /**\n * we have to remove the Content-Type value if it was a formData request\n * the browser will automatically set the header value\n */\n if (isFormDataRequest(data)) {\n headers.delete('Content-Type');\n }\n\n const response = await fetch(createRequestUrl(url), {\n signal: options?.signal ?? defaultOptions.signal,\n method: 'PUT',\n headers,\n body: isFormDataRequest(data) ? (data as FormData) : JSON.stringify(data),\n });\n\n return responseInterceptor<TData>(response, options?.validateStatus);\n },\n del: async <TData>(url: string, options?: FetchOptions): Promise<FetchResponse<TData>> => {\n const headers = new Headers({\n ...defaultHeader,\n ...options?.headers,\n });\n\n const createRequestUrl = makeCreateRequestUrl(options);\n const response = await fetch(createRequestUrl(url), {\n signal: options?.signal ?? defaultOptions.signal,\n method: 'DELETE',\n headers,\n });\n return responseInterceptor<TData>(response, options?.validateStatus);\n },\n };\n\n return fetchClient;\n};\n\nexport { getFetchClient, isFetchError, FetchError };\nexport type { FetchOptions, FetchResponse, FetchConfig, FetchClient, ErrorResponse };\n"],"names":["STORAGE_KEYS","TOKEN","USER","FetchError","Error","constructor","message","response","name","code","data","error","status","captureStackTrace","isFetchError","getToken","fromLocalStorage","localStorage","getItem","JSON","parse","fromCookie","getCookieValue","getFetchClient","defaultOptions","backendURL","window","strapi","defaultHeader","Accept","Authorization","isFormDataRequest","body","FormData","addPrependingSlash","url","charAt","hasProtocol","RegExp","test","normalizeUrl","responseInterceptor","validateStatus","result","json","ok","SyntaxError","paramsSerializer","params","serializedParams","qs","stringify","encode","addBaseUrl","makeCreateRequestUrl","options","pipe","fetchClient","get","headers","Headers","createRequestUrl","fetch","signal","method","post","delete","put","del"],"mappings":"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"}
1
+ {"version":3,"file":"getFetchClient.mjs","sources":["../../../../../admin/src/utils/getFetchClient.ts"],"sourcesContent":["import pipe from 'lodash/fp/pipe';\nimport qs from 'qs';\n\nimport { getCookieValue } from './cookies';\n\nimport type { errors } from '@strapi/utils';\n\nexport type ApiError =\n | errors.ApplicationError\n | errors.ForbiddenError\n | errors.NotFoundError\n | errors.NotImplementedError\n | errors.PaginationError\n | errors.PayloadTooLargeError\n | errors.PolicyError\n | errors.RateLimitError\n | errors.UnauthorizedError\n | errors.ValidationError\n | errors.YupValidationError;\n\nconst STORAGE_KEYS = {\n TOKEN: 'jwtToken',\n USER: 'userInfo',\n};\n\ntype FetchResponse<TData = any> = {\n data: TData;\n status?: number;\n};\n\ntype FetchOptions = {\n params?: any;\n signal?: AbortSignal;\n headers?: Record<string, string>;\n validateStatus?: ((status: number) => boolean) | null;\n};\n\ntype FetchConfig = {\n signal?: AbortSignal;\n};\n\ninterface ErrorResponse {\n data: {\n data?: any;\n error: ApiError & { status?: number };\n };\n}\n\nclass FetchError extends Error {\n public name: string;\n public message: string;\n public response?: ErrorResponse;\n public code?: number;\n public status?: number;\n\n constructor(message: string, response?: ErrorResponse) {\n super(message);\n this.name = 'FetchError';\n this.message = message;\n this.response = response;\n this.code = response?.data?.error?.status;\n this.status = response?.data?.error?.status;\n\n // Ensure correct stack trace in error object\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, FetchError);\n }\n }\n}\n\nconst isFetchError = (error: unknown): error is FetchError => {\n return error instanceof FetchError;\n};\n\nconst getToken = (): string | null => {\n const fromLocalStorage = localStorage.getItem(STORAGE_KEYS.TOKEN);\n if (fromLocalStorage) {\n return JSON.parse(fromLocalStorage);\n }\n\n const fromCookie = getCookieValue(STORAGE_KEYS.TOKEN);\n return fromCookie ?? null;\n};\n\ntype FetchClient = {\n get: <TData = any>(url: string, config?: FetchOptions) => Promise<FetchResponse<TData>>;\n put: <TData = any, TSend = any>(\n url: string,\n data?: TSend,\n config?: FetchOptions\n ) => Promise<FetchResponse<TData>>;\n post: <TData = any, TSend = any>(\n url: string,\n data?: TSend,\n config?: FetchOptions\n ) => Promise<FetchResponse<TData>>;\n del: <TData = any>(url: string, config?: FetchOptions) => Promise<FetchResponse<TData>>;\n};\n\n/**\n * @public\n * @param {FetchConfig} [defaultOptions={}] - Fetch Configs.\n * @returns {FetchClient} A fetch client object with methods for making HTTP requests.\n * @description This is an abstraction around the native fetch exposed by a function. It provides a simple interface to handle API calls\n * to the Strapi backend.\n * @example\n * ```tsx\n * import { getFetchClient } from '@strapi/admin/admin';\n *\n * const myFunct = () => {\n * const { get } = getFetchClient();\n * const requestURL = \"/some-endpoint\";\n *\n * const { data } = await get(requestURL);\n *\n * return data;\n * };\n * ```\n */\nconst getFetchClient = (defaultOptions: FetchConfig = {}): FetchClient => {\n const backendURL = window.strapi.backendURL;\n const defaultHeader = {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${getToken()}`,\n };\n\n const isFormDataRequest = (body: unknown) => body instanceof FormData;\n const addPrependingSlash = (url: string) => (url.charAt(0) !== '/' ? `/${url}` : url);\n\n // This regular expression matches a string that starts with either \"http://\" or \"https://\" or any other protocol name in lower case letters, followed by \"://\" and ends with anything else\n const hasProtocol = (url: string) => new RegExp('^(?:[a-z+]+:)?//', 'i').test(url);\n\n // Check if the url has a prepending slash, if not add a slash\n const normalizeUrl = (url: string) => (hasProtocol(url) ? url : addPrependingSlash(url));\n\n // Add a response interceptor to return the response\n const responseInterceptor = async <TData = any>(\n response: Response,\n validateStatus?: FetchOptions['validateStatus']\n ): Promise<FetchResponse<TData>> => {\n try {\n const result = await response.json();\n\n /**\n * validateStatus allows us to customize when a response should throw an error\n * In native Fetch API, a response is considered \"not ok\"\n * when the status code falls in the 200 to 299 (inclusive) range\n */\n if (!response.ok && result.error && !validateStatus?.(response.status)) {\n throw new FetchError(result.error.message, { data: result });\n }\n\n if (!response.ok && !validateStatus?.(response.status)) {\n throw new FetchError('Unknown Server Error');\n }\n\n return { data: result };\n } catch (error) {\n if (error instanceof SyntaxError && response.ok) {\n // Making sure that a SyntaxError doesn't throw if it's successful\n return { data: [], status: response.status } as FetchResponse<any>;\n } else {\n throw error;\n }\n }\n };\n\n const paramsSerializer =\n <Param = unknown>(params?: Param) =>\n (url: string) => {\n if (params) {\n if (typeof params === 'string') {\n return `${url}?${params}`;\n }\n\n /**\n * TODO V6: Encoding should be enabled in this step\n * So the rest of the app doesn't have to worry about it,\n * It's considered a breaking change because it impacts any API request, including the user's custom code\n */\n const serializedParams = qs.stringify(params, { encode: false });\n return `${url}?${serializedParams}`;\n }\n return url;\n };\n\n const addBaseUrl = (url: Parameters<typeof fetch>[0]) => {\n return `${backendURL}${url}`;\n };\n\n /**\n * We use the factory method because the options\n * are unique to the individual request\n */\n const makeCreateRequestUrl = (options?: FetchOptions) =>\n pipe(normalizeUrl, addBaseUrl, paramsSerializer(options?.params));\n\n const fetchClient: FetchClient = {\n get: async <TData>(url: string, options?: FetchOptions): Promise<FetchResponse<TData>> => {\n const headers = new Headers({\n ...defaultHeader,\n ...options?.headers,\n });\n /**\n * this applies all our transformations to the URL\n * - normalizing (making sure it has the correct slash)\n * - appending our BaseURL which comes from the window.strapi object\n * - serializing our params with QS\n */\n const createRequestUrl = makeCreateRequestUrl(options);\n const response = await fetch(createRequestUrl(url), {\n signal: options?.signal ?? defaultOptions.signal,\n method: 'GET',\n headers,\n });\n\n return responseInterceptor<TData>(response, options?.validateStatus);\n },\n post: async <TData, TSend = any>(\n url: string,\n data?: TSend,\n options?: FetchOptions\n ): Promise<FetchResponse<TData>> => {\n const headers = new Headers({\n ...defaultHeader,\n ...options?.headers,\n });\n\n const createRequestUrl = makeCreateRequestUrl(options);\n\n /**\n * we have to remove the Content-Type value if it was a formData request\n * the browser will automatically set the header value\n */\n if (isFormDataRequest(data)) {\n headers.delete('Content-Type');\n }\n\n const response = await fetch(createRequestUrl(url), {\n signal: options?.signal ?? defaultOptions.signal,\n method: 'POST',\n headers,\n body: isFormDataRequest(data) ? (data as FormData) : JSON.stringify(data),\n });\n return responseInterceptor<TData>(response, options?.validateStatus);\n },\n put: async <TData, TSend = any>(\n url: string,\n data?: TSend,\n options?: FetchOptions\n ): Promise<FetchResponse<TData>> => {\n const headers = new Headers({\n ...defaultHeader,\n ...options?.headers,\n });\n\n const createRequestUrl = makeCreateRequestUrl(options);\n\n /**\n * we have to remove the Content-Type value if it was a formData request\n * the browser will automatically set the header value\n */\n if (isFormDataRequest(data)) {\n headers.delete('Content-Type');\n }\n\n const response = await fetch(createRequestUrl(url), {\n signal: options?.signal ?? defaultOptions.signal,\n method: 'PUT',\n headers,\n body: isFormDataRequest(data) ? (data as FormData) : JSON.stringify(data),\n });\n\n return responseInterceptor<TData>(response, options?.validateStatus);\n },\n del: async <TData>(url: string, options?: FetchOptions): Promise<FetchResponse<TData>> => {\n const headers = new Headers({\n ...defaultHeader,\n ...options?.headers,\n });\n\n const createRequestUrl = makeCreateRequestUrl(options);\n const response = await fetch(createRequestUrl(url), {\n signal: options?.signal ?? defaultOptions.signal,\n method: 'DELETE',\n headers,\n });\n return responseInterceptor<TData>(response, options?.validateStatus);\n },\n };\n\n return fetchClient;\n};\n\nexport { getFetchClient, isFetchError, FetchError };\nexport type { FetchOptions, FetchResponse, FetchConfig, FetchClient, ErrorResponse };\n"],"names":["STORAGE_KEYS","TOKEN","USER","FetchError","Error","message","response","name","code","data","error","status","captureStackTrace","isFetchError","getToken","fromLocalStorage","localStorage","getItem","JSON","parse","fromCookie","getCookieValue","getFetchClient","defaultOptions","backendURL","window","strapi","defaultHeader","Accept","Authorization","isFormDataRequest","body","FormData","addPrependingSlash","url","charAt","hasProtocol","RegExp","test","normalizeUrl","responseInterceptor","validateStatus","result","json","ok","SyntaxError","paramsSerializer","params","serializedParams","qs","stringify","encode","addBaseUrl","makeCreateRequestUrl","options","pipe","fetchClient","get","headers","Headers","createRequestUrl","fetch","signal","method","post","delete","put","del"],"mappings":";;;;AAoBA,MAAMA,YAAe,GAAA;IACnBC,KAAO,EAAA,UAAA;IACPC,IAAM,EAAA;AACR,CAAA;AAyBA,MAAMC,UAAmBC,SAAAA,KAAAA,CAAAA;IAOvB,WAAYC,CAAAA,OAAe,EAAEC,QAAwB,CAAE;AACrD,QAAA,KAAK,CAACD,OAAAA,CAAAA;QACN,IAAI,CAACE,IAAI,GAAG,YAAA;QACZ,IAAI,CAACF,OAAO,GAAGA,OAAAA;QACf,IAAI,CAACC,QAAQ,GAAGA,QAAAA;AAChB,QAAA,IAAI,CAACE,IAAI,GAAGF,QAAAA,EAAUG,MAAMC,KAAOC,EAAAA,MAAAA;AACnC,QAAA,IAAI,CAACA,MAAM,GAAGL,QAAAA,EAAUG,MAAMC,KAAOC,EAAAA,MAAAA;;QAGrC,IAAIP,KAAAA,CAAMQ,iBAAiB,EAAE;YAC3BR,KAAMQ,CAAAA,iBAAiB,CAAC,IAAI,EAAET,UAAAA,CAAAA;AAChC;AACF;AACF;AAEA,MAAMU,eAAe,CAACH,KAAAA,GAAAA;AACpB,IAAA,OAAOA,KAAiBP,YAAAA,UAAAA;AAC1B;AAEA,MAAMW,QAAW,GAAA,IAAA;AACf,IAAA,MAAMC,gBAAmBC,GAAAA,YAAAA,CAAaC,OAAO,CAACjB,aAAaC,KAAK,CAAA;AAChE,IAAA,IAAIc,gBAAkB,EAAA;QACpB,OAAOG,IAAAA,CAAKC,KAAK,CAACJ,gBAAAA,CAAAA;AACpB;IAEA,MAAMK,UAAAA,GAAaC,cAAerB,CAAAA,YAAAA,CAAaC,KAAK,CAAA;AACpD,IAAA,OAAOmB,UAAc,IAAA,IAAA;AACvB,CAAA;AAiBA;;;;;;;;;;;;;;;;;;;AAmBC,IACKE,MAAAA,cAAAA,GAAiB,CAACC,cAAAA,GAA8B,EAAE,GAAA;AACtD,IAAA,MAAMC,UAAaC,GAAAA,MAAAA,CAAOC,MAAM,CAACF,UAAU;AAC3C,IAAA,MAAMG,aAAgB,GAAA;QACpBC,MAAQ,EAAA,kBAAA;QACR,cAAgB,EAAA,kBAAA;QAChBC,aAAe,EAAA,CAAC,OAAO,EAAEf,QAAY,EAAA,CAAA;AACvC,KAAA;IAEA,MAAMgB,iBAAAA,GAAoB,CAACC,IAAAA,GAAkBA,IAAgBC,YAAAA,QAAAA;AAC7D,IAAA,MAAMC,kBAAqB,GAAA,CAACC,GAAiBA,GAAAA,GAAAA,CAAIC,MAAM,CAAC,CAAO,CAAA,KAAA,GAAA,GAAM,CAAC,CAAC,EAAED,GAAAA,CAAAA,CAAK,GAAGA,GAAAA;;IAGjF,MAAME,WAAAA,GAAc,CAACF,GAAgB,GAAA,IAAIG,OAAO,kBAAoB,EAAA,GAAA,CAAA,CAAKC,IAAI,CAACJ,GAAAA,CAAAA;;AAG9E,IAAA,MAAMK,eAAe,CAACL,GAAAA,GAAiBE,WAAYF,CAAAA,GAAAA,CAAAA,GAAOA,MAAMD,kBAAmBC,CAAAA,GAAAA,CAAAA;;IAGnF,MAAMM,mBAAAA,GAAsB,OAC1BlC,QACAmC,EAAAA,cAAAA,GAAAA;QAEA,IAAI;YACF,MAAMC,MAAAA,GAAS,MAAMpC,QAAAA,CAASqC,IAAI,EAAA;AAElC;;;;AAIC,UACD,IAAI,CAACrC,QAASsC,CAAAA,EAAE,IAAIF,MAAAA,CAAOhC,KAAK,IAAI,CAAC+B,cAAAA,GAAiBnC,QAASK,CAAAA,MAAM,CAAG,EAAA;AACtE,gBAAA,MAAM,IAAIR,UAAWuC,CAAAA,MAAAA,CAAOhC,KAAK,CAACL,OAAO,EAAE;oBAAEI,IAAMiC,EAAAA;AAAO,iBAAA,CAAA;AAC5D;YAEA,IAAI,CAACpC,SAASsC,EAAE,IAAI,CAACH,cAAiBnC,GAAAA,QAAAA,CAASK,MAAM,CAAG,EAAA;AACtD,gBAAA,MAAM,IAAIR,UAAW,CAAA,sBAAA,CAAA;AACvB;YAEA,OAAO;gBAAEM,IAAMiC,EAAAA;AAAO,aAAA;AACxB,SAAA,CAAE,OAAOhC,KAAO,EAAA;AACd,YAAA,IAAIA,KAAiBmC,YAAAA,WAAAA,IAAevC,QAASsC,CAAAA,EAAE,EAAE;;gBAE/C,OAAO;AAAEnC,oBAAAA,IAAAA,EAAM,EAAE;AAAEE,oBAAAA,MAAAA,EAAQL,SAASK;AAAO,iBAAA;aACtC,MAAA;gBACL,MAAMD,KAAAA;AACR;AACF;AACF,KAAA;IAEA,MAAMoC,gBAAAA,GACJ,CAAkBC,MAAAA,GAClB,CAACb,GAAAA,GAAAA;AACC,YAAA,IAAIa,MAAQ,EAAA;gBACV,IAAI,OAAOA,WAAW,QAAU,EAAA;AAC9B,oBAAA,OAAO,CAAGb,EAAAA,GAAAA,CAAI,CAAC,EAAEa,MAAQ,CAAA,CAAA;AAC3B;AAEA;;;;AAIC,YACD,MAAMC,gBAAAA,GAAmBC,WAAGC,CAAAA,SAAS,CAACH,MAAQ,EAAA;oBAAEI,MAAQ,EAAA;AAAM,iBAAA,CAAA;AAC9D,gBAAA,OAAO,CAAGjB,EAAAA,GAAAA,CAAI,CAAC,EAAEc,gBAAkB,CAAA,CAAA;AACrC;YACA,OAAOd,GAAAA;AACT,SAAA;AAEF,IAAA,MAAMkB,aAAa,CAAClB,GAAAA,GAAAA;QAClB,OAAO,CAAA,EAAGV,aAAaU,GAAK,CAAA,CAAA;AAC9B,KAAA;AAEA;;;MAIA,MAAMmB,uBAAuB,CAACC,OAAAA,GAC5BC,KAAKhB,YAAca,EAAAA,UAAAA,EAAYN,iBAAiBQ,OAASP,EAAAA,MAAAA,CAAAA,CAAAA;AAE3D,IAAA,MAAMS,WAA2B,GAAA;AAC/BC,QAAAA,GAAAA,EAAK,OAAcvB,GAAaoB,EAAAA,OAAAA,GAAAA;YAC9B,MAAMI,OAAAA,GAAU,IAAIC,OAAQ,CAAA;AAC1B,gBAAA,GAAGhC,aAAa;AAChB,gBAAA,GAAG2B,SAASI;AACd,aAAA,CAAA;AACA;;;;;UAMA,MAAME,mBAAmBP,oBAAqBC,CAAAA,OAAAA,CAAAA;AAC9C,YAAA,MAAMhD,QAAW,GAAA,MAAMuD,KAAMD,CAAAA,gBAAAA,CAAiB1B,GAAM,CAAA,EAAA;gBAClD4B,MAAQR,EAAAA,OAAAA,EAASQ,MAAUvC,IAAAA,cAAAA,CAAeuC,MAAM;gBAChDC,MAAQ,EAAA,KAAA;AACRL,gBAAAA;AACF,aAAA,CAAA;YAEA,OAAOlB,mBAAAA,CAA2BlC,UAAUgD,OAASb,EAAAA,cAAAA,CAAAA;AACvD,SAAA;QACAuB,IAAM,EAAA,OACJ9B,KACAzB,IACA6C,EAAAA,OAAAA,GAAAA;YAEA,MAAMI,OAAAA,GAAU,IAAIC,OAAQ,CAAA;AAC1B,gBAAA,GAAGhC,aAAa;AAChB,gBAAA,GAAG2B,SAASI;AACd,aAAA,CAAA;AAEA,YAAA,MAAME,mBAAmBP,oBAAqBC,CAAAA,OAAAA,CAAAA;AAE9C;;;UAIA,IAAIxB,kBAAkBrB,IAAO,CAAA,EAAA;AAC3BiD,gBAAAA,OAAAA,CAAQO,MAAM,CAAC,cAAA,CAAA;AACjB;AAEA,YAAA,MAAM3D,QAAW,GAAA,MAAMuD,KAAMD,CAAAA,gBAAAA,CAAiB1B,GAAM,CAAA,EAAA;gBAClD4B,MAAQR,EAAAA,OAAAA,EAASQ,MAAUvC,IAAAA,cAAAA,CAAeuC,MAAM;gBAChDC,MAAQ,EAAA,MAAA;AACRL,gBAAAA,OAAAA;AACA3B,gBAAAA,IAAAA,EAAMD,iBAAkBrB,CAAAA,IAAAA,CAAAA,GAASA,IAAoBS,GAAAA,IAAAA,CAAKgC,SAAS,CAACzC,IAAAA;AACtE,aAAA,CAAA;YACA,OAAO+B,mBAAAA,CAA2BlC,UAAUgD,OAASb,EAAAA,cAAAA,CAAAA;AACvD,SAAA;QACAyB,GAAK,EAAA,OACHhC,KACAzB,IACA6C,EAAAA,OAAAA,GAAAA;YAEA,MAAMI,OAAAA,GAAU,IAAIC,OAAQ,CAAA;AAC1B,gBAAA,GAAGhC,aAAa;AAChB,gBAAA,GAAG2B,SAASI;AACd,aAAA,CAAA;AAEA,YAAA,MAAME,mBAAmBP,oBAAqBC,CAAAA,OAAAA,CAAAA;AAE9C;;;UAIA,IAAIxB,kBAAkBrB,IAAO,CAAA,EAAA;AAC3BiD,gBAAAA,OAAAA,CAAQO,MAAM,CAAC,cAAA,CAAA;AACjB;AAEA,YAAA,MAAM3D,QAAW,GAAA,MAAMuD,KAAMD,CAAAA,gBAAAA,CAAiB1B,GAAM,CAAA,EAAA;gBAClD4B,MAAQR,EAAAA,OAAAA,EAASQ,MAAUvC,IAAAA,cAAAA,CAAeuC,MAAM;gBAChDC,MAAQ,EAAA,KAAA;AACRL,gBAAAA,OAAAA;AACA3B,gBAAAA,IAAAA,EAAMD,iBAAkBrB,CAAAA,IAAAA,CAAAA,GAASA,IAAoBS,GAAAA,IAAAA,CAAKgC,SAAS,CAACzC,IAAAA;AACtE,aAAA,CAAA;YAEA,OAAO+B,mBAAAA,CAA2BlC,UAAUgD,OAASb,EAAAA,cAAAA,CAAAA;AACvD,SAAA;AACA0B,QAAAA,GAAAA,EAAK,OAAcjC,GAAaoB,EAAAA,OAAAA,GAAAA;YAC9B,MAAMI,OAAAA,GAAU,IAAIC,OAAQ,CAAA;AAC1B,gBAAA,GAAGhC,aAAa;AAChB,gBAAA,GAAG2B,SAASI;AACd,aAAA,CAAA;AAEA,YAAA,MAAME,mBAAmBP,oBAAqBC,CAAAA,OAAAA,CAAAA;AAC9C,YAAA,MAAMhD,QAAW,GAAA,MAAMuD,KAAMD,CAAAA,gBAAAA,CAAiB1B,GAAM,CAAA,EAAA;gBAClD4B,MAAQR,EAAAA,OAAAA,EAASQ,MAAUvC,IAAAA,cAAAA,CAAeuC,MAAM;gBAChDC,MAAQ,EAAA,QAAA;AACRL,gBAAAA;AACF,aAAA,CAAA;YACA,OAAOlB,mBAAAA,CAA2BlC,UAAUgD,OAASb,EAAAA,cAAAA,CAAAA;AACvD;AACF,KAAA;IAEA,OAAOe,WAAAA;AACT;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"getPrefixedId.js","sources":["../../../../../admin/src/utils/getPrefixedId.ts"],"sourcesContent":["/**\n * Prefix message with 'apiError.'\n */\nexport function getPrefixedId(message: string, callback?: (prefixedMessage: string) => string) {\n const prefixedMessage = `apiError.${message}`;\n\n // if a prefix function has been passed in it is used to\n // prefix the id, e.g. to allow an error message to be\n // set only for a localization namespace\n if (typeof callback === 'function') {\n return callback(prefixedMessage);\n }\n\n return prefixedMessage;\n}\n"],"names":["getPrefixedId","message","callback","prefixedMessage"],"mappings":";;AAAA;;AAEC,IACM,SAASA,aAAcC,CAAAA,OAAe,EAAEC,QAA8C,EAAA;AAC3F,IAAA,MAAMC,eAAkB,GAAA,CAAC,SAAS,EAAEF,QAAQ,CAAC;;;;IAK7C,IAAI,OAAOC,aAAa,UAAY,EAAA;AAClC,QAAA,OAAOA,QAASC,CAAAA,eAAAA,CAAAA;AAClB;IAEA,OAAOA,eAAAA;AACT;;;;"}
1
+ {"version":3,"file":"getPrefixedId.js","sources":["../../../../../admin/src/utils/getPrefixedId.ts"],"sourcesContent":["/**\n * Prefix message with 'apiError.'\n */\nexport function getPrefixedId(message: string, callback?: (prefixedMessage: string) => string) {\n const prefixedMessage = `apiError.${message}`;\n\n // if a prefix function has been passed in it is used to\n // prefix the id, e.g. to allow an error message to be\n // set only for a localization namespace\n if (typeof callback === 'function') {\n return callback(prefixedMessage);\n }\n\n return prefixedMessage;\n}\n"],"names":["getPrefixedId","message","callback","prefixedMessage"],"mappings":";;AAAA;;AAEC,IACM,SAASA,aAAcC,CAAAA,OAAe,EAAEC,QAA8C,EAAA;AAC3F,IAAA,MAAMC,eAAkB,GAAA,CAAC,SAAS,EAAEF,OAAS,CAAA,CAAA;;;;IAK7C,IAAI,OAAOC,aAAa,UAAY,EAAA;AAClC,QAAA,OAAOA,QAASC,CAAAA,eAAAA,CAAAA;AAClB;IAEA,OAAOA,eAAAA;AACT;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"getPrefixedId.mjs","sources":["../../../../../admin/src/utils/getPrefixedId.ts"],"sourcesContent":["/**\n * Prefix message with 'apiError.'\n */\nexport function getPrefixedId(message: string, callback?: (prefixedMessage: string) => string) {\n const prefixedMessage = `apiError.${message}`;\n\n // if a prefix function has been passed in it is used to\n // prefix the id, e.g. to allow an error message to be\n // set only for a localization namespace\n if (typeof callback === 'function') {\n return callback(prefixedMessage);\n }\n\n return prefixedMessage;\n}\n"],"names":["getPrefixedId","message","callback","prefixedMessage"],"mappings":"AAAA;;AAEC,IACM,SAASA,aAAcC,CAAAA,OAAe,EAAEC,QAA8C,EAAA;AAC3F,IAAA,MAAMC,eAAkB,GAAA,CAAC,SAAS,EAAEF,QAAQ,CAAC;;;;IAK7C,IAAI,OAAOC,aAAa,UAAY,EAAA;AAClC,QAAA,OAAOA,QAASC,CAAAA,eAAAA,CAAAA;AAClB;IAEA,OAAOA,eAAAA;AACT;;;;"}
1
+ {"version":3,"file":"getPrefixedId.mjs","sources":["../../../../../admin/src/utils/getPrefixedId.ts"],"sourcesContent":["/**\n * Prefix message with 'apiError.'\n */\nexport function getPrefixedId(message: string, callback?: (prefixedMessage: string) => string) {\n const prefixedMessage = `apiError.${message}`;\n\n // if a prefix function has been passed in it is used to\n // prefix the id, e.g. to allow an error message to be\n // set only for a localization namespace\n if (typeof callback === 'function') {\n return callback(prefixedMessage);\n }\n\n return prefixedMessage;\n}\n"],"names":["getPrefixedId","message","callback","prefixedMessage"],"mappings":"AAAA;;AAEC,IACM,SAASA,aAAcC,CAAAA,OAAe,EAAEC,QAA8C,EAAA;AAC3F,IAAA,MAAMC,eAAkB,GAAA,CAAC,SAAS,EAAEF,OAAS,CAAA,CAAA;;;;IAK7C,IAAI,OAAOC,aAAa,UAAY,EAAA;AAClC,QAAA,OAAOA,QAASC,CAAAA,eAAAA,CAAAA;AAClB;IAEA,OAAOA,eAAAA;AACT;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"rulesEngine.js","sources":["../../../../../admin/src/utils/rulesEngine.ts"],"sourcesContent":["import jsonLogic from 'json-logic-js';\nimport { z } from 'zod';\n\nexport const ConditionSchema = z.object({\n dependsOn: z.string().min(1),\n operator: z.enum(['is', 'isNot']),\n value: z.union([z.string(), z.number(), z.boolean()]),\n});\n\nexport type Condition = z.infer<typeof ConditionSchema>;\nexport type JsonLogicCondition = jsonLogic.RulesLogic<jsonLogic.AdditionalOperation>;\nexport type RulesEngine = {\n generate: (condition: Condition) => JsonLogicCondition;\n validate: (condition: Condition) => void;\n evaluate: (condition: JsonLogicCondition, data: unknown) => boolean;\n};\n\nexport function createRulesEngine(): RulesEngine {\n /**\n * Transforms a high-level `Condition` object into a JSON Logic-compatible condition.\n *\n * Converts operators like 'is' and 'isNot' into their JSON Logic equivalents ('==' and '!=').\n * Throws an error if the operator is not supported.\n *\n * @param condition - The condition object to convert.\n * @returns A JSON Logic AST representing the condition.\n * @throws {Error} If the operator is not recognized.\n */\n const generate = (condition: Condition): JsonLogicCondition => {\n const { dependsOn, operator, value } = condition;\n const operatorsMap = {\n is: '==',\n isNot: '!=',\n };\n if (!operatorsMap[operator]) {\n throw new Error(`Invalid operator: ${operator}`);\n }\n return { [operatorsMap[operator]]: [{ var: dependsOn }, value] };\n };\n\n /**\n * Validates a condition object against the `ConditionSchema`.\n *\n * Ensures that the condition adheres to the expected structure and types.\n *\n * @param condition - The condition object to validate.\n * @throws {ZodError} If the condition is invalid.\n */\n const validate = (condition: Condition) => {\n ConditionSchema.parse(condition);\n };\n\n /**\n * Evaluates a JSON Logic condition against provided data.\n * @throws {Error} If the condition is invalid.\n */\n const evaluate = (\n condition: jsonLogic.RulesLogic<jsonLogic.AdditionalOperation>,\n data: unknown\n ): boolean => {\n try {\n return jsonLogic.apply(condition, data);\n } catch (err: any) {\n throw new Error(`Invalid condition: ${err.message}`);\n }\n };\n\n return {\n generate,\n validate,\n evaluate,\n };\n}\n"],"names":["ConditionSchema","z","object","dependsOn","string","min","operator","enum","value","union","number","boolean","createRulesEngine","generate","condition","operatorsMap","is","isNot","Error","var","validate","parse","evaluate","data","jsonLogic","apply","err","message"],"mappings":";;;;;AAGaA,MAAAA,eAAAA,GAAkBC,KAAEC,CAAAA,MAAM,CAAC;AACtCC,IAAAA,SAAAA,EAAWF,KAAEG,CAAAA,MAAM,EAAGC,CAAAA,GAAG,CAAC,CAAA,CAAA;IAC1BC,QAAUL,EAAAA,KAAAA,CAAEM,IAAI,CAAC;AAAC,QAAA,IAAA;AAAM,QAAA;AAAQ,KAAA,CAAA;IAChCC,KAAOP,EAAAA,KAAAA,CAAEQ,KAAK,CAAC;AAACR,QAAAA,KAAAA,CAAEG,MAAM,EAAA;AAAIH,QAAAA,KAAAA,CAAES,MAAM,EAAA;AAAIT,QAAAA,KAAAA,CAAEU,OAAO;AAAG,KAAA;AACtD,CAAG;AAUI,SAASC,iBAAAA,GAAAA;AACd;;;;;;;;;MAUA,MAAMC,WAAW,CAACC,SAAAA,GAAAA;AAChB,QAAA,MAAM,EAAEX,SAAS,EAAEG,QAAQ,EAAEE,KAAK,EAAE,GAAGM,SAAAA;AACvC,QAAA,MAAMC,YAAe,GAAA;YACnBC,EAAI,EAAA,IAAA;YACJC,KAAO,EAAA;AACT,SAAA;AACA,QAAA,IAAI,CAACF,YAAY,CAACT,QAAAA,CAAS,EAAE;AAC3B,YAAA,MAAM,IAAIY,KAAM,CAAA,CAAC,kBAAkB,EAAEZ,SAAS,CAAC,CAAA;AACjD;QACA,OAAO;AAAE,YAAA,CAACS,YAAY,CAACT,QAAS,CAAA,GAAG;AAAC,gBAAA;oBAAEa,GAAKhB,EAAAA;AAAU,iBAAA;AAAGK,gBAAAA;AAAM;AAAC,SAAA;AACjE,KAAA;AAEA;;;;;;;MAQA,MAAMY,WAAW,CAACN,SAAAA,GAAAA;AAChBd,QAAAA,eAAAA,CAAgBqB,KAAK,CAACP,SAAAA,CAAAA;AACxB,KAAA;AAEA;;;MAIA,MAAMQ,QAAW,GAAA,CACfR,SACAS,EAAAA,IAAAA,GAAAA;QAEA,IAAI;YACF,OAAOC,SAAAA,CAAUC,KAAK,CAACX,SAAWS,EAAAA,IAAAA,CAAAA;AACpC,SAAA,CAAE,OAAOG,GAAU,EAAA;YACjB,MAAM,IAAIR,MAAM,CAAC,mBAAmB,EAAEQ,GAAIC,CAAAA,OAAO,CAAC,CAAC,CAAA;AACrD;AACF,KAAA;IAEA,OAAO;AACLd,QAAAA,QAAAA;AACAO,QAAAA,QAAAA;AACAE,QAAAA;AACF,KAAA;AACF;;;;;"}
1
+ {"version":3,"file":"rulesEngine.js","sources":["../../../../../admin/src/utils/rulesEngine.ts"],"sourcesContent":["import jsonLogic from 'json-logic-js';\nimport { z } from 'zod';\n\nexport const ConditionSchema = z.object({\n dependsOn: z.string().min(1),\n operator: z.enum(['is', 'isNot']),\n value: z.union([z.string(), z.number(), z.boolean()]),\n});\n\nexport type Condition = z.infer<typeof ConditionSchema>;\nexport type JsonLogicCondition = jsonLogic.RulesLogic<jsonLogic.AdditionalOperation>;\nexport type RulesEngine = {\n generate: (condition: Condition) => JsonLogicCondition;\n validate: (condition: Condition) => void;\n evaluate: (condition: JsonLogicCondition, data: unknown) => boolean;\n};\n\nexport function createRulesEngine(): RulesEngine {\n /**\n * Transforms a high-level `Condition` object into a JSON Logic-compatible condition.\n *\n * Converts operators like 'is' and 'isNot' into their JSON Logic equivalents ('==' and '!=').\n * Throws an error if the operator is not supported.\n *\n * @param condition - The condition object to convert.\n * @returns A JSON Logic AST representing the condition.\n * @throws {Error} If the operator is not recognized.\n */\n const generate = (condition: Condition): JsonLogicCondition => {\n const { dependsOn, operator, value } = condition;\n const operatorsMap = {\n is: '==',\n isNot: '!=',\n };\n if (!operatorsMap[operator]) {\n throw new Error(`Invalid operator: ${operator}`);\n }\n return { [operatorsMap[operator]]: [{ var: dependsOn }, value] };\n };\n\n /**\n * Validates a condition object against the `ConditionSchema`.\n *\n * Ensures that the condition adheres to the expected structure and types.\n *\n * @param condition - The condition object to validate.\n * @throws {ZodError} If the condition is invalid.\n */\n const validate = (condition: Condition) => {\n ConditionSchema.parse(condition);\n };\n\n /**\n * Evaluates a JSON Logic condition against provided data.\n * @throws {Error} If the condition is invalid.\n */\n const evaluate = (\n condition: jsonLogic.RulesLogic<jsonLogic.AdditionalOperation>,\n data: unknown\n ): boolean => {\n try {\n return jsonLogic.apply(condition, data);\n } catch (err: any) {\n throw new Error(`Invalid condition: ${err.message}`);\n }\n };\n\n return {\n generate,\n validate,\n evaluate,\n };\n}\n"],"names":["ConditionSchema","z","object","dependsOn","string","min","operator","enum","value","union","number","boolean","createRulesEngine","generate","condition","operatorsMap","is","isNot","Error","var","validate","parse","evaluate","data","jsonLogic","apply","err","message"],"mappings":";;;;;AAGaA,MAAAA,eAAAA,GAAkBC,KAAEC,CAAAA,MAAM,CAAC;AACtCC,IAAAA,SAAAA,EAAWF,KAAEG,CAAAA,MAAM,EAAGC,CAAAA,GAAG,CAAC,CAAA,CAAA;IAC1BC,QAAUL,EAAAA,KAAAA,CAAEM,IAAI,CAAC;AAAC,QAAA,IAAA;AAAM,QAAA;AAAQ,KAAA,CAAA;IAChCC,KAAOP,EAAAA,KAAAA,CAAEQ,KAAK,CAAC;AAACR,QAAAA,KAAAA,CAAEG,MAAM,EAAA;AAAIH,QAAAA,KAAAA,CAAES,MAAM,EAAA;AAAIT,QAAAA,KAAAA,CAAEU,OAAO;AAAG,KAAA;AACtD,CAAG;AAUI,SAASC,iBAAAA,GAAAA;AACd;;;;;;;;;MAUA,MAAMC,WAAW,CAACC,SAAAA,GAAAA;AAChB,QAAA,MAAM,EAAEX,SAAS,EAAEG,QAAQ,EAAEE,KAAK,EAAE,GAAGM,SAAAA;AACvC,QAAA,MAAMC,YAAe,GAAA;YACnBC,EAAI,EAAA,IAAA;YACJC,KAAO,EAAA;AACT,SAAA;AACA,QAAA,IAAI,CAACF,YAAY,CAACT,QAAAA,CAAS,EAAE;AAC3B,YAAA,MAAM,IAAIY,KAAAA,CAAM,CAAC,kBAAkB,EAAEZ,QAAU,CAAA,CAAA,CAAA;AACjD;QACA,OAAO;AAAE,YAAA,CAACS,YAAY,CAACT,QAAS,CAAA,GAAG;AAAC,gBAAA;oBAAEa,GAAKhB,EAAAA;AAAU,iBAAA;AAAGK,gBAAAA;AAAM;AAAC,SAAA;AACjE,KAAA;AAEA;;;;;;;MAQA,MAAMY,WAAW,CAACN,SAAAA,GAAAA;AAChBd,QAAAA,eAAAA,CAAgBqB,KAAK,CAACP,SAAAA,CAAAA;AACxB,KAAA;AAEA;;;MAIA,MAAMQ,QAAW,GAAA,CACfR,SACAS,EAAAA,IAAAA,GAAAA;QAEA,IAAI;YACF,OAAOC,SAAAA,CAAUC,KAAK,CAACX,SAAWS,EAAAA,IAAAA,CAAAA;AACpC,SAAA,CAAE,OAAOG,GAAU,EAAA;AACjB,YAAA,MAAM,IAAIR,KAAM,CAAA,CAAC,mBAAmB,EAAEQ,GAAAA,CAAIC,OAAO,CAAE,CAAA,CAAA;AACrD;AACF,KAAA;IAEA,OAAO;AACLd,QAAAA,QAAAA;AACAO,QAAAA,QAAAA;AACAE,QAAAA;AACF,KAAA;AACF;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"rulesEngine.mjs","sources":["../../../../../admin/src/utils/rulesEngine.ts"],"sourcesContent":["import jsonLogic from 'json-logic-js';\nimport { z } from 'zod';\n\nexport const ConditionSchema = z.object({\n dependsOn: z.string().min(1),\n operator: z.enum(['is', 'isNot']),\n value: z.union([z.string(), z.number(), z.boolean()]),\n});\n\nexport type Condition = z.infer<typeof ConditionSchema>;\nexport type JsonLogicCondition = jsonLogic.RulesLogic<jsonLogic.AdditionalOperation>;\nexport type RulesEngine = {\n generate: (condition: Condition) => JsonLogicCondition;\n validate: (condition: Condition) => void;\n evaluate: (condition: JsonLogicCondition, data: unknown) => boolean;\n};\n\nexport function createRulesEngine(): RulesEngine {\n /**\n * Transforms a high-level `Condition` object into a JSON Logic-compatible condition.\n *\n * Converts operators like 'is' and 'isNot' into their JSON Logic equivalents ('==' and '!=').\n * Throws an error if the operator is not supported.\n *\n * @param condition - The condition object to convert.\n * @returns A JSON Logic AST representing the condition.\n * @throws {Error} If the operator is not recognized.\n */\n const generate = (condition: Condition): JsonLogicCondition => {\n const { dependsOn, operator, value } = condition;\n const operatorsMap = {\n is: '==',\n isNot: '!=',\n };\n if (!operatorsMap[operator]) {\n throw new Error(`Invalid operator: ${operator}`);\n }\n return { [operatorsMap[operator]]: [{ var: dependsOn }, value] };\n };\n\n /**\n * Validates a condition object against the `ConditionSchema`.\n *\n * Ensures that the condition adheres to the expected structure and types.\n *\n * @param condition - The condition object to validate.\n * @throws {ZodError} If the condition is invalid.\n */\n const validate = (condition: Condition) => {\n ConditionSchema.parse(condition);\n };\n\n /**\n * Evaluates a JSON Logic condition against provided data.\n * @throws {Error} If the condition is invalid.\n */\n const evaluate = (\n condition: jsonLogic.RulesLogic<jsonLogic.AdditionalOperation>,\n data: unknown\n ): boolean => {\n try {\n return jsonLogic.apply(condition, data);\n } catch (err: any) {\n throw new Error(`Invalid condition: ${err.message}`);\n }\n };\n\n return {\n generate,\n validate,\n evaluate,\n };\n}\n"],"names":["ConditionSchema","z","object","dependsOn","string","min","operator","enum","value","union","number","boolean","createRulesEngine","generate","condition","operatorsMap","is","isNot","Error","var","validate","parse","evaluate","data","jsonLogic","apply","err","message"],"mappings":";;;AAGaA,MAAAA,eAAAA,GAAkBC,CAAEC,CAAAA,MAAM,CAAC;AACtCC,IAAAA,SAAAA,EAAWF,CAAEG,CAAAA,MAAM,EAAGC,CAAAA,GAAG,CAAC,CAAA,CAAA;IAC1BC,QAAUL,EAAAA,CAAAA,CAAEM,IAAI,CAAC;AAAC,QAAA,IAAA;AAAM,QAAA;AAAQ,KAAA,CAAA;IAChCC,KAAOP,EAAAA,CAAAA,CAAEQ,KAAK,CAAC;AAACR,QAAAA,CAAAA,CAAEG,MAAM,EAAA;AAAIH,QAAAA,CAAAA,CAAES,MAAM,EAAA;AAAIT,QAAAA,CAAAA,CAAEU,OAAO;AAAG,KAAA;AACtD,CAAG;AAUI,SAASC,iBAAAA,GAAAA;AACd;;;;;;;;;MAUA,MAAMC,WAAW,CAACC,SAAAA,GAAAA;AAChB,QAAA,MAAM,EAAEX,SAAS,EAAEG,QAAQ,EAAEE,KAAK,EAAE,GAAGM,SAAAA;AACvC,QAAA,MAAMC,YAAe,GAAA;YACnBC,EAAI,EAAA,IAAA;YACJC,KAAO,EAAA;AACT,SAAA;AACA,QAAA,IAAI,CAACF,YAAY,CAACT,QAAAA,CAAS,EAAE;AAC3B,YAAA,MAAM,IAAIY,KAAM,CAAA,CAAC,kBAAkB,EAAEZ,SAAS,CAAC,CAAA;AACjD;QACA,OAAO;AAAE,YAAA,CAACS,YAAY,CAACT,QAAS,CAAA,GAAG;AAAC,gBAAA;oBAAEa,GAAKhB,EAAAA;AAAU,iBAAA;AAAGK,gBAAAA;AAAM;AAAC,SAAA;AACjE,KAAA;AAEA;;;;;;;MAQA,MAAMY,WAAW,CAACN,SAAAA,GAAAA;AAChBd,QAAAA,eAAAA,CAAgBqB,KAAK,CAACP,SAAAA,CAAAA;AACxB,KAAA;AAEA;;;MAIA,MAAMQ,QAAW,GAAA,CACfR,SACAS,EAAAA,IAAAA,GAAAA;QAEA,IAAI;YACF,OAAOC,SAAAA,CAAUC,KAAK,CAACX,SAAWS,EAAAA,IAAAA,CAAAA;AACpC,SAAA,CAAE,OAAOG,GAAU,EAAA;YACjB,MAAM,IAAIR,MAAM,CAAC,mBAAmB,EAAEQ,GAAIC,CAAAA,OAAO,CAAC,CAAC,CAAA;AACrD;AACF,KAAA;IAEA,OAAO;AACLd,QAAAA,QAAAA;AACAO,QAAAA,QAAAA;AACAE,QAAAA;AACF,KAAA;AACF;;;;"}
1
+ {"version":3,"file":"rulesEngine.mjs","sources":["../../../../../admin/src/utils/rulesEngine.ts"],"sourcesContent":["import jsonLogic from 'json-logic-js';\nimport { z } from 'zod';\n\nexport const ConditionSchema = z.object({\n dependsOn: z.string().min(1),\n operator: z.enum(['is', 'isNot']),\n value: z.union([z.string(), z.number(), z.boolean()]),\n});\n\nexport type Condition = z.infer<typeof ConditionSchema>;\nexport type JsonLogicCondition = jsonLogic.RulesLogic<jsonLogic.AdditionalOperation>;\nexport type RulesEngine = {\n generate: (condition: Condition) => JsonLogicCondition;\n validate: (condition: Condition) => void;\n evaluate: (condition: JsonLogicCondition, data: unknown) => boolean;\n};\n\nexport function createRulesEngine(): RulesEngine {\n /**\n * Transforms a high-level `Condition` object into a JSON Logic-compatible condition.\n *\n * Converts operators like 'is' and 'isNot' into their JSON Logic equivalents ('==' and '!=').\n * Throws an error if the operator is not supported.\n *\n * @param condition - The condition object to convert.\n * @returns A JSON Logic AST representing the condition.\n * @throws {Error} If the operator is not recognized.\n */\n const generate = (condition: Condition): JsonLogicCondition => {\n const { dependsOn, operator, value } = condition;\n const operatorsMap = {\n is: '==',\n isNot: '!=',\n };\n if (!operatorsMap[operator]) {\n throw new Error(`Invalid operator: ${operator}`);\n }\n return { [operatorsMap[operator]]: [{ var: dependsOn }, value] };\n };\n\n /**\n * Validates a condition object against the `ConditionSchema`.\n *\n * Ensures that the condition adheres to the expected structure and types.\n *\n * @param condition - The condition object to validate.\n * @throws {ZodError} If the condition is invalid.\n */\n const validate = (condition: Condition) => {\n ConditionSchema.parse(condition);\n };\n\n /**\n * Evaluates a JSON Logic condition against provided data.\n * @throws {Error} If the condition is invalid.\n */\n const evaluate = (\n condition: jsonLogic.RulesLogic<jsonLogic.AdditionalOperation>,\n data: unknown\n ): boolean => {\n try {\n return jsonLogic.apply(condition, data);\n } catch (err: any) {\n throw new Error(`Invalid condition: ${err.message}`);\n }\n };\n\n return {\n generate,\n validate,\n evaluate,\n };\n}\n"],"names":["ConditionSchema","z","object","dependsOn","string","min","operator","enum","value","union","number","boolean","createRulesEngine","generate","condition","operatorsMap","is","isNot","Error","var","validate","parse","evaluate","data","jsonLogic","apply","err","message"],"mappings":";;;AAGaA,MAAAA,eAAAA,GAAkBC,CAAEC,CAAAA,MAAM,CAAC;AACtCC,IAAAA,SAAAA,EAAWF,CAAEG,CAAAA,MAAM,EAAGC,CAAAA,GAAG,CAAC,CAAA,CAAA;IAC1BC,QAAUL,EAAAA,CAAAA,CAAEM,IAAI,CAAC;AAAC,QAAA,IAAA;AAAM,QAAA;AAAQ,KAAA,CAAA;IAChCC,KAAOP,EAAAA,CAAAA,CAAEQ,KAAK,CAAC;AAACR,QAAAA,CAAAA,CAAEG,MAAM,EAAA;AAAIH,QAAAA,CAAAA,CAAES,MAAM,EAAA;AAAIT,QAAAA,CAAAA,CAAEU,OAAO;AAAG,KAAA;AACtD,CAAG;AAUI,SAASC,iBAAAA,GAAAA;AACd;;;;;;;;;MAUA,MAAMC,WAAW,CAACC,SAAAA,GAAAA;AAChB,QAAA,MAAM,EAAEX,SAAS,EAAEG,QAAQ,EAAEE,KAAK,EAAE,GAAGM,SAAAA;AACvC,QAAA,MAAMC,YAAe,GAAA;YACnBC,EAAI,EAAA,IAAA;YACJC,KAAO,EAAA;AACT,SAAA;AACA,QAAA,IAAI,CAACF,YAAY,CAACT,QAAAA,CAAS,EAAE;AAC3B,YAAA,MAAM,IAAIY,KAAAA,CAAM,CAAC,kBAAkB,EAAEZ,QAAU,CAAA,CAAA,CAAA;AACjD;QACA,OAAO;AAAE,YAAA,CAACS,YAAY,CAACT,QAAS,CAAA,GAAG;AAAC,gBAAA;oBAAEa,GAAKhB,EAAAA;AAAU,iBAAA;AAAGK,gBAAAA;AAAM;AAAC,SAAA;AACjE,KAAA;AAEA;;;;;;;MAQA,MAAMY,WAAW,CAACN,SAAAA,GAAAA;AAChBd,QAAAA,eAAAA,CAAgBqB,KAAK,CAACP,SAAAA,CAAAA;AACxB,KAAA;AAEA;;;MAIA,MAAMQ,QAAW,GAAA,CACfR,SACAS,EAAAA,IAAAA,GAAAA;QAEA,IAAI;YACF,OAAOC,SAAAA,CAAUC,KAAK,CAACX,SAAWS,EAAAA,IAAAA,CAAAA;AACpC,SAAA,CAAE,OAAOG,GAAU,EAAA;AACjB,YAAA,MAAM,IAAIR,KAAM,CAAA,CAAC,mBAAmB,EAAEQ,GAAAA,CAAIC,OAAO,CAAE,CAAA,CAAA;AACrD;AACF,KAAA;IAEA,OAAO;AACLd,QAAAA,QAAAA;AACAO,QAAAA,QAAAA;AACAE,QAAAA;AACF,KAAA;AACF;;;;"}