@webiny/app-security-access-management 5.43.3 → 6.0.0-alpha.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 +16 -11
- package/components/GroupAutocomplete/graphql.js.map +1 -1
- package/components/GroupAutocomplete/index.d.ts +1 -1
- package/components/GroupAutocomplete/index.js +11 -17
- package/components/GroupAutocomplete/index.js.map +1 -1
- package/components/GroupsMultiAutocomplete/graphql.js +21 -11
- package/components/GroupsMultiAutocomplete/graphql.js.map +1 -1
- package/components/GroupsMultiAutocomplete/index.d.ts +1 -1
- package/components/GroupsMultiAutocomplete/index.js +11 -17
- package/components/GroupsMultiAutocomplete/index.js.map +1 -1
- package/components/NotAuthorizedError/NotAuthorizedError.js +18 -61
- package/components/NotAuthorizedError/NotAuthorizedError.js.map +1 -1
- package/components/NotAuthorizedError/index.js +1 -12
- package/components/NotAuthorizedError/index.js.map +1 -1
- package/components/TeamAutocomplete/graphql.js +16 -11
- package/components/TeamAutocomplete/graphql.js.map +1 -1
- package/components/TeamAutocomplete/index.d.ts +1 -1
- package/components/TeamAutocomplete/index.js +11 -17
- package/components/TeamAutocomplete/index.js.map +1 -1
- package/components/TeamsMultiAutocomplete/graphql.js +21 -11
- package/components/TeamsMultiAutocomplete/graphql.js.map +1 -1
- package/components/TeamsMultiAutocomplete/index.d.ts +1 -1
- package/components/TeamsMultiAutocomplete/index.js +11 -17
- package/components/TeamsMultiAutocomplete/index.js.map +1 -1
- package/index.d.ts +0 -7
- package/index.js +80 -71
- package/index.js.map +1 -1
- package/package.json +13 -13
- package/plugins/constants.js +1 -7
- package/plugins/constants.js.map +1 -1
- package/plugins/index.d.ts +1 -1
- package/plugins/index.js +4 -13
- package/plugins/index.js.map +1 -1
- package/plugins/installation.d.ts +1 -1
- package/plugins/installation.js +62 -51
- package/plugins/installation.js.map +1 -1
- package/plugins/permissionRenderer/SecurityPermissions.d.ts +1 -1
- package/plugins/permissionRenderer/SecurityPermissions.js +84 -127
- package/plugins/permissionRenderer/SecurityPermissions.js.map +1 -1
- package/plugins/permissionRenderer/index.js +17 -23
- package/plugins/permissionRenderer/index.js.map +1 -1
- package/plugins/routes.d.ts +1 -1
- package/plugins/routes.js +22 -33
- package/plugins/routes.js.map +1 -1
- package/plugins/secureRouteError.d.ts +1 -1
- package/plugins/secureRouteError.js +6 -13
- package/plugins/secureRouteError.js.map +1 -1
- package/types.d.ts +1 -1
- package/types.js +1 -5
- package/types.js.map +1 -1
- package/ui/elements/GroupAutocompleteElement.d.ts +1 -1
- package/ui/elements/GroupAutocompleteElement.js +29 -45
- package/ui/elements/GroupAutocompleteElement.js.map +1 -1
- package/ui/elements/GroupsMultiAutocompleteElement.d.ts +1 -1
- package/ui/elements/GroupsMultiAutocompleteElement.js +29 -45
- package/ui/elements/GroupsMultiAutocompleteElement.js.map +1 -1
- package/ui/elements/TeamAutocompleteElement.d.ts +1 -1
- package/ui/elements/TeamAutocompleteElement.js +29 -45
- package/ui/elements/TeamAutocompleteElement.js.map +1 -1
- package/ui/views/ApiKeys/ApiKeyForm.js +137 -200
- package/ui/views/ApiKeys/ApiKeyForm.js.map +1 -1
- package/ui/views/ApiKeys/ApiKeys.d.ts +2 -2
- package/ui/views/ApiKeys/ApiKeys.js +9 -17
- package/ui/views/ApiKeys/ApiKeys.js.map +1 -1
- package/ui/views/ApiKeys/ApiKeysDataList.js +110 -134
- package/ui/views/ApiKeys/ApiKeysDataList.js.map +1 -1
- package/ui/views/ApiKeys/graphql.d.ts +1 -1
- package/ui/views/ApiKeys/graphql.js +80 -16
- package/ui/views/ApiKeys/graphql.js.map +1 -1
- package/ui/views/ApiKeys/index.js +1 -16
- package/ui/views/ApiKeys/index.js.map +1 -1
- package/ui/views/ApiKeys/utils.d.ts +1 -1
- package/ui/views/ApiKeys/utils.js +3 -11
- package/ui/views/ApiKeys/utils.js.map +1 -1
- package/ui/views/Groups/Groups.d.ts +2 -2
- package/ui/views/Groups/Groups.js +9 -17
- package/ui/views/Groups/Groups.js.map +1 -1
- package/ui/views/Groups/GroupsDataList.js +114 -141
- package/ui/views/Groups/GroupsDataList.js.map +1 -1
- package/ui/views/Groups/GroupsForm.js +155 -187
- package/ui/views/Groups/GroupsForm.js.map +1 -1
- package/ui/views/Groups/graphql.d.ts +1 -1
- package/ui/views/Groups/graphql.js +83 -16
- package/ui/views/Groups/graphql.js.map +1 -1
- package/ui/views/Groups/index.js +1 -16
- package/ui/views/Groups/index.js.map +1 -1
- package/ui/views/Teams/Teams.d.ts +2 -2
- package/ui/views/Teams/Teams.js +9 -17
- package/ui/views/Teams/Teams.js.map +1 -1
- package/ui/views/Teams/TeamsDataList.js +116 -141
- package/ui/views/Teams/TeamsDataList.js.map +1 -1
- package/ui/views/Teams/TeamsForm.js +118 -150
- package/ui/views/Teams/TeamsForm.js.map +1 -1
- package/ui/views/Teams/graphql.d.ts +1 -1
- package/ui/views/Teams/graphql.js +87 -16
- package/ui/views/Teams/graphql.js.map +1 -1
- package/ui/views/Teams/index.js +1 -16
- package/ui/views/Teams/index.js.map +1 -1
- package/ui/views/utils.js +3 -14
- package/ui/views/utils.js.map +1 -1
|
@@ -1,204 +1,172 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
var _GroupsMultiAutocomplete = require("../../../components/GroupsMultiAutocomplete");
|
|
31
|
-
var _Alert = require("@webiny/ui/Alert");
|
|
32
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9;
|
|
33
|
-
function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
|
|
34
|
-
var t = _i18n.i18n.ns("app-security/admin/teams/form");
|
|
35
|
-
var ButtonWrapper = /*#__PURE__*/(0, _base.default)("div", process.env.NODE_ENV === "production" ? {
|
|
36
|
-
target: "e197ut580"
|
|
37
|
-
} : {
|
|
38
|
-
target: "e197ut580",
|
|
39
|
-
label: "ButtonWrapper"
|
|
40
|
-
})(process.env.NODE_ENV === "production" ? {
|
|
41
|
-
name: "1eoy87d",
|
|
42
|
-
styles: "display:flex;justify-content:space-between"
|
|
43
|
-
} : {
|
|
44
|
-
name: "1eoy87d",
|
|
45
|
-
styles: "display:flex;justify-content:space-between",
|
|
46
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlRlYW1zRm9ybS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBOEJzQiIsImZpbGUiOiJUZWFtc0Zvcm0udHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUNhbGxiYWNrIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VNdXRhdGlvbiwgdXNlUXVlcnkgfSBmcm9tIFwiQGFwb2xsby9yZWFjdC1ob29rc1wiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgcGljayBmcm9tIFwibG9kYXNoL3BpY2tcIjtcbmltcG9ydCBnZXQgZnJvbSBcImxvZGFzaC9nZXRcIjtcbmltcG9ydCB7IHVzZVJvdXRlciB9IGZyb20gXCJAd2ViaW55L3JlYWN0LXJvdXRlclwiO1xuaW1wb3J0IHsgaTE4biB9IGZyb20gXCJAd2ViaW55L2FwcC9pMThuXCI7XG5pbXBvcnQgeyBGb3JtIH0gZnJvbSBcIkB3ZWJpbnkvZm9ybVwiO1xuaW1wb3J0IHsgR3JpZCwgQ2VsbCB9IGZyb20gXCJAd2ViaW55L3VpL0dyaWRcIjtcbmltcG9ydCB7IElucHV0IH0gZnJvbSBcIkB3ZWJpbnkvdWkvSW5wdXRcIjtcbmltcG9ydCB7IEJ1dHRvbkRlZmF1bHQsIEJ1dHRvbkljb24sIEJ1dHRvblByaW1hcnkgfSBmcm9tIFwiQHdlYmlueS91aS9CdXR0b25cIjtcbmltcG9ydCB7IENpcmN1bGFyUHJvZ3Jlc3MgfSBmcm9tIFwiQHdlYmlueS91aS9Qcm9ncmVzc1wiO1xuaW1wb3J0IHsgdmFsaWRhdGlvbiB9IGZyb20gXCJAd2ViaW55L3ZhbGlkYXRpb25cIjtcbmltcG9ydCB7XG4gICAgU2ltcGxlRm9ybSxcbiAgICBTaW1wbGVGb3JtRm9vdGVyLFxuICAgIFNpbXBsZUZvcm1Db250ZW50LFxuICAgIFNpbXBsZUZvcm1IZWFkZXJcbn0gZnJvbSBcIkB3ZWJpbnkvYXBwLWFkbWluL2NvbXBvbmVudHMvU2ltcGxlRm9ybVwiO1xuaW1wb3J0IHsgdXNlU25hY2tiYXIgfSBmcm9tIFwiQHdlYmlueS9hcHAtYWRtaW4vaG9va3MvdXNlU25hY2tiYXJcIjtcbmltcG9ydCB7IENSRUFURV9URUFNLCBMSVNUX1RFQU1TLCBSRUFEX1RFQU0sIFVQREFURV9URUFNIH0gZnJvbSBcIi4vZ3JhcGhxbFwiO1xuaW1wb3J0IGlzRW1wdHkgZnJvbSBcImxvZGFzaC9pc0VtcHR5XCI7XG5pbXBvcnQgRW1wdHlWaWV3IGZyb20gXCJAd2ViaW55L2FwcC1hZG1pbi9jb21wb25lbnRzL0VtcHR5Vmlld1wiO1xuaW1wb3J0IHsgUmVhY3RDb21wb25lbnQgYXMgQWRkSWNvbiB9IGZyb20gXCJAd2ViaW55L2FwcC1hZG1pbi9hc3NldHMvaWNvbnMvYWRkLTE4cHguc3ZnXCI7XG5pbXBvcnQgeyBHcm91cHNNdWx0aUF1dG9jb21wbGV0ZSB9IGZyb20gXCJ+L2NvbXBvbmVudHMvR3JvdXBzTXVsdGlBdXRvY29tcGxldGVcIjtcbmltcG9ydCB7IFRlYW0gfSBmcm9tIFwifi90eXBlc1wiO1xuaW1wb3J0IHsgQWxlcnQgfSBmcm9tIFwiQHdlYmlueS91aS9BbGVydFwiO1xuXG5jb25zdCB0ID0gaTE4bi5ucyhcImFwcC1zZWN1cml0eS9hZG1pbi90ZWFtcy9mb3JtXCIpO1xuXG5jb25zdCBCdXR0b25XcmFwcGVyID0gc3R5bGVkKFwiZGl2XCIpKHtcbiAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICBqdXN0aWZ5Q29udGVudDogXCJzcGFjZS1iZXR3ZWVuXCJcbn0pO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRlYW1zRm9ybVByb3BzIHtcbiAgICAvLyBUT0RPIEB0cy1yZWZhY3RvciBkZWxldGUgYW5kIGdvIHVwIHRoZSB0cmVlIGFuZCBzb3J0IGl0IG91dFxuICAgIFtrZXk6IHN0cmluZ106IGFueTtcbn1cblxuZXhwb3J0IGNvbnN0IFRlYW1zRm9ybSA9ICgpID0+IHtcbiAgICBjb25zdCB7IGxvY2F0aW9uLCBoaXN0b3J5IH0gPSB1c2VSb3V0ZXIoKTtcbiAgICBjb25zdCB7IHNob3dTbmFja2JhciB9ID0gdXNlU25hY2tiYXIoKTtcbiAgICBjb25zdCBuZXdUZWFtID0gbmV3IFVSTFNlYXJjaFBhcmFtcyhsb2NhdGlvbi5zZWFyY2gpLmdldChcIm5ld1wiKSA9PT0gXCJ0cnVlXCI7XG4gICAgY29uc3QgaWQgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKGxvY2F0aW9uLnNlYXJjaCkuZ2V0KFwiaWRcIik7XG5cbiAgICBjb25zdCBnZXRRdWVyeSA9IHVzZVF1ZXJ5KFJFQURfVEVBTSwge1xuICAgICAgICB2YXJpYWJsZXM6IHsgaWQgfSxcbiAgICAgICAgc2tpcDogIWlkLFxuICAgICAgICBvbkNvbXBsZXRlZDogZGF0YSA9PiB7XG4gICAgICAgICAgICBpZiAoIWRhdGEpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHsgZXJyb3IgfSA9IGRhdGEuc2VjdXJpdHkudGVhbTtcbiAgICAgICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgICAgIGhpc3RvcnkucHVzaChcIi9hY2Nlc3MtbWFuYWdlbWVudC90ZWFtc1wiKTtcbiAgICAgICAgICAgICAgICBzaG93U25hY2tiYXIoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcblxuICAgIGNvbnN0IFtjcmVhdGUsIGNyZWF0ZU11dGF0aW9uXSA9IHVzZU11dGF0aW9uKENSRUFURV9URUFNLCB7XG4gICAgICAgIHJlZmV0Y2hRdWVyaWVzOiBbeyBxdWVyeTogTElTVF9URUFNUyB9XVxuICAgIH0pO1xuXG4gICAgY29uc3QgW3VwZGF0ZSwgdXBkYXRlTXV0YXRpb25dID0gdXNlTXV0YXRpb24oVVBEQVRFX1RFQU0sIHtcbiAgICAgICAgcmVmZXRjaFF1ZXJpZXM6IFt7IHF1ZXJ5OiBMSVNUX1RFQU1TIH1dXG4gICAgfSk7XG5cbiAgICBjb25zdCBsb2FkaW5nID0gW2dldFF1ZXJ5LCBjcmVhdGVNdXRhdGlvbiwgdXBkYXRlTXV0YXRpb25dLmZpbmQoaXRlbSA9PiBpdGVtLmxvYWRpbmcpO1xuXG4gICAgY29uc3Qgb25TdWJtaXQgPSB1c2VDYWxsYmFjayhcbiAgICAgICAgYXN5bmMgKGZvcm1EYXRhOiBUZWFtKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpc1VwZGF0ZSA9IGZvcm1EYXRhLmNyZWF0ZWRPbjtcbiAgICAgICAgICAgIGNvbnN0IFtvcGVyYXRpb24sIGFyZ3NdID0gaXNVcGRhdGVcbiAgICAgICAgICAgICAgICA/IFtcbiAgICAgICAgICAgICAgICAgICAgICB1cGRhdGUsXG4gICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBmb3JtRGF0YS5pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IHBpY2soZm9ybURhdGEsIFtcIm5hbWVcIiwgXCJkZXNjcmlwdGlvblwiLCBcImdyb3Vwc1wiXSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICA6IFtcbiAgICAgICAgICAgICAgICAgICAgICBjcmVhdGUsXG4gICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IHBpY2soZm9ybURhdGEsIFtcIm5hbWVcIiwgXCJzbHVnXCIsIFwiZGVzY3JpcHRpb25cIiwgXCJncm91cHNcIl0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBdO1xuXG4gICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IG9wZXJhdGlvbihhcmdzKTtcblxuICAgICAgICAgICAgY29uc3QgeyBkYXRhOiB0ZWFtLCBlcnJvciB9ID0gcmVzcG9uc2UuZGF0YS5zZWN1cml0eS50ZWFtO1xuICAgICAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHNob3dTbmFja2JhcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgIWlzVXBkYXRlICYmIGhpc3RvcnkucHVzaChgL2FjY2Vzcy1tYW5hZ2VtZW50L3RlYW1zP2lkPSR7dGVhbS5pZH1gKTtcbiAgICAgICAgICAgIHNob3dTbmFja2Jhcih0YFRlYW0gc2F2ZWQgc3VjY2Vzc2Z1bGx5IWApO1xuICAgICAgICB9LFxuICAgICAgICBbaWRdXG4gICAgKTtcblxuICAgIGNvbnN0IGRhdGEgPSBsb2FkaW5nID8ge30gOiBnZXQoZ2V0UXVlcnksIFwiZGF0YS5zZWN1cml0eS50ZWFtLmRhdGFcIiwge30pO1xuXG4gICAgY29uc3Qgc3lzdGVtVGVhbSA9IGRhdGEuc3lzdGVtO1xuICAgIGNvbnN0IHBsdWdpblRlYW0gPSBkYXRhLnBsdWdpbjtcbiAgICBjb25zdCBjYW5Nb2RpZnlUZWFtID0gIXN5c3RlbVRlYW0gJiYgIXBsdWdpblRlYW07XG5cbiAgICBjb25zdCBzaG93RW1wdHlWaWV3ID0gIW5ld1RlYW0gJiYgIWxvYWRpbmcgJiYgaXNFbXB0eShkYXRhKTtcbiAgICAvLyBSZW5kZXIgXCJObyBjb250ZW50XCIgc2VsZWN0ZWQgdmlldy5cbiAgICBpZiAoc2hvd0VtcHR5Vmlldykge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPEVtcHR5Vmlld1xuICAgICAgICAgICAgICAgIHRpdGxlPXt0YENsaWNrIG9uIHRoZSBsZWZ0IHNpZGUgbGlzdCB0byBkaXNwbGF5IHRlYW0gZGV0YWlscyBvciBjcmVhdGUgYS4uLmB9XG4gICAgICAgICAgICAgICAgYWN0aW9uPXtcbiAgICAgICAgICAgICAgICAgICAgPEJ1dHRvbkRlZmF1bHRcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwibmV3LXJlY29yZC1idXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gaGlzdG9yeS5wdXNoKFwiL2FjY2Vzcy1tYW5hZ2VtZW50L3RlYW1zP25ldz10cnVlXCIpfVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uSWNvbiBpY29uPXs8QWRkSWNvbiAvPn0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt0YE5ldyBUZWFtYH1cbiAgICAgICAgICAgICAgICAgICAgPC9CdXR0b25EZWZhdWx0PlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPEZvcm0gZGF0YT17ZGF0YX0gb25TdWJtaXQ9e29uU3VibWl0fT5cbiAgICAgICAgICAgIHsoeyBkYXRhLCBmb3JtLCBCaW5kIH0pID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICA8U2ltcGxlRm9ybT5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtsb2FkaW5nICYmIDxDaXJjdWxhclByb2dyZXNzIC8+fVxuICAgICAgICAgICAgICAgICAgICAgICAgPFNpbXBsZUZvcm1IZWFkZXIgdGl0bGU9e2RhdGEubmFtZSA/IGRhdGEubmFtZSA6IFwiVW50aXRsZWRcIn0gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxTaW1wbGVGb3JtQ29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7c3lzdGVtVGVhbSAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxHcmlkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPENlbGwgc3Bhbj17MTJ9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxBbGVydCB0eXBlPXtcImluZm9cIn0gdGl0bGU9e1wiUGVybWlzc2lvbnMgYXJlIGxvY2tlZFwifT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBpcyBhIHByb3RlY3RlZCBzeXN0ZW0gdGVhbSBhbmQgeW91IGNhbiZhcG9zO3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kaWZ5IGl0cyBwZXJtaXNzaW9ucy5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0FsZXJ0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9DZWxsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0dyaWQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7cGx1Z2luVGVhbSAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxHcmlkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPENlbGwgc3Bhbj17MTJ9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxBbGVydCB0eXBlPXtcImluZm9cIn0gdGl0bGU9e1wiSW1wb3J0YW50XCJ9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIHRlYW0gaXMgcmVnaXN0ZXJlZCB2aWEgYW4gZXh0ZW5zaW9uLCBhbmQgY2Fubm90IGJlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGlmaWVkLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQWxlcnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0NlbGw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvR3JpZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxHcmlkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Q2VsbCBzcGFuPXs2fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCaW5kXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT1cIm5hbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkYXRvcnM9e3ZhbGlkYXRpb24uY3JlYXRlKFwicmVxdWlyZWQsbWluTGVuZ3RoOjNcIil9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPElucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXshY2FuTW9kaWZ5VGVhbX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw9e3RgTmFtZWB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwiYWRtaW4uYW0udGVhbS5uZXcubmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQmluZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9DZWxsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Q2VsbCBzcGFuPXs2fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCaW5kXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT1cInNsdWdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkYXRvcnM9e3ZhbGlkYXRpb24uY3JlYXRlKFwicmVxdWlyZWQsbWluTGVuZ3RoOjNcIil9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPElucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXshY2FuTW9kaWZ5VGVhbSB8fCAhbmV3VGVhbX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw9e3RgU2x1Z2B9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwiYWRtaW4uYW0udGVhbS5uZXcuc2x1Z1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQmluZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9DZWxsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvR3JpZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8R3JpZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPENlbGwgc3Bhbj17MTJ9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJpbmRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwiZGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkYXRvcnM9e3ZhbGlkYXRpb24uY3JlYXRlKFwibWF4TGVuZ3RoOjUwMFwiKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9eyFjYW5Nb2RpZnlUZWFtfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbD17dGBEZXNjcmlwdGlvbmB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvd3M9ezN9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwiYWRtaW4uYW0udGVhbS5uZXcuZGVzY3JpcHRpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0JpbmQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvQ2VsbD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0dyaWQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEdyaWQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxDZWxsIHNwYW49ezEyfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCaW5kIG5hbWU9XCJncm91cHNcIiB2YWxpZGF0b3JzPXt2YWxpZGF0aW9uLmNyZWF0ZShcInJlcXVpcmVkXCIpfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8R3JvdXBzTXVsdGlBdXRvY29tcGxldGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9eyFjYW5Nb2RpZnlUZWFtfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbD17dGBSb2xlc2B9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwiYWRtaW4uYW0udGVhbS5uZXcuZ3JvdXBzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9CaW5kPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0NlbGw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9HcmlkPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9TaW1wbGVGb3JtQ29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtjYW5Nb2RpZnlUZWFtICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8U2ltcGxlRm9ybUZvb3Rlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPEJ1dHRvbldyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8QnV0dG9uRGVmYXVsdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhpc3RvcnkucHVzaChcIi9hY2Nlc3MtbWFuYWdlbWVudC90ZWFtc1wiKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID57dGBDYW5jZWxgfTwvQnV0dG9uRGVmYXVsdD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b25QcmltYXJ5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9XCJhZG1pbi5hbS50ZWFtLm5ldy5zYXZlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXtldiA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm0uc3VibWl0KGV2KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPnt0YFNhdmUgdGVhbWB9PC9CdXR0b25QcmltYXJ5PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0J1dHRvbldyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9TaW1wbGVGb3JtRm9vdGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgPC9TaW1wbGVGb3JtPlxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9fVxuICAgICAgICA8L0Zvcm0+XG4gICAgKTtcbn07XG4iXX0= */",
|
|
47
|
-
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
48
|
-
});
|
|
49
|
-
var TeamsForm = exports.TeamsForm = function TeamsForm() {
|
|
50
|
-
var _useRouter = (0, _reactRouter.useRouter)(),
|
|
51
|
-
location = _useRouter.location,
|
|
52
|
-
history = _useRouter.history;
|
|
53
|
-
var _useSnackbar = (0, _useSnackbar2.useSnackbar)(),
|
|
54
|
-
showSnackbar = _useSnackbar.showSnackbar;
|
|
55
|
-
var newTeam = new URLSearchParams(location.search).get("new") === "true";
|
|
56
|
-
var id = new URLSearchParams(location.search).get("id");
|
|
57
|
-
var getQuery = (0, _reactHooks.useQuery)(_graphql.READ_TEAM, {
|
|
1
|
+
import React, { useCallback } from "react";
|
|
2
|
+
import { useMutation, useQuery } from "@apollo/react-hooks";
|
|
3
|
+
import pick from "lodash/pick";
|
|
4
|
+
import get from "lodash/get";
|
|
5
|
+
import { useRouter } from "@webiny/react-router";
|
|
6
|
+
import { i18n } from "@webiny/app/i18n";
|
|
7
|
+
import { Form } from "@webiny/form";
|
|
8
|
+
import { validation } from "@webiny/validation";
|
|
9
|
+
import { SimpleForm, SimpleFormFooter, SimpleFormContent, SimpleFormHeader } from "@webiny/app-admin/components/SimpleForm";
|
|
10
|
+
import { useSnackbar } from "@webiny/app-admin/hooks/useSnackbar";
|
|
11
|
+
import { CREATE_TEAM, LIST_TEAMS, READ_TEAM, UPDATE_TEAM } from "./graphql";
|
|
12
|
+
import isEmpty from "lodash/isEmpty";
|
|
13
|
+
import EmptyView from "@webiny/app-admin/components/EmptyView";
|
|
14
|
+
import { ReactComponent as AddIcon } from "@webiny/app-admin/assets/icons/add-18px.svg";
|
|
15
|
+
import { GroupsMultiAutocomplete } from "../../../components/GroupsMultiAutocomplete";
|
|
16
|
+
import { ReactComponent as SettingsIcon } from "@webiny/icons/settings.svg";
|
|
17
|
+
import { Alert, Button, Grid, Input, OverlayLoader, Textarea } from "@webiny/admin-ui";
|
|
18
|
+
const t = i18n.ns("app-security/admin/teams/form");
|
|
19
|
+
export const TeamsForm = () => {
|
|
20
|
+
const {
|
|
21
|
+
location,
|
|
22
|
+
history
|
|
23
|
+
} = useRouter();
|
|
24
|
+
const {
|
|
25
|
+
showSnackbar
|
|
26
|
+
} = useSnackbar();
|
|
27
|
+
const newTeam = new URLSearchParams(location.search).get("new") === "true";
|
|
28
|
+
const id = new URLSearchParams(location.search).get("id");
|
|
29
|
+
const getQuery = useQuery(READ_TEAM, {
|
|
58
30
|
variables: {
|
|
59
|
-
id
|
|
31
|
+
id
|
|
60
32
|
},
|
|
61
33
|
skip: !id,
|
|
62
|
-
onCompleted:
|
|
34
|
+
onCompleted: data => {
|
|
63
35
|
if (!data) {
|
|
64
36
|
return;
|
|
65
37
|
}
|
|
66
|
-
|
|
38
|
+
const {
|
|
39
|
+
error
|
|
40
|
+
} = data.security.team;
|
|
67
41
|
if (error) {
|
|
68
42
|
history.push("/access-management/teams");
|
|
69
43
|
showSnackbar(error.message);
|
|
70
44
|
}
|
|
71
45
|
}
|
|
72
46
|
});
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
refetchQueries: [{
|
|
83
|
-
query: _graphql.LIST_TEAMS
|
|
84
|
-
}]
|
|
85
|
-
}),
|
|
86
|
-
_useMutation4 = (0, _slicedToArray2.default)(_useMutation3, 2),
|
|
87
|
-
update = _useMutation4[0],
|
|
88
|
-
updateMutation = _useMutation4[1];
|
|
89
|
-
var loading = [getQuery, createMutation, updateMutation].find(function (item) {
|
|
90
|
-
return item.loading;
|
|
47
|
+
const [create, createMutation] = useMutation(CREATE_TEAM, {
|
|
48
|
+
refetchQueries: [{
|
|
49
|
+
query: LIST_TEAMS
|
|
50
|
+
}]
|
|
51
|
+
});
|
|
52
|
+
const [update, updateMutation] = useMutation(UPDATE_TEAM, {
|
|
53
|
+
refetchQueries: [{
|
|
54
|
+
query: LIST_TEAMS
|
|
55
|
+
}]
|
|
91
56
|
});
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
error = _response$data$securi.error;
|
|
57
|
+
const loading = [getQuery, createMutation, updateMutation].find(item => item.loading);
|
|
58
|
+
const onSubmit = useCallback(async formData => {
|
|
59
|
+
const isUpdate = formData.createdOn;
|
|
60
|
+
const [operation, args] = isUpdate ? [update, {
|
|
61
|
+
variables: {
|
|
62
|
+
id: formData.id,
|
|
63
|
+
data: pick(formData, ["name", "description", "groups"])
|
|
64
|
+
}
|
|
65
|
+
}] : [create, {
|
|
66
|
+
variables: {
|
|
67
|
+
data: pick(formData, ["name", "slug", "description", "groups"])
|
|
68
|
+
}
|
|
69
|
+
}];
|
|
70
|
+
const response = await operation(args);
|
|
71
|
+
const {
|
|
72
|
+
data: team,
|
|
73
|
+
error
|
|
74
|
+
} = response.data.security.team;
|
|
111
75
|
if (error) {
|
|
112
76
|
return showSnackbar(error.message);
|
|
113
77
|
}
|
|
114
|
-
!isUpdate && history.push(
|
|
115
|
-
showSnackbar(t
|
|
78
|
+
!isUpdate && history.push(`/access-management/teams?id=${team.id}`);
|
|
79
|
+
showSnackbar(t`Team saved successfully!`);
|
|
116
80
|
}, [id]);
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
81
|
+
const data = loading ? {} : get(getQuery, "data.security.team.data", {});
|
|
82
|
+
const systemTeam = data.system;
|
|
83
|
+
const pluginTeam = data.plugin;
|
|
84
|
+
const canModifyTeam = !systemTeam && !pluginTeam;
|
|
85
|
+
const showEmptyView = !newTeam && !loading && isEmpty(data);
|
|
122
86
|
// Render "No content" selected view.
|
|
123
87
|
if (showEmptyView) {
|
|
124
|
-
return /*#__PURE__*/
|
|
125
|
-
|
|
126
|
-
|
|
88
|
+
return /*#__PURE__*/React.createElement(EmptyView, {
|
|
89
|
+
icon: /*#__PURE__*/React.createElement(SettingsIcon, null),
|
|
90
|
+
title: t`Click on the left side list to display team details or create a...`,
|
|
91
|
+
action: /*#__PURE__*/React.createElement(Button, {
|
|
92
|
+
text: t`New Team`,
|
|
93
|
+
icon: /*#__PURE__*/React.createElement(AddIcon, null),
|
|
127
94
|
"data-testid": "new-record-button",
|
|
128
|
-
onClick:
|
|
129
|
-
|
|
130
|
-
}
|
|
131
|
-
}, /*#__PURE__*/_react.default.createElement(_Button.ButtonIcon, {
|
|
132
|
-
icon: /*#__PURE__*/_react.default.createElement(_add18px.ReactComponent, null)
|
|
133
|
-
}), t(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["New Team"]))))
|
|
95
|
+
onClick: () => history.push("/access-management/teams?new=true")
|
|
96
|
+
})
|
|
134
97
|
});
|
|
135
98
|
}
|
|
136
|
-
return /*#__PURE__*/
|
|
99
|
+
return /*#__PURE__*/React.createElement(Form, {
|
|
137
100
|
data: data,
|
|
138
101
|
onSubmit: onSubmit
|
|
139
|
-
},
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
102
|
+
}, ({
|
|
103
|
+
data,
|
|
104
|
+
form,
|
|
105
|
+
Bind
|
|
106
|
+
}) => {
|
|
107
|
+
return /*#__PURE__*/React.createElement(SimpleForm, null, loading && /*#__PURE__*/React.createElement(OverlayLoader, null), /*#__PURE__*/React.createElement(SimpleFormHeader, {
|
|
144
108
|
title: data.name ? data.name : "Untitled"
|
|
145
|
-
}), /*#__PURE__*/
|
|
109
|
+
}), /*#__PURE__*/React.createElement(SimpleFormContent, null, /*#__PURE__*/React.createElement(Grid, null, /*#__PURE__*/React.createElement(React.Fragment, null, systemTeam && /*#__PURE__*/React.createElement(Grid.Column, {
|
|
146
110
|
span: 12
|
|
147
|
-
}, /*#__PURE__*/
|
|
111
|
+
}, /*#__PURE__*/React.createElement(Alert, {
|
|
148
112
|
type: "info",
|
|
149
113
|
title: "Permissions are locked"
|
|
150
|
-
}, "This is a protected system team and you can't modify its permissions."))
|
|
114
|
+
}, "This is a protected system team and you can't modify its permissions.")), pluginTeam && /*#__PURE__*/React.createElement(Grid.Column, {
|
|
151
115
|
span: 12
|
|
152
|
-
}, /*#__PURE__*/
|
|
116
|
+
}, /*#__PURE__*/React.createElement(Alert, {
|
|
153
117
|
type: "info",
|
|
154
118
|
title: "Important"
|
|
155
|
-
}, "This team is registered via an extension, and cannot be modified."))), /*#__PURE__*/
|
|
119
|
+
}, "This team is registered via an extension, and cannot be modified."))), /*#__PURE__*/React.createElement(Grid.Column, {
|
|
156
120
|
span: 6
|
|
157
|
-
}, /*#__PURE__*/
|
|
121
|
+
}, /*#__PURE__*/React.createElement(Bind, {
|
|
158
122
|
name: "name",
|
|
159
|
-
validators:
|
|
160
|
-
}, /*#__PURE__*/
|
|
123
|
+
validators: validation.create("required,minLength:3")
|
|
124
|
+
}, /*#__PURE__*/React.createElement(Input, {
|
|
125
|
+
size: "lg",
|
|
161
126
|
disabled: !canModifyTeam,
|
|
162
|
-
label: t
|
|
127
|
+
label: t`Name`,
|
|
163
128
|
"data-testid": "admin.am.team.new.name"
|
|
164
|
-
}))), /*#__PURE__*/
|
|
129
|
+
}))), /*#__PURE__*/React.createElement(Grid.Column, {
|
|
165
130
|
span: 6
|
|
166
|
-
}, /*#__PURE__*/
|
|
131
|
+
}, /*#__PURE__*/React.createElement(Bind, {
|
|
167
132
|
name: "slug",
|
|
168
|
-
validators:
|
|
169
|
-
}, /*#__PURE__*/
|
|
133
|
+
validators: validation.create("required,minLength:3")
|
|
134
|
+
}, /*#__PURE__*/React.createElement(Input, {
|
|
135
|
+
size: "lg",
|
|
170
136
|
disabled: !canModifyTeam || !newTeam,
|
|
171
|
-
label: t
|
|
137
|
+
label: t`Slug`,
|
|
172
138
|
"data-testid": "admin.am.team.new.slug"
|
|
173
|
-
})))
|
|
139
|
+
}))), /*#__PURE__*/React.createElement(Grid.Column, {
|
|
174
140
|
span: 12
|
|
175
|
-
}, /*#__PURE__*/
|
|
141
|
+
}, /*#__PURE__*/React.createElement(Bind, {
|
|
176
142
|
name: "description",
|
|
177
|
-
validators:
|
|
178
|
-
}, /*#__PURE__*/
|
|
143
|
+
validators: validation.create("maxLength:500")
|
|
144
|
+
}, /*#__PURE__*/React.createElement(Textarea, {
|
|
145
|
+
size: "lg",
|
|
179
146
|
disabled: !canModifyTeam,
|
|
180
|
-
label: t
|
|
147
|
+
label: t`Description`,
|
|
181
148
|
rows: 3,
|
|
182
149
|
"data-testid": "admin.am.team.new.description"
|
|
183
|
-
})))
|
|
150
|
+
}))), /*#__PURE__*/React.createElement(Grid.Column, {
|
|
184
151
|
span: 12
|
|
185
|
-
}, /*#__PURE__*/
|
|
152
|
+
}, /*#__PURE__*/React.createElement(Bind, {
|
|
186
153
|
name: "groups",
|
|
187
|
-
validators:
|
|
188
|
-
}, /*#__PURE__*/
|
|
154
|
+
validators: validation.create("required")
|
|
155
|
+
}, /*#__PURE__*/React.createElement(GroupsMultiAutocomplete, {
|
|
189
156
|
disabled: !canModifyTeam,
|
|
190
|
-
label: t
|
|
157
|
+
label: t`Roles`,
|
|
191
158
|
"data-testid": "admin.am.team.new.groups"
|
|
192
|
-
}))))),
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
},
|
|
159
|
+
}))))), /*#__PURE__*/React.createElement(SimpleFormFooter, null, /*#__PURE__*/React.createElement(Button, {
|
|
160
|
+
variant: "secondary",
|
|
161
|
+
text: t`Cancel`,
|
|
162
|
+
onClick: () => history.push("/access-management/teams")
|
|
163
|
+
}), canModifyTeam && /*#__PURE__*/React.createElement(Button, {
|
|
164
|
+
text: t`Save`,
|
|
197
165
|
"data-testid": "admin.am.team.new.save",
|
|
198
|
-
onClick:
|
|
166
|
+
onClick: ev => {
|
|
199
167
|
form.submit(ev);
|
|
200
168
|
}
|
|
201
|
-
}
|
|
169
|
+
})));
|
|
202
170
|
});
|
|
203
171
|
};
|
|
204
172
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactHooks","_pick","_interopRequireDefault","_get","_reactRouter","_i18n","_form","_Grid","_Input","_Button","_Progress","_validation","_SimpleForm","_useSnackbar2","_graphql","_isEmpty","_EmptyView","_add18px","_GroupsMultiAutocomplete","_Alert","_templateObject","_templateObject2","_templateObject3","_templateObject4","_templateObject5","_templateObject6","_templateObject7","_templateObject8","_templateObject9","_EMOTION_STRINGIFIED_CSS_ERROR__","t","i18n","ns","ButtonWrapper","_base","default","process","env","NODE_ENV","target","label","name","styles","map","toString","TeamsForm","exports","_useRouter","useRouter","location","history","_useSnackbar","useSnackbar","showSnackbar","newTeam","URLSearchParams","search","get","id","getQuery","useQuery","READ_TEAM","variables","skip","onCompleted","data","error","security","team","push","message","_useMutation","useMutation","CREATE_TEAM","refetchQueries","query","LIST_TEAMS","_useMutation2","_slicedToArray2","create","createMutation","_useMutation3","UPDATE_TEAM","_useMutation4","update","updateMutation","loading","find","item","onSubmit","useCallback","formData","isUpdate","createdOn","_ref","pick","_ref2","operation","args","response","_response$data$securi","concat","_taggedTemplateLiteral2","systemTeam","system","pluginTeam","plugin","canModifyTeam","showEmptyView","isEmpty","createElement","title","action","ButtonDefault","onClick","ButtonIcon","icon","ReactComponent","Form","_ref3","form","Bind","SimpleForm","CircularProgress","SimpleFormHeader","SimpleFormContent","Grid","Cell","span","Alert","type","validators","validation","Input","disabled","rows","GroupsMultiAutocomplete","SimpleFormFooter","ButtonPrimary","ev","submit"],"sources":["TeamsForm.tsx"],"sourcesContent":["import React, { useCallback } from \"react\";\nimport { useMutation, useQuery } from \"@apollo/react-hooks\";\nimport styled from \"@emotion/styled\";\nimport pick from \"lodash/pick\";\nimport get from \"lodash/get\";\nimport { useRouter } from \"@webiny/react-router\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { Form } from \"@webiny/form\";\nimport { Grid, Cell } from \"@webiny/ui/Grid\";\nimport { Input } from \"@webiny/ui/Input\";\nimport { ButtonDefault, ButtonIcon, ButtonPrimary } from \"@webiny/ui/Button\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\nimport { validation } from \"@webiny/validation\";\nimport {\n SimpleForm,\n SimpleFormFooter,\n SimpleFormContent,\n SimpleFormHeader\n} from \"@webiny/app-admin/components/SimpleForm\";\nimport { useSnackbar } from \"@webiny/app-admin/hooks/useSnackbar\";\nimport { CREATE_TEAM, LIST_TEAMS, READ_TEAM, UPDATE_TEAM } from \"./graphql\";\nimport isEmpty from \"lodash/isEmpty\";\nimport EmptyView from \"@webiny/app-admin/components/EmptyView\";\nimport { ReactComponent as AddIcon } from \"@webiny/app-admin/assets/icons/add-18px.svg\";\nimport { GroupsMultiAutocomplete } from \"~/components/GroupsMultiAutocomplete\";\nimport { Team } from \"~/types\";\nimport { Alert } from \"@webiny/ui/Alert\";\n\nconst t = i18n.ns(\"app-security/admin/teams/form\");\n\nconst ButtonWrapper = styled(\"div\")({\n display: \"flex\",\n justifyContent: \"space-between\"\n});\n\nexport interface TeamsFormProps {\n // TODO @ts-refactor delete and go up the tree and sort it out\n [key: string]: any;\n}\n\nexport const TeamsForm = () => {\n const { location, history } = useRouter();\n const { showSnackbar } = useSnackbar();\n const newTeam = new URLSearchParams(location.search).get(\"new\") === \"true\";\n const id = new URLSearchParams(location.search).get(\"id\");\n\n const getQuery = useQuery(READ_TEAM, {\n variables: { id },\n skip: !id,\n onCompleted: data => {\n if (!data) {\n return;\n }\n\n const { error } = data.security.team;\n if (error) {\n history.push(\"/access-management/teams\");\n showSnackbar(error.message);\n }\n }\n });\n\n const [create, createMutation] = useMutation(CREATE_TEAM, {\n refetchQueries: [{ query: LIST_TEAMS }]\n });\n\n const [update, updateMutation] = useMutation(UPDATE_TEAM, {\n refetchQueries: [{ query: LIST_TEAMS }]\n });\n\n const loading = [getQuery, createMutation, updateMutation].find(item => item.loading);\n\n const onSubmit = useCallback(\n async (formData: Team) => {\n const isUpdate = formData.createdOn;\n const [operation, args] = isUpdate\n ? [\n update,\n {\n variables: {\n id: formData.id,\n data: pick(formData, [\"name\", \"description\", \"groups\"])\n }\n }\n ]\n : [\n create,\n {\n variables: {\n data: pick(formData, [\"name\", \"slug\", \"description\", \"groups\"])\n }\n }\n ];\n\n const response = await operation(args);\n\n const { data: team, error } = response.data.security.team;\n if (error) {\n return showSnackbar(error.message);\n }\n\n !isUpdate && history.push(`/access-management/teams?id=${team.id}`);\n showSnackbar(t`Team saved successfully!`);\n },\n [id]\n );\n\n const data = loading ? {} : get(getQuery, \"data.security.team.data\", {});\n\n const systemTeam = data.system;\n const pluginTeam = data.plugin;\n const canModifyTeam = !systemTeam && !pluginTeam;\n\n const showEmptyView = !newTeam && !loading && isEmpty(data);\n // Render \"No content\" selected view.\n if (showEmptyView) {\n return (\n <EmptyView\n title={t`Click on the left side list to display team details or create a...`}\n action={\n <ButtonDefault\n data-testid=\"new-record-button\"\n onClick={() => history.push(\"/access-management/teams?new=true\")}\n >\n <ButtonIcon icon={<AddIcon />} />\n {t`New Team`}\n </ButtonDefault>\n }\n />\n );\n }\n\n return (\n <Form data={data} onSubmit={onSubmit}>\n {({ data, form, Bind }) => {\n return (\n <SimpleForm>\n {loading && <CircularProgress />}\n <SimpleFormHeader title={data.name ? data.name : \"Untitled\"} />\n <SimpleFormContent>\n {systemTeam && (\n <Grid>\n <Cell span={12}>\n <Alert type={\"info\"} title={\"Permissions are locked\"}>\n This is a protected system team and you can't\n modify its permissions.\n </Alert>\n </Cell>\n </Grid>\n )}\n {pluginTeam && (\n <Grid>\n <Cell span={12}>\n <Alert type={\"info\"} title={\"Important\"}>\n This team is registered via an extension, and cannot be\n modified.\n </Alert>\n </Cell>\n </Grid>\n )}\n <Grid>\n <Cell span={6}>\n <Bind\n name=\"name\"\n validators={validation.create(\"required,minLength:3\")}\n >\n <Input\n disabled={!canModifyTeam}\n label={t`Name`}\n data-testid=\"admin.am.team.new.name\"\n />\n </Bind>\n </Cell>\n <Cell span={6}>\n <Bind\n name=\"slug\"\n validators={validation.create(\"required,minLength:3\")}\n >\n <Input\n disabled={!canModifyTeam || !newTeam}\n label={t`Slug`}\n data-testid=\"admin.am.team.new.slug\"\n />\n </Bind>\n </Cell>\n </Grid>\n <Grid>\n <Cell span={12}>\n <Bind\n name=\"description\"\n validators={validation.create(\"maxLength:500\")}\n >\n <Input\n disabled={!canModifyTeam}\n label={t`Description`}\n rows={3}\n data-testid=\"admin.am.team.new.description\"\n />\n </Bind>\n </Cell>\n </Grid>\n <Grid>\n <Cell span={12}>\n <Bind name=\"groups\" validators={validation.create(\"required\")}>\n <GroupsMultiAutocomplete\n disabled={!canModifyTeam}\n label={t`Roles`}\n data-testid=\"admin.am.team.new.groups\"\n />\n </Bind>\n </Cell>\n </Grid>\n </SimpleFormContent>\n {canModifyTeam && (\n <SimpleFormFooter>\n <ButtonWrapper>\n <ButtonDefault\n onClick={() => history.push(\"/access-management/teams\")}\n >{t`Cancel`}</ButtonDefault>\n <ButtonPrimary\n data-testid=\"admin.am.team.new.save\"\n onClick={ev => {\n form.submit(ev);\n }}\n >{t`Save team`}</ButtonPrimary>\n </ButtonWrapper>\n </SimpleFormFooter>\n )}\n </SimpleForm>\n );\n }}\n </Form>\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","useCallback","useMutation","useQuery","pick","get","useRouter","i18n","Form","validation","SimpleForm","SimpleFormFooter","SimpleFormContent","SimpleFormHeader","useSnackbar","CREATE_TEAM","LIST_TEAMS","READ_TEAM","UPDATE_TEAM","isEmpty","EmptyView","ReactComponent","AddIcon","GroupsMultiAutocomplete","SettingsIcon","Alert","Button","Grid","Input","OverlayLoader","Textarea","t","ns","TeamsForm","location","history","showSnackbar","newTeam","URLSearchParams","search","id","getQuery","variables","skip","onCompleted","data","error","security","team","push","message","create","createMutation","refetchQueries","query","update","updateMutation","loading","find","item","onSubmit","formData","isUpdate","createdOn","operation","args","response","systemTeam","system","pluginTeam","plugin","canModifyTeam","showEmptyView","createElement","icon","title","action","text","onClick","form","Bind","name","Fragment","Column","span","type","validators","size","disabled","label","rows","variant","ev","submit"],"sources":["TeamsForm.tsx"],"sourcesContent":["import React, { useCallback } from \"react\";\nimport { useMutation, useQuery } from \"@apollo/react-hooks\";\nimport pick from \"lodash/pick\";\nimport get from \"lodash/get\";\nimport { useRouter } from \"@webiny/react-router\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { Form } from \"@webiny/form\";\nimport { validation } from \"@webiny/validation\";\nimport {\n SimpleForm,\n SimpleFormFooter,\n SimpleFormContent,\n SimpleFormHeader\n} from \"@webiny/app-admin/components/SimpleForm\";\nimport { useSnackbar } from \"@webiny/app-admin/hooks/useSnackbar\";\nimport { CREATE_TEAM, LIST_TEAMS, READ_TEAM, UPDATE_TEAM } from \"./graphql\";\nimport isEmpty from \"lodash/isEmpty\";\nimport EmptyView from \"@webiny/app-admin/components/EmptyView\";\nimport { ReactComponent as AddIcon } from \"@webiny/app-admin/assets/icons/add-18px.svg\";\nimport { GroupsMultiAutocomplete } from \"~/components/GroupsMultiAutocomplete\";\nimport type { Team } from \"~/types\";\nimport { ReactComponent as SettingsIcon } from \"@webiny/icons/settings.svg\";\nimport { Alert, Button, Grid, Input, OverlayLoader, Textarea } from \"@webiny/admin-ui\";\n\nconst t = i18n.ns(\"app-security/admin/teams/form\");\n\nexport interface TeamsFormProps {\n // TODO @ts-refactor delete and go up the tree and sort it out\n [key: string]: any;\n}\n\nexport const TeamsForm = () => {\n const { location, history } = useRouter();\n const { showSnackbar } = useSnackbar();\n const newTeam = new URLSearchParams(location.search).get(\"new\") === \"true\";\n const id = new URLSearchParams(location.search).get(\"id\");\n\n const getQuery = useQuery(READ_TEAM, {\n variables: { id },\n skip: !id,\n onCompleted: data => {\n if (!data) {\n return;\n }\n\n const { error } = data.security.team;\n if (error) {\n history.push(\"/access-management/teams\");\n showSnackbar(error.message);\n }\n }\n });\n\n const [create, createMutation] = useMutation(CREATE_TEAM, {\n refetchQueries: [{ query: LIST_TEAMS }]\n });\n\n const [update, updateMutation] = useMutation(UPDATE_TEAM, {\n refetchQueries: [{ query: LIST_TEAMS }]\n });\n\n const loading = [getQuery, createMutation, updateMutation].find(item => item.loading);\n\n const onSubmit = useCallback(\n async (formData: Team) => {\n const isUpdate = formData.createdOn;\n const [operation, args] = isUpdate\n ? [\n update,\n {\n variables: {\n id: formData.id,\n data: pick(formData, [\"name\", \"description\", \"groups\"])\n }\n }\n ]\n : [\n create,\n {\n variables: {\n data: pick(formData, [\"name\", \"slug\", \"description\", \"groups\"])\n }\n }\n ];\n\n const response = await operation(args);\n\n const { data: team, error } = response.data.security.team;\n if (error) {\n return showSnackbar(error.message);\n }\n\n !isUpdate && history.push(`/access-management/teams?id=${team.id}`);\n showSnackbar(t`Team saved successfully!`);\n },\n [id]\n );\n\n const data = loading ? {} : get(getQuery, \"data.security.team.data\", {});\n\n const systemTeam = data.system;\n const pluginTeam = data.plugin;\n const canModifyTeam = !systemTeam && !pluginTeam;\n\n const showEmptyView = !newTeam && !loading && isEmpty(data);\n // Render \"No content\" selected view.\n if (showEmptyView) {\n return (\n <EmptyView\n icon={<SettingsIcon />}\n title={t`Click on the left side list to display team details or create a...`}\n action={\n <Button\n text={t`New Team`}\n icon={<AddIcon />}\n data-testid=\"new-record-button\"\n onClick={() => history.push(\"/access-management/teams?new=true\")}\n />\n }\n />\n );\n }\n\n return (\n <Form data={data} onSubmit={onSubmit}>\n {({ data, form, Bind }) => {\n return (\n <SimpleForm>\n {loading && <OverlayLoader />}\n <SimpleFormHeader title={data.name ? data.name : \"Untitled\"} />\n <SimpleFormContent>\n <Grid>\n <>\n {systemTeam && (\n <Grid.Column span={12}>\n <Alert type={\"info\"} title={\"Permissions are locked\"}>\n This is a protected system team and you can't\n modify its permissions.\n </Alert>\n </Grid.Column>\n )}\n {pluginTeam && (\n <Grid.Column span={12}>\n <Alert type={\"info\"} title={\"Important\"}>\n This team is registered via an extension, and cannot\n be modified.\n </Alert>\n </Grid.Column>\n )}\n </>\n <Grid.Column span={6}>\n <Bind\n name=\"name\"\n validators={validation.create(\"required,minLength:3\")}\n >\n <Input\n size={\"lg\"}\n disabled={!canModifyTeam}\n label={t`Name`}\n data-testid=\"admin.am.team.new.name\"\n />\n </Bind>\n </Grid.Column>\n <Grid.Column span={6}>\n <Bind\n name=\"slug\"\n validators={validation.create(\"required,minLength:3\")}\n >\n <Input\n size={\"lg\"}\n disabled={!canModifyTeam || !newTeam}\n label={t`Slug`}\n data-testid=\"admin.am.team.new.slug\"\n />\n </Bind>\n </Grid.Column>\n <Grid.Column span={12}>\n <Bind\n name=\"description\"\n validators={validation.create(\"maxLength:500\")}\n >\n <Textarea\n size={\"lg\"}\n disabled={!canModifyTeam}\n label={t`Description`}\n rows={3}\n data-testid=\"admin.am.team.new.description\"\n />\n </Bind>\n </Grid.Column>\n <Grid.Column span={12}>\n <Bind name=\"groups\" validators={validation.create(\"required\")}>\n <GroupsMultiAutocomplete\n disabled={!canModifyTeam}\n label={t`Roles`}\n data-testid=\"admin.am.team.new.groups\"\n />\n </Bind>\n </Grid.Column>\n </Grid>\n </SimpleFormContent>\n <SimpleFormFooter>\n <Button\n variant={\"secondary\"}\n text={t`Cancel`}\n onClick={() => history.push(\"/access-management/teams\")}\n />\n {canModifyTeam && (\n <Button\n text={t`Save`}\n data-testid=\"admin.am.team.new.save\"\n onClick={ev => {\n form.submit(ev);\n }}\n />\n )}\n </SimpleFormFooter>\n </SimpleForm>\n );\n }}\n </Form>\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,18 +1,89 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
1
|
+
import gql from "graphql-tag";
|
|
2
|
+
const fields = `
|
|
3
|
+
id
|
|
4
|
+
name
|
|
5
|
+
slug
|
|
6
|
+
description
|
|
7
|
+
groups {
|
|
8
|
+
id
|
|
9
|
+
slug
|
|
10
|
+
name
|
|
11
|
+
}
|
|
12
|
+
system
|
|
13
|
+
plugin
|
|
14
|
+
createdOn
|
|
15
|
+
`;
|
|
16
|
+
export const LIST_TEAMS = gql`
|
|
17
|
+
query listTeams {
|
|
18
|
+
security {
|
|
19
|
+
teams: listTeams {
|
|
20
|
+
data {
|
|
21
|
+
${fields}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
`;
|
|
27
|
+
export const READ_TEAM = gql`
|
|
28
|
+
query getTeam($id: ID!) {
|
|
29
|
+
security {
|
|
30
|
+
team: getTeam(where: { id: $id }){
|
|
31
|
+
data {
|
|
32
|
+
${fields}
|
|
33
|
+
}
|
|
34
|
+
error {
|
|
35
|
+
code
|
|
36
|
+
message
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
`;
|
|
42
|
+
export const CREATE_TEAM = gql`
|
|
43
|
+
mutation createTeam($data: SecurityTeamCreateInput!){
|
|
44
|
+
security {
|
|
45
|
+
team: createTeam(data: $data) {
|
|
46
|
+
data {
|
|
47
|
+
${fields}
|
|
48
|
+
}
|
|
49
|
+
error {
|
|
50
|
+
code
|
|
51
|
+
message
|
|
52
|
+
data
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
`;
|
|
58
|
+
export const UPDATE_TEAM = gql`
|
|
59
|
+
mutation updateTeam($id: ID!, $data: SecurityTeamUpdateInput!){
|
|
60
|
+
security {
|
|
61
|
+
team: updateTeam(id: $id, data: $data) {
|
|
62
|
+
data {
|
|
63
|
+
${fields}
|
|
64
|
+
}
|
|
65
|
+
error {
|
|
66
|
+
code
|
|
67
|
+
message
|
|
68
|
+
data
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
`;
|
|
74
|
+
export const DELETE_TEAM = gql`
|
|
75
|
+
mutation deleteTeam($id: ID!) {
|
|
76
|
+
security {
|
|
77
|
+
deleteTeam(id: $id) {
|
|
78
|
+
data
|
|
79
|
+
error {
|
|
80
|
+
code
|
|
81
|
+
message
|
|
82
|
+
data
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
`;
|
|
17
88
|
|
|
18
89
|
//# sourceMappingURL=graphql.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["gql","fields","LIST_TEAMS","READ_TEAM","CREATE_TEAM","UPDATE_TEAM","DELETE_TEAM"],"sources":["graphql.ts"],"sourcesContent":["import gql from \"graphql-tag\";\nimport type { Team } from \"~/types\";\n\nconst fields = `\n id\n name\n slug\n description\n groups {\n id\n slug\n name\n }\n system\n plugin\n createdOn\n`;\n\nexport interface ListTeamsResponse {\n security: {\n teams: {\n data: Team[];\n };\n };\n}\n\nexport const LIST_TEAMS = gql`\n query listTeams {\n security {\n teams: listTeams {\n data {\n ${fields}\n }\n }\n }\n }\n`;\n\nexport const READ_TEAM = gql`\n query getTeam($id: ID!) {\n security {\n team: getTeam(where: { id: $id }){\n data {\n ${fields}\n }\n error {\n code\n message\n }\n }\n }\n }\n`;\n\nexport const CREATE_TEAM = gql`\n mutation createTeam($data: SecurityTeamCreateInput!){\n security {\n team: createTeam(data: $data) {\n data {\n ${fields}\n }\n error {\n code\n message\n data\n }\n }\n }\n }\n`;\n\nexport const UPDATE_TEAM = gql`\n mutation updateTeam($id: ID!, $data: SecurityTeamUpdateInput!){\n security {\n team: updateTeam(id: $id, data: $data) {\n data {\n ${fields}\n }\n error {\n code\n message\n data\n }\n }\n }\n }\n`;\n\nexport const DELETE_TEAM = gql`\n mutation deleteTeam($id: ID!) {\n security {\n deleteTeam(id: $id) {\n data\n error {\n code\n message\n data\n }\n }\n }\n }\n`;\n"],"mappings":"AAAA,OAAOA,GAAG,MAAM,aAAa;AAG7B,MAAMC,MAAM,GAAG;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAUD,OAAO,MAAMC,UAAU,GAAGF,GAAG;AAC7B;AACA;AACA;AACA;AACA,sBAAsBC,MAAM;AAC5B;AACA;AACA;AACA;AACA,CAAC;AAED,OAAO,MAAME,SAAS,GAAGH,GAAG;AAC5B;AACA;AACA;AACA;AACA,sBAAsBC,MAAM;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,OAAO,MAAMG,WAAW,GAAGJ,GAAG;AAC9B;AACA;AACA;AACA;AACA,sBAAsBC,MAAM;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,OAAO,MAAMI,WAAW,GAAGL,GAAG;AAC9B;AACA;AACA;AACA;AACA,sBAAsBC,MAAM;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,OAAO,MAAMK,WAAW,GAAGN,GAAG;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC","ignoreList":[]}
|
package/ui/views/Teams/index.js
CHANGED
|
@@ -1,18 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
var _Teams = require("./Teams");
|
|
7
|
-
Object.keys(_Teams).forEach(function (key) {
|
|
8
|
-
if (key === "default" || key === "__esModule") return;
|
|
9
|
-
if (key in exports && exports[key] === _Teams[key]) return;
|
|
10
|
-
Object.defineProperty(exports, key, {
|
|
11
|
-
enumerable: true,
|
|
12
|
-
get: function get() {
|
|
13
|
-
return _Teams[key];
|
|
14
|
-
}
|
|
15
|
-
});
|
|
16
|
-
});
|
|
1
|
+
export * from "./Teams";
|
|
17
2
|
|
|
18
3
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[
|
|
1
|
+
{"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./Teams\";\n"],"mappings":"AAAA","ignoreList":[]}
|