@webiny/app-audit-logs 5.43.2 → 6.0.0-alpha.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.
Files changed (83) hide show
  1. package/components/Text.js +6 -13
  2. package/components/Text.js.map +1 -1
  3. package/config/list/AuditLogsListConfig.js +17 -28
  4. package/config/list/AuditLogsListConfig.js.map +1 -1
  5. package/config/list/Browser/Filter.js +20 -29
  6. package/config/list/Browser/Filter.js.map +1 -1
  7. package/config/list/Browser/FiltersToWhere.js +7 -13
  8. package/config/list/Browser/FiltersToWhere.js.map +1 -1
  9. package/config/list/Browser/index.js +5 -11
  10. package/config/list/Browser/index.js.map +1 -1
  11. package/config/list/index.js +1 -16
  12. package/config/list/index.js.map +1 -1
  13. package/constants/index.js +1 -7
  14. package/constants/index.js.map +1 -1
  15. package/graphql.js +25 -12
  16. package/graphql.js.map +1 -1
  17. package/hooks/index.js +1 -16
  18. package/hooks/index.js.map +1 -1
  19. package/hooks/useAuditLogsList.js +65 -75
  20. package/hooks/useAuditLogsList.js.map +1 -1
  21. package/index.js +43 -41
  22. package/index.js.map +1 -1
  23. package/package.json +15 -15
  24. package/plugins/permissionRenderer/AuditLogsPermissions.js +53 -70
  25. package/plugins/permissionRenderer/AuditLogsPermissions.js.map +1 -1
  26. package/plugins/permissionRenderer/index.js +20 -27
  27. package/plugins/permissionRenderer/index.js.map +1 -1
  28. package/types.js +1 -7
  29. package/types.js.map +1 -1
  30. package/utils/transformCmsContentEntriesToRecordEntries.js +12 -25
  31. package/utils/transformCmsContentEntriesToRecordEntries.js.map +1 -1
  32. package/views/Logs/Filters/FilterByAction.js +21 -35
  33. package/views/Logs/Filters/FilterByAction.js.map +1 -1
  34. package/views/Logs/Filters/FilterByApp.js +16 -25
  35. package/views/Logs/Filters/FilterByApp.js.map +1 -1
  36. package/views/Logs/Filters/FilterByEntity.js +20 -32
  37. package/views/Logs/Filters/FilterByEntity.js.map +1 -1
  38. package/views/Logs/Filters/FilterByInitiator.js +19 -29
  39. package/views/Logs/Filters/FilterByInitiator.js.map +1 -1
  40. package/views/Logs/Filters/FilterByTimestamp.js +15 -22
  41. package/views/Logs/Filters/FilterByTimestamp.js.map +1 -1
  42. package/views/Logs/Filters/Filters.js +16 -25
  43. package/views/Logs/Filters/Filters.js.map +1 -1
  44. package/views/Logs/Filters/index.js +6 -71
  45. package/views/Logs/Filters/index.js.map +1 -1
  46. package/views/Logs/Filters/styled.js +2 -9
  47. package/views/Logs/Filters/styled.js.map +1 -1
  48. package/views/Logs/Header/ButtonFilters/ButtonFilters.js +20 -26
  49. package/views/Logs/Header/ButtonFilters/ButtonFilters.js.map +1 -1
  50. package/views/Logs/Header/ButtonFilters/index.js +1 -16
  51. package/views/Logs/Header/ButtonFilters/index.js.map +1 -1
  52. package/views/Logs/Header/Header.js +23 -29
  53. package/views/Logs/Header/Header.js.map +1 -1
  54. package/views/Logs/Header/index.js +1 -16
  55. package/views/Logs/Header/index.js.map +1 -1
  56. package/views/Logs/LoadMoreButton/LoadMoreButton.js +14 -22
  57. package/views/Logs/LoadMoreButton/LoadMoreButton.js.map +1 -1
  58. package/views/Logs/LoadMoreButton/index.js +1 -16
  59. package/views/Logs/LoadMoreButton/index.js.map +1 -1
  60. package/views/Logs/LoadMoreButton/styled.js +2 -9
  61. package/views/Logs/LoadMoreButton/styled.js.map +1 -1
  62. package/views/Logs/LoadingMore/index.js +10 -19
  63. package/views/Logs/LoadingMore/index.js.map +1 -1
  64. package/views/Logs/LoadingMore/styled.js +3 -10
  65. package/views/Logs/LoadingMore/styled.js.map +1 -1
  66. package/views/Logs/Logs.js +48 -70
  67. package/views/Logs/Logs.js.map +1 -1
  68. package/views/Logs/LogsModule.js +17 -22
  69. package/views/Logs/LogsModule.js.map +1 -1
  70. package/views/Logs/Preview/Preview.js +47 -53
  71. package/views/Logs/Preview/Preview.js.map +1 -1
  72. package/views/Logs/Preview/index.js +1 -16
  73. package/views/Logs/Preview/index.js.map +1 -1
  74. package/views/Logs/Preview/styled.js +9 -13
  75. package/views/Logs/Preview/styled.js.map +1 -1
  76. package/views/Logs/Table/Table.js +84 -97
  77. package/views/Logs/Table/Table.js.map +1 -1
  78. package/views/Logs/Table/index.js +1 -16
  79. package/views/Logs/Table/index.js.map +1 -1
  80. package/views/Logs/Table/styled.js +37 -27
  81. package/views/Logs/Table/styled.js.map +1 -1
  82. package/views/Logs/styled.js +3 -10
  83. package/views/Logs/styled.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactHooks","_debounce","_interopRequireDefault","_reactRouter","_appAco","_transformCmsContentEntriesToRecordEntries","_graphql","useAuditLogsList","exports","hasAccessToUsers","_useRouter","useRouter","history","_useAcoList","useAcoList","isListLoading","isListLoadingMore","isSearch","listMoreRecords","listTitle","meta","initialRecords","records","setSearchQuery","setListSort","setFilters","showFilters","hideFilters","showingFilters","_useState","useState","_useState2","_slicedToArray2","default","sorting","setSorting","_useState3","_useState4","search","setSearch","query","URLSearchParams","location","searchQuery","get","_useQuery","useQuery","LIST_USERS","skip","listUsers","data","usersLoading","loading","updateSearch","useCallback","debounce","_ref","delete","set","push","concat","toString","useEffect","useMemo","users","adminUsers","transformCmsContentEntriesToRecordEntries","length","sort","createSort"],"sources":["useAuditLogsList.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { useQuery } from \"@apollo/react-hooks\";\nimport debounce from \"lodash/debounce\";\n\nimport { useRouter } from \"@webiny/react-router\";\nimport { OnSortingChange, Sorting } from \"@webiny/ui/DataTable\";\nimport { createSort, useAcoList } from \"@webiny/app-aco\";\nimport { ListMeta, SearchRecordItem } from \"@webiny/app-aco/types\";\n\nimport {\n Entry,\n transformCmsContentEntriesToRecordEntries\n} from \"~/utils/transformCmsContentEntriesToRecordEntries\";\nimport { LIST_USERS } from \"~/graphql\";\nimport { AuditLog, User } from \"~/types\";\n\ninterface UpdateSearchCallableParams {\n search: string;\n query: URLSearchParams;\n}\ninterface UpdateSearchCallable {\n (params: UpdateSearchCallableParams): void;\n}\n\nexport interface UseAuditLogs {\n hideFilters: () => void;\n isListLoading: boolean;\n isListLoadingMore: boolean;\n isSearch: boolean;\n listMoreRecords: () => void;\n listTitle?: string;\n meta: ListMeta;\n records: Entry[];\n search: string;\n setSearch: (value: string) => void;\n setSorting: OnSortingChange;\n showFilters: () => void;\n showingFilters: boolean;\n sorting: Sorting;\n setFilters: (data: Record<string, any>) => void;\n}\n\nexport const useAuditLogsList = (hasAccessToUsers: boolean): UseAuditLogs => {\n const { history } = useRouter();\n\n const {\n isListLoading,\n isListLoadingMore,\n isSearch,\n listMoreRecords,\n listTitle,\n meta,\n records: initialRecords,\n setSearchQuery,\n setListSort,\n setFilters,\n showFilters,\n hideFilters,\n showingFilters\n } = useAcoList<SearchRecordItem<AuditLog>>();\n\n const [sorting, setSorting] = useState<Sorting>([]);\n const [search, setSearch] = useState<string>(\"\");\n const query = new URLSearchParams(location.search);\n const searchQuery = query.get(\"search\") || \"\";\n\n const { data: listUsers, loading: usersLoading } = useQuery(LIST_USERS, {\n skip: !hasAccessToUsers\n });\n\n // Search-related logics: update `searchQuery` state and querystring\n const updateSearch = useCallback(\n debounce<UpdateSearchCallable>(({ search, query }) => {\n const searchQuery = query.get(\"search\");\n\n if (typeof searchQuery !== \"string\" && !search) {\n return;\n }\n\n setSearchQuery(search);\n\n if (searchQuery !== search) {\n if (!search) {\n // In case of empty `search` - remove it from `querystring`\n query.delete(\"search\");\n } else {\n // Otherwise, add it to `querystring`\n query.set(\"search\", search);\n }\n history.push(`/audit-logs?${query.toString()}`);\n }\n }, 500),\n []\n );\n\n // Set \"search\" from search \"query\" on page load.\n useEffect(() => {\n setSearch(searchQuery);\n }, [searchQuery]);\n\n // When \"search\" changes, trigger search-related logics\n useEffect(() => {\n updateSearch({ search, query });\n }, [search]);\n\n const records = useMemo(() => {\n const users: User[] = listUsers?.adminUsers?.users?.data || [];\n\n return transformCmsContentEntriesToRecordEntries(initialRecords, users);\n }, [initialRecords, listUsers]);\n\n useEffect(() => {\n if (!sorting?.length) {\n return;\n }\n const sort = createSort(sorting);\n if (!sort) {\n return;\n }\n setListSort(sort);\n }, [sorting]);\n\n return {\n isListLoading: isListLoading || usersLoading,\n isListLoadingMore,\n isSearch,\n listTitle,\n listMoreRecords,\n meta,\n records,\n search,\n setSearch,\n sorting,\n setSorting,\n showingFilters,\n showFilters,\n hideFilters,\n setFilters\n };\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useEffect","useState","useMemo","useQuery","debounce","useRouter","useAcoList","createSort","transformCmsContentEntriesToRecordEntries","LIST_USERS","useAuditLogsList","hasAccessToUsers","history","isListLoading","isListLoadingMore","isSearch","listMoreRecords","listTitle","meta","records","initialRecords","setSearchQuery","setListSort","setFilters","showFilters","hideFilters","showingFilters","sorting","setSorting","search","setSearch","query","URLSearchParams","location","searchQuery","get","data","listUsers","loading","usersLoading","skip","updateSearch","delete","set","push","toString","users","adminUsers","length","sort"],"sources":["useAuditLogsList.ts"],"sourcesContent":["import { useCallback, useEffect, useState, useMemo } from \"react\";\nimport { useQuery } from \"@apollo/react-hooks\";\nimport debounce from \"lodash/debounce\";\n\nimport { useRouter } from \"@webiny/react-router\";\nimport { OnSortingChange, Sorting } from \"@webiny/ui/DataTable\";\nimport { useAcoList, createSort } from \"@webiny/app-aco\";\nimport { ListMeta, SearchRecordItem } from \"@webiny/app-aco/types\";\n\nimport {\n Entry,\n transformCmsContentEntriesToRecordEntries\n} from \"~/utils/transformCmsContentEntriesToRecordEntries\";\nimport { LIST_USERS } from \"~/graphql\";\nimport { AuditLog, User } from \"~/types\";\n\ninterface UpdateSearchCallableParams {\n search: string;\n query: URLSearchParams;\n}\ninterface UpdateSearchCallable {\n (params: UpdateSearchCallableParams): void;\n}\n\nexport interface UseAuditLogs {\n hideFilters: () => void;\n isListLoading: boolean;\n isListLoadingMore: boolean;\n isSearch: boolean;\n listMoreRecords: () => void;\n listTitle?: string;\n meta: ListMeta;\n records: Entry[];\n search: string;\n setSearch: (value: string) => void;\n setSorting: OnSortingChange;\n showFilters: () => void;\n showingFilters: boolean;\n sorting: Sorting;\n setFilters: (data: Record<string, any>) => void;\n}\n\nexport const useAuditLogsList = (hasAccessToUsers: boolean): UseAuditLogs => {\n const { history } = useRouter();\n\n const {\n isListLoading,\n isListLoadingMore,\n isSearch,\n listMoreRecords,\n listTitle,\n meta,\n records: initialRecords,\n setSearchQuery,\n setListSort,\n setFilters,\n showFilters,\n hideFilters,\n showingFilters\n } = useAcoList<SearchRecordItem<AuditLog>>();\n\n const [sorting, setSorting] = useState<Sorting>([]);\n const [search, setSearch] = useState<string>(\"\");\n const query = new URLSearchParams(location.search);\n const searchQuery = query.get(\"search\") || \"\";\n\n const { data: listUsers, loading: usersLoading } = useQuery(LIST_USERS, {\n skip: !hasAccessToUsers\n });\n\n // Search-related logics: update `searchQuery` state and querystring\n const updateSearch = useCallback(\n debounce<UpdateSearchCallable>(({ search, query }) => {\n const searchQuery = query.get(\"search\");\n\n if (typeof searchQuery !== \"string\" && !search) {\n return;\n }\n\n setSearchQuery(search);\n\n if (searchQuery !== search) {\n if (!search) {\n // In case of empty `search` - remove it from `querystring`\n query.delete(\"search\");\n } else {\n // Otherwise, add it to `querystring`\n query.set(\"search\", search);\n }\n history.push(`/audit-logs?${query.toString()}`);\n }\n }, 500),\n []\n );\n\n // Set \"search\" from search \"query\" on page load.\n useEffect(() => {\n setSearch(searchQuery);\n }, [searchQuery]);\n\n // When \"search\" changes, trigger search-related logics\n useEffect(() => {\n updateSearch({ search, query });\n }, [search]);\n\n const records = useMemo(() => {\n const users: User[] = listUsers?.adminUsers?.users?.data || [];\n\n return transformCmsContentEntriesToRecordEntries(initialRecords, users);\n }, [initialRecords, listUsers]);\n\n useEffect(() => {\n if (!sorting?.length) {\n return;\n }\n const sort = createSort(sorting);\n if (!sort) {\n return;\n }\n setListSort(sort);\n }, [sorting]);\n\n return {\n isListLoading: isListLoading || usersLoading,\n isListLoadingMore,\n isSearch,\n listTitle,\n listMoreRecords,\n meta,\n records,\n search,\n setSearch,\n sorting,\n setSorting,\n showingFilters,\n showFilters,\n hideFilters,\n setFilters\n };\n};\n"],"mappings":"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","ignoreList":[]}
package/index.js CHANGED
@@ -1,50 +1,52 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.AuditLogs = void 0;
9
- var _react = _interopRequireWildcard(require("react"));
10
- var _reactHooks = require("@apollo/react-hooks");
11
- var _quick_reference_all = require("@material-symbols/svg-400/outlined/quick_reference_all.svg");
12
- var _appAdmin = require("@webiny/app-admin");
13
- var _appSecurity = require("@webiny/app-security");
14
- var _appAco = require("@webiny/app-aco");
15
- var _list = require("./config/list");
16
- var _LogsModule = require("./views/Logs/LogsModule");
17
- var _permissionRenderer = require("./plugins/permissionRenderer");
18
- var _Logs = _interopRequireDefault(require("./views/Logs/Logs"));
19
- var _constants = require("./constants");
20
- var AuditLogs = exports.AuditLogs = function AuditLogs() {
21
- var client = (0, _reactHooks.useApolloClient)();
22
- var wcp = (0, _appAdmin.useWcp)();
23
- var createNavigateFolderStorageKey = (0, _react.useCallback)(function () {
24
- return _constants.LOCAL_STORAGE_LATEST_VISITED_FOLDER;
1
+ import React, { useCallback } from "react";
2
+ import { useApolloClient } from "@apollo/react-hooks";
3
+ import { ReactComponent as Icon } from "@webiny/icons/manage_search.svg";
4
+ import { Layout, useWcp } from "@webiny/app-admin";
5
+ import { HasPermission } from "@webiny/app-security";
6
+ import { AcoProvider } from "@webiny/app-aco";
7
+ import { AuditLogsListWithConfig } from "./config/list";
8
+ import { LogsModule } from "./views/Logs/LogsModule";
9
+ import { AuditLogsPermissions } from "./plugins/permissionRenderer";
10
+ import AuditLogsView from "./views/Logs/Logs";
11
+ import { LOCAL_STORAGE_LATEST_VISITED_FOLDER } from "./constants";
12
+ import { AdminConfig } from "@webiny/app-admin";
13
+ const {
14
+ Menu,
15
+ Route
16
+ } = AdminConfig;
17
+ export const AuditLogs = () => {
18
+ const client = useApolloClient();
19
+ const wcp = useWcp();
20
+ const createNavigateFolderStorageKey = useCallback(() => {
21
+ return LOCAL_STORAGE_LATEST_VISITED_FOLDER;
25
22
  }, []);
26
23
  if (!wcp.canUseAuditLogs()) {
27
24
  return null;
28
25
  }
29
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_LogsModule.LogsModule, null), /*#__PURE__*/_react.default.createElement(_appAdmin.Plugin, null, /*#__PURE__*/_react.default.createElement(_appSecurity.HasPermission, {
26
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(LogsModule, null), /*#__PURE__*/React.createElement(AdminConfig, null, /*#__PURE__*/React.createElement(HasPermission, {
30
27
  any: ["al.*"]
31
- }, /*#__PURE__*/_react.default.createElement(_appAdmin.AddMenu, {
28
+ }, /*#__PURE__*/React.createElement(Menu, {
29
+ name: "auditLogs",
30
+ element: /*#__PURE__*/React.createElement(Menu.Link, {
31
+ text: "Audit Logs",
32
+ icon: /*#__PURE__*/React.createElement(Menu.Link.Icon, {
33
+ element: /*#__PURE__*/React.createElement(Icon, null),
34
+ label: "Audit Logs"
35
+ }),
36
+ to: "/audit-logs"
37
+ })
38
+ }), /*#__PURE__*/React.createElement(Route, {
32
39
  name: "auditLogs",
33
- label: "Audit Logs",
34
- icon: /*#__PURE__*/_react.default.createElement(_quick_reference_all.ReactComponent, null)
35
- }, /*#__PURE__*/_react.default.createElement(_appAdmin.AddMenu, {
36
- name: "auditLogs.logs",
37
- label: "Logs",
38
- path: "/audit-logs"
39
- })), /*#__PURE__*/_react.default.createElement(_appAdmin.AddRoute, {
40
- path: "/audit-logs"
41
- }, /*#__PURE__*/_react.default.createElement(_appAdmin.Layout, {
42
- title: "Audit Logs - Logs"
43
- }, /*#__PURE__*/_react.default.createElement(_list.AuditLogsListWithConfig, null, /*#__PURE__*/_react.default.createElement(_appAco.AcoProvider, {
44
- id: "AuditLogs",
45
- client: client,
46
- createNavigateFolderStorageKey: createNavigateFolderStorageKey
47
- }, /*#__PURE__*/_react.default.createElement(_Logs.default, null))))))), /*#__PURE__*/_react.default.createElement(_permissionRenderer.AuditLogsPermissions, null));
40
+ exact: true,
41
+ path: "/audit-logs",
42
+ element: /*#__PURE__*/React.createElement(Layout, {
43
+ title: "Audit Logs - Logs"
44
+ }, /*#__PURE__*/React.createElement(AuditLogsListWithConfig, null, /*#__PURE__*/React.createElement(AcoProvider, {
45
+ id: "AuditLogs",
46
+ client: client,
47
+ createNavigateFolderStorageKey: createNavigateFolderStorageKey
48
+ }, /*#__PURE__*/React.createElement(AuditLogsView, null))))
49
+ }))), /*#__PURE__*/React.createElement(AuditLogsPermissions, null));
48
50
  };
49
51
 
50
52
  //# sourceMappingURL=index.js.map
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactHooks","_quick_reference_all","_appAdmin","_appSecurity","_appAco","_list","_LogsModule","_permissionRenderer","_Logs","_interopRequireDefault","_constants","AuditLogs","exports","client","useApolloClient","wcp","useWcp","createNavigateFolderStorageKey","useCallback","LOCAL_STORAGE_LATEST_VISITED_FOLDER","canUseAuditLogs","default","createElement","Fragment","LogsModule","Plugin","HasPermission","any","AddMenu","name","label","icon","ReactComponent","path","AddRoute","Layout","title","AuditLogsListWithConfig","AcoProvider","id","AuditLogsPermissions"],"sources":["index.tsx"],"sourcesContent":["import React, { useCallback } from \"react\";\nimport { useApolloClient } from \"@apollo/react-hooks\";\nimport { ReactComponent as Icon } from \"@material-symbols/svg-400/outlined/quick_reference_all.svg\";\n\nimport { AddMenu, AddRoute, Layout, Plugin, useWcp } from \"@webiny/app-admin\";\nimport { HasPermission } from \"@webiny/app-security\";\nimport { AcoProvider } from \"@webiny/app-aco\";\n\nimport { AuditLogsListWithConfig } from \"~/config/list\";\nimport { LogsModule } from \"~/views/Logs/LogsModule\";\nimport { AuditLogsPermissions } from \"~/plugins/permissionRenderer\";\nimport AuditLogsView from \"~/views/Logs/Logs\";\nimport { LOCAL_STORAGE_LATEST_VISITED_FOLDER } from \"~/constants\";\n\nexport const AuditLogs = () => {\n const client = useApolloClient();\n const wcp = useWcp();\n\n const createNavigateFolderStorageKey = useCallback(() => {\n return LOCAL_STORAGE_LATEST_VISITED_FOLDER;\n }, []);\n\n if (!wcp.canUseAuditLogs()) {\n return null;\n }\n\n return (\n <>\n <LogsModule />\n <Plugin>\n <HasPermission any={[\"al.*\"]}>\n <AddMenu name=\"auditLogs\" label={`Audit Logs`} icon={<Icon />}>\n <AddMenu name={\"auditLogs.logs\"} label={`Logs`} path=\"/audit-logs\" />\n </AddMenu>\n <AddRoute path={\"/audit-logs\"}>\n <Layout title={\"Audit Logs - Logs\"}>\n <AuditLogsListWithConfig>\n <AcoProvider\n id=\"AuditLogs\"\n client={client}\n createNavigateFolderStorageKey={createNavigateFolderStorageKey}\n >\n <AuditLogsView />\n </AcoProvider>\n </AuditLogsListWithConfig>\n </Layout>\n </AddRoute>\n </HasPermission>\n </Plugin>\n <AuditLogsPermissions />\n </>\n );\n};\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,oBAAA,GAAAF,OAAA;AAEA,IAAAG,SAAA,GAAAH,OAAA;AACA,IAAAI,YAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AAEA,IAAAM,KAAA,GAAAN,OAAA;AACA,IAAAO,WAAA,GAAAP,OAAA;AACA,IAAAQ,mBAAA,GAAAR,OAAA;AACA,IAAAS,KAAA,GAAAC,sBAAA,CAAAV,OAAA;AACA,IAAAW,UAAA,GAAAX,OAAA;AAEO,IAAMY,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAG,SAAZA,SAASA,CAAA,EAAS;EAC3B,IAAME,MAAM,GAAG,IAAAC,2BAAe,EAAC,CAAC;EAChC,IAAMC,GAAG,GAAG,IAAAC,gBAAM,EAAC,CAAC;EAEpB,IAAMC,8BAA8B,GAAG,IAAAC,kBAAW,EAAC,YAAM;IACrD,OAAOC,8CAAmC;EAC9C,CAAC,EAAE,EAAE,CAAC;EAEN,IAAI,CAACJ,GAAG,CAACK,eAAe,CAAC,CAAC,EAAE;IACxB,OAAO,IAAI;EACf;EAEA,oBACIvB,MAAA,CAAAwB,OAAA,CAAAC,aAAA,CAAAzB,MAAA,CAAAwB,OAAA,CAAAE,QAAA,qBACI1B,MAAA,CAAAwB,OAAA,CAAAC,aAAA,CAAChB,WAAA,CAAAkB,UAAU,MAAE,CAAC,eACd3B,MAAA,CAAAwB,OAAA,CAAAC,aAAA,CAACpB,SAAA,CAAAuB,MAAM,qBACH5B,MAAA,CAAAwB,OAAA,CAAAC,aAAA,CAACnB,YAAA,CAAAuB,aAAa;IAACC,GAAG,EAAE,CAAC,MAAM;EAAE,gBACzB9B,MAAA,CAAAwB,OAAA,CAAAC,aAAA,CAACpB,SAAA,CAAA0B,OAAO;IAACC,IAAI,EAAC,WAAW;IAACC,KAAK,cAAe;IAACC,IAAI,eAAElC,MAAA,CAAAwB,OAAA,CAAAC,aAAA,CAACrB,oBAAA,CAAA+B,cAAI,MAAE;EAAE,gBAC1DnC,MAAA,CAAAwB,OAAA,CAAAC,aAAA,CAACpB,SAAA,CAAA0B,OAAO;IAACC,IAAI,EAAE,gBAAiB;IAACC,KAAK,QAAS;IAACG,IAAI,EAAC;EAAa,CAAE,CAC/D,CAAC,eACVpC,MAAA,CAAAwB,OAAA,CAAAC,aAAA,CAACpB,SAAA,CAAAgC,QAAQ;IAACD,IAAI,EAAE;EAAc,gBAC1BpC,MAAA,CAAAwB,OAAA,CAAAC,aAAA,CAACpB,SAAA,CAAAiC,MAAM;IAACC,KAAK,EAAE;EAAoB,gBAC/BvC,MAAA,CAAAwB,OAAA,CAAAC,aAAA,CAACjB,KAAA,CAAAgC,uBAAuB,qBACpBxC,MAAA,CAAAwB,OAAA,CAAAC,aAAA,CAAClB,OAAA,CAAAkC,WAAW;IACRC,EAAE,EAAC,WAAW;IACd1B,MAAM,EAAEA,MAAO;IACfI,8BAA8B,EAAEA;EAA+B,gBAE/DpB,MAAA,CAAAwB,OAAA,CAAAC,aAAA,CAACd,KAAA,CAAAa,OAAa,MAAE,CACP,CACQ,CACrB,CACF,CACC,CACX,CAAC,eACTxB,MAAA,CAAAwB,OAAA,CAAAC,aAAA,CAACf,mBAAA,CAAAiC,oBAAoB,MAAE,CACzB,CAAC;AAEX,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","useCallback","useApolloClient","ReactComponent","Icon","Layout","useWcp","HasPermission","AcoProvider","AuditLogsListWithConfig","LogsModule","AuditLogsPermissions","AuditLogsView","LOCAL_STORAGE_LATEST_VISITED_FOLDER","AdminConfig","Menu","Route","AuditLogs","client","wcp","createNavigateFolderStorageKey","canUseAuditLogs","createElement","Fragment","any","name","element","Link","text","icon","label","to","exact","path","title","id"],"sources":["index.tsx"],"sourcesContent":["import React, { useCallback } from \"react\";\nimport { useApolloClient } from \"@apollo/react-hooks\";\nimport { ReactComponent as Icon } from \"@webiny/icons/manage_search.svg\";\nimport { Layout, useWcp } from \"@webiny/app-admin\";\nimport { HasPermission } from \"@webiny/app-security\";\nimport { AcoProvider } from \"@webiny/app-aco\";\n\nimport { AuditLogsListWithConfig } from \"~/config/list\";\nimport { LogsModule } from \"~/views/Logs/LogsModule\";\nimport { AuditLogsPermissions } from \"~/plugins/permissionRenderer\";\nimport AuditLogsView from \"~/views/Logs/Logs\";\nimport { LOCAL_STORAGE_LATEST_VISITED_FOLDER } from \"~/constants\";\nimport { AdminConfig } from \"@webiny/app-admin\";\n\nconst { Menu, Route } = AdminConfig;\n\nexport const AuditLogs = () => {\n const client = useApolloClient();\n const wcp = useWcp();\n\n const createNavigateFolderStorageKey = useCallback(() => {\n return LOCAL_STORAGE_LATEST_VISITED_FOLDER;\n }, []);\n\n if (!wcp.canUseAuditLogs()) {\n return null;\n }\n\n return (\n <>\n <LogsModule />\n <AdminConfig>\n <HasPermission any={[\"al.*\"]}>\n <Menu\n name=\"auditLogs\"\n element={\n <Menu.Link\n text={\"Audit Logs\"}\n icon={<Menu.Link.Icon element={<Icon />} label={\"Audit Logs\"} />}\n to={\"/audit-logs\"}\n />\n }\n />\n <Route\n name={\"auditLogs\"}\n exact\n path={\"/audit-logs\"}\n element={\n <Layout title={\"Audit Logs - Logs\"}>\n <AuditLogsListWithConfig>\n <AcoProvider\n id=\"AuditLogs\"\n client={client}\n createNavigateFolderStorageKey={\n createNavigateFolderStorageKey\n }\n >\n <AuditLogsView />\n </AcoProvider>\n </AuditLogsListWithConfig>\n </Layout>\n }\n />\n </HasPermission>\n </AdminConfig>\n <AuditLogsPermissions />\n </>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,WAAW,QAAQ,OAAO;AAC1C,SAASC,eAAe,QAAQ,qBAAqB;AACrD,SAASC,cAAc,IAAIC,IAAI,QAAQ,iCAAiC;AACxE,SAASC,MAAM,EAAEC,MAAM,QAAQ,mBAAmB;AAClD,SAASC,aAAa,QAAQ,sBAAsB;AACpD,SAASC,WAAW,QAAQ,iBAAiB;AAE7C,SAASC,uBAAuB;AAChC,SAASC,UAAU;AACnB,SAASC,oBAAoB;AAC7B,OAAOC,aAAa;AACpB,SAASC,mCAAmC;AAC5C,SAASC,WAAW,QAAQ,mBAAmB;AAE/C,MAAM;EAAEC,IAAI;EAAEC;AAAM,CAAC,GAAGF,WAAW;AAEnC,OAAO,MAAMG,SAAS,GAAGA,CAAA,KAAM;EAC3B,MAAMC,MAAM,GAAGhB,eAAe,CAAC,CAAC;EAChC,MAAMiB,GAAG,GAAGb,MAAM,CAAC,CAAC;EAEpB,MAAMc,8BAA8B,GAAGnB,WAAW,CAAC,MAAM;IACrD,OAAOY,mCAAmC;EAC9C,CAAC,EAAE,EAAE,CAAC;EAEN,IAAI,CAACM,GAAG,CAACE,eAAe,CAAC,CAAC,EAAE;IACxB,OAAO,IAAI;EACf;EAEA,oBACIrB,KAAA,CAAAsB,aAAA,CAAAtB,KAAA,CAAAuB,QAAA,qBACIvB,KAAA,CAAAsB,aAAA,CAACZ,UAAU,MAAE,CAAC,eACdV,KAAA,CAAAsB,aAAA,CAACR,WAAW,qBACRd,KAAA,CAAAsB,aAAA,CAACf,aAAa;IAACiB,GAAG,EAAE,CAAC,MAAM;EAAE,gBACzBxB,KAAA,CAAAsB,aAAA,CAACP,IAAI;IACDU,IAAI,EAAC,WAAW;IAChBC,OAAO,eACH1B,KAAA,CAAAsB,aAAA,CAACP,IAAI,CAACY,IAAI;MACNC,IAAI,EAAE,YAAa;MACnBC,IAAI,eAAE7B,KAAA,CAAAsB,aAAA,CAACP,IAAI,CAACY,IAAI,CAACvB,IAAI;QAACsB,OAAO,eAAE1B,KAAA,CAAAsB,aAAA,CAAClB,IAAI,MAAE,CAAE;QAAC0B,KAAK,EAAE;MAAa,CAAE,CAAE;MACjEC,EAAE,EAAE;IAAc,CACrB;EACJ,CACJ,CAAC,eACF/B,KAAA,CAAAsB,aAAA,CAACN,KAAK;IACFS,IAAI,EAAE,WAAY;IAClBO,KAAK;IACLC,IAAI,EAAE,aAAc;IACpBP,OAAO,eACH1B,KAAA,CAAAsB,aAAA,CAACjB,MAAM;MAAC6B,KAAK,EAAE;IAAoB,gBAC/BlC,KAAA,CAAAsB,aAAA,CAACb,uBAAuB,qBACpBT,KAAA,CAAAsB,aAAA,CAACd,WAAW;MACR2B,EAAE,EAAC,WAAW;MACdjB,MAAM,EAAEA,MAAO;MACfE,8BAA8B,EAC1BA;IACH,gBAEDpB,KAAA,CAAAsB,aAAA,CAACV,aAAa,MAAE,CACP,CACQ,CACrB;EACX,CACJ,CACU,CACN,CAAC,eACdZ,KAAA,CAAAsB,aAAA,CAACX,oBAAoB,MAAE,CACzB,CAAC;AAEX,CAAC","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/app-audit-logs",
3
- "version": "5.43.2",
3
+ "version": "6.0.0-alpha.0",
4
4
  "main": "index.js",
5
5
  "repository": {
6
6
  "type": "git",
@@ -12,16 +12,18 @@
12
12
  "@apollo/react-hooks": "3.1.5",
13
13
  "@emotion/react": "11.10.8",
14
14
  "@emotion/styled": "11.10.6",
15
- "@webiny/api-audit-logs": "5.43.2",
16
- "@webiny/app": "5.43.2",
17
- "@webiny/app-aco": "5.43.2",
18
- "@webiny/app-admin": "5.43.2",
19
- "@webiny/app-security": "5.43.2",
20
- "@webiny/form": "5.43.2",
21
- "@webiny/plugins": "5.43.2",
22
- "@webiny/react-properties": "5.43.2",
23
- "@webiny/react-router": "5.43.2",
24
- "@webiny/ui": "5.43.2",
15
+ "@webiny/admin-ui": "6.0.0-alpha.0",
16
+ "@webiny/api-audit-logs": "6.0.0-alpha.0",
17
+ "@webiny/app": "6.0.0-alpha.0",
18
+ "@webiny/app-aco": "6.0.0-alpha.0",
19
+ "@webiny/app-admin": "6.0.0-alpha.0",
20
+ "@webiny/app-security": "6.0.0-alpha.0",
21
+ "@webiny/form": "6.0.0-alpha.0",
22
+ "@webiny/icons": "6.0.0-alpha.0",
23
+ "@webiny/plugins": "6.0.0-alpha.0",
24
+ "@webiny/react-properties": "6.0.0-alpha.0",
25
+ "@webiny/react-router": "6.0.0-alpha.0",
26
+ "@webiny/ui": "6.0.0-alpha.0",
25
27
  "date-fns": "2.29.3",
26
28
  "emotion": "10.0.27",
27
29
  "graphql-tag": "2.12.6",
@@ -31,10 +33,8 @@
31
33
  "react": "18.2.0"
32
34
  },
33
35
  "devDependencies": {
34
- "@material-design-icons/svg": "0.14.13",
35
- "@material-symbols/svg-400": "0.4.3",
36
36
  "@types/react": "18.2.79",
37
- "@webiny/project-utils": "5.43.2",
37
+ "@webiny/project-utils": "6.0.0-alpha.0",
38
38
  "execa": "5.1.1",
39
39
  "rimraf": "6.0.1",
40
40
  "typescript": "5.3.3"
@@ -47,5 +47,5 @@
47
47
  "build": "node ../cli/bin.js run build",
48
48
  "watch": "node ../cli/bin.js run watch"
49
49
  },
50
- "gitHead": "ec6176f001f6350221d992981e110a0351addbaf"
50
+ "gitHead": "a5b28fed7a242d8f56712197a8ea83aa6d2ed101"
51
51
  }
@@ -1,43 +1,33 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.AuditLogsPermissions = void 0;
9
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
10
- var _react = _interopRequireWildcard(require("react"));
11
- var _Grid = require("@webiny/ui/Grid");
12
- var _Select = require("@webiny/ui/Select");
13
- var _i18n = require("@webiny/app/i18n");
14
- var _Permissions = require("@webiny/app-admin/components/Permissions");
15
- var _form = require("@webiny/form");
16
- var _appSecurity = require("@webiny/app-security");
17
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
18
- var t = _i18n.i18n.ns("app-audit-logs/plugins/permissionRenderer");
19
- var AUDIT_LOGS = "al";
20
- var AUDIT_LOGS_FULL_ACCESS = "al.*";
21
- var FULL_ACCESS = "full";
22
- var NO_ACCESS = "no";
23
- var CUSTOM_ACCESS = "custom";
24
- var AuditLogsPermissions = exports.AuditLogsPermissions = function AuditLogsPermissions(_ref) {
25
- var value = _ref.value,
26
- onChange = _ref.onChange;
27
- var _useSecurity = (0, _appSecurity.useSecurity)(),
28
- getPermission = _useSecurity.getPermission;
1
+ import React, { Fragment, useCallback, useMemo } from "react";
2
+ import { Grid, Cell } from "@webiny/ui/Grid";
3
+ import { Select } from "@webiny/ui/Select";
4
+ import { i18n } from "@webiny/app/i18n";
5
+ import { CannotUseAaclAlert, PermissionInfo, gridWithPaddingClass } from "@webiny/app-admin/components/Permissions";
6
+ import { Form } from "@webiny/form";
7
+ import { useSecurity } from "@webiny/app-security";
8
+ const t = i18n.ns("app-audit-logs/plugins/permissionRenderer");
9
+ const AUDIT_LOGS = "al";
10
+ const AUDIT_LOGS_FULL_ACCESS = "al.*";
11
+ const FULL_ACCESS = "full";
12
+ const NO_ACCESS = "no";
13
+ const CUSTOM_ACCESS = "custom";
14
+ export const AuditLogsPermissions = ({
15
+ value,
16
+ onChange
17
+ }) => {
18
+ const {
19
+ getPermission
20
+ } = useSecurity();
29
21
 
30
22
  // We disable form elements for custom permissions if AACL cannot be used.
31
- var cannotUseAAcl = (0, _react.useMemo)(function () {
23
+ const cannotUseAAcl = useMemo(() => {
32
24
  return !getPermission("aacl", true);
33
25
  }, []);
34
- var onFormChange = (0, _react.useCallback)(function (formData) {
35
- var newValue = [];
26
+ const onFormChange = useCallback(formData => {
27
+ let newValue = [];
36
28
  if (Array.isArray(value)) {
37
29
  // Let's just filter out the `al*` permission objects, it's easier to build new ones from scratch.
38
- newValue = value.filter(function (item) {
39
- return !item.name.startsWith(AUDIT_LOGS);
40
- });
30
+ newValue = value.filter(item => !item.name.startsWith(AUDIT_LOGS));
41
31
  }
42
32
  if (formData.accessLevel === NO_ACCESS) {
43
33
  onChange(newValue);
@@ -55,63 +45,56 @@ var AuditLogsPermissions = exports.AuditLogsPermissions = function AuditLogsPerm
55
45
 
56
46
  onChange(newValue);
57
47
  }, [value]);
58
- var formData = (0, _react.useMemo)(function () {
48
+ const formData = useMemo(() => {
59
49
  if (!Array.isArray(value)) {
60
50
  return {
61
51
  accessLevel: NO_ACCESS
62
52
  };
63
53
  }
64
- var hasFullAccess = value.find(function (item) {
65
- return item.name === AUDIT_LOGS_FULL_ACCESS || item.name === "*";
66
- });
54
+ const hasFullAccess = value.find(item => item.name === AUDIT_LOGS_FULL_ACCESS || item.name === "*");
67
55
  if (hasFullAccess) {
68
56
  return {
69
57
  accessLevel: FULL_ACCESS
70
58
  };
71
59
  }
72
- var permissions = value.filter(function (item) {
73
- return item.name.startsWith(AUDIT_LOGS);
74
- });
60
+ const permissions = value.filter(item => item.name.startsWith(AUDIT_LOGS));
75
61
  if (!permissions.length) {
76
62
  return {
77
63
  accessLevel: NO_ACCESS
78
64
  };
79
65
  }
80
- var formData = {
66
+ const formData = {
81
67
  accessLevel: CUSTOM_ACCESS
82
68
  };
83
69
  return formData;
84
70
  }, []);
85
- return /*#__PURE__*/_react.default.createElement(_form.Form, {
71
+ return /*#__PURE__*/React.createElement(Form, {
86
72
  data: formData,
87
73
  onChange: onFormChange
88
- }, function (_ref2) {
89
- var data = _ref2.data,
90
- Bind = _ref2.Bind;
91
- return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(_Grid.Grid, {
92
- className: _Permissions.gridNoPaddingClass
93
- }, /*#__PURE__*/_react.default.createElement(_Grid.Cell, {
94
- span: 12
95
- }, data.accessLevel === "custom" && cannotUseAAcl && /*#__PURE__*/_react.default.createElement(_Permissions.CannotUseAaclAlert, null))), /*#__PURE__*/_react.default.createElement(_Grid.Grid, {
96
- className: _Permissions.gridNoPaddingClass
97
- }, /*#__PURE__*/_react.default.createElement(_Grid.Cell, {
98
- span: 6
99
- }, /*#__PURE__*/_react.default.createElement(_Permissions.PermissionInfo, {
100
- title: t(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["Access Level"])))
101
- })), /*#__PURE__*/_react.default.createElement(_Grid.Cell, {
102
- span: 6
103
- }, /*#__PURE__*/_react.default.createElement(Bind, {
104
- name: "accessLevel"
105
- }, /*#__PURE__*/_react.default.createElement(_Select.Select, {
106
- label: t(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["Access Level"])))
107
- }, /*#__PURE__*/_react.default.createElement("option", {
108
- value: NO_ACCESS
109
- }, t(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["No access"])))), /*#__PURE__*/_react.default.createElement("option", {
110
- value: FULL_ACCESS
111
- }, t(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["Full access"])))), /*#__PURE__*/_react.default.createElement("option", {
112
- value: CUSTOM_ACCESS
113
- }, t(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["Custom access"])))))))), data.accessLevel === CUSTOM_ACCESS && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null));
114
- });
74
+ }, ({
75
+ data,
76
+ Bind
77
+ }) => /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(Grid, {
78
+ className: gridWithPaddingClass
79
+ }, /*#__PURE__*/React.createElement(Cell, {
80
+ span: 12
81
+ }, data.accessLevel === "custom" && cannotUseAAcl && /*#__PURE__*/React.createElement(CannotUseAaclAlert, null))), /*#__PURE__*/React.createElement(Grid, {
82
+ className: gridWithPaddingClass
83
+ }, /*#__PURE__*/React.createElement(Cell, {
84
+ span: 6
85
+ }, /*#__PURE__*/React.createElement(PermissionInfo, {
86
+ title: t`Access Level`
87
+ })), /*#__PURE__*/React.createElement(Cell, {
88
+ span: 6
89
+ }, /*#__PURE__*/React.createElement(Bind, {
90
+ name: "accessLevel"
91
+ }, /*#__PURE__*/React.createElement(Select, null, /*#__PURE__*/React.createElement("option", {
92
+ value: NO_ACCESS
93
+ }, t`No access`), /*#__PURE__*/React.createElement("option", {
94
+ value: FULL_ACCESS
95
+ }, t`Full access`), /*#__PURE__*/React.createElement("option", {
96
+ value: CUSTOM_ACCESS
97
+ }, t`Custom access`))))), data.accessLevel === CUSTOM_ACCESS && /*#__PURE__*/React.createElement(React.Fragment, null)));
115
98
  };
116
99
 
117
100
  //# sourceMappingURL=AuditLogsPermissions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_Grid","_Select","_i18n","_Permissions","_form","_appSecurity","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","t","i18n","ns","AUDIT_LOGS","AUDIT_LOGS_FULL_ACCESS","FULL_ACCESS","NO_ACCESS","CUSTOM_ACCESS","AuditLogsPermissions","exports","_ref","value","onChange","_useSecurity","useSecurity","getPermission","cannotUseAAcl","useMemo","onFormChange","useCallback","formData","newValue","Array","isArray","filter","item","name","startsWith","accessLevel","push","hasFullAccess","find","permissions","length","default","createElement","Form","data","_ref2","Bind","Fragment","Grid","className","gridNoPaddingClass","Cell","span","CannotUseAaclAlert","PermissionInfo","title","_taggedTemplateLiteral2","Select","label"],"sources":["AuditLogsPermissions.tsx"],"sourcesContent":["import React, { Fragment, useCallback, useMemo } from \"react\";\nimport { Grid, Cell } from \"@webiny/ui/Grid\";\nimport { Select } from \"@webiny/ui/Select\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport {\n CannotUseAaclAlert,\n PermissionInfo,\n gridNoPaddingClass\n} from \"@webiny/app-admin/components/Permissions\";\nimport { Form } from \"@webiny/form\";\nimport { useSecurity } from \"@webiny/app-security\";\nimport { SecurityPermission } from \"@webiny/app-security/types\";\nimport { AaclPermission } from \"@webiny/app-admin\";\n\nconst t = i18n.ns(\"app-audit-logs/plugins/permissionRenderer\");\n\nconst AUDIT_LOGS = \"al\";\nconst AUDIT_LOGS_FULL_ACCESS = \"al.*\";\nconst FULL_ACCESS = \"full\";\nconst NO_ACCESS = \"no\";\nconst CUSTOM_ACCESS = \"custom\";\n\ninterface PageBuilderPermissionsProps {\n value: SecurityPermission;\n onChange: (value: SecurityPermission[]) => void;\n}\nexport const AuditLogsPermissions = ({ value, onChange }: PageBuilderPermissionsProps) => {\n const { getPermission } = useSecurity();\n\n // We disable form elements for custom permissions if AACL cannot be used.\n const cannotUseAAcl = useMemo(() => {\n return !getPermission<AaclPermission>(\"aacl\", true);\n }, []);\n\n const onFormChange = useCallback(\n (formData: SecurityPermission) => {\n let newValue: SecurityPermission[] = [];\n if (Array.isArray(value)) {\n // Let's just filter out the `al*` permission objects, it's easier to build new ones from scratch.\n newValue = value.filter(item => !item.name.startsWith(AUDIT_LOGS));\n }\n\n if (formData.accessLevel === NO_ACCESS) {\n onChange(newValue);\n return;\n }\n\n if (formData.accessLevel === FULL_ACCESS) {\n newValue.push({ name: AUDIT_LOGS_FULL_ACCESS });\n onChange(newValue);\n return;\n }\n\n // Handling custom access level.\n\n onChange(newValue);\n },\n [value]\n );\n\n const formData = useMemo(() => {\n if (!Array.isArray(value)) {\n return { accessLevel: NO_ACCESS };\n }\n\n const hasFullAccess = value.find(\n item => item.name === AUDIT_LOGS_FULL_ACCESS || item.name === \"*\"\n );\n if (hasFullAccess) {\n return { accessLevel: FULL_ACCESS };\n }\n\n const permissions = value.filter(item => item.name.startsWith(AUDIT_LOGS));\n if (!permissions.length) {\n return { accessLevel: NO_ACCESS };\n }\n\n const formData = {\n accessLevel: CUSTOM_ACCESS\n };\n\n return formData;\n }, []);\n\n return (\n <Form data={formData} onChange={onFormChange}>\n {({ data, Bind }) => (\n <Fragment>\n <Grid className={gridNoPaddingClass}>\n <Cell span={12}>\n {data.accessLevel === \"custom\" && cannotUseAAcl && (\n <CannotUseAaclAlert />\n )}\n </Cell>\n </Grid>\n <Grid className={gridNoPaddingClass}>\n <Cell span={6}>\n <PermissionInfo title={t`Access Level`} />\n </Cell>\n <Cell span={6}>\n <Bind name={\"accessLevel\"}>\n <Select label={t`Access Level`}>\n <option value={NO_ACCESS}>{t`No access`}</option>\n <option value={FULL_ACCESS}>{t`Full access`}</option>\n <option value={CUSTOM_ACCESS}>{t`Custom access`}</option>\n </Select>\n </Bind>\n </Cell>\n </Grid>\n {data.accessLevel === CUSTOM_ACCESS && <></>}\n </Fragment>\n )}\n </Form>\n );\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Fragment","useCallback","useMemo","Grid","Cell","Select","i18n","CannotUseAaclAlert","PermissionInfo","gridWithPaddingClass","Form","useSecurity","t","ns","AUDIT_LOGS","AUDIT_LOGS_FULL_ACCESS","FULL_ACCESS","NO_ACCESS","CUSTOM_ACCESS","AuditLogsPermissions","value","onChange","getPermission","cannotUseAAcl","onFormChange","formData","newValue","Array","isArray","filter","item","name","startsWith","accessLevel","push","hasFullAccess","find","permissions","length","createElement","data","Bind","className","span","title"],"sources":["AuditLogsPermissions.tsx"],"sourcesContent":["import React, { Fragment, useCallback, useMemo } from \"react\";\nimport { Grid, Cell } from \"@webiny/ui/Grid\";\nimport { Select } from \"@webiny/ui/Select\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport {\n CannotUseAaclAlert,\n PermissionInfo,\n gridWithPaddingClass\n} from \"@webiny/app-admin/components/Permissions\";\nimport { Form } from \"@webiny/form\";\nimport { useSecurity } from \"@webiny/app-security\";\nimport { SecurityPermission } from \"@webiny/app-security/types\";\nimport { AaclPermission } from \"@webiny/app-admin\";\n\nconst t = i18n.ns(\"app-audit-logs/plugins/permissionRenderer\");\n\nconst AUDIT_LOGS = \"al\";\nconst AUDIT_LOGS_FULL_ACCESS = \"al.*\";\nconst FULL_ACCESS = \"full\";\nconst NO_ACCESS = \"no\";\nconst CUSTOM_ACCESS = \"custom\";\n\ninterface PageBuilderPermissionsProps {\n value: SecurityPermission;\n onChange: (value: SecurityPermission[]) => void;\n}\nexport const AuditLogsPermissions = ({ value, onChange }: PageBuilderPermissionsProps) => {\n const { getPermission } = useSecurity();\n\n // We disable form elements for custom permissions if AACL cannot be used.\n const cannotUseAAcl = useMemo(() => {\n return !getPermission<AaclPermission>(\"aacl\", true);\n }, []);\n\n const onFormChange = useCallback(\n (formData: SecurityPermission) => {\n let newValue: SecurityPermission[] = [];\n if (Array.isArray(value)) {\n // Let's just filter out the `al*` permission objects, it's easier to build new ones from scratch.\n newValue = value.filter(item => !item.name.startsWith(AUDIT_LOGS));\n }\n\n if (formData.accessLevel === NO_ACCESS) {\n onChange(newValue);\n return;\n }\n\n if (formData.accessLevel === FULL_ACCESS) {\n newValue.push({ name: AUDIT_LOGS_FULL_ACCESS });\n onChange(newValue);\n return;\n }\n\n // Handling custom access level.\n\n onChange(newValue);\n },\n [value]\n );\n\n const formData = useMemo(() => {\n if (!Array.isArray(value)) {\n return { accessLevel: NO_ACCESS };\n }\n\n const hasFullAccess = value.find(\n item => item.name === AUDIT_LOGS_FULL_ACCESS || item.name === \"*\"\n );\n if (hasFullAccess) {\n return { accessLevel: FULL_ACCESS };\n }\n\n const permissions = value.filter(item => item.name.startsWith(AUDIT_LOGS));\n if (!permissions.length) {\n return { accessLevel: NO_ACCESS };\n }\n\n const formData = {\n accessLevel: CUSTOM_ACCESS\n };\n\n return formData;\n }, []);\n\n return (\n <Form data={formData} onChange={onFormChange}>\n {({ data, Bind }) => (\n <Fragment>\n <Grid className={gridWithPaddingClass}>\n <Cell span={12}>\n {data.accessLevel === \"custom\" && cannotUseAAcl && (\n <CannotUseAaclAlert />\n )}\n </Cell>\n </Grid>\n <Grid className={gridWithPaddingClass}>\n <Cell span={6}>\n <PermissionInfo title={t`Access Level`} />\n </Cell>\n <Cell span={6}>\n <Bind name={\"accessLevel\"}>\n <Select>\n <option value={NO_ACCESS}>{t`No access`}</option>\n <option value={FULL_ACCESS}>{t`Full access`}</option>\n <option value={CUSTOM_ACCESS}>{t`Custom access`}</option>\n </Select>\n </Bind>\n </Cell>\n </Grid>\n {data.accessLevel === CUSTOM_ACCESS && <></>}\n </Fragment>\n )}\n </Form>\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,37 +1,30 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.AuditLogsPermissions = void 0;
9
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
10
- var _react = _interopRequireWildcard(require("react"));
11
- var _quick_reference_all = require("@material-symbols/svg-400/outlined/quick_reference_all.svg");
12
- var _i18n = require("@webiny/app/i18n");
13
- var _plugins = require("@webiny/plugins");
14
- var _Accordion = require("@webiny/ui/Accordion");
15
- var _AuditLogsPermissions = require("./AuditLogsPermissions");
16
- var _templateObject, _templateObject2;
17
- var t = _i18n.i18n.ns("app-audit-logs/plugins/permissionRenderer");
18
- var createPermissions = function createPermissions() {
1
+ import React, { useEffect } from "react";
2
+ import { ReactComponent as PermissionsIcon } from "@webiny/icons/manage_search.svg";
3
+ import { i18n } from "@webiny/app/i18n";
4
+ import { plugins } from "@webiny/plugins";
5
+ import { Accordion } from "@webiny/admin-ui";
6
+ import { AuditLogsPermissions as AuditLogsPermissionsComponent } from "./AuditLogsPermissions";
7
+ const t = i18n.ns("app-audit-logs/plugins/permissionRenderer");
8
+ const createPermissions = () => {
19
9
  return {
20
10
  type: "admin-app-permissions-renderer",
21
11
  name: "admin-app-permissions-renderer-audit-logs",
22
- render: function render(props) {
23
- return /*#__PURE__*/_react.default.createElement(_Accordion.AccordionItem, {
24
- icon: /*#__PURE__*/_react.default.createElement(_quick_reference_all.ReactComponent, null),
25
- title: t(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["Audit Logs"]))),
26
- description: t(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["Manage Audit Logs app access permissions."]))),
12
+ render(props) {
13
+ return /*#__PURE__*/React.createElement(Accordion.Item, {
14
+ icon: /*#__PURE__*/React.createElement(Accordion.Item.Icon, {
15
+ icon: /*#__PURE__*/React.createElement(PermissionsIcon, null),
16
+ label: "Audit Logs Permissions"
17
+ }),
18
+ title: t`Audit Logs`,
19
+ description: t`Manage Audit Logs app access permissions.`,
27
20
  "data-testid": "permission.al"
28
- }, /*#__PURE__*/_react.default.createElement(_AuditLogsPermissions.AuditLogsPermissions, props));
21
+ }, /*#__PURE__*/React.createElement(AuditLogsPermissionsComponent, props));
29
22
  }
30
23
  };
31
24
  };
32
- var AuditLogsPermissions = exports.AuditLogsPermissions = function AuditLogsPermissions() {
33
- (0, _react.useEffect)(function () {
34
- _plugins.plugins.register(createPermissions());
25
+ export const AuditLogsPermissions = () => {
26
+ useEffect(() => {
27
+ plugins.register(createPermissions());
35
28
  }, []);
36
29
  return null;
37
30
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_quick_reference_all","_i18n","_plugins","_Accordion","_AuditLogsPermissions","_templateObject","_templateObject2","t","i18n","ns","createPermissions","type","name","render","props","default","createElement","AccordionItem","icon","ReactComponent","title","_taggedTemplateLiteral2","description","AuditLogsPermissions","exports","useEffect","plugins","register"],"sources":["index.tsx"],"sourcesContent":["import React, { useEffect } from \"react\";\nimport { ReactComponent as Icon } from \"@material-symbols/svg-400/outlined/quick_reference_all.svg\";\n\nimport { i18n } from \"@webiny/app/i18n\";\nimport { plugins } from \"@webiny/plugins\";\nimport { AccordionItem } from \"@webiny/ui/Accordion\";\nimport { AdminAppPermissionRendererPlugin } from \"@webiny/app-admin/types\";\n\nimport { AuditLogsPermissions as AuditLogsPermissionsComponent } from \"./AuditLogsPermissions\";\n\nconst t = i18n.ns(\"app-audit-logs/plugins/permissionRenderer\");\n\nconst createPermissions = (): AdminAppPermissionRendererPlugin => {\n return {\n type: \"admin-app-permissions-renderer\",\n name: \"admin-app-permissions-renderer-audit-logs\",\n render(props) {\n return (\n <AccordionItem\n icon={<Icon />}\n title={t`Audit Logs`}\n description={t`Manage Audit Logs app access permissions.`}\n data-testid={\"permission.al\"}\n >\n <AuditLogsPermissionsComponent {...props} />\n </AccordionItem>\n );\n }\n };\n};\n\nexport const AuditLogsPermissions = () => {\n useEffect(() => {\n plugins.register(createPermissions());\n }, []);\n return null;\n};\n"],"mappings":";;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,oBAAA,GAAAD,OAAA;AAEA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,UAAA,GAAAJ,OAAA;AAGA,IAAAK,qBAAA,GAAAL,OAAA;AAA+F,IAAAM,eAAA,EAAAC,gBAAA;AAE/F,IAAMC,CAAC,GAAGC,UAAI,CAACC,EAAE,CAAC,2CAA2C,CAAC;AAE9D,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAA,EAA2C;EAC9D,OAAO;IACHC,IAAI,EAAE,gCAAgC;IACtCC,IAAI,EAAE,2CAA2C;IACjDC,MAAM,WAANA,MAAMA,CAACC,KAAK,EAAE;MACV,oBACIjB,MAAA,CAAAkB,OAAA,CAAAC,aAAA,CAACb,UAAA,CAAAc,aAAa;QACVC,IAAI,eAAErB,MAAA,CAAAkB,OAAA,CAAAC,aAAA,CAAChB,oBAAA,CAAAmB,cAAI,MAAE,CAAE;QACfC,KAAK,EAAEb,CAAC,CAAAF,eAAA,KAAAA,eAAA,OAAAgB,uBAAA,CAAAN,OAAA,mBAAa;QACrBO,WAAW,EAAEf,CAAC,CAAAD,gBAAA,KAAAA,gBAAA,OAAAe,uBAAA,CAAAN,OAAA,kDAA4C;QAC1D,eAAa;MAAgB,gBAE7BlB,MAAA,CAAAkB,OAAA,CAAAC,aAAA,CAACZ,qBAAA,CAAAmB,oBAA6B,EAAKT,KAAQ,CAChC,CAAC;IAExB;EACJ,CAAC;AACL,CAAC;AAEM,IAAMS,oBAAoB,GAAAC,OAAA,CAAAD,oBAAA,GAAG,SAAvBA,oBAAoBA,CAAA,EAAS;EACtC,IAAAE,gBAAS,EAAC,YAAM;IACZC,gBAAO,CAACC,QAAQ,CAACjB,iBAAiB,CAAC,CAAC,CAAC;EACzC,CAAC,EAAE,EAAE,CAAC;EACN,OAAO,IAAI;AACf,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","useEffect","ReactComponent","PermissionsIcon","i18n","plugins","Accordion","AuditLogsPermissions","AuditLogsPermissionsComponent","t","ns","createPermissions","type","name","render","props","createElement","Item","icon","Icon","label","title","description","register"],"sources":["index.tsx"],"sourcesContent":["import React, { useEffect } from \"react\";\nimport { ReactComponent as PermissionsIcon } from \"@webiny/icons/manage_search.svg\";\n\nimport { i18n } from \"@webiny/app/i18n\";\nimport { plugins } from \"@webiny/plugins\";\nimport { Accordion } from \"@webiny/admin-ui\";\nimport { AdminAppPermissionRendererPlugin } from \"@webiny/app-admin/types\";\n\nimport { AuditLogsPermissions as AuditLogsPermissionsComponent } from \"./AuditLogsPermissions\";\n\nconst t = i18n.ns(\"app-audit-logs/plugins/permissionRenderer\");\n\nconst createPermissions = (): AdminAppPermissionRendererPlugin => {\n return {\n type: \"admin-app-permissions-renderer\",\n name: \"admin-app-permissions-renderer-audit-logs\",\n render(props) {\n return (\n <Accordion.Item\n icon={\n <Accordion.Item.Icon\n icon={<PermissionsIcon />}\n label={\"Audit Logs Permissions\"}\n />\n }\n title={t`Audit Logs`}\n description={t`Manage Audit Logs app access permissions.`}\n data-testid={\"permission.al\"}\n >\n <AuditLogsPermissionsComponent {...props} />\n </Accordion.Item>\n );\n }\n };\n};\n\nexport const AuditLogsPermissions = () => {\n useEffect(() => {\n plugins.register(createPermissions());\n }, []);\n return null;\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,SAAS,QAAQ,OAAO;AACxC,SAASC,cAAc,IAAIC,eAAe,QAAQ,iCAAiC;AAEnF,SAASC,IAAI,QAAQ,kBAAkB;AACvC,SAASC,OAAO,QAAQ,iBAAiB;AACzC,SAASC,SAAS,QAAQ,kBAAkB;AAG5C,SAASC,oBAAoB,IAAIC,6BAA6B;AAE9D,MAAMC,CAAC,GAAGL,IAAI,CAACM,EAAE,CAAC,2CAA2C,CAAC;AAE9D,MAAMC,iBAAiB,GAAGA,CAAA,KAAwC;EAC9D,OAAO;IACHC,IAAI,EAAE,gCAAgC;IACtCC,IAAI,EAAE,2CAA2C;IACjDC,MAAMA,CAACC,KAAK,EAAE;MACV,oBACIf,KAAA,CAAAgB,aAAA,CAACV,SAAS,CAACW,IAAI;QACXC,IAAI,eACAlB,KAAA,CAAAgB,aAAA,CAACV,SAAS,CAACW,IAAI,CAACE,IAAI;UAChBD,IAAI,eAAElB,KAAA,CAAAgB,aAAA,CAACb,eAAe,MAAE,CAAE;UAC1BiB,KAAK,EAAE;QAAyB,CACnC,CACJ;QACDC,KAAK,EAAEZ,CAAC,YAAa;QACrBa,WAAW,EAAEb,CAAC,2CAA4C;QAC1D,eAAa;MAAgB,gBAE7BT,KAAA,CAAAgB,aAAA,CAACR,6BAA6B,EAAKO,KAAQ,CAC/B,CAAC;IAEzB;EACJ,CAAC;AACL,CAAC;AAED,OAAO,MAAMR,oBAAoB,GAAGA,CAAA,KAAM;EACtCN,SAAS,CAAC,MAAM;IACZI,OAAO,CAACkB,QAAQ,CAACZ,iBAAiB,CAAC,CAAC,CAAC;EACzC,CAAC,EAAE,EAAE,CAAC;EACN,OAAO,IAAI;AACf,CAAC","ignoreList":[]}
package/types.js CHANGED
@@ -1,10 +1,4 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.ActionType = void 0;
7
- var ActionType = exports.ActionType = /*#__PURE__*/function (ActionType) {
1
+ export let ActionType = /*#__PURE__*/function (ActionType) {
8
2
  ActionType["CREATE"] = "CREATE";
9
3
  ActionType["UPDATE"] = "UPDATE";
10
4
  ActionType["DELETE"] = "DELETE";
package/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["ActionType","exports"],"sources":["types.ts"],"sourcesContent":["export enum ActionType {\n CREATE = \"CREATE\",\n UPDATE = \"UPDATE\",\n DELETE = \"DELETE\",\n MOVE_TO_TRASH = \"MOVE_TO_TRASH\",\n RESTORE_FROM_TRASH = \"RESTORE_FROM_TRASH\",\n PUBLISH = \"PUBLISH\",\n UNPUBLISH = \"UNPUBLISH\",\n IMPORT = \"IMPORT\",\n EXPORT = \"EXPORT\"\n}\n\nexport interface AuditLog {\n id: string;\n message: string;\n app: string;\n entity: string;\n entityId: string;\n action: ActionType;\n data: string;\n timestamp: Date;\n initiator: string;\n}\n\nexport interface User {\n id: string;\n firstName: string;\n lastName: string;\n group?: {\n name: string;\n };\n}\n"],"mappings":";;;;;;IAAYA,UAAU,GAAAC,OAAA,CAAAD,UAAA,0BAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["ActionType"],"sources":["types.ts"],"sourcesContent":["export enum ActionType {\n CREATE = \"CREATE\",\n UPDATE = \"UPDATE\",\n DELETE = \"DELETE\",\n MOVE_TO_TRASH = \"MOVE_TO_TRASH\",\n RESTORE_FROM_TRASH = \"RESTORE_FROM_TRASH\",\n PUBLISH = \"PUBLISH\",\n UNPUBLISH = \"UNPUBLISH\",\n IMPORT = \"IMPORT\",\n EXPORT = \"EXPORT\"\n}\n\nexport interface AuditLog {\n id: string;\n message: string;\n app: string;\n entity: string;\n entityId: string;\n action: ActionType;\n data: string;\n timestamp: Date;\n initiator: string;\n}\n\nexport interface User {\n id: string;\n firstName: string;\n lastName: string;\n group?: {\n name: string;\n };\n}\n"],"mappings":"AAAA,WAAYA,UAAU,0BAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA","ignoreList":[]}