@webiny/app-security-access-management 5.36.2 → 5.37.0-beta.1
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/components/GroupAutocomplete/graphql.js.map +1 -1
- package/components/GroupAutocomplete/index.js.map +1 -1
- package/components/GroupsMultiAutocomplete/graphql.d.ts +1 -0
- package/components/GroupsMultiAutocomplete/graphql.js +12 -0
- package/components/GroupsMultiAutocomplete/graphql.js.map +1 -0
- package/components/GroupsMultiAutocomplete/index.d.ts +5 -0
- package/components/GroupsMultiAutocomplete/index.js +24 -0
- package/components/GroupsMultiAutocomplete/index.js.map +1 -0
- package/components/NotAuthorizedError/NotAuthorizedError.js.map +1 -1
- package/components/NotAuthorizedError/index.js.map +1 -1
- package/components/TeamAutocomplete/graphql.d.ts +1 -0
- package/components/TeamAutocomplete/graphql.js +12 -0
- package/components/TeamAutocomplete/graphql.js.map +1 -0
- package/components/TeamAutocomplete/index.d.ts +5 -0
- package/components/TeamAutocomplete/index.js +23 -0
- package/components/TeamAutocomplete/index.js.map +1 -0
- package/index.js +28 -7
- package/index.js.map +1 -1
- package/package.json +19 -18
- package/plugins/constants.d.ts +1 -0
- package/plugins/constants.js +5 -4
- package/plugins/constants.js.map +1 -1
- package/plugins/index.js.map +1 -1
- package/plugins/installation.js.map +1 -1
- package/plugins/permissionRenderer/SecurityPermissions.js +60 -5
- package/plugins/permissionRenderer/SecurityPermissions.js.map +1 -1
- package/plugins/permissionRenderer/index.js.map +1 -1
- package/plugins/routes.js.map +1 -1
- package/plugins/secureRouteError.js.map +1 -1
- package/types.d.ts +7 -0
- package/types.js.map +1 -1
- package/ui/elements/GroupAutocompleteElement.js.map +1 -1
- package/ui/elements/GroupsMultiAutocompleteElement.d.ts +6 -0
- package/ui/elements/GroupsMultiAutocompleteElement.js +49 -0
- package/ui/elements/GroupsMultiAutocompleteElement.js.map +1 -0
- package/ui/elements/TeamAutocompleteElement.d.ts +6 -0
- package/ui/elements/TeamAutocompleteElement.js +49 -0
- package/ui/elements/TeamAutocompleteElement.js.map +1 -0
- package/ui/views/ApiKeys/ApiKeyForm.js +19 -1
- package/ui/views/ApiKeys/ApiKeyForm.js.map +1 -1
- package/ui/views/ApiKeys/ApiKeys.js.map +1 -1
- package/ui/views/ApiKeys/ApiKeysDataList.js.map +1 -1
- package/ui/views/ApiKeys/graphql.js.map +1 -1
- package/ui/views/ApiKeys/index.js.map +1 -1
- package/ui/views/ApiKeys/utils.js +2 -2
- package/ui/views/ApiKeys/utils.js.map +1 -1
- package/ui/views/Groups/Groups.js.map +1 -1
- package/ui/views/Groups/GroupsDataList.js +8 -8
- package/ui/views/Groups/GroupsDataList.js.map +1 -1
- package/ui/views/Groups/GroupsForm.js +30 -17
- package/ui/views/Groups/GroupsForm.js.map +1 -1
- package/ui/views/Groups/graphql.js +1 -1
- package/ui/views/Groups/graphql.js.map +1 -1
- package/ui/views/Groups/index.js.map +1 -1
- package/ui/views/Teams/Teams.d.ts +8 -0
- package/ui/views/Teams/Teams.js +19 -0
- package/ui/views/Teams/Teams.js.map +1 -0
- package/ui/views/Teams/TeamsDataList.d.ts +5 -0
- package/ui/views/Teams/TeamsDataList.js +192 -0
- package/ui/views/Teams/TeamsDataList.js.map +1 -0
- package/ui/views/Teams/TeamsForm.d.ts +5 -0
- package/ui/views/Teams/TeamsForm.js +196 -0
- package/ui/views/Teams/TeamsForm.js.map +1 -0
- package/ui/views/Teams/graphql.d.ts +5 -0
- package/ui/views/Teams/graphql.js +21 -0
- package/ui/views/Teams/graphql.js.map +1 -0
- package/ui/views/Teams/index.d.ts +1 -0
- package/ui/views/Teams/index.js +16 -0
- package/ui/views/Teams/index.js.map +1 -0
- package/ui/views/utils.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["LIST_GROUPS","gql"],"sources":["graphql.ts"],"sourcesContent":["import gql from \"graphql-tag\";\n\nexport const LIST_GROUPS = gql`\n query listGroups {\n security {\n groups: listGroups {\n data {\n id\n slug\n name\n description\n createdOn\n }\n }\n }\n }\n`;\n"],"mappings":";;;;;;;;AAAA;AAA8B;AAEvB,
|
|
1
|
+
{"version":3,"names":["_graphqlTag","_interopRequireDefault","require","_templateObject","LIST_GROUPS","gql","_taggedTemplateLiteral2","default","exports"],"sources":["graphql.ts"],"sourcesContent":["import gql from \"graphql-tag\";\n\nexport const LIST_GROUPS = gql`\n query listGroups {\n security {\n groups: listGroups {\n data {\n id\n slug\n name\n description\n createdOn\n }\n }\n }\n }\n`;\n"],"mappings":";;;;;;;;AAAA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA8B,IAAAC,eAAA;AAEvB,IAAMC,WAAW,OAAGC,mBAAG,EAAAF,eAAA,KAAAA,eAAA,OAAAG,uBAAA,CAAAC,OAAA,iTAc7B;AAACC,OAAA,CAAAJ,WAAA,GAAAA,WAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["GroupAutocomplete","props","useQuery","LIST_GROUPS","data","loading","options","security","groups","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_AutoComplete","_graphql","_reactHooks","GroupAutocomplete","props","_useQuery","useQuery","LIST_GROUPS","data","loading","options","security","groups","default","createElement","AutoComplete","Object","assign","valueProp","value","undefined","exports"],"sources":["index.tsx"],"sourcesContent":["import React from \"react\";\nimport { AutoComplete, AutoCompleteProps } from \"@webiny/ui/AutoComplete\";\nimport { LIST_GROUPS } from \"./graphql\";\nimport { useQuery } from \"@apollo/react-hooks\";\n\ntype GroupAutocompleteProps = Partial<AutoCompleteProps>;\nexport const GroupAutocomplete: React.FC<GroupAutocompleteProps> = props => {\n const { data, loading } = useQuery(LIST_GROUPS);\n\n const options = loading || !data ? [] : data.security.groups.data;\n\n return (\n <AutoComplete\n {...props}\n options={options}\n valueProp={\"id\"}\n value={loading ? undefined : props.value}\n />\n );\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AAGO,IAAMI,iBAAmD,GAAG,SAAtDA,iBAAmDA,CAAGC,KAAK,EAAI;EACxE,IAAAC,SAAA,GAA0B,IAAAC,oBAAQ,EAACC,oBAAW,CAAC;IAAvCC,IAAI,GAAAH,SAAA,CAAJG,IAAI;IAAEC,OAAO,GAAAJ,SAAA,CAAPI,OAAO;EAErB,IAAMC,OAAO,GAAGD,OAAO,IAAI,CAACD,IAAI,GAAG,EAAE,GAAGA,IAAI,CAACG,QAAQ,CAACC,MAAM,CAACJ,IAAI;EAEjE,oBACIX,MAAA,CAAAgB,OAAA,CAAAC,aAAA,CAACd,aAAA,CAAAe,YAAY,EAAAC,MAAA,CAAAC,MAAA,KACLb,KAAK;IACTM,OAAO,EAAEA,OAAQ;IACjBQ,SAAS,EAAE,IAAK;IAChBC,KAAK,EAAEV,OAAO,GAAGW,SAAS,GAAGhB,KAAK,CAACe;EAAM,EAC5C,CAAC;AAEV,CAAC;AAACE,OAAA,CAAAlB,iBAAA,GAAAA,iBAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const LIST_GROUPS: import("graphql").DocumentNode;
|
|
@@ -0,0 +1,12 @@
|
|
|
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_GROUPS = void 0;
|
|
8
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
9
|
+
var _graphqlTag = _interopRequireDefault(require("graphql-tag"));
|
|
10
|
+
var _templateObject;
|
|
11
|
+
var LIST_GROUPS = (0, _graphqlTag.default)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n query listGroups {\n security {\n groups: listGroups {\n data {\n id\n slug\n name\n description\n createdOn\n }\n error {\n data\n message\n code\n }\n }\n }\n }\n"])));
|
|
12
|
+
exports.LIST_GROUPS = LIST_GROUPS;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_graphqlTag","_interopRequireDefault","require","_templateObject","LIST_GROUPS","gql","_taggedTemplateLiteral2","default","exports"],"sources":["graphql.ts"],"sourcesContent":["import gql from \"graphql-tag\";\n\nexport const LIST_GROUPS = gql`\n query listGroups {\n security {\n groups: listGroups {\n data {\n id\n slug\n name\n description\n createdOn\n }\n error {\n data\n message\n code\n }\n }\n }\n }\n`;\n"],"mappings":";;;;;;;;AAAA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA8B,IAAAC,eAAA;AAEvB,IAAMC,WAAW,OAAGC,mBAAG,EAAAF,eAAA,KAAAA,eAAA,OAAAG,uBAAA,CAAAC,OAAA,8aAmB7B;AAACC,OAAA,CAAAJ,WAAA,GAAAA,WAAA"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { MultiAutoCompleteProps } from "@webiny/ui/AutoComplete";
|
|
3
|
+
declare type GroupsMultiAutocompleteProps = Partial<MultiAutoCompleteProps>;
|
|
4
|
+
export declare const GroupsMultiAutoComplete: React.FC<GroupsMultiAutocompleteProps>;
|
|
5
|
+
export {};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.GroupsMultiAutoComplete = void 0;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _AutoComplete = require("@webiny/ui/AutoComplete");
|
|
10
|
+
var _graphql = require("./graphql");
|
|
11
|
+
var _reactHooks = require("@apollo/react-hooks");
|
|
12
|
+
var GroupsMultiAutoComplete = function GroupsMultiAutoComplete(props) {
|
|
13
|
+
var _useQuery = (0, _reactHooks.useQuery)(_graphql.LIST_GROUPS),
|
|
14
|
+
data = _useQuery.data,
|
|
15
|
+
loading = _useQuery.loading;
|
|
16
|
+
var options = loading || !data ? [] : data.security.groups.data;
|
|
17
|
+
return /*#__PURE__*/_react.default.createElement(_AutoComplete.MultiAutoComplete, Object.assign({}, props, {
|
|
18
|
+
options: options,
|
|
19
|
+
valueProp: "id",
|
|
20
|
+
unique: true,
|
|
21
|
+
value: loading ? undefined : props.value
|
|
22
|
+
}));
|
|
23
|
+
};
|
|
24
|
+
exports.GroupsMultiAutoComplete = GroupsMultiAutoComplete;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_AutoComplete","_graphql","_reactHooks","GroupsMultiAutoComplete","props","_useQuery","useQuery","LIST_GROUPS","data","loading","options","security","groups","default","createElement","MultiAutoComplete","Object","assign","valueProp","unique","value","undefined","exports"],"sources":["index.tsx"],"sourcesContent":["import React from \"react\";\nimport { MultiAutoComplete, MultiAutoCompleteProps } from \"@webiny/ui/AutoComplete\";\nimport { LIST_GROUPS } from \"./graphql\";\nimport { useQuery } from \"@apollo/react-hooks\";\n\ntype GroupsMultiAutocompleteProps = Partial<MultiAutoCompleteProps>;\n\nexport const GroupsMultiAutoComplete: React.FC<GroupsMultiAutocompleteProps> = props => {\n const { data, loading } = useQuery(LIST_GROUPS);\n\n const options = loading || !data ? [] : data.security.groups.data;\n\n return (\n <MultiAutoComplete\n {...props}\n options={options}\n valueProp={\"id\"}\n unique={true}\n value={loading ? undefined : props.value}\n />\n );\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AAIO,IAAMI,uBAA+D,GAAG,SAAlEA,uBAA+DA,CAAGC,KAAK,EAAI;EACpF,IAAAC,SAAA,GAA0B,IAAAC,oBAAQ,EAACC,oBAAW,CAAC;IAAvCC,IAAI,GAAAH,SAAA,CAAJG,IAAI;IAAEC,OAAO,GAAAJ,SAAA,CAAPI,OAAO;EAErB,IAAMC,OAAO,GAAGD,OAAO,IAAI,CAACD,IAAI,GAAG,EAAE,GAAGA,IAAI,CAACG,QAAQ,CAACC,MAAM,CAACJ,IAAI;EAEjE,oBACIX,MAAA,CAAAgB,OAAA,CAAAC,aAAA,CAACd,aAAA,CAAAe,iBAAiB,EAAAC,MAAA,CAAAC,MAAA,KACVb,KAAK;IACTM,OAAO,EAAEA,OAAQ;IACjBQ,SAAS,EAAE,IAAK;IAChBC,MAAM,EAAE,IAAK;IACbC,KAAK,EAAEX,OAAO,GAAGY,SAAS,GAAGjB,KAAK,CAACgB;EAAM,EAC5C,CAAC;AAEV,CAAC;AAACE,OAAA,CAAAnB,uBAAA,GAAAA,uBAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ContentWrapper","styled","display","paddingTop","textAlign","margin","styles","authErrorImgStyle","css","width","paddingBottom","bodyStyle","color","linkStyle","textDecoration","NotAuthorizedError","authErrorImg"],"sources":["NotAuthorizedError.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { Link } from \"@webiny/react-router\";\nimport { css } from \"emotion\";\nimport styled from \"@emotion/styled\";\nimport Helmet from \"react-helmet\";\nimport authErrorImg from \"./SecureRouteError.svg\";\nimport { Typography } from \"@webiny/ui/Typography\";\n\nconst ContentWrapper = styled(\"div\")({\n display: \"block\",\n paddingTop: \"15%\",\n textAlign: \"center\",\n margin: \"auto\"\n});\n\nconst styles = {\n authErrorImgStyle: css({\n width: \"192px\",\n paddingBottom: \"24px\"\n }),\n bodyStyle: css({\n color: \"var(--mdc-theme-text-primary-on-background)\",\n display: \"block\"\n }),\n linkStyle: css({\n textDecoration: \"none\",\n \"&:hover\": {\n textDecoration: \"none\"\n }\n })\n};\n\nexport const NotAuthorizedError: React.FC = () => {\n return (\n <ContentWrapper>\n <Helmet title={\"Not authorized\"} />\n\n <img className={styles.authErrorImgStyle} src={authErrorImg} alt=\"Not Authorized\" />\n\n <Typography use={\"body1\"} className={styles.bodyStyle}>\n You are not authorized to view this route.\n </Typography>\n\n <Typography use={\"body1\"} className={styles.bodyStyle}>\n Please contact your administrator to request access.\n </Typography>\n\n <Link to=\"/\" className={styles.linkStyle}>\n Take me back.\n </Link>\n </ContentWrapper>\n );\n};\n"],"mappings":";;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,
|
|
1
|
+
{"version":3,"names":["React","_interopRequireWildcard","require","_reactRouter","_emotion","_styled","_interopRequireDefault","_reactHelmet","_SecureRouteError","_Typography","ContentWrapper","styled","target","label","display","paddingTop","textAlign","margin","styles","authErrorImgStyle","css","width","paddingBottom","bodyStyle","color","linkStyle","textDecoration","NotAuthorizedError","createElement","default","title","className","src","authErrorImg","alt","Typography","use","Link","to","exports"],"sources":["NotAuthorizedError.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { Link } from \"@webiny/react-router\";\nimport { css } from \"emotion\";\nimport styled from \"@emotion/styled\";\nimport Helmet from \"react-helmet\";\nimport authErrorImg from \"./SecureRouteError.svg\";\nimport { Typography } from \"@webiny/ui/Typography\";\n\nconst ContentWrapper = styled(\"div\")({\n display: \"block\",\n paddingTop: \"15%\",\n textAlign: \"center\",\n margin: \"auto\"\n});\n\nconst styles = {\n authErrorImgStyle: css({\n width: \"192px\",\n paddingBottom: \"24px\"\n }),\n bodyStyle: css({\n color: \"var(--mdc-theme-text-primary-on-background)\",\n display: \"block\"\n }),\n linkStyle: css({\n textDecoration: \"none\",\n \"&:hover\": {\n textDecoration: \"none\"\n }\n })\n};\n\nexport const NotAuthorizedError: React.FC = () => {\n return (\n <ContentWrapper>\n <Helmet title={\"Not authorized\"} />\n\n <img className={styles.authErrorImgStyle} src={authErrorImg} alt=\"Not Authorized\" />\n\n <Typography use={\"body1\"} className={styles.bodyStyle}>\n You are not authorized to view this route.\n </Typography>\n\n <Typography use={\"body1\"} className={styles.bodyStyle}>\n Please contact your administrator to request access.\n </Typography>\n\n <Link to=\"/\" className={styles.linkStyle}>\n Take me back.\n </Link>\n </ContentWrapper>\n );\n};\n"],"mappings":";;;;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,YAAA,GAAAD,sBAAA,CAAAJ,OAAA;AACA,IAAAM,iBAAA,GAAAF,sBAAA,CAAAJ,OAAA;AACA,IAAAO,WAAA,GAAAP,OAAA;AAEA,IAAMQ,cAAc,oBAAGC,eAAM,EAAC,KAAK;EAAAC,MAAA;EAAAC,KAAA;AAAA,GAAE;EACjCC,OAAO,EAAE,OAAO;EAChBC,UAAU,EAAE,KAAK;EACjBC,SAAS,EAAE,QAAQ;EACnBC,MAAM,EAAE;AACZ,CAAC,CAAC;AAEF,IAAMC,MAAM,GAAG;EACXC,iBAAiB,eAAE,IAAAC,YAAG,EAAC;IACnBC,KAAK,EAAE,OAAO;IACdC,aAAa,EAAE;EACnB,CAAC,6BAAC;EACFC,SAAS,eAAE,IAAAH,YAAG,EAAC;IACXI,KAAK,EAAE,6CAA6C;IACpDV,OAAO,EAAE;EACb,CAAC,qBAAC;EACFW,SAAS,eAAE,IAAAL,YAAG,EAAC;IACXM,cAAc,EAAE,MAAM;IACtB,SAAS,EAAE;MACPA,cAAc,EAAE;IACpB;EACJ,CAAC;AACL,CAAC;AAEM,IAAMC,kBAA4B,GAAG,SAA/BA,kBAA4BA,CAAA,EAAS;EAC9C,oBACI3B,KAAA,CAAA4B,aAAA,CAAClB,cAAc,qBACXV,KAAA,CAAA4B,aAAA,CAACrB,YAAA,CAAAsB,OAAM;IAACC,KAAK,EAAE;EAAiB,CAAE,CAAC,eAEnC9B,KAAA,CAAA4B,aAAA;IAAKG,SAAS,EAAEb,MAAM,CAACC,iBAAkB;IAACa,GAAG,EAAEC,yBAAa;IAACC,GAAG,EAAC;EAAgB,CAAE,CAAC,eAEpFlC,KAAA,CAAA4B,aAAA,CAACnB,WAAA,CAAA0B,UAAU;IAACC,GAAG,EAAE,OAAQ;IAACL,SAAS,EAAEb,MAAM,CAACK;EAAU,GAAC,4CAE3C,CAAC,eAEbvB,KAAA,CAAA4B,aAAA,CAACnB,WAAA,CAAA0B,UAAU;IAACC,GAAG,EAAE,OAAQ;IAACL,SAAS,EAAEb,MAAM,CAACK;EAAU,GAAC,sDAE3C,CAAC,eAEbvB,KAAA,CAAA4B,aAAA,CAACzB,YAAA,CAAAkC,IAAI;IAACC,EAAE,EAAC,GAAG;IAACP,SAAS,EAAEb,MAAM,CAACO;EAAU,GAAC,eAEpC,CACM,CAAC;AAEzB,CAAC;AAACc,OAAA,CAAAZ,kBAAA,GAAAA,kBAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { NotAuthorizedError } from \"./NotAuthorizedError\";\n"],"mappings":";;;;;;;;;;;AAAA"}
|
|
1
|
+
{"version":3,"names":["_NotAuthorizedError","require"],"sources":["index.ts"],"sourcesContent":["export { NotAuthorizedError } from \"./NotAuthorizedError\";\n"],"mappings":";;;;;;;;;;;AAAA,IAAAA,mBAAA,GAAAC,OAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const LIST_TEAMS: import("graphql").DocumentNode;
|
|
@@ -0,0 +1,12 @@
|
|
|
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_TEAMS = void 0;
|
|
8
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
9
|
+
var _graphqlTag = _interopRequireDefault(require("graphql-tag"));
|
|
10
|
+
var _templateObject;
|
|
11
|
+
var LIST_TEAMS = (0, _graphqlTag.default)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n query listTeams {\n security {\n teams: listTeams {\n data {\n id\n slug\n name\n description\n createdOn\n }\n }\n }\n }\n"])));
|
|
12
|
+
exports.LIST_TEAMS = LIST_TEAMS;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_graphqlTag","_interopRequireDefault","require","_templateObject","LIST_TEAMS","gql","_taggedTemplateLiteral2","default","exports"],"sources":["graphql.ts"],"sourcesContent":["import gql from \"graphql-tag\";\n\nexport const LIST_TEAMS = gql`\n query listTeams {\n security {\n teams: listTeams {\n data {\n id\n slug\n name\n description\n createdOn\n }\n }\n }\n }\n`;\n"],"mappings":";;;;;;;;AAAA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA8B,IAAAC,eAAA;AAEvB,IAAMC,UAAU,OAAGC,mBAAG,EAAAF,eAAA,KAAAA,eAAA,OAAAG,uBAAA,CAAAC,OAAA,8SAc5B;AAACC,OAAA,CAAAJ,UAAA,GAAAA,UAAA"}
|
|
@@ -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.TeamAutocomplete = void 0;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _AutoComplete = require("@webiny/ui/AutoComplete");
|
|
10
|
+
var _graphql = require("./graphql");
|
|
11
|
+
var _reactHooks = require("@apollo/react-hooks");
|
|
12
|
+
var TeamAutocomplete = function TeamAutocomplete(props) {
|
|
13
|
+
var _useQuery = (0, _reactHooks.useQuery)(_graphql.LIST_TEAMS),
|
|
14
|
+
data = _useQuery.data,
|
|
15
|
+
loading = _useQuery.loading;
|
|
16
|
+
var options = loading || !data ? [] : data.security.teams.data;
|
|
17
|
+
return /*#__PURE__*/_react.default.createElement(_AutoComplete.AutoComplete, Object.assign({}, props, {
|
|
18
|
+
options: options,
|
|
19
|
+
valueProp: "id",
|
|
20
|
+
value: loading ? undefined : props.value
|
|
21
|
+
}));
|
|
22
|
+
};
|
|
23
|
+
exports.TeamAutocomplete = TeamAutocomplete;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_AutoComplete","_graphql","_reactHooks","TeamAutocomplete","props","_useQuery","useQuery","LIST_TEAMS","data","loading","options","security","teams","default","createElement","AutoComplete","Object","assign","valueProp","value","undefined","exports"],"sources":["index.tsx"],"sourcesContent":["import React from \"react\";\nimport { AutoComplete, AutoCompleteProps } from \"@webiny/ui/AutoComplete\";\nimport { LIST_TEAMS } from \"./graphql\";\nimport { useQuery } from \"@apollo/react-hooks\";\n\ntype TeamAutocompleteProps = Partial<AutoCompleteProps>;\nexport const TeamAutocomplete: React.FC<TeamAutocompleteProps> = props => {\n const { data, loading } = useQuery(LIST_TEAMS);\n\n const options = loading || !data ? [] : data.security.teams.data;\n\n return (\n <AutoComplete\n {...props}\n options={options}\n valueProp={\"id\"}\n value={loading ? undefined : props.value}\n />\n );\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AAGO,IAAMI,gBAAiD,GAAG,SAApDA,gBAAiDA,CAAGC,KAAK,EAAI;EACtE,IAAAC,SAAA,GAA0B,IAAAC,oBAAQ,EAACC,mBAAU,CAAC;IAAtCC,IAAI,GAAAH,SAAA,CAAJG,IAAI;IAAEC,OAAO,GAAAJ,SAAA,CAAPI,OAAO;EAErB,IAAMC,OAAO,GAAGD,OAAO,IAAI,CAACD,IAAI,GAAG,EAAE,GAAGA,IAAI,CAACG,QAAQ,CAACC,KAAK,CAACJ,IAAI;EAEhE,oBACIX,MAAA,CAAAgB,OAAA,CAAAC,aAAA,CAACd,aAAA,CAAAe,YAAY,EAAAC,MAAA,CAAAC,MAAA,KACLb,KAAK;IACTM,OAAO,EAAEA,OAAQ;IACjBQ,SAAS,EAAE,IAAK;IAChBC,KAAK,EAAEV,OAAO,GAAGW,SAAS,GAAGhB,KAAK,CAACe;EAAM,EAC5C,CAAC;AAEV,CAAC;AAACE,OAAA,CAAAlB,gBAAA,GAAAA,gBAAA"}
|
package/index.js
CHANGED
|
@@ -12,6 +12,7 @@ var _appAdmin = require("@webiny/app-admin");
|
|
|
12
12
|
var _appSecurity = require("@webiny/app-security");
|
|
13
13
|
var _constants = require("./plugins/constants");
|
|
14
14
|
var _Groups = require("./ui/views/Groups");
|
|
15
|
+
var _Teams = require("./ui/views/Teams");
|
|
15
16
|
var _ApiKeys = require("./ui/views/ApiKeys");
|
|
16
17
|
var _plugins2 = _interopRequireDefault(require("./plugins"));
|
|
17
18
|
/**
|
|
@@ -25,14 +26,28 @@ var _default = function _default() {
|
|
|
25
26
|
exports.default = _default;
|
|
26
27
|
var AccessManagementExtension = function AccessManagementExtension() {
|
|
27
28
|
_plugins.plugins.register((0, _plugins2.default)());
|
|
29
|
+
var _useWcp = (0, _appAdmin.useWcp)(),
|
|
30
|
+
getProject = _useWcp.getProject;
|
|
31
|
+
var project = getProject();
|
|
32
|
+
var teams = false;
|
|
33
|
+
if (project) {
|
|
34
|
+
teams = project.package.features.advancedAccessControlLayer.options.teams;
|
|
35
|
+
}
|
|
28
36
|
return /*#__PURE__*/_react.default.createElement(_appAdmin.Plugins, null, /*#__PURE__*/_react.default.createElement(_appSecurity.HasPermission, {
|
|
29
37
|
name: _constants.Permission.Groups
|
|
30
38
|
}, /*#__PURE__*/_react.default.createElement(_appAdmin.AddRoute, {
|
|
31
39
|
exact: true,
|
|
32
|
-
path: "/access-management/
|
|
40
|
+
path: "/access-management/roles"
|
|
33
41
|
}, /*#__PURE__*/_react.default.createElement(_appAdmin.Layout, {
|
|
34
|
-
title: "Access Management -
|
|
35
|
-
}, /*#__PURE__*/_react.default.createElement(_Groups.Groups, null)))), /*#__PURE__*/_react.default.createElement(_appSecurity.HasPermission, {
|
|
42
|
+
title: "Access Management - Roles"
|
|
43
|
+
}, /*#__PURE__*/_react.default.createElement(_Groups.Groups, null)))), " ", teams && /*#__PURE__*/_react.default.createElement(_appSecurity.HasPermission, {
|
|
44
|
+
name: _constants.Permission.Teams
|
|
45
|
+
}, /*#__PURE__*/_react.default.createElement(_appAdmin.AddRoute, {
|
|
46
|
+
exact: true,
|
|
47
|
+
path: "/access-management/teams"
|
|
48
|
+
}, /*#__PURE__*/_react.default.createElement(_appAdmin.Layout, {
|
|
49
|
+
title: "Access Management - Teams"
|
|
50
|
+
}, /*#__PURE__*/_react.default.createElement(_Teams.Teams, null)))), /*#__PURE__*/_react.default.createElement(_appSecurity.HasPermission, {
|
|
36
51
|
name: _constants.Permission.ApiKeys
|
|
37
52
|
}, /*#__PURE__*/_react.default.createElement(_appAdmin.AddRoute, {
|
|
38
53
|
exact: true,
|
|
@@ -40,7 +55,7 @@ var AccessManagementExtension = function AccessManagementExtension() {
|
|
|
40
55
|
}, /*#__PURE__*/_react.default.createElement(_appAdmin.Layout, {
|
|
41
56
|
title: "Access Management - API Keys"
|
|
42
57
|
}, /*#__PURE__*/_react.default.createElement(_ApiKeys.ApiKeys, null)))), /*#__PURE__*/_react.default.createElement(_appSecurity.HasPermission, {
|
|
43
|
-
any: [_constants.Permission.Groups, _constants.Permission.ApiKeys]
|
|
58
|
+
any: [_constants.Permission.Groups, _constants.Permission.ApiKeys, _constants.Permission.Teams]
|
|
44
59
|
}, /*#__PURE__*/_react.default.createElement(_appAdmin.AddMenu, {
|
|
45
60
|
name: "settings"
|
|
46
61
|
}, /*#__PURE__*/_react.default.createElement(_appAdmin.AddMenu, {
|
|
@@ -49,9 +64,15 @@ var AccessManagementExtension = function AccessManagementExtension() {
|
|
|
49
64
|
}, /*#__PURE__*/_react.default.createElement(_appSecurity.HasPermission, {
|
|
50
65
|
name: _constants.Permission.Groups
|
|
51
66
|
}, /*#__PURE__*/_react.default.createElement(_appAdmin.AddMenu, {
|
|
52
|
-
name: "settings.accessManagement.
|
|
53
|
-
label: "
|
|
54
|
-
path: "/access-management/
|
|
67
|
+
name: "settings.accessManagement.roles",
|
|
68
|
+
label: "Roles",
|
|
69
|
+
path: "/access-management/roles"
|
|
70
|
+
})), teams && /*#__PURE__*/_react.default.createElement(_appSecurity.HasPermission, {
|
|
71
|
+
name: _constants.Permission.Teams
|
|
72
|
+
}, /*#__PURE__*/_react.default.createElement(_appAdmin.AddMenu, {
|
|
73
|
+
name: "settings.accessManagement.teams",
|
|
74
|
+
label: "Teams",
|
|
75
|
+
path: "/access-management/teams"
|
|
55
76
|
})), /*#__PURE__*/_react.default.createElement(_appSecurity.HasPermission, {
|
|
56
77
|
name: _constants.Permission.ApiKeys
|
|
57
78
|
}, /*#__PURE__*/_react.default.createElement(_appAdmin.AddMenu, {
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AccessManagementExtension","plugins","register","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_plugins","_appAdmin","_appSecurity","_constants","_Groups","_Teams","_ApiKeys","_plugins2","_interopRequireDefault","_default","exports","default","AccessManagementExtension","plugins","register","accessManagementPlugins","_useWcp","useWcp","getProject","project","teams","package","features","advancedAccessControlLayer","options","createElement","Plugins","HasPermission","name","Permission","Groups","AddRoute","exact","path","Layout","title","Teams","ApiKeys","any","AddMenu","label","AccessManagement","memo"],"sources":["index.tsx"],"sourcesContent":["import React, { memo } from \"react\";\nimport { plugins } from \"@webiny/plugins\";\nimport { Layout, Plugins, AddMenu, AddRoute, useWcp } from \"@webiny/app-admin\";\nimport { HasPermission } from \"@webiny/app-security\";\nimport { Permission } from \"~/plugins/constants\";\nimport { Groups } from \"~/ui/views/Groups\";\nimport { Teams } from \"~/ui/views/Teams\";\nimport { ApiKeys } from \"~/ui/views/ApiKeys\";\nimport accessManagementPlugins from \"./plugins\";\n\n/**\n * TODO @ts-refactor\n * Find out why is there empty default export\n */\n// @ts-ignore\nexport default () => [];\n\nexport const AccessManagementExtension = () => {\n plugins.register(accessManagementPlugins());\n\n const { getProject } = useWcp();\n\n const project = getProject();\n let teams = false;\n if (project) {\n teams = project.package.features.advancedAccessControlLayer.options.teams;\n }\n\n return (\n <Plugins>\n <HasPermission name={Permission.Groups}>\n <AddRoute exact path={\"/access-management/roles\"}>\n <Layout title={\"Access Management - Roles\"}>\n <Groups />\n </Layout>\n </AddRoute>\n </HasPermission>{\" \"}\n {teams && (\n <HasPermission name={Permission.Teams}>\n <AddRoute exact path={\"/access-management/teams\"}>\n <Layout title={\"Access Management - Teams\"}>\n <Teams />\n </Layout>\n </AddRoute>\n </HasPermission>\n )}\n <HasPermission name={Permission.ApiKeys}>\n <AddRoute exact path={\"/access-management/api-keys\"}>\n <Layout title={\"Access Management - API Keys\"}>\n <ApiKeys />\n </Layout>\n </AddRoute>\n </HasPermission>\n <HasPermission any={[Permission.Groups, Permission.ApiKeys, Permission.Teams]}>\n <AddMenu name={\"settings\"}>\n <AddMenu name={\"settings.accessManagement\"} label={\"Access Management\"}>\n <HasPermission name={Permission.Groups}>\n <AddMenu\n name={\"settings.accessManagement.roles\"}\n label={\"Roles\"}\n path={\"/access-management/roles\"}\n />\n </HasPermission>\n {teams && (\n <HasPermission name={Permission.Teams}>\n <AddMenu\n name={\"settings.accessManagement.teams\"}\n label={\"Teams\"}\n path={\"/access-management/teams\"}\n />\n </HasPermission>\n )}\n\n <HasPermission name={Permission.ApiKeys}>\n <AddMenu\n name={\"settings.accessManagement.apiKeys\"}\n label={\"API Keys\"}\n path={\"/access-management/api-keys\"}\n />\n </HasPermission>\n </AddMenu>\n </AddMenu>\n </HasPermission>\n </Plugins>\n );\n};\n\nexport const AccessManagement = memo(AccessManagementExtension);\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AACA,IAAAI,UAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AACA,IAAAM,MAAA,GAAAN,OAAA;AACA,IAAAO,QAAA,GAAAP,OAAA;AACA,IAAAQ,SAAA,GAAAC,sBAAA,CAAAT,OAAA;AAEA;AACA;AACA;AACA;AACA;AAAA,IAAAU,QAAA,GACe,SAAAA,SAAA;EAAA,OAAM,EAAE;AAAA;AAAAC,OAAA,CAAAC,OAAA,GAAAF,QAAA;AAEhB,IAAMG,yBAAyB,GAAG,SAA5BA,yBAAyBA,CAAA,EAAS;EAC3CC,gBAAO,CAACC,QAAQ,CAAC,IAAAC,iBAAuB,EAAC,CAAC,CAAC;EAE3C,IAAAC,OAAA,GAAuB,IAAAC,gBAAM,EAAC,CAAC;IAAvBC,UAAU,GAAAF,OAAA,CAAVE,UAAU;EAElB,IAAMC,OAAO,GAAGD,UAAU,CAAC,CAAC;EAC5B,IAAIE,KAAK,GAAG,KAAK;EACjB,IAAID,OAAO,EAAE;IACTC,KAAK,GAAGD,OAAO,CAACE,OAAO,CAACC,QAAQ,CAACC,0BAA0B,CAACC,OAAO,CAACJ,KAAK;EAC7E;EAEA,oBACIvB,MAAA,CAAAc,OAAA,CAAAc,aAAA,CAACxB,SAAA,CAAAyB,OAAO,qBACJ7B,MAAA,CAAAc,OAAA,CAAAc,aAAA,CAACvB,YAAA,CAAAyB,aAAa;IAACC,IAAI,EAAEC,qBAAU,CAACC;EAAO,gBACnCjC,MAAA,CAAAc,OAAA,CAAAc,aAAA,CAACxB,SAAA,CAAA8B,QAAQ;IAACC,KAAK;IAACC,IAAI,EAAE;EAA2B,gBAC7CpC,MAAA,CAAAc,OAAA,CAAAc,aAAA,CAACxB,SAAA,CAAAiC,MAAM;IAACC,KAAK,EAAE;EAA4B,gBACvCtC,MAAA,CAAAc,OAAA,CAAAc,aAAA,CAACrB,OAAA,CAAA0B,MAAM,MAAE,CACL,CACF,CACC,CAAC,EAAC,GAAG,EACnBV,KAAK,iBACFvB,MAAA,CAAAc,OAAA,CAAAc,aAAA,CAACvB,YAAA,CAAAyB,aAAa;IAACC,IAAI,EAAEC,qBAAU,CAACO;EAAM,gBAClCvC,MAAA,CAAAc,OAAA,CAAAc,aAAA,CAACxB,SAAA,CAAA8B,QAAQ;IAACC,KAAK;IAACC,IAAI,EAAE;EAA2B,gBAC7CpC,MAAA,CAAAc,OAAA,CAAAc,aAAA,CAACxB,SAAA,CAAAiC,MAAM;IAACC,KAAK,EAAE;EAA4B,gBACvCtC,MAAA,CAAAc,OAAA,CAAAc,aAAA,CAACpB,MAAA,CAAA+B,KAAK,MAAE,CACJ,CACF,CACC,CAClB,eACDvC,MAAA,CAAAc,OAAA,CAAAc,aAAA,CAACvB,YAAA,CAAAyB,aAAa;IAACC,IAAI,EAAEC,qBAAU,CAACQ;EAAQ,gBACpCxC,MAAA,CAAAc,OAAA,CAAAc,aAAA,CAACxB,SAAA,CAAA8B,QAAQ;IAACC,KAAK;IAACC,IAAI,EAAE;EAA8B,gBAChDpC,MAAA,CAAAc,OAAA,CAAAc,aAAA,CAACxB,SAAA,CAAAiC,MAAM;IAACC,KAAK,EAAE;EAA+B,gBAC1CtC,MAAA,CAAAc,OAAA,CAAAc,aAAA,CAACnB,QAAA,CAAA+B,OAAO,MAAE,CACN,CACF,CACC,CAAC,eAChBxC,MAAA,CAAAc,OAAA,CAAAc,aAAA,CAACvB,YAAA,CAAAyB,aAAa;IAACW,GAAG,EAAE,CAACT,qBAAU,CAACC,MAAM,EAAED,qBAAU,CAACQ,OAAO,EAAER,qBAAU,CAACO,KAAK;EAAE,gBAC1EvC,MAAA,CAAAc,OAAA,CAAAc,aAAA,CAACxB,SAAA,CAAAsC,OAAO;IAACX,IAAI,EAAE;EAAW,gBACtB/B,MAAA,CAAAc,OAAA,CAAAc,aAAA,CAACxB,SAAA,CAAAsC,OAAO;IAACX,IAAI,EAAE,2BAA4B;IAACY,KAAK,EAAE;EAAoB,gBACnE3C,MAAA,CAAAc,OAAA,CAAAc,aAAA,CAACvB,YAAA,CAAAyB,aAAa;IAACC,IAAI,EAAEC,qBAAU,CAACC;EAAO,gBACnCjC,MAAA,CAAAc,OAAA,CAAAc,aAAA,CAACxB,SAAA,CAAAsC,OAAO;IACJX,IAAI,EAAE,iCAAkC;IACxCY,KAAK,EAAE,OAAQ;IACfP,IAAI,EAAE;EAA2B,CACpC,CACU,CAAC,EACfb,KAAK,iBACFvB,MAAA,CAAAc,OAAA,CAAAc,aAAA,CAACvB,YAAA,CAAAyB,aAAa;IAACC,IAAI,EAAEC,qBAAU,CAACO;EAAM,gBAClCvC,MAAA,CAAAc,OAAA,CAAAc,aAAA,CAACxB,SAAA,CAAAsC,OAAO;IACJX,IAAI,EAAE,iCAAkC;IACxCY,KAAK,EAAE,OAAQ;IACfP,IAAI,EAAE;EAA2B,CACpC,CACU,CAClB,eAEDpC,MAAA,CAAAc,OAAA,CAAAc,aAAA,CAACvB,YAAA,CAAAyB,aAAa;IAACC,IAAI,EAAEC,qBAAU,CAACQ;EAAQ,gBACpCxC,MAAA,CAAAc,OAAA,CAAAc,aAAA,CAACxB,SAAA,CAAAsC,OAAO;IACJX,IAAI,EAAE,mCAAoC;IAC1CY,KAAK,EAAE,UAAW;IAClBP,IAAI,EAAE;EAA8B,CACvC,CACU,CACV,CACJ,CACE,CACV,CAAC;AAElB,CAAC;AAACvB,OAAA,CAAAE,yBAAA,GAAAA,yBAAA;AAEK,IAAM6B,gBAAgB,gBAAG,IAAAC,WAAI,EAAC9B,yBAAyB,CAAC;AAACF,OAAA,CAAA+B,gBAAA,GAAAA,gBAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webiny/app-security-access-management",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.37.0-beta.1",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -15,14 +15,16 @@
|
|
|
15
15
|
"dependencies": {
|
|
16
16
|
"@apollo/react-hooks": "3.1.5",
|
|
17
17
|
"@emotion/styled": "11.10.6",
|
|
18
|
-
"@
|
|
19
|
-
"@webiny/app
|
|
20
|
-
"@webiny/app-
|
|
21
|
-
"@webiny/
|
|
22
|
-
"@webiny/
|
|
23
|
-
"@webiny/
|
|
24
|
-
"@webiny/
|
|
25
|
-
"@webiny/
|
|
18
|
+
"@material-design-icons/svg": "0.12.1",
|
|
19
|
+
"@webiny/app": "5.37.0-beta.1",
|
|
20
|
+
"@webiny/app-admin": "5.37.0-beta.1",
|
|
21
|
+
"@webiny/app-security": "5.37.0-beta.1",
|
|
22
|
+
"@webiny/feature-flags": "5.37.0-beta.1",
|
|
23
|
+
"@webiny/form": "5.37.0-beta.1",
|
|
24
|
+
"@webiny/plugins": "5.37.0-beta.1",
|
|
25
|
+
"@webiny/react-router": "5.37.0-beta.1",
|
|
26
|
+
"@webiny/ui": "5.37.0-beta.1",
|
|
27
|
+
"@webiny/validation": "5.37.0-beta.1",
|
|
26
28
|
"emotion": "10.0.27",
|
|
27
29
|
"graphql-tag": "2.12.6",
|
|
28
30
|
"lodash": "4.17.21",
|
|
@@ -31,17 +33,16 @@
|
|
|
31
33
|
"react-helmet": "6.1.0"
|
|
32
34
|
},
|
|
33
35
|
"devDependencies": {
|
|
34
|
-
"@babel/cli": "7.
|
|
35
|
-
"@babel/core": "7.
|
|
36
|
+
"@babel/cli": "7.22.6",
|
|
37
|
+
"@babel/core": "7.22.8",
|
|
36
38
|
"@babel/plugin-proposal-class-properties": "7.18.6",
|
|
37
|
-
"@babel/preset-env": "7.
|
|
38
|
-
"@babel/preset-react": "7.
|
|
39
|
-
"@babel/preset-typescript": "7.
|
|
39
|
+
"@babel/preset-env": "7.22.7",
|
|
40
|
+
"@babel/preset-react": "7.22.5",
|
|
41
|
+
"@babel/preset-typescript": "7.22.5",
|
|
40
42
|
"@types/react-helmet": "6.1.6",
|
|
41
|
-
"@webiny/cli": "5.
|
|
42
|
-
"@webiny/project-utils": "5.
|
|
43
|
+
"@webiny/cli": "5.37.0-beta.1",
|
|
44
|
+
"@webiny/project-utils": "5.37.0-beta.1",
|
|
43
45
|
"babel-plugin-emotion": "9.2.11",
|
|
44
|
-
"babel-plugin-lodash": "3.3.4",
|
|
45
46
|
"rimraf": "3.0.2",
|
|
46
47
|
"ttypescript": "1.5.15",
|
|
47
48
|
"typescript": "4.7.4"
|
|
@@ -61,5 +62,5 @@
|
|
|
61
62
|
]
|
|
62
63
|
}
|
|
63
64
|
},
|
|
64
|
-
"gitHead": "
|
|
65
|
+
"gitHead": "176c29425477d1daaca1b7da79bacc79a1d35f6e"
|
|
65
66
|
}
|
package/plugins/constants.d.ts
CHANGED
package/plugins/constants.js
CHANGED
|
@@ -4,9 +4,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.Permission = void 0;
|
|
7
|
-
var Permission
|
|
8
|
-
exports.Permission = Permission;
|
|
9
|
-
(function (Permission) {
|
|
7
|
+
var Permission = /*#__PURE__*/function (Permission) {
|
|
10
8
|
Permission["Groups"] = "security.group";
|
|
9
|
+
Permission["Teams"] = "security.team";
|
|
11
10
|
Permission["ApiKeys"] = "security.apiKey";
|
|
12
|
-
|
|
11
|
+
return Permission;
|
|
12
|
+
}({});
|
|
13
|
+
exports.Permission = Permission;
|
package/plugins/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Permission"],"sources":["constants.ts"],"sourcesContent":["export enum Permission {\n Groups = \"security.group\",\n ApiKeys = \"security.apiKey\"\n}\n"],"mappings":";;;;;;IAAYA,UAAU
|
|
1
|
+
{"version":3,"names":["Permission","exports"],"sources":["constants.ts"],"sourcesContent":["export enum Permission {\n Groups = \"security.group\",\n Teams = \"security.team\",\n ApiKeys = \"security.apiKey\"\n}\n"],"mappings":";;;;;;IAAYA,UAAU,0BAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA;AAAAC,OAAA,CAAAD,UAAA,GAAAA,UAAA"}
|
package/plugins/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["installation","permissionRenderer","secureRouteError"],"sources":["index.ts"],"sourcesContent":["import { PluginCollection } from \"@webiny/plugins/types\";\nimport installation from \"./installation\";\nimport permissionRenderer from \"./permissionRenderer\";\nimport secureRouteError from \"~/plugins/secureRouteError\";\n\nexport default (): PluginCollection => [installation, permissionRenderer, secureRouteError];\n"],"mappings":";;;;;;;AACA;AACA;AACA;AAA0D,
|
|
1
|
+
{"version":3,"names":["_installation","_interopRequireDefault","require","_permissionRenderer","_secureRouteError","_default","installation","permissionRenderer","secureRouteError","exports","default"],"sources":["index.ts"],"sourcesContent":["import { PluginCollection } from \"@webiny/plugins/types\";\nimport installation from \"./installation\";\nimport permissionRenderer from \"./permissionRenderer\";\nimport secureRouteError from \"~/plugins/secureRouteError\";\n\nexport default (): PluginCollection => [installation, permissionRenderer, secureRouteError];\n"],"mappings":";;;;;;;AACA,IAAAA,aAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,mBAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,iBAAA,GAAAH,sBAAA,CAAAC,OAAA;AAA0D,IAAAG,QAAA,GAE3C,SAAAA,SAAA;EAAA,OAAwB,CAACC,qBAAY,EAAEC,2BAAkB,EAAEC,yBAAgB,CAAC;AAAA;AAAAC,OAAA,CAAAC,OAAA,GAAAL,QAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SimpleFormPlaceholder","styled","minHeight","minWidth","IS_INSTALLED","gql","INSTALL","SecurityInstaller","onInstalled","client","useApolloClient","useState","error","setError","useEffect","mutate","mutation","then","data","security","install","message","setTimeout","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_graphqlTag","_interopRequireDefault","_reactHooks","_Alert","_Progress","_SimpleForm","_styled","_templateObject","_templateObject2","SimpleFormPlaceholder","styled","target","label","minHeight","minWidth","IS_INSTALLED","gql","_taggedTemplateLiteral2","default","INSTALL","SecurityInstaller","_ref","onInstalled","client","useApolloClient","_useState","useState","_useState2","_slicedToArray2","error","setError","useEffect","mutate","mutation","then","_ref2","data","security","install","message","setTimeout","createElement","Alert","title","type","SimpleForm","CircularProgress","SimpleFormContent","plugin","name","dependencies","secure","getInstalledVersion","_ref3","_asyncToGenerator2","_regeneratorRuntime2","mark","_callee","_yield$client$query","wrap","_callee$","_context","prev","next","query","sent","abrupt","version","stop","render","_ref4","_default","exports"],"sources":["installation.tsx"],"sourcesContent":["import React, { useState, useEffect } from \"react\";\nimport gql from \"graphql-tag\";\nimport { useApolloClient } from \"@apollo/react-hooks\";\nimport { Alert } from \"@webiny/ui/Alert\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\nimport { SimpleForm, SimpleFormContent } from \"@webiny/app-admin/components/SimpleForm\";\nimport styled from \"@emotion/styled\";\nimport { AdminInstallationPlugin } from \"@webiny/app-admin/types\";\n\nconst SimpleFormPlaceholder = styled.div({\n minHeight: 300,\n minWidth: 400\n});\n\nconst IS_INSTALLED = gql`\n query IsSecurityInstalled {\n security {\n version\n }\n }\n`;\n\nconst INSTALL = gql`\n mutation InstallSecurity {\n security {\n install {\n data\n error {\n code\n message\n }\n }\n }\n }\n`;\n\ninterface SecurityInstallerProps {\n onInstalled: () => void;\n}\nconst SecurityInstaller: React.FC<SecurityInstallerProps> = ({ onInstalled }) => {\n const client = useApolloClient();\n const [error, setError] = useState(null);\n\n useEffect(() => {\n client.mutate({ mutation: INSTALL }).then(({ data }) => {\n const { error } = data.security.install;\n if (error) {\n setError(error.message);\n return;\n }\n\n // Just so the user sees the actual message.\n setTimeout(onInstalled, 3000);\n });\n }, []);\n\n const label = error ? (\n <Alert title={`Something went wrong`} type={\"danger\"}>\n {error}\n </Alert>\n ) : (\n `Installing Security...`\n );\n\n return (\n <SimpleForm>\n <CircularProgress label={label} />\n <SimpleFormContent>\n <SimpleFormPlaceholder />\n </SimpleFormContent>\n </SimpleForm>\n );\n};\n\nconst plugin: AdminInstallationPlugin = {\n name: \"admin-installation-security\",\n type: \"admin-installation\",\n title: `Security`,\n dependencies: [`admin-installation-tenancy`],\n secure: false,\n async getInstalledVersion({ client }) {\n const { data } = await client.query({ query: IS_INSTALLED });\n return data.security.version;\n },\n render({ onInstalled }) {\n return <SecurityInstaller onInstalled={onInstalled} />;\n }\n};\n\nexport default plugin;\n"],"mappings":"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"}
|
|
@@ -15,11 +15,14 @@ var _Permissions = require("@webiny/app-admin/components/Permissions");
|
|
|
15
15
|
var _form = require("@webiny/form");
|
|
16
16
|
var _Elevation = require("@webiny/ui/Elevation");
|
|
17
17
|
var _Typography = require("@webiny/ui/Typography");
|
|
18
|
-
var
|
|
18
|
+
var _appSecurity = require("@webiny/app-security");
|
|
19
|
+
var _appAdmin = require("@webiny/app-admin");
|
|
20
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17;
|
|
19
21
|
var t = _i18n.i18n.ns("app-security-admin-users/plugins/permissionRenderer");
|
|
20
22
|
var SECURITY = "security";
|
|
21
23
|
var SECURITY_FULL_ACCESS = "".concat(SECURITY, ".*");
|
|
22
24
|
var SECURITY_GROUP_ACCESS = "".concat(SECURITY, ".group");
|
|
25
|
+
var SECURITY_TEAM_ACCESS = "".concat(SECURITY, ".team");
|
|
23
26
|
var SECURITY_API_KEY_ACCESS = "".concat(SECURITY, ".apiKey");
|
|
24
27
|
var FULL_ACCESS = "full";
|
|
25
28
|
var NO_ACCESS = "no";
|
|
@@ -27,6 +30,20 @@ var CUSTOM_ACCESS = "custom";
|
|
|
27
30
|
var SecurityPermissions = function SecurityPermissions(_ref) {
|
|
28
31
|
var value = _ref.value,
|
|
29
32
|
onChange = _ref.onChange;
|
|
33
|
+
var _useSecurity = (0, _appSecurity.useSecurity)(),
|
|
34
|
+
getPermission = _useSecurity.getPermission;
|
|
35
|
+
var _useWcp = (0, _appAdmin.useWcp)(),
|
|
36
|
+
getProject = _useWcp.getProject;
|
|
37
|
+
|
|
38
|
+
// We disable form elements for custom permissions if AACL cannot be used.
|
|
39
|
+
var cannotUseAacl = (0, _react.useMemo)(function () {
|
|
40
|
+
return !getPermission("aacl", true);
|
|
41
|
+
}, []);
|
|
42
|
+
var project = getProject();
|
|
43
|
+
var teams = false;
|
|
44
|
+
if (project) {
|
|
45
|
+
teams = project.package.features.advancedAccessControlLayer.options.teams;
|
|
46
|
+
}
|
|
30
47
|
var onFormChange = (0, _react.useCallback)(function (data) {
|
|
31
48
|
var newValue = [];
|
|
32
49
|
if (Array.isArray(value)) {
|
|
@@ -46,6 +63,11 @@ var SecurityPermissions = function SecurityPermissions(_ref) {
|
|
|
46
63
|
name: SECURITY_GROUP_ACCESS
|
|
47
64
|
});
|
|
48
65
|
}
|
|
66
|
+
if (data.teamAccessScope === FULL_ACCESS) {
|
|
67
|
+
permissions.push({
|
|
68
|
+
name: SECURITY_TEAM_ACCESS
|
|
69
|
+
});
|
|
70
|
+
}
|
|
49
71
|
if (data.apiKeyAccessScope === FULL_ACCESS) {
|
|
50
72
|
permissions.push({
|
|
51
73
|
name: SECURITY_API_KEY_ACCESS
|
|
@@ -83,6 +105,7 @@ var SecurityPermissions = function SecurityPermissions(_ref) {
|
|
|
83
105
|
var data = {
|
|
84
106
|
accessLevel: CUSTOM_ACCESS,
|
|
85
107
|
groupAccessScope: NO_ACCESS,
|
|
108
|
+
teamAccessScope: NO_ACCESS,
|
|
86
109
|
apiKeyAccessScope: NO_ACCESS
|
|
87
110
|
};
|
|
88
111
|
var hasGroupAccess = permissions.find(function (item) {
|
|
@@ -91,6 +114,12 @@ var SecurityPermissions = function SecurityPermissions(_ref) {
|
|
|
91
114
|
if (hasGroupAccess) {
|
|
92
115
|
data.groupAccessScope = FULL_ACCESS;
|
|
93
116
|
}
|
|
117
|
+
var hasTeamAccess = permissions.find(function (item) {
|
|
118
|
+
return item.name === SECURITY_TEAM_ACCESS;
|
|
119
|
+
});
|
|
120
|
+
if (hasTeamAccess) {
|
|
121
|
+
data.teamAccessScope = FULL_ACCESS;
|
|
122
|
+
}
|
|
94
123
|
var hasApiKeyAccess = permissions.find(function (item) {
|
|
95
124
|
return item.name === SECURITY_API_KEY_ACCESS;
|
|
96
125
|
});
|
|
@@ -107,6 +136,10 @@ var SecurityPermissions = function SecurityPermissions(_ref) {
|
|
|
107
136
|
Bind = _ref2.Bind;
|
|
108
137
|
return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(_Grid.Grid, {
|
|
109
138
|
className: _Permissions.gridNoPaddingClass
|
|
139
|
+
}, /*#__PURE__*/_react.default.createElement(_Grid.Cell, {
|
|
140
|
+
span: 12
|
|
141
|
+
}, data.accessLevel === "custom" && cannotUseAacl && /*#__PURE__*/_react.default.createElement(_Permissions.CannotUseAaclAlert, null))), /*#__PURE__*/_react.default.createElement(_Grid.Grid, {
|
|
142
|
+
className: _Permissions.gridNoPaddingClass
|
|
110
143
|
}, /*#__PURE__*/_react.default.createElement(_Grid.Cell, {
|
|
111
144
|
span: 6
|
|
112
145
|
}, /*#__PURE__*/_react.default.createElement(_Permissions.PermissionInfo, {
|
|
@@ -137,7 +170,8 @@ var SecurityPermissions = function SecurityPermissions(_ref) {
|
|
|
137
170
|
}, /*#__PURE__*/_react.default.createElement(Bind, {
|
|
138
171
|
name: "apiKeyAccessScope"
|
|
139
172
|
}, /*#__PURE__*/_react.default.createElement(_Select.Select, {
|
|
140
|
-
label: t(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2.default)(["Access Scope"])))
|
|
173
|
+
label: t(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2.default)(["Access Scope"]))),
|
|
174
|
+
disabled: cannotUseAacl
|
|
141
175
|
}, /*#__PURE__*/_react.default.createElement("option", {
|
|
142
176
|
value: NO_ACCESS
|
|
143
177
|
}, t(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2.default)(["No access"])))), /*#__PURE__*/_react.default.createElement("option", {
|
|
@@ -151,17 +185,38 @@ var SecurityPermissions = function SecurityPermissions(_ref) {
|
|
|
151
185
|
span: 12
|
|
152
186
|
}, /*#__PURE__*/_react.default.createElement(_Typography.Typography, {
|
|
153
187
|
use: "overline"
|
|
154
|
-
}, t(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2.default)(["
|
|
188
|
+
}, t(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2.default)(["Roles"]))))), /*#__PURE__*/_react.default.createElement(_Grid.Cell, {
|
|
155
189
|
span: 12
|
|
156
190
|
}, /*#__PURE__*/_react.default.createElement(Bind, {
|
|
157
191
|
name: "groupAccessScope"
|
|
158
192
|
}, /*#__PURE__*/_react.default.createElement(_Select.Select, {
|
|
159
|
-
label: t(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2.default)(["Access Scope"])))
|
|
193
|
+
label: t(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2.default)(["Access Scope"]))),
|
|
194
|
+
disabled: cannotUseAacl
|
|
160
195
|
}, /*#__PURE__*/_react.default.createElement("option", {
|
|
161
196
|
value: NO_ACCESS
|
|
162
197
|
}, t(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2.default)(["No access"])))), /*#__PURE__*/_react.default.createElement("option", {
|
|
163
198
|
value: FULL_ACCESS
|
|
164
|
-
}, t(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2.default)(["Full access"])))))))))
|
|
199
|
+
}, t(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2.default)(["Full access"]))))))))), teams && /*#__PURE__*/_react.default.createElement(_Elevation.Elevation, {
|
|
200
|
+
z: 1,
|
|
201
|
+
style: {
|
|
202
|
+
marginTop: 10
|
|
203
|
+
}
|
|
204
|
+
}, /*#__PURE__*/_react.default.createElement(_Grid.Grid, null, /*#__PURE__*/_react.default.createElement(_Grid.Cell, {
|
|
205
|
+
span: 12
|
|
206
|
+
}, /*#__PURE__*/_react.default.createElement(_Typography.Typography, {
|
|
207
|
+
use: "overline"
|
|
208
|
+
}, t(_templateObject14 || (_templateObject14 = (0, _taggedTemplateLiteral2.default)(["Teams"]))))), /*#__PURE__*/_react.default.createElement(_Grid.Cell, {
|
|
209
|
+
span: 12
|
|
210
|
+
}, /*#__PURE__*/_react.default.createElement(Bind, {
|
|
211
|
+
name: "teamAccessScope"
|
|
212
|
+
}, /*#__PURE__*/_react.default.createElement(_Select.Select, {
|
|
213
|
+
label: t(_templateObject15 || (_templateObject15 = (0, _taggedTemplateLiteral2.default)(["Access Scope"]))),
|
|
214
|
+
disabled: cannotUseAacl
|
|
215
|
+
}, /*#__PURE__*/_react.default.createElement("option", {
|
|
216
|
+
value: NO_ACCESS
|
|
217
|
+
}, t(_templateObject16 || (_templateObject16 = (0, _taggedTemplateLiteral2.default)(["No access"])))), /*#__PURE__*/_react.default.createElement("option", {
|
|
218
|
+
value: FULL_ACCESS
|
|
219
|
+
}, t(_templateObject17 || (_templateObject17 = (0, _taggedTemplateLiteral2.default)(["Full access"])))))))))));
|
|
165
220
|
});
|
|
166
221
|
};
|
|
167
222
|
exports.SecurityPermissions = SecurityPermissions;
|