@strapi/admin 4.15.5-alpha.1 → 4.15.5-alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_chunks/{AuthenticatedApp-3dc33451.mjs → AuthenticatedApp-2cfb41e2.mjs} +21 -21
- package/dist/_chunks/{AuthenticatedApp-3dc33451.mjs.map → AuthenticatedApp-2cfb41e2.mjs.map} +1 -1
- package/dist/_chunks/{AuthenticatedApp-4f5e9d2f.js → AuthenticatedApp-79e3f141.js} +21 -21
- package/dist/_chunks/{AuthenticatedApp-4f5e9d2f.js.map → AuthenticatedApp-79e3f141.js.map} +1 -1
- package/dist/_chunks/{HomePage-cd238204.mjs → HomePage-1376624b.mjs} +4 -4
- package/dist/_chunks/{HomePage-cd238204.mjs.map → HomePage-1376624b.mjs.map} +1 -1
- package/dist/_chunks/{HomePage-7f6b292b.js → HomePage-a617d19a.js} +4 -4
- package/dist/_chunks/{HomePage-7f6b292b.js.map → HomePage-a617d19a.js.map} +1 -1
- package/dist/_chunks/{HomePage-9527f582.js → HomePage-a9e9942a.js} +4 -4
- package/dist/_chunks/{HomePage-9527f582.js.map → HomePage-a9e9942a.js.map} +1 -1
- package/dist/_chunks/{HomePage-ffc96143.mjs → HomePage-e333ff90.mjs} +4 -4
- package/dist/_chunks/{HomePage-ffc96143.mjs.map → HomePage-e333ff90.mjs.map} +1 -1
- package/dist/_chunks/{InstalledPluginsPage-61332416.mjs → InstalledPluginsPage-c7ccd2b2.mjs} +3 -3
- package/dist/_chunks/{InstalledPluginsPage-61332416.mjs.map → InstalledPluginsPage-c7ccd2b2.mjs.map} +1 -1
- package/dist/_chunks/{InstalledPluginsPage-d93fbab1.js → InstalledPluginsPage-fb2aaa1f.js} +3 -3
- package/dist/_chunks/{InstalledPluginsPage-d93fbab1.js.map → InstalledPluginsPage-fb2aaa1f.js.map} +1 -1
- package/dist/_chunks/{Login-48299d05.mjs → Login-69bf063c.mjs} +2 -2
- package/dist/_chunks/{Login-48299d05.mjs.map → Login-69bf063c.mjs.map} +1 -1
- package/dist/_chunks/{Login-8c7b1206.js → Login-d6fd38ea.js} +2 -2
- package/dist/_chunks/{Login-8c7b1206.js.map → Login-d6fd38ea.js.map} +1 -1
- package/dist/_chunks/{MarketplacePage-7935f8c5.js → MarketplacePage-7c516084.js} +3 -3
- package/dist/_chunks/{MarketplacePage-7935f8c5.js.map → MarketplacePage-7c516084.js.map} +1 -1
- package/dist/_chunks/{MarketplacePage-ebab9b26.mjs → MarketplacePage-c829d0de.mjs} +3 -3
- package/dist/_chunks/{MarketplacePage-ebab9b26.mjs.map → MarketplacePage-c829d0de.mjs.map} +1 -1
- package/dist/_chunks/{ProfilePage-6914e5ef.js → ProfilePage-a2e54283.js} +56 -8
- package/dist/_chunks/ProfilePage-a2e54283.js.map +1 -0
- package/dist/_chunks/{ProfilePage-5697e4c6.mjs → ProfilePage-c6d8c69f.mjs} +56 -8
- package/dist/_chunks/ProfilePage-c6d8c69f.mjs.map +1 -0
- package/dist/_chunks/{build-f011d8dc.mjs → build-20299009.mjs} +2 -2
- package/dist/_chunks/{build-f011d8dc.mjs.map → build-20299009.mjs.map} +1 -1
- package/dist/_chunks/{build-b285bccd.js → build-58827c7a.js} +2 -2
- package/dist/_chunks/{build-b285bccd.js.map → build-58827c7a.js.map} +1 -1
- package/dist/_chunks/{constants-de1431ff.js → constants-4c06740e.js} +3 -3
- package/dist/_chunks/{constants-de1431ff.js.map → constants-4c06740e.js.map} +1 -1
- package/dist/_chunks/{constants-464bf1b5.mjs → constants-5f0670d7.mjs} +5 -5
- package/dist/_chunks/{constants-464bf1b5.mjs.map → constants-5f0670d7.mjs.map} +1 -1
- package/dist/_chunks/{constants-5fa6f753.mjs → constants-842c6449.mjs} +6 -6
- package/dist/_chunks/{constants-5fa6f753.mjs.map → constants-842c6449.mjs.map} +1 -1
- package/dist/_chunks/{constants-c99e549a.js → constants-9212941b.js} +6 -6
- package/dist/_chunks/{constants-c99e549a.js.map → constants-9212941b.js.map} +1 -1
- package/dist/_chunks/{constants-27fee9dc.js → constants-962e9922.js} +5 -5
- package/dist/_chunks/{constants-27fee9dc.js.map → constants-962e9922.js.map} +1 -1
- package/dist/_chunks/{constants-594069b7.js → constants-a16f9961.js} +2 -2
- package/dist/_chunks/{constants-594069b7.js.map → constants-a16f9961.js.map} +1 -1
- package/dist/_chunks/{constants-ab7805d3.mjs → constants-a3372db6.mjs} +3 -3
- package/dist/_chunks/{constants-ab7805d3.mjs.map → constants-a3372db6.mjs.map} +1 -1
- package/dist/_chunks/{constants-021855fe.mjs → constants-fad06b7f.mjs} +2 -2
- package/dist/_chunks/{constants-021855fe.mjs.map → constants-fad06b7f.mjs.map} +1 -1
- package/dist/_chunks/{develop-3c9f7452.mjs → develop-7066af5e.mjs} +2 -2
- package/dist/_chunks/{develop-3c9f7452.mjs.map → develop-7066af5e.mjs.map} +1 -1
- package/dist/_chunks/{develop-9765d7ba.js → develop-a7d5cf0c.js} +2 -2
- package/dist/_chunks/{develop-9765d7ba.js.map → develop-a7d5cf0c.js.map} +1 -1
- package/dist/_chunks/{index-aea536d3.js → index-07d155a0.js} +2 -2
- package/dist/_chunks/{index-aea536d3.js.map → index-07d155a0.js.map} +1 -1
- package/dist/_chunks/{index-ff1ccfdf.js → index-12b7d75f.js} +4 -4
- package/dist/_chunks/{index-ff1ccfdf.js.map → index-12b7d75f.js.map} +1 -1
- package/dist/_chunks/{index-4d908a6a.mjs → index-1316edb2.mjs} +4 -4
- package/dist/_chunks/{index-4d908a6a.mjs.map → index-1316edb2.mjs.map} +1 -1
- package/dist/_chunks/{index-1b652ffb.js → index-174cc6b9.js} +4 -4
- package/dist/_chunks/{index-1b652ffb.js.map → index-174cc6b9.js.map} +1 -1
- package/dist/_chunks/{index-1fad9ce4.js → index-18fed2cd.js} +3 -3
- package/dist/_chunks/{index-1fad9ce4.js.map → index-18fed2cd.js.map} +1 -1
- package/dist/_chunks/{index-1d447dd1.mjs → index-1e3a2719.mjs} +5 -5
- package/dist/_chunks/{index-1d447dd1.mjs.map → index-1e3a2719.mjs.map} +1 -1
- package/dist/_chunks/{index-a4501c11.mjs → index-242c514c.mjs} +3 -3
- package/dist/_chunks/{index-a4501c11.mjs.map → index-242c514c.mjs.map} +1 -1
- package/dist/_chunks/{index-9aeead4f.js → index-252284ed.js} +3 -3
- package/dist/_chunks/{index-9aeead4f.js.map → index-252284ed.js.map} +1 -1
- package/dist/_chunks/{index-597d52e6.js → index-25bb4a4d.js} +5 -5
- package/dist/_chunks/{index-597d52e6.js.map → index-25bb4a4d.js.map} +1 -1
- package/dist/_chunks/{index-fc1b2e24.js → index-25c9158f.js} +2 -2
- package/dist/_chunks/{index-fc1b2e24.js.map → index-25c9158f.js.map} +1 -1
- package/dist/_chunks/{index-a06be1eb.js → index-25feef65.js} +6 -6
- package/dist/_chunks/{index-a06be1eb.js.map → index-25feef65.js.map} +1 -1
- package/dist/_chunks/{index-d973d4aa.js → index-2aed5618.js} +3 -3
- package/dist/_chunks/{index-d973d4aa.js.map → index-2aed5618.js.map} +1 -1
- package/dist/_chunks/{index-16f63601.js → index-2b331655.js} +3 -3
- package/dist/_chunks/{index-16f63601.js.map → index-2b331655.js.map} +1 -1
- package/dist/_chunks/{index-491a644c.mjs → index-314f72f4.mjs} +4 -4
- package/dist/_chunks/{index-491a644c.mjs.map → index-314f72f4.mjs.map} +1 -1
- package/dist/_chunks/{index-1a101386.js → index-341222f2.js} +3 -3
- package/dist/_chunks/{index-1a101386.js.map → index-341222f2.js.map} +1 -1
- package/dist/_chunks/{index-2a513e27.js → index-3444ab6f.js} +4 -4
- package/dist/_chunks/{index-2a513e27.js.map → index-3444ab6f.js.map} +1 -1
- package/dist/_chunks/{index-441a4430.js → index-35fc9959.js} +3 -3
- package/dist/_chunks/{index-441a4430.js.map → index-35fc9959.js.map} +1 -1
- package/dist/_chunks/{index-9eb58279.mjs → index-45a78b18.mjs} +20 -20
- package/dist/_chunks/{index-9eb58279.mjs.map → index-45a78b18.mjs.map} +1 -1
- package/dist/_chunks/{index-efa54e88.js → index-48ebb88c.js} +5 -5
- package/dist/_chunks/{index-efa54e88.js.map → index-48ebb88c.js.map} +1 -1
- package/dist/_chunks/{index-36bc3344.js → index-4a241498.js} +8 -8
- package/dist/_chunks/{index-36bc3344.js.map → index-4a241498.js.map} +1 -1
- package/dist/_chunks/{index-5c450a5d.js → index-4c29f67c.js} +3 -3
- package/dist/_chunks/{index-5c450a5d.js.map → index-4c29f67c.js.map} +1 -1
- package/dist/_chunks/{index-765eaefa.mjs → index-517fbe00.mjs} +5 -5
- package/dist/_chunks/{index-765eaefa.mjs.map → index-517fbe00.mjs.map} +1 -1
- package/dist/_chunks/{index-39ddfa9d.js → index-563a992a.js} +4 -4
- package/dist/_chunks/{index-39ddfa9d.js.map → index-563a992a.js.map} +1 -1
- package/dist/_chunks/{index-4fcc02a8.mjs → index-5b44cba5.mjs} +2 -2
- package/dist/_chunks/{index-4fcc02a8.mjs.map → index-5b44cba5.mjs.map} +1 -1
- package/dist/_chunks/{index-83c96824.mjs → index-61c915cd.mjs} +2 -2
- package/dist/_chunks/{index-83c96824.mjs.map → index-61c915cd.mjs.map} +1 -1
- package/dist/_chunks/{index-e69daec5.mjs → index-61e392e8.mjs} +5 -5
- package/dist/_chunks/{index-e69daec5.mjs.map → index-61e392e8.mjs.map} +1 -1
- package/dist/_chunks/{index-2d68f91c.js → index-66177bc5.js} +4 -4
- package/dist/_chunks/{index-2d68f91c.js.map → index-66177bc5.js.map} +1 -1
- package/dist/_chunks/{index-f03ae868.js → index-68ae52b6.js} +5 -5
- package/dist/_chunks/{index-f03ae868.js.map → index-68ae52b6.js.map} +1 -1
- package/dist/_chunks/{index-bb41a0b4.mjs → index-693383db.mjs} +5 -5
- package/dist/_chunks/{index-bb41a0b4.mjs.map → index-693383db.mjs.map} +1 -1
- package/dist/_chunks/{index-90670cc5.mjs → index-6b7dceb1.mjs} +3 -3
- package/dist/_chunks/{index-90670cc5.mjs.map → index-6b7dceb1.mjs.map} +1 -1
- package/dist/_chunks/{index-c77e4b9e.mjs → index-703c58c8.mjs} +4 -4
- package/dist/_chunks/{index-c77e4b9e.mjs.map → index-703c58c8.mjs.map} +1 -1
- package/dist/_chunks/{index-70170c58.js → index-7338912f.js} +5 -5
- package/dist/_chunks/{index-70170c58.js.map → index-7338912f.js.map} +1 -1
- package/dist/_chunks/{index-628523c3.mjs → index-7a1a0c5c.mjs} +3 -3
- package/dist/_chunks/{index-628523c3.mjs.map → index-7a1a0c5c.mjs.map} +1 -1
- package/dist/_chunks/{index-d015b499.mjs → index-7d449292.mjs} +3 -3
- package/dist/_chunks/{index-d015b499.mjs.map → index-7d449292.mjs.map} +1 -1
- package/dist/_chunks/{index-ad9874a3.mjs → index-80574f48.mjs} +3 -3
- package/dist/_chunks/{index-ad9874a3.mjs.map → index-80574f48.mjs.map} +1 -1
- package/dist/_chunks/{index-2afcd90d.mjs → index-9910aa5a.mjs} +3 -3
- package/dist/_chunks/{index-2afcd90d.mjs.map → index-9910aa5a.mjs.map} +1 -1
- package/dist/_chunks/{index-1b68c59f.mjs → index-996f7ad1.mjs} +3 -3
- package/dist/_chunks/{index-1b68c59f.mjs.map → index-996f7ad1.mjs.map} +1 -1
- package/dist/_chunks/{index-32a85ff2.mjs → index-9b3107a4.mjs} +3 -3
- package/dist/_chunks/{index-32a85ff2.mjs.map → index-9b3107a4.mjs.map} +1 -1
- package/dist/_chunks/{index-fd519600.js → index-9d03d359.js} +3 -3
- package/dist/_chunks/{index-fd519600.js.map → index-9d03d359.js.map} +1 -1
- package/dist/_chunks/{index-ad5a8a6c.mjs → index-9e5d59f5.mjs} +5 -5
- package/dist/_chunks/{index-ad5a8a6c.mjs.map → index-9e5d59f5.mjs.map} +1 -1
- package/dist/_chunks/{index-f273efd9.mjs → index-9f88ad83.mjs} +3 -3
- package/dist/_chunks/{index-f273efd9.mjs.map → index-9f88ad83.mjs.map} +1 -1
- package/dist/_chunks/{index-6720b4ee.mjs → index-adb714e8.mjs} +2 -2
- package/dist/_chunks/{index-6720b4ee.mjs.map → index-adb714e8.mjs.map} +1 -1
- package/dist/_chunks/{index-2361b19a.mjs → index-b53ba38d.mjs} +4 -4
- package/dist/_chunks/{index-2361b19a.mjs.map → index-b53ba38d.mjs.map} +1 -1
- package/dist/_chunks/{index-c075b5a1.mjs → index-b53cf07d.mjs} +52 -40
- package/dist/_chunks/index-b53cf07d.mjs.map +1 -0
- package/dist/_chunks/{index-62b7bdbe.js → index-b84b9fee.js} +52 -40
- package/dist/_chunks/index-b84b9fee.js.map +1 -0
- package/dist/_chunks/{index-f1c47f19.mjs → index-bef99193.mjs} +4 -4
- package/dist/_chunks/{index-f1c47f19.mjs.map → index-bef99193.mjs.map} +1 -1
- package/dist/_chunks/{index-b5cec828.js → index-c2b86584.js} +3 -3
- package/dist/_chunks/{index-b5cec828.js.map → index-c2b86584.js.map} +1 -1
- package/dist/_chunks/{index-f5225f7c.js → index-c3469f69.js} +3 -3
- package/dist/_chunks/{index-f5225f7c.js.map → index-c3469f69.js.map} +1 -1
- package/dist/_chunks/{index-86e4d4f7.mjs → index-c4116296.mjs} +6 -6
- package/dist/_chunks/{index-86e4d4f7.mjs.map → index-c4116296.mjs.map} +1 -1
- package/dist/_chunks/{index-88ed5f05.mjs → index-cf4fe6b7.mjs} +8 -8
- package/dist/_chunks/{index-88ed5f05.mjs.map → index-cf4fe6b7.mjs.map} +1 -1
- package/dist/_chunks/{index-ed8c4e0c.js → index-d4029932.js} +4 -4
- package/dist/_chunks/{index-ed8c4e0c.js.map → index-d4029932.js.map} +1 -1
- package/dist/_chunks/{index-9abdeb03.mjs → index-dcbab202.mjs} +3 -3
- package/dist/_chunks/{index-9abdeb03.mjs.map → index-dcbab202.mjs.map} +1 -1
- package/dist/_chunks/{index-fd22c729.js → index-dcd31235.js} +3 -3
- package/dist/_chunks/{index-fd22c729.js.map → index-dcd31235.js.map} +1 -1
- package/dist/_chunks/{index-ded977f2.mjs → index-dede2234.mjs} +3 -3
- package/dist/_chunks/{index-ded977f2.mjs.map → index-dede2234.mjs.map} +1 -1
- package/dist/_chunks/{index-feef2a5d.mjs → index-df70cfd7.mjs} +5 -5
- package/dist/_chunks/{index-feef2a5d.mjs.map → index-df70cfd7.mjs.map} +1 -1
- package/dist/_chunks/{index-8f82d8d1.mjs → index-dfc0437b.mjs} +4 -4
- package/dist/_chunks/{index-8f82d8d1.mjs.map → index-dfc0437b.mjs.map} +1 -1
- package/dist/_chunks/{index-a34e5d12.js → index-e8b17b94.js} +5 -5
- package/dist/_chunks/{index-a34e5d12.js.map → index-e8b17b94.js.map} +1 -1
- package/dist/_chunks/{index-25a6d0ba.js → index-ea8946fb.js} +2 -2
- package/dist/_chunks/{index-25a6d0ba.js.map → index-ea8946fb.js.map} +1 -1
- package/dist/_chunks/{index-f9594081.js → index-ecb3cfba.js} +5 -5
- package/dist/_chunks/{index-f9594081.js.map → index-ecb3cfba.js.map} +1 -1
- package/dist/_chunks/{index-dd7c79dd.mjs → index-ed287ba8.mjs} +3 -3
- package/dist/_chunks/{index-dd7c79dd.mjs.map → index-ed287ba8.mjs.map} +1 -1
- package/dist/_chunks/{index-eaa2c758.mjs → index-edf62e62.mjs} +4 -4
- package/dist/_chunks/{index-eaa2c758.mjs.map → index-edf62e62.mjs.map} +1 -1
- package/dist/_chunks/{index-c4ab53cb.js → index-ef0c2ffb.js} +4 -4
- package/dist/_chunks/{index-c4ab53cb.js.map → index-ef0c2ffb.js.map} +1 -1
- package/dist/_chunks/{index-41123d19.js → index-f088fe2c.js} +3 -3
- package/dist/_chunks/{index-41123d19.js.map → index-f088fe2c.js.map} +1 -1
- package/dist/_chunks/{index-399bd1d4.mjs → index-f097ccea.mjs} +3 -3
- package/dist/_chunks/{index-399bd1d4.mjs.map → index-f097ccea.mjs.map} +1 -1
- package/dist/_chunks/{index-7b4485be.js → index-fbe9dba1.js} +3 -3
- package/dist/_chunks/{index-7b4485be.js.map → index-fbe9dba1.js.map} +1 -1
- package/dist/_chunks/{index-29f725ef.js → index-fc7a00f0.js} +20 -20
- package/dist/_chunks/{index-29f725ef.js.map → index-fc7a00f0.js.map} +1 -1
- package/dist/_chunks/{schema-2cfc666b.mjs → schema-1808aa2d.mjs} +2 -2
- package/dist/_chunks/{schema-2cfc666b.mjs.map → schema-1808aa2d.mjs.map} +1 -1
- package/dist/_chunks/{schema-b443a274.js → schema-e73a6250.js} +2 -2
- package/dist/_chunks/{schema-b443a274.js.map → schema-e73a6250.js.map} +1 -1
- package/dist/_chunks/{validateWorkflow-3e09b68c.js → validateWorkflow-11ecf8ee.js} +3 -3
- package/dist/_chunks/{validateWorkflow-3e09b68c.js.map → validateWorkflow-11ecf8ee.js.map} +1 -1
- package/dist/_chunks/{validateWorkflow-02bdade4.mjs → validateWorkflow-1ec1040b.mjs} +3 -3
- package/dist/_chunks/{validateWorkflow-02bdade4.mjs.map → validateWorkflow-1ec1040b.mjs.map} +1 -1
- package/dist/admin/index.js +1 -1
- package/dist/admin/index.mjs +1 -1
- package/dist/cli.js +1 -1
- package/dist/cli.mjs +1 -1
- package/dist/shared/contracts/users.d.ts +12 -9
- package/package.json +12 -12
- package/dist/_chunks/ProfilePage-5697e4c6.mjs.map +0 -1
- package/dist/_chunks/ProfilePage-6914e5ef.js.map +0 -1
- package/dist/_chunks/index-62b7bdbe.js.map +0 -1
- package/dist/_chunks/index-c075b5a1.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-41123d19.js","sources":["../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListView/hooks/useAuditLogsData.js","../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListView/hooks/useFormatTimeStamp.js","../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListView/utils/getActionTypesDefaultMessages.js","../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListView/Modal/ActionItem.js","../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListView/Modal/ActionBody.js","../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListView/Modal/index.js","../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListView/PaginationFooter/index.js","../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListView/TableRows/index.js","../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListView/ComboboxFilter/index.js","../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListView/utils/getDisplayedFilters.js","../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListView/utils/tableHeaders.js","../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListView/index.js","../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/ProtectedListPage/index.js"],"sourcesContent":["import { useFetchClient, useNotification, useQueryParams } from '@strapi/helper-plugin';\nimport { useQuery } from 'react-query';\nimport { useLocation } from 'react-router-dom';\n\nimport { useAdminUsers } from '../../../../../../../../../admin/src/hooks/useAdminUsers';\n\nconst useAuditLogsData = ({ canReadAuditLogs, canReadUsers }) => {\n const { get } = useFetchClient();\n const { search } = useLocation();\n const toggleNotification = useNotification();\n const [{ query }] = useQueryParams();\n\n const queryOptions = {\n keepPreviousData: true,\n retry: false,\n staleTime: 1000 * 20, // 20 seconds\n onError: (error) => toggleNotification({ type: 'warning', message: error.message }),\n };\n\n const {\n users,\n isError: isUsersError,\n isLoading: isLoadingUsers,\n } = useAdminUsers(\n {},\n {\n ...queryOptions,\n enabled: canReadUsers,\n staleTime: 2 * (1000 * 60), // 2 minutes\n }\n );\n\n const {\n data: auditLogs,\n isLoading: isLoadingAuditLogs,\n isError: isAuditLogsError,\n } = useQuery(\n ['auditLogs', search],\n async () => {\n const { data } = await get(`/admin/audit-logs`, {\n params: query,\n });\n\n return data;\n },\n {\n ...queryOptions,\n enabled: canReadAuditLogs,\n }\n );\n\n return {\n auditLogs,\n users,\n isLoading: isLoadingUsers || isLoadingAuditLogs,\n hasError: isAuditLogsError || isUsersError,\n };\n};\n\nexport default useAuditLogsData;\n","import parseISO from 'date-fns/parseISO';\nimport { useIntl } from 'react-intl';\n\nconst useFormatTimeStamp = () => {\n const { formatDate } = useIntl();\n\n const formatTimeStamp = (value) => {\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\nexport default useFormatTimeStamp;\n","export const actionTypes = {\n 'entry.create': 'Create entry{model, select, undefined {} other { ({model})}}',\n 'entry.update': 'Update entry{model, select, undefined {} other { ({model})}}',\n 'entry.delete': 'Delete entry{model, select, undefined {} other { ({model})}}',\n 'entry.publish': 'Publish entry{model, select, undefined {} other { ({model})}}',\n 'entry.unpublish': 'Unpublish entry{model, select, undefined {} other { ({model})}}',\n 'media.create': 'Create media',\n 'media.update': 'Update media',\n 'media.delete': 'Delete media',\n 'media-folder.create': 'Create media folder',\n 'media-folder.update': 'Update media folder',\n 'media-folder.delete': 'Delete media folder',\n 'user.create': 'Create user',\n 'user.update': 'Update user',\n 'user.delete': 'Delete user',\n 'admin.auth.success': 'Admin login',\n 'admin.logout': 'Admin logout',\n 'content-type.create': 'Create content type',\n 'content-type.update': 'Update content type',\n 'content-type.delete': 'Delete content type',\n 'component.create': 'Create component',\n 'component.update': 'Update component',\n 'component.delete': 'Delete component',\n 'role.create': 'Create role',\n 'role.update': 'Update role',\n 'role.delete': 'Delete role',\n 'permission.create': 'Create permission',\n 'permission.update': 'Update permission',\n 'permission.delete': 'Delete permission',\n};\n\nexport const getDefaultMessage = (value) => {\n return actionTypes[value] || value;\n};\n","import React from 'react';\n\nimport { Flex, Typography } from '@strapi/design-system';\nimport PropTypes from 'prop-types';\n\nconst ActionItem = ({ actionLabel, actionName }) => {\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\nActionItem.propTypes = {\n actionLabel: PropTypes.string.isRequired,\n actionName: PropTypes.string.isRequired,\n};\n\nexport default ActionItem;\n","import React from 'react';\n\nimport { Box, Flex, Grid, JSONInput, Loader, Typography } from '@strapi/design-system';\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\n\nimport { getDefaultMessage } from '../utils/getActionTypesDefaultMessages';\n\nimport ActionItem from './ActionItem';\n\nconst ActionBody = ({ status, data, formattedDate }) => {\n const { formatMessage } = useIntl();\n\n if (status === 'loading') {\n return (\n <Flex padding={7} justifyContent=\"center\" alignItems=\"center\">\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\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),\n },\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>\n <JSONInput\n value={JSON.stringify(payload, null, 2)}\n disabled\n label={formatMessage({\n id: 'Settings.permissions.auditLogs.payload',\n defaultMessage: 'Payload',\n })}\n />\n </>\n );\n};\n\nActionBody.defaultProps = {\n data: {},\n};\n\nActionBody.propTypes = {\n status: PropTypes.oneOf(['idle', 'loading', 'error', 'success']).isRequired,\n data: PropTypes.shape({\n action: PropTypes.string,\n date: PropTypes.string,\n payload: PropTypes.object,\n user: PropTypes.object,\n }),\n formattedDate: PropTypes.string.isRequired,\n};\n\nexport default ActionBody;\n","import React from 'react';\n\nimport { ModalBody, ModalHeader, ModalLayout } from '@strapi/design-system';\nimport { Breadcrumbs, Crumb } from '@strapi/design-system/v2';\nimport { useFetchClient, useNotification } from '@strapi/helper-plugin';\nimport PropTypes from 'prop-types';\nimport { useQuery } from 'react-query';\n\nimport useFormatTimeStamp from '../hooks/useFormatTimeStamp';\n\nimport ActionBody from './ActionBody';\n\nconst Modal = ({ handleClose, logId }) => {\n const { get } = useFetchClient();\n const toggleNotification = useNotification();\n\n const fetchAuditLog = async (id) => {\n const { data } = await get(`/admin/audit-logs/${id}`);\n\n if (!data) {\n throw new Error('Audit log not found');\n }\n\n return data;\n };\n\n const { data, status } = useQuery(['audit-log', logId], () => fetchAuditLog(logId), {\n onError() {\n toggleNotification({\n type: 'warning',\n message: { id: 'notification.error', defaultMessage: 'An error occured' },\n });\n handleClose();\n },\n });\n\n const formatTimeStamp = useFormatTimeStamp();\n const formattedDate = data ? formatTimeStamp(data.date) : '';\n\n return (\n <ModalLayout onClose={handleClose} labelledBy=\"title\">\n <ModalHeader>\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 </ModalHeader>\n <ModalBody>\n <ActionBody status={status} data={data} formattedDate={formattedDate} />\n </ModalBody>\n </ModalLayout>\n );\n};\n\nModal.propTypes = {\n handleClose: PropTypes.func.isRequired,\n logId: PropTypes.string.isRequired,\n};\n\nexport default Modal;\n","import React from 'react';\n\nimport { Box, Flex } from '@strapi/design-system';\nimport { PageSizeURLQuery, PaginationURLQuery } from '@strapi/helper-plugin';\nimport PropTypes from 'prop-types';\n\nconst PaginationFooter = ({ pagination }) => {\n return (\n <Box paddingTop={4}>\n <Flex alignItems=\"flex-end\" justifyContent=\"space-between\">\n <PageSizeURLQuery />\n <PaginationURLQuery pagination={pagination} />\n </Flex>\n </Box>\n );\n};\n\nPaginationFooter.defaultProps = {\n pagination: {\n pageCount: 0,\n pageSize: 50,\n total: 0,\n },\n};\n\nPaginationFooter.propTypes = {\n pagination: PropTypes.shape({\n page: PropTypes.number,\n pageCount: PropTypes.number,\n pageSize: PropTypes.number,\n total: PropTypes.number,\n }),\n};\n\nexport default PaginationFooter;\n","import React from 'react';\n\nimport { Flex, IconButton, Tbody, Td, Tr, Typography } from '@strapi/design-system';\nimport { onRowClick, stopPropagation } from '@strapi/helper-plugin';\nimport { Eye } from '@strapi/icons';\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\n\nimport useFormatTimeStamp from '../hooks/useFormatTimeStamp';\nimport { getDefaultMessage } from '../utils/getActionTypesDefaultMessages';\n\nconst TableRows = ({ headers, rows, onOpenModal }) => {\n const { formatMessage } = useIntl();\n const formatTimeStamp = useFormatTimeStamp();\n\n const getCellValue = ({ type, value, model }) => {\n if (type === 'date') {\n return formatTimeStamp(value);\n }\n\n if (type === 'action') {\n return formatMessage(\n {\n id: `Settings.permissions.auditLogs.${value}`,\n defaultMessage: getDefaultMessage(value),\n },\n { model }\n );\n }\n\n return value || '-';\n };\n\n return (\n <Tbody>\n {rows.map((data) => {\n return (\n <Tr\n key={data.id}\n {...onRowClick({\n fn: () => onOpenModal(data.id),\n })}\n >\n {headers.map(({ key, name, cellFormatter }) => {\n return (\n <Td key={key}>\n <Typography textColor=\"neutral800\">\n {getCellValue({\n type: key,\n value: cellFormatter ? cellFormatter(data[name]) : data[name],\n model: data.payload?.model,\n })}\n </Typography>\n </Td>\n );\n })}\n <Td {...stopPropagation}>\n <Flex justifyContent=\"end\">\n <IconButton\n onClick={() => onOpenModal(data.id)}\n aria-label={formatMessage(\n { id: 'app.component.table.view', defaultMessage: '{target} details' },\n { target: `${data.action} action` }\n )}\n noBorder\n icon={<Eye />}\n />\n </Flex>\n </Td>\n </Tr>\n );\n })}\n </Tbody>\n );\n};\n\nTableRows.defaultProps = {\n rows: [],\n};\n\nTableRows.propTypes = {\n headers: PropTypes.array.isRequired,\n rows: PropTypes.array,\n onOpenModal: PropTypes.func.isRequired,\n};\n\nexport default TableRows;\n","import React from 'react';\n\nimport { Combobox, ComboboxOption } from '@strapi/design-system';\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\n\nconst ComboboxFilter = ({ value, options, onChange }) => {\n const { formatMessage } = useIntl();\n const ariaLabel = formatMessage({\n id: 'Settings.permissions.auditLogs.filter.aria-label',\n defaultMessage: 'Search and select an option to filter',\n });\n\n return (\n <Combobox aria-label={ariaLabel} value={value} onChange={onChange}>\n {options.map(({ label, customValue }) => {\n return (\n <ComboboxOption key={customValue} value={customValue}>\n {label}\n </ComboboxOption>\n );\n })}\n </Combobox>\n );\n};\n\nComboboxFilter.defaultProps = {\n value: null,\n};\n\nComboboxFilter.propTypes = {\n value: PropTypes.string,\n options: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string.isRequired,\n customValue: PropTypes.string.isRequired,\n }).isRequired\n ).isRequired,\n onChange: PropTypes.func.isRequired,\n};\n\nexport default ComboboxFilter;\n","import ComboboxFilter from '../ComboboxFilter';\n\nimport { actionTypes, getDefaultMessage } from './getActionTypesDefaultMessages';\n\nconst customOperators = [\n {\n intlLabel: { id: 'components.FilterOptions.FILTER_TYPES.$eq', defaultMessage: 'is' },\n value: '$eq',\n },\n {\n intlLabel: { id: 'components.FilterOptions.FILTER_TYPES.$ne', defaultMessage: 'is not' },\n value: '$ne',\n },\n];\n\nconst getDisplayedFilters = ({ formatMessage, users, canReadUsers }) => {\n const actionOptions = Object.keys(actionTypes).map((action) => {\n return {\n label: formatMessage(\n {\n id: `Settings.permissions.auditLogs.${action}`,\n defaultMessage: getDefaultMessage(action),\n },\n { model: undefined }\n ),\n customValue: action,\n };\n });\n\n const filters = [\n {\n name: 'action',\n metadatas: {\n customOperators,\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.action',\n defaultMessage: 'Action',\n }),\n customInput: ComboboxFilter,\n options: actionOptions,\n },\n fieldSchema: { type: 'enumeration' },\n },\n {\n name: 'date',\n metadatas: {\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.date',\n defaultMessage: 'Date',\n }),\n },\n fieldSchema: { type: 'datetime' },\n },\n ];\n\n if (canReadUsers && users) {\n const getDisplayNameFromUser = (user) => {\n if (user.username) {\n return user.username;\n }\n\n if (user.firstname && user.lastname) {\n return formatMessage(\n {\n id: 'Settings.permissions.auditLogs.user.fullname',\n defaultMessage: '{firstname} {lastname}',\n },\n {\n firstname: user.firstname,\n lastname: user.lastname,\n }\n );\n }\n\n return user.email;\n };\n\n const userOptions = users.map((user) => {\n return {\n label: getDisplayNameFromUser(user),\n // Combobox expects a string value\n customValue: user.id.toString(),\n };\n });\n\n return [\n ...filters,\n {\n name: 'user',\n metadatas: {\n customOperators,\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.user',\n defaultMessage: 'User',\n }),\n options: userOptions,\n customInput: ComboboxFilter,\n },\n fieldSchema: { type: 'relation', mainField: { name: 'id' } },\n },\n ];\n }\n\n return filters;\n};\n\nexport default getDisplayedFilters;\n","const tableHeaders = [\n {\n name: 'action',\n key: 'action',\n metadatas: {\n label: {\n id: 'Settings.permissions.auditLogs.action',\n defaultMessage: 'Action',\n },\n sortable: true,\n },\n },\n {\n name: 'date',\n key: 'date',\n metadatas: {\n label: {\n id: 'Settings.permissions.auditLogs.date',\n defaultMessage: 'Date',\n },\n sortable: true,\n },\n },\n {\n key: 'user',\n name: 'user',\n metadatas: {\n label: {\n id: 'Settings.permissions.auditLogs.user',\n defaultMessage: 'User',\n },\n sortable: false,\n },\n cellFormatter: (user) => (user ? user.displayName : ''),\n },\n];\n\nexport default tableHeaders;\n","import React from 'react';\n\nimport {\n ActionLayout,\n Box,\n ContentLayout,\n HeaderLayout,\n Layout,\n Main,\n} from '@strapi/design-system';\nimport {\n AnErrorOccurred,\n DynamicTable,\n SettingsPageTitle,\n useFocusWhenNavigate,\n useQueryParams,\n useRBAC,\n} from '@strapi/helper-plugin';\nimport { useIntl } from 'react-intl';\nimport { useSelector } from 'react-redux';\n\nimport Filters from '../../../../../../../../admin/src/pages/SettingsPage/components/Filters';\nimport { selectAdminPermissions } from '../../../../../../../../admin/src/selectors';\n\nimport useAuditLogsData from './hooks/useAuditLogsData';\nimport Modal from './Modal';\nimport PaginationFooter from './PaginationFooter';\nimport TableRows from './TableRows';\nimport getDisplayedFilters from './utils/getDisplayedFilters';\nimport tableHeaders from './utils/tableHeaders';\n\nconst ListView = () => {\n const { formatMessage } = useIntl();\n const permissions = useSelector(selectAdminPermissions);\n\n const {\n allowedActions: { canRead: canReadAuditLogs, canReadUsers },\n } = useRBAC({\n ...permissions.settings.auditLogs,\n readUsers: permissions.settings.users.read,\n });\n\n const [{ query }, setQuery] = useQueryParams();\n const { auditLogs, users, isLoading, hasError } = useAuditLogsData({\n canReadAuditLogs,\n canReadUsers,\n });\n\n useFocusWhenNavigate();\n\n const displayedFilters = getDisplayedFilters({ formatMessage, users, canReadUsers });\n\n const title = formatMessage({\n id: 'global.auditLogs',\n defaultMessage: 'Audit Logs',\n });\n\n const headers = tableHeaders.map((header) => ({\n ...header,\n metadatas: {\n ...header.metadatas,\n label: formatMessage(header.metadatas.label),\n },\n }));\n\n if (hasError) {\n return (\n <Layout>\n <ContentLayout>\n <Box paddingTop={8}>\n <AnErrorOccurred />\n </Box>\n </ContentLayout>\n </Layout>\n );\n }\n\n return (\n <Main aria-busy={isLoading}>\n <SettingsPageTitle name={title} />\n <HeaderLayout\n title={title}\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 <ActionLayout startActions={<Filters displayedFilters={displayedFilters} />} />\n <ContentLayout canRead={canReadAuditLogs}>\n <DynamicTable\n contentType=\"Audit logs\"\n headers={headers}\n rows={auditLogs?.results || []}\n withBulkActions\n isLoading={isLoading}\n >\n <TableRows\n headers={headers}\n rows={auditLogs?.results || []}\n onOpenModal={(id) => setQuery({ id })}\n />\n </DynamicTable>\n <PaginationFooter pagination={auditLogs?.pagination} />\n </ContentLayout>\n {query?.id && <Modal handleClose={() => setQuery({ id: null }, 'remove')} logId={query.id} />}\n </Main>\n );\n};\n\nexport default ListView;\n","import React from 'react';\n\nimport { CheckPagePermissions } from '@strapi/helper-plugin';\nimport { useSelector } from 'react-redux';\n\nimport { selectAdminPermissions } from '../../../../../../../../admin/src/selectors';\nimport ListView from '../ListView';\n\nconst ProtectedListPage = () => {\n const permissions = useSelector(selectAdminPermissions);\n\n return (\n <CheckPagePermissions permissions={permissions.settings.auditLogs.main}>\n <ListView />\n </CheckPagePermissions>\n );\n};\n\nexport default ProtectedListPage;\n"],"names":["useFetchClient","useLocation","useNotification","useQueryParams","useAdminUsers","useQuery","useIntl","parseISO","Flex","jsx","Typography","PropTypes","Loader","jsxs","Fragment","Box","Grid","JSONInput","data","ModalLayout","ModalHeader","Breadcrumbs","Crumb","ModalBody","PageSizeURLQuery","PaginationURLQuery","Tbody","Tr","onRowClick","Td","stopPropagation","IconButton","Eye","Combobox","ComboboxOption","useSelector","selectAdminPermissions","useRBAC","useFocusWhenNavigate","Layout","ContentLayout","AnErrorOccurred","Main","SettingsPageTitle","HeaderLayout","ActionLayout","Filters","DynamicTable","CheckPagePermissions"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index-f088fe2c.js","sources":["../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListView/hooks/useAuditLogsData.js","../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListView/hooks/useFormatTimeStamp.js","../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListView/utils/getActionTypesDefaultMessages.js","../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListView/Modal/ActionItem.js","../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListView/Modal/ActionBody.js","../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListView/Modal/index.js","../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListView/PaginationFooter/index.js","../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListView/TableRows/index.js","../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListView/ComboboxFilter/index.js","../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListView/utils/getDisplayedFilters.js","../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListView/utils/tableHeaders.js","../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListView/index.js","../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/ProtectedListPage/index.js"],"sourcesContent":["import { useFetchClient, useNotification, useQueryParams } from '@strapi/helper-plugin';\nimport { useQuery } from 'react-query';\nimport { useLocation } from 'react-router-dom';\n\nimport { useAdminUsers } from '../../../../../../../../../admin/src/hooks/useAdminUsers';\n\nconst useAuditLogsData = ({ canReadAuditLogs, canReadUsers }) => {\n const { get } = useFetchClient();\n const { search } = useLocation();\n const toggleNotification = useNotification();\n const [{ query }] = useQueryParams();\n\n const queryOptions = {\n keepPreviousData: true,\n retry: false,\n staleTime: 1000 * 20, // 20 seconds\n onError: (error) => toggleNotification({ type: 'warning', message: error.message }),\n };\n\n const {\n users,\n isError: isUsersError,\n isLoading: isLoadingUsers,\n } = useAdminUsers(\n {},\n {\n ...queryOptions,\n enabled: canReadUsers,\n staleTime: 2 * (1000 * 60), // 2 minutes\n }\n );\n\n const {\n data: auditLogs,\n isLoading: isLoadingAuditLogs,\n isError: isAuditLogsError,\n } = useQuery(\n ['auditLogs', search],\n async () => {\n const { data } = await get(`/admin/audit-logs`, {\n params: query,\n });\n\n return data;\n },\n {\n ...queryOptions,\n enabled: canReadAuditLogs,\n }\n );\n\n return {\n auditLogs,\n users,\n isLoading: isLoadingUsers || isLoadingAuditLogs,\n hasError: isAuditLogsError || isUsersError,\n };\n};\n\nexport default useAuditLogsData;\n","import parseISO from 'date-fns/parseISO';\nimport { useIntl } from 'react-intl';\n\nconst useFormatTimeStamp = () => {\n const { formatDate } = useIntl();\n\n const formatTimeStamp = (value) => {\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\nexport default useFormatTimeStamp;\n","export const actionTypes = {\n 'entry.create': 'Create entry{model, select, undefined {} other { ({model})}}',\n 'entry.update': 'Update entry{model, select, undefined {} other { ({model})}}',\n 'entry.delete': 'Delete entry{model, select, undefined {} other { ({model})}}',\n 'entry.publish': 'Publish entry{model, select, undefined {} other { ({model})}}',\n 'entry.unpublish': 'Unpublish entry{model, select, undefined {} other { ({model})}}',\n 'media.create': 'Create media',\n 'media.update': 'Update media',\n 'media.delete': 'Delete media',\n 'media-folder.create': 'Create media folder',\n 'media-folder.update': 'Update media folder',\n 'media-folder.delete': 'Delete media folder',\n 'user.create': 'Create user',\n 'user.update': 'Update user',\n 'user.delete': 'Delete user',\n 'admin.auth.success': 'Admin login',\n 'admin.logout': 'Admin logout',\n 'content-type.create': 'Create content type',\n 'content-type.update': 'Update content type',\n 'content-type.delete': 'Delete content type',\n 'component.create': 'Create component',\n 'component.update': 'Update component',\n 'component.delete': 'Delete component',\n 'role.create': 'Create role',\n 'role.update': 'Update role',\n 'role.delete': 'Delete role',\n 'permission.create': 'Create permission',\n 'permission.update': 'Update permission',\n 'permission.delete': 'Delete permission',\n};\n\nexport const getDefaultMessage = (value) => {\n return actionTypes[value] || value;\n};\n","import React from 'react';\n\nimport { Flex, Typography } from '@strapi/design-system';\nimport PropTypes from 'prop-types';\n\nconst ActionItem = ({ actionLabel, actionName }) => {\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\nActionItem.propTypes = {\n actionLabel: PropTypes.string.isRequired,\n actionName: PropTypes.string.isRequired,\n};\n\nexport default ActionItem;\n","import React from 'react';\n\nimport { Box, Flex, Grid, JSONInput, Loader, Typography } from '@strapi/design-system';\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\n\nimport { getDefaultMessage } from '../utils/getActionTypesDefaultMessages';\n\nimport ActionItem from './ActionItem';\n\nconst ActionBody = ({ status, data, formattedDate }) => {\n const { formatMessage } = useIntl();\n\n if (status === 'loading') {\n return (\n <Flex padding={7} justifyContent=\"center\" alignItems=\"center\">\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\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),\n },\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>\n <JSONInput\n value={JSON.stringify(payload, null, 2)}\n disabled\n label={formatMessage({\n id: 'Settings.permissions.auditLogs.payload',\n defaultMessage: 'Payload',\n })}\n />\n </>\n );\n};\n\nActionBody.defaultProps = {\n data: {},\n};\n\nActionBody.propTypes = {\n status: PropTypes.oneOf(['idle', 'loading', 'error', 'success']).isRequired,\n data: PropTypes.shape({\n action: PropTypes.string,\n date: PropTypes.string,\n payload: PropTypes.object,\n user: PropTypes.object,\n }),\n formattedDate: PropTypes.string.isRequired,\n};\n\nexport default ActionBody;\n","import React from 'react';\n\nimport { ModalBody, ModalHeader, ModalLayout } from '@strapi/design-system';\nimport { Breadcrumbs, Crumb } from '@strapi/design-system/v2';\nimport { useFetchClient, useNotification } from '@strapi/helper-plugin';\nimport PropTypes from 'prop-types';\nimport { useQuery } from 'react-query';\n\nimport useFormatTimeStamp from '../hooks/useFormatTimeStamp';\n\nimport ActionBody from './ActionBody';\n\nconst Modal = ({ handleClose, logId }) => {\n const { get } = useFetchClient();\n const toggleNotification = useNotification();\n\n const fetchAuditLog = async (id) => {\n const { data } = await get(`/admin/audit-logs/${id}`);\n\n if (!data) {\n throw new Error('Audit log not found');\n }\n\n return data;\n };\n\n const { data, status } = useQuery(['audit-log', logId], () => fetchAuditLog(logId), {\n onError() {\n toggleNotification({\n type: 'warning',\n message: { id: 'notification.error', defaultMessage: 'An error occured' },\n });\n handleClose();\n },\n });\n\n const formatTimeStamp = useFormatTimeStamp();\n const formattedDate = data ? formatTimeStamp(data.date) : '';\n\n return (\n <ModalLayout onClose={handleClose} labelledBy=\"title\">\n <ModalHeader>\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 </ModalHeader>\n <ModalBody>\n <ActionBody status={status} data={data} formattedDate={formattedDate} />\n </ModalBody>\n </ModalLayout>\n );\n};\n\nModal.propTypes = {\n handleClose: PropTypes.func.isRequired,\n logId: PropTypes.string.isRequired,\n};\n\nexport default Modal;\n","import React from 'react';\n\nimport { Box, Flex } from '@strapi/design-system';\nimport { PageSizeURLQuery, PaginationURLQuery } from '@strapi/helper-plugin';\nimport PropTypes from 'prop-types';\n\nconst PaginationFooter = ({ pagination }) => {\n return (\n <Box paddingTop={4}>\n <Flex alignItems=\"flex-end\" justifyContent=\"space-between\">\n <PageSizeURLQuery />\n <PaginationURLQuery pagination={pagination} />\n </Flex>\n </Box>\n );\n};\n\nPaginationFooter.defaultProps = {\n pagination: {\n pageCount: 0,\n pageSize: 50,\n total: 0,\n },\n};\n\nPaginationFooter.propTypes = {\n pagination: PropTypes.shape({\n page: PropTypes.number,\n pageCount: PropTypes.number,\n pageSize: PropTypes.number,\n total: PropTypes.number,\n }),\n};\n\nexport default PaginationFooter;\n","import React from 'react';\n\nimport { Flex, IconButton, Tbody, Td, Tr, Typography } from '@strapi/design-system';\nimport { onRowClick, stopPropagation } from '@strapi/helper-plugin';\nimport { Eye } from '@strapi/icons';\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\n\nimport useFormatTimeStamp from '../hooks/useFormatTimeStamp';\nimport { getDefaultMessage } from '../utils/getActionTypesDefaultMessages';\n\nconst TableRows = ({ headers, rows, onOpenModal }) => {\n const { formatMessage } = useIntl();\n const formatTimeStamp = useFormatTimeStamp();\n\n const getCellValue = ({ type, value, model }) => {\n if (type === 'date') {\n return formatTimeStamp(value);\n }\n\n if (type === 'action') {\n return formatMessage(\n {\n id: `Settings.permissions.auditLogs.${value}`,\n defaultMessage: getDefaultMessage(value),\n },\n { model }\n );\n }\n\n return value || '-';\n };\n\n return (\n <Tbody>\n {rows.map((data) => {\n return (\n <Tr\n key={data.id}\n {...onRowClick({\n fn: () => onOpenModal(data.id),\n })}\n >\n {headers.map(({ key, name, cellFormatter }) => {\n return (\n <Td key={key}>\n <Typography textColor=\"neutral800\">\n {getCellValue({\n type: key,\n value: cellFormatter ? cellFormatter(data[name]) : data[name],\n model: data.payload?.model,\n })}\n </Typography>\n </Td>\n );\n })}\n <Td {...stopPropagation}>\n <Flex justifyContent=\"end\">\n <IconButton\n onClick={() => onOpenModal(data.id)}\n aria-label={formatMessage(\n { id: 'app.component.table.view', defaultMessage: '{target} details' },\n { target: `${data.action} action` }\n )}\n noBorder\n icon={<Eye />}\n />\n </Flex>\n </Td>\n </Tr>\n );\n })}\n </Tbody>\n );\n};\n\nTableRows.defaultProps = {\n rows: [],\n};\n\nTableRows.propTypes = {\n headers: PropTypes.array.isRequired,\n rows: PropTypes.array,\n onOpenModal: PropTypes.func.isRequired,\n};\n\nexport default TableRows;\n","import React from 'react';\n\nimport { Combobox, ComboboxOption } from '@strapi/design-system';\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\n\nconst ComboboxFilter = ({ value, options, onChange }) => {\n const { formatMessage } = useIntl();\n const ariaLabel = formatMessage({\n id: 'Settings.permissions.auditLogs.filter.aria-label',\n defaultMessage: 'Search and select an option to filter',\n });\n\n return (\n <Combobox aria-label={ariaLabel} value={value} onChange={onChange}>\n {options.map(({ label, customValue }) => {\n return (\n <ComboboxOption key={customValue} value={customValue}>\n {label}\n </ComboboxOption>\n );\n })}\n </Combobox>\n );\n};\n\nComboboxFilter.defaultProps = {\n value: null,\n};\n\nComboboxFilter.propTypes = {\n value: PropTypes.string,\n options: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string.isRequired,\n customValue: PropTypes.string.isRequired,\n }).isRequired\n ).isRequired,\n onChange: PropTypes.func.isRequired,\n};\n\nexport default ComboboxFilter;\n","import ComboboxFilter from '../ComboboxFilter';\n\nimport { actionTypes, getDefaultMessage } from './getActionTypesDefaultMessages';\n\nconst customOperators = [\n {\n intlLabel: { id: 'components.FilterOptions.FILTER_TYPES.$eq', defaultMessage: 'is' },\n value: '$eq',\n },\n {\n intlLabel: { id: 'components.FilterOptions.FILTER_TYPES.$ne', defaultMessage: 'is not' },\n value: '$ne',\n },\n];\n\nconst getDisplayedFilters = ({ formatMessage, users, canReadUsers }) => {\n const actionOptions = Object.keys(actionTypes).map((action) => {\n return {\n label: formatMessage(\n {\n id: `Settings.permissions.auditLogs.${action}`,\n defaultMessage: getDefaultMessage(action),\n },\n { model: undefined }\n ),\n customValue: action,\n };\n });\n\n const filters = [\n {\n name: 'action',\n metadatas: {\n customOperators,\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.action',\n defaultMessage: 'Action',\n }),\n customInput: ComboboxFilter,\n options: actionOptions,\n },\n fieldSchema: { type: 'enumeration' },\n },\n {\n name: 'date',\n metadatas: {\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.date',\n defaultMessage: 'Date',\n }),\n },\n fieldSchema: { type: 'datetime' },\n },\n ];\n\n if (canReadUsers && users) {\n const getDisplayNameFromUser = (user) => {\n if (user.username) {\n return user.username;\n }\n\n if (user.firstname && user.lastname) {\n return formatMessage(\n {\n id: 'Settings.permissions.auditLogs.user.fullname',\n defaultMessage: '{firstname} {lastname}',\n },\n {\n firstname: user.firstname,\n lastname: user.lastname,\n }\n );\n }\n\n return user.email;\n };\n\n const userOptions = users.map((user) => {\n return {\n label: getDisplayNameFromUser(user),\n // Combobox expects a string value\n customValue: user.id.toString(),\n };\n });\n\n return [\n ...filters,\n {\n name: 'user',\n metadatas: {\n customOperators,\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.user',\n defaultMessage: 'User',\n }),\n options: userOptions,\n customInput: ComboboxFilter,\n },\n fieldSchema: { type: 'relation', mainField: { name: 'id' } },\n },\n ];\n }\n\n return filters;\n};\n\nexport default getDisplayedFilters;\n","const tableHeaders = [\n {\n name: 'action',\n key: 'action',\n metadatas: {\n label: {\n id: 'Settings.permissions.auditLogs.action',\n defaultMessage: 'Action',\n },\n sortable: true,\n },\n },\n {\n name: 'date',\n key: 'date',\n metadatas: {\n label: {\n id: 'Settings.permissions.auditLogs.date',\n defaultMessage: 'Date',\n },\n sortable: true,\n },\n },\n {\n key: 'user',\n name: 'user',\n metadatas: {\n label: {\n id: 'Settings.permissions.auditLogs.user',\n defaultMessage: 'User',\n },\n sortable: false,\n },\n cellFormatter: (user) => (user ? user.displayName : ''),\n },\n];\n\nexport default tableHeaders;\n","import React from 'react';\n\nimport {\n ActionLayout,\n Box,\n ContentLayout,\n HeaderLayout,\n Layout,\n Main,\n} from '@strapi/design-system';\nimport {\n AnErrorOccurred,\n DynamicTable,\n SettingsPageTitle,\n useFocusWhenNavigate,\n useQueryParams,\n useRBAC,\n} from '@strapi/helper-plugin';\nimport { useIntl } from 'react-intl';\nimport { useSelector } from 'react-redux';\n\nimport Filters from '../../../../../../../../admin/src/pages/SettingsPage/components/Filters';\nimport { selectAdminPermissions } from '../../../../../../../../admin/src/selectors';\n\nimport useAuditLogsData from './hooks/useAuditLogsData';\nimport Modal from './Modal';\nimport PaginationFooter from './PaginationFooter';\nimport TableRows from './TableRows';\nimport getDisplayedFilters from './utils/getDisplayedFilters';\nimport tableHeaders from './utils/tableHeaders';\n\nconst ListView = () => {\n const { formatMessage } = useIntl();\n const permissions = useSelector(selectAdminPermissions);\n\n const {\n allowedActions: { canRead: canReadAuditLogs, canReadUsers },\n } = useRBAC({\n ...permissions.settings.auditLogs,\n readUsers: permissions.settings.users.read,\n });\n\n const [{ query }, setQuery] = useQueryParams();\n const { auditLogs, users, isLoading, hasError } = useAuditLogsData({\n canReadAuditLogs,\n canReadUsers,\n });\n\n useFocusWhenNavigate();\n\n const displayedFilters = getDisplayedFilters({ formatMessage, users, canReadUsers });\n\n const title = formatMessage({\n id: 'global.auditLogs',\n defaultMessage: 'Audit Logs',\n });\n\n const headers = tableHeaders.map((header) => ({\n ...header,\n metadatas: {\n ...header.metadatas,\n label: formatMessage(header.metadatas.label),\n },\n }));\n\n if (hasError) {\n return (\n <Layout>\n <ContentLayout>\n <Box paddingTop={8}>\n <AnErrorOccurred />\n </Box>\n </ContentLayout>\n </Layout>\n );\n }\n\n return (\n <Main aria-busy={isLoading}>\n <SettingsPageTitle name={title} />\n <HeaderLayout\n title={title}\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 <ActionLayout startActions={<Filters displayedFilters={displayedFilters} />} />\n <ContentLayout canRead={canReadAuditLogs}>\n <DynamicTable\n contentType=\"Audit logs\"\n headers={headers}\n rows={auditLogs?.results || []}\n withBulkActions\n isLoading={isLoading}\n >\n <TableRows\n headers={headers}\n rows={auditLogs?.results || []}\n onOpenModal={(id) => setQuery({ id })}\n />\n </DynamicTable>\n <PaginationFooter pagination={auditLogs?.pagination} />\n </ContentLayout>\n {query?.id && <Modal handleClose={() => setQuery({ id: null }, 'remove')} logId={query.id} />}\n </Main>\n );\n};\n\nexport default ListView;\n","import React from 'react';\n\nimport { CheckPagePermissions } from '@strapi/helper-plugin';\nimport { useSelector } from 'react-redux';\n\nimport { selectAdminPermissions } from '../../../../../../../../admin/src/selectors';\nimport ListView from '../ListView';\n\nconst ProtectedListPage = () => {\n const permissions = useSelector(selectAdminPermissions);\n\n return (\n <CheckPagePermissions permissions={permissions.settings.auditLogs.main}>\n <ListView />\n </CheckPagePermissions>\n );\n};\n\nexport default ProtectedListPage;\n"],"names":["useFetchClient","useLocation","useNotification","useQueryParams","useAdminUsers","useQuery","useIntl","parseISO","Flex","jsx","Typography","PropTypes","Loader","jsxs","Fragment","Box","Grid","JSONInput","data","ModalLayout","ModalHeader","Breadcrumbs","Crumb","ModalBody","PageSizeURLQuery","PaginationURLQuery","Tbody","Tr","onRowClick","Td","stopPropagation","IconButton","Eye","Combobox","ComboboxOption","useSelector","selectAdminPermissions","useRBAC","useFocusWhenNavigate","Layout","ContentLayout","AnErrorOccurred","Main","SettingsPageTitle","HeaderLayout","ActionLayout","Filters","DynamicTable","CheckPagePermissions"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
2
|
import { useFocusWhenNavigate, useNotification, useRBAC, useTracking, useGuidedTour, useFetchClient, useAPIErrorHandler, SettingsPageTitle, LinkButton, NoPermissions, NoContent, CheckPagePermissions } from "@strapi/helper-plugin";
|
|
3
3
|
import { useSelector } from "react-redux";
|
|
4
|
-
import { s as selectAdminPermissions } from "./AuthenticatedApp-
|
|
4
|
+
import { s as selectAdminPermissions } from "./AuthenticatedApp-2cfb41e2.mjs";
|
|
5
5
|
import * as React from "react";
|
|
6
6
|
import { Main, HeaderLayout, ContentLayout } from "@strapi/design-system";
|
|
7
7
|
import { Plus } from "@strapi/icons";
|
|
@@ -13,7 +13,7 @@ import { A as API_TOKEN_TYPE } from "./constants-d3dd8ed6.mjs";
|
|
|
13
13
|
import { T as Table } from "./index-eb67694f.mjs";
|
|
14
14
|
import "semver/functions/lt";
|
|
15
15
|
import "semver/functions/valid";
|
|
16
|
-
import "./index-
|
|
16
|
+
import "./index-bef99193.mjs";
|
|
17
17
|
import "react-dom/client";
|
|
18
18
|
import "invariant";
|
|
19
19
|
import "lodash/isFunction";
|
|
@@ -229,4 +229,4 @@ const ProtectedApiTokenListView = () => {
|
|
|
229
229
|
export {
|
|
230
230
|
ProtectedApiTokenListView as default
|
|
231
231
|
};
|
|
232
|
-
//# sourceMappingURL=index-
|
|
232
|
+
//# sourceMappingURL=index-f097ccea.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-399bd1d4.mjs","sources":["../../admin/src/pages/SettingsPage/pages/ApiTokens/ListView/utils/tableHeaders.js","../../admin/src/pages/SettingsPage/pages/ApiTokens/ListView/index.js","../../admin/src/pages/SettingsPage/pages/ApiTokens/ProtectedListView/index.js"],"sourcesContent":["const tableHeaders = [\n {\n name: 'name',\n key: 'name',\n metadatas: {\n label: {\n id: 'Settings.apiTokens.ListView.headers.name',\n defaultMessage: 'Name',\n },\n sortable: true,\n },\n },\n {\n name: 'description',\n key: 'description',\n metadatas: {\n label: {\n id: 'Settings.apiTokens.ListView.headers.description',\n defaultMessage: 'Description',\n },\n sortable: false,\n },\n },\n {\n name: 'createdAt',\n key: 'createdAt',\n metadatas: {\n label: {\n id: 'Settings.apiTokens.ListView.headers.createdAt',\n defaultMessage: 'Created at',\n },\n sortable: false,\n },\n },\n {\n name: 'lastUsedAt',\n key: 'lastUsedAt',\n metadatas: {\n label: {\n id: 'Settings.apiTokens.ListView.headers.lastUsedAt',\n defaultMessage: 'Last used',\n },\n sortable: false,\n },\n },\n];\n\nexport default tableHeaders;\n","import * as React from 'react';\n\nimport { ContentLayout, HeaderLayout, Main } from '@strapi/design-system';\nimport {\n LinkButton,\n NoContent,\n NoPermissions,\n SettingsPageTitle,\n useAPIErrorHandler,\n useFetchClient,\n useFocusWhenNavigate,\n useGuidedTour,\n useNotification,\n useRBAC,\n useTracking,\n} from '@strapi/helper-plugin';\nimport { Plus } from '@strapi/icons';\nimport qs from 'qs';\nimport { useIntl } from 'react-intl';\nimport { useMutation, useQuery, useQueryClient } from 'react-query';\nimport { useSelector } from 'react-redux';\nimport { useHistory } from 'react-router-dom';\n\nimport { selectAdminPermissions } from '../../../../../selectors';\nimport { API_TOKEN_TYPE } from '../../../components/Tokens/constants';\nimport Table from '../../../components/Tokens/Table';\n\nimport tableHeaders from './utils/tableHeaders';\n\nconst ApiTokenListView = () => {\n useFocusWhenNavigate();\n const queryClient = useQueryClient();\n const { formatMessage } = useIntl();\n const toggleNotification = useNotification();\n const permissions = useSelector(selectAdminPermissions);\n const {\n allowedActions: { canCreate, canDelete, canUpdate, canRead },\n } = useRBAC(permissions.settings['api-tokens']);\n const { push } = useHistory();\n const { trackUsage } = useTracking();\n const { startSection } = useGuidedTour();\n const startSectionRef = React.useRef(startSection);\n const { get, del } = useFetchClient();\n const { formatAPIError } = useAPIErrorHandler();\n\n React.useEffect(() => {\n if (startSectionRef.current) {\n startSectionRef.current('apiTokens');\n }\n }, []);\n\n React.useEffect(() => {\n push({ search: qs.stringify({ sort: 'name:ASC' }, { encode: false }) });\n }, [push]);\n\n const headers = tableHeaders.map((header) => ({\n ...header,\n metadatas: {\n ...header.metadatas,\n label: formatMessage(header.metadatas.label),\n },\n }));\n\n const { data: apiTokens, isLoading: isLoadingTokens } = useQuery(\n ['api-tokens'],\n async () => {\n trackUsage('willAccessTokenList', {\n tokenType: API_TOKEN_TYPE,\n });\n\n const {\n data: { data },\n } = await get(`/admin/api-tokens`);\n\n trackUsage('didAccessTokenList', { number: data.length, tokenType: API_TOKEN_TYPE });\n\n return data;\n },\n {\n cacheTime: 0,\n enabled: canRead,\n onError(error) {\n toggleNotification({\n type: 'warning',\n message: formatAPIError(error),\n });\n },\n }\n );\n\n const isLoading = isLoadingTokens;\n\n const deleteMutation = useMutation(\n async (id) => {\n await del(`/admin/api-tokens/${id}`);\n },\n {\n async onSuccess() {\n await queryClient.invalidateQueries(['api-tokens']);\n trackUsage('didDeleteToken');\n },\n onError(error) {\n toggleNotification({ type: 'warning', message: formatAPIError(error) });\n },\n }\n );\n\n const hasApiTokens = apiTokens && apiTokens.length > 0;\n const shouldDisplayDynamicTable = canRead && hasApiTokens;\n const shouldDisplayNoContent = canRead && !hasApiTokens && !canCreate;\n const shouldDisplayNoContentWithCreationButton = canRead && !hasApiTokens && canCreate;\n\n return (\n <Main aria-busy={isLoading}>\n {/* TODO: this needs to be translated */}\n <SettingsPageTitle name=\"API Tokens\" />\n <HeaderLayout\n title={formatMessage({ id: 'Settings.apiTokens.title', defaultMessage: 'API Tokens' })}\n subtitle={formatMessage({\n id: 'Settings.apiTokens.description',\n defaultMessage: 'List of generated tokens to consume the API',\n })}\n primaryAction={\n canCreate && (\n <LinkButton\n data-testid=\"create-api-token-button\"\n startIcon={<Plus />}\n size=\"S\"\n onClick={() =>\n trackUsage('willAddTokenFromList', {\n tokenType: API_TOKEN_TYPE,\n })\n }\n to=\"/settings/api-tokens/create\"\n >\n {formatMessage({\n id: 'Settings.apiTokens.create',\n defaultMessage: 'Create new API Token',\n })}\n </LinkButton>\n )\n }\n />\n <ContentLayout>\n {!canRead && <NoPermissions />}\n {shouldDisplayDynamicTable && (\n <Table\n permissions={{ canRead, canDelete, canUpdate }}\n headers={headers}\n contentType=\"api-tokens\"\n rows={apiTokens}\n isLoading={isLoading}\n onConfirmDelete={(id) => deleteMutation.mutateAsync(id)}\n tokens={apiTokens}\n tokenType={API_TOKEN_TYPE}\n />\n )}\n {shouldDisplayNoContentWithCreationButton && (\n <NoContent\n content={{\n id: 'Settings.apiTokens.addFirstToken',\n defaultMessage: 'Add your first API Token',\n }}\n action={\n <LinkButton variant=\"secondary\" startIcon={<Plus />} to=\"/settings/api-tokens/create\">\n {formatMessage({\n id: 'Settings.apiTokens.addNewToken',\n defaultMessage: 'Add new API Token',\n })}\n </LinkButton>\n }\n />\n )}\n {shouldDisplayNoContent && (\n <NoContent\n content={{\n id: 'Settings.apiTokens.emptyStateLayout',\n defaultMessage: 'You don’t have any content yet...',\n }}\n />\n )}\n </ContentLayout>\n </Main>\n );\n};\n\nexport default ApiTokenListView;\n","import React from 'react';\n\nimport { CheckPagePermissions } from '@strapi/helper-plugin';\nimport { useSelector } from 'react-redux';\n\nimport { selectAdminPermissions } from '../../../../../selectors';\nimport ListView from '../ListView';\n\nconst ProtectedApiTokenListView = () => {\n const permissions = useSelector(selectAdminPermissions);\n\n return (\n <CheckPagePermissions permissions={permissions.settings['api-tokens'].main}>\n <ListView />\n </CheckPagePermissions>\n );\n};\n\nexport default ProtectedApiTokenListView;\n"],"names":["qs","ListView"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index-f097ccea.mjs","sources":["../../admin/src/pages/SettingsPage/pages/ApiTokens/ListView/utils/tableHeaders.js","../../admin/src/pages/SettingsPage/pages/ApiTokens/ListView/index.js","../../admin/src/pages/SettingsPage/pages/ApiTokens/ProtectedListView/index.js"],"sourcesContent":["const tableHeaders = [\n {\n name: 'name',\n key: 'name',\n metadatas: {\n label: {\n id: 'Settings.apiTokens.ListView.headers.name',\n defaultMessage: 'Name',\n },\n sortable: true,\n },\n },\n {\n name: 'description',\n key: 'description',\n metadatas: {\n label: {\n id: 'Settings.apiTokens.ListView.headers.description',\n defaultMessage: 'Description',\n },\n sortable: false,\n },\n },\n {\n name: 'createdAt',\n key: 'createdAt',\n metadatas: {\n label: {\n id: 'Settings.apiTokens.ListView.headers.createdAt',\n defaultMessage: 'Created at',\n },\n sortable: false,\n },\n },\n {\n name: 'lastUsedAt',\n key: 'lastUsedAt',\n metadatas: {\n label: {\n id: 'Settings.apiTokens.ListView.headers.lastUsedAt',\n defaultMessage: 'Last used',\n },\n sortable: false,\n },\n },\n];\n\nexport default tableHeaders;\n","import * as React from 'react';\n\nimport { ContentLayout, HeaderLayout, Main } from '@strapi/design-system';\nimport {\n LinkButton,\n NoContent,\n NoPermissions,\n SettingsPageTitle,\n useAPIErrorHandler,\n useFetchClient,\n useFocusWhenNavigate,\n useGuidedTour,\n useNotification,\n useRBAC,\n useTracking,\n} from '@strapi/helper-plugin';\nimport { Plus } from '@strapi/icons';\nimport qs from 'qs';\nimport { useIntl } from 'react-intl';\nimport { useMutation, useQuery, useQueryClient } from 'react-query';\nimport { useSelector } from 'react-redux';\nimport { useHistory } from 'react-router-dom';\n\nimport { selectAdminPermissions } from '../../../../../selectors';\nimport { API_TOKEN_TYPE } from '../../../components/Tokens/constants';\nimport Table from '../../../components/Tokens/Table';\n\nimport tableHeaders from './utils/tableHeaders';\n\nconst ApiTokenListView = () => {\n useFocusWhenNavigate();\n const queryClient = useQueryClient();\n const { formatMessage } = useIntl();\n const toggleNotification = useNotification();\n const permissions = useSelector(selectAdminPermissions);\n const {\n allowedActions: { canCreate, canDelete, canUpdate, canRead },\n } = useRBAC(permissions.settings['api-tokens']);\n const { push } = useHistory();\n const { trackUsage } = useTracking();\n const { startSection } = useGuidedTour();\n const startSectionRef = React.useRef(startSection);\n const { get, del } = useFetchClient();\n const { formatAPIError } = useAPIErrorHandler();\n\n React.useEffect(() => {\n if (startSectionRef.current) {\n startSectionRef.current('apiTokens');\n }\n }, []);\n\n React.useEffect(() => {\n push({ search: qs.stringify({ sort: 'name:ASC' }, { encode: false }) });\n }, [push]);\n\n const headers = tableHeaders.map((header) => ({\n ...header,\n metadatas: {\n ...header.metadatas,\n label: formatMessage(header.metadatas.label),\n },\n }));\n\n const { data: apiTokens, isLoading: isLoadingTokens } = useQuery(\n ['api-tokens'],\n async () => {\n trackUsage('willAccessTokenList', {\n tokenType: API_TOKEN_TYPE,\n });\n\n const {\n data: { data },\n } = await get(`/admin/api-tokens`);\n\n trackUsage('didAccessTokenList', { number: data.length, tokenType: API_TOKEN_TYPE });\n\n return data;\n },\n {\n cacheTime: 0,\n enabled: canRead,\n onError(error) {\n toggleNotification({\n type: 'warning',\n message: formatAPIError(error),\n });\n },\n }\n );\n\n const isLoading = isLoadingTokens;\n\n const deleteMutation = useMutation(\n async (id) => {\n await del(`/admin/api-tokens/${id}`);\n },\n {\n async onSuccess() {\n await queryClient.invalidateQueries(['api-tokens']);\n trackUsage('didDeleteToken');\n },\n onError(error) {\n toggleNotification({ type: 'warning', message: formatAPIError(error) });\n },\n }\n );\n\n const hasApiTokens = apiTokens && apiTokens.length > 0;\n const shouldDisplayDynamicTable = canRead && hasApiTokens;\n const shouldDisplayNoContent = canRead && !hasApiTokens && !canCreate;\n const shouldDisplayNoContentWithCreationButton = canRead && !hasApiTokens && canCreate;\n\n return (\n <Main aria-busy={isLoading}>\n {/* TODO: this needs to be translated */}\n <SettingsPageTitle name=\"API Tokens\" />\n <HeaderLayout\n title={formatMessage({ id: 'Settings.apiTokens.title', defaultMessage: 'API Tokens' })}\n subtitle={formatMessage({\n id: 'Settings.apiTokens.description',\n defaultMessage: 'List of generated tokens to consume the API',\n })}\n primaryAction={\n canCreate && (\n <LinkButton\n data-testid=\"create-api-token-button\"\n startIcon={<Plus />}\n size=\"S\"\n onClick={() =>\n trackUsage('willAddTokenFromList', {\n tokenType: API_TOKEN_TYPE,\n })\n }\n to=\"/settings/api-tokens/create\"\n >\n {formatMessage({\n id: 'Settings.apiTokens.create',\n defaultMessage: 'Create new API Token',\n })}\n </LinkButton>\n )\n }\n />\n <ContentLayout>\n {!canRead && <NoPermissions />}\n {shouldDisplayDynamicTable && (\n <Table\n permissions={{ canRead, canDelete, canUpdate }}\n headers={headers}\n contentType=\"api-tokens\"\n rows={apiTokens}\n isLoading={isLoading}\n onConfirmDelete={(id) => deleteMutation.mutateAsync(id)}\n tokens={apiTokens}\n tokenType={API_TOKEN_TYPE}\n />\n )}\n {shouldDisplayNoContentWithCreationButton && (\n <NoContent\n content={{\n id: 'Settings.apiTokens.addFirstToken',\n defaultMessage: 'Add your first API Token',\n }}\n action={\n <LinkButton variant=\"secondary\" startIcon={<Plus />} to=\"/settings/api-tokens/create\">\n {formatMessage({\n id: 'Settings.apiTokens.addNewToken',\n defaultMessage: 'Add new API Token',\n })}\n </LinkButton>\n }\n />\n )}\n {shouldDisplayNoContent && (\n <NoContent\n content={{\n id: 'Settings.apiTokens.emptyStateLayout',\n defaultMessage: 'You don’t have any content yet...',\n }}\n />\n )}\n </ContentLayout>\n </Main>\n );\n};\n\nexport default ApiTokenListView;\n","import React from 'react';\n\nimport { CheckPagePermissions } from '@strapi/helper-plugin';\nimport { useSelector } from 'react-redux';\n\nimport { selectAdminPermissions } from '../../../../../selectors';\nimport ListView from '../ListView';\n\nconst ProtectedApiTokenListView = () => {\n const permissions = useSelector(selectAdminPermissions);\n\n return (\n <CheckPagePermissions permissions={permissions.settings['api-tokens'].main}>\n <ListView />\n </CheckPagePermissions>\n );\n};\n\nexport default ProtectedApiTokenListView;\n"],"names":["qs","ListView"],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ const jsxRuntime = require("react/jsx-runtime");
|
|
|
4
4
|
const helperPlugin = require("@strapi/helper-plugin");
|
|
5
5
|
const reactRedux = require("react-redux");
|
|
6
6
|
const reactRouterDom = require("react-router-dom");
|
|
7
|
-
const AuthenticatedApp = require("./AuthenticatedApp-
|
|
7
|
+
const AuthenticatedApp = require("./AuthenticatedApp-79e3f141.js");
|
|
8
8
|
const React = require("react");
|
|
9
9
|
const designSystem = require("@strapi/design-system");
|
|
10
10
|
const Icons = require("@strapi/icons");
|
|
@@ -17,7 +17,7 @@ const yup = require("yup");
|
|
|
17
17
|
require("react-query");
|
|
18
18
|
require("semver/functions/lt");
|
|
19
19
|
require("semver/functions/valid");
|
|
20
|
-
require("./index-
|
|
20
|
+
require("./index-3444ab6f.js");
|
|
21
21
|
require("react-dom/client");
|
|
22
22
|
require("invariant");
|
|
23
23
|
require("lodash/isFunction");
|
|
@@ -291,4 +291,4 @@ const ProtectedEditPage = () => {
|
|
|
291
291
|
return /* @__PURE__ */ jsxRuntime.jsx(EditPage, {});
|
|
292
292
|
};
|
|
293
293
|
exports.default = ProtectedEditPage;
|
|
294
|
-
//# sourceMappingURL=index-
|
|
294
|
+
//# sourceMappingURL=index-fbe9dba1.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-7b4485be.js","sources":["../../admin/src/pages/SettingsPage/pages/Roles/EditPage/components/RoleForm/index.js","../../admin/src/pages/SettingsPage/pages/Roles/EditPage/utils/schema.js","../../admin/src/pages/SettingsPage/pages/Roles/EditPage/index.js","../../admin/src/pages/SettingsPage/pages/Roles/ProtectedEditPage/index.js"],"sourcesContent":["import React from 'react';\n\nimport {\n Box,\n Button,\n Flex,\n Grid,\n GridItem,\n Textarea,\n TextInput,\n Typography,\n} from '@strapi/design-system';\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\n\nconst RoleForm = ({ disabled, role, values, errors, onChange, onBlur }) => {\n const { formatMessage } = useIntl();\n\n return (\n <Box background=\"neutral0\" padding={6} shadow=\"filterShadow\" hasRadius>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Flex justifyContent=\"space-between\">\n <Box>\n <Box>\n <Typography fontWeight=\"bold\">\n {role\n ? role.name\n : formatMessage({\n id: 'global.details',\n defaultMessage: 'Details',\n })}\n </Typography>\n </Box>\n <Box>\n <Typography textColor=\"neutral500\" variant=\"pi\">\n {role\n ? role.description\n : formatMessage({\n id: 'Settings.roles.form.description',\n defaultMessage: 'Name and description of the role',\n })}\n </Typography>\n </Box>\n </Box>\n <Button disabled variant=\"secondary\">\n {formatMessage(\n {\n id: 'Settings.roles.form.button.users-with-role',\n defaultMessage:\n '{number, plural, =0 {# users} one {# user} other {# users}} with this role',\n },\n { number: role.usersCount }\n )}\n </Button>\n </Flex>\n <Grid gap={4}>\n <GridItem col={6}>\n <TextInput\n disabled={disabled}\n name=\"name\"\n error={errors.name && formatMessage({ id: errors.name })}\n label={formatMessage({\n id: 'global.name',\n defaultMessage: 'Name',\n })}\n onChange={onChange}\n onBlur={onBlur}\n required\n value={values.name || ''}\n />\n </GridItem>\n <GridItem col={6}>\n <Textarea\n disabled={disabled}\n label={formatMessage({\n id: 'global.description',\n defaultMessage: 'Description',\n })}\n id=\"description\"\n error={errors.name && formatMessage({ id: errors.name })}\n onChange={onChange}\n onBlur={onBlur}\n >\n {values.description || ''}\n </Textarea>\n </GridItem>\n </Grid>\n </Flex>\n </Box>\n );\n};\n\nRoleForm.defaultProps = {\n disabled: false,\n role: null,\n values: { name: '', description: '' },\n};\nRoleForm.propTypes = {\n disabled: PropTypes.bool,\n errors: PropTypes.object.isRequired,\n onBlur: PropTypes.func.isRequired,\n onChange: PropTypes.func.isRequired,\n role: PropTypes.object,\n values: PropTypes.object,\n};\n\nexport default RoleForm;\n","import { translatedErrors } from '@strapi/helper-plugin';\nimport * as yup from 'yup';\n\nconst schema = yup.object().shape({\n name: yup.string().required(translatedErrors.required),\n});\n\nexport default schema;\n","import React, { useRef, useState } from 'react';\n\nimport { Box, Button, ContentLayout, Flex, HeaderLayout, Main } from '@strapi/design-system';\nimport {\n Link,\n LoadingIndicatorPage,\n SettingsPageTitle,\n useAPIErrorHandler,\n useFetchClient,\n useNotification,\n useOverlayBlocker,\n useTracking,\n} from '@strapi/helper-plugin';\nimport { ArrowLeft } from '@strapi/icons';\nimport { Formik } from 'formik';\nimport { useIntl } from 'react-intl';\nimport { useRouteMatch } from 'react-router-dom';\n\nimport { useAdminRoles } from '../../../../../hooks/useAdminRoles';\nimport { useAdminRolePermissionLayout } from '../hooks/useAdminRolePermissionLayout';\nimport { useAdminRolePermissions } from '../hooks/useAdminRolePermissions';\n\nimport { Permissions, RoleForm } from './components';\nimport schema from './utils/schema';\n\nconst EditPage = () => {\n const toggleNotification = useNotification();\n const { formatMessage } = useIntl();\n const {\n params: { id },\n } = useRouteMatch('/settings/roles/:id');\n const { put } = useFetchClient();\n const [isSubmitting, setIsSubmiting] = useState(false);\n const permissionsRef = useRef();\n const { lockApp, unlockApp } = useOverlayBlocker();\n const { trackUsage } = useTracking();\n const { formatAPIError } = useAPIErrorHandler();\n\n const { isLoading: isLoadingPermissionsLayout, data: permissionsLayout } =\n useAdminRolePermissionLayout(id, {\n cacheTime: 0,\n });\n\n const {\n roles: [role = {}],\n isLoading: isRoleLoading,\n refetch: refetchRole,\n } = useAdminRoles(\n { id },\n {\n cacheTime: 0,\n }\n );\n\n const { permissions, isLoading: isLoadingPermissions } = useAdminRolePermissions(\n { id },\n {\n cacheTime: 0,\n }\n );\n\n // TODO: this should use a react-query mutation\n const handleEditRoleSubmit = async (data) => {\n try {\n lockApp();\n setIsSubmiting(true);\n\n const { permissionsToSend, didUpdateConditions } = permissionsRef.current.getPermissions();\n\n await put(`/admin/roles/${id}`, data);\n\n if (role.code !== 'strapi-super-admin') {\n await put(`/admin/roles/${id}/permissions`, {\n permissions: permissionsToSend,\n });\n\n if (didUpdateConditions) {\n trackUsage('didUpdateConditions');\n }\n }\n\n permissionsRef.current.setFormAfterSubmit();\n\n await refetchRole();\n\n toggleNotification({\n type: 'success',\n message: { id: 'notification.success.saved' },\n });\n } catch (error) {\n toggleNotification({\n type: 'warning',\n message: formatAPIError(error),\n });\n } finally {\n setIsSubmiting(false);\n unlockApp();\n }\n };\n\n const isFormDisabled = !isRoleLoading && role.code === 'strapi-super-admin';\n\n return (\n <Main>\n <SettingsPageTitle name=\"Roles\" />\n <Formik\n enableReinitialize\n initialValues={{\n name: role.name,\n description: role.description,\n }}\n onSubmit={handleEditRoleSubmit}\n validationSchema={schema}\n validateOnChange={false}\n >\n {({ handleSubmit, values, errors, handleChange, handleBlur }) => (\n <form onSubmit={handleSubmit}>\n <HeaderLayout\n primaryAction={\n <Flex gap={2}>\n <Button\n disabled={role.code === 'strapi-super-admin'}\n onClick={handleSubmit}\n loading={isSubmitting}\n size=\"L\"\n >\n {formatMessage({\n id: 'global.save',\n defaultMessage: 'Save',\n })}\n </Button>\n </Flex>\n }\n title={formatMessage({\n id: 'Settings.roles.edit.title',\n defaultMessage: 'Edit a role',\n })}\n subtitle={formatMessage({\n id: 'Settings.roles.create.description',\n defaultMessage: 'Define the rights given to the role',\n })}\n navigationAction={\n <Link startIcon={<ArrowLeft />} to=\"/settings/roles\">\n {formatMessage({\n id: 'global.back',\n defaultMessage: 'Back',\n })}\n </Link>\n }\n />\n <ContentLayout>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <RoleForm\n isLoading={isRoleLoading || isLoadingPermissions}\n disabled={isFormDisabled}\n errors={errors}\n values={values}\n onChange={handleChange}\n onBlur={handleBlur}\n role={role}\n />\n {!isLoadingPermissionsLayout && !isRoleLoading && !isLoadingPermissions ? (\n <Box shadow=\"filterShadow\" hasRadius>\n <Permissions\n isFormDisabled={isFormDisabled}\n permissions={permissions}\n ref={permissionsRef}\n layout={permissionsLayout}\n />\n </Box>\n ) : (\n <Box background=\"neutral0\" padding={6} shadow=\"filterShadow\" hasRadius>\n <LoadingIndicatorPage />\n </Box>\n )}\n </Flex>\n </ContentLayout>\n </form>\n )}\n </Formik>\n </Main>\n );\n};\n\nexport default EditPage;\n","import React from 'react';\n\nimport { LoadingIndicatorPage, useRBAC } from '@strapi/helper-plugin';\nimport { useSelector } from 'react-redux';\nimport { Redirect } from 'react-router-dom';\n\nimport { selectAdminPermissions } from '../../../../../selectors';\nimport EditPage from '../EditPage';\n\nconst ProtectedEditPage = () => {\n const permissions = useSelector(selectAdminPermissions);\n\n const {\n isLoading,\n allowedActions: { canRead, canUpdate },\n } = useRBAC({\n read: permissions.settings.roles.read,\n update: permissions.settings.roles.update,\n });\n\n if (isLoading) {\n return <LoadingIndicatorPage />;\n }\n\n if (!canRead && !canUpdate) {\n return <Redirect to=\"/\" />;\n }\n\n return <EditPage />;\n};\n\nexport default ProtectedEditPage;\n"],"names":["useIntl","Box","Flex","jsxs","jsx","Typography","Button","Grid","GridItem","TextInput","Textarea","PropTypes","yup","translatedErrors","useNotification","useRouteMatch","useFetchClient","useState","useRef","useOverlayBlocker","useTracking","useAPIErrorHandler","useAdminRolePermissionLayout","useAdminRoles","useAdminRolePermissions","Main","SettingsPageTitle","Formik","HeaderLayout","Link","ArrowLeft","ContentLayout","Permissions","LoadingIndicatorPage","useSelector","selectAdminPermissions","useRBAC","Redirect"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index-fbe9dba1.js","sources":["../../admin/src/pages/SettingsPage/pages/Roles/EditPage/components/RoleForm/index.js","../../admin/src/pages/SettingsPage/pages/Roles/EditPage/utils/schema.js","../../admin/src/pages/SettingsPage/pages/Roles/EditPage/index.js","../../admin/src/pages/SettingsPage/pages/Roles/ProtectedEditPage/index.js"],"sourcesContent":["import React from 'react';\n\nimport {\n Box,\n Button,\n Flex,\n Grid,\n GridItem,\n Textarea,\n TextInput,\n Typography,\n} from '@strapi/design-system';\nimport PropTypes from 'prop-types';\nimport { useIntl } from 'react-intl';\n\nconst RoleForm = ({ disabled, role, values, errors, onChange, onBlur }) => {\n const { formatMessage } = useIntl();\n\n return (\n <Box background=\"neutral0\" padding={6} shadow=\"filterShadow\" hasRadius>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Flex justifyContent=\"space-between\">\n <Box>\n <Box>\n <Typography fontWeight=\"bold\">\n {role\n ? role.name\n : formatMessage({\n id: 'global.details',\n defaultMessage: 'Details',\n })}\n </Typography>\n </Box>\n <Box>\n <Typography textColor=\"neutral500\" variant=\"pi\">\n {role\n ? role.description\n : formatMessage({\n id: 'Settings.roles.form.description',\n defaultMessage: 'Name and description of the role',\n })}\n </Typography>\n </Box>\n </Box>\n <Button disabled variant=\"secondary\">\n {formatMessage(\n {\n id: 'Settings.roles.form.button.users-with-role',\n defaultMessage:\n '{number, plural, =0 {# users} one {# user} other {# users}} with this role',\n },\n { number: role.usersCount }\n )}\n </Button>\n </Flex>\n <Grid gap={4}>\n <GridItem col={6}>\n <TextInput\n disabled={disabled}\n name=\"name\"\n error={errors.name && formatMessage({ id: errors.name })}\n label={formatMessage({\n id: 'global.name',\n defaultMessage: 'Name',\n })}\n onChange={onChange}\n onBlur={onBlur}\n required\n value={values.name || ''}\n />\n </GridItem>\n <GridItem col={6}>\n <Textarea\n disabled={disabled}\n label={formatMessage({\n id: 'global.description',\n defaultMessage: 'Description',\n })}\n id=\"description\"\n error={errors.name && formatMessage({ id: errors.name })}\n onChange={onChange}\n onBlur={onBlur}\n >\n {values.description || ''}\n </Textarea>\n </GridItem>\n </Grid>\n </Flex>\n </Box>\n );\n};\n\nRoleForm.defaultProps = {\n disabled: false,\n role: null,\n values: { name: '', description: '' },\n};\nRoleForm.propTypes = {\n disabled: PropTypes.bool,\n errors: PropTypes.object.isRequired,\n onBlur: PropTypes.func.isRequired,\n onChange: PropTypes.func.isRequired,\n role: PropTypes.object,\n values: PropTypes.object,\n};\n\nexport default RoleForm;\n","import { translatedErrors } from '@strapi/helper-plugin';\nimport * as yup from 'yup';\n\nconst schema = yup.object().shape({\n name: yup.string().required(translatedErrors.required),\n});\n\nexport default schema;\n","import React, { useRef, useState } from 'react';\n\nimport { Box, Button, ContentLayout, Flex, HeaderLayout, Main } from '@strapi/design-system';\nimport {\n Link,\n LoadingIndicatorPage,\n SettingsPageTitle,\n useAPIErrorHandler,\n useFetchClient,\n useNotification,\n useOverlayBlocker,\n useTracking,\n} from '@strapi/helper-plugin';\nimport { ArrowLeft } from '@strapi/icons';\nimport { Formik } from 'formik';\nimport { useIntl } from 'react-intl';\nimport { useRouteMatch } from 'react-router-dom';\n\nimport { useAdminRoles } from '../../../../../hooks/useAdminRoles';\nimport { useAdminRolePermissionLayout } from '../hooks/useAdminRolePermissionLayout';\nimport { useAdminRolePermissions } from '../hooks/useAdminRolePermissions';\n\nimport { Permissions, RoleForm } from './components';\nimport schema from './utils/schema';\n\nconst EditPage = () => {\n const toggleNotification = useNotification();\n const { formatMessage } = useIntl();\n const {\n params: { id },\n } = useRouteMatch('/settings/roles/:id');\n const { put } = useFetchClient();\n const [isSubmitting, setIsSubmiting] = useState(false);\n const permissionsRef = useRef();\n const { lockApp, unlockApp } = useOverlayBlocker();\n const { trackUsage } = useTracking();\n const { formatAPIError } = useAPIErrorHandler();\n\n const { isLoading: isLoadingPermissionsLayout, data: permissionsLayout } =\n useAdminRolePermissionLayout(id, {\n cacheTime: 0,\n });\n\n const {\n roles: [role = {}],\n isLoading: isRoleLoading,\n refetch: refetchRole,\n } = useAdminRoles(\n { id },\n {\n cacheTime: 0,\n }\n );\n\n const { permissions, isLoading: isLoadingPermissions } = useAdminRolePermissions(\n { id },\n {\n cacheTime: 0,\n }\n );\n\n // TODO: this should use a react-query mutation\n const handleEditRoleSubmit = async (data) => {\n try {\n lockApp();\n setIsSubmiting(true);\n\n const { permissionsToSend, didUpdateConditions } = permissionsRef.current.getPermissions();\n\n await put(`/admin/roles/${id}`, data);\n\n if (role.code !== 'strapi-super-admin') {\n await put(`/admin/roles/${id}/permissions`, {\n permissions: permissionsToSend,\n });\n\n if (didUpdateConditions) {\n trackUsage('didUpdateConditions');\n }\n }\n\n permissionsRef.current.setFormAfterSubmit();\n\n await refetchRole();\n\n toggleNotification({\n type: 'success',\n message: { id: 'notification.success.saved' },\n });\n } catch (error) {\n toggleNotification({\n type: 'warning',\n message: formatAPIError(error),\n });\n } finally {\n setIsSubmiting(false);\n unlockApp();\n }\n };\n\n const isFormDisabled = !isRoleLoading && role.code === 'strapi-super-admin';\n\n return (\n <Main>\n <SettingsPageTitle name=\"Roles\" />\n <Formik\n enableReinitialize\n initialValues={{\n name: role.name,\n description: role.description,\n }}\n onSubmit={handleEditRoleSubmit}\n validationSchema={schema}\n validateOnChange={false}\n >\n {({ handleSubmit, values, errors, handleChange, handleBlur }) => (\n <form onSubmit={handleSubmit}>\n <HeaderLayout\n primaryAction={\n <Flex gap={2}>\n <Button\n disabled={role.code === 'strapi-super-admin'}\n onClick={handleSubmit}\n loading={isSubmitting}\n size=\"L\"\n >\n {formatMessage({\n id: 'global.save',\n defaultMessage: 'Save',\n })}\n </Button>\n </Flex>\n }\n title={formatMessage({\n id: 'Settings.roles.edit.title',\n defaultMessage: 'Edit a role',\n })}\n subtitle={formatMessage({\n id: 'Settings.roles.create.description',\n defaultMessage: 'Define the rights given to the role',\n })}\n navigationAction={\n <Link startIcon={<ArrowLeft />} to=\"/settings/roles\">\n {formatMessage({\n id: 'global.back',\n defaultMessage: 'Back',\n })}\n </Link>\n }\n />\n <ContentLayout>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <RoleForm\n isLoading={isRoleLoading || isLoadingPermissions}\n disabled={isFormDisabled}\n errors={errors}\n values={values}\n onChange={handleChange}\n onBlur={handleBlur}\n role={role}\n />\n {!isLoadingPermissionsLayout && !isRoleLoading && !isLoadingPermissions ? (\n <Box shadow=\"filterShadow\" hasRadius>\n <Permissions\n isFormDisabled={isFormDisabled}\n permissions={permissions}\n ref={permissionsRef}\n layout={permissionsLayout}\n />\n </Box>\n ) : (\n <Box background=\"neutral0\" padding={6} shadow=\"filterShadow\" hasRadius>\n <LoadingIndicatorPage />\n </Box>\n )}\n </Flex>\n </ContentLayout>\n </form>\n )}\n </Formik>\n </Main>\n );\n};\n\nexport default EditPage;\n","import React from 'react';\n\nimport { LoadingIndicatorPage, useRBAC } from '@strapi/helper-plugin';\nimport { useSelector } from 'react-redux';\nimport { Redirect } from 'react-router-dom';\n\nimport { selectAdminPermissions } from '../../../../../selectors';\nimport EditPage from '../EditPage';\n\nconst ProtectedEditPage = () => {\n const permissions = useSelector(selectAdminPermissions);\n\n const {\n isLoading,\n allowedActions: { canRead, canUpdate },\n } = useRBAC({\n read: permissions.settings.roles.read,\n update: permissions.settings.roles.update,\n });\n\n if (isLoading) {\n return <LoadingIndicatorPage />;\n }\n\n if (!canRead && !canUpdate) {\n return <Redirect to=\"/\" />;\n }\n\n return <EditPage />;\n};\n\nexport default ProtectedEditPage;\n"],"names":["useIntl","Box","Flex","jsxs","jsx","Typography","Button","Grid","GridItem","TextInput","Textarea","PropTypes","yup","translatedErrors","useNotification","useRouteMatch","useFetchClient","useState","useRef","useOverlayBlocker","useTracking","useAPIErrorHandler","useAdminRolePermissionLayout","useAdminRoles","useAdminRolePermissions","Main","SettingsPageTitle","Formik","HeaderLayout","Link","ArrowLeft","ContentLayout","Permissions","LoadingIndicatorPage","useSelector","selectAdminPermissions","useRBAC","Redirect"],"mappings":"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"}
|
|
@@ -7,10 +7,10 @@ const helperPlugin = require("@strapi/helper-plugin");
|
|
|
7
7
|
const reactHelmet = require("react-helmet");
|
|
8
8
|
const reactIntl = require("react-intl");
|
|
9
9
|
const reactRouterDom = require("react-router-dom");
|
|
10
|
-
const index = require("./index-
|
|
10
|
+
const index = require("./index-3444ab6f.js");
|
|
11
11
|
const sortBy = require("lodash/sortBy");
|
|
12
12
|
const reactRedux = require("react-redux");
|
|
13
|
-
const AuthenticatedApp = require("./AuthenticatedApp-
|
|
13
|
+
const AuthenticatedApp = require("./AuthenticatedApp-79e3f141.js");
|
|
14
14
|
const v2 = require("@strapi/design-system/v2");
|
|
15
15
|
const Icons = require("@strapi/icons");
|
|
16
16
|
const PropTypes = require("prop-types");
|
|
@@ -224,7 +224,7 @@ SettingsNav.propTypes = {
|
|
|
224
224
|
const ROUTES_CE = [
|
|
225
225
|
{
|
|
226
226
|
async Component() {
|
|
227
|
-
const component = await Promise.resolve().then(() => require("./index-
|
|
227
|
+
const component = await Promise.resolve().then(() => require("./index-4c29f67c.js"));
|
|
228
228
|
return component;
|
|
229
229
|
},
|
|
230
230
|
to: "/settings/roles",
|
|
@@ -232,7 +232,7 @@ const ROUTES_CE = [
|
|
|
232
232
|
},
|
|
233
233
|
{
|
|
234
234
|
async Component() {
|
|
235
|
-
const component = await Promise.resolve().then(() => require("./index-
|
|
235
|
+
const component = await Promise.resolve().then(() => require("./index-c2b86584.js"));
|
|
236
236
|
return component;
|
|
237
237
|
},
|
|
238
238
|
to: "/settings/roles/duplicate/:id",
|
|
@@ -240,7 +240,7 @@ const ROUTES_CE = [
|
|
|
240
240
|
},
|
|
241
241
|
{
|
|
242
242
|
async Component() {
|
|
243
|
-
const component = await Promise.resolve().then(() => require("./index-
|
|
243
|
+
const component = await Promise.resolve().then(() => require("./index-c2b86584.js"));
|
|
244
244
|
return component;
|
|
245
245
|
},
|
|
246
246
|
to: "/settings/roles/new",
|
|
@@ -248,7 +248,7 @@ const ROUTES_CE = [
|
|
|
248
248
|
},
|
|
249
249
|
{
|
|
250
250
|
async Component() {
|
|
251
|
-
const component = await Promise.resolve().then(() => require("./index-
|
|
251
|
+
const component = await Promise.resolve().then(() => require("./index-fbe9dba1.js"));
|
|
252
252
|
return component;
|
|
253
253
|
},
|
|
254
254
|
to: "/settings/roles/:id",
|
|
@@ -256,7 +256,7 @@ const ROUTES_CE = [
|
|
|
256
256
|
},
|
|
257
257
|
{
|
|
258
258
|
async Component() {
|
|
259
|
-
const component = await Promise.resolve().then(() => require("./index-
|
|
259
|
+
const component = await Promise.resolve().then(() => require("./index-25feef65.js")).then((n) => n.index);
|
|
260
260
|
return component;
|
|
261
261
|
},
|
|
262
262
|
to: "/settings/users",
|
|
@@ -264,7 +264,7 @@ const ROUTES_CE = [
|
|
|
264
264
|
},
|
|
265
265
|
{
|
|
266
266
|
async Component() {
|
|
267
|
-
const component = await Promise.resolve().then(() => require("./index-
|
|
267
|
+
const component = await Promise.resolve().then(() => require("./index-ecb3cfba.js"));
|
|
268
268
|
return component;
|
|
269
269
|
},
|
|
270
270
|
to: "/settings/users/:id",
|
|
@@ -272,7 +272,7 @@ const ROUTES_CE = [
|
|
|
272
272
|
},
|
|
273
273
|
{
|
|
274
274
|
async Component() {
|
|
275
|
-
const component = await Promise.resolve().then(() => require("./index-
|
|
275
|
+
const component = await Promise.resolve().then(() => require("./index-d4029932.js"));
|
|
276
276
|
return component;
|
|
277
277
|
},
|
|
278
278
|
to: "/settings/webhooks/create",
|
|
@@ -280,7 +280,7 @@ const ROUTES_CE = [
|
|
|
280
280
|
},
|
|
281
281
|
{
|
|
282
282
|
async Component() {
|
|
283
|
-
const component = await Promise.resolve().then(() => require("./index-
|
|
283
|
+
const component = await Promise.resolve().then(() => require("./index-12b7d75f.js"));
|
|
284
284
|
return component;
|
|
285
285
|
},
|
|
286
286
|
to: "/settings/webhooks/:id",
|
|
@@ -288,7 +288,7 @@ const ROUTES_CE = [
|
|
|
288
288
|
},
|
|
289
289
|
{
|
|
290
290
|
async Component() {
|
|
291
|
-
const component = await Promise.resolve().then(() => require("./index-
|
|
291
|
+
const component = await Promise.resolve().then(() => require("./index-c3469f69.js"));
|
|
292
292
|
return component;
|
|
293
293
|
},
|
|
294
294
|
to: "/settings/webhooks",
|
|
@@ -296,7 +296,7 @@ const ROUTES_CE = [
|
|
|
296
296
|
},
|
|
297
297
|
{
|
|
298
298
|
async Component() {
|
|
299
|
-
const component = await Promise.resolve().then(() => require("./index-
|
|
299
|
+
const component = await Promise.resolve().then(() => require("./index-18fed2cd.js"));
|
|
300
300
|
return component;
|
|
301
301
|
},
|
|
302
302
|
to: "/settings/api-tokens",
|
|
@@ -304,7 +304,7 @@ const ROUTES_CE = [
|
|
|
304
304
|
},
|
|
305
305
|
{
|
|
306
306
|
async Component() {
|
|
307
|
-
const component = await Promise.resolve().then(() => require("./index-
|
|
307
|
+
const component = await Promise.resolve().then(() => require("./index-174cc6b9.js"));
|
|
308
308
|
return component;
|
|
309
309
|
},
|
|
310
310
|
to: "/settings/api-tokens/create",
|
|
@@ -312,7 +312,7 @@ const ROUTES_CE = [
|
|
|
312
312
|
},
|
|
313
313
|
{
|
|
314
314
|
async Component() {
|
|
315
|
-
const component = await Promise.resolve().then(() => require("./index-
|
|
315
|
+
const component = await Promise.resolve().then(() => require("./index-ef0c2ffb.js"));
|
|
316
316
|
return component;
|
|
317
317
|
},
|
|
318
318
|
to: "/settings/api-tokens/:id",
|
|
@@ -320,7 +320,7 @@ const ROUTES_CE = [
|
|
|
320
320
|
},
|
|
321
321
|
{
|
|
322
322
|
async Component() {
|
|
323
|
-
const component = await Promise.resolve().then(() => require("./index-
|
|
323
|
+
const component = await Promise.resolve().then(() => require("./index-66177bc5.js"));
|
|
324
324
|
return component;
|
|
325
325
|
},
|
|
326
326
|
to: "/settings/transfer-tokens/create",
|
|
@@ -328,7 +328,7 @@ const ROUTES_CE = [
|
|
|
328
328
|
},
|
|
329
329
|
{
|
|
330
330
|
async Component() {
|
|
331
|
-
const component = await Promise.resolve().then(() => require("./index-
|
|
331
|
+
const component = await Promise.resolve().then(() => require("./index-2aed5618.js"));
|
|
332
332
|
return component;
|
|
333
333
|
},
|
|
334
334
|
to: "/settings/transfer-tokens",
|
|
@@ -336,7 +336,7 @@ const ROUTES_CE = [
|
|
|
336
336
|
},
|
|
337
337
|
{
|
|
338
338
|
async Component() {
|
|
339
|
-
const component = await Promise.resolve().then(() => require("./index-
|
|
339
|
+
const component = await Promise.resolve().then(() => require("./index-563a992a.js"));
|
|
340
340
|
return component;
|
|
341
341
|
},
|
|
342
342
|
to: "/settings/transfer-tokens/:id",
|
|
@@ -1215,7 +1215,7 @@ const ApplicationInfosPage = () => {
|
|
|
1215
1215
|
} = helperPlugin.useAppInfo();
|
|
1216
1216
|
const AdminSeatInfo = index.useEnterprise(
|
|
1217
1217
|
AdminSeatInfoCE,
|
|
1218
|
-
async () => (await Promise.resolve().then(() => require("./index-
|
|
1218
|
+
async () => (await Promise.resolve().then(() => require("./index-341222f2.js"))).AdminSeatInfoEE
|
|
1219
1219
|
);
|
|
1220
1220
|
const {
|
|
1221
1221
|
allowedActions: { canRead, canUpdate }
|
|
@@ -1412,7 +1412,7 @@ function SettingsPage() {
|
|
|
1412
1412
|
const { isLoading, menu } = useSettingsMenu();
|
|
1413
1413
|
const routes = index.useEnterprise(
|
|
1414
1414
|
ROUTES_CE,
|
|
1415
|
-
async () => (await Promise.resolve().then(() => require("./constants-
|
|
1415
|
+
async () => (await Promise.resolve().then(() => require("./constants-9212941b.js"))).ROUTES_EE,
|
|
1416
1416
|
{
|
|
1417
1417
|
combine(ceRoutes, eeRoutes) {
|
|
1418
1418
|
return [...ceRoutes, ...eeRoutes];
|
|
@@ -1453,4 +1453,4 @@ function SettingsPage() {
|
|
|
1453
1453
|
] });
|
|
1454
1454
|
}
|
|
1455
1455
|
exports.SettingsPage = SettingsPage;
|
|
1456
|
-
//# sourceMappingURL=index-
|
|
1456
|
+
//# sourceMappingURL=index-fc7a00f0.js.map
|