@webiny/app-audit-logs 5.38.0-beta.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 (126) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1 -0
  3. package/components/Text.d.ts +6 -0
  4. package/components/Text.js +16 -0
  5. package/components/Text.js.map +1 -0
  6. package/config/list/AuditLogsListConfig.d.ts +22 -0
  7. package/config/list/AuditLogsListConfig.js +34 -0
  8. package/config/list/AuditLogsListConfig.js.map +1 -0
  9. package/config/list/Browser/Filter.d.ts +17 -0
  10. package/config/list/Browser/Filter.js +54 -0
  11. package/config/list/Browser/Filter.js.map +1 -0
  12. package/config/list/Browser/FiltersToWhere.d.ts +7 -0
  13. package/config/list/Browser/FiltersToWhere.js +23 -0
  14. package/config/list/Browser/FiltersToWhere.js.map +1 -0
  15. package/config/list/Browser/index.d.ts +17 -0
  16. package/config/list/Browser/index.js +15 -0
  17. package/config/list/Browser/index.js.map +1 -0
  18. package/config/list/index.d.ts +1 -0
  19. package/config/list/index.js +18 -0
  20. package/config/list/index.js.map +1 -0
  21. package/constants/index.d.ts +1 -0
  22. package/constants/index.js +10 -0
  23. package/constants/index.js.map +1 -0
  24. package/graphql.d.ts +1 -0
  25. package/graphql.js +15 -0
  26. package/graphql.js.map +1 -0
  27. package/hooks/index.d.ts +1 -0
  28. package/hooks/index.js +18 -0
  29. package/hooks/index.js.map +1 -0
  30. package/hooks/useAuditLogsList.d.ts +21 -0
  31. package/hooks/useAuditLogsList.js +117 -0
  32. package/hooks/useAuditLogsList.js.map +1 -0
  33. package/index.d.ts +2 -0
  34. package/index.js +53 -0
  35. package/index.js.map +1 -0
  36. package/package.json +59 -0
  37. package/plugins/permissionRenderer/AuditLogsPermissions.d.ts +8 -0
  38. package/plugins/permissionRenderer/AuditLogsPermissions.js +118 -0
  39. package/plugins/permissionRenderer/AuditLogsPermissions.js.map +1 -0
  40. package/plugins/permissionRenderer/index.d.ts +2 -0
  41. package/plugins/permissionRenderer/index.js +40 -0
  42. package/plugins/permissionRenderer/index.js.map +1 -0
  43. package/types.d.ts +19 -0
  44. package/types.js +7 -0
  45. package/types.js.map +1 -0
  46. package/utils/transformCmsContentEntriesToRecordEntries.d.ts +25 -0
  47. package/utils/transformCmsContentEntriesToRecordEntries.js +51 -0
  48. package/utils/transformCmsContentEntriesToRecordEntries.js.map +1 -0
  49. package/views/Logs/Filters/FilterByAction.d.ts +2 -0
  50. package/views/Logs/Filters/FilterByAction.js +64 -0
  51. package/views/Logs/Filters/FilterByAction.js.map +1 -0
  52. package/views/Logs/Filters/FilterByApp.d.ts +2 -0
  53. package/views/Logs/Filters/FilterByApp.js +46 -0
  54. package/views/Logs/Filters/FilterByApp.js.map +1 -0
  55. package/views/Logs/Filters/FilterByEntity.d.ts +2 -0
  56. package/views/Logs/Filters/FilterByEntity.js +62 -0
  57. package/views/Logs/Filters/FilterByEntity.js.map +1 -0
  58. package/views/Logs/Filters/FilterByInitiator.d.ts +2 -0
  59. package/views/Logs/Filters/FilterByInitiator.js +51 -0
  60. package/views/Logs/Filters/FilterByInitiator.js.map +1 -0
  61. package/views/Logs/Filters/FilterByTimestamp.d.ts +2 -0
  62. package/views/Logs/Filters/FilterByTimestamp.js +48 -0
  63. package/views/Logs/Filters/FilterByTimestamp.js.map +1 -0
  64. package/views/Logs/Filters/Filters.d.ts +8 -0
  65. package/views/Logs/Filters/Filters.js +43 -0
  66. package/views/Logs/Filters/Filters.js.map +1 -0
  67. package/views/Logs/Filters/index.d.ts +6 -0
  68. package/views/Logs/Filters/index.js +73 -0
  69. package/views/Logs/Filters/index.js.map +1 -0
  70. package/views/Logs/Filters/styled.d.ts +7 -0
  71. package/views/Logs/Filters/styled.js +15 -0
  72. package/views/Logs/Filters/styled.js.map +1 -0
  73. package/views/Logs/Header/ButtonFilters/ButtonFilters.d.ts +8 -0
  74. package/views/Logs/Header/ButtonFilters/ButtonFilters.js +44 -0
  75. package/views/Logs/Header/ButtonFilters/ButtonFilters.js.map +1 -0
  76. package/views/Logs/Header/ButtonFilters/index.d.ts +1 -0
  77. package/views/Logs/Header/ButtonFilters/index.js +18 -0
  78. package/views/Logs/Header/ButtonFilters/index.js.map +1 -0
  79. package/views/Logs/Header/Header.d.ts +11 -0
  80. package/views/Logs/Header/Header.js +55 -0
  81. package/views/Logs/Header/Header.js.map +1 -0
  82. package/views/Logs/Header/index.d.ts +1 -0
  83. package/views/Logs/Header/index.js +18 -0
  84. package/views/Logs/Header/index.js.map +1 -0
  85. package/views/Logs/LoadMoreButton/LoadMoreButton.d.ts +9 -0
  86. package/views/Logs/LoadMoreButton/LoadMoreButton.js +32 -0
  87. package/views/Logs/LoadMoreButton/LoadMoreButton.js.map +1 -0
  88. package/views/Logs/LoadMoreButton/index.d.ts +1 -0
  89. package/views/Logs/LoadMoreButton/index.js +18 -0
  90. package/views/Logs/LoadMoreButton/index.js.map +1 -0
  91. package/views/Logs/LoadMoreButton/styled.d.ts +7 -0
  92. package/views/Logs/LoadMoreButton/styled.js +15 -0
  93. package/views/Logs/LoadMoreButton/styled.js.map +1 -0
  94. package/views/Logs/LoadingMore/index.d.ts +2 -0
  95. package/views/Logs/LoadingMore/index.js +26 -0
  96. package/views/Logs/LoadingMore/index.js.map +1 -0
  97. package/views/Logs/LoadingMore/styled.d.ts +11 -0
  98. package/views/Logs/LoadingMore/styled.js +20 -0
  99. package/views/Logs/LoadingMore/styled.js.map +1 -0
  100. package/views/Logs/Logs.d.ts +3 -0
  101. package/views/Logs/Logs.js +108 -0
  102. package/views/Logs/Logs.js.map +1 -0
  103. package/views/Logs/LogsModule.d.ts +2 -0
  104. package/views/Logs/LogsModule.js +32 -0
  105. package/views/Logs/LogsModule.js.map +1 -0
  106. package/views/Logs/Preview/Preview.d.ts +9 -0
  107. package/views/Logs/Preview/Preview.js +97 -0
  108. package/views/Logs/Preview/Preview.js.map +1 -0
  109. package/views/Logs/Preview/index.d.ts +1 -0
  110. package/views/Logs/Preview/index.js +18 -0
  111. package/views/Logs/Preview/index.js.map +1 -0
  112. package/views/Logs/Preview/styled.d.ts +8 -0
  113. package/views/Logs/Preview/styled.js +18 -0
  114. package/views/Logs/Preview/styled.js.map +1 -0
  115. package/views/Logs/Table/Table.d.ts +19 -0
  116. package/views/Logs/Table/Table.js +145 -0
  117. package/views/Logs/Table/Table.js.map +1 -0
  118. package/views/Logs/Table/index.d.ts +1 -0
  119. package/views/Logs/Table/index.js +18 -0
  120. package/views/Logs/Table/index.js.map +1 -0
  121. package/views/Logs/Table/styled.d.ts +22 -0
  122. package/views/Logs/Table/styled.js +49 -0
  123. package/views/Logs/Table/styled.js.map +1 -0
  124. package/views/Logs/styled.d.ts +11 -0
  125. package/views/Logs/styled.js +20 -0
  126. package/views/Logs/styled.js.map +1 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) Webiny
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1 @@
1
+ # `@webiny/app-audit-logs`
@@ -0,0 +1,6 @@
1
+ /// <reference types="react" />
2
+ export declare const Text: import("@emotion/styled").StyledComponent<import("@webiny/ui/Typography/Typography").TypographyProps & {
3
+ children?: import("react").ReactNode;
4
+ } & {
5
+ theme?: import("@emotion/react").Theme | undefined;
6
+ }, {}, {}>;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.Text = void 0;
8
+ var _styled = _interopRequireDefault(require("@emotion/styled"));
9
+ var _Typography = require("@webiny/ui/Typography");
10
+ var Text = /*#__PURE__*/(0, _styled.default)(_Typography.Typography, {
11
+ label: "Text",
12
+ target: "e5vot4i0"
13
+ })("white-space:nowrap;overflow:hidden;text-overflow:ellipsis;");
14
+ exports.Text = Text;
15
+
16
+ //# sourceMappingURL=Text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_styled","_interopRequireDefault","require","_Typography","Text","styled","Typography","label","target","exports"],"sources":["Text.tsx"],"sourcesContent":["import styled from \"@emotion/styled\";\nimport { Typography } from \"@webiny/ui/Typography\";\n\nexport const Text = styled(Typography)`\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n`;\n"],"mappings":";;;;;;;AAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAEO,IAAME,IAAI,oBAAGC,eAAM,EAACC,sBAAU;EAAAC,KAAA;EAAAC,MAAA;AAAA,gEAIpC;AAACC,OAAA,CAAAL,IAAA,GAAAA,IAAA"}
@@ -0,0 +1,22 @@
1
+ /// <reference types="react" />
2
+ export declare const AuditLogsListConfig: (({ children }: {
3
+ children: import("react").ReactNode;
4
+ }) => JSX.Element) & {
5
+ Browser: {
6
+ Filter: import("@webiny/react-composition").ComposableFC<import("./Browser/Filter").FilterProps> & {
7
+ createDecorator: (decorator: import("@webiny/react-composition").Decorator<import("./Browser/Filter").FilterProps>) => (props: {
8
+ name: string;
9
+ }) => JSX.Element;
10
+ };
11
+ FiltersToWhere: ({ converter }: {
12
+ converter: import("./Browser/FiltersToWhere").FiltersToWhereConverter;
13
+ }) => JSX.Element;
14
+ };
15
+ };
16
+ export declare const AuditLogsListWithConfig: ({ onProperties, children }: import("@webiny/react-properties").WithConfigProps) => JSX.Element;
17
+ export declare function useAuditLogsListConfig(): {
18
+ browser: {
19
+ filters: import("./Browser/Filter").FilterConfig[];
20
+ filtersToWhere: import("./Browser/FiltersToWhere").FiltersToWhereConverter[];
21
+ };
22
+ };
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.AuditLogsListWithConfig = exports.AuditLogsListConfig = void 0;
8
+ exports.useAuditLogsListConfig = useAuditLogsListConfig;
9
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
10
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
+ var _react = require("react");
12
+ var _reactProperties = require("@webiny/react-properties");
13
+ var _Browser = require("./Browser");
14
+ var base = (0, _reactProperties.createConfigurableComponent)("AuditLogsListConfig");
15
+ var AuditLogsListConfig = Object.assign(base.Config, {
16
+ Browser: _Browser.Browser
17
+ });
18
+ exports.AuditLogsListConfig = AuditLogsListConfig;
19
+ var AuditLogsListWithConfig = base.WithConfig;
20
+ exports.AuditLogsListWithConfig = AuditLogsListWithConfig;
21
+ function useAuditLogsListConfig() {
22
+ var config = base.useConfig();
23
+ var browser = config.browser || {};
24
+ return (0, _react.useMemo)(function () {
25
+ return {
26
+ browser: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, browser), {}, {
27
+ filters: (0, _toConsumableArray2.default)(browser.filters || []),
28
+ filtersToWhere: (0, _toConsumableArray2.default)(browser.filtersToWhere || [])
29
+ })
30
+ };
31
+ }, [config]);
32
+ }
33
+
34
+ //# sourceMappingURL=AuditLogsListConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_reactProperties","_Browser","base","createConfigurableComponent","AuditLogsListConfig","Object","assign","Config","Browser","exports","AuditLogsListWithConfig","WithConfig","useAuditLogsListConfig","config","useConfig","browser","useMemo","_objectSpread2","default","filters","_toConsumableArray2","filtersToWhere"],"sources":["AuditLogsListConfig.tsx"],"sourcesContent":["import { useMemo } from \"react\";\nimport { createConfigurableComponent } from \"@webiny/react-properties\";\nimport { Browser, BrowserConfig } from \"./Browser\";\n\nconst base = createConfigurableComponent<AuditLogsListConfig>(\"AuditLogsListConfig\");\n\nexport const AuditLogsListConfig = Object.assign(base.Config, { Browser });\nexport const AuditLogsListWithConfig = base.WithConfig;\n\ninterface AuditLogsListConfig {\n browser: BrowserConfig;\n}\n\nexport function useAuditLogsListConfig() {\n const config = base.useConfig();\n\n const browser = config.browser || {};\n\n return useMemo(\n () => ({\n browser: {\n ...browser,\n filters: [...(browser.filters || [])],\n filtersToWhere: [...(browser.filtersToWhere || [])]\n }\n }),\n [config]\n );\n}\n"],"mappings":";;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAEA,IAAMG,IAAI,GAAG,IAAAC,4CAA2B,EAAsB,qBAAqB,CAAC;AAE7E,IAAMC,mBAAmB,GAAGC,MAAM,CAACC,MAAM,CAACJ,IAAI,CAACK,MAAM,EAAE;EAAEC,OAAO,EAAPA;AAAQ,CAAC,CAAC;AAACC,OAAA,CAAAL,mBAAA,GAAAA,mBAAA;AACpE,IAAMM,uBAAuB,GAAGR,IAAI,CAACS,UAAU;AAACF,OAAA,CAAAC,uBAAA,GAAAA,uBAAA;AAMhD,SAASE,sBAAsBA,CAAA,EAAG;EACrC,IAAMC,MAAM,GAAGX,IAAI,CAACY,SAAS,CAAC,CAAC;EAE/B,IAAMC,OAAO,GAAGF,MAAM,CAACE,OAAO,IAAI,CAAC,CAAC;EAEpC,OAAO,IAAAC,cAAO,EACV;IAAA,OAAO;MACHD,OAAO,MAAAE,cAAA,CAAAC,OAAA,MAAAD,cAAA,CAAAC,OAAA,MACAH,OAAO;QACVI,OAAO,MAAAC,mBAAA,CAAAF,OAAA,EAAOH,OAAO,CAACI,OAAO,IAAI,EAAE,CAAE;QACrCE,cAAc,MAAAD,mBAAA,CAAAF,OAAA,EAAOH,OAAO,CAACM,cAAc,IAAI,EAAE;MAAE;IAE3D,CAAC;EAAA,CAAC,EACF,CAACR,MAAM,CACX,CAAC;AACL"}
@@ -0,0 +1,17 @@
1
+ import React from "react";
2
+ export interface FilterConfig {
3
+ name: string;
4
+ element: React.ReactElement;
5
+ }
6
+ export interface FilterProps {
7
+ name: string;
8
+ element?: React.ReactElement<unknown>;
9
+ remove?: boolean;
10
+ before?: string;
11
+ after?: string;
12
+ }
13
+ export declare const Filter: import("@webiny/app-admin").ComposableFC<FilterProps> & {
14
+ createDecorator: (decorator: import("@webiny/app-admin").Decorator<FilterProps>) => (props: {
15
+ name: string;
16
+ }) => JSX.Element;
17
+ };
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.Filter = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _reactProperties = require("@webiny/react-properties");
10
+ var _appAdmin = require("@webiny/app-admin");
11
+ var BaseFilter = (0, _appAdmin.makeComposable)("Filter", function (_ref) {
12
+ var name = _ref.name,
13
+ element = _ref.element,
14
+ _ref$after = _ref.after,
15
+ after = _ref$after === void 0 ? undefined : _ref$after,
16
+ _ref$before = _ref.before,
17
+ before = _ref$before === void 0 ? undefined : _ref$before,
18
+ _ref$remove = _ref.remove,
19
+ remove = _ref$remove === void 0 ? false : _ref$remove;
20
+ var getId = (0, _reactProperties.useIdGenerator)("filter");
21
+ var placeAfter = after !== undefined ? getId(after) : undefined;
22
+ var placeBefore = before !== undefined ? getId(before) : undefined;
23
+ return /*#__PURE__*/_react.default.createElement(_reactProperties.Property, {
24
+ id: "browser",
25
+ name: "browser"
26
+ }, /*#__PURE__*/_react.default.createElement(_reactProperties.Property, {
27
+ id: getId(name),
28
+ name: "filters",
29
+ remove: remove,
30
+ array: true,
31
+ before: placeBefore,
32
+ after: placeAfter
33
+ }, /*#__PURE__*/_react.default.createElement(_reactProperties.Property, {
34
+ id: getId(name, "name"),
35
+ name: "name",
36
+ value: name
37
+ }), element ? /*#__PURE__*/_react.default.createElement(_reactProperties.Property, {
38
+ id: getId(name, "element"),
39
+ name: "element",
40
+ value: element
41
+ }) : null));
42
+ });
43
+ var createDecorator = (0, _appAdmin.createDecoratorFactory)()(BaseFilter, function (decoratorProps, componentProps) {
44
+ if (decoratorProps.name === "*") {
45
+ return true;
46
+ }
47
+ return decoratorProps.name === componentProps.name;
48
+ });
49
+ var Filter = Object.assign(BaseFilter, {
50
+ createDecorator: createDecorator
51
+ });
52
+ exports.Filter = Filter;
53
+
54
+ //# sourceMappingURL=Filter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactProperties","_appAdmin","BaseFilter","makeComposable","_ref","name","element","_ref$after","after","undefined","_ref$before","before","_ref$remove","remove","getId","useIdGenerator","placeAfter","placeBefore","default","createElement","Property","id","array","value","createDecorator","createDecoratorFactory","decoratorProps","componentProps","Filter","Object","assign","exports"],"sources":["Filter.tsx"],"sourcesContent":["import React from \"react\";\nimport { Property, useIdGenerator } from \"@webiny/react-properties\";\nimport { makeComposable, createDecoratorFactory } from \"@webiny/app-admin\";\n\nexport interface FilterConfig {\n name: string;\n element: React.ReactElement;\n}\n\nexport interface FilterProps {\n name: string;\n element?: React.ReactElement<unknown>;\n remove?: boolean;\n before?: string;\n after?: string;\n}\n\nconst BaseFilter = makeComposable<FilterProps>(\n \"Filter\",\n ({ name, element, after = undefined, before = undefined, remove = false }) => {\n const getId = useIdGenerator(\"filter\");\n\n const placeAfter = after !== undefined ? getId(after) : undefined;\n const placeBefore = before !== undefined ? getId(before) : undefined;\n\n return (\n <Property id=\"browser\" name={\"browser\"}>\n <Property\n id={getId(name)}\n name={\"filters\"}\n remove={remove}\n array={true}\n before={placeBefore}\n after={placeAfter}\n >\n <Property id={getId(name, \"name\")} name={\"name\"} value={name} />\n {element ? (\n <Property id={getId(name, \"element\")} name={\"element\"} value={element} />\n ) : null}\n </Property>\n </Property>\n );\n }\n);\n\nconst createDecorator = createDecoratorFactory<{ name: string }>()(\n BaseFilter,\n (decoratorProps, componentProps) => {\n if (decoratorProps.name === \"*\") {\n return true;\n }\n\n return decoratorProps.name === componentProps.name;\n }\n);\n\nexport const Filter = Object.assign(BaseFilter, { createDecorator });\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AAeA,IAAMG,UAAU,GAAG,IAAAC,wBAAc,EAC7B,QAAQ,EACR,UAAAC,IAAA,EAA8E;EAAA,IAA3EC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IAAEC,OAAO,GAAAF,IAAA,CAAPE,OAAO;IAAAC,UAAA,GAAAH,IAAA,CAAEI,KAAK;IAALA,KAAK,GAAAD,UAAA,cAAGE,SAAS,GAAAF,UAAA;IAAAG,WAAA,GAAAN,IAAA,CAAEO,MAAM;IAANA,MAAM,GAAAD,WAAA,cAAGD,SAAS,GAAAC,WAAA;IAAAE,WAAA,GAAAR,IAAA,CAAES,MAAM;IAANA,MAAM,GAAAD,WAAA,cAAG,KAAK,GAAAA,WAAA;EACnE,IAAME,KAAK,GAAG,IAAAC,+BAAc,EAAC,QAAQ,CAAC;EAEtC,IAAMC,UAAU,GAAGR,KAAK,KAAKC,SAAS,GAAGK,KAAK,CAACN,KAAK,CAAC,GAAGC,SAAS;EACjE,IAAMQ,WAAW,GAAGN,MAAM,KAAKF,SAAS,GAAGK,KAAK,CAACH,MAAM,CAAC,GAAGF,SAAS;EAEpE,oBACIZ,MAAA,CAAAqB,OAAA,CAAAC,aAAA,CAACnB,gBAAA,CAAAoB,QAAQ;IAACC,EAAE,EAAC,SAAS;IAAChB,IAAI,EAAE;EAAU,gBACnCR,MAAA,CAAAqB,OAAA,CAAAC,aAAA,CAACnB,gBAAA,CAAAoB,QAAQ;IACLC,EAAE,EAAEP,KAAK,CAACT,IAAI,CAAE;IAChBA,IAAI,EAAE,SAAU;IAChBQ,MAAM,EAAEA,MAAO;IACfS,KAAK,EAAE,IAAK;IACZX,MAAM,EAAEM,WAAY;IACpBT,KAAK,EAAEQ;EAAW,gBAElBnB,MAAA,CAAAqB,OAAA,CAAAC,aAAA,CAACnB,gBAAA,CAAAoB,QAAQ;IAACC,EAAE,EAAEP,KAAK,CAACT,IAAI,EAAE,MAAM,CAAE;IAACA,IAAI,EAAE,MAAO;IAACkB,KAAK,EAAElB;EAAK,CAAE,CAAC,EAC/DC,OAAO,gBACJT,MAAA,CAAAqB,OAAA,CAAAC,aAAA,CAACnB,gBAAA,CAAAoB,QAAQ;IAACC,EAAE,EAAEP,KAAK,CAACT,IAAI,EAAE,SAAS,CAAE;IAACA,IAAI,EAAE,SAAU;IAACkB,KAAK,EAAEjB;EAAQ,CAAE,CAAC,GACzE,IACE,CACJ,CAAC;AAEnB,CACJ,CAAC;AAED,IAAMkB,eAAe,GAAG,IAAAC,gCAAsB,EAAmB,CAAC,CAC9DvB,UAAU,EACV,UAACwB,cAAc,EAAEC,cAAc,EAAK;EAChC,IAAID,cAAc,CAACrB,IAAI,KAAK,GAAG,EAAE;IAC7B,OAAO,IAAI;EACf;EAEA,OAAOqB,cAAc,CAACrB,IAAI,KAAKsB,cAAc,CAACtB,IAAI;AACtD,CACJ,CAAC;AAEM,IAAMuB,MAAM,GAAGC,MAAM,CAACC,MAAM,CAAC5B,UAAU,EAAE;EAAEsB,eAAe,EAAfA;AAAgB,CAAC,CAAC;AAACO,OAAA,CAAAH,MAAA,GAAAA,MAAA"}
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ export interface FiltersToWhereConverter {
3
+ (filters: Record<string, any>): Record<string, any>;
4
+ }
5
+ export declare const FiltersToWhere: ({ converter }: {
6
+ converter: FiltersToWhereConverter;
7
+ }) => JSX.Element;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.FiltersToWhere = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _reactProperties = require("@webiny/react-properties");
10
+ var FiltersToWhere = function FiltersToWhere(_ref) {
11
+ var converter = _ref.converter;
12
+ return /*#__PURE__*/_react.default.createElement(_reactProperties.Property, {
13
+ id: "browser",
14
+ name: "browser"
15
+ }, /*#__PURE__*/_react.default.createElement(_reactProperties.Property, {
16
+ name: "filtersToWhere",
17
+ array: true,
18
+ value: converter
19
+ }));
20
+ };
21
+ exports.FiltersToWhere = FiltersToWhere;
22
+
23
+ //# sourceMappingURL=FiltersToWhere.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactProperties","FiltersToWhere","_ref","converter","default","createElement","Property","id","name","array","value","exports"],"sources":["FiltersToWhere.tsx"],"sourcesContent":["import React from \"react\";\nimport { Property } from \"@webiny/react-properties\";\n\nexport interface FiltersToWhereConverter {\n (filters: Record<string, any>): Record<string, any>;\n}\n\nexport const FiltersToWhere = ({ converter }: { converter: FiltersToWhereConverter }) => {\n return (\n <Property id=\"browser\" name={\"browser\"}>\n <Property name={\"filtersToWhere\"} array={true} value={converter} />\n </Property>\n );\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAD,OAAA;AAMO,IAAME,cAAc,GAAG,SAAjBA,cAAcA,CAAAC,IAAA,EAA8D;EAAA,IAAxDC,SAAS,GAAAD,IAAA,CAATC,SAAS;EACtC,oBACIN,MAAA,CAAAO,OAAA,CAAAC,aAAA,CAACL,gBAAA,CAAAM,QAAQ;IAACC,EAAE,EAAC,SAAS;IAACC,IAAI,EAAE;EAAU,gBACnCX,MAAA,CAAAO,OAAA,CAAAC,aAAA,CAACL,gBAAA,CAAAM,QAAQ;IAACE,IAAI,EAAE,gBAAiB;IAACC,KAAK,EAAE,IAAK;IAACC,KAAK,EAAEP;EAAU,CAAE,CAC5D,CAAC;AAEnB,CAAC;AAACQ,OAAA,CAAAV,cAAA,GAAAA,cAAA"}
@@ -0,0 +1,17 @@
1
+ /// <reference types="react" />
2
+ import { FilterConfig } from "./Filter";
3
+ import { FiltersToWhereConverter } from "./FiltersToWhere";
4
+ export interface BrowserConfig {
5
+ filters: FilterConfig[];
6
+ filtersToWhere: FiltersToWhereConverter[];
7
+ }
8
+ export declare const Browser: {
9
+ Filter: import("@webiny/react-composition").ComposableFC<import("./Filter").FilterProps> & {
10
+ createDecorator: (decorator: import("@webiny/react-composition").Decorator<import("./Filter").FilterProps>) => (props: {
11
+ name: string;
12
+ }) => JSX.Element;
13
+ };
14
+ FiltersToWhere: ({ converter }: {
15
+ converter: FiltersToWhereConverter;
16
+ }) => JSX.Element;
17
+ };
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Browser = void 0;
7
+ var _Filter = require("./Filter");
8
+ var _FiltersToWhere = require("./FiltersToWhere");
9
+ var Browser = {
10
+ Filter: _Filter.Filter,
11
+ FiltersToWhere: _FiltersToWhere.FiltersToWhere
12
+ };
13
+ exports.Browser = Browser;
14
+
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_Filter","require","_FiltersToWhere","Browser","Filter","FiltersToWhere","exports"],"sources":["index.ts"],"sourcesContent":["import { Filter, FilterConfig } from \"./Filter\";\nimport { FiltersToWhere, FiltersToWhereConverter } from \"./FiltersToWhere\";\n\nexport interface BrowserConfig {\n filters: FilterConfig[];\n filtersToWhere: FiltersToWhereConverter[];\n}\n\nexport const Browser = {\n Filter,\n FiltersToWhere\n};\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,eAAA,GAAAD,OAAA;AAOO,IAAME,OAAO,GAAG;EACnBC,MAAM,EAANA,cAAM;EACNC,cAAc,EAAdA;AACJ,CAAC;AAACC,OAAA,CAAAH,OAAA,GAAAA,OAAA"}
@@ -0,0 +1 @@
1
+ export * from "./AuditLogsListConfig";
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _AuditLogsListConfig = require("./AuditLogsListConfig");
7
+ Object.keys(_AuditLogsListConfig).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _AuditLogsListConfig[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function get() {
13
+ return _AuditLogsListConfig[key];
14
+ }
15
+ });
16
+ });
17
+
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_AuditLogsListConfig","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["index.ts"],"sourcesContent":["export * from \"./AuditLogsListConfig\";\n"],"mappings":";;;;;AAAA,IAAAA,oBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,oBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,oBAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAT,oBAAA,CAAAK,GAAA;IAAA;EAAA;AAAA"}
@@ -0,0 +1 @@
1
+ export declare const LOCAL_STORAGE_LATEST_VISITED_FOLDER = "webiny_audit_logs_latest_visited_folder";
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.LOCAL_STORAGE_LATEST_VISITED_FOLDER = void 0;
7
+ var LOCAL_STORAGE_LATEST_VISITED_FOLDER = "webiny_audit_logs_latest_visited_folder";
8
+ exports.LOCAL_STORAGE_LATEST_VISITED_FOLDER = LOCAL_STORAGE_LATEST_VISITED_FOLDER;
9
+
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["LOCAL_STORAGE_LATEST_VISITED_FOLDER","exports"],"sources":["index.ts"],"sourcesContent":["export const LOCAL_STORAGE_LATEST_VISITED_FOLDER = \"webiny_audit_logs_latest_visited_folder\";\n"],"mappings":";;;;;;AAAO,IAAMA,mCAAmC,GAAG,yCAAyC;AAACC,OAAA,CAAAD,mCAAA,GAAAA,mCAAA"}
package/graphql.d.ts ADDED
@@ -0,0 +1 @@
1
+ export declare const LIST_USERS: any;
package/graphql.js ADDED
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.LIST_USERS = void 0;
8
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
9
+ var _graphqlTag = _interopRequireDefault(require("graphql-tag"));
10
+ var _templateObject;
11
+ var ERROR_FIELDS = /* GraphQL */"\n code\n message\n data\n";
12
+ var LIST_USERS = (0, _graphqlTag.default)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n query ListUsers {\n adminUsers {\n users: listUsers {\n data {\n id\n firstName\n lastName\n group {\n name\n }\n }\n error {\n ", "\n }\n }\n }\n }\n"])), ERROR_FIELDS);
13
+ exports.LIST_USERS = LIST_USERS;
14
+
15
+ //# sourceMappingURL=graphql.js.map
package/graphql.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_graphqlTag","_interopRequireDefault","require","_templateObject","ERROR_FIELDS","LIST_USERS","gql","_taggedTemplateLiteral2","default","exports"],"sources":["graphql.ts"],"sourcesContent":["import gql from \"graphql-tag\";\n\nconst ERROR_FIELDS = /* GraphQL */ `\n code\n message\n data\n`;\n\nexport const LIST_USERS: any = gql`\n query ListUsers {\n adminUsers {\n users: listUsers {\n data {\n id\n firstName\n lastName\n group {\n name\n }\n }\n error {\n ${ERROR_FIELDS}\n }\n }\n }\n }\n`;\n"],"mappings":";;;;;;;;AAAA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA8B,IAAAC,eAAA;AAE9B,IAAMC,YAAY,GAAG,kDAIpB;AAEM,IAAMC,UAAe,OAAGC,mBAAG,EAAAH,eAAA,KAAAA,eAAA,OAAAI,uBAAA,CAAAC,OAAA,kZAaZJ,YAAY,CAKjC;AAACK,OAAA,CAAAJ,UAAA,GAAAA,UAAA"}
@@ -0,0 +1 @@
1
+ export * from "./useAuditLogsList";
package/hooks/index.js ADDED
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _useAuditLogsList = require("./useAuditLogsList");
7
+ Object.keys(_useAuditLogsList).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _useAuditLogsList[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function get() {
13
+ return _useAuditLogsList[key];
14
+ }
15
+ });
16
+ });
17
+
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_useAuditLogsList","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["index.ts"],"sourcesContent":["export * from \"./useAuditLogsList\";\n"],"mappings":";;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,iBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,iBAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAT,iBAAA,CAAAK,GAAA;IAAA;EAAA;AAAA"}
@@ -0,0 +1,21 @@
1
+ import { OnSortingChange, Sorting } from "@webiny/ui/DataTable";
2
+ import { ListMeta } from "@webiny/app-aco/types";
3
+ import { Entry } from "../utils/transformCmsContentEntriesToRecordEntries";
4
+ export interface UseAuditLogs {
5
+ hideFilters: () => void;
6
+ isListLoading: boolean;
7
+ isListLoadingMore: boolean;
8
+ isSearch: boolean;
9
+ listMoreRecords: () => void;
10
+ listTitle?: string;
11
+ meta: ListMeta;
12
+ records: Entry[];
13
+ search: string;
14
+ setSearch: (value: string) => void;
15
+ setSorting: OnSortingChange;
16
+ showFilters: () => void;
17
+ showingFilters: boolean;
18
+ sorting: Sorting;
19
+ setFilters: (data: Record<string, any>) => void;
20
+ }
21
+ export declare const useAuditLogsList: (hasAccessToUsers: boolean) => UseAuditLogs;
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.useAuditLogsList = void 0;
8
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
+ var _react = require("react");
10
+ var _reactHooks = require("@apollo/react-hooks");
11
+ var _debounce = _interopRequireDefault(require("lodash/debounce"));
12
+ var _reactRouter = require("@webiny/react-router");
13
+ var _appAco = require("@webiny/app-aco");
14
+ var _transformCmsContentEntriesToRecordEntries = require("../utils/transformCmsContentEntriesToRecordEntries");
15
+ var _graphql = require("../graphql");
16
+ var useAuditLogsList = function useAuditLogsList(hasAccessToUsers) {
17
+ var _useRouter = (0, _reactRouter.useRouter)(),
18
+ history = _useRouter.history;
19
+ var _useAcoList = (0, _appAco.useAcoList)(),
20
+ isListLoading = _useAcoList.isListLoading,
21
+ isListLoadingMore = _useAcoList.isListLoadingMore,
22
+ isSearch = _useAcoList.isSearch,
23
+ listMoreRecords = _useAcoList.listMoreRecords,
24
+ listTitle = _useAcoList.listTitle,
25
+ meta = _useAcoList.meta,
26
+ initialRecords = _useAcoList.records,
27
+ setSearchQuery = _useAcoList.setSearchQuery,
28
+ setListSort = _useAcoList.setListSort,
29
+ setFilters = _useAcoList.setFilters,
30
+ showFilters = _useAcoList.showFilters,
31
+ hideFilters = _useAcoList.hideFilters,
32
+ showingFilters = _useAcoList.showingFilters;
33
+ var _useState = (0, _react.useState)([]),
34
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
35
+ sorting = _useState2[0],
36
+ setSorting = _useState2[1];
37
+ var _useState3 = (0, _react.useState)(""),
38
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
39
+ search = _useState4[0],
40
+ setSearch = _useState4[1];
41
+ var query = new URLSearchParams(location.search);
42
+ var searchQuery = query.get("search") || "";
43
+ var _useQuery = (0, _reactHooks.useQuery)(_graphql.LIST_USERS, {
44
+ skip: !hasAccessToUsers
45
+ }),
46
+ listUsers = _useQuery.data,
47
+ usersLoading = _useQuery.loading;
48
+
49
+ // Search-related logics: update `searchQuery` state and querystring
50
+ var updateSearch = (0, _react.useCallback)((0, _debounce.default)(function (_ref) {
51
+ var search = _ref.search,
52
+ query = _ref.query;
53
+ var searchQuery = query.get("search");
54
+ if (typeof searchQuery !== "string" && !search) {
55
+ return;
56
+ }
57
+ setSearchQuery(search);
58
+ if (searchQuery !== search) {
59
+ if (!search) {
60
+ // In case of empty `search` - remove it from `querystring`
61
+ query.delete("search");
62
+ } else {
63
+ // Otherwise, add it to `querystring`
64
+ query.set("search", search);
65
+ }
66
+ history.push("/audit-logs?".concat(query.toString()));
67
+ }
68
+ }, 500), []);
69
+
70
+ // Set "search" from search "query" on page load.
71
+ (0, _react.useEffect)(function () {
72
+ setSearch(searchQuery);
73
+ }, [searchQuery]);
74
+
75
+ // When "search" changes, trigger search-related logics
76
+ (0, _react.useEffect)(function () {
77
+ updateSearch({
78
+ search: search,
79
+ query: query
80
+ });
81
+ }, [search]);
82
+ var records = (0, _react.useMemo)(function () {
83
+ var _listUsers$adminUsers, _listUsers$adminUsers2;
84
+ var users = (listUsers === null || listUsers === void 0 ? void 0 : (_listUsers$adminUsers = listUsers.adminUsers) === null || _listUsers$adminUsers === void 0 ? void 0 : (_listUsers$adminUsers2 = _listUsers$adminUsers.users) === null || _listUsers$adminUsers2 === void 0 ? void 0 : _listUsers$adminUsers2.data) || [];
85
+ return (0, _transformCmsContentEntriesToRecordEntries.transformCmsContentEntriesToRecordEntries)(initialRecords, users);
86
+ }, [initialRecords, listUsers]);
87
+ (0, _react.useEffect)(function () {
88
+ if (!(sorting !== null && sorting !== void 0 && sorting.length)) {
89
+ return;
90
+ }
91
+ var sort = (0, _appAco.createSort)(sorting);
92
+ if (!sort) {
93
+ return;
94
+ }
95
+ setListSort(sort);
96
+ }, [sorting]);
97
+ return {
98
+ isListLoading: isListLoading || usersLoading,
99
+ isListLoadingMore: isListLoadingMore,
100
+ isSearch: isSearch,
101
+ listTitle: listTitle,
102
+ listMoreRecords: listMoreRecords,
103
+ meta: meta,
104
+ records: records,
105
+ search: search,
106
+ setSearch: setSearch,
107
+ sorting: sorting,
108
+ setSorting: setSorting,
109
+ showingFilters: showingFilters,
110
+ showFilters: showFilters,
111
+ hideFilters: hideFilters,
112
+ setFilters: setFilters
113
+ };
114
+ };
115
+ exports.useAuditLogsList = useAuditLogsList;
116
+
117
+ //# sourceMappingURL=useAuditLogsList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_reactHooks","_debounce","_interopRequireDefault","_reactRouter","_appAco","_transformCmsContentEntriesToRecordEntries","_graphql","useAuditLogsList","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","_listUsers$adminUsers","_listUsers$adminUsers2","users","adminUsers","transformCmsContentEntriesToRecordEntries","length","sort","createSort","exports"],"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 } 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<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":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAC,sBAAA,CAAAH,OAAA;AAEA,IAAAI,YAAA,GAAAJ,OAAA;AAEA,IAAAK,OAAA,GAAAL,OAAA;AAGA,IAAAM,0CAAA,GAAAN,OAAA;AAIA,IAAAO,QAAA,GAAAP,OAAA;AA6BO,IAAMQ,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIC,gBAAyB,EAAmB;EACzE,IAAAC,UAAA,GAAoB,IAAAC,sBAAS,EAAC,CAAC;IAAvBC,OAAO,GAAAF,UAAA,CAAPE,OAAO;EAEf,IAAAC,WAAA,GAcI,IAAAC,kBAAU,EAAW,CAAC;IAbtBC,aAAa,GAAAF,WAAA,CAAbE,aAAa;IACbC,iBAAiB,GAAAH,WAAA,CAAjBG,iBAAiB;IACjBC,QAAQ,GAAAJ,WAAA,CAARI,QAAQ;IACRC,eAAe,GAAAL,WAAA,CAAfK,eAAe;IACfC,SAAS,GAAAN,WAAA,CAATM,SAAS;IACTC,IAAI,GAAAP,WAAA,CAAJO,IAAI;IACKC,cAAc,GAAAR,WAAA,CAAvBS,OAAO;IACPC,cAAc,GAAAV,WAAA,CAAdU,cAAc;IACdC,WAAW,GAAAX,WAAA,CAAXW,WAAW;IACXC,UAAU,GAAAZ,WAAA,CAAVY,UAAU;IACVC,WAAW,GAAAb,WAAA,CAAXa,WAAW;IACXC,WAAW,GAAAd,WAAA,CAAXc,WAAW;IACXC,cAAc,GAAAf,WAAA,CAAde,cAAc;EAGlB,IAAAC,SAAA,GAA8B,IAAAC,eAAQ,EAAU,EAAE,CAAC;IAAAC,UAAA,OAAAC,eAAA,CAAAC,OAAA,EAAAJ,SAAA;IAA5CK,OAAO,GAAAH,UAAA;IAAEI,UAAU,GAAAJ,UAAA;EAC1B,IAAAK,UAAA,GAA4B,IAAAN,eAAQ,EAAS,EAAE,CAAC;IAAAO,UAAA,OAAAL,eAAA,CAAAC,OAAA,EAAAG,UAAA;IAAzCE,MAAM,GAAAD,UAAA;IAAEE,SAAS,GAAAF,UAAA;EACxB,IAAMG,KAAK,GAAG,IAAIC,eAAe,CAACC,QAAQ,CAACJ,MAAM,CAAC;EAClD,IAAMK,WAAW,GAAGH,KAAK,CAACI,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE;EAE7C,IAAAC,SAAA,GAAmD,IAAAC,oBAAQ,EAACC,mBAAU,EAAE;MACpEC,IAAI,EAAE,CAACvC;IACX,CAAC,CAAC;IAFYwC,SAAS,GAAAJ,SAAA,CAAfK,IAAI;IAAsBC,YAAY,GAAAN,SAAA,CAArBO,OAAO;;EAIhC;EACA,IAAMC,YAAY,GAAG,IAAAC,kBAAW,EAC5B,IAAAC,iBAAQ,EAAuB,UAAAC,IAAA,EAAuB;IAAA,IAApBlB,MAAM,GAAAkB,IAAA,CAANlB,MAAM;MAAEE,KAAK,GAAAgB,IAAA,CAALhB,KAAK;IAC3C,IAAMG,WAAW,GAAGH,KAAK,CAACI,GAAG,CAAC,QAAQ,CAAC;IAEvC,IAAI,OAAOD,WAAW,KAAK,QAAQ,IAAI,CAACL,MAAM,EAAE;MAC5C;IACJ;IAEAf,cAAc,CAACe,MAAM,CAAC;IAEtB,IAAIK,WAAW,KAAKL,MAAM,EAAE;MACxB,IAAI,CAACA,MAAM,EAAE;QACT;QACAE,KAAK,CAACiB,MAAM,CAAC,QAAQ,CAAC;MAC1B,CAAC,MAAM;QACH;QACAjB,KAAK,CAACkB,GAAG,CAAC,QAAQ,EAAEpB,MAAM,CAAC;MAC/B;MACA1B,OAAO,CAAC+C,IAAI,gBAAAC,MAAA,CAAgBpB,KAAK,CAACqB,QAAQ,CAAC,CAAC,CAAE,CAAC;IACnD;EACJ,CAAC,EAAE,GAAG,CAAC,EACP,EACJ,CAAC;;EAED;EACA,IAAAC,gBAAS,EAAC,YAAM;IACZvB,SAAS,CAACI,WAAW,CAAC;EAC1B,CAAC,EAAE,CAACA,WAAW,CAAC,CAAC;;EAEjB;EACA,IAAAmB,gBAAS,EAAC,YAAM;IACZT,YAAY,CAAC;MAAEf,MAAM,EAANA,MAAM;MAAEE,KAAK,EAALA;IAAM,CAAC,CAAC;EACnC,CAAC,EAAE,CAACF,MAAM,CAAC,CAAC;EAEZ,IAAMhB,OAAO,GAAG,IAAAyC,cAAO,EAAC,YAAM;IAAA,IAAAC,qBAAA,EAAAC,sBAAA;IAC1B,IAAMC,KAAa,GAAG,CAAAjB,SAAS,aAATA,SAAS,wBAAAe,qBAAA,GAATf,SAAS,CAAEkB,UAAU,cAAAH,qBAAA,wBAAAC,sBAAA,GAArBD,qBAAA,CAAuBE,KAAK,cAAAD,sBAAA,uBAA5BA,sBAAA,CAA8Bf,IAAI,KAAI,EAAE;IAE9D,OAAO,IAAAkB,oFAAyC,EAAC/C,cAAc,EAAE6C,KAAK,CAAC;EAC3E,CAAC,EAAE,CAAC7C,cAAc,EAAE4B,SAAS,CAAC,CAAC;EAE/B,IAAAa,gBAAS,EAAC,YAAM;IACZ,IAAI,EAAC5B,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAEmC,MAAM,GAAE;MAClB;IACJ;IACA,IAAMC,IAAI,GAAG,IAAAC,kBAAU,EAACrC,OAAO,CAAC;IAChC,IAAI,CAACoC,IAAI,EAAE;MACP;IACJ;IACA9C,WAAW,CAAC8C,IAAI,CAAC;EACrB,CAAC,EAAE,CAACpC,OAAO,CAAC,CAAC;EAEb,OAAO;IACHnB,aAAa,EAAEA,aAAa,IAAIoC,YAAY;IAC5CnC,iBAAiB,EAAjBA,iBAAiB;IACjBC,QAAQ,EAARA,QAAQ;IACRE,SAAS,EAATA,SAAS;IACTD,eAAe,EAAfA,eAAe;IACfE,IAAI,EAAJA,IAAI;IACJE,OAAO,EAAPA,OAAO;IACPgB,MAAM,EAANA,MAAM;IACNC,SAAS,EAATA,SAAS;IACTL,OAAO,EAAPA,OAAO;IACPC,UAAU,EAAVA,UAAU;IACVP,cAAc,EAAdA,cAAc;IACdF,WAAW,EAAXA,WAAW;IACXC,WAAW,EAAXA,WAAW;IACXF,UAAU,EAAVA;EACJ,CAAC;AACL,CAAC;AAAC+C,OAAA,CAAAhE,gBAAA,GAAAA,gBAAA"}
package/index.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ import React from "react";
2
+ export declare const AuditLogs: React.FC;
package/index.js ADDED
@@ -0,0 +1,53 @@
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 = function AuditLogs() {
21
+ var client = (0, _reactHooks.useApolloClient)();
22
+ var createNavigateFolderStorageKey = (0, _react.useCallback)(function () {
23
+ return _constants.LOCAL_STORAGE_LATEST_VISITED_FOLDER;
24
+ }, []);
25
+ var _useWcp = (0, _appAdmin.useWcp)(),
26
+ canUseFeature = _useWcp.canUseFeature;
27
+ if (!canUseFeature("auditLogs")) {
28
+ return null;
29
+ }
30
+ 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, {
31
+ any: ["al.*"]
32
+ }, /*#__PURE__*/_react.default.createElement(_appAdmin.AddMenu, {
33
+ name: "auditLogs",
34
+ label: "Audit Logs",
35
+ icon: /*#__PURE__*/_react.default.createElement(_quick_reference_all.ReactComponent, null)
36
+ }, /*#__PURE__*/_react.default.createElement(_appAdmin.AddMenu, {
37
+ name: "auditLogs.logs",
38
+ label: "Logs",
39
+ path: "/audit-logs"
40
+ })), /*#__PURE__*/_react.default.createElement(_appAdmin.AddRoute, {
41
+ exact: true,
42
+ path: "/audit-logs"
43
+ }, /*#__PURE__*/_react.default.createElement(_appAdmin.Layout, {
44
+ title: "Audit Logs - Logs"
45
+ }, /*#__PURE__*/_react.default.createElement(_list.AuditLogsListWithConfig, null, /*#__PURE__*/_react.default.createElement(_appAco.AcoProvider, {
46
+ id: "AuditLogs",
47
+ client: client,
48
+ createNavigateFolderStorageKey: createNavigateFolderStorageKey
49
+ }, /*#__PURE__*/_react.default.createElement(_Logs.default, null))))))), /*#__PURE__*/_react.default.createElement(_permissionRenderer.AuditLogsPermissions, null));
50
+ };
51
+ exports.AuditLogs = AuditLogs;
52
+
53
+ //# sourceMappingURL=index.js.map
package/index.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactHooks","_quick_reference_all","_appAdmin","_appSecurity","_appAco","_list","_LogsModule","_permissionRenderer","_Logs","_interopRequireDefault","_constants","AuditLogs","client","useApolloClient","createNavigateFolderStorageKey","useCallback","LOCAL_STORAGE_LATEST_VISITED_FOLDER","_useWcp","useWcp","canUseFeature","default","createElement","Fragment","LogsModule","Plugin","HasPermission","any","AddMenu","name","label","icon","ReactComponent","path","AddRoute","exact","Layout","title","AuditLogsListWithConfig","AcoProvider","id","AuditLogsPermissions","exports"],"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: React.FC = () => {\n const client = useApolloClient();\n\n const createNavigateFolderStorageKey = useCallback(() => {\n return LOCAL_STORAGE_LATEST_VISITED_FOLDER;\n }, []);\n\n const { canUseFeature } = useWcp();\n if (!canUseFeature(\"auditLogs\")) {\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 exact 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,SAAmB,GAAG,SAAtBA,SAAmBA,CAAA,EAAS;EACrC,IAAMC,MAAM,GAAG,IAAAC,2BAAe,EAAC,CAAC;EAEhC,IAAMC,8BAA8B,GAAG,IAAAC,kBAAW,EAAC,YAAM;IACrD,OAAOC,8CAAmC;EAC9C,CAAC,EAAE,EAAE,CAAC;EAEN,IAAAC,OAAA,GAA0B,IAAAC,gBAAM,EAAC,CAAC;IAA1BC,aAAa,GAAAF,OAAA,CAAbE,aAAa;EACrB,IAAI,CAACA,aAAa,CAAC,WAAW,CAAC,EAAE;IAC7B,OAAO,IAAI;EACf;EAEA,oBACItB,MAAA,CAAAuB,OAAA,CAAAC,aAAA,CAAAxB,MAAA,CAAAuB,OAAA,CAAAE,QAAA,qBACIzB,MAAA,CAAAuB,OAAA,CAAAC,aAAA,CAACf,WAAA,CAAAiB,UAAU,MAAE,CAAC,eACd1B,MAAA,CAAAuB,OAAA,CAAAC,aAAA,CAACnB,SAAA,CAAAsB,MAAM,qBACH3B,MAAA,CAAAuB,OAAA,CAAAC,aAAA,CAAClB,YAAA,CAAAsB,aAAa;IAACC,GAAG,EAAE,CAAC,MAAM;EAAE,gBACzB7B,MAAA,CAAAuB,OAAA,CAAAC,aAAA,CAACnB,SAAA,CAAAyB,OAAO;IAACC,IAAI,EAAC,WAAW;IAACC,KAAK,cAAe;IAACC,IAAI,eAAEjC,MAAA,CAAAuB,OAAA,CAAAC,aAAA,CAACpB,oBAAA,CAAA8B,cAAI,MAAE;EAAE,gBAC1DlC,MAAA,CAAAuB,OAAA,CAAAC,aAAA,CAACnB,SAAA,CAAAyB,OAAO;IAACC,IAAI,EAAE,gBAAiB;IAACC,KAAK,QAAS;IAACG,IAAI,EAAC;EAAa,CAAE,CAC/D,CAAC,eACVnC,MAAA,CAAAuB,OAAA,CAAAC,aAAA,CAACnB,SAAA,CAAA+B,QAAQ;IAACC,KAAK;IAACF,IAAI,EAAE;EAAc,gBAChCnC,MAAA,CAAAuB,OAAA,CAAAC,aAAA,CAACnB,SAAA,CAAAiC,MAAM;IAACC,KAAK,EAAE;EAAoB,gBAC/BvC,MAAA,CAAAuB,OAAA,CAAAC,aAAA,CAAChB,KAAA,CAAAgC,uBAAuB,qBACpBxC,MAAA,CAAAuB,OAAA,CAAAC,aAAA,CAACjB,OAAA,CAAAkC,WAAW;IACRC,EAAE,EAAC,WAAW;IACd3B,MAAM,EAAEA,MAAO;IACfE,8BAA8B,EAAEA;EAA+B,gBAE/DjB,MAAA,CAAAuB,OAAA,CAAAC,aAAA,CAACb,KAAA,CAAAY,OAAa,MAAE,CACP,CACQ,CACrB,CACF,CACC,CACX,CAAC,eACTvB,MAAA,CAAAuB,OAAA,CAAAC,aAAA,CAACd,mBAAA,CAAAiC,oBAAoB,MAAE,CACzB,CAAC;AAEX,CAAC;AAACC,OAAA,CAAA9B,SAAA,GAAAA,SAAA"}