@webiny/app-security-access-management 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/Extension.js +11 -7
- package/Extension.js.map +1 -1
- package/domain/permissionsSchema.d.ts +20 -0
- package/domain/permissionsSchema.js +23 -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/package.json +13 -13
package/Extension.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { Fragment, memo } from "react";
|
|
2
|
-
import { useRouter, AdminConfig, AdminLayout, Wcp } from "@webiny/app-admin";
|
|
2
|
+
import { useRouter, AdminConfig, AdminLayout, Wcp, RegisterFeature } from "@webiny/app-admin";
|
|
3
3
|
import { HasPermission } from "@webiny/app-admin";
|
|
4
4
|
import { Permission } from "./constants.js";
|
|
5
5
|
import { Roles } from "./ui/views/Roles/index.js";
|
|
@@ -7,13 +7,16 @@ import { Teams } from "./ui/views/Teams/index.js";
|
|
|
7
7
|
import { ApiKeys } from "./ui/views/ApiKeys/index.js";
|
|
8
8
|
import { Routes } from "./routes.js";
|
|
9
9
|
import { SecurityPermissions } from "./SecurityPermissions.js";
|
|
10
|
+
import { SecurityPermissionsFeature } from "./features/permissions/feature.js";
|
|
10
11
|
const {
|
|
11
12
|
Menu,
|
|
12
13
|
Route
|
|
13
14
|
} = AdminConfig;
|
|
14
15
|
const AccessManagementExtension = () => {
|
|
15
16
|
const router = useRouter();
|
|
16
|
-
return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(
|
|
17
|
+
return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(RegisterFeature, {
|
|
18
|
+
feature: SecurityPermissionsFeature
|
|
19
|
+
}), /*#__PURE__*/React.createElement(SecurityPermissions, null), /*#__PURE__*/React.createElement(AdminConfig, null, /*#__PURE__*/React.createElement(HasPermission, {
|
|
17
20
|
name: Permission.Roles
|
|
18
21
|
}, /*#__PURE__*/React.createElement(Route, {
|
|
19
22
|
route: Routes.Roles.List,
|
|
@@ -37,16 +40,17 @@ const AccessManagementExtension = () => {
|
|
|
37
40
|
})), /*#__PURE__*/React.createElement(HasPermission, {
|
|
38
41
|
any: [Permission.Roles, Permission.ApiKeys, Permission.Teams]
|
|
39
42
|
}, /*#__PURE__*/React.createElement(Menu, {
|
|
40
|
-
name: "security
|
|
43
|
+
name: "settings.security",
|
|
41
44
|
parent: "settings",
|
|
42
45
|
element: /*#__PURE__*/React.createElement(Menu.Group, {
|
|
43
|
-
text: "Access Management"
|
|
46
|
+
text: "Access Management",
|
|
47
|
+
collapsible: false
|
|
44
48
|
})
|
|
45
49
|
})), /*#__PURE__*/React.createElement(HasPermission, {
|
|
46
50
|
name: Permission.Roles
|
|
47
51
|
}, /*#__PURE__*/React.createElement(Menu, {
|
|
48
52
|
name: "security.roles",
|
|
49
|
-
parent: "settings",
|
|
53
|
+
parent: "settings.security",
|
|
50
54
|
element: /*#__PURE__*/React.createElement(Menu.Link, {
|
|
51
55
|
text: "Roles",
|
|
52
56
|
to: router.getLink(Routes.Roles.List),
|
|
@@ -56,7 +60,7 @@ const AccessManagementExtension = () => {
|
|
|
56
60
|
name: Permission.Teams
|
|
57
61
|
}, /*#__PURE__*/React.createElement(Menu, {
|
|
58
62
|
name: "security.teams",
|
|
59
|
-
parent: "settings",
|
|
63
|
+
parent: "settings.security",
|
|
60
64
|
element: /*#__PURE__*/React.createElement(Menu.Link, {
|
|
61
65
|
text: "Teams",
|
|
62
66
|
to: router.getLink(Routes.Teams.List),
|
|
@@ -66,7 +70,7 @@ const AccessManagementExtension = () => {
|
|
|
66
70
|
name: Permission.ApiKeys
|
|
67
71
|
}, /*#__PURE__*/React.createElement(Menu, {
|
|
68
72
|
name: "security.apiKeys",
|
|
69
|
-
parent: "settings",
|
|
73
|
+
parent: "settings.security",
|
|
70
74
|
element: /*#__PURE__*/React.createElement(Menu.Link, {
|
|
71
75
|
text: "API Keys",
|
|
72
76
|
to: router.getLink(Routes.ApiKeys.List),
|
package/Extension.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Fragment","memo","useRouter","AdminConfig","AdminLayout","Wcp","HasPermission","Permission","Roles","Teams","ApiKeys","Routes","SecurityPermissions","Menu","Route","AccessManagementExtension","router","createElement","name","route","List","element","title","CanUseTeams","any","parent","Group","text","Link","to","getLink","pinnable","AccessManagement"],"sources":["Extension.tsx"],"sourcesContent":["import React, { Fragment, memo } from \"react\";\nimport { useRouter, AdminConfig, AdminLayout, Wcp } from \"@webiny/app-admin\";\nimport { HasPermission } from \"@webiny/app-admin\";\nimport { Permission } from \"~/constants.js\";\nimport { Roles } from \"~/ui/views/Roles/index.js\";\nimport { Teams } from \"~/ui/views/Teams/index.js\";\nimport { ApiKeys } from \"~/ui/views/ApiKeys/index.js\";\nimport { Routes } from \"~/routes.js\";\nimport { SecurityPermissions } from \"./SecurityPermissions.js\";\n\nconst { Menu, Route } = AdminConfig;\n\nconst AccessManagementExtension = () => {\n const router = useRouter();\n\n return (\n <Fragment>\n <SecurityPermissions />\n <AdminConfig>\n <HasPermission name={Permission.Roles}>\n <Route\n route={Routes.Roles.List}\n element={\n <AdminLayout title={\"Access Management - Roles\"}>\n <Roles />\n </AdminLayout>\n }\n />\n </HasPermission>\n <Wcp.CanUseTeams>\n <HasPermission name={Permission.Teams}>\n <Route\n route={Routes.Teams.List}\n element={\n <AdminLayout title={\"Access Management - Teams\"}>\n <Teams />\n </AdminLayout>\n }\n />\n </HasPermission>\n </Wcp.CanUseTeams>\n <HasPermission name={Permission.ApiKeys}>\n <Route\n route={Routes.ApiKeys.List}\n element={\n <AdminLayout title={\"Access Management - API Keys\"}>\n <ApiKeys />\n </AdminLayout>\n }\n />\n </HasPermission>\n\n <HasPermission any={[Permission.Roles, Permission.ApiKeys, Permission.Teams]}>\n <Menu\n name={\"security
|
|
1
|
+
{"version":3,"names":["React","Fragment","memo","useRouter","AdminConfig","AdminLayout","Wcp","RegisterFeature","HasPermission","Permission","Roles","Teams","ApiKeys","Routes","SecurityPermissions","SecurityPermissionsFeature","Menu","Route","AccessManagementExtension","router","createElement","feature","name","route","List","element","title","CanUseTeams","any","parent","Group","text","collapsible","Link","to","getLink","pinnable","AccessManagement"],"sources":["Extension.tsx"],"sourcesContent":["import React, { Fragment, memo } from \"react\";\nimport { useRouter, AdminConfig, AdminLayout, Wcp, RegisterFeature } from \"@webiny/app-admin\";\nimport { HasPermission } from \"@webiny/app-admin\";\nimport { Permission } from \"~/constants.js\";\nimport { Roles } from \"~/ui/views/Roles/index.js\";\nimport { Teams } from \"~/ui/views/Teams/index.js\";\nimport { ApiKeys } from \"~/ui/views/ApiKeys/index.js\";\nimport { Routes } from \"~/routes.js\";\nimport { SecurityPermissions } from \"./SecurityPermissions.js\";\nimport { SecurityPermissionsFeature } from \"~/features/permissions/feature.js\";\n\nconst { Menu, Route } = AdminConfig;\n\nconst AccessManagementExtension = () => {\n const router = useRouter();\n\n return (\n <Fragment>\n <RegisterFeature feature={SecurityPermissionsFeature} />\n <SecurityPermissions />\n <AdminConfig>\n <HasPermission name={Permission.Roles}>\n <Route\n route={Routes.Roles.List}\n element={\n <AdminLayout title={\"Access Management - Roles\"}>\n <Roles />\n </AdminLayout>\n }\n />\n </HasPermission>\n <Wcp.CanUseTeams>\n <HasPermission name={Permission.Teams}>\n <Route\n route={Routes.Teams.List}\n element={\n <AdminLayout title={\"Access Management - Teams\"}>\n <Teams />\n </AdminLayout>\n }\n />\n </HasPermission>\n </Wcp.CanUseTeams>\n <HasPermission name={Permission.ApiKeys}>\n <Route\n route={Routes.ApiKeys.List}\n element={\n <AdminLayout title={\"Access Management - API Keys\"}>\n <ApiKeys />\n </AdminLayout>\n }\n />\n </HasPermission>\n\n <HasPermission any={[Permission.Roles, Permission.ApiKeys, Permission.Teams]}>\n <Menu\n name={\"settings.security\"}\n parent={\"settings\"}\n element={<Menu.Group text={\"Access Management\"} collapsible={false} />}\n />\n </HasPermission>\n <HasPermission name={Permission.Roles}>\n <Menu\n name={\"security.roles\"}\n parent={\"settings.security\"}\n element={\n <Menu.Link\n text={\"Roles\"}\n to={router.getLink(Routes.Roles.List)}\n pinnable={true}\n />\n }\n />\n </HasPermission>\n <Wcp.CanUseTeams>\n <HasPermission name={Permission.Teams}>\n <Menu\n name={\"security.teams\"}\n parent={\"settings.security\"}\n element={\n <Menu.Link\n text={\"Teams\"}\n to={router.getLink(Routes.Teams.List)}\n pinnable={true}\n />\n }\n />\n </HasPermission>\n </Wcp.CanUseTeams>\n\n <HasPermission name={Permission.ApiKeys}>\n <Menu\n name={\"security.apiKeys\"}\n parent={\"settings.security\"}\n element={\n <Menu.Link\n text={\"API Keys\"}\n to={router.getLink(Routes.ApiKeys.List)}\n pinnable={true}\n />\n }\n />\n </HasPermission>\n </AdminConfig>\n </Fragment>\n );\n};\n\nexport const AccessManagement = memo(AccessManagementExtension);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export declare const SECURITY_PERMISSIONS_SCHEMA: {
|
|
2
|
+
readonly prefix: "security";
|
|
3
|
+
readonly fullAccess: true;
|
|
4
|
+
readonly entities: [{
|
|
5
|
+
readonly id: "apiKey";
|
|
6
|
+
readonly title: "API Keys";
|
|
7
|
+
readonly permission: "security.apiKey";
|
|
8
|
+
readonly scopes: ["full"];
|
|
9
|
+
}, {
|
|
10
|
+
readonly id: "group";
|
|
11
|
+
readonly title: "Roles";
|
|
12
|
+
readonly permission: "security.group";
|
|
13
|
+
readonly scopes: ["full"];
|
|
14
|
+
}, {
|
|
15
|
+
readonly id: "team";
|
|
16
|
+
readonly title: "Teams";
|
|
17
|
+
readonly permission: "security.team";
|
|
18
|
+
readonly scopes: ["full"];
|
|
19
|
+
}];
|
|
20
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { createPermissionSchema } from "@webiny/app-admin";
|
|
2
|
+
export const SECURITY_PERMISSIONS_SCHEMA = createPermissionSchema({
|
|
3
|
+
prefix: "security",
|
|
4
|
+
fullAccess: true,
|
|
5
|
+
entities: [{
|
|
6
|
+
id: "apiKey",
|
|
7
|
+
title: "API Keys",
|
|
8
|
+
permission: "security.apiKey",
|
|
9
|
+
scopes: ["full"]
|
|
10
|
+
}, {
|
|
11
|
+
id: "group",
|
|
12
|
+
title: "Roles",
|
|
13
|
+
permission: "security.group",
|
|
14
|
+
scopes: ["full"]
|
|
15
|
+
}, {
|
|
16
|
+
id: "team",
|
|
17
|
+
title: "Teams",
|
|
18
|
+
permission: "security.team",
|
|
19
|
+
scopes: ["full"]
|
|
20
|
+
}]
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
//# sourceMappingURL=permissionsSchema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createPermissionSchema","SECURITY_PERMISSIONS_SCHEMA","prefix","fullAccess","entities","id","title","permission","scopes"],"sources":["permissionsSchema.ts"],"sourcesContent":["import { createPermissionSchema } from \"@webiny/app-admin\";\n\nexport const SECURITY_PERMISSIONS_SCHEMA = createPermissionSchema({\n prefix: \"security\",\n fullAccess: true,\n entities: [\n {\n id: \"apiKey\",\n title: \"API Keys\",\n permission: \"security.apiKey\",\n scopes: [\"full\"]\n },\n {\n id: \"group\",\n title: \"Roles\",\n permission: \"security.group\",\n scopes: [\"full\"]\n },\n {\n id: \"team\",\n title: \"Teams\",\n permission: \"security.team\",\n scopes: [\"full\"]\n }\n ]\n});\n"],"mappings":"AAAA,SAASA,sBAAsB,QAAQ,mBAAmB;AAE1D,OAAO,MAAMC,2BAA2B,GAAGD,sBAAsB,CAAC;EAC9DE,MAAM,EAAE,UAAU;EAClBC,UAAU,EAAE,IAAI;EAChBC,QAAQ,EAAE,CACN;IACIC,EAAE,EAAE,QAAQ;IACZC,KAAK,EAAE,UAAU;IACjBC,UAAU,EAAE,iBAAiB;IAC7BC,MAAM,EAAE,CAAC,MAAM;EACnB,CAAC,EACD;IACIH,EAAE,EAAE,OAAO;IACXC,KAAK,EAAE,OAAO;IACdC,UAAU,EAAE,gBAAgB;IAC5BC,MAAM,EAAE,CAAC,MAAM;EACnB,CAAC,EACD;IACIH,EAAE,EAAE,MAAM;IACVC,KAAK,EAAE,OAAO;IACdC,UAAU,EAAE,eAAe;IAC3BC,MAAM,EAAE,CAAC,MAAM;EACnB,CAAC;AAET,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { Permissions } from "@webiny/app-admin/exports/admin/security.js";
|
|
2
|
+
import { SECURITY_PERMISSIONS_SCHEMA } from "../../domain/permissionsSchema.js";
|
|
3
|
+
export declare const SecurityPermissions: import("@webiny/di").Abstraction<{
|
|
4
|
+
canAccess: (entityId: "team" | "apiKey" | "group") => boolean;
|
|
5
|
+
canAction: (action: string, entityId: "team" | "apiKey" | "group") => 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 SecurityPermissions {
|
|
16
|
+
type Interface = Permissions<typeof SECURITY_PERMISSIONS_SCHEMA>;
|
|
17
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { createPermissionsAbstraction } from "@webiny/app-admin/exports/admin/security.js";
|
|
2
|
+
import { SECURITY_PERMISSIONS_SCHEMA } from "../../domain/permissionsSchema.js";
|
|
3
|
+
export const SecurityPermissions = createPermissionsAbstraction(SECURITY_PERMISSIONS_SCHEMA);
|
|
4
|
+
|
|
5
|
+
//# sourceMappingURL=abstractions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createPermissionsAbstraction","SECURITY_PERMISSIONS_SCHEMA","SecurityPermissions"],"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 { SECURITY_PERMISSIONS_SCHEMA } from \"~/domain/permissionsSchema.js\";\n\nexport const SecurityPermissions = createPermissionsAbstraction(SECURITY_PERMISSIONS_SCHEMA);\n\nexport namespace SecurityPermissions {\n export type Interface = Permissions<typeof SECURITY_PERMISSIONS_SCHEMA>;\n}\n"],"mappings":"AAAA,SAASA,4BAA4B,QAAQ,6CAA6C;AAE1F,SAASC,2BAA2B;AAEpC,OAAO,MAAMC,mBAAmB,GAAGF,4BAA4B,CAACC,2BAA2B,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare const SecurityPermissionsFeature: import("@webiny/feature/admin/createFeature.js").FeatureDefinition<{
|
|
2
|
+
permissions: {
|
|
3
|
+
canAccess: (entityId: "team" | "apiKey" | "group") => boolean;
|
|
4
|
+
canAction: (action: string, entityId: "team" | "apiKey" | "group") => 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 { SECURITY_PERMISSIONS_SCHEMA } from "../../domain/permissionsSchema.js";
|
|
3
|
+
import { SecurityPermissions } from "./abstractions.js";
|
|
4
|
+
export const SecurityPermissionsFeature = createPermissionsFeature(SECURITY_PERMISSIONS_SCHEMA, SecurityPermissions);
|
|
5
|
+
|
|
6
|
+
//# sourceMappingURL=feature.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createPermissionsFeature","SECURITY_PERMISSIONS_SCHEMA","SecurityPermissions","SecurityPermissionsFeature"],"sources":["feature.ts"],"sourcesContent":["import { createPermissionsFeature } from \"@webiny/app-admin/exports/admin/security.js\";\nimport { SECURITY_PERMISSIONS_SCHEMA } from \"~/domain/permissionsSchema.js\";\nimport { SecurityPermissions } from \"./abstractions.js\";\n\nexport const SecurityPermissionsFeature = createPermissionsFeature(\n SECURITY_PERMISSIONS_SCHEMA,\n SecurityPermissions\n);\n"],"mappings":"AAAA,SAASA,wBAAwB,QAAQ,6CAA6C;AACtF,SAASC,2BAA2B;AACpC,SAASC,mBAAmB;AAE5B,OAAO,MAAMC,0BAA0B,GAAGH,wBAAwB,CAC9DC,2BAA2B,EAC3BC,mBACJ,CAAC","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webiny/app-security-access-management",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.2.0-beta.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"repository": {
|
|
@@ -15,22 +15,22 @@
|
|
|
15
15
|
"license": "MIT",
|
|
16
16
|
"dependencies": {
|
|
17
17
|
"@apollo/react-hooks": "3.1.5",
|
|
18
|
-
"@webiny/admin-ui": "6.
|
|
19
|
-
"@webiny/app": "6.
|
|
20
|
-
"@webiny/app-admin": "6.
|
|
21
|
-
"@webiny/form": "6.
|
|
22
|
-
"@webiny/icons": "6.
|
|
23
|
-
"@webiny/ui": "6.
|
|
24
|
-
"@webiny/validation": "6.
|
|
18
|
+
"@webiny/admin-ui": "6.2.0-beta.0",
|
|
19
|
+
"@webiny/app": "6.2.0-beta.0",
|
|
20
|
+
"@webiny/app-admin": "6.2.0-beta.0",
|
|
21
|
+
"@webiny/form": "6.2.0-beta.0",
|
|
22
|
+
"@webiny/icons": "6.2.0-beta.0",
|
|
23
|
+
"@webiny/ui": "6.2.0-beta.0",
|
|
24
|
+
"@webiny/validation": "6.2.0-beta.0",
|
|
25
25
|
"graphql-tag": "2.12.6",
|
|
26
|
-
"lodash": "4.
|
|
27
|
-
"react": "18.
|
|
28
|
-
"react-dom": "18.
|
|
26
|
+
"lodash": "4.18.1",
|
|
27
|
+
"react": "18.3.1",
|
|
28
|
+
"react-dom": "18.3.1"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
31
|
"@emotion/babel-plugin": "11.13.5",
|
|
32
32
|
"@types/react-helmet": "6.1.11",
|
|
33
|
-
"@webiny/build-tools": "6.
|
|
33
|
+
"@webiny/build-tools": "6.2.0-beta.0",
|
|
34
34
|
"rimraf": "6.1.3",
|
|
35
35
|
"typescript": "5.9.3"
|
|
36
36
|
},
|
|
@@ -45,5 +45,5 @@
|
|
|
45
45
|
]
|
|
46
46
|
}
|
|
47
47
|
},
|
|
48
|
-
"gitHead": "
|
|
48
|
+
"gitHead": "3d3148358b6febbc857371930871743bec3b3939"
|
|
49
49
|
}
|