@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":"ListPage.mjs","sources":["../../../../../../../../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListPage.tsx"],"sourcesContent":["import { Flex, IconButton, Typography } from '@strapi/design-system';\nimport { Eye } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { Filters } from '../../../../../../../admin/src/components/Filters';\nimport { Layouts } from '../../../../../../../admin/src/components/Layouts/Layout';\nimport { Page } from '../../../../../../../admin/src/components/PageHelpers';\nimport { Pagination } from '../../../../../../../admin/src/components/Pagination';\nimport { Table } from '../../../../../../../admin/src/components/Table';\nimport { useTypedSelector } from '../../../../../../../admin/src/core/store/hooks';\nimport { useQueryParams } from '../../../../../../../admin/src/hooks/useQueryParams';\nimport { useRBAC } from '../../../../../../../admin/src/hooks/useRBAC';\nimport { AuditLog } from '../../../../../../../shared/contracts/audit-logs';\n\nimport { Modal } from './components/Modal';\nimport { useAuditLogsData } from './hooks/useAuditLogsData';\nimport { useFormatTimeStamp } from './hooks/useFormatTimeStamp';\nimport { getDefaultMessage } from './utils/getActionTypesDefaultMessages';\nimport { getDisplayedFilters } from './utils/getDisplayedFilters';\n\nconst ListPage = () => {\n const { formatMessage } = useIntl();\n const permissions = useTypedSelector((state) => state.admin_app.permissions.settings);\n\n const {\n allowedActions: { canRead: canReadAuditLogs, canReadUsers },\n isLoading: isLoadingRBAC,\n } = useRBAC({\n ...permissions?.auditLogs,\n readUsers: permissions?.users.read || [],\n });\n\n const [{ query }, setQuery] = useQueryParams<{ id?: AuditLog['id'] }>();\n const {\n auditLogs,\n users,\n isLoading: isLoadingData,\n hasError,\n } = useAuditLogsData({\n canReadAuditLogs,\n canReadUsers,\n });\n\n const formatTimeStamp = useFormatTimeStamp();\n\n const displayedFilters = getDisplayedFilters({ formatMessage, users, canReadUsers });\n\n const headers: Table.Header<AuditLog, object>[] = [\n {\n name: 'action',\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.action',\n defaultMessage: 'Action',\n }),\n sortable: true,\n },\n {\n name: 'date',\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.date',\n defaultMessage: 'Date',\n }),\n sortable: true,\n },\n {\n name: 'user',\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.user',\n defaultMessage: 'User',\n }),\n sortable: false,\n // In this case, the passed parameter cannot and shouldn't be something else than User\n cellFormatter: ({ user }) => (user ? user.displayName : ''),\n },\n ];\n\n if (hasError) {\n return <Page.Error />;\n }\n\n const isLoading = isLoadingData || isLoadingRBAC;\n\n const { results = [] } = auditLogs ?? {};\n\n return (\n <Page.Main aria-busy={isLoading}>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: formatMessage({\n id: 'global.auditLogs',\n defaultMessage: 'Audit Logs',\n }),\n }\n )}\n </Page.Title>\n <Layouts.Header\n title={formatMessage({\n id: 'global.auditLogs',\n defaultMessage: 'Audit Logs',\n })}\n subtitle={formatMessage({\n id: 'Settings.permissions.auditLogs.listview.header.subtitle',\n defaultMessage: 'Logs of all the activities that happened in your environment',\n })}\n />\n <Layouts.Action\n startActions={\n <Filters.Root options={displayedFilters}>\n <Filters.Trigger />\n <Filters.Popover zIndex={499} />\n <Filters.List />\n </Filters.Root>\n }\n />\n <Layouts.Content>\n <Table.Root rows={results} headers={headers} isLoading={isLoading}>\n <Table.Content>\n <Table.Head>\n {headers.map((header) => (\n <Table.HeaderCell key={header.name} {...header} />\n ))}\n </Table.Head>\n <Table.Empty />\n <Table.Loading />\n <Table.Body>\n {results.map((log) => (\n <Table.Row key={log.id} onClick={() => setQuery({ id: log.id })}>\n {headers.map((header) => {\n const { name, cellFormatter } = header;\n\n switch (name) {\n case 'action':\n return (\n <Table.Cell key={name}>\n <Typography textColor=\"neutral800\">\n {formatMessage(\n {\n id: `Settings.permissions.auditLogs.${log.action}`,\n // @ts-expect-error – getDefaultMessage probably doesn't benefit from being so strongly typed unless we just add string at the end.\n defaultMessage: getDefaultMessage(log.action),\n },\n { model: (log.payload?.model as string) ?? '' }\n )}\n </Typography>\n </Table.Cell>\n );\n case 'date':\n return (\n <Table.Cell key={name}>\n <Typography textColor=\"neutral800\">\n {formatTimeStamp(log.date)}\n </Typography>\n </Table.Cell>\n );\n case 'user':\n return (\n <Table.Cell key={name}>\n <Typography textColor=\"neutral800\">\n {cellFormatter ? cellFormatter(log, header) : '-'}\n </Typography>\n </Table.Cell>\n );\n default:\n return (\n <Table.Cell key={name}>\n <Typography textColor=\"neutral800\">\n {(log[name as keyof AuditLog] as string) || '-'}\n </Typography>\n </Table.Cell>\n );\n }\n })}\n <Table.Cell onClick={(e) => e.stopPropagation()}>\n <Flex justifyContent=\"end\">\n <IconButton\n onClick={() => setQuery({ id: log.id })}\n withTooltip={false}\n label={formatMessage(\n { id: 'app.component.table.view', defaultMessage: '{target} details' },\n { target: `${log.action} action` }\n )}\n variant=\"ghost\"\n >\n <Eye />\n </IconButton>\n </Flex>\n </Table.Cell>\n </Table.Row>\n ))}\n </Table.Body>\n </Table.Content>\n </Table.Root>\n\n <Pagination.Root {...auditLogs?.pagination}>\n <Pagination.PageSize />\n <Pagination.Links />\n </Pagination.Root>\n </Layouts.Content>\n {query?.id && (\n <Modal handleClose={() => setQuery({ id: '' }, 'remove')} logId={query.id.toString()} />\n )}\n </Page.Main>\n );\n};\n\nconst ProtectedListPage = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.auditLogs?.main\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <ListPage />\n </Page.Protect>\n );\n};\n\nexport { ListPage, ProtectedListPage };\n"],"names":["ListPage","formatMessage","useIntl","permissions","useTypedSelector","state","admin_app","settings","allowedActions","canRead","canReadAuditLogs","canReadUsers","isLoading","isLoadingRBAC","useRBAC","auditLogs","readUsers","users","read","query","setQuery","useQueryParams","isLoadingData","hasError","useAuditLogsData","formatTimeStamp","useFormatTimeStamp","displayedFilters","getDisplayedFilters","headers","name","label","id","defaultMessage","sortable","cellFormatter","user","displayName","_jsx","Page","Error","results","_jsxs","Main","aria-busy","Title","Layouts","Header","title","subtitle","Action","startActions","Filters","Root","options","Trigger","Popover","zIndex","List","Content","Table","rows","Head","map","header","HeaderCell","Empty","Loading","Body","log","Row","onClick","Cell","Typography","textColor","action","getDefaultMessage","model","payload","date","e","stopPropagation","Flex","justifyContent","IconButton","withTooltip","target","variant","Eye","Pagination","pagination","PageSize","Links","Modal","handleClose","logId","toString","ProtectedListPage","main","Protect"],"mappings":"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"}
1
+ {"version":3,"file":"ListPage.mjs","sources":["../../../../../../../../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListPage.tsx"],"sourcesContent":["import { Flex, IconButton, Typography } from '@strapi/design-system';\nimport { Eye } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { Filters } from '../../../../../../../admin/src/components/Filters';\nimport { Layouts } from '../../../../../../../admin/src/components/Layouts/Layout';\nimport { Page } from '../../../../../../../admin/src/components/PageHelpers';\nimport { Pagination } from '../../../../../../../admin/src/components/Pagination';\nimport { Table } from '../../../../../../../admin/src/components/Table';\nimport { useTypedSelector } from '../../../../../../../admin/src/core/store/hooks';\nimport { useQueryParams } from '../../../../../../../admin/src/hooks/useQueryParams';\nimport { useRBAC } from '../../../../../../../admin/src/hooks/useRBAC';\nimport { AuditLog } from '../../../../../../../shared/contracts/audit-logs';\n\nimport { Modal } from './components/Modal';\nimport { useAuditLogsData } from './hooks/useAuditLogsData';\nimport { useFormatTimeStamp } from './hooks/useFormatTimeStamp';\nimport { getDefaultMessage } from './utils/getActionTypesDefaultMessages';\nimport { getDisplayedFilters } from './utils/getDisplayedFilters';\n\nconst ListPage = () => {\n const { formatMessage } = useIntl();\n const permissions = useTypedSelector((state) => state.admin_app.permissions.settings);\n\n const {\n allowedActions: { canRead: canReadAuditLogs, canReadUsers },\n isLoading: isLoadingRBAC,\n } = useRBAC({\n ...permissions?.auditLogs,\n readUsers: permissions?.users.read || [],\n });\n\n const [{ query }, setQuery] = useQueryParams<{ id?: AuditLog['id'] }>();\n const {\n auditLogs,\n users,\n isLoading: isLoadingData,\n hasError,\n } = useAuditLogsData({\n canReadAuditLogs,\n canReadUsers,\n });\n\n const formatTimeStamp = useFormatTimeStamp();\n\n const displayedFilters = getDisplayedFilters({ formatMessage, users, canReadUsers });\n\n const headers: Table.Header<AuditLog, object>[] = [\n {\n name: 'action',\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.action',\n defaultMessage: 'Action',\n }),\n sortable: true,\n },\n {\n name: 'date',\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.date',\n defaultMessage: 'Date',\n }),\n sortable: true,\n },\n {\n name: 'user',\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.user',\n defaultMessage: 'User',\n }),\n sortable: false,\n // In this case, the passed parameter cannot and shouldn't be something else than User\n cellFormatter: ({ user }) => (user ? user.displayName : ''),\n },\n ];\n\n if (hasError) {\n return <Page.Error />;\n }\n\n const isLoading = isLoadingData || isLoadingRBAC;\n\n const { results = [] } = auditLogs ?? {};\n\n return (\n <Page.Main aria-busy={isLoading}>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: formatMessage({\n id: 'global.auditLogs',\n defaultMessage: 'Audit Logs',\n }),\n }\n )}\n </Page.Title>\n <Layouts.Header\n title={formatMessage({\n id: 'global.auditLogs',\n defaultMessage: 'Audit Logs',\n })}\n subtitle={formatMessage({\n id: 'Settings.permissions.auditLogs.listview.header.subtitle',\n defaultMessage: 'Logs of all the activities that happened in your environment',\n })}\n />\n <Layouts.Action\n startActions={\n <Filters.Root options={displayedFilters}>\n <Filters.Trigger />\n <Filters.Popover zIndex={499} />\n <Filters.List />\n </Filters.Root>\n }\n />\n <Layouts.Content>\n <Table.Root rows={results} headers={headers} isLoading={isLoading}>\n <Table.Content>\n <Table.Head>\n {headers.map((header) => (\n <Table.HeaderCell key={header.name} {...header} />\n ))}\n </Table.Head>\n <Table.Empty />\n <Table.Loading />\n <Table.Body>\n {results.map((log) => (\n <Table.Row key={log.id} onClick={() => setQuery({ id: log.id }, 'push', true)}>\n {headers.map((header) => {\n const { name, cellFormatter } = header;\n\n switch (name) {\n case 'action':\n return (\n <Table.Cell key={name}>\n <Typography textColor=\"neutral800\">\n {formatMessage(\n {\n id: `Settings.permissions.auditLogs.${log.action}`,\n // @ts-expect-error – getDefaultMessage probably doesn't benefit from being so strongly typed unless we just add string at the end.\n defaultMessage: getDefaultMessage(log.action),\n },\n { model: (log.payload?.model as string) ?? '' }\n )}\n </Typography>\n </Table.Cell>\n );\n case 'date':\n return (\n <Table.Cell key={name}>\n <Typography textColor=\"neutral800\">\n {formatTimeStamp(log.date)}\n </Typography>\n </Table.Cell>\n );\n case 'user':\n return (\n <Table.Cell key={name}>\n <Typography textColor=\"neutral800\">\n {cellFormatter ? cellFormatter(log, header) : '-'}\n </Typography>\n </Table.Cell>\n );\n default:\n return (\n <Table.Cell key={name}>\n <Typography textColor=\"neutral800\">\n {(log[name as keyof AuditLog] as string) || '-'}\n </Typography>\n </Table.Cell>\n );\n }\n })}\n <Table.Cell onClick={(e) => e.stopPropagation()}>\n <Flex justifyContent=\"end\">\n <IconButton\n onClick={() => setQuery({ id: log.id }, 'push', true)}\n withTooltip={false}\n label={formatMessage(\n { id: 'app.component.table.view', defaultMessage: '{target} details' },\n { target: `${log.action} action` }\n )}\n variant=\"ghost\"\n >\n <Eye />\n </IconButton>\n </Flex>\n </Table.Cell>\n </Table.Row>\n ))}\n </Table.Body>\n </Table.Content>\n </Table.Root>\n\n <Pagination.Root {...auditLogs?.pagination}>\n <Pagination.PageSize />\n <Pagination.Links />\n </Pagination.Root>\n </Layouts.Content>\n {query?.id && (\n <Modal\n handleClose={() => setQuery({ id: '' }, 'remove', true)}\n logId={query.id.toString()}\n />\n )}\n </Page.Main>\n );\n};\n\nconst ProtectedListPage = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.auditLogs?.main\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <ListPage />\n </Page.Protect>\n );\n};\n\nexport { ListPage, ProtectedListPage };\n"],"names":["ListPage","formatMessage","useIntl","permissions","useTypedSelector","state","admin_app","settings","allowedActions","canRead","canReadAuditLogs","canReadUsers","isLoading","isLoadingRBAC","useRBAC","auditLogs","readUsers","users","read","query","setQuery","useQueryParams","isLoadingData","hasError","useAuditLogsData","formatTimeStamp","useFormatTimeStamp","displayedFilters","getDisplayedFilters","headers","name","label","id","defaultMessage","sortable","cellFormatter","user","displayName","_jsx","Page","Error","results","_jsxs","Main","aria-busy","Title","Layouts","Header","title","subtitle","Action","startActions","Filters","Root","options","Trigger","Popover","zIndex","List","Content","Table","rows","Head","map","header","HeaderCell","Empty","Loading","Body","log","Row","onClick","Cell","Typography","textColor","action","getDefaultMessage","model","payload","date","e","stopPropagation","Flex","justifyContent","IconButton","withTooltip","target","variant","Eye","Pagination","pagination","PageSize","Links","Modal","handleClose","logId","toString","ProtectedListPage","main","Protect"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.js","sources":["../../../../../../../../../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/components/Modal.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Box,\n Flex,\n Grid,\n JSONInput,\n Loader,\n Modal as DSModal,\n Typography,\n Breadcrumbs,\n Crumb,\n Field,\n} from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { useNotification } from '../../../../../../../../admin/src/features/Notifications';\nimport { useAPIErrorHandler } from '../../../../../../../../admin/src/hooks/useAPIErrorHandler';\nimport { AuditLog } from '../../../../../../../../shared/contracts/audit-logs';\nimport { useGetAuditLogQuery } from '../../../../../services/auditLogs';\nimport { useFormatTimeStamp } from '../hooks/useFormatTimeStamp';\nimport { actionTypes, getDefaultMessage } from '../utils/getActionTypesDefaultMessages';\n\ninterface ModalProps {\n handleClose: () => void;\n logId: string;\n}\n\nexport const Modal = ({ handleClose, logId }: ModalProps) => {\n const { toggleNotification } = useNotification();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n\n const { data, error, isLoading } = useGetAuditLogQuery(logId);\n\n React.useEffect(() => {\n if (error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n handleClose();\n }\n }, [error, formatAPIError, handleClose, toggleNotification]);\n\n const formatTimeStamp = useFormatTimeStamp();\n const formattedDate = data && 'date' in data ? formatTimeStamp(data.date) : '';\n\n return (\n <DSModal.Root defaultOpen onOpenChange={handleClose}>\n <DSModal.Content>\n <DSModal.Header>\n {/**\n * TODO: this is not semantically correct and should be amended.\n */}\n <Breadcrumbs label={formattedDate} id=\"title\">\n <Crumb isCurrent>{formattedDate}</Crumb>\n </Breadcrumbs>\n </DSModal.Header>\n <DSModal.Body>\n <ActionBody isLoading={isLoading} data={data as AuditLog} formattedDate={formattedDate} />\n </DSModal.Body>\n </DSModal.Content>\n </DSModal.Root>\n );\n};\n\ninterface ActionBodyProps {\n isLoading?: boolean;\n data: AuditLog;\n formattedDate: string;\n}\n\nconst ActionBody = ({ isLoading, data, formattedDate }: ActionBodyProps) => {\n const { formatMessage } = useIntl();\n\n if (isLoading) {\n return (\n <Flex padding={7} justifyContent=\"center\" alignItems=\"center\">\n {/**\n * TODO: this will need to be translated.\n */}\n <Loader>Loading content...</Loader>\n </Flex>\n );\n }\n\n const { action, user, payload } = data;\n\n return (\n <>\n <Box marginBottom={3}>\n <Typography variant=\"delta\" id=\"title\">\n {formatMessage({\n id: 'Settings.permissions.auditLogs.details',\n defaultMessage: 'Log Details',\n })}\n </Typography>\n </Box>\n <Grid.Root\n gap={4}\n gridCols={2}\n paddingTop={4}\n paddingBottom={4}\n paddingLeft={6}\n paddingRight={6}\n marginBottom={4}\n background=\"neutral100\"\n hasRadius\n >\n <ActionItem\n actionLabel={formatMessage({\n id: 'Settings.permissions.auditLogs.action',\n defaultMessage: 'Action',\n })}\n actionName={formatMessage(\n {\n id: `Settings.permissions.auditLogs.${action}`,\n defaultMessage: getDefaultMessage(action as keyof typeof actionTypes),\n },\n // @ts-expect-error - any\n { model: payload?.model }\n )}\n />\n <ActionItem\n actionLabel={formatMessage({\n id: 'Settings.permissions.auditLogs.date',\n defaultMessage: 'Date',\n })}\n actionName={formattedDate}\n />\n <ActionItem\n actionLabel={formatMessage({\n id: 'Settings.permissions.auditLogs.user',\n defaultMessage: 'User',\n })}\n actionName={user?.displayName || '-'}\n />\n <ActionItem\n actionLabel={formatMessage({\n id: 'Settings.permissions.auditLogs.userId',\n defaultMessage: 'User ID',\n })}\n actionName={user?.id.toString() || '-'}\n />\n </Grid.Root>\n <Field.Root>\n <Field.Label>\n {formatMessage({\n id: 'Settings.permissions.auditLogs.payload',\n defaultMessage: 'Payload',\n })}\n </Field.Label>\n <Payload value={JSON.stringify(payload, null, 2)} disabled />\n </Field.Root>\n </>\n );\n};\n\nconst Payload = styled(JSONInput)`\n max-width: 100%;\n overflow: scroll;\n`;\n\ninterface ActionItemProps {\n actionLabel: string;\n actionName: string;\n}\n\nconst ActionItem = ({ actionLabel, actionName }: ActionItemProps) => {\n return (\n <Flex direction=\"column\" alignItems=\"baseline\" gap={1}>\n <Typography textColor=\"neutral600\" variant=\"sigma\">\n {actionLabel}\n </Typography>\n <Typography textColor=\"neutral600\">{actionName}</Typography>\n </Flex>\n );\n};\n"],"names":["Modal","handleClose","logId","toggleNotification","useNotification","_unstableFormatAPIError","formatAPIError","useAPIErrorHandler","data","error","isLoading","useGetAuditLogQuery","React","useEffect","type","message","formatTimeStamp","useFormatTimeStamp","formattedDate","date","_jsx","DSModal","Root","defaultOpen","onOpenChange","_jsxs","Content","Header","Breadcrumbs","label","id","Crumb","isCurrent","Body","ActionBody","formatMessage","useIntl","Flex","padding","justifyContent","alignItems","Loader","action","user","payload","_Fragment","Box","marginBottom","Typography","variant","defaultMessage","Grid","gap","gridCols","paddingTop","paddingBottom","paddingLeft","paddingRight","background","hasRadius","ActionItem","actionLabel","actionName","getDefaultMessage","model","displayName","toString","Field","Label","Payload","value","JSON","stringify","disabled","styled","JSONInput","direction","textColor"],"mappings":"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"}
1
+ {"version":3,"file":"Modal.js","sources":["../../../../../../../../../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/components/Modal.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Box,\n Flex,\n Grid,\n JSONInput,\n Loader,\n Modal as DSModal,\n Typography,\n Breadcrumbs,\n Crumb,\n Field,\n} from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { useNotification } from '../../../../../../../../admin/src/features/Notifications';\nimport { useAPIErrorHandler } from '../../../../../../../../admin/src/hooks/useAPIErrorHandler';\nimport { AuditLog } from '../../../../../../../../shared/contracts/audit-logs';\nimport { useGetAuditLogQuery } from '../../../../../services/auditLogs';\nimport { useFormatTimeStamp } from '../hooks/useFormatTimeStamp';\nimport { actionTypes, getDefaultMessage } from '../utils/getActionTypesDefaultMessages';\n\ninterface ModalProps {\n handleClose: () => void;\n logId: string;\n}\n\nexport const Modal = ({ handleClose, logId }: ModalProps) => {\n const { toggleNotification } = useNotification();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n\n const { data, error, isLoading } = useGetAuditLogQuery(logId);\n\n React.useEffect(() => {\n if (error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n handleClose();\n }\n }, [error, formatAPIError, handleClose, toggleNotification]);\n\n const formatTimeStamp = useFormatTimeStamp();\n const formattedDate = data && 'date' in data ? formatTimeStamp(data.date) : '';\n\n return (\n <DSModal.Root defaultOpen onOpenChange={handleClose}>\n <DSModal.Content>\n <DSModal.Header>\n {/**\n * TODO: this is not semantically correct and should be amended.\n */}\n <Breadcrumbs label={formattedDate} id=\"title\">\n <Crumb isCurrent>{formattedDate}</Crumb>\n </Breadcrumbs>\n </DSModal.Header>\n <DSModal.Body>\n <ActionBody isLoading={isLoading} data={data as AuditLog} formattedDate={formattedDate} />\n </DSModal.Body>\n </DSModal.Content>\n </DSModal.Root>\n );\n};\n\ninterface ActionBodyProps {\n isLoading?: boolean;\n data: AuditLog;\n formattedDate: string;\n}\n\nconst ActionBody = ({ isLoading, data, formattedDate }: ActionBodyProps) => {\n const { formatMessage } = useIntl();\n\n if (isLoading) {\n return (\n <Flex padding={7} justifyContent=\"center\" alignItems=\"center\">\n {/**\n * TODO: this will need to be translated.\n */}\n <Loader>Loading content...</Loader>\n </Flex>\n );\n }\n\n const { action, user, payload } = data;\n\n return (\n <>\n <Box marginBottom={3}>\n <Typography variant=\"delta\" id=\"title\">\n {formatMessage({\n id: 'Settings.permissions.auditLogs.details',\n defaultMessage: 'Log Details',\n })}\n </Typography>\n </Box>\n <Grid.Root\n gap={4}\n gridCols={2}\n paddingTop={4}\n paddingBottom={4}\n paddingLeft={6}\n paddingRight={6}\n marginBottom={4}\n background=\"neutral100\"\n hasRadius\n >\n <ActionItem\n actionLabel={formatMessage({\n id: 'Settings.permissions.auditLogs.action',\n defaultMessage: 'Action',\n })}\n actionName={formatMessage(\n {\n id: `Settings.permissions.auditLogs.${action}`,\n defaultMessage: getDefaultMessage(action as keyof typeof actionTypes),\n },\n // @ts-expect-error - any\n { model: payload?.model }\n )}\n />\n <ActionItem\n actionLabel={formatMessage({\n id: 'Settings.permissions.auditLogs.date',\n defaultMessage: 'Date',\n })}\n actionName={formattedDate}\n />\n <ActionItem\n actionLabel={formatMessage({\n id: 'Settings.permissions.auditLogs.user',\n defaultMessage: 'User',\n })}\n actionName={user?.displayName || '-'}\n />\n <ActionItem\n actionLabel={formatMessage({\n id: 'Settings.permissions.auditLogs.userId',\n defaultMessage: 'User ID',\n })}\n actionName={user?.id.toString() || '-'}\n />\n </Grid.Root>\n <Field.Root>\n <Field.Label>\n {formatMessage({\n id: 'Settings.permissions.auditLogs.payload',\n defaultMessage: 'Payload',\n })}\n </Field.Label>\n <Payload value={JSON.stringify(payload, null, 2)} disabled />\n </Field.Root>\n </>\n );\n};\n\nconst Payload = styled(JSONInput)`\n max-width: 100%;\n overflow: scroll;\n`;\n\ninterface ActionItemProps {\n actionLabel: string;\n actionName: string;\n}\n\nconst ActionItem = ({ actionLabel, actionName }: ActionItemProps) => {\n return (\n <Flex direction=\"column\" alignItems=\"baseline\" gap={1}>\n <Typography textColor=\"neutral600\" variant=\"sigma\">\n {actionLabel}\n </Typography>\n <Typography textColor=\"neutral600\">{actionName}</Typography>\n </Flex>\n );\n};\n"],"names":["Modal","handleClose","logId","toggleNotification","useNotification","_unstableFormatAPIError","formatAPIError","useAPIErrorHandler","data","error","isLoading","useGetAuditLogQuery","React","useEffect","type","message","formatTimeStamp","useFormatTimeStamp","formattedDate","date","_jsx","DSModal","Root","defaultOpen","onOpenChange","_jsxs","Content","Header","Breadcrumbs","label","id","Crumb","isCurrent","Body","ActionBody","formatMessage","useIntl","Flex","padding","justifyContent","alignItems","Loader","action","user","payload","_Fragment","Box","marginBottom","Typography","variant","defaultMessage","Grid","gap","gridCols","paddingTop","paddingBottom","paddingLeft","paddingRight","background","hasRadius","ActionItem","actionLabel","actionName","getDefaultMessage","model","displayName","toString","Field","Label","Payload","value","JSON","stringify","disabled","styled","JSONInput","direction","textColor"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.mjs","sources":["../../../../../../../../../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/components/Modal.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Box,\n Flex,\n Grid,\n JSONInput,\n Loader,\n Modal as DSModal,\n Typography,\n Breadcrumbs,\n Crumb,\n Field,\n} from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { useNotification } from '../../../../../../../../admin/src/features/Notifications';\nimport { useAPIErrorHandler } from '../../../../../../../../admin/src/hooks/useAPIErrorHandler';\nimport { AuditLog } from '../../../../../../../../shared/contracts/audit-logs';\nimport { useGetAuditLogQuery } from '../../../../../services/auditLogs';\nimport { useFormatTimeStamp } from '../hooks/useFormatTimeStamp';\nimport { actionTypes, getDefaultMessage } from '../utils/getActionTypesDefaultMessages';\n\ninterface ModalProps {\n handleClose: () => void;\n logId: string;\n}\n\nexport const Modal = ({ handleClose, logId }: ModalProps) => {\n const { toggleNotification } = useNotification();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n\n const { data, error, isLoading } = useGetAuditLogQuery(logId);\n\n React.useEffect(() => {\n if (error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n handleClose();\n }\n }, [error, formatAPIError, handleClose, toggleNotification]);\n\n const formatTimeStamp = useFormatTimeStamp();\n const formattedDate = data && 'date' in data ? formatTimeStamp(data.date) : '';\n\n return (\n <DSModal.Root defaultOpen onOpenChange={handleClose}>\n <DSModal.Content>\n <DSModal.Header>\n {/**\n * TODO: this is not semantically correct and should be amended.\n */}\n <Breadcrumbs label={formattedDate} id=\"title\">\n <Crumb isCurrent>{formattedDate}</Crumb>\n </Breadcrumbs>\n </DSModal.Header>\n <DSModal.Body>\n <ActionBody isLoading={isLoading} data={data as AuditLog} formattedDate={formattedDate} />\n </DSModal.Body>\n </DSModal.Content>\n </DSModal.Root>\n );\n};\n\ninterface ActionBodyProps {\n isLoading?: boolean;\n data: AuditLog;\n formattedDate: string;\n}\n\nconst ActionBody = ({ isLoading, data, formattedDate }: ActionBodyProps) => {\n const { formatMessage } = useIntl();\n\n if (isLoading) {\n return (\n <Flex padding={7} justifyContent=\"center\" alignItems=\"center\">\n {/**\n * TODO: this will need to be translated.\n */}\n <Loader>Loading content...</Loader>\n </Flex>\n );\n }\n\n const { action, user, payload } = data;\n\n return (\n <>\n <Box marginBottom={3}>\n <Typography variant=\"delta\" id=\"title\">\n {formatMessage({\n id: 'Settings.permissions.auditLogs.details',\n defaultMessage: 'Log Details',\n })}\n </Typography>\n </Box>\n <Grid.Root\n gap={4}\n gridCols={2}\n paddingTop={4}\n paddingBottom={4}\n paddingLeft={6}\n paddingRight={6}\n marginBottom={4}\n background=\"neutral100\"\n hasRadius\n >\n <ActionItem\n actionLabel={formatMessage({\n id: 'Settings.permissions.auditLogs.action',\n defaultMessage: 'Action',\n })}\n actionName={formatMessage(\n {\n id: `Settings.permissions.auditLogs.${action}`,\n defaultMessage: getDefaultMessage(action as keyof typeof actionTypes),\n },\n // @ts-expect-error - any\n { model: payload?.model }\n )}\n />\n <ActionItem\n actionLabel={formatMessage({\n id: 'Settings.permissions.auditLogs.date',\n defaultMessage: 'Date',\n })}\n actionName={formattedDate}\n />\n <ActionItem\n actionLabel={formatMessage({\n id: 'Settings.permissions.auditLogs.user',\n defaultMessage: 'User',\n })}\n actionName={user?.displayName || '-'}\n />\n <ActionItem\n actionLabel={formatMessage({\n id: 'Settings.permissions.auditLogs.userId',\n defaultMessage: 'User ID',\n })}\n actionName={user?.id.toString() || '-'}\n />\n </Grid.Root>\n <Field.Root>\n <Field.Label>\n {formatMessage({\n id: 'Settings.permissions.auditLogs.payload',\n defaultMessage: 'Payload',\n })}\n </Field.Label>\n <Payload value={JSON.stringify(payload, null, 2)} disabled />\n </Field.Root>\n </>\n );\n};\n\nconst Payload = styled(JSONInput)`\n max-width: 100%;\n overflow: scroll;\n`;\n\ninterface ActionItemProps {\n actionLabel: string;\n actionName: string;\n}\n\nconst ActionItem = ({ actionLabel, actionName }: ActionItemProps) => {\n return (\n <Flex direction=\"column\" alignItems=\"baseline\" gap={1}>\n <Typography textColor=\"neutral600\" variant=\"sigma\">\n {actionLabel}\n </Typography>\n <Typography textColor=\"neutral600\">{actionName}</Typography>\n </Flex>\n );\n};\n"],"names":["Modal","handleClose","logId","toggleNotification","useNotification","_unstableFormatAPIError","formatAPIError","useAPIErrorHandler","data","error","isLoading","useGetAuditLogQuery","React","useEffect","type","message","formatTimeStamp","useFormatTimeStamp","formattedDate","date","_jsx","DSModal","Root","defaultOpen","onOpenChange","_jsxs","Content","Header","Breadcrumbs","label","id","Crumb","isCurrent","Body","ActionBody","formatMessage","useIntl","Flex","padding","justifyContent","alignItems","Loader","action","user","payload","_Fragment","Box","marginBottom","Typography","variant","defaultMessage","Grid","gap","gridCols","paddingTop","paddingBottom","paddingLeft","paddingRight","background","hasRadius","ActionItem","actionLabel","actionName","getDefaultMessage","model","displayName","toString","Field","Label","Payload","value","JSON","stringify","disabled","styled","JSONInput","direction","textColor"],"mappings":"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"}
1
+ {"version":3,"file":"Modal.mjs","sources":["../../../../../../../../../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/components/Modal.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Box,\n Flex,\n Grid,\n JSONInput,\n Loader,\n Modal as DSModal,\n Typography,\n Breadcrumbs,\n Crumb,\n Field,\n} from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { useNotification } from '../../../../../../../../admin/src/features/Notifications';\nimport { useAPIErrorHandler } from '../../../../../../../../admin/src/hooks/useAPIErrorHandler';\nimport { AuditLog } from '../../../../../../../../shared/contracts/audit-logs';\nimport { useGetAuditLogQuery } from '../../../../../services/auditLogs';\nimport { useFormatTimeStamp } from '../hooks/useFormatTimeStamp';\nimport { actionTypes, getDefaultMessage } from '../utils/getActionTypesDefaultMessages';\n\ninterface ModalProps {\n handleClose: () => void;\n logId: string;\n}\n\nexport const Modal = ({ handleClose, logId }: ModalProps) => {\n const { toggleNotification } = useNotification();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n\n const { data, error, isLoading } = useGetAuditLogQuery(logId);\n\n React.useEffect(() => {\n if (error) {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(error),\n });\n handleClose();\n }\n }, [error, formatAPIError, handleClose, toggleNotification]);\n\n const formatTimeStamp = useFormatTimeStamp();\n const formattedDate = data && 'date' in data ? formatTimeStamp(data.date) : '';\n\n return (\n <DSModal.Root defaultOpen onOpenChange={handleClose}>\n <DSModal.Content>\n <DSModal.Header>\n {/**\n * TODO: this is not semantically correct and should be amended.\n */}\n <Breadcrumbs label={formattedDate} id=\"title\">\n <Crumb isCurrent>{formattedDate}</Crumb>\n </Breadcrumbs>\n </DSModal.Header>\n <DSModal.Body>\n <ActionBody isLoading={isLoading} data={data as AuditLog} formattedDate={formattedDate} />\n </DSModal.Body>\n </DSModal.Content>\n </DSModal.Root>\n );\n};\n\ninterface ActionBodyProps {\n isLoading?: boolean;\n data: AuditLog;\n formattedDate: string;\n}\n\nconst ActionBody = ({ isLoading, data, formattedDate }: ActionBodyProps) => {\n const { formatMessage } = useIntl();\n\n if (isLoading) {\n return (\n <Flex padding={7} justifyContent=\"center\" alignItems=\"center\">\n {/**\n * TODO: this will need to be translated.\n */}\n <Loader>Loading content...</Loader>\n </Flex>\n );\n }\n\n const { action, user, payload } = data;\n\n return (\n <>\n <Box marginBottom={3}>\n <Typography variant=\"delta\" id=\"title\">\n {formatMessage({\n id: 'Settings.permissions.auditLogs.details',\n defaultMessage: 'Log Details',\n })}\n </Typography>\n </Box>\n <Grid.Root\n gap={4}\n gridCols={2}\n paddingTop={4}\n paddingBottom={4}\n paddingLeft={6}\n paddingRight={6}\n marginBottom={4}\n background=\"neutral100\"\n hasRadius\n >\n <ActionItem\n actionLabel={formatMessage({\n id: 'Settings.permissions.auditLogs.action',\n defaultMessage: 'Action',\n })}\n actionName={formatMessage(\n {\n id: `Settings.permissions.auditLogs.${action}`,\n defaultMessage: getDefaultMessage(action as keyof typeof actionTypes),\n },\n // @ts-expect-error - any\n { model: payload?.model }\n )}\n />\n <ActionItem\n actionLabel={formatMessage({\n id: 'Settings.permissions.auditLogs.date',\n defaultMessage: 'Date',\n })}\n actionName={formattedDate}\n />\n <ActionItem\n actionLabel={formatMessage({\n id: 'Settings.permissions.auditLogs.user',\n defaultMessage: 'User',\n })}\n actionName={user?.displayName || '-'}\n />\n <ActionItem\n actionLabel={formatMessage({\n id: 'Settings.permissions.auditLogs.userId',\n defaultMessage: 'User ID',\n })}\n actionName={user?.id.toString() || '-'}\n />\n </Grid.Root>\n <Field.Root>\n <Field.Label>\n {formatMessage({\n id: 'Settings.permissions.auditLogs.payload',\n defaultMessage: 'Payload',\n })}\n </Field.Label>\n <Payload value={JSON.stringify(payload, null, 2)} disabled />\n </Field.Root>\n </>\n );\n};\n\nconst Payload = styled(JSONInput)`\n max-width: 100%;\n overflow: scroll;\n`;\n\ninterface ActionItemProps {\n actionLabel: string;\n actionName: string;\n}\n\nconst ActionItem = ({ actionLabel, actionName }: ActionItemProps) => {\n return (\n <Flex direction=\"column\" alignItems=\"baseline\" gap={1}>\n <Typography textColor=\"neutral600\" variant=\"sigma\">\n {actionLabel}\n </Typography>\n <Typography textColor=\"neutral600\">{actionName}</Typography>\n </Flex>\n );\n};\n"],"names":["Modal","handleClose","logId","toggleNotification","useNotification","_unstableFormatAPIError","formatAPIError","useAPIErrorHandler","data","error","isLoading","useGetAuditLogQuery","React","useEffect","type","message","formatTimeStamp","useFormatTimeStamp","formattedDate","date","_jsx","DSModal","Root","defaultOpen","onOpenChange","_jsxs","Content","Header","Breadcrumbs","label","id","Crumb","isCurrent","Body","ActionBody","formatMessage","useIntl","Flex","padding","justifyContent","alignItems","Loader","action","user","payload","_Fragment","Box","marginBottom","Typography","variant","defaultMessage","Grid","gap","gridCols","paddingTop","paddingBottom","paddingLeft","paddingRight","background","hasRadius","ActionItem","actionLabel","actionName","getDefaultMessage","model","displayName","toString","Field","Label","Payload","value","JSON","stringify","disabled","styled","JSONInput","direction","textColor"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useFormatTimeStamp.js","sources":["../../../../../../../../../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/hooks/useFormatTimeStamp.ts"],"sourcesContent":["import parseISO from 'date-fns/parseISO';\nimport { useIntl } from 'react-intl';\n\nexport const useFormatTimeStamp = () => {\n const { formatDate } = useIntl();\n\n const formatTimeStamp = (value: string) => {\n const date = parseISO(value);\n\n const formattedDate = formatDate(date, {\n dateStyle: 'long',\n });\n const formattedTime = formatDate(date, {\n timeStyle: 'medium',\n hourCycle: 'h24',\n });\n\n return `${formattedDate}, ${formattedTime}`;\n };\n\n return formatTimeStamp;\n};\n"],"names":["useFormatTimeStamp","formatDate","useIntl","formatTimeStamp","value","date","parseISO","formattedDate","dateStyle","formattedTime","timeStyle","hourCycle"],"mappings":";;;;;MAGaA,kBAAqB,GAAA,IAAA;IAChC,MAAM,EAAEC,UAAU,EAAE,GAAGC,iBAAAA,EAAAA;AAEvB,IAAA,MAAMC,kBAAkB,CAACC,KAAAA,GAAAA;AACvB,QAAA,MAAMC,OAAOC,QAASF,CAAAA,KAAAA,CAAAA;QAEtB,MAAMG,aAAAA,GAAgBN,WAAWI,IAAM,EAAA;YACrCG,SAAW,EAAA;AACb,SAAA,CAAA;QACA,MAAMC,aAAAA,GAAgBR,WAAWI,IAAM,EAAA;YACrCK,SAAW,EAAA,QAAA;YACXC,SAAW,EAAA;AACb,SAAA,CAAA;AAEA,QAAA,OAAO,CAAC,EAAEJ,aAAAA,CAAc,EAAE,EAAEE,cAAc,CAAC;AAC7C,KAAA;IAEA,OAAON,eAAAA;AACT;;;;"}
1
+ {"version":3,"file":"useFormatTimeStamp.js","sources":["../../../../../../../../../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/hooks/useFormatTimeStamp.ts"],"sourcesContent":["import parseISO from 'date-fns/parseISO';\nimport { useIntl } from 'react-intl';\n\nexport const useFormatTimeStamp = () => {\n const { formatDate } = useIntl();\n\n const formatTimeStamp = (value: string) => {\n const date = parseISO(value);\n\n const formattedDate = formatDate(date, {\n dateStyle: 'long',\n });\n const formattedTime = formatDate(date, {\n timeStyle: 'medium',\n hourCycle: 'h24',\n });\n\n return `${formattedDate}, ${formattedTime}`;\n };\n\n return formatTimeStamp;\n};\n"],"names":["useFormatTimeStamp","formatDate","useIntl","formatTimeStamp","value","date","parseISO","formattedDate","dateStyle","formattedTime","timeStyle","hourCycle"],"mappings":";;;;;MAGaA,kBAAqB,GAAA,IAAA;IAChC,MAAM,EAAEC,UAAU,EAAE,GAAGC,iBAAAA,EAAAA;AAEvB,IAAA,MAAMC,kBAAkB,CAACC,KAAAA,GAAAA;AACvB,QAAA,MAAMC,OAAOC,QAASF,CAAAA,KAAAA,CAAAA;QAEtB,MAAMG,aAAAA,GAAgBN,WAAWI,IAAM,EAAA;YACrCG,SAAW,EAAA;AACb,SAAA,CAAA;QACA,MAAMC,aAAAA,GAAgBR,WAAWI,IAAM,EAAA;YACrCK,SAAW,EAAA,QAAA;YACXC,SAAW,EAAA;AACb,SAAA,CAAA;AAEA,QAAA,OAAO,CAAGJ,EAAAA,aAAAA,CAAc,EAAE,EAAEE,aAAe,CAAA,CAAA;AAC7C,KAAA;IAEA,OAAON,eAAAA;AACT;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useFormatTimeStamp.mjs","sources":["../../../../../../../../../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/hooks/useFormatTimeStamp.ts"],"sourcesContent":["import parseISO from 'date-fns/parseISO';\nimport { useIntl } from 'react-intl';\n\nexport const useFormatTimeStamp = () => {\n const { formatDate } = useIntl();\n\n const formatTimeStamp = (value: string) => {\n const date = parseISO(value);\n\n const formattedDate = formatDate(date, {\n dateStyle: 'long',\n });\n const formattedTime = formatDate(date, {\n timeStyle: 'medium',\n hourCycle: 'h24',\n });\n\n return `${formattedDate}, ${formattedTime}`;\n };\n\n return formatTimeStamp;\n};\n"],"names":["useFormatTimeStamp","formatDate","useIntl","formatTimeStamp","value","date","parseISO","formattedDate","dateStyle","formattedTime","timeStyle","hourCycle"],"mappings":";;;MAGaA,kBAAqB,GAAA,IAAA;IAChC,MAAM,EAAEC,UAAU,EAAE,GAAGC,OAAAA,EAAAA;AAEvB,IAAA,MAAMC,kBAAkB,CAACC,KAAAA,GAAAA;AACvB,QAAA,MAAMC,OAAOC,QAASF,CAAAA,KAAAA,CAAAA;QAEtB,MAAMG,aAAAA,GAAgBN,WAAWI,IAAM,EAAA;YACrCG,SAAW,EAAA;AACb,SAAA,CAAA;QACA,MAAMC,aAAAA,GAAgBR,WAAWI,IAAM,EAAA;YACrCK,SAAW,EAAA,QAAA;YACXC,SAAW,EAAA;AACb,SAAA,CAAA;AAEA,QAAA,OAAO,CAAC,EAAEJ,aAAAA,CAAc,EAAE,EAAEE,cAAc,CAAC;AAC7C,KAAA;IAEA,OAAON,eAAAA;AACT;;;;"}
1
+ {"version":3,"file":"useFormatTimeStamp.mjs","sources":["../../../../../../../../../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/hooks/useFormatTimeStamp.ts"],"sourcesContent":["import parseISO from 'date-fns/parseISO';\nimport { useIntl } from 'react-intl';\n\nexport const useFormatTimeStamp = () => {\n const { formatDate } = useIntl();\n\n const formatTimeStamp = (value: string) => {\n const date = parseISO(value);\n\n const formattedDate = formatDate(date, {\n dateStyle: 'long',\n });\n const formattedTime = formatDate(date, {\n timeStyle: 'medium',\n hourCycle: 'h24',\n });\n\n return `${formattedDate}, ${formattedTime}`;\n };\n\n return formatTimeStamp;\n};\n"],"names":["useFormatTimeStamp","formatDate","useIntl","formatTimeStamp","value","date","parseISO","formattedDate","dateStyle","formattedTime","timeStyle","hourCycle"],"mappings":";;;MAGaA,kBAAqB,GAAA,IAAA;IAChC,MAAM,EAAEC,UAAU,EAAE,GAAGC,OAAAA,EAAAA;AAEvB,IAAA,MAAMC,kBAAkB,CAACC,KAAAA,GAAAA;AACvB,QAAA,MAAMC,OAAOC,QAASF,CAAAA,KAAAA,CAAAA;QAEtB,MAAMG,aAAAA,GAAgBN,WAAWI,IAAM,EAAA;YACrCG,SAAW,EAAA;AACb,SAAA,CAAA;QACA,MAAMC,aAAAA,GAAgBR,WAAWI,IAAM,EAAA;YACrCK,SAAW,EAAA,QAAA;YACXC,SAAW,EAAA;AACb,SAAA,CAAA;AAEA,QAAA,OAAO,CAAGJ,EAAAA,aAAAA,CAAc,EAAE,EAAEE,aAAe,CAAA,CAAA;AAC7C,KAAA;IAEA,OAAON,eAAAA;AACT;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"getDisplayedFilters.js","sources":["../../../../../../../../../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getDisplayedFilters.ts"],"sourcesContent":["import { IntlShape } from 'react-intl';\n\nimport { Filters } from '../../../../../../../../admin/src/components/Filters';\nimport { getDisplayName } from '../../../../../../../../admin/src/utils/users';\nimport { SanitizedAdminUser } from '../../../../../../../../shared/contracts/shared';\nimport { ComboboxFilter } from '../components/ComboboxFilter';\n\nimport { actionTypes, getDefaultMessage } from './getActionTypesDefaultMessages';\n\nexport const getDisplayedFilters = ({\n formatMessage,\n users,\n canReadUsers,\n}: {\n formatMessage: IntlShape['formatMessage'];\n users: SanitizedAdminUser[];\n canReadUsers: boolean;\n}): Filters.Filter[] => {\n const operators = [\n {\n label: formatMessage({\n id: 'components.FilterOptions.FILTER_TYPES.$eq',\n defaultMessage: 'is',\n }),\n value: '$eq',\n },\n {\n label: formatMessage({\n id: 'components.FilterOptions.FILTER_TYPES.$ne',\n defaultMessage: 'is not',\n }),\n value: '$ne',\n },\n ] as NonNullable<Filters.Filter['operators']>;\n\n const filters = [\n {\n input: ComboboxFilter,\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.action',\n defaultMessage: 'Action',\n }),\n name: 'action',\n operators,\n options: (Object.keys(actionTypes) as (keyof typeof actionTypes)[]).map((action) => ({\n label: formatMessage(\n {\n id: `Settings.permissions.auditLogs.${action}`,\n defaultMessage: getDefaultMessage(action),\n },\n { model: undefined }\n ),\n value: action,\n })),\n type: 'enumeration',\n },\n {\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.date',\n defaultMessage: 'Date',\n }),\n name: 'date',\n type: 'datetime',\n },\n ] satisfies Filters.Filter[];\n\n if (canReadUsers && users) {\n return [\n ...filters,\n {\n input: ComboboxFilter,\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.user',\n defaultMessage: 'User',\n }),\n mainField: { name: 'id', type: 'integer' },\n name: 'user',\n operators,\n options: users.map((user) => ({\n label: getDisplayName(user),\n value: user.id.toString(),\n })),\n type: 'relation',\n } satisfies Filters.Filter,\n ];\n }\n\n return filters;\n};\n"],"names":["getDisplayedFilters","formatMessage","users","canReadUsers","operators","label","id","defaultMessage","value","filters","input","ComboboxFilter","name","options","Object","keys","actionTypes","map","action","getDefaultMessage","model","undefined","type","mainField","user","getDisplayName","toString"],"mappings":";;;;;;AASO,MAAMA,sBAAsB,CAAC,EAClCC,aAAa,SACbC,OAAK,EACLC,YAAY,EAKb,GAAA;AACC,IAAA,MAAMC,SAAY,GAAA;AAChB,QAAA;AACEC,YAAAA,KAAAA,EAAOJ,aAAc,CAAA;gBACnBK,EAAI,EAAA,2CAAA;gBACJC,cAAgB,EAAA;AAClB,aAAA,CAAA;YACAC,KAAO,EAAA;AACT,SAAA;AACA,QAAA;AACEH,YAAAA,KAAAA,EAAOJ,aAAc,CAAA;gBACnBK,EAAI,EAAA,2CAAA;gBACJC,cAAgB,EAAA;AAClB,aAAA,CAAA;YACAC,KAAO,EAAA;AACT;AACD,KAAA;AAED,IAAA,MAAMC,OAAU,GAAA;AACd,QAAA;YACEC,KAAOC,EAAAA,6BAAAA;AACPN,YAAAA,KAAAA,EAAOJ,aAAc,CAAA;gBACnBK,EAAI,EAAA,uCAAA;gBACJC,cAAgB,EAAA;AAClB,aAAA,CAAA;YACAK,IAAM,EAAA,QAAA;AACNR,YAAAA,SAAAA;YACAS,OAAS,EAACC,OAAOC,IAAI,CAACC,2CAA8CC,GAAG,CAAC,CAACC,MAAAA,IAAY;AACnFb,oBAAAA,KAAAA,EAAOJ,aACL,CAAA;AACEK,wBAAAA,EAAAA,EAAI,CAAC,+BAA+B,EAAEY,MAAAA,CAAO,CAAC;AAC9CX,wBAAAA,cAAAA,EAAgBY,+CAAkBD,CAAAA,MAAAA;qBAEpC,EAAA;wBAAEE,KAAOC,EAAAA;AAAU,qBAAA,CAAA;oBAErBb,KAAOU,EAAAA;iBACT,CAAA,CAAA;YACAI,IAAM,EAAA;AACR,SAAA;AACA,QAAA;AACEjB,YAAAA,KAAAA,EAAOJ,aAAc,CAAA;gBACnBK,EAAI,EAAA,qCAAA;gBACJC,cAAgB,EAAA;AAClB,aAAA,CAAA;YACAK,IAAM,EAAA,MAAA;YACNU,IAAM,EAAA;AACR;AACD,KAAA;AAED,IAAA,IAAInB,gBAAgBD,OAAO,EAAA;QACzB,OAAO;AACFO,YAAAA,GAAAA,OAAAA;AACH,YAAA;gBACEC,KAAOC,EAAAA,6BAAAA;AACPN,gBAAAA,KAAAA,EAAOJ,aAAc,CAAA;oBACnBK,EAAI,EAAA,qCAAA;oBACJC,cAAgB,EAAA;AAClB,iBAAA,CAAA;gBACAgB,SAAW,EAAA;oBAAEX,IAAM,EAAA,IAAA;oBAAMU,IAAM,EAAA;AAAU,iBAAA;gBACzCV,IAAM,EAAA,MAAA;AACNR,gBAAAA,SAAAA;AACAS,gBAAAA,OAAAA,EAASX,OAAMe,CAAAA,GAAG,CAAC,CAACO,QAAU;AAC5BnB,wBAAAA,KAAAA,EAAOoB,oBAAeD,CAAAA,IAAAA,CAAAA;wBACtBhB,KAAOgB,EAAAA,IAAAA,CAAKlB,EAAE,CAACoB,QAAQ;qBACzB,CAAA,CAAA;gBACAJ,IAAM,EAAA;AACR;AACD,SAAA;AACH;IAEA,OAAOb,OAAAA;AACT;;;;"}
1
+ {"version":3,"file":"getDisplayedFilters.js","sources":["../../../../../../../../../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getDisplayedFilters.ts"],"sourcesContent":["import { IntlShape } from 'react-intl';\n\nimport { Filters } from '../../../../../../../../admin/src/components/Filters';\nimport { getDisplayName } from '../../../../../../../../admin/src/utils/users';\nimport { SanitizedAdminUser } from '../../../../../../../../shared/contracts/shared';\nimport { ComboboxFilter } from '../components/ComboboxFilter';\n\nimport { actionTypes, getDefaultMessage } from './getActionTypesDefaultMessages';\n\nexport const getDisplayedFilters = ({\n formatMessage,\n users,\n canReadUsers,\n}: {\n formatMessage: IntlShape['formatMessage'];\n users: SanitizedAdminUser[];\n canReadUsers: boolean;\n}): Filters.Filter[] => {\n const operators = [\n {\n label: formatMessage({\n id: 'components.FilterOptions.FILTER_TYPES.$eq',\n defaultMessage: 'is',\n }),\n value: '$eq',\n },\n {\n label: formatMessage({\n id: 'components.FilterOptions.FILTER_TYPES.$ne',\n defaultMessage: 'is not',\n }),\n value: '$ne',\n },\n ] as NonNullable<Filters.Filter['operators']>;\n\n const filters = [\n {\n input: ComboboxFilter,\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.action',\n defaultMessage: 'Action',\n }),\n name: 'action',\n operators,\n options: (Object.keys(actionTypes) as (keyof typeof actionTypes)[]).map((action) => ({\n label: formatMessage(\n {\n id: `Settings.permissions.auditLogs.${action}`,\n defaultMessage: getDefaultMessage(action),\n },\n { model: undefined }\n ),\n value: action,\n })),\n type: 'enumeration',\n },\n {\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.date',\n defaultMessage: 'Date',\n }),\n name: 'date',\n type: 'datetime',\n },\n ] satisfies Filters.Filter[];\n\n if (canReadUsers && users) {\n return [\n ...filters,\n {\n input: ComboboxFilter,\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.user',\n defaultMessage: 'User',\n }),\n mainField: { name: 'id', type: 'integer' },\n name: 'user',\n operators,\n options: users.map((user) => ({\n label: getDisplayName(user),\n value: user.id.toString(),\n })),\n type: 'relation',\n } satisfies Filters.Filter,\n ];\n }\n\n return filters;\n};\n"],"names":["getDisplayedFilters","formatMessage","users","canReadUsers","operators","label","id","defaultMessage","value","filters","input","ComboboxFilter","name","options","Object","keys","actionTypes","map","action","getDefaultMessage","model","undefined","type","mainField","user","getDisplayName","toString"],"mappings":";;;;;;AASO,MAAMA,sBAAsB,CAAC,EAClCC,aAAa,SACbC,OAAK,EACLC,YAAY,EAKb,GAAA;AACC,IAAA,MAAMC,SAAY,GAAA;AAChB,QAAA;AACEC,YAAAA,KAAAA,EAAOJ,aAAc,CAAA;gBACnBK,EAAI,EAAA,2CAAA;gBACJC,cAAgB,EAAA;AAClB,aAAA,CAAA;YACAC,KAAO,EAAA;AACT,SAAA;AACA,QAAA;AACEH,YAAAA,KAAAA,EAAOJ,aAAc,CAAA;gBACnBK,EAAI,EAAA,2CAAA;gBACJC,cAAgB,EAAA;AAClB,aAAA,CAAA;YACAC,KAAO,EAAA;AACT;AACD,KAAA;AAED,IAAA,MAAMC,OAAU,GAAA;AACd,QAAA;YACEC,KAAOC,EAAAA,6BAAAA;AACPN,YAAAA,KAAAA,EAAOJ,aAAc,CAAA;gBACnBK,EAAI,EAAA,uCAAA;gBACJC,cAAgB,EAAA;AAClB,aAAA,CAAA;YACAK,IAAM,EAAA,QAAA;AACNR,YAAAA,SAAAA;YACAS,OAAS,EAACC,OAAOC,IAAI,CAACC,2CAA8CC,GAAG,CAAC,CAACC,MAAAA,IAAY;AACnFb,oBAAAA,KAAAA,EAAOJ,aACL,CAAA;wBACEK,EAAI,EAAA,CAAC,+BAA+B,EAAEY,MAAQ,CAAA,CAAA;AAC9CX,wBAAAA,cAAAA,EAAgBY,+CAAkBD,CAAAA,MAAAA;qBAEpC,EAAA;wBAAEE,KAAOC,EAAAA;AAAU,qBAAA,CAAA;oBAErBb,KAAOU,EAAAA;iBACT,CAAA,CAAA;YACAI,IAAM,EAAA;AACR,SAAA;AACA,QAAA;AACEjB,YAAAA,KAAAA,EAAOJ,aAAc,CAAA;gBACnBK,EAAI,EAAA,qCAAA;gBACJC,cAAgB,EAAA;AAClB,aAAA,CAAA;YACAK,IAAM,EAAA,MAAA;YACNU,IAAM,EAAA;AACR;AACD,KAAA;AAED,IAAA,IAAInB,gBAAgBD,OAAO,EAAA;QACzB,OAAO;AACFO,YAAAA,GAAAA,OAAAA;AACH,YAAA;gBACEC,KAAOC,EAAAA,6BAAAA;AACPN,gBAAAA,KAAAA,EAAOJ,aAAc,CAAA;oBACnBK,EAAI,EAAA,qCAAA;oBACJC,cAAgB,EAAA;AAClB,iBAAA,CAAA;gBACAgB,SAAW,EAAA;oBAAEX,IAAM,EAAA,IAAA;oBAAMU,IAAM,EAAA;AAAU,iBAAA;gBACzCV,IAAM,EAAA,MAAA;AACNR,gBAAAA,SAAAA;AACAS,gBAAAA,OAAAA,EAASX,OAAMe,CAAAA,GAAG,CAAC,CAACO,QAAU;AAC5BnB,wBAAAA,KAAAA,EAAOoB,oBAAeD,CAAAA,IAAAA,CAAAA;wBACtBhB,KAAOgB,EAAAA,IAAAA,CAAKlB,EAAE,CAACoB,QAAQ;qBACzB,CAAA,CAAA;gBACAJ,IAAM,EAAA;AACR;AACD,SAAA;AACH;IAEA,OAAOb,OAAAA;AACT;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"getDisplayedFilters.mjs","sources":["../../../../../../../../../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getDisplayedFilters.ts"],"sourcesContent":["import { IntlShape } from 'react-intl';\n\nimport { Filters } from '../../../../../../../../admin/src/components/Filters';\nimport { getDisplayName } from '../../../../../../../../admin/src/utils/users';\nimport { SanitizedAdminUser } from '../../../../../../../../shared/contracts/shared';\nimport { ComboboxFilter } from '../components/ComboboxFilter';\n\nimport { actionTypes, getDefaultMessage } from './getActionTypesDefaultMessages';\n\nexport const getDisplayedFilters = ({\n formatMessage,\n users,\n canReadUsers,\n}: {\n formatMessage: IntlShape['formatMessage'];\n users: SanitizedAdminUser[];\n canReadUsers: boolean;\n}): Filters.Filter[] => {\n const operators = [\n {\n label: formatMessage({\n id: 'components.FilterOptions.FILTER_TYPES.$eq',\n defaultMessage: 'is',\n }),\n value: '$eq',\n },\n {\n label: formatMessage({\n id: 'components.FilterOptions.FILTER_TYPES.$ne',\n defaultMessage: 'is not',\n }),\n value: '$ne',\n },\n ] as NonNullable<Filters.Filter['operators']>;\n\n const filters = [\n {\n input: ComboboxFilter,\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.action',\n defaultMessage: 'Action',\n }),\n name: 'action',\n operators,\n options: (Object.keys(actionTypes) as (keyof typeof actionTypes)[]).map((action) => ({\n label: formatMessage(\n {\n id: `Settings.permissions.auditLogs.${action}`,\n defaultMessage: getDefaultMessage(action),\n },\n { model: undefined }\n ),\n value: action,\n })),\n type: 'enumeration',\n },\n {\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.date',\n defaultMessage: 'Date',\n }),\n name: 'date',\n type: 'datetime',\n },\n ] satisfies Filters.Filter[];\n\n if (canReadUsers && users) {\n return [\n ...filters,\n {\n input: ComboboxFilter,\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.user',\n defaultMessage: 'User',\n }),\n mainField: { name: 'id', type: 'integer' },\n name: 'user',\n operators,\n options: users.map((user) => ({\n label: getDisplayName(user),\n value: user.id.toString(),\n })),\n type: 'relation',\n } satisfies Filters.Filter,\n ];\n }\n\n return filters;\n};\n"],"names":["getDisplayedFilters","formatMessage","users","canReadUsers","operators","label","id","defaultMessage","value","filters","input","ComboboxFilter","name","options","Object","keys","actionTypes","map","action","getDefaultMessage","model","undefined","type","mainField","user","getDisplayName","toString"],"mappings":";;;;AASO,MAAMA,sBAAsB,CAAC,EAClCC,aAAa,EACbC,KAAK,EACLC,YAAY,EAKb,GAAA;AACC,IAAA,MAAMC,SAAY,GAAA;AAChB,QAAA;AACEC,YAAAA,KAAAA,EAAOJ,aAAc,CAAA;gBACnBK,EAAI,EAAA,2CAAA;gBACJC,cAAgB,EAAA;AAClB,aAAA,CAAA;YACAC,KAAO,EAAA;AACT,SAAA;AACA,QAAA;AACEH,YAAAA,KAAAA,EAAOJ,aAAc,CAAA;gBACnBK,EAAI,EAAA,2CAAA;gBACJC,cAAgB,EAAA;AAClB,aAAA,CAAA;YACAC,KAAO,EAAA;AACT;AACD,KAAA;AAED,IAAA,MAAMC,OAAU,GAAA;AACd,QAAA;YACEC,KAAOC,EAAAA,cAAAA;AACPN,YAAAA,KAAAA,EAAOJ,aAAc,CAAA;gBACnBK,EAAI,EAAA,uCAAA;gBACJC,cAAgB,EAAA;AAClB,aAAA,CAAA;YACAK,IAAM,EAAA,QAAA;AACNR,YAAAA,SAAAA;YACAS,OAAS,EAACC,OAAOC,IAAI,CAACC,aAA8CC,GAAG,CAAC,CAACC,MAAAA,IAAY;AACnFb,oBAAAA,KAAAA,EAAOJ,aACL,CAAA;AACEK,wBAAAA,EAAAA,EAAI,CAAC,+BAA+B,EAAEY,MAAAA,CAAO,CAAC;AAC9CX,wBAAAA,cAAAA,EAAgBY,iBAAkBD,CAAAA,MAAAA;qBAEpC,EAAA;wBAAEE,KAAOC,EAAAA;AAAU,qBAAA,CAAA;oBAErBb,KAAOU,EAAAA;iBACT,CAAA,CAAA;YACAI,IAAM,EAAA;AACR,SAAA;AACA,QAAA;AACEjB,YAAAA,KAAAA,EAAOJ,aAAc,CAAA;gBACnBK,EAAI,EAAA,qCAAA;gBACJC,cAAgB,EAAA;AAClB,aAAA,CAAA;YACAK,IAAM,EAAA,MAAA;YACNU,IAAM,EAAA;AACR;AACD,KAAA;AAED,IAAA,IAAInB,gBAAgBD,KAAO,EAAA;QACzB,OAAO;AACFO,YAAAA,GAAAA,OAAAA;AACH,YAAA;gBACEC,KAAOC,EAAAA,cAAAA;AACPN,gBAAAA,KAAAA,EAAOJ,aAAc,CAAA;oBACnBK,EAAI,EAAA,qCAAA;oBACJC,cAAgB,EAAA;AAClB,iBAAA,CAAA;gBACAgB,SAAW,EAAA;oBAAEX,IAAM,EAAA,IAAA;oBAAMU,IAAM,EAAA;AAAU,iBAAA;gBACzCV,IAAM,EAAA,MAAA;AACNR,gBAAAA,SAAAA;AACAS,gBAAAA,OAAAA,EAASX,KAAMe,CAAAA,GAAG,CAAC,CAACO,QAAU;AAC5BnB,wBAAAA,KAAAA,EAAOoB,cAAeD,CAAAA,IAAAA,CAAAA;wBACtBhB,KAAOgB,EAAAA,IAAAA,CAAKlB,EAAE,CAACoB,QAAQ;qBACzB,CAAA,CAAA;gBACAJ,IAAM,EAAA;AACR;AACD,SAAA;AACH;IAEA,OAAOb,OAAAA;AACT;;;;"}
1
+ {"version":3,"file":"getDisplayedFilters.mjs","sources":["../../../../../../../../../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getDisplayedFilters.ts"],"sourcesContent":["import { IntlShape } from 'react-intl';\n\nimport { Filters } from '../../../../../../../../admin/src/components/Filters';\nimport { getDisplayName } from '../../../../../../../../admin/src/utils/users';\nimport { SanitizedAdminUser } from '../../../../../../../../shared/contracts/shared';\nimport { ComboboxFilter } from '../components/ComboboxFilter';\n\nimport { actionTypes, getDefaultMessage } from './getActionTypesDefaultMessages';\n\nexport const getDisplayedFilters = ({\n formatMessage,\n users,\n canReadUsers,\n}: {\n formatMessage: IntlShape['formatMessage'];\n users: SanitizedAdminUser[];\n canReadUsers: boolean;\n}): Filters.Filter[] => {\n const operators = [\n {\n label: formatMessage({\n id: 'components.FilterOptions.FILTER_TYPES.$eq',\n defaultMessage: 'is',\n }),\n value: '$eq',\n },\n {\n label: formatMessage({\n id: 'components.FilterOptions.FILTER_TYPES.$ne',\n defaultMessage: 'is not',\n }),\n value: '$ne',\n },\n ] as NonNullable<Filters.Filter['operators']>;\n\n const filters = [\n {\n input: ComboboxFilter,\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.action',\n defaultMessage: 'Action',\n }),\n name: 'action',\n operators,\n options: (Object.keys(actionTypes) as (keyof typeof actionTypes)[]).map((action) => ({\n label: formatMessage(\n {\n id: `Settings.permissions.auditLogs.${action}`,\n defaultMessage: getDefaultMessage(action),\n },\n { model: undefined }\n ),\n value: action,\n })),\n type: 'enumeration',\n },\n {\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.date',\n defaultMessage: 'Date',\n }),\n name: 'date',\n type: 'datetime',\n },\n ] satisfies Filters.Filter[];\n\n if (canReadUsers && users) {\n return [\n ...filters,\n {\n input: ComboboxFilter,\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.user',\n defaultMessage: 'User',\n }),\n mainField: { name: 'id', type: 'integer' },\n name: 'user',\n operators,\n options: users.map((user) => ({\n label: getDisplayName(user),\n value: user.id.toString(),\n })),\n type: 'relation',\n } satisfies Filters.Filter,\n ];\n }\n\n return filters;\n};\n"],"names":["getDisplayedFilters","formatMessage","users","canReadUsers","operators","label","id","defaultMessage","value","filters","input","ComboboxFilter","name","options","Object","keys","actionTypes","map","action","getDefaultMessage","model","undefined","type","mainField","user","getDisplayName","toString"],"mappings":";;;;AASO,MAAMA,sBAAsB,CAAC,EAClCC,aAAa,EACbC,KAAK,EACLC,YAAY,EAKb,GAAA;AACC,IAAA,MAAMC,SAAY,GAAA;AAChB,QAAA;AACEC,YAAAA,KAAAA,EAAOJ,aAAc,CAAA;gBACnBK,EAAI,EAAA,2CAAA;gBACJC,cAAgB,EAAA;AAClB,aAAA,CAAA;YACAC,KAAO,EAAA;AACT,SAAA;AACA,QAAA;AACEH,YAAAA,KAAAA,EAAOJ,aAAc,CAAA;gBACnBK,EAAI,EAAA,2CAAA;gBACJC,cAAgB,EAAA;AAClB,aAAA,CAAA;YACAC,KAAO,EAAA;AACT;AACD,KAAA;AAED,IAAA,MAAMC,OAAU,GAAA;AACd,QAAA;YACEC,KAAOC,EAAAA,cAAAA;AACPN,YAAAA,KAAAA,EAAOJ,aAAc,CAAA;gBACnBK,EAAI,EAAA,uCAAA;gBACJC,cAAgB,EAAA;AAClB,aAAA,CAAA;YACAK,IAAM,EAAA,QAAA;AACNR,YAAAA,SAAAA;YACAS,OAAS,EAACC,OAAOC,IAAI,CAACC,aAA8CC,GAAG,CAAC,CAACC,MAAAA,IAAY;AACnFb,oBAAAA,KAAAA,EAAOJ,aACL,CAAA;wBACEK,EAAI,EAAA,CAAC,+BAA+B,EAAEY,MAAQ,CAAA,CAAA;AAC9CX,wBAAAA,cAAAA,EAAgBY,iBAAkBD,CAAAA,MAAAA;qBAEpC,EAAA;wBAAEE,KAAOC,EAAAA;AAAU,qBAAA,CAAA;oBAErBb,KAAOU,EAAAA;iBACT,CAAA,CAAA;YACAI,IAAM,EAAA;AACR,SAAA;AACA,QAAA;AACEjB,YAAAA,KAAAA,EAAOJ,aAAc,CAAA;gBACnBK,EAAI,EAAA,qCAAA;gBACJC,cAAgB,EAAA;AAClB,aAAA,CAAA;YACAK,IAAM,EAAA,MAAA;YACNU,IAAM,EAAA;AACR;AACD,KAAA;AAED,IAAA,IAAInB,gBAAgBD,KAAO,EAAA;QACzB,OAAO;AACFO,YAAAA,GAAAA,OAAAA;AACH,YAAA;gBACEC,KAAOC,EAAAA,cAAAA;AACPN,gBAAAA,KAAAA,EAAOJ,aAAc,CAAA;oBACnBK,EAAI,EAAA,qCAAA;oBACJC,cAAgB,EAAA;AAClB,iBAAA,CAAA;gBACAgB,SAAW,EAAA;oBAAEX,IAAM,EAAA,IAAA;oBAAMU,IAAM,EAAA;AAAU,iBAAA;gBACzCV,IAAM,EAAA,MAAA;AACNR,gBAAAA,SAAAA;AACAS,gBAAAA,OAAAA,EAASX,KAAMe,CAAAA,GAAG,CAAC,CAACO,QAAU;AAC5BnB,wBAAAA,KAAAA,EAAOoB,cAAeD,CAAAA,IAAAA,CAAAA;wBACtBhB,KAAOgB,EAAAA,IAAAA,CAAKlB,EAAE,CAACoB,QAAQ;qBACzB,CAAA,CAAA;gBACAJ,IAAM,EAAA;AACR;AACD,SAAA;AACH;IAEA,OAAOb,OAAAA;AACT;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"MagicLinkEE.js","sources":["../../../../../../../../../../ee/admin/src/pages/SettingsPage/pages/Users/components/MagicLinkEE.tsx"],"sourcesContent":["import { useIntl } from 'react-intl';\n\nimport { getBasename } from '../../../../../../../../admin/src/core/utils/basename';\nimport { MagicLinkWrapper } from '../../../../../../../../admin/src/pages/Settings/pages/Users/components/MagicLinkWrapper';\n\nimport type { MagicLinkCEProps } from '../../../../../../../../admin/src/pages/Settings/pages/Users/components/MagicLinkCE';\n\n// FIXME replace with parts compo when ready\nexport const MagicLinkEE = ({ registrationToken }: MagicLinkCEProps) => {\n const { formatMessage } = useIntl();\n\n if (registrationToken) {\n return (\n <MagicLinkWrapper\n target={`${\n window.location.origin\n }${getBasename()}/auth/register?registrationToken=${registrationToken}`}\n >\n {formatMessage({\n id: 'app.components.Users.MagicLink.connect',\n defaultMessage: 'Copy and share this link to give access to this user',\n })}\n </MagicLinkWrapper>\n );\n }\n\n return (\n <MagicLinkWrapper target={`${window.location.origin}${getBasename()}/auth/login`}>\n {formatMessage({\n id: 'app.components.Users.MagicLink.connect.sso',\n defaultMessage:\n 'Send this link to the user, the first login can be made via a SSO provider.',\n })}\n </MagicLinkWrapper>\n );\n};\n"],"names":["MagicLinkEE","registrationToken","formatMessage","useIntl","_jsx","MagicLinkWrapper","target","window","location","origin","getBasename","id","defaultMessage"],"mappings":";;;;;;;AAOA;AACaA,MAAAA,WAAAA,GAAc,CAAC,EAAEC,iBAAiB,EAAoB,GAAA;IACjE,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;AAE1B,IAAA,IAAIF,iBAAmB,EAAA;AACrB,QAAA,qBACEG,cAACC,CAAAA,iCAAAA,EAAAA;AACCC,YAAAA,MAAAA,EAAQ,CAAC,EACPC,MAAOC,CAAAA,QAAQ,CAACC,MAAM,CACvB,EAAEC,oBAAc,EAAA,CAAA,iCAAiC,EAAET,iBAAAA,CAAkB,CAAC;sBAEtEC,aAAc,CAAA;gBACbS,EAAI,EAAA,wCAAA;gBACJC,cAAgB,EAAA;AAClB,aAAA;;AAGN;AAEA,IAAA,qBACER,cAACC,CAAAA,iCAAAA,EAAAA;QAAiBC,MAAQ,EAAA,CAAC,EAAEC,MAAAA,CAAOC,QAAQ,CAACC,MAAM,CAAC,EAAEC,oBAAc,EAAA,CAAA,WAAW,CAAC;kBAC7ER,aAAc,CAAA;YACbS,EAAI,EAAA,4CAAA;YACJC,cACE,EAAA;AACJ,SAAA;;AAGN;;;;"}
1
+ {"version":3,"file":"MagicLinkEE.js","sources":["../../../../../../../../../../ee/admin/src/pages/SettingsPage/pages/Users/components/MagicLinkEE.tsx"],"sourcesContent":["import { useIntl } from 'react-intl';\n\nimport { getBasename } from '../../../../../../../../admin/src/core/utils/basename';\nimport { MagicLinkWrapper } from '../../../../../../../../admin/src/pages/Settings/pages/Users/components/MagicLinkWrapper';\n\nimport type { MagicLinkCEProps } from '../../../../../../../../admin/src/pages/Settings/pages/Users/components/MagicLinkCE';\n\n// FIXME replace with parts compo when ready\nexport const MagicLinkEE = ({ registrationToken }: MagicLinkCEProps) => {\n const { formatMessage } = useIntl();\n\n if (registrationToken) {\n return (\n <MagicLinkWrapper\n target={`${\n window.location.origin\n }${getBasename()}/auth/register?registrationToken=${registrationToken}`}\n >\n {formatMessage({\n id: 'app.components.Users.MagicLink.connect',\n defaultMessage: 'Copy and share this link to give access to this user',\n })}\n </MagicLinkWrapper>\n );\n }\n\n return (\n <MagicLinkWrapper target={`${window.location.origin}${getBasename()}/auth/login`}>\n {formatMessage({\n id: 'app.components.Users.MagicLink.connect.sso',\n defaultMessage:\n 'Send this link to the user, the first login can be made via a SSO provider.',\n })}\n </MagicLinkWrapper>\n );\n};\n"],"names":["MagicLinkEE","registrationToken","formatMessage","useIntl","_jsx","MagicLinkWrapper","target","window","location","origin","getBasename","id","defaultMessage"],"mappings":";;;;;;;AAOA;AACaA,MAAAA,WAAAA,GAAc,CAAC,EAAEC,iBAAiB,EAAoB,GAAA;IACjE,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;AAE1B,IAAA,IAAIF,iBAAmB,EAAA;AACrB,QAAA,qBACEG,cAACC,CAAAA,iCAAAA,EAAAA;YACCC,MAAQ,EAAA,CAAA,EACNC,OAAOC,QAAQ,CAACC,MAAM,CACrBC,EAAAA,oBAAAA,EAAAA,CAAc,iCAAiC,EAAET,iBAAmB,CAAA,CAAA;sBAEtEC,aAAc,CAAA;gBACbS,EAAI,EAAA,wCAAA;gBACJC,cAAgB,EAAA;AAClB,aAAA;;AAGN;AAEA,IAAA,qBACER,cAACC,CAAAA,iCAAAA,EAAAA;QAAiBC,MAAQ,EAAA,CAAA,EAAGC,OAAOC,QAAQ,CAACC,MAAM,CAAGC,EAAAA,oBAAAA,EAAAA,CAAc,WAAW,CAAC;kBAC7ER,aAAc,CAAA;YACbS,EAAI,EAAA,4CAAA;YACJC,cACE,EAAA;AACJ,SAAA;;AAGN;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"MagicLinkEE.mjs","sources":["../../../../../../../../../../ee/admin/src/pages/SettingsPage/pages/Users/components/MagicLinkEE.tsx"],"sourcesContent":["import { useIntl } from 'react-intl';\n\nimport { getBasename } from '../../../../../../../../admin/src/core/utils/basename';\nimport { MagicLinkWrapper } from '../../../../../../../../admin/src/pages/Settings/pages/Users/components/MagicLinkWrapper';\n\nimport type { MagicLinkCEProps } from '../../../../../../../../admin/src/pages/Settings/pages/Users/components/MagicLinkCE';\n\n// FIXME replace with parts compo when ready\nexport const MagicLinkEE = ({ registrationToken }: MagicLinkCEProps) => {\n const { formatMessage } = useIntl();\n\n if (registrationToken) {\n return (\n <MagicLinkWrapper\n target={`${\n window.location.origin\n }${getBasename()}/auth/register?registrationToken=${registrationToken}`}\n >\n {formatMessage({\n id: 'app.components.Users.MagicLink.connect',\n defaultMessage: 'Copy and share this link to give access to this user',\n })}\n </MagicLinkWrapper>\n );\n }\n\n return (\n <MagicLinkWrapper target={`${window.location.origin}${getBasename()}/auth/login`}>\n {formatMessage({\n id: 'app.components.Users.MagicLink.connect.sso',\n defaultMessage:\n 'Send this link to the user, the first login can be made via a SSO provider.',\n })}\n </MagicLinkWrapper>\n );\n};\n"],"names":["MagicLinkEE","registrationToken","formatMessage","useIntl","_jsx","MagicLinkWrapper","target","window","location","origin","getBasename","id","defaultMessage"],"mappings":";;;;;AAOA;AACaA,MAAAA,WAAAA,GAAc,CAAC,EAAEC,iBAAiB,EAAoB,GAAA;IACjE,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAE1B,IAAA,IAAIF,iBAAmB,EAAA;AACrB,QAAA,qBACEG,GAACC,CAAAA,gBAAAA,EAAAA;AACCC,YAAAA,MAAAA,EAAQ,CAAC,EACPC,MAAOC,CAAAA,QAAQ,CAACC,MAAM,CACvB,EAAEC,WAAc,EAAA,CAAA,iCAAiC,EAAET,iBAAAA,CAAkB,CAAC;sBAEtEC,aAAc,CAAA;gBACbS,EAAI,EAAA,wCAAA;gBACJC,cAAgB,EAAA;AAClB,aAAA;;AAGN;AAEA,IAAA,qBACER,GAACC,CAAAA,gBAAAA,EAAAA;QAAiBC,MAAQ,EAAA,CAAC,EAAEC,MAAAA,CAAOC,QAAQ,CAACC,MAAM,CAAC,EAAEC,WAAc,EAAA,CAAA,WAAW,CAAC;kBAC7ER,aAAc,CAAA;YACbS,EAAI,EAAA,4CAAA;YACJC,cACE,EAAA;AACJ,SAAA;;AAGN;;;;"}
1
+ {"version":3,"file":"MagicLinkEE.mjs","sources":["../../../../../../../../../../ee/admin/src/pages/SettingsPage/pages/Users/components/MagicLinkEE.tsx"],"sourcesContent":["import { useIntl } from 'react-intl';\n\nimport { getBasename } from '../../../../../../../../admin/src/core/utils/basename';\nimport { MagicLinkWrapper } from '../../../../../../../../admin/src/pages/Settings/pages/Users/components/MagicLinkWrapper';\n\nimport type { MagicLinkCEProps } from '../../../../../../../../admin/src/pages/Settings/pages/Users/components/MagicLinkCE';\n\n// FIXME replace with parts compo when ready\nexport const MagicLinkEE = ({ registrationToken }: MagicLinkCEProps) => {\n const { formatMessage } = useIntl();\n\n if (registrationToken) {\n return (\n <MagicLinkWrapper\n target={`${\n window.location.origin\n }${getBasename()}/auth/register?registrationToken=${registrationToken}`}\n >\n {formatMessage({\n id: 'app.components.Users.MagicLink.connect',\n defaultMessage: 'Copy and share this link to give access to this user',\n })}\n </MagicLinkWrapper>\n );\n }\n\n return (\n <MagicLinkWrapper target={`${window.location.origin}${getBasename()}/auth/login`}>\n {formatMessage({\n id: 'app.components.Users.MagicLink.connect.sso',\n defaultMessage:\n 'Send this link to the user, the first login can be made via a SSO provider.',\n })}\n </MagicLinkWrapper>\n );\n};\n"],"names":["MagicLinkEE","registrationToken","formatMessage","useIntl","_jsx","MagicLinkWrapper","target","window","location","origin","getBasename","id","defaultMessage"],"mappings":";;;;;AAOA;AACaA,MAAAA,WAAAA,GAAc,CAAC,EAAEC,iBAAiB,EAAoB,GAAA;IACjE,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAE1B,IAAA,IAAIF,iBAAmB,EAAA;AACrB,QAAA,qBACEG,GAACC,CAAAA,gBAAAA,EAAAA;YACCC,MAAQ,EAAA,CAAA,EACNC,OAAOC,QAAQ,CAACC,MAAM,CACrBC,EAAAA,WAAAA,EAAAA,CAAc,iCAAiC,EAAET,iBAAmB,CAAA,CAAA;sBAEtEC,aAAc,CAAA;gBACbS,EAAI,EAAA,wCAAA;gBACJC,cAAgB,EAAA;AAClB,aAAA;;AAGN;AAEA,IAAA,qBACER,GAACC,CAAAA,gBAAAA,EAAAA;QAAiBC,MAAQ,EAAA,CAAA,EAAGC,OAAOC,QAAQ,CAACC,MAAM,CAAGC,EAAAA,WAAAA,EAAAA,CAAc,WAAW,CAAC;kBAC7ER,aAAc,CAAA;YACbS,EAAI,EAAA,4CAAA;YACJC,cACE,EAAA;AACJ,SAAA;;AAGN;;;;"}
@@ -21,12 +21,25 @@ const aiService = api.adminApi.injectEndpoints({
21
21
  transformResponse (res) {
22
22
  return res.data;
23
23
  }
24
+ }),
25
+ getAIFeatureConfig: builder.query({
26
+ query: ()=>({
27
+ method: 'GET',
28
+ url: '/admin/ai-feature-config'
29
+ }),
30
+ transformResponse (res) {
31
+ return res.data;
32
+ },
33
+ providesTags: [
34
+ 'AIFeatureConfig'
35
+ ]
24
36
  })
25
37
  }),
26
38
  overrideExisting: true
27
39
  });
28
- const { useGetAIUsageQuery, useGetAiTokenQuery, useLazyGetAiTokenQuery } = aiService;
40
+ const { useGetAIUsageQuery, useGetAiTokenQuery, useLazyGetAiTokenQuery, useGetAIFeatureConfigQuery } = aiService;
29
41
 
42
+ exports.useGetAIFeatureConfigQuery = useGetAIFeatureConfigQuery;
30
43
  exports.useGetAIUsageQuery = useGetAIUsageQuery;
31
44
  exports.useGetAiTokenQuery = useGetAiTokenQuery;
32
45
  exports.useLazyGetAiTokenQuery = useLazyGetAiTokenQuery;
@@ -1 +1 @@
1
- {"version":3,"file":"ai.js","sources":["../../../../../../ee/admin/src/services/ai.ts"],"sourcesContent":["import { adminApi } from '../../../../admin/src/services/api';\nimport { GetAiUsage, GetAiToken } from '../../../../shared/contracts/ai';\n\nconst aiService = adminApi.injectEndpoints({\n endpoints: (builder) => ({\n getAIUsage: builder.query<GetAiUsage.Response, void>({\n query: () => ({\n method: 'GET',\n url: `/admin/ai-usage`,\n }),\n providesTags: ['AIUsage'],\n }),\n getAiToken: builder.query<GetAiToken.Response['data'], void>({\n query: () => ({\n method: 'GET',\n url: '/admin/ai-token',\n }),\n transformResponse(res: GetAiToken.Response) {\n return res.data;\n },\n }),\n }),\n overrideExisting: true,\n});\n\nconst { useGetAIUsageQuery, useGetAiTokenQuery, useLazyGetAiTokenQuery } = aiService;\n\nexport { useGetAIUsageQuery, useGetAiTokenQuery, useLazyGetAiTokenQuery };\n"],"names":["aiService","adminApi","injectEndpoints","endpoints","builder","getAIUsage","query","method","url","providesTags","getAiToken","transformResponse","res","data","overrideExisting","useGetAIUsageQuery","useGetAiTokenQuery","useLazyGetAiTokenQuery"],"mappings":";;;;AAGA,MAAMA,SAAAA,GAAYC,YAASC,CAAAA,eAAe,CAAC;IACzCC,SAAW,EAAA,CAACC,WAAa;YACvBC,UAAYD,EAAAA,OAAAA,CAAQE,KAAK,CAA4B;AACnDA,gBAAAA,KAAAA,EAAO,KAAO;wBACZC,MAAQ,EAAA,KAAA;wBACRC,GAAK,EAAA,CAAC,eAAe;qBACvB,CAAA;gBACAC,YAAc,EAAA;AAAC,oBAAA;AAAU;AAC3B,aAAA,CAAA;YACAC,UAAYN,EAAAA,OAAAA,CAAQE,KAAK,CAAoC;AAC3DA,gBAAAA,KAAAA,EAAO,KAAO;wBACZC,MAAQ,EAAA,KAAA;wBACRC,GAAK,EAAA;qBACP,CAAA;AACAG,gBAAAA,iBAAAA,CAAAA,CAAkBC,GAAwB,EAAA;AACxC,oBAAA,OAAOA,IAAIC,IAAI;AACjB;AACF,aAAA;SACF,CAAA;IACAC,gBAAkB,EAAA;AACpB,CAAA,CAAA;AAEA,MAAM,EAAEC,kBAAkB,EAAEC,kBAAkB,EAAEC,sBAAsB,EAAE,GAAGjB;;;;;;"}
1
+ {"version":3,"file":"ai.js","sources":["../../../../../../ee/admin/src/services/ai.ts"],"sourcesContent":["import { adminApi } from '../../../../admin/src/services/api';\nimport { GetAiUsage, GetAiToken, GetAIFeatureConfig } from '../../../../shared/contracts/ai';\n\nconst aiService = adminApi.injectEndpoints({\n endpoints: (builder) => ({\n getAIUsage: builder.query<GetAiUsage.Response, void>({\n query: () => ({\n method: 'GET',\n url: `/admin/ai-usage`,\n }),\n providesTags: ['AIUsage'],\n }),\n getAiToken: builder.query<GetAiToken.Response['data'], void>({\n query: () => ({\n method: 'GET',\n url: '/admin/ai-token',\n }),\n transformResponse(res: GetAiToken.Response) {\n return res.data;\n },\n }),\n getAIFeatureConfig: builder.query<GetAIFeatureConfig.Response['data'], void>({\n query: () => ({\n method: 'GET',\n url: '/admin/ai-feature-config',\n }),\n transformResponse(res: GetAIFeatureConfig.Response) {\n return res.data;\n },\n providesTags: ['AIFeatureConfig'],\n }),\n }),\n overrideExisting: true,\n});\n\nconst {\n useGetAIUsageQuery,\n useGetAiTokenQuery,\n useLazyGetAiTokenQuery,\n useGetAIFeatureConfigQuery,\n} = aiService;\n\nexport {\n useGetAIUsageQuery,\n useGetAiTokenQuery,\n useLazyGetAiTokenQuery,\n useGetAIFeatureConfigQuery,\n};\n"],"names":["aiService","adminApi","injectEndpoints","endpoints","builder","getAIUsage","query","method","url","providesTags","getAiToken","transformResponse","res","data","getAIFeatureConfig","overrideExisting","useGetAIUsageQuery","useGetAiTokenQuery","useLazyGetAiTokenQuery","useGetAIFeatureConfigQuery"],"mappings":";;;;AAGA,MAAMA,SAAAA,GAAYC,YAASC,CAAAA,eAAe,CAAC;IACzCC,SAAW,EAAA,CAACC,WAAa;YACvBC,UAAYD,EAAAA,OAAAA,CAAQE,KAAK,CAA4B;AACnDA,gBAAAA,KAAAA,EAAO,KAAO;wBACZC,MAAQ,EAAA,KAAA;wBACRC,GAAK,EAAA,CAAC,eAAe;qBACvB,CAAA;gBACAC,YAAc,EAAA;AAAC,oBAAA;AAAU;AAC3B,aAAA,CAAA;YACAC,UAAYN,EAAAA,OAAAA,CAAQE,KAAK,CAAoC;AAC3DA,gBAAAA,KAAAA,EAAO,KAAO;wBACZC,MAAQ,EAAA,KAAA;wBACRC,GAAK,EAAA;qBACP,CAAA;AACAG,gBAAAA,iBAAAA,CAAAA,CAAkBC,GAAwB,EAAA;AACxC,oBAAA,OAAOA,IAAIC,IAAI;AACjB;AACF,aAAA,CAAA;YACAC,kBAAoBV,EAAAA,OAAAA,CAAQE,KAAK,CAA4C;AAC3EA,gBAAAA,KAAAA,EAAO,KAAO;wBACZC,MAAQ,EAAA,KAAA;wBACRC,GAAK,EAAA;qBACP,CAAA;AACAG,gBAAAA,iBAAAA,CAAAA,CAAkBC,GAAgC,EAAA;AAChD,oBAAA,OAAOA,IAAIC,IAAI;AACjB,iBAAA;gBACAJ,YAAc,EAAA;AAAC,oBAAA;AAAkB;AACnC,aAAA;SACF,CAAA;IACAM,gBAAkB,EAAA;AACpB,CAAA,CAAA;AAEM,MAAA,EACJC,kBAAkB,EAClBC,kBAAkB,EAClBC,sBAAsB,EACtBC,0BAA0B,EAC3B,GAAGnB;;;;;;;"}
@@ -19,11 +19,23 @@ const aiService = adminApi.injectEndpoints({
19
19
  transformResponse (res) {
20
20
  return res.data;
21
21
  }
22
+ }),
23
+ getAIFeatureConfig: builder.query({
24
+ query: ()=>({
25
+ method: 'GET',
26
+ url: '/admin/ai-feature-config'
27
+ }),
28
+ transformResponse (res) {
29
+ return res.data;
30
+ },
31
+ providesTags: [
32
+ 'AIFeatureConfig'
33
+ ]
22
34
  })
23
35
  }),
24
36
  overrideExisting: true
25
37
  });
26
- const { useGetAIUsageQuery, useGetAiTokenQuery, useLazyGetAiTokenQuery } = aiService;
38
+ const { useGetAIUsageQuery, useGetAiTokenQuery, useLazyGetAiTokenQuery, useGetAIFeatureConfigQuery } = aiService;
27
39
 
28
- export { useGetAIUsageQuery, useGetAiTokenQuery, useLazyGetAiTokenQuery };
40
+ export { useGetAIFeatureConfigQuery, useGetAIUsageQuery, useGetAiTokenQuery, useLazyGetAiTokenQuery };
29
41
  //# sourceMappingURL=ai.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ai.mjs","sources":["../../../../../../ee/admin/src/services/ai.ts"],"sourcesContent":["import { adminApi } from '../../../../admin/src/services/api';\nimport { GetAiUsage, GetAiToken } from '../../../../shared/contracts/ai';\n\nconst aiService = adminApi.injectEndpoints({\n endpoints: (builder) => ({\n getAIUsage: builder.query<GetAiUsage.Response, void>({\n query: () => ({\n method: 'GET',\n url: `/admin/ai-usage`,\n }),\n providesTags: ['AIUsage'],\n }),\n getAiToken: builder.query<GetAiToken.Response['data'], void>({\n query: () => ({\n method: 'GET',\n url: '/admin/ai-token',\n }),\n transformResponse(res: GetAiToken.Response) {\n return res.data;\n },\n }),\n }),\n overrideExisting: true,\n});\n\nconst { useGetAIUsageQuery, useGetAiTokenQuery, useLazyGetAiTokenQuery } = aiService;\n\nexport { useGetAIUsageQuery, useGetAiTokenQuery, useLazyGetAiTokenQuery };\n"],"names":["aiService","adminApi","injectEndpoints","endpoints","builder","getAIUsage","query","method","url","providesTags","getAiToken","transformResponse","res","data","overrideExisting","useGetAIUsageQuery","useGetAiTokenQuery","useLazyGetAiTokenQuery"],"mappings":";;AAGA,MAAMA,SAAAA,GAAYC,QAASC,CAAAA,eAAe,CAAC;IACzCC,SAAW,EAAA,CAACC,WAAa;YACvBC,UAAYD,EAAAA,OAAAA,CAAQE,KAAK,CAA4B;AACnDA,gBAAAA,KAAAA,EAAO,KAAO;wBACZC,MAAQ,EAAA,KAAA;wBACRC,GAAK,EAAA,CAAC,eAAe;qBACvB,CAAA;gBACAC,YAAc,EAAA;AAAC,oBAAA;AAAU;AAC3B,aAAA,CAAA;YACAC,UAAYN,EAAAA,OAAAA,CAAQE,KAAK,CAAoC;AAC3DA,gBAAAA,KAAAA,EAAO,KAAO;wBACZC,MAAQ,EAAA,KAAA;wBACRC,GAAK,EAAA;qBACP,CAAA;AACAG,gBAAAA,iBAAAA,CAAAA,CAAkBC,GAAwB,EAAA;AACxC,oBAAA,OAAOA,IAAIC,IAAI;AACjB;AACF,aAAA;SACF,CAAA;IACAC,gBAAkB,EAAA;AACpB,CAAA,CAAA;AAEA,MAAM,EAAEC,kBAAkB,EAAEC,kBAAkB,EAAEC,sBAAsB,EAAE,GAAGjB;;;;"}
1
+ {"version":3,"file":"ai.mjs","sources":["../../../../../../ee/admin/src/services/ai.ts"],"sourcesContent":["import { adminApi } from '../../../../admin/src/services/api';\nimport { GetAiUsage, GetAiToken, GetAIFeatureConfig } from '../../../../shared/contracts/ai';\n\nconst aiService = adminApi.injectEndpoints({\n endpoints: (builder) => ({\n getAIUsage: builder.query<GetAiUsage.Response, void>({\n query: () => ({\n method: 'GET',\n url: `/admin/ai-usage`,\n }),\n providesTags: ['AIUsage'],\n }),\n getAiToken: builder.query<GetAiToken.Response['data'], void>({\n query: () => ({\n method: 'GET',\n url: '/admin/ai-token',\n }),\n transformResponse(res: GetAiToken.Response) {\n return res.data;\n },\n }),\n getAIFeatureConfig: builder.query<GetAIFeatureConfig.Response['data'], void>({\n query: () => ({\n method: 'GET',\n url: '/admin/ai-feature-config',\n }),\n transformResponse(res: GetAIFeatureConfig.Response) {\n return res.data;\n },\n providesTags: ['AIFeatureConfig'],\n }),\n }),\n overrideExisting: true,\n});\n\nconst {\n useGetAIUsageQuery,\n useGetAiTokenQuery,\n useLazyGetAiTokenQuery,\n useGetAIFeatureConfigQuery,\n} = aiService;\n\nexport {\n useGetAIUsageQuery,\n useGetAiTokenQuery,\n useLazyGetAiTokenQuery,\n useGetAIFeatureConfigQuery,\n};\n"],"names":["aiService","adminApi","injectEndpoints","endpoints","builder","getAIUsage","query","method","url","providesTags","getAiToken","transformResponse","res","data","getAIFeatureConfig","overrideExisting","useGetAIUsageQuery","useGetAiTokenQuery","useLazyGetAiTokenQuery","useGetAIFeatureConfigQuery"],"mappings":";;AAGA,MAAMA,SAAAA,GAAYC,QAASC,CAAAA,eAAe,CAAC;IACzCC,SAAW,EAAA,CAACC,WAAa;YACvBC,UAAYD,EAAAA,OAAAA,CAAQE,KAAK,CAA4B;AACnDA,gBAAAA,KAAAA,EAAO,KAAO;wBACZC,MAAQ,EAAA,KAAA;wBACRC,GAAK,EAAA,CAAC,eAAe;qBACvB,CAAA;gBACAC,YAAc,EAAA;AAAC,oBAAA;AAAU;AAC3B,aAAA,CAAA;YACAC,UAAYN,EAAAA,OAAAA,CAAQE,KAAK,CAAoC;AAC3DA,gBAAAA,KAAAA,EAAO,KAAO;wBACZC,MAAQ,EAAA,KAAA;wBACRC,GAAK,EAAA;qBACP,CAAA;AACAG,gBAAAA,iBAAAA,CAAAA,CAAkBC,GAAwB,EAAA;AACxC,oBAAA,OAAOA,IAAIC,IAAI;AACjB;AACF,aAAA,CAAA;YACAC,kBAAoBV,EAAAA,OAAAA,CAAQE,KAAK,CAA4C;AAC3EA,gBAAAA,KAAAA,EAAO,KAAO;wBACZC,MAAQ,EAAA,KAAA;wBACRC,GAAK,EAAA;qBACP,CAAA;AACAG,gBAAAA,iBAAAA,CAAAA,CAAkBC,GAAgC,EAAA;AAChD,oBAAA,OAAOA,IAAIC,IAAI;AACjB,iBAAA;gBACAJ,YAAc,EAAA;AAAC,oBAAA;AAAkB;AACnC,aAAA;SACF,CAAA;IACAM,gBAAkB,EAAA;AACpB,CAAA,CAAA;AAEM,MAAA,EACJC,kBAAkB,EAClBC,kBAAkB,EAClBC,sBAAsB,EACtBC,0BAA0B,EAC3B,GAAGnB;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"auditLogs.js","sources":["../../../../../../ee/admin/src/services/auditLogs.ts"],"sourcesContent":["import { adminApi } from '../../../../admin/src/services/api';\nimport * as AuditLogs from '../../../../shared/contracts/audit-logs';\n\nconst auditLogsService = adminApi.injectEndpoints({\n endpoints: (builder) => ({\n getAuditLogs: builder.query<AuditLogs.GetAll.Response, AuditLogs.GetAll.Request['query']>({\n query: (params) => ({\n url: `/admin/audit-logs`,\n config: {\n params,\n },\n }),\n }),\n getAuditLog: builder.query<AuditLogs.Get.Response, AuditLogs.Get.Params['id']>({\n query: (id) => `/admin/audit-logs/${id}`,\n }),\n }),\n overrideExisting: false,\n});\n\nconst { useGetAuditLogsQuery, useGetAuditLogQuery } = auditLogsService;\n\nexport { useGetAuditLogsQuery, useGetAuditLogQuery };\n"],"names":["auditLogsService","adminApi","injectEndpoints","endpoints","builder","getAuditLogs","query","params","url","config","getAuditLog","id","overrideExisting","useGetAuditLogsQuery","useGetAuditLogQuery"],"mappings":";;;;AAGA,MAAMA,gBAAAA,GAAmBC,YAASC,CAAAA,eAAe,CAAC;IAChDC,SAAW,EAAA,CAACC,WAAa;YACvBC,YAAcD,EAAAA,OAAAA,CAAQE,KAAK,CAA+D;gBACxFA,KAAO,EAAA,CAACC,UAAY;wBAClBC,GAAK,EAAA,CAAC,iBAAiB,CAAC;wBACxBC,MAAQ,EAAA;AACNF,4BAAAA;AACF;qBACF;AACF,aAAA,CAAA;YACAG,WAAaN,EAAAA,OAAAA,CAAQE,KAAK,CAAqD;AAC7EA,gBAAAA,KAAAA,EAAO,CAACK,EAAO,GAAA,CAAC,kBAAkB,EAAEA,GAAG;AACzC,aAAA;SACF,CAAA;IACAC,gBAAkB,EAAA;AACpB,CAAA,CAAA;AAEA,MAAM,EAAEC,oBAAoB,EAAEC,mBAAmB,EAAE,GAAGd;;;;;"}
1
+ {"version":3,"file":"auditLogs.js","sources":["../../../../../../ee/admin/src/services/auditLogs.ts"],"sourcesContent":["import { adminApi } from '../../../../admin/src/services/api';\nimport * as AuditLogs from '../../../../shared/contracts/audit-logs';\n\nconst auditLogsService = adminApi.injectEndpoints({\n endpoints: (builder) => ({\n getAuditLogs: builder.query<AuditLogs.GetAll.Response, AuditLogs.GetAll.Request['query']>({\n query: (params) => ({\n url: `/admin/audit-logs`,\n config: {\n params,\n },\n }),\n }),\n getAuditLog: builder.query<AuditLogs.Get.Response, AuditLogs.Get.Params['id']>({\n query: (id) => `/admin/audit-logs/${id}`,\n }),\n }),\n overrideExisting: false,\n});\n\nconst { useGetAuditLogsQuery, useGetAuditLogQuery } = auditLogsService;\n\nexport { useGetAuditLogsQuery, useGetAuditLogQuery };\n"],"names":["auditLogsService","adminApi","injectEndpoints","endpoints","builder","getAuditLogs","query","params","url","config","getAuditLog","id","overrideExisting","useGetAuditLogsQuery","useGetAuditLogQuery"],"mappings":";;;;AAGA,MAAMA,gBAAAA,GAAmBC,YAASC,CAAAA,eAAe,CAAC;IAChDC,SAAW,EAAA,CAACC,WAAa;YACvBC,YAAcD,EAAAA,OAAAA,CAAQE,KAAK,CAA+D;gBACxFA,KAAO,EAAA,CAACC,UAAY;wBAClBC,GAAK,EAAA,CAAC,iBAAiB,CAAC;wBACxBC,MAAQ,EAAA;AACNF,4BAAAA;AACF;qBACF;AACF,aAAA,CAAA;YACAG,WAAaN,EAAAA,OAAAA,CAAQE,KAAK,CAAqD;AAC7EA,gBAAAA,KAAAA,EAAO,CAACK,EAAAA,GAAO,CAAC,kBAAkB,EAAEA,EAAI,CAAA;AAC1C,aAAA;SACF,CAAA;IACAC,gBAAkB,EAAA;AACpB,CAAA,CAAA;AAEA,MAAM,EAAEC,oBAAoB,EAAEC,mBAAmB,EAAE,GAAGd;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"auditLogs.mjs","sources":["../../../../../../ee/admin/src/services/auditLogs.ts"],"sourcesContent":["import { adminApi } from '../../../../admin/src/services/api';\nimport * as AuditLogs from '../../../../shared/contracts/audit-logs';\n\nconst auditLogsService = adminApi.injectEndpoints({\n endpoints: (builder) => ({\n getAuditLogs: builder.query<AuditLogs.GetAll.Response, AuditLogs.GetAll.Request['query']>({\n query: (params) => ({\n url: `/admin/audit-logs`,\n config: {\n params,\n },\n }),\n }),\n getAuditLog: builder.query<AuditLogs.Get.Response, AuditLogs.Get.Params['id']>({\n query: (id) => `/admin/audit-logs/${id}`,\n }),\n }),\n overrideExisting: false,\n});\n\nconst { useGetAuditLogsQuery, useGetAuditLogQuery } = auditLogsService;\n\nexport { useGetAuditLogsQuery, useGetAuditLogQuery };\n"],"names":["auditLogsService","adminApi","injectEndpoints","endpoints","builder","getAuditLogs","query","params","url","config","getAuditLog","id","overrideExisting","useGetAuditLogsQuery","useGetAuditLogQuery"],"mappings":";;AAGA,MAAMA,gBAAAA,GAAmBC,QAASC,CAAAA,eAAe,CAAC;IAChDC,SAAW,EAAA,CAACC,WAAa;YACvBC,YAAcD,EAAAA,OAAAA,CAAQE,KAAK,CAA+D;gBACxFA,KAAO,EAAA,CAACC,UAAY;wBAClBC,GAAK,EAAA,CAAC,iBAAiB,CAAC;wBACxBC,MAAQ,EAAA;AACNF,4BAAAA;AACF;qBACF;AACF,aAAA,CAAA;YACAG,WAAaN,EAAAA,OAAAA,CAAQE,KAAK,CAAqD;AAC7EA,gBAAAA,KAAAA,EAAO,CAACK,EAAO,GAAA,CAAC,kBAAkB,EAAEA,GAAG;AACzC,aAAA;SACF,CAAA;IACAC,gBAAkB,EAAA;AACpB,CAAA,CAAA;AAEA,MAAM,EAAEC,oBAAoB,EAAEC,mBAAmB,EAAE,GAAGd;;;;"}
1
+ {"version":3,"file":"auditLogs.mjs","sources":["../../../../../../ee/admin/src/services/auditLogs.ts"],"sourcesContent":["import { adminApi } from '../../../../admin/src/services/api';\nimport * as AuditLogs from '../../../../shared/contracts/audit-logs';\n\nconst auditLogsService = adminApi.injectEndpoints({\n endpoints: (builder) => ({\n getAuditLogs: builder.query<AuditLogs.GetAll.Response, AuditLogs.GetAll.Request['query']>({\n query: (params) => ({\n url: `/admin/audit-logs`,\n config: {\n params,\n },\n }),\n }),\n getAuditLog: builder.query<AuditLogs.Get.Response, AuditLogs.Get.Params['id']>({\n query: (id) => `/admin/audit-logs/${id}`,\n }),\n }),\n overrideExisting: false,\n});\n\nconst { useGetAuditLogsQuery, useGetAuditLogQuery } = auditLogsService;\n\nexport { useGetAuditLogsQuery, useGetAuditLogQuery };\n"],"names":["auditLogsService","adminApi","injectEndpoints","endpoints","builder","getAuditLogs","query","params","url","config","getAuditLog","id","overrideExisting","useGetAuditLogsQuery","useGetAuditLogQuery"],"mappings":";;AAGA,MAAMA,gBAAAA,GAAmBC,QAASC,CAAAA,eAAe,CAAC;IAChDC,SAAW,EAAA,CAACC,WAAa;YACvBC,YAAcD,EAAAA,OAAAA,CAAQE,KAAK,CAA+D;gBACxFA,KAAO,EAAA,CAACC,UAAY;wBAClBC,GAAK,EAAA,CAAC,iBAAiB,CAAC;wBACxBC,MAAQ,EAAA;AACNF,4BAAAA;AACF;qBACF;AACF,aAAA,CAAA;YACAG,WAAaN,EAAAA,OAAAA,CAAQE,KAAK,CAAqD;AAC7EA,gBAAAA,KAAAA,EAAO,CAACK,EAAAA,GAAO,CAAC,kBAAkB,EAAEA,EAAI,CAAA;AAC1C,aAAA;SACF,CAAA;IACAC,gBAAkB,EAAA;AACpB,CAAA,CAAA;AAEA,MAAM,EAAEC,oBAAoB,EAAEC,mBAAmB,EAAE,GAAGd;;;;"}
package/dist/admin/ee.js CHANGED
@@ -9,6 +9,7 @@ var useAIAvailability = require('./ee/admin/src/hooks/useAIAvailability.js');
9
9
 
10
10
  exports.useLicenseLimits = useLicenseLimits.useLicenseLimits;
11
11
  exports.useEnterprise = useEnterprise.useEnterprise;
12
+ exports.useGetAIFeatureConfigQuery = ai.useGetAIFeatureConfigQuery;
12
13
  exports.useGetAIUsageQuery = ai.useGetAIUsageQuery;
13
14
  exports.useAIAvailability = useAIAvailability.useAIAvailability;
14
15
  //# sourceMappingURL=ee.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ee.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
1
+ {"version":3,"file":"ee.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;"}
package/dist/admin/ee.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  export { useLicenseLimits } from './ee/admin/src/hooks/useLicenseLimits.mjs';
2
2
  export { useEnterprise } from './admin/src/hooks/useEnterprise.mjs';
3
- export { useGetAIUsageQuery } from './ee/admin/src/services/ai.mjs';
3
+ export { useGetAIFeatureConfigQuery, useGetAIUsageQuery } from './ee/admin/src/services/ai.mjs';
4
4
  export { useAIAvailability } from './ee/admin/src/hooks/useAIAvailability.mjs';
5
5
  //# sourceMappingURL=ee.mjs.map
@@ -22,7 +22,7 @@ interface FormContextValue<TFormValues extends FormValues = FormValues> extends
22
22
  moveFieldRow: (field: string, fromIndex: number, toIndex: number) => void;
23
23
  onChange: (eventOrPath: React.ChangeEvent<any> | string, value?: any) => void;
24
24
  removeFieldRow: (field: string, removeAtIndex?: number) => void;
25
- resetForm: () => void;
25
+ resetForm: (newInitialValues?: TFormValues) => void;
26
26
  setErrors: (errors: FormErrors<TFormValues>) => void;
27
27
  setSubmitting: (isSubmitting: boolean) => void;
28
28
  setValues: (values: TFormValues) => void;
@@ -8,10 +8,10 @@ type PreloadState = Partial<{
8
8
  * which we're trying to phase out. App Middlewares could potentially be improved...?
9
9
  */
10
10
  declare const configureStoreImpl: (preloadedState?: PreloadState, appMiddlewares?: Array<() => Middleware>, injectedReducers?: Record<string, Reducer>) => import("@reduxjs/toolkit/dist/configureStore").ToolkitStore<{
11
- readonly adminApi: import("@reduxjs/toolkit/query").CombinedState<{}, "GuidedTourMeta" | "HomepageKeyStatistics" | "AIUsage", "adminApi">;
11
+ readonly adminApi: import("@reduxjs/toolkit/query").CombinedState<{}, "GuidedTourMeta" | "HomepageKeyStatistics" | "AIUsage" | "AIFeatureConfig", "adminApi">;
12
12
  readonly admin_app: AppState;
13
13
  }, import("redux").AnyAction, (import("@reduxjs/toolkit").ThunkMiddleware<{
14
- readonly adminApi: import("@reduxjs/toolkit/query").CombinedState<{}, "GuidedTourMeta" | "HomepageKeyStatistics" | "AIUsage", "adminApi">;
14
+ readonly adminApi: import("@reduxjs/toolkit/query").CombinedState<{}, "GuidedTourMeta" | "HomepageKeyStatistics" | "AIUsage" | "AIFeatureConfig", "adminApi">;
15
15
  readonly admin_app: AppState;
16
16
  }, import("redux").AnyAction> | Middleware<{}, import("@reduxjs/toolkit/query").RootState<{}, string, "adminApi">, import("@reduxjs/toolkit").ThunkDispatch<any, any, import("redux").AnyAction>>)[]>;
17
17
  type Store = ReturnType<typeof configureStoreImpl> & {
@@ -6,10 +6,10 @@ declare const useTypedDispatch: () => AppDispatch;
6
6
  declare const useTypedStore: () => Store;
7
7
  declare const useTypedSelector: TypedUseSelectorHook<RootState>;
8
8
  declare const createTypedSelector: <TResult>(selector: Selector<RootState, TResult>) => ((state: {
9
- readonly adminApi: import("@reduxjs/toolkit/query").CombinedState<{}, "GuidedTourMeta" | "HomepageKeyStatistics" | "AIUsage", "adminApi">;
9
+ readonly adminApi: import("@reduxjs/toolkit/query").CombinedState<{}, "GuidedTourMeta" | "HomepageKeyStatistics" | "AIUsage" | "AIFeatureConfig", "adminApi">;
10
10
  readonly admin_app: import("./configure").AppState;
11
11
  }) => TResult) & import("reselect").OutputSelectorFields<(args_0: {
12
- readonly adminApi: import("@reduxjs/toolkit/query").CombinedState<{}, "GuidedTourMeta" | "HomepageKeyStatistics" | "AIUsage", "adminApi">;
12
+ readonly adminApi: import("@reduxjs/toolkit/query").CombinedState<{}, "GuidedTourMeta" | "HomepageKeyStatistics" | "AIUsage" | "AIFeatureConfig", "adminApi">;
13
13
  readonly admin_app: import("./configure").AppState;
14
14
  }) => TResult, {
15
15
  clearCache: () => void;
@@ -3,5 +3,5 @@
3
3
  */
4
4
  export { useLicenseLimits } from '../../ee/admin/src/hooks/useLicenseLimits';
5
5
  export { useEnterprise } from './hooks/useEnterprise';
6
- export { useGetAIUsageQuery } from '../../ee/admin/src/services/ai';
6
+ export { useGetAIUsageQuery, useGetAIFeatureConfigQuery } from '../../ee/admin/src/services/ai';
7
7
  export { useAIAvailability } from '../../ee/admin/src/hooks/useAIAvailability';
@@ -8,7 +8,7 @@ export declare const useAdminRoles: (params?: GetRolesParams, queryOptions?: Par
8
8
  error: any;
9
9
  isError: any;
10
10
  isLoading: any;
11
- refetch: () => import("@reduxjs/toolkit/query").QueryActionCreatorResult<import("@reduxjs/toolkit/query").QueryDefinition<void | GetRolesParams, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("..").QueryArguments, unknown, import("..").BaseQueryError>, "GuidedTourMeta" | "HomepageKeyStatistics" | "AIUsage" | "User" | "LicenseLimits" | "Role" | "RolePermissions", (import("..").SanitizedAdminRole & {
11
+ refetch: () => import("@reduxjs/toolkit/query").QueryActionCreatorResult<import("@reduxjs/toolkit/query").QueryDefinition<void | GetRolesParams, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("..").QueryArguments, unknown, import("..").BaseQueryError>, "GuidedTourMeta" | "HomepageKeyStatistics" | "AIUsage" | "AIFeatureConfig" | "User" | "LicenseLimits" | "Role" | "RolePermissions", (import("..").SanitizedAdminRole & {
12
12
  usersCount?: number | undefined;
13
13
  })[], "adminApi">>;
14
14
  };
@@ -6,14 +6,14 @@ declare const useWebhooks: (args?: GetWebhook.Params | void, queryArgs?: Paramet
6
6
  webhooks: import("@strapi/types/dist/modules/webhook-store").Webhook[] | undefined;
7
7
  isLoading: boolean;
8
8
  error: BaseQueryError | SerializedError;
9
- createWebhook: import("@reduxjs/toolkit/dist/query/react/buildHooks").MutationTrigger<import("@reduxjs/toolkit/query").MutationDefinition<Omit<import("@strapi/types/dist/modules/webhook-store").Webhook, "id" | "isEnabled">, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("../../../../../utils/baseQuery").QueryArguments, unknown, BaseQueryError>, "GuidedTourMeta" | "HomepageKeyStatistics" | "AIUsage" | "Webhook", import("@strapi/types/dist/modules/webhook-store").Webhook, "adminApi">>;
10
- updateWebhook: import("@reduxjs/toolkit/dist/query/react/buildHooks").MutationTrigger<import("@reduxjs/toolkit/query").MutationDefinition<Partial<import("@strapi/types/dist/modules/webhook-store").Webhook> & import("../../../../../../../shared/contracts/webhooks").UpdateWebhook.Params, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("../../../../../utils/baseQuery").QueryArguments, unknown, BaseQueryError>, "GuidedTourMeta" | "HomepageKeyStatistics" | "AIUsage" | "Webhook", import("@strapi/types/dist/modules/webhook-store").Webhook, "adminApi">>;
11
- triggerWebhook: import("@reduxjs/toolkit/dist/query/react/buildHooks").MutationTrigger<import("@reduxjs/toolkit/query").MutationDefinition<string, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("../../../../../utils/baseQuery").QueryArguments, unknown, BaseQueryError>, "GuidedTourMeta" | "HomepageKeyStatistics" | "AIUsage" | "Webhook", {
9
+ createWebhook: import("@reduxjs/toolkit/dist/query/react/buildHooks").MutationTrigger<import("@reduxjs/toolkit/query").MutationDefinition<Omit<import("@strapi/types/dist/modules/webhook-store").Webhook, "id" | "isEnabled">, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("../../../../../utils/baseQuery").QueryArguments, unknown, BaseQueryError>, "GuidedTourMeta" | "HomepageKeyStatistics" | "AIUsage" | "AIFeatureConfig" | "Webhook", import("@strapi/types/dist/modules/webhook-store").Webhook, "adminApi">>;
10
+ updateWebhook: import("@reduxjs/toolkit/dist/query/react/buildHooks").MutationTrigger<import("@reduxjs/toolkit/query").MutationDefinition<Partial<import("@strapi/types/dist/modules/webhook-store").Webhook> & import("../../../../../../../shared/contracts/webhooks").UpdateWebhook.Params, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("../../../../../utils/baseQuery").QueryArguments, unknown, BaseQueryError>, "GuidedTourMeta" | "HomepageKeyStatistics" | "AIUsage" | "AIFeatureConfig" | "Webhook", import("@strapi/types/dist/modules/webhook-store").Webhook, "adminApi">>;
11
+ triggerWebhook: import("@reduxjs/toolkit/dist/query/react/buildHooks").MutationTrigger<import("@reduxjs/toolkit/query").MutationDefinition<string, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("../../../../../utils/baseQuery").QueryArguments, unknown, BaseQueryError>, "GuidedTourMeta" | "HomepageKeyStatistics" | "AIUsage" | "AIFeatureConfig" | "Webhook", {
12
12
  statusCode: number;
13
13
  message?: string | undefined;
14
14
  }, "adminApi">>;
15
15
  deleteManyWebhooks: import("@reduxjs/toolkit/dist/query/react/buildHooks").MutationTrigger<import("@reduxjs/toolkit/query").MutationDefinition<{
16
16
  ids: string[];
17
- }, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("../../../../../utils/baseQuery").QueryArguments, unknown, BaseQueryError>, "GuidedTourMeta" | "HomepageKeyStatistics" | "AIUsage" | "Webhook", {}, "adminApi">>;
17
+ }, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("../../../../../utils/baseQuery").QueryArguments, unknown, BaseQueryError>, "GuidedTourMeta" | "HomepageKeyStatistics" | "AIUsage" | "AIFeatureConfig" | "Webhook", {}, "adminApi">>;
18
18
  };
19
19
  export { useWebhooks };
@@ -5,10 +5,10 @@
5
5
  * we were using the correct path. Which is state.admin_app.permissions
6
6
  */
7
7
  export declare const selectAdminPermissions: ((state: {
8
- readonly adminApi: import("@reduxjs/toolkit/query").CombinedState<{}, "GuidedTourMeta" | "HomepageKeyStatistics" | "AIUsage", "adminApi">;
8
+ readonly adminApi: import("@reduxjs/toolkit/query").CombinedState<{}, "GuidedTourMeta" | "HomepageKeyStatistics" | "AIUsage" | "AIFeatureConfig", "adminApi">;
9
9
  readonly admin_app: import("./reducer").AppState;
10
10
  }) => Partial<import("./types/permissions").PermissionMap>) & import("reselect").OutputSelectorFields<(args_0: {
11
- readonly adminApi: import("@reduxjs/toolkit/query").CombinedState<{}, "GuidedTourMeta" | "HomepageKeyStatistics" | "AIUsage", "adminApi">;
11
+ readonly adminApi: import("@reduxjs/toolkit/query").CombinedState<{}, "GuidedTourMeta" | "HomepageKeyStatistics" | "AIUsage" | "AIFeatureConfig", "adminApi">;
12
12
  readonly admin_app: import("./reducer").AppState;
13
13
  }) => Partial<import("./types/permissions").PermissionMap>, {
14
14
  clearCache: () => void;