@webiny/app-security-access-management 0.0.0-unstable.97a151f74d → 0.0.0-unstable.99666aeb00

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 (88) hide show
  1. package/README.md +1 -1
  2. package/components/GroupAutocomplete/graphql.js +0 -5
  3. package/components/GroupAutocomplete/graphql.js.map +1 -1
  4. package/components/GroupAutocomplete/index.js +2 -10
  5. package/components/GroupAutocomplete/index.js.map +1 -1
  6. package/components/GroupsMultiAutocomplete/graphql.d.ts +1 -0
  7. package/components/GroupsMultiAutocomplete/graphql.js +12 -0
  8. package/components/GroupsMultiAutocomplete/graphql.js.map +1 -0
  9. package/components/GroupsMultiAutocomplete/index.d.ts +5 -0
  10. package/components/GroupsMultiAutocomplete/index.js +24 -0
  11. package/components/GroupsMultiAutocomplete/index.js.map +1 -0
  12. package/components/NotAuthorizedError/NotAuthorizedError.js +0 -12
  13. package/components/NotAuthorizedError/NotAuthorizedError.js.map +1 -1
  14. package/components/NotAuthorizedError/index.js +0 -1
  15. package/components/NotAuthorizedError/index.js.map +1 -1
  16. package/components/TeamAutocomplete/graphql.d.ts +1 -0
  17. package/components/TeamAutocomplete/graphql.js +12 -0
  18. package/components/TeamAutocomplete/graphql.js.map +1 -0
  19. package/components/TeamAutocomplete/index.d.ts +5 -0
  20. package/components/TeamAutocomplete/index.js +23 -0
  21. package/components/TeamAutocomplete/index.js.map +1 -0
  22. package/index.js +28 -22
  23. package/index.js.map +1 -1
  24. package/package.json +26 -24
  25. package/plugins/constants.d.ts +1 -0
  26. package/plugins/constants.js +1 -1
  27. package/plugins/constants.js.map +1 -1
  28. package/plugins/index.js +0 -6
  29. package/plugins/index.js.map +1 -1
  30. package/plugins/installation.js +19 -44
  31. package/plugins/installation.js.map +1 -1
  32. package/plugins/permissionRenderer/SecurityPermissions.js +62 -39
  33. package/plugins/permissionRenderer/SecurityPermissions.js.map +1 -1
  34. package/plugins/permissionRenderer/index.js +0 -12
  35. package/plugins/permissionRenderer/index.js.map +1 -1
  36. package/plugins/routes.js +0 -10
  37. package/plugins/routes.js.map +1 -1
  38. package/plugins/secureRouteError.js +0 -4
  39. package/plugins/secureRouteError.js.map +1 -1
  40. package/types.d.ts +7 -0
  41. package/types.js.map +1 -1
  42. package/ui/elements/GroupAutocompleteElement.js +1 -16
  43. package/ui/elements/GroupAutocompleteElement.js.map +1 -1
  44. package/ui/elements/GroupsMultiAutocompleteElement.d.ts +6 -0
  45. package/ui/elements/GroupsMultiAutocompleteElement.js +49 -0
  46. package/ui/elements/GroupsMultiAutocompleteElement.js.map +1 -0
  47. package/ui/elements/TeamAutocompleteElement.d.ts +6 -0
  48. package/ui/elements/TeamAutocompleteElement.js +49 -0
  49. package/ui/elements/TeamAutocompleteElement.js.map +1 -0
  50. package/ui/views/ApiKeys/ApiKeyForm.js +81 -116
  51. package/ui/views/ApiKeys/ApiKeyForm.js.map +1 -1
  52. package/ui/views/ApiKeys/ApiKeys.js +3 -10
  53. package/ui/views/ApiKeys/ApiKeys.js.map +1 -1
  54. package/ui/views/ApiKeys/ApiKeysDataList.js +51 -98
  55. package/ui/views/ApiKeys/ApiKeysDataList.js.map +1 -1
  56. package/ui/views/ApiKeys/graphql.js +0 -5
  57. package/ui/views/ApiKeys/graphql.js.map +1 -1
  58. package/ui/views/ApiKeys/index.js +0 -2
  59. package/ui/views/ApiKeys/index.js.map +1 -1
  60. package/ui/views/ApiKeys/utils.js +0 -5
  61. package/ui/views/ApiKeys/utils.js.map +1 -1
  62. package/ui/views/Groups/Groups.js +3 -10
  63. package/ui/views/Groups/Groups.js.map +1 -1
  64. package/ui/views/Groups/GroupsDataList.js +58 -105
  65. package/ui/views/Groups/GroupsDataList.js.map +1 -1
  66. package/ui/views/Groups/GroupsForm.js +89 -129
  67. package/ui/views/Groups/GroupsForm.js.map +1 -1
  68. package/ui/views/Groups/graphql.js +1 -6
  69. package/ui/views/Groups/graphql.js.map +1 -1
  70. package/ui/views/Groups/index.js +0 -2
  71. package/ui/views/Groups/index.js.map +1 -1
  72. package/ui/views/Teams/Teams.d.ts +8 -0
  73. package/ui/views/Teams/Teams.js +19 -0
  74. package/ui/views/Teams/Teams.js.map +1 -0
  75. package/ui/views/Teams/TeamsDataList.d.ts +5 -0
  76. package/ui/views/Teams/TeamsDataList.js +192 -0
  77. package/ui/views/Teams/TeamsDataList.js.map +1 -0
  78. package/ui/views/Teams/TeamsForm.d.ts +5 -0
  79. package/ui/views/Teams/TeamsForm.js +196 -0
  80. package/ui/views/Teams/TeamsForm.js.map +1 -0
  81. package/ui/views/Teams/graphql.d.ts +5 -0
  82. package/ui/views/Teams/graphql.js +21 -0
  83. package/ui/views/Teams/graphql.js.map +1 -0
  84. package/ui/views/Teams/index.d.ts +1 -0
  85. package/ui/views/Teams/index.js +16 -0
  86. package/ui/views/Teams/index.js.map +1 -0
  87. package/ui/views/utils.js +3 -9
  88. package/ui/views/utils.js.map +1 -1
package/README.md CHANGED
@@ -51,7 +51,7 @@ A simple `Authenticator` React component (uses Amazon Cognito and AWS Amplify's
51
51
 
52
52
  ```tsx
53
53
  import React, { useEffect } from "react";
54
- import Auth from "@aws-amplify/auth";
54
+ import { Auth } from "@aws-amplify/auth";
55
55
  import { useSecurity, SecurityIdentity } from "@webiny/app-security";
56
56
 
57
57
  // Apart from the React component, we also configure the Auth class here.
@@ -1,17 +1,12 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.LIST_GROUPS = void 0;
9
-
10
8
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
11
-
12
9
  var _graphqlTag = _interopRequireDefault(require("graphql-tag"));
13
-
14
10
  var _templateObject;
15
-
16
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 }\n }\n }\n"])));
17
12
  exports.LIST_GROUPS = LIST_GROUPS;
@@ -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;;;;AAEO,IAAMA,WAAW,OAAGC,mBAAH,4XAAjB"}
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,IAAMA,WAAW,OAAGC,mBAAG,4XAc7B;AAAC"}
@@ -1,25 +1,18 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.GroupAutocomplete = void 0;
9
-
10
8
  var _react = _interopRequireDefault(require("react"));
11
-
12
9
  var _AutoComplete = require("@webiny/ui/AutoComplete");
13
-
14
10
  var _graphql = require("./graphql");
15
-
16
11
  var _reactHooks = require("@apollo/react-hooks");
17
-
18
12
  var GroupAutocomplete = function GroupAutocomplete(props) {
19
13
  var _useQuery = (0, _reactHooks.useQuery)(_graphql.LIST_GROUPS),
20
- data = _useQuery.data,
21
- loading = _useQuery.loading;
22
-
14
+ data = _useQuery.data,
15
+ loading = _useQuery.loading;
23
16
  var options = loading || !data ? [] : data.security.groups.data;
24
17
  return /*#__PURE__*/_react.default.createElement(_AutoComplete.AutoComplete, Object.assign({}, props, {
25
18
  options: options,
@@ -27,5 +20,4 @@ var GroupAutocomplete = function GroupAutocomplete(props) {
27
20
  value: loading ? undefined : props.value
28
21
  }));
29
22
  };
30
-
31
23
  exports.GroupAutocomplete = GroupAutocomplete;
@@ -1 +1 @@
1
- {"version":3,"names":["GroupAutocomplete","props","useQuery","LIST_GROUPS","data","loading","options","security","groups","undefined","value"],"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;;AACA;;AACA;;AACA;;AAGO,IAAMA,iBAAmD,GAAG,SAAtDA,iBAAsD,CAAAC,KAAK,EAAI;EACxE,gBAA0B,IAAAC,oBAAA,EAASC,oBAAT,CAA1B;EAAA,IAAQC,IAAR,aAAQA,IAAR;EAAA,IAAcC,OAAd,aAAcA,OAAd;;EAEA,IAAMC,OAAO,GAAGD,OAAO,IAAI,CAACD,IAAZ,GAAmB,EAAnB,GAAwBA,IAAI,CAACG,QAAL,CAAcC,MAAd,CAAqBJ,IAA7D;EAEA,oBACI,6BAAC,0BAAD,oBACQH,KADR;IAEI,OAAO,EAAEK,OAFb;IAGI,SAAS,EAAE,IAHf;IAII,KAAK,EAAED,OAAO,GAAGI,SAAH,GAAeR,KAAK,CAACS;EAJvC,GADJ;AAQH,CAbM"}
1
+ {"version":3,"names":["GroupAutocomplete","props","useQuery","LIST_GROUPS","data","loading","options","security","groups","undefined","value"],"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;AACA;AACA;AACA;AAGO,IAAMA,iBAAmD,GAAG,SAAtDA,iBAAmD,CAAGC,KAAK,EAAI;EACxE,gBAA0B,IAAAC,oBAAQ,EAACC,oBAAW,CAAC;IAAvCC,IAAI,aAAJA,IAAI;IAAEC,OAAO,aAAPA,OAAO;EAErB,IAAMC,OAAO,GAAGD,OAAO,IAAI,CAACD,IAAI,GAAG,EAAE,GAAGA,IAAI,CAACG,QAAQ,CAACC,MAAM,CAACJ,IAAI;EAEjE,oBACI,6BAAC,0BAAY,oBACLH,KAAK;IACT,OAAO,EAAEK,OAAQ;IACjB,SAAS,EAAE,IAAK;IAChB,KAAK,EAAED,OAAO,GAAGI,SAAS,GAAGR,KAAK,CAACS;EAAM,GAC3C;AAEV,CAAC;AAAC"}
@@ -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":["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 error {\n data\n message\n code\n }\n }\n }\n }\n`;\n"],"mappings":";;;;;;;;AAAA;AAA8B;AAEvB,IAAMA,WAAW,OAAGC,mBAAG,yfAmB7B;AAAC"}
@@ -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":["GroupsMultiAutoComplete","props","useQuery","LIST_GROUPS","data","loading","options","security","groups","undefined","value"],"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;AACA;AACA;AACA;AAIO,IAAMA,uBAA+D,GAAG,SAAlEA,uBAA+D,CAAGC,KAAK,EAAI;EACpF,gBAA0B,IAAAC,oBAAQ,EAACC,oBAAW,CAAC;IAAvCC,IAAI,aAAJA,IAAI;IAAEC,OAAO,aAAPA,OAAO;EAErB,IAAMC,OAAO,GAAGD,OAAO,IAAI,CAACD,IAAI,GAAG,EAAE,GAAGA,IAAI,CAACG,QAAQ,CAACC,MAAM,CAACJ,IAAI;EAEjE,oBACI,6BAAC,+BAAiB,oBACVH,KAAK;IACT,OAAO,EAAEK,OAAQ;IACjB,SAAS,EAAE,IAAK;IAChB,MAAM,EAAE,IAAK;IACb,KAAK,EAAED,OAAO,GAAGI,SAAS,GAAGR,KAAK,CAACS;EAAM,GAC3C;AAEV,CAAC;AAAC"}
@@ -1,28 +1,18 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
4
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports.NotAuthorizedError = void 0;
11
-
12
9
  var React = _interopRequireWildcard(require("react"));
13
-
14
10
  var _reactRouter = require("@webiny/react-router");
15
-
16
11
  var _emotion = require("emotion");
17
-
18
12
  var _styled = _interopRequireDefault(require("@emotion/styled"));
19
-
20
13
  var _reactHelmet = _interopRequireDefault(require("react-helmet"));
21
-
22
14
  var _SecureRouteError = _interopRequireDefault(require("./SecureRouteError.svg"));
23
-
24
15
  var _Typography = require("@webiny/ui/Typography");
25
-
26
16
  var ContentWrapper = /*#__PURE__*/(0, _styled.default)("div", {
27
17
  target: "e18nns4o0",
28
18
  label: "ContentWrapper"
@@ -48,7 +38,6 @@ var styles = {
48
38
  }
49
39
  }, "label:linkStyle;")
50
40
  };
51
-
52
41
  var NotAuthorizedError = function NotAuthorizedError() {
53
42
  return /*#__PURE__*/React.createElement(ContentWrapper, null, /*#__PURE__*/React.createElement(_reactHelmet.default, {
54
43
  title: "Not authorized"
@@ -67,5 +56,4 @@ var NotAuthorizedError = function NotAuthorizedError() {
67
56
  className: styles.linkStyle
68
57
  }, "Take me back."));
69
58
  };
70
-
71
59
  exports.NotAuthorizedError = NotAuthorizedError;
@@ -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,IAAMA,cAAc,oBAAGC,eAAH,EAAU,KAAV;EAAA;EAAA;AAAA,GAAiB;EACjCC,OAAO,EAAE,OADwB;EAEjCC,UAAU,EAAE,KAFqB;EAGjCC,SAAS,EAAE,QAHsB;EAIjCC,MAAM,EAAE;AAJyB,CAAjB,CAApB;AAOA,IAAMC,MAAM,GAAG;EACXC,iBAAiB,eAAE,IAAAC,YAAA,EAAI;IACnBC,KAAK,EAAE,OADY;IAEnBC,aAAa,EAAE;EAFI,CAAJ,6BADR;EAKXC,SAAS,eAAE,IAAAH,YAAA,EAAI;IACXI,KAAK,EAAE,6CADI;IAEXV,OAAO,EAAE;EAFE,CAAJ,qBALA;EASXW,SAAS,eAAE,IAAAL,YAAA,EAAI;IACXM,cAAc,EAAE,MADL;IAEX,WAAW;MACPA,cAAc,EAAE;IADT;EAFA,CAAJ;AATA,CAAf;;AAiBO,IAAMC,kBAA4B,GAAG,SAA/BA,kBAA+B,GAAM;EAC9C,oBACI,oBAAC,cAAD,qBACI,oBAAC,oBAAD;IAAQ,KAAK,EAAE;EAAf,EADJ,eAGI;IAAK,SAAS,EAAET,MAAM,CAACC,iBAAvB;IAA0C,GAAG,EAAES,yBAA/C;IAA6D,GAAG,EAAC;EAAjE,EAHJ,eAKI,oBAAC,sBAAD;IAAY,GAAG,EAAE,OAAjB;IAA0B,SAAS,EAAEV,MAAM,CAACK;EAA5C,gDALJ,eASI,oBAAC,sBAAD;IAAY,GAAG,EAAE,OAAjB;IAA0B,SAAS,EAAEL,MAAM,CAACK;EAA5C,0DATJ,eAaI,oBAAC,iBAAD;IAAM,EAAE,EAAC,GAAT;IAAa,SAAS,EAAEL,MAAM,CAACO;EAA/B,mBAbJ,CADJ;AAmBH,CApBM"}
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,IAAMA,cAAc,oBAAGC,eAAM,EAAC,KAAK;EAAA;EAAA;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,kBAA4B,GAAS;EAC9C,oBACI,oBAAC,cAAc,qBACX,oBAAC,oBAAM;IAAC,KAAK,EAAE;EAAiB,EAAG,eAEnC;IAAK,SAAS,EAAET,MAAM,CAACC,iBAAkB;IAAC,GAAG,EAAES,yBAAa;IAAC,GAAG,EAAC;EAAgB,EAAG,eAEpF,oBAAC,sBAAU;IAAC,GAAG,EAAE,OAAQ;IAAC,SAAS,EAAEV,MAAM,CAACK;EAAU,GAAC,4CAEvD,CAAa,eAEb,oBAAC,sBAAU;IAAC,GAAG,EAAE,OAAQ;IAAC,SAAS,EAAEL,MAAM,CAACK;EAAU,GAAC,sDAEvD,CAAa,eAEb,oBAAC,iBAAI;IAAC,EAAE,EAAC,GAAG;IAAC,SAAS,EAAEL,MAAM,CAACO;EAAU,GAAC,eAE1C,CAAO,CACM;AAEzB,CAAC;AAAC"}
@@ -9,5 +9,4 @@ Object.defineProperty(exports, "NotAuthorizedError", {
9
9
  return _NotAuthorizedError.NotAuthorizedError;
10
10
  }
11
11
  });
12
-
13
12
  var _NotAuthorizedError = require("./NotAuthorizedError");
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { NotAuthorizedError } from \"./NotAuthorizedError\";\n"],"mappings":";;;;;;;;;;;;AAAA"}
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export { NotAuthorizedError } from \"./NotAuthorizedError\";\n"],"mappings":";;;;;;;;;;;AAAA"}
@@ -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":["LIST_TEAMS","gql"],"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;AAA8B;AAEvB,IAAMA,UAAU,OAAGC,mBAAG,yXAc5B;AAAC"}
@@ -0,0 +1,5 @@
1
+ import React from "react";
2
+ import { AutoCompleteProps } from "@webiny/ui/AutoComplete";
3
+ declare type TeamAutocompleteProps = Partial<AutoCompleteProps>;
4
+ export declare const TeamAutocomplete: React.FC<TeamAutocompleteProps>;
5
+ export {};
@@ -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":["TeamAutocomplete","props","useQuery","LIST_TEAMS","data","loading","options","security","teams","undefined","value"],"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;AACA;AACA;AACA;AAGO,IAAMA,gBAAiD,GAAG,SAApDA,gBAAiD,CAAGC,KAAK,EAAI;EACtE,gBAA0B,IAAAC,oBAAQ,EAACC,mBAAU,CAAC;IAAtCC,IAAI,aAAJA,IAAI;IAAEC,OAAO,aAAPA,OAAO;EAErB,IAAMC,OAAO,GAAGD,OAAO,IAAI,CAACD,IAAI,GAAG,EAAE,GAAGA,IAAI,CAACG,QAAQ,CAACC,KAAK,CAACJ,IAAI;EAEhE,oBACI,6BAAC,0BAAY,oBACLH,KAAK;IACT,OAAO,EAAEK,OAAQ;IACjB,SAAS,EAAE,IAAK;IAChB,KAAK,EAAED,OAAO,GAAGI,SAAS,GAAGR,KAAK,CAACS;EAAM,GAC3C;AAEV,CAAC;AAAC"}
package/index.js CHANGED
@@ -1,30 +1,20 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
4
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports.default = exports.AccessManagementExtension = exports.AccessManagement = void 0;
11
-
12
9
  var _react = _interopRequireWildcard(require("react"));
13
-
14
10
  var _plugins = require("@webiny/plugins");
15
-
16
11
  var _appAdmin = require("@webiny/app-admin");
17
-
18
12
  var _appSecurity = require("@webiny/app-security");
19
-
20
13
  var _constants = require("./plugins/constants");
21
-
22
14
  var _Groups = require("./ui/views/Groups");
23
-
15
+ var _Teams = require("./ui/views/Teams");
24
16
  var _ApiKeys = require("./ui/views/ApiKeys");
25
-
26
17
  var _plugins2 = _interopRequireDefault(require("./plugins"));
27
-
28
18
  /**
29
19
  * TODO @ts-refactor
30
20
  * Find out why is there empty default export
@@ -33,20 +23,31 @@ var _plugins2 = _interopRequireDefault(require("./plugins"));
33
23
  var _default = function _default() {
34
24
  return [];
35
25
  };
36
-
37
26
  exports.default = _default;
38
-
39
27
  var AccessManagementExtension = function AccessManagementExtension() {
40
28
  _plugins.plugins.register((0, _plugins2.default)());
41
-
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
+ }
42
36
  return /*#__PURE__*/_react.default.createElement(_appAdmin.Plugins, null, /*#__PURE__*/_react.default.createElement(_appSecurity.HasPermission, {
43
37
  name: _constants.Permission.Groups
44
38
  }, /*#__PURE__*/_react.default.createElement(_appAdmin.AddRoute, {
45
39
  exact: true,
46
- path: "/access-management/groups"
40
+ path: "/access-management/roles"
47
41
  }, /*#__PURE__*/_react.default.createElement(_appAdmin.Layout, {
48
- title: "Access Management - Groups"
49
- }, /*#__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, {
50
51
  name: _constants.Permission.ApiKeys
51
52
  }, /*#__PURE__*/_react.default.createElement(_appAdmin.AddRoute, {
52
53
  exact: true,
@@ -54,7 +55,7 @@ var AccessManagementExtension = function AccessManagementExtension() {
54
55
  }, /*#__PURE__*/_react.default.createElement(_appAdmin.Layout, {
55
56
  title: "Access Management - API Keys"
56
57
  }, /*#__PURE__*/_react.default.createElement(_ApiKeys.ApiKeys, null)))), /*#__PURE__*/_react.default.createElement(_appSecurity.HasPermission, {
57
- any: [_constants.Permission.Groups, _constants.Permission.ApiKeys]
58
+ any: [_constants.Permission.Groups, _constants.Permission.ApiKeys, _constants.Permission.Teams]
58
59
  }, /*#__PURE__*/_react.default.createElement(_appAdmin.AddMenu, {
59
60
  name: "settings"
60
61
  }, /*#__PURE__*/_react.default.createElement(_appAdmin.AddMenu, {
@@ -63,9 +64,15 @@ var AccessManagementExtension = function AccessManagementExtension() {
63
64
  }, /*#__PURE__*/_react.default.createElement(_appSecurity.HasPermission, {
64
65
  name: _constants.Permission.Groups
65
66
  }, /*#__PURE__*/_react.default.createElement(_appAdmin.AddMenu, {
66
- name: "settings.accessManagement.groups",
67
- label: "Groups",
68
- path: "/access-management/groups"
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"
69
76
  })), /*#__PURE__*/_react.default.createElement(_appSecurity.HasPermission, {
70
77
  name: _constants.Permission.ApiKeys
71
78
  }, /*#__PURE__*/_react.default.createElement(_appAdmin.AddMenu, {
@@ -74,7 +81,6 @@ var AccessManagementExtension = function AccessManagementExtension() {
74
81
  path: "/access-management/api-keys"
75
82
  }))))));
76
83
  };
77
-
78
84
  exports.AccessManagementExtension = AccessManagementExtension;
79
85
  var AccessManagement = /*#__PURE__*/(0, _react.memo)(AccessManagementExtension);
80
86
  exports.AccessManagement = AccessManagement;
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["AccessManagementExtension","plugins","register","accessManagementPugins","Permission","Groups","ApiKeys","AccessManagement","memo"],"sources":["index.tsx"],"sourcesContent":["import React, { memo } from \"react\";\nimport { plugins } from \"@webiny/plugins\";\nimport { Layout, Plugins, AddMenu, AddRoute } from \"@webiny/app-admin\";\nimport { HasPermission } from \"@webiny/app-security\";\nimport { Permission } from \"~/plugins/constants\";\nimport { Groups } from \"~/ui/views/Groups\";\nimport { ApiKeys } from \"~/ui/views/ApiKeys\";\nimport accessManagementPugins 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(accessManagementPugins());\n\n return (\n <Plugins>\n <HasPermission name={Permission.Groups}>\n <AddRoute exact path={\"/access-management/groups\"}>\n <Layout title={\"Access Management - Groups\"}>\n <Groups />\n </Layout>\n </AddRoute>\n </HasPermission>\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]}>\n <AddMenu name={\"settings\"}>\n <AddMenu name={\"settings.accessManagement\"} label={\"Access Management\"}>\n <HasPermission name={Permission.Groups}>\n <AddMenu\n name={\"settings.accessManagement.groups\"}\n label={\"Groups\"}\n path={\"/access-management/groups\"}\n />\n </HasPermission>\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;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;AACA;AACA;AACA;AACA;eACe;EAAA,OAAM,EAAN;AAAA,C;;;;AAER,IAAMA,yBAAyB,GAAG,SAA5BA,yBAA4B,GAAM;EAC3CC,gBAAA,CAAQC,QAAR,CAAiB,IAAAC,iBAAA,GAAjB;;EAEA,oBACI,6BAAC,iBAAD,qBACI,6BAAC,0BAAD;IAAe,IAAI,EAAEC,qBAAA,CAAWC;EAAhC,gBACI,6BAAC,kBAAD;IAAU,KAAK,MAAf;IAAgB,IAAI,EAAE;EAAtB,gBACI,6BAAC,gBAAD;IAAQ,KAAK,EAAE;EAAf,gBACI,6BAAC,cAAD,OADJ,CADJ,CADJ,CADJ,eAQI,6BAAC,0BAAD;IAAe,IAAI,EAAED,qBAAA,CAAWE;EAAhC,gBACI,6BAAC,kBAAD;IAAU,KAAK,MAAf;IAAgB,IAAI,EAAE;EAAtB,gBACI,6BAAC,gBAAD;IAAQ,KAAK,EAAE;EAAf,gBACI,6BAAC,gBAAD,OADJ,CADJ,CADJ,CARJ,eAeI,6BAAC,0BAAD;IAAe,GAAG,EAAE,CAACF,qBAAA,CAAWC,MAAZ,EAAoBD,qBAAA,CAAWE,OAA/B;EAApB,gBACI,6BAAC,iBAAD;IAAS,IAAI,EAAE;EAAf,gBACI,6BAAC,iBAAD;IAAS,IAAI,EAAE,2BAAf;IAA4C,KAAK,EAAE;EAAnD,gBACI,6BAAC,0BAAD;IAAe,IAAI,EAAEF,qBAAA,CAAWC;EAAhC,gBACI,6BAAC,iBAAD;IACI,IAAI,EAAE,kCADV;IAEI,KAAK,EAAE,QAFX;IAGI,IAAI,EAAE;EAHV,EADJ,CADJ,eAQI,6BAAC,0BAAD;IAAe,IAAI,EAAED,qBAAA,CAAWE;EAAhC,gBACI,6BAAC,iBAAD;IACI,IAAI,EAAE,mCADV;IAEI,KAAK,EAAE,UAFX;IAGI,IAAI,EAAE;EAHV,EADJ,CARJ,CADJ,CADJ,CAfJ,CADJ;AAsCH,CAzCM;;;AA2CA,IAAMC,gBAAgB,gBAAG,IAAAC,WAAA,EAAKR,yBAAL,CAAzB"}
1
+ {"version":3,"names":["AccessManagementExtension","plugins","register","accessManagementPlugins","useWcp","getProject","project","teams","package","features","advancedAccessControlLayer","options","Permission","Groups","Teams","ApiKeys","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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA,eACe;EAAA,OAAM,EAAE;AAAA;AAAA;AAEhB,IAAMA,yBAAyB,GAAG,SAA5BA,yBAAyB,GAAS;EAC3CC,gBAAO,CAACC,QAAQ,CAAC,IAAAC,iBAAuB,GAAE,CAAC;EAE3C,cAAuB,IAAAC,gBAAM,GAAE;IAAvBC,UAAU,WAAVA,UAAU;EAElB,IAAMC,OAAO,GAAGD,UAAU,EAAE;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,oBACI,6BAAC,iBAAO,qBACJ,6BAAC,0BAAa;IAAC,IAAI,EAAEK,qBAAU,CAACC;EAAO,gBACnC,6BAAC,kBAAQ;IAAC,KAAK;IAAC,IAAI,EAAE;EAA2B,gBAC7C,6BAAC,gBAAM;IAAC,KAAK,EAAE;EAA4B,gBACvC,6BAAC,cAAM,OAAG,CACL,CACF,CACC,EAAC,GAAG,EACnBN,KAAK,iBACF,6BAAC,0BAAa;IAAC,IAAI,EAAEK,qBAAU,CAACE;EAAM,gBAClC,6BAAC,kBAAQ;IAAC,KAAK;IAAC,IAAI,EAAE;EAA2B,gBAC7C,6BAAC,gBAAM;IAAC,KAAK,EAAE;EAA4B,gBACvC,6BAAC,YAAK,OAAG,CACJ,CACF,CAElB,eACD,6BAAC,0BAAa;IAAC,IAAI,EAAEF,qBAAU,CAACG;EAAQ,gBACpC,6BAAC,kBAAQ;IAAC,KAAK;IAAC,IAAI,EAAE;EAA8B,gBAChD,6BAAC,gBAAM;IAAC,KAAK,EAAE;EAA+B,gBAC1C,6BAAC,gBAAO,OAAG,CACN,CACF,CACC,eAChB,6BAAC,0BAAa;IAAC,GAAG,EAAE,CAACH,qBAAU,CAACC,MAAM,EAAED,qBAAU,CAACG,OAAO,EAAEH,qBAAU,CAACE,KAAK;EAAE,gBAC1E,6BAAC,iBAAO;IAAC,IAAI,EAAE;EAAW,gBACtB,6BAAC,iBAAO;IAAC,IAAI,EAAE,2BAA4B;IAAC,KAAK,EAAE;EAAoB,gBACnE,6BAAC,0BAAa;IAAC,IAAI,EAAEF,qBAAU,CAACC;EAAO,gBACnC,6BAAC,iBAAO;IACJ,IAAI,EAAE,iCAAkC;IACxC,KAAK,EAAE,OAAQ;IACf,IAAI,EAAE;EAA2B,EACnC,CACU,EACfN,KAAK,iBACF,6BAAC,0BAAa;IAAC,IAAI,EAAEK,qBAAU,CAACE;EAAM,gBAClC,6BAAC,iBAAO;IACJ,IAAI,EAAE,iCAAkC;IACxC,KAAK,EAAE,OAAQ;IACf,IAAI,EAAE;EAA2B,EACnC,CAET,eAED,6BAAC,0BAAa;IAAC,IAAI,EAAEF,qBAAU,CAACG;EAAQ,gBACpC,6BAAC,iBAAO;IACJ,IAAI,EAAE,mCAAoC;IAC1C,KAAK,EAAE,UAAW;IAClB,IAAI,EAAE;EAA8B,EACtC,CACU,CACV,CACJ,CACE,CACV;AAElB,CAAC;AAAC;AAEK,IAAMC,gBAAgB,gBAAG,IAAAC,WAAI,EAACjB,yBAAyB,CAAC;AAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/app-security-access-management",
3
- "version": "0.0.0-unstable.97a151f74d",
3
+ "version": "0.0.0-unstable.99666aeb00",
4
4
  "main": "index.js",
5
5
  "repository": {
6
6
  "type": "git",
@@ -14,15 +14,17 @@
14
14
  "license": "MIT",
15
15
  "dependencies": {
16
16
  "@apollo/react-hooks": "3.1.5",
17
- "@emotion/styled": "10.3.0",
18
- "@webiny/app": "0.0.0-unstable.97a151f74d",
19
- "@webiny/app-admin": "0.0.0-unstable.97a151f74d",
20
- "@webiny/app-security": "0.0.0-unstable.97a151f74d",
21
- "@webiny/form": "0.0.0-unstable.97a151f74d",
22
- "@webiny/plugins": "0.0.0-unstable.97a151f74d",
23
- "@webiny/react-router": "0.0.0-unstable.97a151f74d",
24
- "@webiny/ui": "0.0.0-unstable.97a151f74d",
25
- "@webiny/validation": "0.0.0-unstable.97a151f74d",
17
+ "@emotion/styled": "11.10.6",
18
+ "@material-design-icons/svg": "0.12.1",
19
+ "@webiny/app": "0.0.0-unstable.99666aeb00",
20
+ "@webiny/app-admin": "0.0.0-unstable.99666aeb00",
21
+ "@webiny/app-security": "0.0.0-unstable.99666aeb00",
22
+ "@webiny/feature-flags": "0.0.0-unstable.99666aeb00",
23
+ "@webiny/form": "0.0.0-unstable.99666aeb00",
24
+ "@webiny/plugins": "0.0.0-unstable.99666aeb00",
25
+ "@webiny/react-router": "0.0.0-unstable.99666aeb00",
26
+ "@webiny/ui": "0.0.0-unstable.99666aeb00",
27
+ "@webiny/validation": "0.0.0-unstable.99666aeb00",
26
28
  "emotion": "10.0.27",
27
29
  "graphql-tag": "2.12.6",
28
30
  "lodash": "4.17.21",
@@ -31,19 +33,19 @@
31
33
  "react-helmet": "6.1.0"
32
34
  },
33
35
  "devDependencies": {
34
- "@babel/cli": "^7.19.3",
35
- "@babel/core": "^7.19.3",
36
- "@babel/plugin-proposal-class-properties": "^7.18.6",
37
- "@babel/preset-env": "^7.19.4",
38
- "@babel/preset-react": "^7.18.6",
39
- "@babel/preset-typescript": "^7.18.6",
40
- "@types/react-helmet": "^6.1.5",
41
- "@webiny/cli": "^0.0.0-unstable.97a151f74d",
42
- "@webiny/project-utils": "^0.0.0-unstable.97a151f74d",
43
- "babel-plugin-emotion": "^9.2.8",
44
- "babel-plugin-lodash": "^3.3.4",
45
- "rimraf": "^3.0.2",
46
- "ttypescript": "^1.5.12",
36
+ "@babel/cli": "7.20.7",
37
+ "@babel/core": "7.20.12",
38
+ "@babel/plugin-proposal-class-properties": "7.18.6",
39
+ "@babel/preset-env": "7.20.2",
40
+ "@babel/preset-react": "7.18.6",
41
+ "@babel/preset-typescript": "7.18.6",
42
+ "@types/react-helmet": "6.1.6",
43
+ "@webiny/cli": "0.0.0-unstable.99666aeb00",
44
+ "@webiny/project-utils": "0.0.0-unstable.99666aeb00",
45
+ "babel-plugin-emotion": "9.2.11",
46
+ "babel-plugin-lodash": "3.3.4",
47
+ "rimraf": "3.0.2",
48
+ "ttypescript": "1.5.15",
47
49
  "typescript": "4.7.4"
48
50
  },
49
51
  "publishConfig": {
@@ -61,5 +63,5 @@
61
63
  ]
62
64
  }
63
65
  },
64
- "gitHead": "97a151f74d8c5679323989fcc8cc7036be0f150e"
66
+ "gitHead": "99666aeb00056c56292eeb5dbb6aba7fda2439e2"
65
67
  }
@@ -1,4 +1,5 @@
1
1
  export declare enum Permission {
2
2
  Groups = "security.group",
3
+ Teams = "security.team",
3
4
  ApiKeys = "security.apiKey"
4
5
  }
@@ -6,8 +6,8 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.Permission = void 0;
7
7
  var Permission;
8
8
  exports.Permission = Permission;
9
-
10
9
  (function (Permission) {
11
10
  Permission["Groups"] = "security.group";
11
+ Permission["Teams"] = "security.team";
12
12
  Permission["ApiKeys"] = "security.apiKey";
13
13
  })(Permission || (exports.Permission = Permission = {}));
@@ -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,U;;;WAAAA,U;EAAAA,U;EAAAA,U;GAAAA,U,0BAAAA,U"}
1
+ {"version":3,"names":["Permission"],"sources":["constants.ts"],"sourcesContent":["export enum Permission {\n Groups = \"security.group\",\n Teams = \"security.team\",\n ApiKeys = \"security.apiKey\"\n}\n"],"mappings":";;;;;;IAAYA,UAAU;AAAA;AAAA,WAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;AAAA,GAAVA,UAAU,0BAAVA,UAAU"}
package/plugins/index.js CHANGED
@@ -1,20 +1,14 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
-
10
8
  var _installation = _interopRequireDefault(require("./installation"));
11
-
12
9
  var _permissionRenderer = _interopRequireDefault(require("./permissionRenderer"));
13
-
14
10
  var _secureRouteError = _interopRequireDefault(require("./secureRouteError"));
15
-
16
11
  var _default = function _default() {
17
12
  return [_installation.default, _permissionRenderer.default, _secureRouteError.default];
18
13
  };
19
-
20
14
  exports.default = _default;
@@ -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;;eAEe;EAAA,OAAwB,CAACA,qBAAD,EAAeC,2BAAf,EAAmCC,yBAAnC,CAAxB;AAAA,C"}
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,eAE3C;EAAA,OAAwB,CAACA,qBAAY,EAAEC,2BAAkB,EAAEC,yBAAgB,CAAC;AAAA;AAAA"}