@webiny/app-audit-logs 6.1.0 → 6.2.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.
- package/SecurityPermission.js +2 -4
- package/SecurityPermission.js.map +1 -1
- package/domain/permissionsSchema.d.ts +4 -0
- package/domain/permissionsSchema.js +7 -0
- package/domain/permissionsSchema.js.map +1 -0
- package/features/permissions/abstractions.d.ts +17 -0
- package/features/permissions/abstractions.js +5 -0
- package/features/permissions/abstractions.js.map +1 -0
- package/features/permissions/feature.d.ts +14 -0
- package/features/permissions/feature.js +6 -0
- package/features/permissions/feature.js.map +1 -0
- package/index.js +5 -2
- package/index.js.map +1 -1
- package/package.json +14 -14
package/SecurityPermission.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { AdminConfig } from "@webiny/app-admin";
|
|
3
3
|
import { ReactComponent as PermissionsIcon } from "@webiny/icons/manage_search.svg";
|
|
4
|
+
import { AL_PERMISSIONS_SCHEMA } from "./domain/permissionsSchema.js";
|
|
4
5
|
const {
|
|
5
6
|
Security
|
|
6
7
|
} = AdminConfig;
|
|
@@ -10,10 +11,7 @@ export const SecurityPermission = () => {
|
|
|
10
11
|
title: "Audit Logs",
|
|
11
12
|
description: "Manage Audit Logs permissions.",
|
|
12
13
|
icon: /*#__PURE__*/React.createElement(PermissionsIcon, null),
|
|
13
|
-
schema:
|
|
14
|
-
prefix: "al",
|
|
15
|
-
fullAccess: true
|
|
16
|
-
}
|
|
14
|
+
schema: AL_PERMISSIONS_SCHEMA
|
|
17
15
|
}));
|
|
18
16
|
};
|
|
19
17
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","AdminConfig","ReactComponent","PermissionsIcon","Security","SecurityPermission","createElement","Permissions","name","title","description","icon","schema"
|
|
1
|
+
{"version":3,"names":["React","AdminConfig","ReactComponent","PermissionsIcon","AL_PERMISSIONS_SCHEMA","Security","SecurityPermission","createElement","Permissions","name","title","description","icon","schema"],"sources":["SecurityPermission.tsx"],"sourcesContent":["import React from \"react\";\nimport { AdminConfig } from \"@webiny/app-admin\";\nimport { ReactComponent as PermissionsIcon } from \"@webiny/icons/manage_search.svg\";\nimport { AL_PERMISSIONS_SCHEMA } from \"~/domain/permissionsSchema.js\";\n\nconst { Security } = AdminConfig;\n\nexport const SecurityPermission = () => {\n return (\n <AdminConfig>\n <Security.Permissions\n name=\"audit-logs\"\n title=\"Audit Logs\"\n description=\"Manage Audit Logs permissions.\"\n icon={<PermissionsIcon />}\n schema={AL_PERMISSIONS_SCHEMA}\n />\n </AdminConfig>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,WAAW,QAAQ,mBAAmB;AAC/C,SAASC,cAAc,IAAIC,eAAe,QAAQ,iCAAiC;AACnF,SAASC,qBAAqB;AAE9B,MAAM;EAAEC;AAAS,CAAC,GAAGJ,WAAW;AAEhC,OAAO,MAAMK,kBAAkB,GAAGA,CAAA,KAAM;EACpC,oBACIN,KAAA,CAAAO,aAAA,CAACN,WAAW,qBACRD,KAAA,CAAAO,aAAA,CAACF,QAAQ,CAACG,WAAW;IACjBC,IAAI,EAAC,YAAY;IACjBC,KAAK,EAAC,YAAY;IAClBC,WAAW,EAAC,gCAAgC;IAC5CC,IAAI,eAAEZ,KAAA,CAAAO,aAAA,CAACJ,eAAe,MAAE,CAAE;IAC1BU,MAAM,EAAET;EAAsB,CACjC,CACQ,CAAC;AAEtB,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createPermissionSchema","AL_PERMISSIONS_SCHEMA","prefix","fullAccess"],"sources":["permissionsSchema.ts"],"sourcesContent":["import { createPermissionSchema } from \"@webiny/app-admin\";\n\nexport const AL_PERMISSIONS_SCHEMA = createPermissionSchema({\n prefix: \"al\",\n fullAccess: true\n});\n"],"mappings":"AAAA,SAASA,sBAAsB,QAAQ,mBAAmB;AAE1D,OAAO,MAAMC,qBAAqB,GAAGD,sBAAsB,CAAC;EACxDE,MAAM,EAAE,IAAI;EACZC,UAAU,EAAE;AAChB,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { Permissions } from "@webiny/app-admin/exports/admin/security.js";
|
|
2
|
+
import { AL_PERMISSIONS_SCHEMA } from "../../domain/permissionsSchema.js";
|
|
3
|
+
export declare const AuditLogsPermissions: import("@webiny/di").Abstraction<{
|
|
4
|
+
canAccess: (entityId: never) => boolean;
|
|
5
|
+
canAction: (action: string, entityId: never) => boolean;
|
|
6
|
+
} & {
|
|
7
|
+
canRead: (entityId: string) => boolean;
|
|
8
|
+
canCreate: (entityId: string) => boolean;
|
|
9
|
+
canEdit: (entityId: string, item?: import("@webiny/app-admin/permissions").OwnableItem) => boolean;
|
|
10
|
+
canDelete: (entityId: string, item?: import("@webiny/app-admin/permissions").OwnableItem) => boolean;
|
|
11
|
+
} & {
|
|
12
|
+
canPublish: (entityId: string) => boolean;
|
|
13
|
+
canUnpublish: (entityId: string) => boolean;
|
|
14
|
+
}>;
|
|
15
|
+
export declare namespace AuditLogsPermissions {
|
|
16
|
+
type Interface = Permissions<typeof AL_PERMISSIONS_SCHEMA>;
|
|
17
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { createPermissionsAbstraction } from "@webiny/app-admin/exports/admin/security.js";
|
|
2
|
+
import { AL_PERMISSIONS_SCHEMA } from "../../domain/permissionsSchema.js";
|
|
3
|
+
export const AuditLogsPermissions = createPermissionsAbstraction(AL_PERMISSIONS_SCHEMA);
|
|
4
|
+
|
|
5
|
+
//# sourceMappingURL=abstractions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createPermissionsAbstraction","AL_PERMISSIONS_SCHEMA","AuditLogsPermissions"],"sources":["abstractions.ts"],"sourcesContent":["import { createPermissionsAbstraction } from \"@webiny/app-admin/exports/admin/security.js\";\nimport type { Permissions } from \"@webiny/app-admin/exports/admin/security.js\";\nimport { AL_PERMISSIONS_SCHEMA } from \"~/domain/permissionsSchema.js\";\n\nexport const AuditLogsPermissions = createPermissionsAbstraction(AL_PERMISSIONS_SCHEMA);\n\nexport namespace AuditLogsPermissions {\n export type Interface = Permissions<typeof AL_PERMISSIONS_SCHEMA>;\n}\n"],"mappings":"AAAA,SAASA,4BAA4B,QAAQ,6CAA6C;AAE1F,SAASC,qBAAqB;AAE9B,OAAO,MAAMC,oBAAoB,GAAGF,4BAA4B,CAACC,qBAAqB,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare const AlPermissionsFeature: import("@webiny/feature/admin/createFeature.js").FeatureDefinition<{
|
|
2
|
+
permissions: {
|
|
3
|
+
canAccess: (entityId: never) => boolean;
|
|
4
|
+
canAction: (action: string, entityId: never) => boolean;
|
|
5
|
+
} & {
|
|
6
|
+
canRead: (entityId: string) => boolean;
|
|
7
|
+
canCreate: (entityId: string) => boolean;
|
|
8
|
+
canEdit: (entityId: string, item?: import("@webiny/app-admin/index.js").OwnableItem) => boolean;
|
|
9
|
+
canDelete: (entityId: string, item?: import("@webiny/app-admin/index.js").OwnableItem) => boolean;
|
|
10
|
+
} & {
|
|
11
|
+
canPublish: (entityId: string) => boolean;
|
|
12
|
+
canUnpublish: (entityId: string) => boolean;
|
|
13
|
+
};
|
|
14
|
+
}, []>;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { createPermissionsFeature } from "@webiny/app-admin/exports/admin/security.js";
|
|
2
|
+
import { AL_PERMISSIONS_SCHEMA } from "../../domain/permissionsSchema.js";
|
|
3
|
+
import { AuditLogsPermissions } from "./abstractions.js";
|
|
4
|
+
export const AlPermissionsFeature = createPermissionsFeature(AL_PERMISSIONS_SCHEMA, AuditLogsPermissions);
|
|
5
|
+
|
|
6
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createPermissionsFeature","AL_PERMISSIONS_SCHEMA","AuditLogsPermissions","AlPermissionsFeature"],"sources":["feature.ts"],"sourcesContent":["import { createPermissionsFeature } from \"@webiny/app-admin/exports/admin/security.js\";\nimport { AL_PERMISSIONS_SCHEMA } from \"~/domain/permissionsSchema.js\";\nimport { AuditLogsPermissions } from \"./abstractions.js\";\n\nexport const AlPermissionsFeature = createPermissionsFeature(\n AL_PERMISSIONS_SCHEMA,\n AuditLogsPermissions\n);\n"],"mappings":"AAAA,SAASA,wBAAwB,QAAQ,6CAA6C;AACtF,SAASC,qBAAqB;AAC9B,SAASC,oBAAoB;AAE7B,OAAO,MAAMC,oBAAoB,GAAGH,wBAAwB,CACxDC,qBAAqB,EACrBC,oBACJ,CAAC","ignoreList":[]}
|
package/index.js
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { useRouter } from "@webiny/app-admin";
|
|
3
3
|
import { ReactComponent as Icon } from "@webiny/icons/manage_search.svg";
|
|
4
|
-
import { AdminConfig, AdminLayout, useWcp } from "@webiny/app-admin";
|
|
4
|
+
import { AdminConfig, AdminLayout, RegisterFeature, useWcp } from "@webiny/app-admin";
|
|
5
5
|
import { HasPermission } from "@webiny/app-admin";
|
|
6
6
|
import { LogsModule } from "./views/Logs/LogsModule.js";
|
|
7
7
|
import { SecurityPermission } from "./SecurityPermission.js";
|
|
8
8
|
import { LogsView } from "./views/Logs/LogsView.js";
|
|
9
9
|
import { AuditLogsListWithConfig } from "./config/list/index.js";
|
|
10
10
|
import { Routes } from "./routes.js";
|
|
11
|
+
import { AlPermissionsFeature } from "./features/permissions/feature.js";
|
|
11
12
|
const {
|
|
12
13
|
Menu,
|
|
13
14
|
Route
|
|
@@ -18,7 +19,9 @@ export const AuditLogs = () => {
|
|
|
18
19
|
if (!wcp.canUseAuditLogs()) {
|
|
19
20
|
return null;
|
|
20
21
|
}
|
|
21
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(
|
|
22
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(RegisterFeature, {
|
|
23
|
+
feature: AlPermissionsFeature
|
|
24
|
+
}), /*#__PURE__*/React.createElement(LogsModule, null), /*#__PURE__*/React.createElement(SecurityPermission, null), /*#__PURE__*/React.createElement(AdminConfig, null, /*#__PURE__*/React.createElement(HasPermission, {
|
|
22
25
|
any: ["al.*"]
|
|
23
26
|
}, /*#__PURE__*/React.createElement(Menu, {
|
|
24
27
|
name: "auditLogs",
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useRouter","ReactComponent","Icon","AdminConfig","AdminLayout","useWcp","HasPermission","LogsModule","SecurityPermission","LogsView","AuditLogsListWithConfig","Routes","Menu","Route","AuditLogs","wcp","router","canUseAuditLogs","createElement","Fragment","any","name","pinnable","element","Link","text","icon","label","to","getLink","AuditLogsList","route","title"],"sources":["index.tsx"],"sourcesContent":["import React from \"react\";\nimport { useRouter } from \"@webiny/app-admin\";\nimport { ReactComponent as Icon } from \"@webiny/icons/manage_search.svg\";\nimport { AdminConfig, AdminLayout, useWcp } from \"@webiny/app-admin\";\nimport { HasPermission } from \"@webiny/app-admin\";\nimport { LogsModule } from \"~/views/Logs/LogsModule.js\";\nimport { SecurityPermission } from \"~/SecurityPermission.js\";\nimport { LogsView } from \"~/views/Logs/LogsView.js\";\nimport { AuditLogsListWithConfig } from \"~/config/list/index.js\";\nimport { Routes } from \"~/routes.js\";\n\nconst { Menu, Route } = AdminConfig;\n\nexport const AuditLogs = () => {\n const wcp = useWcp();\n const router = useRouter();\n\n if (!wcp.canUseAuditLogs()) {\n return null;\n }\n\n return (\n <>\n <LogsModule />\n <SecurityPermission />\n <AdminConfig>\n <HasPermission any={[\"al.*\"]}>\n <Menu\n name=\"auditLogs\"\n pinnable\n element={\n <Menu.Link\n text={\"Audit Logs\"}\n icon={<Menu.Link.Icon element={<Icon />} label={\"Audit Logs\"} />}\n to={router.getLink(Routes.AuditLogsList)}\n />\n }\n />\n <Route\n route={Routes.AuditLogsList}\n element={\n <AdminLayout title={\"Audit Logs - Logs\"}>\n <AuditLogsListWithConfig>\n <LogsView />\n </AuditLogsListWithConfig>\n </AdminLayout>\n }\n />\n </HasPermission>\n </AdminConfig>\n </>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,SAAS,QAAQ,mBAAmB;AAC7C,SAASC,cAAc,IAAIC,IAAI,QAAQ,iCAAiC;AACxE,SAASC,WAAW,EAAEC,WAAW,EAAEC,MAAM,QAAQ,mBAAmB;
|
|
1
|
+
{"version":3,"names":["React","useRouter","ReactComponent","Icon","AdminConfig","AdminLayout","RegisterFeature","useWcp","HasPermission","LogsModule","SecurityPermission","LogsView","AuditLogsListWithConfig","Routes","AlPermissionsFeature","Menu","Route","AuditLogs","wcp","router","canUseAuditLogs","createElement","Fragment","feature","any","name","pinnable","element","Link","text","icon","label","to","getLink","AuditLogsList","route","title"],"sources":["index.tsx"],"sourcesContent":["import React from \"react\";\nimport { useRouter } from \"@webiny/app-admin\";\nimport { ReactComponent as Icon } from \"@webiny/icons/manage_search.svg\";\nimport { AdminConfig, AdminLayout, RegisterFeature, useWcp } from \"@webiny/app-admin\";\nimport { HasPermission } from \"@webiny/app-admin\";\nimport { LogsModule } from \"~/views/Logs/LogsModule.js\";\nimport { SecurityPermission } from \"~/SecurityPermission.js\";\nimport { LogsView } from \"~/views/Logs/LogsView.js\";\nimport { AuditLogsListWithConfig } from \"~/config/list/index.js\";\nimport { Routes } from \"~/routes.js\";\nimport { AlPermissionsFeature } from \"~/features/permissions/feature.js\";\n\nconst { Menu, Route } = AdminConfig;\n\nexport const AuditLogs = () => {\n const wcp = useWcp();\n const router = useRouter();\n\n if (!wcp.canUseAuditLogs()) {\n return null;\n }\n\n return (\n <>\n <RegisterFeature feature={AlPermissionsFeature} />\n <LogsModule />\n <SecurityPermission />\n <AdminConfig>\n <HasPermission any={[\"al.*\"]}>\n <Menu\n name=\"auditLogs\"\n pinnable\n element={\n <Menu.Link\n text={\"Audit Logs\"}\n icon={<Menu.Link.Icon element={<Icon />} label={\"Audit Logs\"} />}\n to={router.getLink(Routes.AuditLogsList)}\n />\n }\n />\n <Route\n route={Routes.AuditLogsList}\n element={\n <AdminLayout title={\"Audit Logs - Logs\"}>\n <AuditLogsListWithConfig>\n <LogsView />\n </AuditLogsListWithConfig>\n </AdminLayout>\n }\n />\n </HasPermission>\n </AdminConfig>\n </>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,SAAS,QAAQ,mBAAmB;AAC7C,SAASC,cAAc,IAAIC,IAAI,QAAQ,iCAAiC;AACxE,SAASC,WAAW,EAAEC,WAAW,EAAEC,eAAe,EAAEC,MAAM,QAAQ,mBAAmB;AACrF,SAASC,aAAa,QAAQ,mBAAmB;AACjD,SAASC,UAAU;AACnB,SAASC,kBAAkB;AAC3B,SAASC,QAAQ;AACjB,SAASC,uBAAuB;AAChC,SAASC,MAAM;AACf,SAASC,oBAAoB;AAE7B,MAAM;EAAEC,IAAI;EAAEC;AAAM,CAAC,GAAGZ,WAAW;AAEnC,OAAO,MAAMa,SAAS,GAAGA,CAAA,KAAM;EAC3B,MAAMC,GAAG,GAAGX,MAAM,CAAC,CAAC;EACpB,MAAMY,MAAM,GAAGlB,SAAS,CAAC,CAAC;EAE1B,IAAI,CAACiB,GAAG,CAACE,eAAe,CAAC,CAAC,EAAE;IACxB,OAAO,IAAI;EACf;EAEA,oBACIpB,KAAA,CAAAqB,aAAA,CAAArB,KAAA,CAAAsB,QAAA,qBACItB,KAAA,CAAAqB,aAAA,CAACf,eAAe;IAACiB,OAAO,EAAET;EAAqB,CAAE,CAAC,eAClDd,KAAA,CAAAqB,aAAA,CAACZ,UAAU,MAAE,CAAC,eACdT,KAAA,CAAAqB,aAAA,CAACX,kBAAkB,MAAE,CAAC,eACtBV,KAAA,CAAAqB,aAAA,CAACjB,WAAW,qBACRJ,KAAA,CAAAqB,aAAA,CAACb,aAAa;IAACgB,GAAG,EAAE,CAAC,MAAM;EAAE,gBACzBxB,KAAA,CAAAqB,aAAA,CAACN,IAAI;IACDU,IAAI,EAAC,WAAW;IAChBC,QAAQ;IACRC,OAAO,eACH3B,KAAA,CAAAqB,aAAA,CAACN,IAAI,CAACa,IAAI;MACNC,IAAI,EAAE,YAAa;MACnBC,IAAI,eAAE9B,KAAA,CAAAqB,aAAA,CAACN,IAAI,CAACa,IAAI,CAACzB,IAAI;QAACwB,OAAO,eAAE3B,KAAA,CAAAqB,aAAA,CAAClB,IAAI,MAAE,CAAE;QAAC4B,KAAK,EAAE;MAAa,CAAE,CAAE;MACjEC,EAAE,EAAEb,MAAM,CAACc,OAAO,CAACpB,MAAM,CAACqB,aAAa;IAAE,CAC5C;EACJ,CACJ,CAAC,eACFlC,KAAA,CAAAqB,aAAA,CAACL,KAAK;IACFmB,KAAK,EAAEtB,MAAM,CAACqB,aAAc;IAC5BP,OAAO,eACH3B,KAAA,CAAAqB,aAAA,CAAChB,WAAW;MAAC+B,KAAK,EAAE;IAAoB,gBACpCpC,KAAA,CAAAqB,aAAA,CAACT,uBAAuB,qBACpBZ,KAAA,CAAAqB,aAAA,CAACV,QAAQ,MAAE,CACU,CAChB;EAChB,CACJ,CACU,CACN,CACf,CAAC;AAEX,CAAC","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webiny/app-audit-logs",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.2.0-beta.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"repository": {
|
|
@@ -14,25 +14,25 @@
|
|
|
14
14
|
"@emotion/css": "11.13.5",
|
|
15
15
|
"@emotion/react": "11.14.0",
|
|
16
16
|
"@emotion/styled": "11.14.1",
|
|
17
|
-
"@webiny/app": "6.
|
|
18
|
-
"@webiny/app-admin": "6.
|
|
19
|
-
"@webiny/common-audit-logs": "6.
|
|
20
|
-
"@webiny/form": "6.
|
|
21
|
-
"@webiny/icons": "6.
|
|
22
|
-
"@webiny/react-composition": "6.
|
|
23
|
-
"@webiny/react-properties": "6.
|
|
24
|
-
"@webiny/ui": "6.
|
|
17
|
+
"@webiny/app": "6.2.0-beta.0",
|
|
18
|
+
"@webiny/app-admin": "6.2.0-beta.0",
|
|
19
|
+
"@webiny/common-audit-logs": "6.2.0-beta.0",
|
|
20
|
+
"@webiny/form": "6.2.0-beta.0",
|
|
21
|
+
"@webiny/icons": "6.2.0-beta.0",
|
|
22
|
+
"@webiny/react-composition": "6.2.0-beta.0",
|
|
23
|
+
"@webiny/react-properties": "6.2.0-beta.0",
|
|
24
|
+
"@webiny/ui": "6.2.0-beta.0",
|
|
25
25
|
"date-fns": "4.1.0",
|
|
26
26
|
"graphql-tag": "2.12.6",
|
|
27
|
-
"lodash": "4.
|
|
27
|
+
"lodash": "4.18.1",
|
|
28
28
|
"zod": "4.3.6"
|
|
29
29
|
},
|
|
30
30
|
"peerDependencies": {
|
|
31
|
-
"react": "18.
|
|
31
|
+
"react": "18.3.1"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
|
-
"@types/react": "18.
|
|
35
|
-
"@webiny/build-tools": "6.
|
|
34
|
+
"@types/react": "18.3.28",
|
|
35
|
+
"@webiny/build-tools": "6.2.0-beta.0",
|
|
36
36
|
"execa": "5.1.1",
|
|
37
37
|
"rimraf": "6.1.3",
|
|
38
38
|
"typescript": "5.9.3"
|
|
@@ -41,5 +41,5 @@
|
|
|
41
41
|
"access": "public",
|
|
42
42
|
"directory": "dist"
|
|
43
43
|
},
|
|
44
|
-
"gitHead": "
|
|
44
|
+
"gitHead": "3d3148358b6febbc857371930871743bec3b3939"
|
|
45
45
|
}
|