@webiny/app-security-access-management 0.0.0-unstable.78f581c1d2 → 0.0.0-unstable.7be00a75a9

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 (129) hide show
  1. package/Extension.d.ts +2 -0
  2. package/Extension.js +84 -0
  3. package/Extension.js.map +1 -0
  4. package/README.md +7 -111
  5. package/SecurityPermissions.d.ts +2 -0
  6. package/SecurityPermissions.js +53 -0
  7. package/SecurityPermissions.js.map +1 -0
  8. package/{plugins/constants.d.ts → constants.d.ts} +2 -1
  9. package/constants.js +9 -0
  10. package/constants.js.map +1 -0
  11. package/domain/permissionsSchema.d.ts +20 -0
  12. package/domain/permissionsSchema.js +34 -0
  13. package/domain/permissionsSchema.js.map +1 -0
  14. package/features/permissions/abstractions.d.ts +17 -0
  15. package/features/permissions/abstractions.js +6 -0
  16. package/features/permissions/abstractions.js.map +1 -0
  17. package/features/permissions/feature.d.ts +14 -0
  18. package/features/permissions/feature.js +7 -0
  19. package/features/permissions/feature.js.map +1 -0
  20. package/index.d.ts +1 -9
  21. package/index.js +1 -80
  22. package/package.json +24 -37
  23. package/routes.d.ts +21 -0
  24. package/routes.js +36 -0
  25. package/routes.js.map +1 -0
  26. package/types.d.ts +17 -3
  27. package/types.js +0 -5
  28. package/ui/views/ApiKeys/ApiKeyForm.d.ts +5 -3
  29. package/ui/views/ApiKeys/ApiKeyForm.js +212 -280
  30. package/ui/views/ApiKeys/ApiKeyForm.js.map +1 -1
  31. package/ui/views/ApiKeys/ApiKeys.d.ts +1 -7
  32. package/ui/views/ApiKeys/ApiKeys.js +15 -24
  33. package/ui/views/ApiKeys/ApiKeys.js.map +1 -1
  34. package/ui/views/ApiKeys/ApiKeysDataList.d.ts +2 -2
  35. package/ui/views/ApiKeys/ApiKeysDataList.js +136 -228
  36. package/ui/views/ApiKeys/ApiKeysDataList.js.map +1 -1
  37. package/ui/views/ApiKeys/graphql.d.ts +8 -0
  38. package/ui/views/ApiKeys/graphql.js +83 -25
  39. package/ui/views/ApiKeys/graphql.js.map +1 -1
  40. package/ui/views/ApiKeys/index.d.ts +1 -1
  41. package/ui/views/ApiKeys/index.js +1 -18
  42. package/ui/views/ApiKeys/utils.d.ts +3 -2
  43. package/ui/views/ApiKeys/utils.js +15 -18
  44. package/ui/views/ApiKeys/utils.js.map +1 -1
  45. package/ui/views/Roles/Roles.d.ts +2 -0
  46. package/ui/views/Roles/Roles.js +17 -0
  47. package/ui/views/Roles/Roles.js.map +1 -0
  48. package/ui/views/Roles/RolesDataList.d.ts +5 -0
  49. package/ui/views/Roles/RolesDataList.js +141 -0
  50. package/ui/views/Roles/RolesDataList.js.map +1 -0
  51. package/ui/views/Roles/RolesForm.d.ts +6 -0
  52. package/ui/views/Roles/RolesForm.js +213 -0
  53. package/ui/views/Roles/RolesForm.js.map +1 -0
  54. package/ui/views/Roles/graphql.d.ts +13 -0
  55. package/ui/views/Roles/graphql.js +86 -0
  56. package/ui/views/Roles/graphql.js.map +1 -0
  57. package/ui/views/Roles/index.d.ts +1 -0
  58. package/ui/views/Roles/index.js +1 -0
  59. package/ui/views/Teams/Teams.d.ts +2 -0
  60. package/ui/views/Teams/Teams.js +17 -0
  61. package/ui/views/Teams/Teams.js.map +1 -0
  62. package/ui/views/Teams/TeamsDataList.d.ts +5 -0
  63. package/ui/views/Teams/TeamsDataList.js +141 -0
  64. package/ui/views/Teams/TeamsDataList.js.map +1 -0
  65. package/ui/views/Teams/TeamsForm.d.ts +6 -0
  66. package/ui/views/Teams/TeamsForm.js +191 -0
  67. package/ui/views/Teams/TeamsForm.js.map +1 -0
  68. package/ui/views/Teams/graphql.d.ts +13 -0
  69. package/ui/views/Teams/graphql.js +90 -0
  70. package/ui/views/Teams/graphql.js.map +1 -0
  71. package/ui/views/Teams/index.d.ts +1 -0
  72. package/ui/views/Teams/index.js +1 -0
  73. package/ui/views/utils.d.ts +1 -1
  74. package/ui/views/utils.js +10 -24
  75. package/ui/views/utils.js.map +1 -1
  76. package/components/GroupAutocomplete/graphql.d.ts +0 -1
  77. package/components/GroupAutocomplete/graphql.js +0 -17
  78. package/components/GroupAutocomplete/graphql.js.map +0 -1
  79. package/components/GroupAutocomplete/index.d.ts +0 -5
  80. package/components/GroupAutocomplete/index.js +0 -31
  81. package/components/GroupAutocomplete/index.js.map +0 -1
  82. package/components/NotAuthorizedError/NotAuthorizedError.d.ts +0 -2
  83. package/components/NotAuthorizedError/NotAuthorizedError.js +0 -71
  84. package/components/NotAuthorizedError/NotAuthorizedError.js.map +0 -1
  85. package/components/NotAuthorizedError/SecureRouteError.svg +0 -1
  86. package/components/NotAuthorizedError/index.d.ts +0 -1
  87. package/components/NotAuthorizedError/index.js +0 -13
  88. package/components/NotAuthorizedError/index.js.map +0 -1
  89. package/index.js.map +0 -1
  90. package/plugins/constants.js +0 -13
  91. package/plugins/constants.js.map +0 -1
  92. package/plugins/index.d.ts +0 -3
  93. package/plugins/index.js +0 -20
  94. package/plugins/index.js.map +0 -1
  95. package/plugins/installation.d.ts +0 -3
  96. package/plugins/installation.js +0 -121
  97. package/plugins/installation.js.map +0 -1
  98. package/plugins/permissionRenderer/SecurityPermissions.d.ts +0 -8
  99. package/plugins/permissionRenderer/SecurityPermissions.js +0 -199
  100. package/plugins/permissionRenderer/SecurityPermissions.js.map +0 -1
  101. package/plugins/permissionRenderer/index.d.ts +0 -3
  102. package/plugins/permissionRenderer/index.js +0 -39
  103. package/plugins/permissionRenderer/index.js.map +0 -1
  104. package/plugins/routes.d.ts +0 -3
  105. package/plugins/routes.js +0 -56
  106. package/plugins/routes.js.map +0 -1
  107. package/plugins/secureRouteError.d.ts +0 -7
  108. package/plugins/secureRouteError.js +0 -22
  109. package/plugins/secureRouteError.js.map +0 -1
  110. package/types.js.map +0 -1
  111. package/ui/elements/GroupAutocompleteElement.d.ts +0 -6
  112. package/ui/elements/GroupAutocompleteElement.js +0 -64
  113. package/ui/elements/GroupAutocompleteElement.js.map +0 -1
  114. package/ui/views/ApiKeys/index.js.map +0 -1
  115. package/ui/views/Groups/Groups.d.ts +0 -8
  116. package/ui/views/Groups/Groups.js +0 -26
  117. package/ui/views/Groups/Groups.js.map +0 -1
  118. package/ui/views/Groups/GroupsDataList.d.ts +0 -5
  119. package/ui/views/Groups/GroupsDataList.js +0 -239
  120. package/ui/views/Groups/GroupsDataList.js.map +0 -1
  121. package/ui/views/Groups/GroupsForm.d.ts +0 -5
  122. package/ui/views/Groups/GroupsForm.js +0 -278
  123. package/ui/views/Groups/GroupsForm.js.map +0 -1
  124. package/ui/views/Groups/graphql.d.ts +0 -5
  125. package/ui/views/Groups/graphql.js +0 -26
  126. package/ui/views/Groups/graphql.js.map +0 -1
  127. package/ui/views/Groups/index.d.ts +0 -1
  128. package/ui/views/Groups/index.js +0 -18
  129. package/ui/views/Groups/index.js.map +0 -1
@@ -1,199 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
6
-
7
- Object.defineProperty(exports, "__esModule", {
8
- value: true
9
- });
10
- exports.SecurityPermissions = void 0;
11
-
12
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
-
14
- var _react = _interopRequireWildcard(require("react"));
15
-
16
- var _Grid = require("@webiny/ui/Grid");
17
-
18
- var _Select = require("@webiny/ui/Select");
19
-
20
- var _i18n = require("@webiny/app/i18n");
21
-
22
- var _Permissions = require("@webiny/app-admin/components/Permissions");
23
-
24
- var _form = require("@webiny/form");
25
-
26
- var _Elevation = require("@webiny/ui/Elevation");
27
-
28
- var _Typography = require("@webiny/ui/Typography");
29
-
30
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13;
31
-
32
- var t = _i18n.i18n.ns("app-security-admin-users/plugins/permissionRenderer");
33
-
34
- var SECURITY = "security";
35
- var SECURITY_FULL_ACCESS = "".concat(SECURITY, ".*");
36
- var SECURITY_GROUP_ACCESS = "".concat(SECURITY, ".group");
37
- var SECURITY_API_KEY_ACCESS = "".concat(SECURITY, ".apiKey");
38
- var FULL_ACCESS = "full";
39
- var NO_ACCESS = "no";
40
- var CUSTOM_ACCESS = "custom";
41
-
42
- var SecurityPermissions = function SecurityPermissions(_ref) {
43
- var value = _ref.value,
44
- onChange = _ref.onChange;
45
- var onFormChange = (0, _react.useCallback)(function (data) {
46
- var newValue = [];
47
-
48
- if (Array.isArray(value)) {
49
- // Let's just filter out the `security*` permission objects, it's easier to build new ones from scratch.
50
- newValue = value.filter(function (item) {
51
- return !item.name.startsWith(SECURITY);
52
- });
53
- }
54
-
55
- var permissions = [];
56
-
57
- if (data.accessLevel === FULL_ACCESS) {
58
- permissions.push({
59
- name: SECURITY_FULL_ACCESS
60
- });
61
- } else if (data.accessLevel === CUSTOM_ACCESS) {
62
- if (data.groupAccessScope === FULL_ACCESS) {
63
- permissions.push({
64
- name: SECURITY_GROUP_ACCESS
65
- });
66
- }
67
-
68
- if (data.apiKeyAccessScope === FULL_ACCESS) {
69
- permissions.push({
70
- name: SECURITY_API_KEY_ACCESS
71
- });
72
- }
73
- }
74
-
75
- if (permissions && permissions.length) {
76
- var _newValue;
77
-
78
- (_newValue = newValue).push.apply(_newValue, permissions);
79
- }
80
-
81
- onChange(newValue);
82
- }, [value]);
83
- var formData = (0, _react.useMemo)(function () {
84
- if (!Array.isArray(value)) {
85
- return {
86
- accessLevel: NO_ACCESS
87
- };
88
- }
89
-
90
- var hasFullAccess = value.find(function (item) {
91
- return item.name === SECURITY_FULL_ACCESS || item.name === "*";
92
- });
93
-
94
- if (hasFullAccess) {
95
- return {
96
- accessLevel: FULL_ACCESS
97
- };
98
- }
99
-
100
- var permissions = value.filter(function (item) {
101
- return item.name.startsWith(SECURITY);
102
- });
103
-
104
- if (permissions.length === 0) {
105
- return {
106
- accessLevel: NO_ACCESS
107
- };
108
- }
109
-
110
- var data = {
111
- accessLevel: CUSTOM_ACCESS,
112
- groupAccessScope: NO_ACCESS,
113
- apiKeyAccessScope: NO_ACCESS
114
- };
115
- var hasGroupAccess = permissions.find(function (item) {
116
- return item.name === SECURITY_GROUP_ACCESS;
117
- });
118
-
119
- if (hasGroupAccess) {
120
- data.groupAccessScope = FULL_ACCESS;
121
- }
122
-
123
- var hasApiKeyAccess = permissions.find(function (item) {
124
- return item.name === SECURITY_API_KEY_ACCESS;
125
- });
126
-
127
- if (hasApiKeyAccess) {
128
- data.apiKeyAccessScope = FULL_ACCESS;
129
- }
130
-
131
- return data;
132
- }, []);
133
- return /*#__PURE__*/_react.default.createElement(_form.Form, {
134
- data: formData,
135
- onChange: onFormChange
136
- }, function (_ref2) {
137
- var data = _ref2.data,
138
- Bind = _ref2.Bind;
139
- return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(_Grid.Grid, {
140
- className: _Permissions.gridNoPaddingClass
141
- }, /*#__PURE__*/_react.default.createElement(_Grid.Cell, {
142
- span: 6
143
- }, /*#__PURE__*/_react.default.createElement(_Permissions.PermissionInfo, {
144
- title: t(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["Access Level"])))
145
- })), /*#__PURE__*/_react.default.createElement(_Grid.Cell, {
146
- span: 6
147
- }, /*#__PURE__*/_react.default.createElement(Bind, {
148
- name: "accessLevel"
149
- }, /*#__PURE__*/_react.default.createElement(_Select.Select, {
150
- label: t(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["Access Level"])))
151
- }, /*#__PURE__*/_react.default.createElement("option", {
152
- value: NO_ACCESS
153
- }, t(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["No access"])))), /*#__PURE__*/_react.default.createElement("option", {
154
- value: FULL_ACCESS
155
- }, t(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["Full access"])))), /*#__PURE__*/_react.default.createElement("option", {
156
- value: CUSTOM_ACCESS
157
- }, t(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["Custom access"])))))))), data.accessLevel === CUSTOM_ACCESS && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Elevation.Elevation, {
158
- z: 1,
159
- style: {
160
- marginTop: 10
161
- }
162
- }, /*#__PURE__*/_react.default.createElement(_Grid.Grid, null, /*#__PURE__*/_react.default.createElement(_Grid.Cell, {
163
- span: 12
164
- }, /*#__PURE__*/_react.default.createElement(_Typography.Typography, {
165
- use: "overline"
166
- }, t(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2.default)(["API Keys"]))))), /*#__PURE__*/_react.default.createElement(_Grid.Cell, {
167
- span: 12
168
- }, /*#__PURE__*/_react.default.createElement(Bind, {
169
- name: "apiKeyAccessScope"
170
- }, /*#__PURE__*/_react.default.createElement(_Select.Select, {
171
- label: t(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2.default)(["Access Scope"])))
172
- }, /*#__PURE__*/_react.default.createElement("option", {
173
- value: NO_ACCESS
174
- }, t(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2.default)(["No access"])))), /*#__PURE__*/_react.default.createElement("option", {
175
- value: FULL_ACCESS
176
- }, t(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2.default)(["Full access"]))))))))), /*#__PURE__*/_react.default.createElement(_Elevation.Elevation, {
177
- z: 1,
178
- style: {
179
- marginTop: 10
180
- }
181
- }, /*#__PURE__*/_react.default.createElement(_Grid.Grid, null, /*#__PURE__*/_react.default.createElement(_Grid.Cell, {
182
- span: 12
183
- }, /*#__PURE__*/_react.default.createElement(_Typography.Typography, {
184
- use: "overline"
185
- }, t(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2.default)(["Groups"]))))), /*#__PURE__*/_react.default.createElement(_Grid.Cell, {
186
- span: 12
187
- }, /*#__PURE__*/_react.default.createElement(Bind, {
188
- name: "groupAccessScope"
189
- }, /*#__PURE__*/_react.default.createElement(_Select.Select, {
190
- label: t(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2.default)(["Access Scope"])))
191
- }, /*#__PURE__*/_react.default.createElement("option", {
192
- value: NO_ACCESS
193
- }, t(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2.default)(["No access"])))), /*#__PURE__*/_react.default.createElement("option", {
194
- value: FULL_ACCESS
195
- }, t(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2.default)(["Full access"])))))))))));
196
- });
197
- };
198
-
199
- exports.SecurityPermissions = SecurityPermissions;
@@ -1 +0,0 @@
1
- {"version":3,"names":["t","i18n","ns","SECURITY","SECURITY_FULL_ACCESS","SECURITY_GROUP_ACCESS","SECURITY_API_KEY_ACCESS","FULL_ACCESS","NO_ACCESS","CUSTOM_ACCESS","SecurityPermissions","value","onChange","onFormChange","useCallback","data","newValue","Array","isArray","filter","item","name","startsWith","permissions","accessLevel","push","groupAccessScope","apiKeyAccessScope","length","formData","useMemo","hasFullAccess","find","hasGroupAccess","hasApiKeyAccess","Bind","gridNoPaddingClass","marginTop"],"sources":["SecurityPermissions.tsx"],"sourcesContent":["import React, { Fragment, useCallback, useMemo } from \"react\";\nimport { Grid, Cell } from \"@webiny/ui/Grid\";\nimport { Select } from \"@webiny/ui/Select\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { PermissionInfo, gridNoPaddingClass } from \"@webiny/app-admin/components/Permissions\";\nimport { Form } from \"@webiny/form\";\nimport { Elevation } from \"@webiny/ui/Elevation\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport { SecurityPermission } from \"@webiny/app-security/types\";\n\nconst t = i18n.ns(\"app-security-admin-users/plugins/permissionRenderer\");\n\nconst SECURITY = \"security\";\nconst SECURITY_FULL_ACCESS = `${SECURITY}.*`;\nconst SECURITY_GROUP_ACCESS = `${SECURITY}.group`;\nconst SECURITY_API_KEY_ACCESS = `${SECURITY}.apiKey`;\nconst FULL_ACCESS = \"full\";\nconst NO_ACCESS = \"no\";\nconst CUSTOM_ACCESS = \"custom\";\n\ninterface SecurityPermissionsProps {\n value: SecurityPermission[];\n onChange: (value: SecurityPermission[]) => void;\n}\nexport const SecurityPermissions: React.FC<SecurityPermissionsProps> = ({ value, onChange }) => {\n const onFormChange = useCallback(\n data => {\n let newValue: SecurityPermission[] = [];\n if (Array.isArray(value)) {\n // Let's just filter out the `security*` permission objects, it's easier to build new ones from scratch.\n newValue = value.filter(item => !item.name.startsWith(SECURITY));\n }\n\n const permissions = [];\n if (data.accessLevel === FULL_ACCESS) {\n permissions.push({ name: SECURITY_FULL_ACCESS });\n } else if (data.accessLevel === CUSTOM_ACCESS) {\n if (data.groupAccessScope === FULL_ACCESS) {\n permissions.push({ name: SECURITY_GROUP_ACCESS });\n }\n\n if (data.apiKeyAccessScope === FULL_ACCESS) {\n permissions.push({ name: SECURITY_API_KEY_ACCESS });\n }\n }\n\n if (permissions && permissions.length) {\n newValue.push(...permissions);\n }\n\n onChange(newValue);\n },\n [value]\n );\n\n const formData = useMemo(() => {\n if (!Array.isArray(value)) {\n return { accessLevel: NO_ACCESS };\n }\n\n const hasFullAccess = value.find(\n item => item.name === SECURITY_FULL_ACCESS || item.name === \"*\"\n );\n\n if (hasFullAccess) {\n return { accessLevel: FULL_ACCESS };\n }\n\n const permissions = value.filter(item => item.name.startsWith(SECURITY));\n if (permissions.length === 0) {\n return { accessLevel: NO_ACCESS };\n }\n\n const data = {\n accessLevel: CUSTOM_ACCESS,\n groupAccessScope: NO_ACCESS,\n apiKeyAccessScope: NO_ACCESS\n };\n\n const hasGroupAccess = permissions.find(item => item.name === SECURITY_GROUP_ACCESS);\n if (hasGroupAccess) {\n data.groupAccessScope = FULL_ACCESS;\n }\n\n const hasApiKeyAccess = permissions.find(item => item.name === SECURITY_API_KEY_ACCESS);\n if (hasApiKeyAccess) {\n data.apiKeyAccessScope = FULL_ACCESS;\n }\n\n return data;\n }, []);\n\n return (\n <Form data={formData} onChange={onFormChange}>\n {({ data, Bind }) => {\n return (\n <Fragment>\n <Grid className={gridNoPaddingClass}>\n <Cell span={6}>\n <PermissionInfo title={t`Access Level`} />\n </Cell>\n <Cell span={6}>\n <Bind name={\"accessLevel\"}>\n <Select label={t`Access Level`}>\n <option value={NO_ACCESS}>{t`No access`}</option>\n <option value={FULL_ACCESS}>{t`Full access`}</option>\n <option value={CUSTOM_ACCESS}>{t`Custom access`}</option>\n </Select>\n </Bind>\n </Cell>\n </Grid>\n {data.accessLevel === CUSTOM_ACCESS && (\n <React.Fragment>\n <Elevation z={1} style={{ marginTop: 10 }}>\n <Grid>\n <Cell span={12}>\n <Typography use={\"overline\"}>{t`API Keys`}</Typography>\n </Cell>\n <Cell span={12}>\n <Bind name={\"apiKeyAccessScope\"}>\n <Select label={t`Access Scope`}>\n <option\n value={NO_ACCESS}\n >{t`No access`}</option>\n <option\n value={FULL_ACCESS}\n >{t`Full access`}</option>\n </Select>\n </Bind>\n </Cell>\n </Grid>\n </Elevation>\n <Elevation z={1} style={{ marginTop: 10 }}>\n <Grid>\n <Cell span={12}>\n <Typography use={\"overline\"}>{t`Groups`}</Typography>\n </Cell>\n <Cell span={12}>\n <Bind name={\"groupAccessScope\"}>\n <Select label={t`Access Scope`}>\n <option\n value={NO_ACCESS}\n >{t`No access`}</option>\n <option\n value={FULL_ACCESS}\n >{t`Full access`}</option>\n </Select>\n </Bind>\n </Cell>\n </Grid>\n </Elevation>\n </React.Fragment>\n )}\n </Fragment>\n );\n }}\n </Form>\n );\n};\n"],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { PermissionRendererPlugin } from "@webiny/app-admin/plugins/PermissionRendererPlugin";
2
- declare const _default: PermissionRendererPlugin;
3
- export default _default;
@@ -1,39 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = void 0;
9
-
10
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
11
-
12
- var _react = _interopRequireDefault(require("react"));
13
-
14
- var _i18n = require("@webiny/app/i18n");
15
-
16
- var _Accordion = require("@webiny/ui/Accordion");
17
-
18
- var _baselineSecurity24px = require("@webiny/app-admin/assets/icons/baseline-security-24px.svg");
19
-
20
- var _SecurityPermissions = require("./SecurityPermissions");
21
-
22
- var _PermissionRendererPlugin = require("@webiny/app-admin/plugins/PermissionRendererPlugin");
23
-
24
- var _templateObject, _templateObject2;
25
-
26
- var t = _i18n.i18n.ns("app-security-admin-users/plugins/permissionRenderer");
27
-
28
- var _default = new _PermissionRendererPlugin.PermissionRendererPlugin({
29
- render: function render(props) {
30
- return /*#__PURE__*/_react.default.createElement(_Accordion.AccordionItem, {
31
- icon: /*#__PURE__*/_react.default.createElement(_baselineSecurity24px.ReactComponent, null),
32
- title: t(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["Security"]))),
33
- description: t(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["Manage Security app access permissions."]))),
34
- "data-testid": "permission.security"
35
- }, /*#__PURE__*/_react.default.createElement(_SecurityPermissions.SecurityPermissions, props));
36
- }
37
- });
38
-
39
- exports.default = _default;
@@ -1 +0,0 @@
1
- {"version":3,"names":["t","i18n","ns","PermissionRendererPlugin","render","props"],"sources":["index.tsx"],"sourcesContent":["import React from \"react\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { AccordionItem } from \"@webiny/ui/Accordion\";\nimport { ReactComponent as SecurityIcon } from \"@webiny/app-admin/assets/icons/baseline-security-24px.svg\";\nimport { SecurityPermissions } from \"./SecurityPermissions\";\nimport { PermissionRendererPlugin } from \"@webiny/app-admin/plugins/PermissionRendererPlugin\";\n\nconst t = i18n.ns(\"app-security-admin-users/plugins/permissionRenderer\");\n\nexport default new PermissionRendererPlugin({\n render(props) {\n return (\n <AccordionItem\n icon={<SecurityIcon />}\n title={t`Security`}\n description={t`Manage Security app access permissions.`}\n data-testid={\"permission.security\"}\n >\n <SecurityPermissions {...props} />\n </AccordionItem>\n );\n }\n});\n"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,IAAMA,CAAC,GAAGC,UAAA,CAAKC,EAAL,CAAQ,qDAAR,CAAV;;eAEe,IAAIC,kDAAJ,CAA6B;EACxCC,MADwC,kBACjCC,KADiC,EAC1B;IACV,oBACI,6BAAC,wBAAD;MACI,IAAI,eAAE,6BAAC,oCAAD,OADV;MAEI,KAAK,EAAEL,CAAF,2FAFT;MAGI,WAAW,EAAEA,CAAF,4HAHf;MAII,eAAa;IAJjB,gBAMI,6BAAC,wCAAD,EAAyBK,KAAzB,CANJ,CADJ;EAUH;AAZuC,CAA7B,C"}
@@ -1,3 +0,0 @@
1
- import { RoutePlugin } from "@webiny/app/types";
2
- declare const plugins: RoutePlugin[];
3
- export default plugins;
package/plugins/routes.js DELETED
@@ -1,56 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = void 0;
9
-
10
- var _react = _interopRequireDefault(require("react"));
11
-
12
- var _reactHelmet = _interopRequireDefault(require("react-helmet"));
13
-
14
- var _reactRouter = require("@webiny/react-router");
15
-
16
- var _AdminLayout = require("@webiny/app-admin/components/AdminLayout");
17
-
18
- var _components = require("@webiny/app-security/components");
19
-
20
- var _Groups = require("../ui/views/Groups");
21
-
22
- var _ApiKeys = require("../ui/views/ApiKeys");
23
-
24
- var _constants = require("./constants");
25
-
26
- var plugins = [{
27
- name: "route-security-groups",
28
- type: "route",
29
- route: /*#__PURE__*/_react.default.createElement(_reactRouter.Route, {
30
- exact: true,
31
- path: "/access-management/groups",
32
- render: function render() {
33
- return /*#__PURE__*/_react.default.createElement(_components.SecureRoute, {
34
- permission: _constants.Permission.Groups
35
- }, /*#__PURE__*/_react.default.createElement(_AdminLayout.AdminLayout, null, /*#__PURE__*/_react.default.createElement(_reactHelmet.default, {
36
- title: "Access Management - Groups"
37
- }), /*#__PURE__*/_react.default.createElement(_Groups.Groups, null)));
38
- }
39
- })
40
- }, {
41
- name: "route-security-api-keys",
42
- type: "route",
43
- route: /*#__PURE__*/_react.default.createElement(_reactRouter.Route, {
44
- exact: true,
45
- path: "/access-management/api-keys",
46
- render: function render() {
47
- return /*#__PURE__*/_react.default.createElement(_components.SecureRoute, {
48
- permission: _constants.Permission.ApiKeys
49
- }, /*#__PURE__*/_react.default.createElement(_AdminLayout.AdminLayout, {
50
- title: "Access Management - API Keys"
51
- }, /*#__PURE__*/_react.default.createElement(_ApiKeys.ApiKeys, null)));
52
- }
53
- })
54
- }];
55
- var _default = plugins;
56
- exports.default = _default;
@@ -1 +0,0 @@
1
- {"version":3,"names":["plugins","name","type","route","Permission","Groups","ApiKeys"],"sources":["routes.tsx"],"sourcesContent":["import React from \"react\";\nimport Helmet from \"react-helmet\";\nimport { Route } from \"@webiny/react-router\";\nimport { AdminLayout } from \"@webiny/app-admin/components/AdminLayout\";\nimport { SecureRoute } from \"@webiny/app-security/components\";\nimport { RoutePlugin } from \"@webiny/app/types\";\nimport { Groups } from \"~/ui/views/Groups\";\nimport { ApiKeys } from \"~/ui/views/ApiKeys\";\nimport { Permission } from \"./constants\";\n\nconst plugins: RoutePlugin[] = [\n {\n name: \"route-security-groups\",\n type: \"route\",\n route: (\n <Route\n exact\n path={\"/access-management/groups\"}\n render={() => (\n <SecureRoute permission={Permission.Groups}>\n <AdminLayout>\n <Helmet title={\"Access Management - Groups\"} />\n <Groups />\n </AdminLayout>\n </SecureRoute>\n )}\n />\n )\n },\n {\n name: \"route-security-api-keys\",\n type: \"route\",\n route: (\n <Route\n exact\n path={\"/access-management/api-keys\"}\n render={() => (\n <SecureRoute permission={Permission.ApiKeys}>\n <AdminLayout title={\"Access Management - API Keys\"}>\n <ApiKeys />\n </AdminLayout>\n </SecureRoute>\n )}\n />\n )\n }\n];\n\nexport default plugins;\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AAEA,IAAMA,OAAsB,GAAG,CAC3B;EACIC,IAAI,EAAE,uBADV;EAEIC,IAAI,EAAE,OAFV;EAGIC,KAAK,eACD,6BAAC,kBAAD;IACI,KAAK,MADT;IAEI,IAAI,EAAE,2BAFV;IAGI,MAAM,EAAE;MAAA,oBACJ,6BAAC,uBAAD;QAAa,UAAU,EAAEC,qBAAA,CAAWC;MAApC,gBACI,6BAAC,wBAAD,qBACI,6BAAC,oBAAD;QAAQ,KAAK,EAAE;MAAf,EADJ,eAEI,6BAAC,cAAD,OAFJ,CADJ,CADI;IAAA;EAHZ;AAJR,CAD2B,EAmB3B;EACIJ,IAAI,EAAE,yBADV;EAEIC,IAAI,EAAE,OAFV;EAGIC,KAAK,eACD,6BAAC,kBAAD;IACI,KAAK,MADT;IAEI,IAAI,EAAE,6BAFV;IAGI,MAAM,EAAE;MAAA,oBACJ,6BAAC,uBAAD;QAAa,UAAU,EAAEC,qBAAA,CAAWE;MAApC,gBACI,6BAAC,wBAAD;QAAa,KAAK,EAAE;MAApB,gBACI,6BAAC,gBAAD,OADJ,CADJ,CADI;IAAA;EAHZ;AAJR,CAnB2B,CAA/B;eAsCeN,O"}
@@ -1,7 +0,0 @@
1
- import * as React from "react";
2
- import { Plugin } from "@webiny/plugins/types";
3
- declare type SecureRouteErrorPlugin = Plugin & {
4
- render: () => React.ReactNode;
5
- };
6
- declare const plugin: SecureRouteErrorPlugin;
7
- export default plugin;
@@ -1,22 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = void 0;
9
-
10
- var React = _interopRequireWildcard(require("react"));
11
-
12
- var _NotAuthorizedError = require("../components/NotAuthorizedError");
13
-
14
- var plugin = {
15
- type: "secure-route-error",
16
- name: "secure-route-error",
17
- render: function render() {
18
- return /*#__PURE__*/React.createElement(_NotAuthorizedError.NotAuthorizedError, null);
19
- }
20
- };
21
- var _default = plugin;
22
- exports.default = _default;
@@ -1 +0,0 @@
1
- {"version":3,"names":["plugin","type","name","render"],"sources":["secureRouteError.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { Plugin } from \"@webiny/plugins/types\";\nimport { NotAuthorizedError } from \"~/components/NotAuthorizedError\";\n\ntype SecureRouteErrorPlugin = Plugin & { render: () => React.ReactNode };\n\nconst plugin: SecureRouteErrorPlugin = {\n type: \"secure-route-error\",\n name: \"secure-route-error\",\n render(): React.ReactElement {\n return <NotAuthorizedError />;\n }\n};\n\nexport default plugin;\n"],"mappings":";;;;;;;;;AAAA;;AAEA;;AAIA,IAAMA,MAA8B,GAAG;EACnCC,IAAI,EAAE,oBAD6B;EAEnCC,IAAI,EAAE,oBAF6B;EAGnCC,MAHmC,oBAGN;IACzB,oBAAO,oBAAC,sCAAD,OAAP;EACH;AALkC,CAAvC;eAQeH,M"}
package/types.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import { SecurityPermission } from \"@webiny/app-security/types\";\n\nexport interface Group {\n id: string;\n name: string;\n description: string;\n slug: string;\n system?: boolean;\n}\nexport interface ApiKey {\n id: string;\n token: string;\n name: string;\n description: string;\n permissions: SecurityPermission[];\n}\n"],"mappings":""}
@@ -1,6 +0,0 @@
1
- import React from "react";
2
- import { InputElement } from "@webiny/app-admin/ui/elements/form/InputElement";
3
- import { FormFieldElementRenderProps } from "@webiny/app-admin/ui/elements/form/FormFieldElement";
4
- export declare class GroupAutocompleteElement extends InputElement {
5
- render(props: FormFieldElementRenderProps): React.ReactElement;
6
- }
@@ -1,64 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.GroupAutocompleteElement = void 0;
9
-
10
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
-
12
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
-
14
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
15
-
16
- var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
17
-
18
- var _react = _interopRequireDefault(require("react"));
19
-
20
- var _InputElement2 = require("@webiny/app-admin/ui/elements/form/InputElement");
21
-
22
- var _GroupAutocomplete = require("../../components/GroupAutocomplete");
23
-
24
- var GroupAutocompleteElement = /*#__PURE__*/function (_InputElement) {
25
- (0, _inherits2.default)(GroupAutocompleteElement, _InputElement);
26
-
27
- var _super = (0, _createSuper2.default)(GroupAutocompleteElement);
28
-
29
- function GroupAutocompleteElement() {
30
- (0, _classCallCheck2.default)(this, GroupAutocompleteElement);
31
- return _super.apply(this, arguments);
32
- }
33
-
34
- (0, _createClass2.default)(GroupAutocompleteElement, [{
35
- key: "render",
36
- value: function render(props) {
37
- var formProps = props.formProps;
38
- var _ref = formProps,
39
- Bind = _ref.Bind;
40
- var validators = this.config.validators;
41
- /**
42
- * TODO @ts-refactor @bruno
43
- * Figure out what can validators be.
44
- */
45
-
46
- if (validators && typeof validators !== "function") {
47
- console.log("packages/app-security-access-management/src/ui/elements/GroupAutocompleteElement.tsx validators is set but not a function.");
48
- console.log(validators);
49
- }
50
-
51
- return /*#__PURE__*/_react.default.createElement(Bind, {
52
- name: this.id,
53
- validators: typeof validators === "function" ? validators({
54
- formProps: formProps
55
- }) : []
56
- }, /*#__PURE__*/_react.default.createElement(_GroupAutocomplete.GroupAutocomplete, {
57
- label: "Group"
58
- }));
59
- }
60
- }]);
61
- return GroupAutocompleteElement;
62
- }(_InputElement2.InputElement);
63
-
64
- exports.GroupAutocompleteElement = GroupAutocompleteElement;
@@ -1 +0,0 @@
1
- {"version":3,"names":["GroupAutocompleteElement","props","formProps","Bind","validators","config","console","log","id","InputElement"],"sources":["GroupAutocompleteElement.tsx"],"sourcesContent":["import React from \"react\";\nimport { FormRenderPropParams } from \"@webiny/form\";\nimport { InputElement } from \"@webiny/app-admin/ui/elements/form/InputElement\";\nimport { GroupAutocomplete } from \"~/components/GroupAutocomplete\";\nimport { FormFieldElementRenderProps } from \"@webiny/app-admin/ui/elements/form/FormFieldElement\";\n\nexport class GroupAutocompleteElement extends InputElement {\n public override render(props: FormFieldElementRenderProps): React.ReactElement {\n const { formProps } = props;\n const { Bind } = formProps as FormRenderPropParams;\n const validators = this.config.validators;\n /**\n * TODO @ts-refactor @bruno\n * Figure out what can validators be.\n */\n if (validators && typeof validators !== \"function\") {\n console.log(\n \"packages/app-security-access-management/src/ui/elements/GroupAutocompleteElement.tsx validators is set but not a function.\"\n );\n console.log(validators);\n }\n return (\n <Bind\n name={this.id}\n validators={typeof validators === \"function\" ? validators({ formProps }) : []}\n >\n <GroupAutocomplete label={\"Group\"} />\n </Bind>\n );\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AAEA;;AACA;;IAGaA,wB;;;;;;;;;;;;WACT,gBAAuBC,KAAvB,EAA+E;MAC3E,IAAQC,SAAR,GAAsBD,KAAtB,CAAQC,SAAR;MACA,WAAiBA,SAAjB;MAAA,IAAQC,IAAR,QAAQA,IAAR;MACA,IAAMC,UAAU,GAAG,KAAKC,MAAL,CAAYD,UAA/B;MACA;AACR;AACA;AACA;;MACQ,IAAIA,UAAU,IAAI,OAAOA,UAAP,KAAsB,UAAxC,EAAoD;QAChDE,OAAO,CAACC,GAAR,CACI,4HADJ;QAGAD,OAAO,CAACC,GAAR,CAAYH,UAAZ;MACH;;MACD,oBACI,6BAAC,IAAD;QACI,IAAI,EAAE,KAAKI,EADf;QAEI,UAAU,EAAE,OAAOJ,UAAP,KAAsB,UAAtB,GAAmCA,UAAU,CAAC;UAAEF,SAAS,EAATA;QAAF,CAAD,CAA7C,GAA+D;MAF/E,gBAII,6BAAC,oCAAD;QAAmB,KAAK,EAAE;MAA1B,EAJJ,CADJ;IAQH;;;EAvByCO,2B"}
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./ApiKeys\";\n"],"mappings":";;;;;;AAAA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
@@ -1,8 +0,0 @@
1
- import React from "react";
2
- import { GroupsDataListProps } from "./GroupsDataList";
3
- import { GroupsFormProps } from "./GroupsForm";
4
- export interface GroupsProps {
5
- listProps?: GroupsDataListProps;
6
- formProps?: GroupsFormProps;
7
- }
8
- export declare const Groups: React.FC<GroupsProps>;
@@ -1,26 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.Groups = void 0;
9
-
10
- var _react = _interopRequireDefault(require("react"));
11
-
12
- var _SplitView = require("@webiny/app-admin/components/SplitView");
13
-
14
- var _GroupsDataList = require("./GroupsDataList");
15
-
16
- var _GroupsForm = require("./GroupsForm");
17
-
18
- var Groups = function Groups(_ref) {
19
- var _ref$formProps = _ref.formProps,
20
- formProps = _ref$formProps === void 0 ? {} : _ref$formProps,
21
- _ref$listProps = _ref.listProps,
22
- listProps = _ref$listProps === void 0 ? {} : _ref$listProps;
23
- return /*#__PURE__*/_react.default.createElement(_SplitView.SplitView, null, /*#__PURE__*/_react.default.createElement(_SplitView.LeftPanel, null, /*#__PURE__*/_react.default.createElement(_GroupsDataList.GroupsDataList, listProps)), /*#__PURE__*/_react.default.createElement(_SplitView.RightPanel, null, /*#__PURE__*/_react.default.createElement(_GroupsForm.GroupsForm, formProps)));
24
- };
25
-
26
- exports.Groups = Groups;
@@ -1 +0,0 @@
1
- {"version":3,"names":["Groups","formProps","listProps"],"sources":["Groups.tsx"],"sourcesContent":["import React from \"react\";\nimport { SplitView, LeftPanel, RightPanel } from \"@webiny/app-admin/components/SplitView\";\nimport { GroupsDataList, GroupsDataListProps } from \"./GroupsDataList\";\nimport { GroupsForm, GroupsFormProps } from \"./GroupsForm\";\n\nexport interface GroupsProps {\n listProps?: GroupsDataListProps;\n formProps?: GroupsFormProps;\n}\nexport const Groups: React.FC<GroupsProps> = ({ formProps = {}, listProps = {} }) => {\n return (\n <SplitView>\n <LeftPanel>\n <GroupsDataList {...listProps} />\n </LeftPanel>\n <RightPanel>\n <GroupsForm {...formProps} />\n </RightPanel>\n </SplitView>\n );\n};\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAMO,IAAMA,MAA6B,GAAG,SAAhCA,MAAgC,OAAwC;EAAA,0BAArCC,SAAqC;EAAA,IAArCA,SAAqC,+BAAzB,EAAyB;EAAA,0BAArBC,SAAqB;EAAA,IAArBA,SAAqB,+BAAT,EAAS;EACjF,oBACI,6BAAC,oBAAD,qBACI,6BAAC,oBAAD,qBACI,6BAAC,8BAAD,EAAoBA,SAApB,CADJ,CADJ,eAII,6BAAC,qBAAD,qBACI,6BAAC,sBAAD,EAAgBD,SAAhB,CADJ,CAJJ,CADJ;AAUH,CAXM"}
@@ -1,5 +0,0 @@
1
- import React from "react";
2
- export interface GroupsDataListProps {
3
- [key: string]: any;
4
- }
5
- export declare const GroupsDataList: React.FC<GroupsDataListProps>;