@strapi/admin 5.18.1 → 5.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/admin/src/components/Filters.js +10 -1
- package/dist/admin/admin/src/components/Filters.js.map +1 -1
- package/dist/admin/admin/src/components/Filters.mjs +10 -1
- package/dist/admin/admin/src/components/Filters.mjs.map +1 -1
- package/dist/admin/admin/src/components/{UnstableGuidedTour → GuidedTour}/Context.js +22 -17
- package/dist/admin/admin/src/components/GuidedTour/Context.js.map +1 -0
- package/dist/admin/admin/src/components/{UnstableGuidedTour → GuidedTour}/Context.mjs +21 -16
- package/dist/admin/admin/src/components/GuidedTour/Context.mjs.map +1 -0
- package/dist/admin/admin/src/components/{UnstableGuidedTour → GuidedTour}/Overview.js +41 -15
- package/dist/admin/admin/src/components/GuidedTour/Overview.js.map +1 -0
- package/dist/admin/admin/src/components/{UnstableGuidedTour → GuidedTour}/Overview.mjs +42 -16
- package/dist/admin/admin/src/components/GuidedTour/Overview.mjs.map +1 -0
- package/dist/admin/admin/src/components/{UnstableGuidedTour → GuidedTour}/Step.js +33 -17
- package/dist/admin/admin/src/components/GuidedTour/Step.js.map +1 -0
- package/dist/admin/admin/src/components/{UnstableGuidedTour → GuidedTour}/Step.mjs +34 -18
- package/dist/admin/admin/src/components/GuidedTour/Step.mjs.map +1 -0
- package/dist/admin/admin/src/components/{UnstableGuidedTour → GuidedTour}/Tours.js +41 -40
- package/dist/admin/admin/src/components/GuidedTour/Tours.js.map +1 -0
- package/dist/admin/admin/src/components/{UnstableGuidedTour → GuidedTour}/Tours.mjs +36 -35
- package/dist/admin/admin/src/components/GuidedTour/Tours.mjs.map +1 -0
- package/dist/admin/admin/src/components/LeftMenu.js +52 -29
- package/dist/admin/admin/src/components/LeftMenu.js.map +1 -1
- package/dist/admin/admin/src/components/LeftMenu.mjs +52 -29
- package/dist/admin/admin/src/components/LeftMenu.mjs.map +1 -1
- package/dist/admin/admin/src/components/MainNav/NavLink.js +4 -42
- package/dist/admin/admin/src/components/MainNav/NavLink.js.map +1 -1
- package/dist/admin/admin/src/components/MainNav/NavLink.mjs +4 -23
- package/dist/admin/admin/src/components/MainNav/NavLink.mjs.map +1 -1
- package/dist/admin/admin/src/components/NpsSurvey.js +1 -1
- package/dist/admin/admin/src/components/NpsSurvey.js.map +1 -1
- package/dist/admin/admin/src/components/NpsSurvey.mjs +1 -1
- package/dist/admin/admin/src/components/NpsSurvey.mjs.map +1 -1
- package/dist/admin/admin/src/components/Providers.js +9 -10
- package/dist/admin/admin/src/components/Providers.js.map +1 -1
- package/dist/admin/admin/src/components/Providers.mjs +9 -10
- package/dist/admin/admin/src/components/Providers.mjs.map +1 -1
- package/dist/admin/admin/src/components/SubNav.js +18 -12
- package/dist/admin/admin/src/components/SubNav.js.map +1 -1
- package/dist/admin/admin/src/components/SubNav.mjs +19 -13
- package/dist/admin/admin/src/components/SubNav.mjs.map +1 -1
- package/dist/admin/admin/src/components/UpsellBanner.js +1 -1
- package/dist/admin/admin/src/components/UpsellBanner.js.map +1 -1
- package/dist/admin/admin/src/components/UpsellBanner.mjs +2 -2
- package/dist/admin/admin/src/components/UpsellBanner.mjs.map +1 -1
- package/dist/admin/admin/src/core/apis/Widgets.js +34 -16
- package/dist/admin/admin/src/core/apis/Widgets.js.map +1 -1
- package/dist/admin/admin/src/core/apis/Widgets.mjs +34 -16
- package/dist/admin/admin/src/core/apis/Widgets.mjs.map +1 -1
- package/dist/admin/admin/src/features/Tracking.js +34 -1
- package/dist/admin/admin/src/features/Tracking.js.map +1 -1
- package/dist/admin/admin/src/features/Tracking.mjs +34 -1
- package/dist/admin/admin/src/features/Tracking.mjs.map +1 -1
- package/dist/admin/admin/src/hooks/usePersistentState.js +10 -0
- package/dist/admin/admin/src/hooks/usePersistentState.js.map +1 -1
- package/dist/admin/admin/src/hooks/usePersistentState.mjs +10 -1
- package/dist/admin/admin/src/hooks/usePersistentState.mjs.map +1 -1
- package/dist/admin/admin/src/layouts/AuthenticatedLayout.js +1 -18
- package/dist/admin/admin/src/layouts/AuthenticatedLayout.js.map +1 -1
- package/dist/admin/admin/src/layouts/AuthenticatedLayout.mjs +1 -18
- package/dist/admin/admin/src/layouts/AuthenticatedLayout.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Auth/components/Register.js +0 -11
- package/dist/admin/admin/src/pages/Auth/components/Register.js.map +1 -1
- package/dist/admin/admin/src/pages/Auth/components/Register.mjs +0 -11
- package/dist/admin/admin/src/pages/Auth/components/Register.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Home/HomePage.js +2 -3
- package/dist/admin/admin/src/pages/Home/HomePage.js.map +1 -1
- package/dist/admin/admin/src/pages/Home/HomePage.mjs +2 -3
- package/dist/admin/admin/src/pages/Home/HomePage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Home/components/FreeTrialEndedModal.js +2 -2
- package/dist/admin/admin/src/pages/Home/components/FreeTrialEndedModal.js.map +1 -1
- package/dist/admin/admin/src/pages/Home/components/FreeTrialEndedModal.mjs +3 -3
- package/dist/admin/admin/src/pages/Home/components/FreeTrialEndedModal.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Home/components/FreeTrialWelcomeModal.js +1 -1
- package/dist/admin/admin/src/pages/Home/components/FreeTrialWelcomeModal.js.map +1 -1
- package/dist/admin/admin/src/pages/Home/components/FreeTrialWelcomeModal.mjs +2 -2
- package/dist/admin/admin/src/pages/Home/components/FreeTrialWelcomeModal.mjs.map +1 -1
- package/dist/admin/admin/src/pages/ProfilePage.js +297 -254
- package/dist/admin/admin/src/pages/ProfilePage.js.map +1 -1
- package/dist/admin/admin/src/pages/ProfilePage.mjs +297 -254
- package/dist/admin/admin/src/pages/ProfilePage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/components/SettingsNav.js +12 -1
- package/dist/admin/admin/src/pages/Settings/components/SettingsNav.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/components/SettingsNav.mjs +12 -1
- package/dist/admin/admin/src/pages/Settings/components/SettingsNav.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/components/Tokens/TokenBox.js +6 -6
- package/dist/admin/admin/src/pages/Settings/components/Tokens/TokenBox.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/components/Tokens/TokenBox.mjs +6 -6
- package/dist/admin/admin/src/pages/Settings/components/Tokens/TokenBox.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/EditViewPage.js +1 -7
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/EditViewPage.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/EditViewPage.mjs +2 -8
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/EditViewPage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/ListView.js +1 -8
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/ListView.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/ListView.mjs +1 -8
- package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/ListView.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/TransferTokens/EditView.js +0 -2
- package/dist/admin/admin/src/pages/Settings/pages/TransferTokens/EditView.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/TransferTokens/EditView.mjs +0 -2
- package/dist/admin/admin/src/pages/Settings/pages/TransferTokens/EditView.mjs.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Users/ListPage.js +3 -1
- package/dist/admin/admin/src/pages/Settings/pages/Users/ListPage.js.map +1 -1
- package/dist/admin/admin/src/pages/Settings/pages/Users/ListPage.mjs +3 -1
- package/dist/admin/admin/src/pages/Settings/pages/Users/ListPage.mjs.map +1 -1
- package/dist/admin/admin/src/pages/UseCasePage.js +1 -1
- package/dist/admin/admin/src/pages/UseCasePage.js.map +1 -1
- package/dist/admin/admin/src/pages/UseCasePage.mjs +1 -1
- package/dist/admin/admin/src/pages/UseCasePage.mjs.map +1 -1
- package/dist/admin/admin/src/translations/en.json.js +11 -3
- package/dist/admin/admin/src/translations/en.json.js.map +1 -1
- package/dist/admin/admin/src/translations/en.json.mjs +11 -3
- package/dist/admin/admin/src/translations/en.json.mjs.map +1 -1
- package/dist/admin/admin/tests/utils.js +25 -28
- package/dist/admin/admin/tests/utils.js.map +1 -1
- package/dist/admin/admin/tests/utils.mjs +25 -28
- package/dist/admin/admin/tests/utils.mjs.map +1 -1
- package/dist/admin/ee/admin/src/constants.js +4 -2
- package/dist/admin/ee/admin/src/constants.js.map +1 -1
- package/dist/admin/ee/admin/src/constants.mjs +4 -2
- package/dist/admin/ee/admin/src/constants.mjs.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListPage.js +3 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListPage.js.map +1 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListPage.mjs +3 -1
- package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListPage.mjs.map +1 -1
- package/dist/admin/index.js +2 -4
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs +1 -2
- package/dist/admin/index.mjs.map +1 -1
- package/dist/admin/src/components/Filters.d.ts +3 -1
- package/dist/admin/src/components/{UnstableGuidedTour → GuidedTour}/Context.d.ts +5 -3
- package/dist/admin/src/components/GuidedTour/Overview.d.ts +1 -0
- package/dist/admin/src/components/{UnstableGuidedTour → GuidedTour}/Step.d.ts +1 -1
- package/dist/admin/src/components/SubNav.d.ts +2 -1
- package/dist/admin/src/core/apis/Widgets.d.ts +8 -5
- package/dist/admin/src/features/Tracking.d.ts +22 -3
- package/dist/admin/src/hooks/usePersistentState.d.ts +2 -1
- package/dist/admin/src/index.d.ts +2 -3
- package/dist/admin/src/pages/Settings/components/Tokens/TokenBox.d.ts +1 -1
- package/dist/ee/server/src/audit-logs/services/lifecycles.d.ts.map +1 -1
- package/dist/server/ee/server/src/audit-logs/services/lifecycles.js +9 -8
- package/dist/server/ee/server/src/audit-logs/services/lifecycles.js.map +1 -1
- package/dist/server/ee/server/src/audit-logs/services/lifecycles.mjs +9 -8
- package/dist/server/ee/server/src/audit-logs/services/lifecycles.mjs.map +1 -1
- package/dist/server/server/src/domain/user.js +3 -1
- package/dist/server/server/src/domain/user.js.map +1 -1
- package/dist/server/server/src/domain/user.mjs +3 -1
- package/dist/server/server/src/domain/user.mjs.map +1 -1
- package/dist/server/src/domain/user.d.ts.map +1 -1
- package/package.json +8 -9
- package/dist/admin/admin/src/components/GuidedTour/Homepage.js +0 -132
- package/dist/admin/admin/src/components/GuidedTour/Homepage.js.map +0 -1
- package/dist/admin/admin/src/components/GuidedTour/Homepage.mjs +0 -130
- package/dist/admin/admin/src/components/GuidedTour/Homepage.mjs.map +0 -1
- package/dist/admin/admin/src/components/GuidedTour/Modal.js +0 -278
- package/dist/admin/admin/src/components/GuidedTour/Modal.js.map +0 -1
- package/dist/admin/admin/src/components/GuidedTour/Modal.mjs +0 -276
- package/dist/admin/admin/src/components/GuidedTour/Modal.mjs.map +0 -1
- package/dist/admin/admin/src/components/GuidedTour/Ornaments.js +0 -54
- package/dist/admin/admin/src/components/GuidedTour/Ornaments.js.map +0 -1
- package/dist/admin/admin/src/components/GuidedTour/Ornaments.mjs +0 -51
- package/dist/admin/admin/src/components/GuidedTour/Ornaments.mjs.map +0 -1
- package/dist/admin/admin/src/components/GuidedTour/Provider.js +0 -206
- package/dist/admin/admin/src/components/GuidedTour/Provider.js.map +0 -1
- package/dist/admin/admin/src/components/GuidedTour/Provider.mjs +0 -184
- package/dist/admin/admin/src/components/GuidedTour/Provider.mjs.map +0 -1
- package/dist/admin/admin/src/components/GuidedTour/constants.js +0 -167
- package/dist/admin/admin/src/components/GuidedTour/constants.js.map +0 -1
- package/dist/admin/admin/src/components/GuidedTour/constants.mjs +0 -164
- package/dist/admin/admin/src/components/GuidedTour/constants.mjs.map +0 -1
- package/dist/admin/admin/src/components/UnstableGuidedTour/Context.js.map +0 -1
- package/dist/admin/admin/src/components/UnstableGuidedTour/Context.mjs.map +0 -1
- package/dist/admin/admin/src/components/UnstableGuidedTour/Overview.js.map +0 -1
- package/dist/admin/admin/src/components/UnstableGuidedTour/Overview.mjs.map +0 -1
- package/dist/admin/admin/src/components/UnstableGuidedTour/Step.js.map +0 -1
- package/dist/admin/admin/src/components/UnstableGuidedTour/Step.mjs.map +0 -1
- package/dist/admin/admin/src/components/UnstableGuidedTour/Tours.js.map +0 -1
- package/dist/admin/admin/src/components/UnstableGuidedTour/Tours.mjs.map +0 -1
- package/dist/admin/admin/src/pages/Home/components/GuidedTour.js +0 -19
- package/dist/admin/admin/src/pages/Home/components/GuidedTour.js.map +0 -1
- package/dist/admin/admin/src/pages/Home/components/GuidedTour.mjs +0 -17
- package/dist/admin/admin/src/pages/Home/components/GuidedTour.mjs.map +0 -1
- package/dist/admin/src/components/GuidedTour/Homepage.d.ts +0 -2
- package/dist/admin/src/components/GuidedTour/Modal.d.ts +0 -2
- package/dist/admin/src/components/GuidedTour/Ornaments.d.ts +0 -13
- package/dist/admin/src/components/GuidedTour/Provider.d.ts +0 -39
- package/dist/admin/src/components/GuidedTour/constants.d.ts +0 -165
- package/dist/admin/src/components/UnstableGuidedTour/Overview.d.ts +0 -1
- package/dist/admin/src/pages/Home/components/GuidedTour.d.ts +0 -1
- /package/dist/admin/src/components/{UnstableGuidedTour → GuidedTour}/Tours.d.ts +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sources":["../../../../../ee/admin/src/constants.ts"],"sourcesContent":["import type { SettingsMenu } from '../../../admin/src/constants';\nimport type { PermissionMap } from '../../../admin/src/types/permissions';\nimport type { RouteObject } from 'react-router-dom';\n\nexport const ADMIN_PERMISSIONS_EE = {\n settings: {\n auditLogs: {\n main: [{ action: 'admin::audit-logs.read', subject: null }],\n read: [{ action: 'admin::audit-logs.read', subject: null }],\n update: [{ action: 'admin::audit-logs.update', subject: null }],\n },\n 'review-workflows': {\n main: [{ action: 'admin::review-workflows.read', subject: null }],\n read: [{ action: 'admin::review-workflows.read', subject: null }],\n create: [{ action: 'admin::review-workflows.create', subject: null }],\n delete: [{ action: 'admin::review-workflows.delete', subject: null }],\n update: [{ action: 'admin::review-workflows.update', subject: null }],\n },\n sso: {\n main: [{ action: 'admin::provider-login.read', subject: null }],\n read: [{ action: 'admin::provider-login.read', subject: null }],\n update: [{ action: 'admin::provider-login.update', subject: null }],\n },\n releases: {\n read: [\n {\n action: 'plugin::content-releases.settings.read',\n subject: null,\n },\n ],\n update: [\n {\n action: 'plugin::content-releases.settings.update',\n subject: null,\n },\n ],\n },\n },\n} satisfies {\n settings: Pick<PermissionMap['settings'], 'auditLogs' | 'review-workflows' | 'sso' | 'releases'>;\n};\n\n/**\n * Base EE routes, these are relative to the `root` of the app.\n * We use a function to get them so we're not looking at window\n * during build time.\n */\nexport const getEERoutes = (): RouteObject[] =>\n window.strapi.isEE\n ? [\n {\n path: 'auth/login/:authResponse',\n lazy: async () => {\n const { AuthResponse } = await import('./pages/AuthResponse');\n\n return {\n Component: AuthResponse,\n };\n },\n },\n ]\n : [];\n\n// TODO: the constants.js file is imported before the React application is setup and\n// therefore `window.strapi` might not exist at import-time. We should probably define\n// which constant is available at which stage of the application lifecycle.\nexport const SETTINGS_LINKS_EE = (): SettingsMenu => ({\n global: [\n ...(window.strapi.features.isEnabled(window.strapi.features.SSO)\n ? [\n {\n intlLabel: { id: 'Settings.sso.title', defaultMessage: 'Single Sign-On' },\n to: '/settings/single-sign-on',\n id: 'sso',\n },\n ]\n : []),\n ],\n\n admin: [\n ...(window.strapi.features.isEnabled(window.strapi.features.AUDIT_LOGS)\n ? [\n {\n intlLabel: { id: 'global.auditLogs', defaultMessage: 'Audit Logs' },\n to: '/settings/audit-logs?pageSize=50&page=1&sort=date:DESC',\n id: 'auditLogs',\n },\n ]\n : []),\n ],\n});\n"],"names":["ADMIN_PERMISSIONS_EE","settings","auditLogs","main","action","subject","read","update","create","delete","sso","releases","getEERoutes","window","strapi","isEE","path","lazy","AuthResponse","Component","SETTINGS_LINKS_EE","global","features","isEnabled","SSO","intlLabel","id","defaultMessage","to","admin","AUDIT_LOGS"],"mappings":";;MAIaA,oBAAuB,GAAA;IAClCC,QAAU,EAAA;QACRC,SAAW,EAAA;YACTC,IAAM,EAAA;AAAC,gBAAA;oBAAEC,MAAQ,EAAA,wBAAA;oBAA0BC,OAAS,EAAA;AAAK;AAAE,aAAA;YAC3DC,IAAM,EAAA;AAAC,gBAAA;oBAAEF,MAAQ,EAAA,wBAAA;oBAA0BC,OAAS,EAAA;AAAK;AAAE,aAAA;YAC3DE,MAAQ,EAAA;AAAC,gBAAA;oBAAEH,MAAQ,EAAA,0BAAA;oBAA4BC,OAAS,EAAA;AAAK;AAAE;AACjE,SAAA;QACA,kBAAoB,EAAA;YAClBF,IAAM,EAAA;AAAC,gBAAA;oBAAEC,MAAQ,EAAA,8BAAA;oBAAgCC,OAAS,EAAA;AAAK;AAAE,aAAA;YACjEC,IAAM,EAAA;AAAC,gBAAA;oBAAEF,MAAQ,EAAA,8BAAA;oBAAgCC,OAAS,EAAA;AAAK;AAAE,aAAA;YACjEG,MAAQ,EAAA;AAAC,gBAAA;oBAAEJ,MAAQ,EAAA,gCAAA;oBAAkCC,OAAS,EAAA;AAAK;AAAE,aAAA;YACrEI,MAAQ,EAAA;AAAC,gBAAA;oBAAEL,MAAQ,EAAA,gCAAA;oBAAkCC,OAAS,EAAA;AAAK;AAAE,aAAA;YACrEE,MAAQ,EAAA;AAAC,gBAAA;oBAAEH,MAAQ,EAAA,gCAAA;oBAAkCC,OAAS,EAAA;AAAK;AAAE;AACvE,SAAA;QACAK,GAAK,EAAA;YACHP,IAAM,EAAA;AAAC,gBAAA;oBAAEC,MAAQ,EAAA,4BAAA;oBAA8BC,OAAS,EAAA;AAAK;AAAE,aAAA;YAC/DC,IAAM,EAAA;AAAC,gBAAA;oBAAEF,MAAQ,EAAA,4BAAA;oBAA8BC,OAAS,EAAA;AAAK;AAAE,aAAA;YAC/DE,MAAQ,EAAA;AAAC,gBAAA;oBAAEH,MAAQ,EAAA,8BAAA;oBAAgCC,OAAS,EAAA;AAAK;AAAE;AACrE,SAAA;QACAM,QAAU,EAAA;YACRL,IAAM,EAAA;AACJ,gBAAA;oBACEF,MAAQ,EAAA,wCAAA;oBACRC,OAAS,EAAA;AACX;AACD,aAAA;YACDE,MAAQ,EAAA;AACN,gBAAA;oBACEH,MAAQ,EAAA,0CAAA;oBACRC,OAAS,EAAA;AACX;AACD;AACH;AACF;AACF;AAIA;;;;UAKaO,WAAc,GAAA,IACzBC,OAAOC,MAAM,CAACC,IAAI,GACd;AACE,QAAA;YACEC,IAAM,EAAA,0BAAA;YACNC,IAAM,EAAA,UAAA;AACJ,gBAAA,MAAM,EAAEC,YAAY,EAAE,GAAG,MAAM,oDAAO,yBAAA,KAAA;gBAEtC,OAAO;oBACLC,SAAWD,EAAAA;AACb,iBAAA;AACF;AACF;AACD,KAAA,GACD;AAEN;AACA;AACA;AACO,MAAME,iBAAoB,GAAA,KAAqB;QACpDC,MAAQ,EAAA;AACFR,YAAAA,GAAAA,MAAAA,CAAOC,MAAM,CAACQ,QAAQ,CAACC,SAAS,CAACV,MAAOC,CAAAA,MAAM,CAACQ,QAAQ,CAACE,GAAG,CAC3D,GAAA;AACE,gBAAA;oBACEC,SAAW,EAAA;wBAAEC,EAAI,EAAA,oBAAA;wBAAsBC,cAAgB,EAAA;AAAiB,qBAAA;oBACxEC,EAAI,EAAA,0BAAA;oBACJF,EAAI,EAAA;
|
|
1
|
+
{"version":3,"file":"constants.js","sources":["../../../../../ee/admin/src/constants.ts"],"sourcesContent":["import type { SettingsMenu } from '../../../admin/src/constants';\nimport type { PermissionMap } from '../../../admin/src/types/permissions';\nimport type { RouteObject } from 'react-router-dom';\n\nexport const ADMIN_PERMISSIONS_EE = {\n settings: {\n auditLogs: {\n main: [{ action: 'admin::audit-logs.read', subject: null }],\n read: [{ action: 'admin::audit-logs.read', subject: null }],\n update: [{ action: 'admin::audit-logs.update', subject: null }],\n },\n 'review-workflows': {\n main: [{ action: 'admin::review-workflows.read', subject: null }],\n read: [{ action: 'admin::review-workflows.read', subject: null }],\n create: [{ action: 'admin::review-workflows.create', subject: null }],\n delete: [{ action: 'admin::review-workflows.delete', subject: null }],\n update: [{ action: 'admin::review-workflows.update', subject: null }],\n },\n sso: {\n main: [{ action: 'admin::provider-login.read', subject: null }],\n read: [{ action: 'admin::provider-login.read', subject: null }],\n update: [{ action: 'admin::provider-login.update', subject: null }],\n },\n releases: {\n read: [\n {\n action: 'plugin::content-releases.settings.read',\n subject: null,\n },\n ],\n update: [\n {\n action: 'plugin::content-releases.settings.update',\n subject: null,\n },\n ],\n },\n },\n} satisfies {\n settings: Pick<PermissionMap['settings'], 'auditLogs' | 'review-workflows' | 'sso' | 'releases'>;\n};\n\n/**\n * Base EE routes, these are relative to the `root` of the app.\n * We use a function to get them so we're not looking at window\n * during build time.\n */\nexport const getEERoutes = (): RouteObject[] =>\n window.strapi.isEE\n ? [\n {\n path: 'auth/login/:authResponse',\n lazy: async () => {\n const { AuthResponse } = await import('./pages/AuthResponse');\n\n return {\n Component: AuthResponse,\n };\n },\n },\n ]\n : [];\n\n// TODO: the constants.js file is imported before the React application is setup and\n// therefore `window.strapi` might not exist at import-time. We should probably define\n// which constant is available at which stage of the application lifecycle.\nexport const SETTINGS_LINKS_EE = (): SettingsMenu => ({\n global: [\n ...(window.strapi.features.isEnabled(window.strapi.features.SSO)\n ? [\n {\n intlLabel: { id: 'Settings.sso.title', defaultMessage: 'Single Sign-On' },\n to: '/settings/single-sign-on',\n id: 'sso',\n licenseOnly: true,\n },\n ]\n : []),\n ],\n\n admin: [\n ...(window.strapi.features.isEnabled(window.strapi.features.AUDIT_LOGS)\n ? [\n {\n intlLabel: { id: 'global.auditLogs', defaultMessage: 'Audit Logs' },\n to: '/settings/audit-logs?pageSize=50&page=1&sort=date:DESC',\n id: 'auditLogs',\n licenseOnly: true,\n },\n ]\n : []),\n ],\n});\n"],"names":["ADMIN_PERMISSIONS_EE","settings","auditLogs","main","action","subject","read","update","create","delete","sso","releases","getEERoutes","window","strapi","isEE","path","lazy","AuthResponse","Component","SETTINGS_LINKS_EE","global","features","isEnabled","SSO","intlLabel","id","defaultMessage","to","licenseOnly","admin","AUDIT_LOGS"],"mappings":"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"}
|
|
@@ -115,7 +115,8 @@ const SETTINGS_LINKS_EE = ()=>({
|
|
|
115
115
|
defaultMessage: 'Single Sign-On'
|
|
116
116
|
},
|
|
117
117
|
to: '/settings/single-sign-on',
|
|
118
|
-
id: 'sso'
|
|
118
|
+
id: 'sso',
|
|
119
|
+
licenseOnly: true
|
|
119
120
|
}
|
|
120
121
|
] : []
|
|
121
122
|
],
|
|
@@ -127,7 +128,8 @@ const SETTINGS_LINKS_EE = ()=>({
|
|
|
127
128
|
defaultMessage: 'Audit Logs'
|
|
128
129
|
},
|
|
129
130
|
to: '/settings/audit-logs?pageSize=50&page=1&sort=date:DESC',
|
|
130
|
-
id: 'auditLogs'
|
|
131
|
+
id: 'auditLogs',
|
|
132
|
+
licenseOnly: true
|
|
131
133
|
}
|
|
132
134
|
] : []
|
|
133
135
|
]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.mjs","sources":["../../../../../ee/admin/src/constants.ts"],"sourcesContent":["import type { SettingsMenu } from '../../../admin/src/constants';\nimport type { PermissionMap } from '../../../admin/src/types/permissions';\nimport type { RouteObject } from 'react-router-dom';\n\nexport const ADMIN_PERMISSIONS_EE = {\n settings: {\n auditLogs: {\n main: [{ action: 'admin::audit-logs.read', subject: null }],\n read: [{ action: 'admin::audit-logs.read', subject: null }],\n update: [{ action: 'admin::audit-logs.update', subject: null }],\n },\n 'review-workflows': {\n main: [{ action: 'admin::review-workflows.read', subject: null }],\n read: [{ action: 'admin::review-workflows.read', subject: null }],\n create: [{ action: 'admin::review-workflows.create', subject: null }],\n delete: [{ action: 'admin::review-workflows.delete', subject: null }],\n update: [{ action: 'admin::review-workflows.update', subject: null }],\n },\n sso: {\n main: [{ action: 'admin::provider-login.read', subject: null }],\n read: [{ action: 'admin::provider-login.read', subject: null }],\n update: [{ action: 'admin::provider-login.update', subject: null }],\n },\n releases: {\n read: [\n {\n action: 'plugin::content-releases.settings.read',\n subject: null,\n },\n ],\n update: [\n {\n action: 'plugin::content-releases.settings.update',\n subject: null,\n },\n ],\n },\n },\n} satisfies {\n settings: Pick<PermissionMap['settings'], 'auditLogs' | 'review-workflows' | 'sso' | 'releases'>;\n};\n\n/**\n * Base EE routes, these are relative to the `root` of the app.\n * We use a function to get them so we're not looking at window\n * during build time.\n */\nexport const getEERoutes = (): RouteObject[] =>\n window.strapi.isEE\n ? [\n {\n path: 'auth/login/:authResponse',\n lazy: async () => {\n const { AuthResponse } = await import('./pages/AuthResponse');\n\n return {\n Component: AuthResponse,\n };\n },\n },\n ]\n : [];\n\n// TODO: the constants.js file is imported before the React application is setup and\n// therefore `window.strapi` might not exist at import-time. We should probably define\n// which constant is available at which stage of the application lifecycle.\nexport const SETTINGS_LINKS_EE = (): SettingsMenu => ({\n global: [\n ...(window.strapi.features.isEnabled(window.strapi.features.SSO)\n ? [\n {\n intlLabel: { id: 'Settings.sso.title', defaultMessage: 'Single Sign-On' },\n to: '/settings/single-sign-on',\n id: 'sso',\n },\n ]\n : []),\n ],\n\n admin: [\n ...(window.strapi.features.isEnabled(window.strapi.features.AUDIT_LOGS)\n ? [\n {\n intlLabel: { id: 'global.auditLogs', defaultMessage: 'Audit Logs' },\n to: '/settings/audit-logs?pageSize=50&page=1&sort=date:DESC',\n id: 'auditLogs',\n },\n ]\n : []),\n ],\n});\n"],"names":["ADMIN_PERMISSIONS_EE","settings","auditLogs","main","action","subject","read","update","create","delete","sso","releases","getEERoutes","window","strapi","isEE","path","lazy","AuthResponse","Component","SETTINGS_LINKS_EE","global","features","isEnabled","SSO","intlLabel","id","defaultMessage","to","admin","AUDIT_LOGS"],"mappings":"MAIaA,oBAAuB,GAAA;IAClCC,QAAU,EAAA;QACRC,SAAW,EAAA;YACTC,IAAM,EAAA;AAAC,gBAAA;oBAAEC,MAAQ,EAAA,wBAAA;oBAA0BC,OAAS,EAAA;AAAK;AAAE,aAAA;YAC3DC,IAAM,EAAA;AAAC,gBAAA;oBAAEF,MAAQ,EAAA,wBAAA;oBAA0BC,OAAS,EAAA;AAAK;AAAE,aAAA;YAC3DE,MAAQ,EAAA;AAAC,gBAAA;oBAAEH,MAAQ,EAAA,0BAAA;oBAA4BC,OAAS,EAAA;AAAK;AAAE;AACjE,SAAA;QACA,kBAAoB,EAAA;YAClBF,IAAM,EAAA;AAAC,gBAAA;oBAAEC,MAAQ,EAAA,8BAAA;oBAAgCC,OAAS,EAAA;AAAK;AAAE,aAAA;YACjEC,IAAM,EAAA;AAAC,gBAAA;oBAAEF,MAAQ,EAAA,8BAAA;oBAAgCC,OAAS,EAAA;AAAK;AAAE,aAAA;YACjEG,MAAQ,EAAA;AAAC,gBAAA;oBAAEJ,MAAQ,EAAA,gCAAA;oBAAkCC,OAAS,EAAA;AAAK;AAAE,aAAA;YACrEI,MAAQ,EAAA;AAAC,gBAAA;oBAAEL,MAAQ,EAAA,gCAAA;oBAAkCC,OAAS,EAAA;AAAK;AAAE,aAAA;YACrEE,MAAQ,EAAA;AAAC,gBAAA;oBAAEH,MAAQ,EAAA,gCAAA;oBAAkCC,OAAS,EAAA;AAAK;AAAE;AACvE,SAAA;QACAK,GAAK,EAAA;YACHP,IAAM,EAAA;AAAC,gBAAA;oBAAEC,MAAQ,EAAA,4BAAA;oBAA8BC,OAAS,EAAA;AAAK;AAAE,aAAA;YAC/DC,IAAM,EAAA;AAAC,gBAAA;oBAAEF,MAAQ,EAAA,4BAAA;oBAA8BC,OAAS,EAAA;AAAK;AAAE,aAAA;YAC/DE,MAAQ,EAAA;AAAC,gBAAA;oBAAEH,MAAQ,EAAA,8BAAA;oBAAgCC,OAAS,EAAA;AAAK;AAAE;AACrE,SAAA;QACAM,QAAU,EAAA;YACRL,IAAM,EAAA;AACJ,gBAAA;oBACEF,MAAQ,EAAA,wCAAA;oBACRC,OAAS,EAAA;AACX;AACD,aAAA;YACDE,MAAQ,EAAA;AACN,gBAAA;oBACEH,MAAQ,EAAA,0CAAA;oBACRC,OAAS,EAAA;AACX;AACD;AACH;AACF;AACF;AAIA;;;;UAKaO,WAAc,GAAA,IACzBC,OAAOC,MAAM,CAACC,IAAI,GACd;AACE,QAAA;YACEC,IAAM,EAAA,0BAAA;YACNC,IAAM,EAAA,UAAA;AACJ,gBAAA,MAAM,EAAEC,YAAY,EAAE,GAAG,MAAM,OAAO,0BAAA,CAAA;gBAEtC,OAAO;oBACLC,SAAWD,EAAAA;AACb,iBAAA;AACF;AACF;AACD,KAAA,GACD;AAEN;AACA;AACA;AACO,MAAME,iBAAoB,GAAA,KAAqB;QACpDC,MAAQ,EAAA;AACFR,YAAAA,GAAAA,MAAAA,CAAOC,MAAM,CAACQ,QAAQ,CAACC,SAAS,CAACV,MAAOC,CAAAA,MAAM,CAACQ,QAAQ,CAACE,GAAG,CAC3D,GAAA;AACE,gBAAA;oBACEC,SAAW,EAAA;wBAAEC,EAAI,EAAA,oBAAA;wBAAsBC,cAAgB,EAAA;AAAiB,qBAAA;oBACxEC,EAAI,EAAA,0BAAA;oBACJF,EAAI,EAAA;
|
|
1
|
+
{"version":3,"file":"constants.mjs","sources":["../../../../../ee/admin/src/constants.ts"],"sourcesContent":["import type { SettingsMenu } from '../../../admin/src/constants';\nimport type { PermissionMap } from '../../../admin/src/types/permissions';\nimport type { RouteObject } from 'react-router-dom';\n\nexport const ADMIN_PERMISSIONS_EE = {\n settings: {\n auditLogs: {\n main: [{ action: 'admin::audit-logs.read', subject: null }],\n read: [{ action: 'admin::audit-logs.read', subject: null }],\n update: [{ action: 'admin::audit-logs.update', subject: null }],\n },\n 'review-workflows': {\n main: [{ action: 'admin::review-workflows.read', subject: null }],\n read: [{ action: 'admin::review-workflows.read', subject: null }],\n create: [{ action: 'admin::review-workflows.create', subject: null }],\n delete: [{ action: 'admin::review-workflows.delete', subject: null }],\n update: [{ action: 'admin::review-workflows.update', subject: null }],\n },\n sso: {\n main: [{ action: 'admin::provider-login.read', subject: null }],\n read: [{ action: 'admin::provider-login.read', subject: null }],\n update: [{ action: 'admin::provider-login.update', subject: null }],\n },\n releases: {\n read: [\n {\n action: 'plugin::content-releases.settings.read',\n subject: null,\n },\n ],\n update: [\n {\n action: 'plugin::content-releases.settings.update',\n subject: null,\n },\n ],\n },\n },\n} satisfies {\n settings: Pick<PermissionMap['settings'], 'auditLogs' | 'review-workflows' | 'sso' | 'releases'>;\n};\n\n/**\n * Base EE routes, these are relative to the `root` of the app.\n * We use a function to get them so we're not looking at window\n * during build time.\n */\nexport const getEERoutes = (): RouteObject[] =>\n window.strapi.isEE\n ? [\n {\n path: 'auth/login/:authResponse',\n lazy: async () => {\n const { AuthResponse } = await import('./pages/AuthResponse');\n\n return {\n Component: AuthResponse,\n };\n },\n },\n ]\n : [];\n\n// TODO: the constants.js file is imported before the React application is setup and\n// therefore `window.strapi` might not exist at import-time. We should probably define\n// which constant is available at which stage of the application lifecycle.\nexport const SETTINGS_LINKS_EE = (): SettingsMenu => ({\n global: [\n ...(window.strapi.features.isEnabled(window.strapi.features.SSO)\n ? [\n {\n intlLabel: { id: 'Settings.sso.title', defaultMessage: 'Single Sign-On' },\n to: '/settings/single-sign-on',\n id: 'sso',\n licenseOnly: true,\n },\n ]\n : []),\n ],\n\n admin: [\n ...(window.strapi.features.isEnabled(window.strapi.features.AUDIT_LOGS)\n ? [\n {\n intlLabel: { id: 'global.auditLogs', defaultMessage: 'Audit Logs' },\n to: '/settings/audit-logs?pageSize=50&page=1&sort=date:DESC',\n id: 'auditLogs',\n licenseOnly: true,\n },\n ]\n : []),\n ],\n});\n"],"names":["ADMIN_PERMISSIONS_EE","settings","auditLogs","main","action","subject","read","update","create","delete","sso","releases","getEERoutes","window","strapi","isEE","path","lazy","AuthResponse","Component","SETTINGS_LINKS_EE","global","features","isEnabled","SSO","intlLabel","id","defaultMessage","to","licenseOnly","admin","AUDIT_LOGS"],"mappings":"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"}
|
|
@@ -98,7 +98,9 @@ const ListPage = ()=>{
|
|
|
98
98
|
options: displayedFilters,
|
|
99
99
|
children: [
|
|
100
100
|
/*#__PURE__*/ jsxRuntime.jsx(Filters.Filters.Trigger, {}),
|
|
101
|
-
/*#__PURE__*/ jsxRuntime.jsx(Filters.Filters.Popover, {
|
|
101
|
+
/*#__PURE__*/ jsxRuntime.jsx(Filters.Filters.Popover, {
|
|
102
|
+
zIndex: 499
|
|
103
|
+
}),
|
|
102
104
|
/*#__PURE__*/ jsxRuntime.jsx(Filters.Filters.List, {})
|
|
103
105
|
]
|
|
104
106
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListPage.js","sources":["../../../../../../../../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListPage.tsx"],"sourcesContent":["import { Flex, IconButton, Typography } from '@strapi/design-system';\nimport { Eye } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { Filters } from '../../../../../../../admin/src/components/Filters';\nimport { Layouts } from '../../../../../../../admin/src/components/Layouts/Layout';\nimport { Page } from '../../../../../../../admin/src/components/PageHelpers';\nimport { Pagination } from '../../../../../../../admin/src/components/Pagination';\nimport { Table } from '../../../../../../../admin/src/components/Table';\nimport { useTypedSelector } from '../../../../../../../admin/src/core/store/hooks';\nimport { useQueryParams } from '../../../../../../../admin/src/hooks/useQueryParams';\nimport { useRBAC } from '../../../../../../../admin/src/hooks/useRBAC';\nimport { AuditLog } from '../../../../../../../shared/contracts/audit-logs';\n\nimport { Modal } from './components/Modal';\nimport { useAuditLogsData } from './hooks/useAuditLogsData';\nimport { useFormatTimeStamp } from './hooks/useFormatTimeStamp';\nimport { getDefaultMessage } from './utils/getActionTypesDefaultMessages';\nimport { getDisplayedFilters } from './utils/getDisplayedFilters';\n\nconst ListPage = () => {\n const { formatMessage } = useIntl();\n const permissions = useTypedSelector((state) => state.admin_app.permissions.settings);\n\n const {\n allowedActions: { canRead: canReadAuditLogs, canReadUsers },\n isLoading: isLoadingRBAC,\n } = useRBAC({\n ...permissions?.auditLogs,\n readUsers: permissions?.users.read || [],\n });\n\n const [{ query }, setQuery] = useQueryParams<{ id?: AuditLog['id'] }>();\n const {\n auditLogs,\n users,\n isLoading: isLoadingData,\n hasError,\n } = useAuditLogsData({\n canReadAuditLogs,\n canReadUsers,\n });\n\n const formatTimeStamp = useFormatTimeStamp();\n\n const displayedFilters = getDisplayedFilters({ formatMessage, users, canReadUsers });\n\n const headers: Table.Header<AuditLog, object>[] = [\n {\n name: 'action',\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.action',\n defaultMessage: 'Action',\n }),\n sortable: true,\n },\n {\n name: 'date',\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.date',\n defaultMessage: 'Date',\n }),\n sortable: true,\n },\n {\n name: 'user',\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.user',\n defaultMessage: 'User',\n }),\n sortable: false,\n // In this case, the passed parameter cannot and shouldn't be something else than User\n cellFormatter: ({ user }) => (user ? user.displayName : ''),\n },\n ];\n\n if (hasError) {\n return <Page.Error />;\n }\n\n const isLoading = isLoadingData || isLoadingRBAC;\n\n const { results = [] } = auditLogs ?? {};\n\n return (\n <Page.Main aria-busy={isLoading}>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: formatMessage({\n id: 'global.auditLogs',\n defaultMessage: 'Audit Logs',\n }),\n }\n )}\n </Page.Title>\n <Layouts.Header\n title={formatMessage({\n id: 'global.auditLogs',\n defaultMessage: 'Audit Logs',\n })}\n subtitle={formatMessage({\n id: 'Settings.permissions.auditLogs.listview.header.subtitle',\n defaultMessage: 'Logs of all the activities that happened in your environment',\n })}\n />\n <Layouts.Action\n startActions={\n <Filters.Root options={displayedFilters}>\n <Filters.Trigger />\n <Filters.Popover />\n <Filters.List />\n </Filters.Root>\n }\n />\n <Layouts.Content>\n <Table.Root rows={results} headers={headers} isLoading={isLoading}>\n <Table.Content>\n <Table.Head>\n {headers.map((header) => (\n <Table.HeaderCell key={header.name} {...header} />\n ))}\n </Table.Head>\n <Table.Empty />\n <Table.Loading />\n <Table.Body>\n {results.map((log) => (\n <Table.Row key={log.id} onClick={() => setQuery({ id: log.id })}>\n {headers.map((header) => {\n const { name, cellFormatter } = header;\n\n switch (name) {\n case 'action':\n return (\n <Table.Cell key={name}>\n <Typography textColor=\"neutral800\">\n {formatMessage(\n {\n id: `Settings.permissions.auditLogs.${log.action}`,\n // @ts-expect-error – getDefaultMessage probably doesn't benefit from being so strongly typed unless we just add string at the end.\n defaultMessage: getDefaultMessage(log.action),\n },\n { model: (log.payload?.model as string) ?? '' }\n )}\n </Typography>\n </Table.Cell>\n );\n case 'date':\n return (\n <Table.Cell key={name}>\n <Typography textColor=\"neutral800\">\n {formatTimeStamp(log.date)}\n </Typography>\n </Table.Cell>\n );\n case 'user':\n return (\n <Table.Cell key={name}>\n <Typography textColor=\"neutral800\">\n {cellFormatter ? cellFormatter(log, header) : '-'}\n </Typography>\n </Table.Cell>\n );\n default:\n return (\n <Table.Cell key={name}>\n <Typography textColor=\"neutral800\">\n {(log[name as keyof AuditLog] as string) || '-'}\n </Typography>\n </Table.Cell>\n );\n }\n })}\n <Table.Cell onClick={(e) => e.stopPropagation()}>\n <Flex justifyContent=\"end\">\n <IconButton\n onClick={() => setQuery({ id: log.id })}\n withTooltip={false}\n label={formatMessage(\n { id: 'app.component.table.view', defaultMessage: '{target} details' },\n { target: `${log.action} action` }\n )}\n variant=\"ghost\"\n >\n <Eye />\n </IconButton>\n </Flex>\n </Table.Cell>\n </Table.Row>\n ))}\n </Table.Body>\n </Table.Content>\n </Table.Root>\n\n <Pagination.Root {...auditLogs?.pagination}>\n <Pagination.PageSize />\n <Pagination.Links />\n </Pagination.Root>\n </Layouts.Content>\n {query?.id && (\n <Modal handleClose={() => setQuery({ id: '' }, 'remove')} logId={query.id.toString()} />\n )}\n </Page.Main>\n );\n};\n\nconst ProtectedListPage = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.auditLogs?.main\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <ListPage />\n </Page.Protect>\n );\n};\n\nexport { ListPage, ProtectedListPage };\n"],"names":["ListPage","formatMessage","useIntl","permissions","useTypedSelector","state","admin_app","settings","allowedActions","canRead","canReadAuditLogs","canReadUsers","isLoading","isLoadingRBAC","useRBAC","auditLogs","readUsers","users","read","query","setQuery","useQueryParams","isLoadingData","hasError","useAuditLogsData","formatTimeStamp","useFormatTimeStamp","displayedFilters","getDisplayedFilters","headers","name","label","id","defaultMessage","sortable","cellFormatter","user","displayName","_jsx","Page","Error","results","_jsxs","Main","aria-busy","Title","Layouts","Header","title","subtitle","Action","startActions","Filters","Root","options","Trigger","Popover","List","Content","Table","rows","Head","map","header","HeaderCell","Empty","Loading","Body","log","Row","onClick","Cell","Typography","textColor","action","getDefaultMessage","model","payload","date","e","stopPropagation","Flex","justifyContent","IconButton","withTooltip","target","variant","Eye","Pagination","pagination","PageSize","Links","Modal","handleClose","logId","toString","ProtectedListPage","main","Protect"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ListPage.js","sources":["../../../../../../../../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListPage.tsx"],"sourcesContent":["import { Flex, IconButton, Typography } from '@strapi/design-system';\nimport { Eye } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { Filters } from '../../../../../../../admin/src/components/Filters';\nimport { Layouts } from '../../../../../../../admin/src/components/Layouts/Layout';\nimport { Page } from '../../../../../../../admin/src/components/PageHelpers';\nimport { Pagination } from '../../../../../../../admin/src/components/Pagination';\nimport { Table } from '../../../../../../../admin/src/components/Table';\nimport { useTypedSelector } from '../../../../../../../admin/src/core/store/hooks';\nimport { useQueryParams } from '../../../../../../../admin/src/hooks/useQueryParams';\nimport { useRBAC } from '../../../../../../../admin/src/hooks/useRBAC';\nimport { AuditLog } from '../../../../../../../shared/contracts/audit-logs';\n\nimport { Modal } from './components/Modal';\nimport { useAuditLogsData } from './hooks/useAuditLogsData';\nimport { useFormatTimeStamp } from './hooks/useFormatTimeStamp';\nimport { getDefaultMessage } from './utils/getActionTypesDefaultMessages';\nimport { getDisplayedFilters } from './utils/getDisplayedFilters';\n\nconst ListPage = () => {\n const { formatMessage } = useIntl();\n const permissions = useTypedSelector((state) => state.admin_app.permissions.settings);\n\n const {\n allowedActions: { canRead: canReadAuditLogs, canReadUsers },\n isLoading: isLoadingRBAC,\n } = useRBAC({\n ...permissions?.auditLogs,\n readUsers: permissions?.users.read || [],\n });\n\n const [{ query }, setQuery] = useQueryParams<{ id?: AuditLog['id'] }>();\n const {\n auditLogs,\n users,\n isLoading: isLoadingData,\n hasError,\n } = useAuditLogsData({\n canReadAuditLogs,\n canReadUsers,\n });\n\n const formatTimeStamp = useFormatTimeStamp();\n\n const displayedFilters = getDisplayedFilters({ formatMessage, users, canReadUsers });\n\n const headers: Table.Header<AuditLog, object>[] = [\n {\n name: 'action',\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.action',\n defaultMessage: 'Action',\n }),\n sortable: true,\n },\n {\n name: 'date',\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.date',\n defaultMessage: 'Date',\n }),\n sortable: true,\n },\n {\n name: 'user',\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.user',\n defaultMessage: 'User',\n }),\n sortable: false,\n // In this case, the passed parameter cannot and shouldn't be something else than User\n cellFormatter: ({ user }) => (user ? user.displayName : ''),\n },\n ];\n\n if (hasError) {\n return <Page.Error />;\n }\n\n const isLoading = isLoadingData || isLoadingRBAC;\n\n const { results = [] } = auditLogs ?? {};\n\n return (\n <Page.Main aria-busy={isLoading}>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: formatMessage({\n id: 'global.auditLogs',\n defaultMessage: 'Audit Logs',\n }),\n }\n )}\n </Page.Title>\n <Layouts.Header\n title={formatMessage({\n id: 'global.auditLogs',\n defaultMessage: 'Audit Logs',\n })}\n subtitle={formatMessage({\n id: 'Settings.permissions.auditLogs.listview.header.subtitle',\n defaultMessage: 'Logs of all the activities that happened in your environment',\n })}\n />\n <Layouts.Action\n startActions={\n <Filters.Root options={displayedFilters}>\n <Filters.Trigger />\n <Filters.Popover zIndex={499} />\n <Filters.List />\n </Filters.Root>\n }\n />\n <Layouts.Content>\n <Table.Root rows={results} headers={headers} isLoading={isLoading}>\n <Table.Content>\n <Table.Head>\n {headers.map((header) => (\n <Table.HeaderCell key={header.name} {...header} />\n ))}\n </Table.Head>\n <Table.Empty />\n <Table.Loading />\n <Table.Body>\n {results.map((log) => (\n <Table.Row key={log.id} onClick={() => setQuery({ id: log.id })}>\n {headers.map((header) => {\n const { name, cellFormatter } = header;\n\n switch (name) {\n case 'action':\n return (\n <Table.Cell key={name}>\n <Typography textColor=\"neutral800\">\n {formatMessage(\n {\n id: `Settings.permissions.auditLogs.${log.action}`,\n // @ts-expect-error – getDefaultMessage probably doesn't benefit from being so strongly typed unless we just add string at the end.\n defaultMessage: getDefaultMessage(log.action),\n },\n { model: (log.payload?.model as string) ?? '' }\n )}\n </Typography>\n </Table.Cell>\n );\n case 'date':\n return (\n <Table.Cell key={name}>\n <Typography textColor=\"neutral800\">\n {formatTimeStamp(log.date)}\n </Typography>\n </Table.Cell>\n );\n case 'user':\n return (\n <Table.Cell key={name}>\n <Typography textColor=\"neutral800\">\n {cellFormatter ? cellFormatter(log, header) : '-'}\n </Typography>\n </Table.Cell>\n );\n default:\n return (\n <Table.Cell key={name}>\n <Typography textColor=\"neutral800\">\n {(log[name as keyof AuditLog] as string) || '-'}\n </Typography>\n </Table.Cell>\n );\n }\n })}\n <Table.Cell onClick={(e) => e.stopPropagation()}>\n <Flex justifyContent=\"end\">\n <IconButton\n onClick={() => setQuery({ id: log.id })}\n withTooltip={false}\n label={formatMessage(\n { id: 'app.component.table.view', defaultMessage: '{target} details' },\n { target: `${log.action} action` }\n )}\n variant=\"ghost\"\n >\n <Eye />\n </IconButton>\n </Flex>\n </Table.Cell>\n </Table.Row>\n ))}\n </Table.Body>\n </Table.Content>\n </Table.Root>\n\n <Pagination.Root {...auditLogs?.pagination}>\n <Pagination.PageSize />\n <Pagination.Links />\n </Pagination.Root>\n </Layouts.Content>\n {query?.id && (\n <Modal handleClose={() => setQuery({ id: '' }, 'remove')} logId={query.id.toString()} />\n )}\n </Page.Main>\n );\n};\n\nconst ProtectedListPage = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.auditLogs?.main\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <ListPage />\n </Page.Protect>\n );\n};\n\nexport { ListPage, ProtectedListPage };\n"],"names":["ListPage","formatMessage","useIntl","permissions","useTypedSelector","state","admin_app","settings","allowedActions","canRead","canReadAuditLogs","canReadUsers","isLoading","isLoadingRBAC","useRBAC","auditLogs","readUsers","users","read","query","setQuery","useQueryParams","isLoadingData","hasError","useAuditLogsData","formatTimeStamp","useFormatTimeStamp","displayedFilters","getDisplayedFilters","headers","name","label","id","defaultMessage","sortable","cellFormatter","user","displayName","_jsx","Page","Error","results","_jsxs","Main","aria-busy","Title","Layouts","Header","title","subtitle","Action","startActions","Filters","Root","options","Trigger","Popover","zIndex","List","Content","Table","rows","Head","map","header","HeaderCell","Empty","Loading","Body","log","Row","onClick","Cell","Typography","textColor","action","getDefaultMessage","model","payload","date","e","stopPropagation","Flex","justifyContent","IconButton","withTooltip","target","variant","Eye","Pagination","pagination","PageSize","Links","Modal","handleClose","logId","toString","ProtectedListPage","main","Protect"],"mappings":"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"}
|
|
@@ -96,7 +96,9 @@ const ListPage = ()=>{
|
|
|
96
96
|
options: displayedFilters,
|
|
97
97
|
children: [
|
|
98
98
|
/*#__PURE__*/ jsx(Filters.Trigger, {}),
|
|
99
|
-
/*#__PURE__*/ jsx(Filters.Popover, {
|
|
99
|
+
/*#__PURE__*/ jsx(Filters.Popover, {
|
|
100
|
+
zIndex: 499
|
|
101
|
+
}),
|
|
100
102
|
/*#__PURE__*/ jsx(Filters.List, {})
|
|
101
103
|
]
|
|
102
104
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListPage.mjs","sources":["../../../../../../../../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListPage.tsx"],"sourcesContent":["import { Flex, IconButton, Typography } from '@strapi/design-system';\nimport { Eye } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { Filters } from '../../../../../../../admin/src/components/Filters';\nimport { Layouts } from '../../../../../../../admin/src/components/Layouts/Layout';\nimport { Page } from '../../../../../../../admin/src/components/PageHelpers';\nimport { Pagination } from '../../../../../../../admin/src/components/Pagination';\nimport { Table } from '../../../../../../../admin/src/components/Table';\nimport { useTypedSelector } from '../../../../../../../admin/src/core/store/hooks';\nimport { useQueryParams } from '../../../../../../../admin/src/hooks/useQueryParams';\nimport { useRBAC } from '../../../../../../../admin/src/hooks/useRBAC';\nimport { AuditLog } from '../../../../../../../shared/contracts/audit-logs';\n\nimport { Modal } from './components/Modal';\nimport { useAuditLogsData } from './hooks/useAuditLogsData';\nimport { useFormatTimeStamp } from './hooks/useFormatTimeStamp';\nimport { getDefaultMessage } from './utils/getActionTypesDefaultMessages';\nimport { getDisplayedFilters } from './utils/getDisplayedFilters';\n\nconst ListPage = () => {\n const { formatMessage } = useIntl();\n const permissions = useTypedSelector((state) => state.admin_app.permissions.settings);\n\n const {\n allowedActions: { canRead: canReadAuditLogs, canReadUsers },\n isLoading: isLoadingRBAC,\n } = useRBAC({\n ...permissions?.auditLogs,\n readUsers: permissions?.users.read || [],\n });\n\n const [{ query }, setQuery] = useQueryParams<{ id?: AuditLog['id'] }>();\n const {\n auditLogs,\n users,\n isLoading: isLoadingData,\n hasError,\n } = useAuditLogsData({\n canReadAuditLogs,\n canReadUsers,\n });\n\n const formatTimeStamp = useFormatTimeStamp();\n\n const displayedFilters = getDisplayedFilters({ formatMessage, users, canReadUsers });\n\n const headers: Table.Header<AuditLog, object>[] = [\n {\n name: 'action',\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.action',\n defaultMessage: 'Action',\n }),\n sortable: true,\n },\n {\n name: 'date',\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.date',\n defaultMessage: 'Date',\n }),\n sortable: true,\n },\n {\n name: 'user',\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.user',\n defaultMessage: 'User',\n }),\n sortable: false,\n // In this case, the passed parameter cannot and shouldn't be something else than User\n cellFormatter: ({ user }) => (user ? user.displayName : ''),\n },\n ];\n\n if (hasError) {\n return <Page.Error />;\n }\n\n const isLoading = isLoadingData || isLoadingRBAC;\n\n const { results = [] } = auditLogs ?? {};\n\n return (\n <Page.Main aria-busy={isLoading}>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: formatMessage({\n id: 'global.auditLogs',\n defaultMessage: 'Audit Logs',\n }),\n }\n )}\n </Page.Title>\n <Layouts.Header\n title={formatMessage({\n id: 'global.auditLogs',\n defaultMessage: 'Audit Logs',\n })}\n subtitle={formatMessage({\n id: 'Settings.permissions.auditLogs.listview.header.subtitle',\n defaultMessage: 'Logs of all the activities that happened in your environment',\n })}\n />\n <Layouts.Action\n startActions={\n <Filters.Root options={displayedFilters}>\n <Filters.Trigger />\n <Filters.Popover />\n <Filters.List />\n </Filters.Root>\n }\n />\n <Layouts.Content>\n <Table.Root rows={results} headers={headers} isLoading={isLoading}>\n <Table.Content>\n <Table.Head>\n {headers.map((header) => (\n <Table.HeaderCell key={header.name} {...header} />\n ))}\n </Table.Head>\n <Table.Empty />\n <Table.Loading />\n <Table.Body>\n {results.map((log) => (\n <Table.Row key={log.id} onClick={() => setQuery({ id: log.id })}>\n {headers.map((header) => {\n const { name, cellFormatter } = header;\n\n switch (name) {\n case 'action':\n return (\n <Table.Cell key={name}>\n <Typography textColor=\"neutral800\">\n {formatMessage(\n {\n id: `Settings.permissions.auditLogs.${log.action}`,\n // @ts-expect-error – getDefaultMessage probably doesn't benefit from being so strongly typed unless we just add string at the end.\n defaultMessage: getDefaultMessage(log.action),\n },\n { model: (log.payload?.model as string) ?? '' }\n )}\n </Typography>\n </Table.Cell>\n );\n case 'date':\n return (\n <Table.Cell key={name}>\n <Typography textColor=\"neutral800\">\n {formatTimeStamp(log.date)}\n </Typography>\n </Table.Cell>\n );\n case 'user':\n return (\n <Table.Cell key={name}>\n <Typography textColor=\"neutral800\">\n {cellFormatter ? cellFormatter(log, header) : '-'}\n </Typography>\n </Table.Cell>\n );\n default:\n return (\n <Table.Cell key={name}>\n <Typography textColor=\"neutral800\">\n {(log[name as keyof AuditLog] as string) || '-'}\n </Typography>\n </Table.Cell>\n );\n }\n })}\n <Table.Cell onClick={(e) => e.stopPropagation()}>\n <Flex justifyContent=\"end\">\n <IconButton\n onClick={() => setQuery({ id: log.id })}\n withTooltip={false}\n label={formatMessage(\n { id: 'app.component.table.view', defaultMessage: '{target} details' },\n { target: `${log.action} action` }\n )}\n variant=\"ghost\"\n >\n <Eye />\n </IconButton>\n </Flex>\n </Table.Cell>\n </Table.Row>\n ))}\n </Table.Body>\n </Table.Content>\n </Table.Root>\n\n <Pagination.Root {...auditLogs?.pagination}>\n <Pagination.PageSize />\n <Pagination.Links />\n </Pagination.Root>\n </Layouts.Content>\n {query?.id && (\n <Modal handleClose={() => setQuery({ id: '' }, 'remove')} logId={query.id.toString()} />\n )}\n </Page.Main>\n );\n};\n\nconst ProtectedListPage = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.auditLogs?.main\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <ListPage />\n </Page.Protect>\n );\n};\n\nexport { ListPage, ProtectedListPage };\n"],"names":["ListPage","formatMessage","useIntl","permissions","useTypedSelector","state","admin_app","settings","allowedActions","canRead","canReadAuditLogs","canReadUsers","isLoading","isLoadingRBAC","useRBAC","auditLogs","readUsers","users","read","query","setQuery","useQueryParams","isLoadingData","hasError","useAuditLogsData","formatTimeStamp","useFormatTimeStamp","displayedFilters","getDisplayedFilters","headers","name","label","id","defaultMessage","sortable","cellFormatter","user","displayName","_jsx","Page","Error","results","_jsxs","Main","aria-busy","Title","Layouts","Header","title","subtitle","Action","startActions","Filters","Root","options","Trigger","Popover","List","Content","Table","rows","Head","map","header","HeaderCell","Empty","Loading","Body","log","Row","onClick","Cell","Typography","textColor","action","getDefaultMessage","model","payload","date","e","stopPropagation","Flex","justifyContent","IconButton","withTooltip","target","variant","Eye","Pagination","pagination","PageSize","Links","Modal","handleClose","logId","toString","ProtectedListPage","main","Protect"],"mappings":";;;;;;;;;;;;;;;;;;AAoBA,MAAMA,QAAW,GAAA,IAAA;IACf,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;IAC1B,MAAMC,WAAAA,GAAcC,iBAAiB,CAACC,KAAAA,GAAUA,MAAMC,SAAS,CAACH,WAAW,CAACI,QAAQ,CAAA;AAEpF,IAAA,MAAM,EACJC,cAAAA,EAAgB,EAAEC,OAAAA,EAASC,gBAAgB,EAAEC,YAAY,EAAE,EAC3DC,SAAAA,EAAWC,aAAa,EACzB,GAAGC,OAAQ,CAAA;AACV,QAAA,GAAGX,aAAaY,SAAS;QACzBC,SAAWb,EAAAA,WAAAA,EAAac,KAAMC,CAAAA,IAAAA,IAAQ;AACxC,KAAA,CAAA;AAEA,IAAA,MAAM,CAAC,EAAEC,KAAK,EAAE,EAAEC,SAAS,GAAGC,cAAAA,EAAAA;IAC9B,MAAM,EACJN,SAAS,EACTE,KAAK,EACLL,SAAWU,EAAAA,aAAa,EACxBC,QAAQ,EACT,GAAGC,gBAAiB,CAAA;AACnBd,QAAAA,gBAAAA;AACAC,QAAAA;AACF,KAAA,CAAA;AAEA,IAAA,MAAMc,eAAkBC,GAAAA,kBAAAA,EAAAA;AAExB,IAAA,MAAMC,mBAAmBC,mBAAoB,CAAA;AAAE3B,QAAAA,aAAAA;AAAegB,QAAAA,KAAAA;AAAON,QAAAA;AAAa,KAAA,CAAA;AAElF,IAAA,MAAMkB,OAA4C,GAAA;AAChD,QAAA;YACEC,IAAM,EAAA,QAAA;AACNC,YAAAA,KAAAA,EAAO9B,aAAc,CAAA;gBACnB+B,EAAI,EAAA,uCAAA;gBACJC,cAAgB,EAAA;AAClB,aAAA,CAAA;YACAC,QAAU,EAAA;AACZ,SAAA;AACA,QAAA;YACEJ,IAAM,EAAA,MAAA;AACNC,YAAAA,KAAAA,EAAO9B,aAAc,CAAA;gBACnB+B,EAAI,EAAA,qCAAA;gBACJC,cAAgB,EAAA;AAClB,aAAA,CAAA;YACAC,QAAU,EAAA;AACZ,SAAA;AACA,QAAA;YACEJ,IAAM,EAAA,MAAA;AACNC,YAAAA,KAAAA,EAAO9B,aAAc,CAAA;gBACnB+B,EAAI,EAAA,qCAAA;gBACJC,cAAgB,EAAA;AAClB,aAAA,CAAA;YACAC,QAAU,EAAA,KAAA;;YAEVC,aAAe,EAAA,CAAC,EAAEC,IAAI,EAAE,GAAMA,IAAOA,GAAAA,IAAAA,CAAKC,WAAW,GAAG;AAC1D;AACD,KAAA;AAED,IAAA,IAAId,QAAU,EAAA;QACZ,qBAAOe,GAAA,CAACC,KAAKC,KAAK,EAAA,EAAA,CAAA;AACpB;AAEA,IAAA,MAAM5B,YAAYU,aAAiBT,IAAAA,aAAAA;AAEnC,IAAA,MAAM,EAAE4B,OAAU,GAAA,EAAE,EAAE,GAAG1B,aAAa,EAAC;IAEvC,qBACE2B,IAAA,CAACH,KAAKI,IAAI,EAAA;QAACC,WAAWhC,EAAAA,SAAAA;;AACpB,0BAAA0B,GAAA,CAACC,KAAKM,KAAK,EAAA;0BACR5C,aACC,CAAA;oBAAE+B,EAAI,EAAA,oBAAA;oBAAsBC,cAAgB,EAAA;iBAC5C,EAAA;AACEH,oBAAAA,IAAAA,EAAM7B,aAAc,CAAA;wBAClB+B,EAAI,EAAA,kBAAA;wBACJC,cAAgB,EAAA;AAClB,qBAAA;AACF,iBAAA;;AAGJ,0BAAAK,GAAA,CAACQ,QAAQC,MAAM,EAAA;AACbC,gBAAAA,KAAAA,EAAO/C,aAAc,CAAA;oBACnB+B,EAAI,EAAA,kBAAA;oBACJC,cAAgB,EAAA;AAClB,iBAAA,CAAA;AACAgB,gBAAAA,QAAAA,EAAUhD,aAAc,CAAA;oBACtB+B,EAAI,EAAA,yDAAA;oBACJC,cAAgB,EAAA;AAClB,iBAAA;;AAEF,0BAAAK,GAAA,CAACQ,QAAQI,MAAM,EAAA;gBACbC,YACE,gBAAAT,IAAA,CAACU,QAAQC,IAAI,EAAA;oBAACC,OAAS3B,EAAAA,gBAAAA;;AACrB,sCAAAW,GAAA,CAACc,QAAQG,OAAO,EAAA,EAAA,CAAA;AAChB,sCAAAjB,GAAA,CAACc,QAAQI,OAAO,EAAA,EAAA,CAAA;AAChB,sCAAAlB,GAAA,CAACc,QAAQK,IAAI,EAAA,EAAA;;;;AAInB,0BAAAf,IAAA,CAACI,QAAQY,OAAO,EAAA;;AACd,kCAAApB,GAAA,CAACqB,MAAMN,IAAI,EAAA;wBAACO,IAAMnB,EAAAA,OAAAA;wBAASZ,OAASA,EAAAA,OAAAA;wBAASjB,SAAWA,EAAAA,SAAAA;gDACtD8B,IAAA,CAACiB,MAAMD,OAAO,EAAA;;AACZ,8CAAApB,GAAA,CAACqB,MAAME,IAAI,EAAA;AACRhC,oCAAAA,QAAAA,EAAAA,OAAAA,CAAQiC,GAAG,CAAC,CAACC,MACZ,iBAAAzB,GAAA,CAACqB,MAAMK,UAAU,EAAA;AAAoB,4CAAA,GAAGD;AAAjBA,yCAAAA,EAAAA,MAAAA,CAAOjC,IAAI,CAAA;;AAGtC,8CAAAQ,GAAA,CAACqB,MAAMM,KAAK,EAAA,EAAA,CAAA;AACZ,8CAAA3B,GAAA,CAACqB,MAAMO,OAAO,EAAA,EAAA,CAAA;AACd,8CAAA5B,GAAA,CAACqB,MAAMQ,IAAI,EAAA;AACR1B,oCAAAA,QAAAA,EAAAA,OAAAA,CAAQqB,GAAG,CAAC,CAACM,GACZ,iBAAA1B,IAAA,CAACiB,MAAMU,GAAG,EAAA;AAAcC,4CAAAA,OAAAA,EAAS,IAAMlD,QAAS,CAAA;AAAEY,oDAAAA,EAAAA,EAAIoC,IAAIpC;AAAG,iDAAA,CAAA;;gDAC1DH,OAAQiC,CAAAA,GAAG,CAAC,CAACC,MAAAA,GAAAA;AACZ,oDAAA,MAAM,EAAEjC,IAAI,EAAEK,aAAa,EAAE,GAAG4B,MAAAA;oDAEhC,OAAQjC,IAAAA;wDACN,KAAK,QAAA;4DACH,qBACEQ,GAAA,CAACqB,MAAMY,IAAI,EAAA;AACT,gEAAA,QAAA,gBAAAjC,GAACkC,CAAAA,UAAAA,EAAAA;oEAAWC,SAAU,EAAA,YAAA;8EACnBxE,aACC,CAAA;AACE+B,wEAAAA,EAAAA,EAAI,CAAC,+BAA+B,EAAEoC,GAAIM,CAAAA,MAAM,CAAC,CAAC;;wEAElDzC,cAAgB0C,EAAAA,iBAAAA,CAAkBP,IAAIM,MAAM;qEAE9C,EAAA;AAAEE,wEAAAA,KAAAA,EAAO,GAACR,CAAIS,OAAO,EAAED,KAAoB,IAAA;AAAG,qEAAA;;AARnC9C,6DAAAA,EAAAA,IAAAA,CAAAA;wDAarB,KAAK,MAAA;4DACH,qBACEQ,GAAA,CAACqB,MAAMY,IAAI,EAAA;AACT,gEAAA,QAAA,gBAAAjC,GAACkC,CAAAA,UAAAA,EAAAA;oEAAWC,SAAU,EAAA,YAAA;AACnBhD,oEAAAA,QAAAA,EAAAA,eAAAA,CAAgB2C,IAAIU,IAAI;;AAFZhD,6DAAAA,EAAAA,IAAAA,CAAAA;wDAMrB,KAAK,MAAA;4DACH,qBACEQ,GAAA,CAACqB,MAAMY,IAAI,EAAA;AACT,gEAAA,QAAA,gBAAAjC,GAACkC,CAAAA,UAAAA,EAAAA;oEAAWC,SAAU,EAAA,YAAA;8EACnBtC,aAAgBA,GAAAA,aAAAA,CAAciC,KAAKL,MAAU,CAAA,GAAA;;AAFjCjC,6DAAAA,EAAAA,IAAAA,CAAAA;AAMrB,wDAAA;4DACE,qBACEQ,GAAA,CAACqB,MAAMY,IAAI,EAAA;AACT,gEAAA,QAAA,gBAAAjC,GAACkC,CAAAA,UAAAA,EAAAA;oEAAWC,SAAU,EAAA,YAAA;8EACnB,GAAI,CAAC3C,IAAAA,CAAuB,IAAe;;AAF/BA,6DAAAA,EAAAA,IAAAA,CAAAA;AAMvB;AACF,iDAAA,CAAA;AACA,8DAAAQ,GAAA,CAACqB,MAAMY,IAAI,EAAA;oDAACD,OAAS,EAAA,CAACS,CAAMA,GAAAA,CAAAA,CAAEC,eAAe,EAAA;AAC3C,oDAAA,QAAA,gBAAA1C,GAAC2C,CAAAA,IAAAA,EAAAA;wDAAKC,cAAe,EAAA,KAAA;AACnB,wDAAA,QAAA,gBAAA5C,GAAC6C,CAAAA,UAAAA,EAAAA;AACCb,4DAAAA,OAAAA,EAAS,IAAMlD,QAAS,CAAA;AAAEY,oEAAAA,EAAAA,EAAIoC,IAAIpC;AAAG,iEAAA,CAAA;4DACrCoD,WAAa,EAAA,KAAA;AACbrD,4DAAAA,KAAAA,EAAO9B,aACL,CAAA;gEAAE+B,EAAI,EAAA,0BAAA;gEAA4BC,cAAgB,EAAA;6DAClD,EAAA;AAAEoD,gEAAAA,MAAAA,EAAQ,CAAC,EAAEjB,GAAAA,CAAIM,MAAM,CAAC,OAAO;AAAE,6DAAA,CAAA;4DAEnCY,OAAQ,EAAA,OAAA;AAER,4DAAA,QAAA,gBAAAhD,GAACiD,CAAAA,GAAAA,EAAAA,EAAAA;;;;;AAzDOnB,yCAAAA,EAAAA,GAAAA,CAAIpC,EAAE,CAAA;;;;;AAmE9B,kCAAAU,IAAA,CAAC8C,WAAWnC,IAAI,EAAA;AAAE,wBAAA,GAAGtC,WAAW0E,UAAU;;AACxC,0CAAAnD,GAAA,CAACkD,WAAWE,QAAQ,EAAA,EAAA,CAAA;AACpB,0CAAApD,GAAA,CAACkD,WAAWG,KAAK,EAAA,EAAA;;;;;AAGpBxE,YAAAA,KAAAA,EAAOa,oBACNM,GAACsD,CAAAA,KAAAA,EAAAA;AAAMC,gBAAAA,WAAAA,EAAa,IAAMzE,QAAS,CAAA;wBAAEY,EAAI,EAAA;qBAAM,EAAA,QAAA,CAAA;gBAAW8D,KAAO3E,EAAAA,KAAAA,CAAMa,EAAE,CAAC+D,QAAQ;;;;AAI1F;AAEA,MAAMC,iBAAoB,GAAA,IAAA;IACxB,MAAM7F,WAAAA,GAAcC,gBAClB,CAAA,CAACC,KAAUA,GAAAA,KAAAA,CAAMC,SAAS,CAACH,WAAW,CAACI,QAAQ,EAAEQ,SAAWkF,EAAAA,IAAAA,CAAAA;IAG9D,qBACE3D,GAAA,CAACC,KAAK2D,OAAO,EAAA;QAAC/F,WAAaA,EAAAA,WAAAA;AACzB,QAAA,QAAA,gBAAAmC,GAACtC,CAAAA,QAAAA,EAAAA,EAAAA;;AAGP;;;;"}
|
|
1
|
+
{"version":3,"file":"ListPage.mjs","sources":["../../../../../../../../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListPage.tsx"],"sourcesContent":["import { Flex, IconButton, Typography } from '@strapi/design-system';\nimport { Eye } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { Filters } from '../../../../../../../admin/src/components/Filters';\nimport { Layouts } from '../../../../../../../admin/src/components/Layouts/Layout';\nimport { Page } from '../../../../../../../admin/src/components/PageHelpers';\nimport { Pagination } from '../../../../../../../admin/src/components/Pagination';\nimport { Table } from '../../../../../../../admin/src/components/Table';\nimport { useTypedSelector } from '../../../../../../../admin/src/core/store/hooks';\nimport { useQueryParams } from '../../../../../../../admin/src/hooks/useQueryParams';\nimport { useRBAC } from '../../../../../../../admin/src/hooks/useRBAC';\nimport { AuditLog } from '../../../../../../../shared/contracts/audit-logs';\n\nimport { Modal } from './components/Modal';\nimport { useAuditLogsData } from './hooks/useAuditLogsData';\nimport { useFormatTimeStamp } from './hooks/useFormatTimeStamp';\nimport { getDefaultMessage } from './utils/getActionTypesDefaultMessages';\nimport { getDisplayedFilters } from './utils/getDisplayedFilters';\n\nconst ListPage = () => {\n const { formatMessage } = useIntl();\n const permissions = useTypedSelector((state) => state.admin_app.permissions.settings);\n\n const {\n allowedActions: { canRead: canReadAuditLogs, canReadUsers },\n isLoading: isLoadingRBAC,\n } = useRBAC({\n ...permissions?.auditLogs,\n readUsers: permissions?.users.read || [],\n });\n\n const [{ query }, setQuery] = useQueryParams<{ id?: AuditLog['id'] }>();\n const {\n auditLogs,\n users,\n isLoading: isLoadingData,\n hasError,\n } = useAuditLogsData({\n canReadAuditLogs,\n canReadUsers,\n });\n\n const formatTimeStamp = useFormatTimeStamp();\n\n const displayedFilters = getDisplayedFilters({ formatMessage, users, canReadUsers });\n\n const headers: Table.Header<AuditLog, object>[] = [\n {\n name: 'action',\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.action',\n defaultMessage: 'Action',\n }),\n sortable: true,\n },\n {\n name: 'date',\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.date',\n defaultMessage: 'Date',\n }),\n sortable: true,\n },\n {\n name: 'user',\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.user',\n defaultMessage: 'User',\n }),\n sortable: false,\n // In this case, the passed parameter cannot and shouldn't be something else than User\n cellFormatter: ({ user }) => (user ? user.displayName : ''),\n },\n ];\n\n if (hasError) {\n return <Page.Error />;\n }\n\n const isLoading = isLoadingData || isLoadingRBAC;\n\n const { results = [] } = auditLogs ?? {};\n\n return (\n <Page.Main aria-busy={isLoading}>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: formatMessage({\n id: 'global.auditLogs',\n defaultMessage: 'Audit Logs',\n }),\n }\n )}\n </Page.Title>\n <Layouts.Header\n title={formatMessage({\n id: 'global.auditLogs',\n defaultMessage: 'Audit Logs',\n })}\n subtitle={formatMessage({\n id: 'Settings.permissions.auditLogs.listview.header.subtitle',\n defaultMessage: 'Logs of all the activities that happened in your environment',\n })}\n />\n <Layouts.Action\n startActions={\n <Filters.Root options={displayedFilters}>\n <Filters.Trigger />\n <Filters.Popover zIndex={499} />\n <Filters.List />\n </Filters.Root>\n }\n />\n <Layouts.Content>\n <Table.Root rows={results} headers={headers} isLoading={isLoading}>\n <Table.Content>\n <Table.Head>\n {headers.map((header) => (\n <Table.HeaderCell key={header.name} {...header} />\n ))}\n </Table.Head>\n <Table.Empty />\n <Table.Loading />\n <Table.Body>\n {results.map((log) => (\n <Table.Row key={log.id} onClick={() => setQuery({ id: log.id })}>\n {headers.map((header) => {\n const { name, cellFormatter } = header;\n\n switch (name) {\n case 'action':\n return (\n <Table.Cell key={name}>\n <Typography textColor=\"neutral800\">\n {formatMessage(\n {\n id: `Settings.permissions.auditLogs.${log.action}`,\n // @ts-expect-error – getDefaultMessage probably doesn't benefit from being so strongly typed unless we just add string at the end.\n defaultMessage: getDefaultMessage(log.action),\n },\n { model: (log.payload?.model as string) ?? '' }\n )}\n </Typography>\n </Table.Cell>\n );\n case 'date':\n return (\n <Table.Cell key={name}>\n <Typography textColor=\"neutral800\">\n {formatTimeStamp(log.date)}\n </Typography>\n </Table.Cell>\n );\n case 'user':\n return (\n <Table.Cell key={name}>\n <Typography textColor=\"neutral800\">\n {cellFormatter ? cellFormatter(log, header) : '-'}\n </Typography>\n </Table.Cell>\n );\n default:\n return (\n <Table.Cell key={name}>\n <Typography textColor=\"neutral800\">\n {(log[name as keyof AuditLog] as string) || '-'}\n </Typography>\n </Table.Cell>\n );\n }\n })}\n <Table.Cell onClick={(e) => e.stopPropagation()}>\n <Flex justifyContent=\"end\">\n <IconButton\n onClick={() => setQuery({ id: log.id })}\n withTooltip={false}\n label={formatMessage(\n { id: 'app.component.table.view', defaultMessage: '{target} details' },\n { target: `${log.action} action` }\n )}\n variant=\"ghost\"\n >\n <Eye />\n </IconButton>\n </Flex>\n </Table.Cell>\n </Table.Row>\n ))}\n </Table.Body>\n </Table.Content>\n </Table.Root>\n\n <Pagination.Root {...auditLogs?.pagination}>\n <Pagination.PageSize />\n <Pagination.Links />\n </Pagination.Root>\n </Layouts.Content>\n {query?.id && (\n <Modal handleClose={() => setQuery({ id: '' }, 'remove')} logId={query.id.toString()} />\n )}\n </Page.Main>\n );\n};\n\nconst ProtectedListPage = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.auditLogs?.main\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <ListPage />\n </Page.Protect>\n );\n};\n\nexport { ListPage, ProtectedListPage };\n"],"names":["ListPage","formatMessage","useIntl","permissions","useTypedSelector","state","admin_app","settings","allowedActions","canRead","canReadAuditLogs","canReadUsers","isLoading","isLoadingRBAC","useRBAC","auditLogs","readUsers","users","read","query","setQuery","useQueryParams","isLoadingData","hasError","useAuditLogsData","formatTimeStamp","useFormatTimeStamp","displayedFilters","getDisplayedFilters","headers","name","label","id","defaultMessage","sortable","cellFormatter","user","displayName","_jsx","Page","Error","results","_jsxs","Main","aria-busy","Title","Layouts","Header","title","subtitle","Action","startActions","Filters","Root","options","Trigger","Popover","zIndex","List","Content","Table","rows","Head","map","header","HeaderCell","Empty","Loading","Body","log","Row","onClick","Cell","Typography","textColor","action","getDefaultMessage","model","payload","date","e","stopPropagation","Flex","justifyContent","IconButton","withTooltip","target","variant","Eye","Pagination","pagination","PageSize","Links","Modal","handleClose","logId","toString","ProtectedListPage","main","Protect"],"mappings":"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"}
|
package/dist/admin/index.js
CHANGED
|
@@ -16,8 +16,7 @@ var Table = require('./admin/src/components/Table.js');
|
|
|
16
16
|
var ContentBox = require('./admin/src/components/ContentBox.js');
|
|
17
17
|
var SubNav = require('./admin/src/components/SubNav.js');
|
|
18
18
|
var GradientBadge = require('./admin/src/components/GradientBadge.js');
|
|
19
|
-
var
|
|
20
|
-
var Tours = require('./admin/src/components/UnstableGuidedTour/Tours.js');
|
|
19
|
+
var Tours = require('./admin/src/components/GuidedTour/Tours.js');
|
|
21
20
|
var Tracking = require('./admin/src/features/Tracking.js');
|
|
22
21
|
var StrapiApp = require('./admin/src/features/StrapiApp.js');
|
|
23
22
|
var Notifications = require('./admin/src/features/Notifications.js');
|
|
@@ -63,8 +62,7 @@ exports.useTable = Table.useTable;
|
|
|
63
62
|
exports.ContentBox = ContentBox.ContentBox;
|
|
64
63
|
exports.SubNav = SubNav.SubNav;
|
|
65
64
|
exports.GradientBadge = GradientBadge.GradientBadge;
|
|
66
|
-
exports.
|
|
67
|
-
exports.unstable_tours = Tours.tours;
|
|
65
|
+
exports.tours = Tours.tours;
|
|
68
66
|
exports.useTracking = Tracking.useTracking;
|
|
69
67
|
exports.useStrapiApp = StrapiApp.useStrapiApp;
|
|
70
68
|
exports.NotificationsProvider = Notifications.NotificationsProvider;
|
package/dist/admin/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/admin/index.mjs
CHANGED
|
@@ -14,8 +14,7 @@ export { Table, useTable } from './admin/src/components/Table.mjs';
|
|
|
14
14
|
export { ContentBox } from './admin/src/components/ContentBox.mjs';
|
|
15
15
|
export { SubNav } from './admin/src/components/SubNav.mjs';
|
|
16
16
|
export { GradientBadge } from './admin/src/components/GradientBadge.mjs';
|
|
17
|
-
export {
|
|
18
|
-
export { tours as unstable_tours } from './admin/src/components/UnstableGuidedTour/Tours.mjs';
|
|
17
|
+
export { tours } from './admin/src/components/GuidedTour/Tours.mjs';
|
|
19
18
|
export { useTracking } from './admin/src/features/Tracking.mjs';
|
|
20
19
|
export { useStrapiApp } from './admin/src/features/StrapiApp.mjs';
|
|
21
20
|
export { NotificationsProvider, useNotification } from './admin/src/features/Notifications.mjs';
|
package/dist/admin/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -18,7 +18,9 @@ interface RootProps extends Partial<FitlersContextValue>, Popover.Props {
|
|
|
18
18
|
}
|
|
19
19
|
declare const Filters: {
|
|
20
20
|
List: () => import("react/jsx-runtime").JSX.Element | null;
|
|
21
|
-
Popover: (
|
|
21
|
+
Popover: ({ zIndex }: {
|
|
22
|
+
zIndex?: number;
|
|
23
|
+
}) => import("react/jsx-runtime").JSX.Element | null;
|
|
22
24
|
Root: ({ children, disabled, onChange, options, onOpenChange, open: openProp, defaultOpen, ...restProps }: RootProps) => import("react/jsx-runtime").JSX.Element;
|
|
23
25
|
Trigger: React.ForwardRefExoticComponent<Filters.TriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
|
24
26
|
};
|
|
@@ -14,6 +14,8 @@ type Action = {
|
|
|
14
14
|
payload: ExtendedCompletedActions;
|
|
15
15
|
} | {
|
|
16
16
|
type: 'skip_all_tours';
|
|
17
|
+
} | {
|
|
18
|
+
type: 'reset_all_tours';
|
|
17
19
|
};
|
|
18
20
|
type Tour = Record<ValidTourName, {
|
|
19
21
|
currentStep: number;
|
|
@@ -25,14 +27,14 @@ type State = {
|
|
|
25
27
|
enabled: boolean;
|
|
26
28
|
completedActions: ExtendedCompletedActions;
|
|
27
29
|
};
|
|
28
|
-
declare const
|
|
30
|
+
declare const useGuidedTour: <Selected, ShouldThrow extends boolean = true>(consumerName: string, selector: (value: {
|
|
29
31
|
state: State;
|
|
30
32
|
dispatch: React.Dispatch<Action>;
|
|
31
33
|
}) => Selected, shouldThrowOnMissingContext?: ShouldThrow | undefined) => ShouldThrow extends true ? Selected : Selected | undefined;
|
|
32
34
|
declare function reducer(state: State, action: Action): State;
|
|
33
|
-
declare const
|
|
35
|
+
declare const GuidedTourContext: ({ children, enabled, }: {
|
|
34
36
|
children: React.ReactNode;
|
|
35
37
|
enabled?: boolean;
|
|
36
38
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
37
39
|
export type { Action, State, ValidTourName };
|
|
38
|
-
export {
|
|
40
|
+
export { GuidedTourContext, useGuidedTour, reducer };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const GuidedTourHomepageOverview: () => import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { Popover, FlexProps } from '@strapi/design-system';
|
|
3
3
|
import { type MessageDescriptor } from 'react-intl';
|
|
4
|
-
import { ValidTourName } from './Context';
|
|
4
|
+
import { type ValidTourName } from './Context';
|
|
5
5
|
type WithChildren = {
|
|
6
6
|
children: React.ReactNode;
|
|
7
7
|
id?: never;
|
|
@@ -17,13 +17,14 @@ export declare const SubNav: {
|
|
|
17
17
|
children: React.ReactNode[];
|
|
18
18
|
[key: string]: any;
|
|
19
19
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
20
|
-
Section: ({ label, children, link, }: {
|
|
20
|
+
Section: ({ label, children, link, sectionId, }: {
|
|
21
21
|
label: string;
|
|
22
22
|
children: React.ReactNode[];
|
|
23
23
|
link?: {
|
|
24
24
|
label: string;
|
|
25
25
|
onClik: () => void;
|
|
26
26
|
};
|
|
27
|
+
sectionId?: string;
|
|
27
28
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
28
29
|
SubSection: ({ label, children }: {
|
|
29
30
|
label: string;
|
|
@@ -16,14 +16,17 @@ type WidgetArgs = {
|
|
|
16
16
|
id: string;
|
|
17
17
|
permissions?: Array<Pick<Permission, 'action'> & Partial<Omit<Permission, 'action'>>>;
|
|
18
18
|
};
|
|
19
|
-
type
|
|
19
|
+
type WidgetWithUID = Omit<WidgetArgs, 'id' | 'pluginId'> & {
|
|
20
20
|
uid: WidgetUID;
|
|
21
21
|
};
|
|
22
|
+
type DescriptionReducer = (prev: WidgetArgs[]) => WidgetArgs[];
|
|
22
23
|
declare class Widgets {
|
|
23
|
-
widgets:
|
|
24
|
+
widgets: WidgetArgs[];
|
|
24
25
|
constructor();
|
|
25
|
-
|
|
26
|
-
|
|
26
|
+
private generateUid;
|
|
27
|
+
private checkWidgets;
|
|
28
|
+
register(widgets: WidgetArgs | WidgetArgs[] | DescriptionReducer): void;
|
|
29
|
+
getAll: () => WidgetWithUID[];
|
|
27
30
|
}
|
|
28
31
|
export { Widgets };
|
|
29
|
-
export type { WidgetArgs,
|
|
32
|
+
export type { WidgetArgs, WidgetWithUID };
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { AxiosResponse } from 'axios';
|
|
3
|
+
import { Tours } from '../components/GuidedTour/Tours';
|
|
3
4
|
export interface TelemetryProperties {
|
|
4
5
|
useTypescriptOnServer?: boolean;
|
|
5
6
|
useTypescriptOnAdmin?: boolean;
|
|
@@ -23,8 +24,8 @@ declare const TrackingProvider: ({ children }: TrackingProviderProps) => import(
|
|
|
23
24
|
* Meanwhile those with properties have different property shapes corresponding to the specific
|
|
24
25
|
* event so understanding which properties go with which event is very helpful.
|
|
25
26
|
*/
|
|
26
|
-
interface EventWithoutProperties {
|
|
27
|
-
name: 'changeComponentsOrder' | 'didAddComponentToDynamicZone' | 'didBulkDeleteEntries' | 'didNotBulkDeleteEntries' | 'didChangeDisplayedFields' | 'didCheckDraftRelations' | 'didClickGuidedTourHomepageApiTokens' | 'didClickGuidedTourHomepageContentManager' | 'didClickGuidedTourHomepageContentTypeBuilder' | 'didClickGuidedTourStep1CollectionType' | 'didClickGuidedTourStep2ContentManager' | 'didClickGuidedTourStep3ApiTokens' | 'didClickonBlogSection' | 'didClickonCodeExampleSection' | 'didClickonReadTheDocumentationSection' | 'didClickOnTryStrapiCloudSection' | 'didClickonTutorialSection' | 'didCreateGuidedTourCollectionType' | 'didCreateGuidedTourEntry' | 'didCreateNewRole' | 'didCreateRole' | 'didDeleteToken' | 'didDuplicateRole' | 'didEditEditSettings' | 'didEditEmailTemplates' | 'didEditFieldNameOnContentType' | 'didEditListSettings' | 'didEditMediaLibraryConfig' | 'didEditNameOfContentType' | 'didGenerateGuidedTourApiTokens' | 'didGoToMarketplace' | 'didLaunchGuidedtour' | 'didMissMarketplacePlugin' | 'didNotCreateFirstAdmin' | 'didNotSaveComponent' | 'didPluginLearnMore' | 'didBulkPublishEntries' | 'didNotBulkPublishEntries' | 'didUnpublishEntry' | 'didBulkUnpublishEntries' | 'didNotBulkUnpublishEntries' | 'didSaveComponent' | 'didSaveContentType' | 'didSearch' | 'didSkipGuidedtour' | 'didSubmitPlugin' | 'didSubmitProvider' | 'didUpdateConditions' | 'didSelectAllMediaLibraryElements' | 'didSelectContentTypeFieldSettings' | 'didSelectContentTypeSettings' | 'didEditAuthenticationProvider' | 'didRestoreHistoryVersion' | 'hasClickedCTBAddFieldBanner' | 'removeComponentFromDynamicZone' | 'willAddMoreFieldToContentType' | 'willBulkDeleteEntries' | 'willBulkPublishEntries' | 'willBulkUnpublishEntries' | 'willChangeNumberOfEntriesPerPage' | 'willCheckDraftRelations' | 'willCreateComponent' | 'willCreateComponentFromAttributesModal' | 'willCreateContentType' | 'willCreateFirstAdmin' | 'willCreateNewRole' | 'willCreateRole' | 'willCreateSingleType' | 'willCreateStage' | 'willCreateWorkflow' | 'willDeleteEntryFromList' | 'willDeleteFieldOfContentType' | 'willDuplicateRole' | 'willEditEditLayout' | 'willEditEmailTemplates' | 'willEditEntryFromButton' | 'willEditEntryFromHome' | 'willEditEntryFromList' | 'willEditFieldOfContentType' | 'willEditMediaLibraryConfig' | 'willEditNameOfContentType' | 'willEditNameOfSingleType' | 'willEditAuthenticationProvider' | 'willEditFieldNameOnContentType' | 'willEditStage' | 'willFilterEntries' | 'willInstallPlugin' | 'willUnpublishEntry' | 'willSaveComponent' | 'willSaveContentType' | 'willSaveContentTypeLayout' | 'didEditFieldNameOnContentType' | 'didCreateRelease';
|
|
27
|
+
export interface EventWithoutProperties {
|
|
28
|
+
name: 'changeComponentsOrder' | 'didAddComponentToDynamicZone' | 'didBulkDeleteEntries' | 'didNotBulkDeleteEntries' | 'didChangeDisplayedFields' | 'didCheckDraftRelations' | 'didClickGuidedTourHomepageApiTokens' | 'didClickGuidedTourHomepageContentManager' | 'didClickGuidedTourHomepageContentTypeBuilder' | 'didClickGuidedTourStep1CollectionType' | 'didClickGuidedTourStep2ContentManager' | 'didClickGuidedTourStep3ApiTokens' | 'didClickonBlogSection' | 'didClickonCodeExampleSection' | 'didClickonReadTheDocumentationSection' | 'didClickOnTryStrapiCloudSection' | 'didClickonTutorialSection' | 'didCreateGuidedTourCollectionType' | 'didCreateGuidedTourEntry' | 'didCreateNewRole' | 'didCreateRole' | 'didDeleteToken' | 'didDuplicateRole' | 'didEditEditSettings' | 'didEditEmailTemplates' | 'didEditFieldNameOnContentType' | 'didEditListSettings' | 'didEditMediaLibraryConfig' | 'didEditNameOfContentType' | 'didGenerateGuidedTourApiTokens' | 'didGoToMarketplace' | 'didLaunchGuidedtour' | 'didMissMarketplacePlugin' | 'didNotCreateFirstAdmin' | 'didNotSaveComponent' | 'didPluginLearnMore' | 'didBulkPublishEntries' | 'didNotBulkPublishEntries' | 'didUnpublishEntry' | 'didBulkUnpublishEntries' | 'didNotBulkUnpublishEntries' | 'didSaveComponent' | 'didSaveContentType' | 'didSearch' | 'didSkipGuidedtour' | 'didSubmitPlugin' | 'didSubmitProvider' | 'didUpdateConditions' | 'didSelectAllMediaLibraryElements' | 'didSelectContentTypeFieldSettings' | 'didSelectContentTypeSettings' | 'didEditAuthenticationProvider' | 'didRestoreHistoryVersion' | 'hasClickedCTBAddFieldBanner' | 'removeComponentFromDynamicZone' | 'willAddMoreFieldToContentType' | 'willBulkDeleteEntries' | 'willBulkPublishEntries' | 'willBulkUnpublishEntries' | 'willChangeNumberOfEntriesPerPage' | 'willCheckDraftRelations' | 'willCreateComponent' | 'willCreateComponentFromAttributesModal' | 'willCreateContentType' | 'willCreateFirstAdmin' | 'willCreateNewRole' | 'willCreateRole' | 'willCreateSingleType' | 'willCreateStage' | 'willCreateWorkflow' | 'willDeleteEntryFromList' | 'willDeleteFieldOfContentType' | 'willDuplicateRole' | 'willEditEditLayout' | 'willEditEmailTemplates' | 'willEditEntryFromButton' | 'willEditEntryFromHome' | 'willEditEntryFromList' | 'willEditFieldOfContentType' | 'willEditMediaLibraryConfig' | 'willEditNameOfContentType' | 'willEditNameOfSingleType' | 'willEditAuthenticationProvider' | 'willEditFieldNameOnContentType' | 'willEditStage' | 'willFilterEntries' | 'willInstallPlugin' | 'willUnpublishEntry' | 'willSaveComponent' | 'willSaveContentType' | 'willSaveContentTypeLayout' | 'didEditFieldNameOnContentType' | 'didCreateRelease' | 'didLaunchGuidedtour';
|
|
28
29
|
properties?: never;
|
|
29
30
|
}
|
|
30
31
|
interface DidAccessAuthenticatedAdministrationEvent {
|
|
@@ -186,7 +187,25 @@ interface DidUpdateCTBSchema {
|
|
|
186
187
|
deletedFields: number;
|
|
187
188
|
};
|
|
188
189
|
}
|
|
189
|
-
|
|
190
|
+
interface DidSkipGuidedTour {
|
|
191
|
+
name: 'didSkipGuidedTour';
|
|
192
|
+
properties: {
|
|
193
|
+
name: keyof Tours | 'all';
|
|
194
|
+
};
|
|
195
|
+
}
|
|
196
|
+
interface DidCompleteGuidedTour {
|
|
197
|
+
name: 'didCompleteGuidedTour';
|
|
198
|
+
properties: {
|
|
199
|
+
name: keyof Tours;
|
|
200
|
+
};
|
|
201
|
+
}
|
|
202
|
+
interface DidStartGuidedTour {
|
|
203
|
+
name: 'didStartGuidedTourFromHomepage';
|
|
204
|
+
properties: {
|
|
205
|
+
name: keyof Tours;
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
type EventsWithProperties = CreateEntryEvents | PublishEntryEvents | DidAccessAuthenticatedAdministrationEvent | DidAccessTokenListEvent | DidChangeModeEvent | DidCropFileEvent | DeleteEntryEvents | DidEditMediaLibraryElementsEvent | DidFilterMediaLibraryElementsEvent | DidFilterEntriesEvent | DidSelectContentTypeFieldTypeEvent | DidSelectFile | DidSortMediaLibraryElementsEvent | DidSubmitWithErrorsFirstAdminEvent | LogoEvent | TokenEvents | UpdateEntryEvents | WillModifyTokenEvent | WillNavigateEvent | DidPublishRelease | MediaEvents | DidUpdateCTBSchema | DidSkipGuidedTour | DidCompleteGuidedTour | DidStartGuidedTour;
|
|
190
209
|
export type TrackingEvent = EventWithoutProperties | EventsWithProperties;
|
|
191
210
|
export interface UseTrackingReturn {
|
|
192
211
|
/**
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
declare const usePersistentState: <T>(key: string, defaultValue: T) => readonly [T, import("react").Dispatch<import("react").SetStateAction<T>>];
|
|
3
|
-
|
|
3
|
+
declare const useScopedPersistentState: <T>(key: string, defaultValue: T) => readonly [T, import("react").Dispatch<import("react").SetStateAction<T>>];
|
|
4
|
+
export { usePersistentState, useScopedPersistentState };
|
|
@@ -22,8 +22,7 @@ export * from './components/Table';
|
|
|
22
22
|
export * from './components/ContentBox';
|
|
23
23
|
export * from './components/SubNav';
|
|
24
24
|
export * from './components/GradientBadge';
|
|
25
|
-
export {
|
|
26
|
-
export { tours as unstable_tours } from './components/UnstableGuidedTour/Tours';
|
|
25
|
+
export { tours } from './components/GuidedTour/Tours';
|
|
27
26
|
/**
|
|
28
27
|
* Features
|
|
29
28
|
*/
|
|
@@ -54,7 +53,7 @@ export type { Plugin, PluginConfig } from './core/apis/Plugin';
|
|
|
54
53
|
export type { MenuItem, StrapiAppSetting, StrapiAppSettingLink } from './core/apis/router';
|
|
55
54
|
export type { SanitizedAdminUser, AdminUser, SanitizedAdminRole, AdminRole, Entity, } from '../../shared/contracts/shared';
|
|
56
55
|
export type { RBACContext, RBACMiddleware } from './core/apis/rbac';
|
|
57
|
-
export type {
|
|
56
|
+
export type { WidgetWithUID as WidgetType, WidgetArgs } from './core/apis/Widgets';
|
|
58
57
|
/**
|
|
59
58
|
* Utils
|
|
60
59
|
*/
|
|
@@ -2,6 +2,6 @@ interface TokenBoxProps {
|
|
|
2
2
|
token?: string;
|
|
3
3
|
tokenType: 'transfer-token' | 'api-token';
|
|
4
4
|
}
|
|
5
|
-
export declare const
|
|
5
|
+
export declare const ApiTokenBox: ({ token, tokenType }: TokenBoxProps) => import("react/jsx-runtime").JSX.Element;
|
|
6
6
|
export declare const TokenBox: ({ token, tokenType }: TokenBoxProps) => import("react/jsx-runtime").JSX.Element;
|
|
7
7
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycles.d.ts","sourceRoot":"","sources":["../../../../../../ee/server/src/audit-logs/services/lifecycles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"lifecycles.d.ts","sourceRoot":"","sources":["../../../../../../ee/server/src/audit-logs/services/lifecycles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAiE1C;;;GAGG;AACH,QAAA,MAAM,+BAA+B,WAAY,KAAK,MAAM;;;;CAwH3D,CAAC;AAEF,OAAO,EAAE,+BAA+B,EAAE,CAAC"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var nodeSchedule = require('node-schedule');
|
|
4
|
-
|
|
5
3
|
const DEFAULT_RETENTION_DAYS = 90;
|
|
6
4
|
const defaultEvents = [
|
|
7
5
|
'entry.create',
|
|
@@ -135,9 +133,14 @@ const getRetentionDays = (strapi)=>{
|
|
|
135
133
|
state.eventHubUnsubscribe = strapi.eventHub.subscribe(handleEvent);
|
|
136
134
|
// Manage audit logs auto deletion
|
|
137
135
|
const retentionDays = getRetentionDays(strapi);
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
136
|
+
strapi.cron.add({
|
|
137
|
+
deleteExpiredAuditLogs: {
|
|
138
|
+
task: async ()=>{
|
|
139
|
+
const expirationDate = new Date(Date.now() - retentionDays * 24 * 60 * 60 * 1000);
|
|
140
|
+
auditLogsService.deleteExpiredEvents(expirationDate);
|
|
141
|
+
},
|
|
142
|
+
options: '0 0 * * *'
|
|
143
|
+
}
|
|
141
144
|
});
|
|
142
145
|
return this;
|
|
143
146
|
},
|
|
@@ -148,9 +151,7 @@ const getRetentionDays = (strapi)=>{
|
|
|
148
151
|
if (state.eventHubUnsubscribe) {
|
|
149
152
|
state.eventHubUnsubscribe();
|
|
150
153
|
}
|
|
151
|
-
|
|
152
|
-
state.deleteExpiredJob.cancel();
|
|
153
|
-
}
|
|
154
|
+
strapi.cron.remove('deleteExpiredAuditLogs');
|
|
154
155
|
return this;
|
|
155
156
|
},
|
|
156
157
|
destroy () {
|