@neuralinnovations/dataisland-sdk 0.0.1-dev22 → 0.0.1-dev23

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 (31) hide show
  1. package/dist/package.json +1 -1
  2. package/dist/src/index.d.ts +3 -0
  3. package/dist/src/index.d.ts.map +1 -1
  4. package/dist/src/index.js +5 -1
  5. package/dist/src/index.js.map +1 -1
  6. package/dist/src/storages/groups/group.d.ts +63 -0
  7. package/dist/src/storages/groups/group.d.ts.map +1 -0
  8. package/dist/src/storages/groups/group.impl.d.ts +37 -0
  9. package/dist/src/storages/groups/group.impl.d.ts.map +1 -0
  10. package/dist/src/storages/groups/group.impl.js +205 -0
  11. package/dist/src/storages/groups/group.impl.js.map +1 -0
  12. package/dist/src/storages/groups/group.js +15 -0
  13. package/dist/src/storages/groups/group.js.map +1 -0
  14. package/dist/src/storages/groups/groups.d.ts +3 -60
  15. package/dist/src/storages/groups/groups.d.ts.map +1 -1
  16. package/dist/src/storages/groups/groups.impl.d.ts +2 -35
  17. package/dist/src/storages/groups/groups.impl.d.ts.map +1 -1
  18. package/dist/src/storages/groups/groups.impl.js +14 -193
  19. package/dist/src/storages/groups/groups.impl.js.map +1 -1
  20. package/dist/src/storages/groups/groups.js +7 -13
  21. package/dist/src/storages/groups/groups.js.map +1 -1
  22. package/dist/src/storages/organizations/organization.d.ts +2 -1
  23. package/dist/src/storages/organizations/organization.d.ts.map +1 -1
  24. package/dist/src/storages/organizations/organization.js.map +1 -1
  25. package/package.json +1 -1
  26. package/src/index.ts +3 -0
  27. package/src/storages/groups/group.impl.ts +267 -0
  28. package/src/storages/groups/group.ts +73 -0
  29. package/src/storages/groups/groups.impl.ts +17 -252
  30. package/src/storages/groups/groups.ts +3 -70
  31. package/src/storages/organizations/organization.ts +2 -1
@@ -1,192 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GroupsImpl = exports.GroupImpl = void 0;
3
+ exports.GroupsImpl = void 0;
4
4
  const rpcService_1 = require("../../services/rpcService");
5
5
  const groups_1 = require("./groups");
6
6
  const responseUtils_1 = require("../../services/responseUtils");
7
- class GroupImpl extends groups_1.Group {
8
- constructor(context, organization) {
9
- super();
10
- this.context = context;
11
- this.organization = organization;
12
- this._isDisposed = false;
13
- this._workspaces = [];
14
- }
15
- async initFrom(id) {
16
- await this.reloadGroup(id);
17
- await this.reloadWorkspaces();
18
- return this;
19
- }
20
- async reloadGroup(id) {
21
- var _a;
22
- // fetch group
23
- const response = await ((_a = this.context.resolve(rpcService_1.RpcService)) === null || _a === void 0 ? void 0 : _a.requestBuilder("api/v1/AccessGroups").searchParam("groupId", id).sendGet());
24
- // check response status
25
- if (responseUtils_1.ResponseUtils.isFail(response)) {
26
- await responseUtils_1.ResponseUtils.throwError(`Failed to get group: ${id}, organization: ${this.organization.id}`, response);
27
- }
28
- // parse group from the server's response
29
- const group = (await response.json());
30
- // init group
31
- this._content = group.group;
32
- this._members = group.members;
33
- }
34
- async reloadWorkspaces() {
35
- const groupWorkspaces = await this.loadWorkspaces(this.id);
36
- this._workspaces.length = 0;
37
- this._workspaces.push(...groupWorkspaces);
38
- }
39
- async loadWorkspaces(groupId) {
40
- var _a;
41
- // fetch workspaces
42
- const response = await ((_a = this.context.resolve(rpcService_1.RpcService)) === null || _a === void 0 ? void 0 : _a.requestBuilder("api/v1/AccessGroups/workspaces").searchParam("groupId", groupId).sendGet());
43
- if (responseUtils_1.ResponseUtils.isFail(response)) {
44
- await responseUtils_1.ResponseUtils.throwError(`Failed to get workspaces for group: ${this.id}, organization: ${this.organization.id}`, response);
45
- }
46
- // parse workspaces from the server's response
47
- const workspaces = (await response.json());
48
- // get workspaces
49
- const result = [];
50
- for (const workspaceDto of workspaces.workspaces) {
51
- result.push(this.organization.workspaces.get(workspaceDto.id));
52
- }
53
- return result;
54
- }
55
- get id() {
56
- if (this._content) {
57
- return this._content.id;
58
- }
59
- throw new Error("Access group is not loaded.");
60
- }
61
- get group() {
62
- if (this._content) {
63
- return this._content;
64
- }
65
- throw new Error("Access group is not loaded.");
66
- }
67
- get workspaces() {
68
- return this._workspaces;
69
- }
70
- get members() {
71
- if (this._members) {
72
- return this._members;
73
- }
74
- throw new Error("Access group is not loaded.");
75
- }
76
- async setName(name) {
77
- var _a;
78
- if (name === undefined || name === null) {
79
- throw new Error("Groups change, name is undefined or null");
80
- }
81
- if (name.length === 0 || name.trim().length === 0) {
82
- throw new Error("Groups change, name is empty");
83
- }
84
- // send request to the server
85
- const response = await ((_a = this.context
86
- .resolve(rpcService_1.RpcService)) === null || _a === void 0 ? void 0 : _a.requestBuilder("api/v1/AccessGroups/name").sendPutJson({
87
- groupId: this.id,
88
- name: name
89
- }));
90
- // check response status
91
- if (responseUtils_1.ResponseUtils.isFail(response)) {
92
- await responseUtils_1.ResponseUtils.throwError(`Failed to change group name, group: ${this.id}, organization: ${this.organization.id}`, response);
93
- }
94
- // change name
95
- if (this._content) {
96
- this._content.name = name;
97
- }
98
- }
99
- async setPermits(permits) {
100
- var _a;
101
- // send request to the server
102
- const response = await ((_a = this.context
103
- .resolve(rpcService_1.RpcService)) === null || _a === void 0 ? void 0 : _a.requestBuilder("api/v1/AccessGroups/permits").sendPutJson({
104
- groupId: this.id,
105
- permits: permits
106
- }));
107
- if (responseUtils_1.ResponseUtils.isFail(response)) {
108
- await responseUtils_1.ResponseUtils.throwError(`Failed to change group permits, group: ${this.id}, organization: ${this.organization.id}`, response);
109
- }
110
- }
111
- async setWorkspaces(workspaces) {
112
- var _a;
113
- if (workspaces === null || workspaces === undefined) {
114
- throw new Error("Group add workspaces, workspaces is undefined or null");
115
- }
116
- // send request to the server
117
- const response = await ((_a = this.context
118
- .resolve(rpcService_1.RpcService)) === null || _a === void 0 ? void 0 : _a.requestBuilder("api/v1/AccessGroups/workspaces").sendPutJson({
119
- groupId: this.id,
120
- actualWorkspaceIds: workspaces
121
- }));
122
- if (responseUtils_1.ResponseUtils.isFail(response)) {
123
- await responseUtils_1.ResponseUtils.throwError(`Failed to set workspaces for group: ${this.id}, organization: ${this.organization.id}`, response);
124
- }
125
- // reload workspaces
126
- await this.reloadWorkspaces();
127
- }
128
- async removeWorkspaces(workspaces) {
129
- if (workspaces === null || workspaces === undefined) {
130
- throw new Error("Group removeWorkspaces, workspaces is undefined or null");
131
- }
132
- // make set of workspaces
133
- const groupWorkspaces = new Set(this.workspaces.map(w => w.id));
134
- // check argument
135
- if (!workspaces.every(w => groupWorkspaces.has(w))) {
136
- const notExistingWorkspaces = workspaces.filter(workspaceId => !groupWorkspaces.has(workspaceId));
137
- throw new Error(`Group removeWorkspaces, workspaces contains not existing workspaces: ${notExistingWorkspaces}`);
138
- }
139
- // remove workspaces
140
- for (const id of workspaces) {
141
- groupWorkspaces.delete(id);
142
- }
143
- // send request to the server
144
- await this.setWorkspaces(Array.from(groupWorkspaces));
145
- }
146
- async setMembersIds(members) {
147
- var _a;
148
- if (members === null || members === undefined) {
149
- throw new Error("Group setMembersIds, members is undefined or null");
150
- }
151
- // send request to the server
152
- const response = await ((_a = this.context
153
- .resolve(rpcService_1.RpcService)) === null || _a === void 0 ? void 0 : _a.requestBuilder("api/v1/AccessGroups/members").sendPutJson({
154
- groupId: this.id,
155
- memberIds: members
156
- }));
157
- if (responseUtils_1.ResponseUtils.isFail(response)) {
158
- await responseUtils_1.ResponseUtils.throwError(`Failed to set members for group: ${this.id}, organization: ${this.organization.id}`, response);
159
- }
160
- // reload group
161
- await this.reloadGroup(this.id);
162
- }
163
- async removeMembers(members) {
164
- // check members
165
- if (members === null || members === undefined) {
166
- throw new Error("Group removeMembers, members is undefined or null");
167
- }
168
- // make set of members
169
- const groupMembers = new Set(this.members.map(m => m.id));
170
- // check argument
171
- if (!members.every(m => groupMembers.has(m))) {
172
- const notExistingMembers = members.filter(memberId => !groupMembers.has(memberId));
173
- throw new Error(`Group removeMembers, members contains not existing members: ${notExistingMembers}`);
174
- }
175
- // remove members
176
- for (const id of members) {
177
- groupMembers.delete(id);
178
- }
179
- // send request to the server
180
- await this.setMembersIds(Array.from(groupMembers));
181
- }
182
- get isDisposed() {
183
- return this._isDisposed;
184
- }
185
- dispose() {
186
- this._isDisposed = true;
187
- }
188
- }
189
- exports.GroupImpl = GroupImpl;
7
+ const group_impl_1 = require("./group.impl");
190
8
  class GroupsImpl extends groups_1.Groups {
191
9
  constructor(organization, context) {
192
10
  super();
@@ -225,17 +43,20 @@ class GroupsImpl extends groups_1.Groups {
225
43
  }
226
44
  // parse groups from the server's response
227
45
  const groups = (await response.json());
46
+ const wait = [];
228
47
  // init groups
229
48
  for (const gr of groups.groups) {
230
49
  // create group implementation
231
- const group = await new GroupImpl(this.context, this.organization).initFrom(gr.id);
50
+ const group = new group_impl_1.GroupImpl(this.context, this.organization).initFrom(gr.id);
51
+ // add to the wait list
52
+ wait.push(group);
53
+ }
54
+ // wait for all groups
55
+ const groupsResult = await Promise.all(wait);
56
+ // add groups to the collection
57
+ for (const group of groupsResult) {
232
58
  // add group to the collection
233
59
  this._groups.push(group);
234
- // dispatch event
235
- this.dispatch({
236
- type: groups_1.GroupEvent.ADDED,
237
- data: group
238
- });
239
60
  }
240
61
  }
241
62
  async internalCreate(name, permits, memberIds) {
@@ -261,12 +82,12 @@ class GroupsImpl extends groups_1.Groups {
261
82
  // parse group from the server's response
262
83
  const content = (await response.json());
263
84
  // create group implementation
264
- const group = await new GroupImpl(this.context, this.organization).initFrom(content.group.id);
85
+ const group = await new group_impl_1.GroupImpl(this.context, this.organization).initFrom(content.group.id);
265
86
  // add group to the collection
266
87
  this._groups.push(group);
267
88
  // dispatch event
268
89
  this.dispatch({
269
- type: groups_1.GroupEvent.ADDED,
90
+ type: groups_1.GroupsEvent.ADDED,
270
91
  data: group
271
92
  });
272
93
  return group;
@@ -300,7 +121,7 @@ class GroupsImpl extends groups_1.Groups {
300
121
  this._groups.splice(index, 1);
301
122
  // dispatch event, group removed
302
123
  this.dispatch({
303
- type: groups_1.GroupEvent.REMOVED,
124
+ type: groups_1.GroupsEvent.REMOVED,
304
125
  data: group
305
126
  });
306
127
  // dispose group
@@ -1 +1 @@
1
- {"version":3,"file":"groups.impl.js","sourceRoot":"","sources":["../../../../src/storages/groups/groups.impl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"groups.impl.js","sourceRoot":"","sources":["../../../../src/storages/groups/groups.impl.ts"],"names":[],"mappings":"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"}
@@ -1,22 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Groups = exports.Group = exports.GroupEvent = void 0;
3
+ exports.Groups = exports.GroupsEvent = void 0;
4
4
  const events_1 = require("../../events");
5
5
  /**
6
6
  * Group event.
7
7
  */
8
- var GroupEvent;
9
- (function (GroupEvent) {
10
- GroupEvent["ADDED"] = "added";
11
- GroupEvent["REMOVED"] = "removed";
12
- GroupEvent["UPDATED"] = "updated";
13
- })(GroupEvent || (exports.GroupEvent = GroupEvent = {}));
14
- /**
15
- * Group.
16
- */
17
- class Group extends events_1.EventDispatcher {
18
- }
19
- exports.Group = Group;
8
+ var GroupsEvent;
9
+ (function (GroupsEvent) {
10
+ GroupsEvent["ADDED"] = "added";
11
+ GroupsEvent["REMOVED"] = "removed";
12
+ GroupsEvent["UPDATED"] = "updated";
13
+ })(GroupsEvent || (exports.GroupsEvent = GroupsEvent = {}));
20
14
  /**
21
15
  * Groups storage.
22
16
  */
@@ -1 +1 @@
1
- {"version":3,"file":"groups.js","sourceRoot":"","sources":["../../../../src/storages/groups/groups.ts"],"names":[],"mappings":";;;AAEA,yCAA8C;AAU9C;;GAEG;AACH,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,6BAAe,CAAA;IACf,iCAAmB,CAAA;IACnB,iCAAmB,CAAA;AACrB,CAAC,EAJW,UAAU,0BAAV,UAAU,QAIrB;AAED;;GAEG;AACH,MAAsB,KAAM,SAAQ,wBAAkC;CAqDrE;AArDD,sBAqDC;AAED;;GAEG;AACH,MAAsB,MAAO,SAAQ,wBAAkC;CA6BtE;AA7BD,wBA6BC"}
1
+ {"version":3,"file":"groups.js","sourceRoot":"","sources":["../../../../src/storages/groups/groups.ts"],"names":[],"mappings":";;;AAAA,yCAA8C;AAG9C;;GAEG;AACH,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,8BAAe,CAAA;IACf,kCAAmB,CAAA;IACnB,kCAAmB,CAAA;AACrB,CAAC,EAJW,WAAW,2BAAX,WAAW,QAItB;AAED;;GAEG;AACH,MAAsB,MAAO,SAAQ,wBAAmC;CA6BvE;AA7BD,wBA6BC"}
@@ -1,9 +1,10 @@
1
1
  import { Workspaces } from "../workspaces/workspaces";
2
2
  import { OrganizationId } from "./organizations";
3
- import { GroupId, Groups } from "../groups/groups";
3
+ import { Groups } from "../groups/groups";
4
4
  import { Chats } from "../chats/chats";
5
5
  import { EventDispatcher } from "../../events";
6
6
  import { UserDto } from "../../dto/userInfoResponse";
7
+ import { GroupId } from "../groups/group";
7
8
  /**
8
9
  * Organization event.
9
10
  */
@@ -1 +1 @@
1
- {"version":3,"file":"organization.d.ts","sourceRoot":"","sources":["../../../../src/storages/organizations/organization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAGpD;;GAEG;AACH,oBAAY,iBAAiB;IAC3B,OAAO,YAAY;CACpB;AAED;;GAEG;AACH,8BAAsB,YAAa,SAAQ,eAAe,CAC1D,iBAAiB,EACjB,YAAY,CACX;IACC;;OAEG;IACH,QAAQ,KAAK,EAAE,IAAI,cAAc,CAAA;IAEjC;;OAEG;IACH,QAAQ,KAAK,IAAI,IAAI,MAAM,CAAA;IAE3B;;OAEG;IACH,QAAQ,KAAK,WAAW,IAAI,MAAM,CAAA;IAElC;;OAEG;IACH,QAAQ,KAAK,UAAU,IAAI,UAAU,CAAA;IAErC;;OAEG;IACH,QAAQ,KAAK,KAAK,IAAI,KAAK,CAAA;IAE3B;;OAEG;IACH,QAAQ,KAAK,YAAY,IAAI,MAAM,CAAA;IAEnC;;OAEG;IACH,QAAQ,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAEtC;;OAEG;IACH,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAEjE;;OAEG;IACH,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CACpF"}
1
+ {"version":3,"file":"organization.d.ts","sourceRoot":"","sources":["../../../../src/storages/organizations/organization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAGzC;;GAEG;AACH,oBAAY,iBAAiB;IAC3B,OAAO,YAAY;CACpB;AAED;;GAEG;AACH,8BAAsB,YAAa,SAAQ,eAAe,CAC1D,iBAAiB,EACjB,YAAY,CACX;IACC;;OAEG;IACH,QAAQ,KAAK,EAAE,IAAI,cAAc,CAAA;IAEjC;;OAEG;IACH,QAAQ,KAAK,IAAI,IAAI,MAAM,CAAA;IAE3B;;OAEG;IACH,QAAQ,KAAK,WAAW,IAAI,MAAM,CAAA;IAElC;;OAEG;IACH,QAAQ,KAAK,UAAU,IAAI,UAAU,CAAA;IAErC;;OAEG;IACH,QAAQ,KAAK,KAAK,IAAI,KAAK,CAAA;IAE3B;;OAEG;IACH,QAAQ,KAAK,YAAY,IAAI,MAAM,CAAA;IAEnC;;OAEG;IACH,QAAQ,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAEtC;;OAEG;IACH,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAEjE;;OAEG;IACH,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CACpF"}
@@ -1 +1 @@
1
- {"version":3,"file":"organization.js","sourceRoot":"","sources":["../../../../src/storages/organizations/organization.ts"],"names":[],"mappings":";;;AAIA,yCAA8C;AAI9C;;GAEG;AACH,IAAY,iBAEX;AAFD,WAAY,iBAAiB;IAC3B,wCAAmB,CAAA;AACrB,CAAC,EAFW,iBAAiB,iCAAjB,iBAAiB,QAE5B;AAED;;GAEG;AACH,MAAsB,YAAa,SAAQ,wBAG1C;CA6CA;AAhDD,oCAgDC"}
1
+ {"version":3,"file":"organization.js","sourceRoot":"","sources":["../../../../src/storages/organizations/organization.ts"],"names":[],"mappings":";;;AAIA,yCAA8C;AAK9C;;GAEG;AACH,IAAY,iBAEX;AAFD,WAAY,iBAAiB;IAC3B,wCAAmB,CAAA;AACrB,CAAC,EAFW,iBAAiB,iCAAjB,iBAAiB,QAE5B;AAED;;GAEG;AACH,MAAsB,YAAa,SAAQ,wBAG1C;CA6CA;AAhDD,oCAgDC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neuralinnovations/dataisland-sdk",
3
- "version": "0.0.1-dev22",
3
+ "version": "0.0.1-dev23",
4
4
  "description": "SDK for DataIsland project",
5
5
  "licenses": [
6
6
  {
package/src/index.ts CHANGED
@@ -96,3 +96,6 @@ export async function dataIslandApp(
96
96
  }
97
97
  return await appPromise
98
98
  }
99
+ export { Group } from "./storages/groups/group"
100
+ export { GroupEvent } from "./storages/groups/group"
101
+ export { GroupId } from "./storages/groups/group"
@@ -0,0 +1,267 @@
1
+ import { Group, GroupEvent, GroupId } from "./group"
2
+ import { Disposable } from "../../disposable"
3
+ import {
4
+ AccessGroupDto,
5
+ AccessGroupResponse
6
+ } from "../../dto/accessGroupResponse"
7
+ import { UserDto } from "../../dto/userInfoResponse"
8
+ import { Workspace } from "../workspaces/workspace"
9
+ import { Context } from "../../context"
10
+ import { Organization } from "../organizations/organization"
11
+ import { RpcService } from "../../services/rpcService"
12
+ import { ResponseUtils } from "../../services/responseUtils"
13
+ import { WorkspacesResponse } from "../../dto/workspacesResponse"
14
+ import { WorkspaceId } from "../workspaces/workspaces"
15
+ import { UserId } from "../user/userProfile"
16
+
17
+ export class GroupImpl extends Group implements Disposable {
18
+ private _isDisposed: boolean = false
19
+ private _content?: AccessGroupDto
20
+ private _members?: UserDto[]
21
+ private _workspaces: Workspace[] = []
22
+
23
+ constructor(
24
+ private readonly context: Context,
25
+ public readonly organization: Organization
26
+ ) {
27
+ super()
28
+ }
29
+
30
+ async initFrom(id: GroupId): Promise<Group> {
31
+ await this.reloadGroup(id)
32
+ await this.reloadWorkspaces()
33
+ return this
34
+ }
35
+
36
+ async reloadGroup(id: GroupId): Promise<void> {
37
+ // fetch group
38
+ const response = await this.context.resolve(RpcService)
39
+ ?.requestBuilder("api/v1/AccessGroups")
40
+ .searchParam("groupId", id)
41
+ .sendGet()
42
+
43
+ // check response status
44
+ if (ResponseUtils.isFail(response)) {
45
+ await ResponseUtils.throwError(`Failed to get group: ${id}, organization: ${this.organization.id}`, response)
46
+ }
47
+
48
+ // parse group from the server's response
49
+ const group = (await response!.json()) as AccessGroupResponse
50
+ // init group
51
+ this._content = group.group
52
+ this._members = group.members
53
+ }
54
+
55
+ async reloadWorkspaces(): Promise<void> {
56
+ const groupWorkspaces = await this.loadWorkspaces(this.id)
57
+ this._workspaces.length = 0
58
+ this._workspaces.push(...groupWorkspaces)
59
+ }
60
+
61
+ async loadWorkspaces(groupId: GroupId): Promise<Workspace[]> {
62
+ // fetch workspaces
63
+ const response = await this.context.resolve(RpcService)
64
+ ?.requestBuilder("api/v1/AccessGroups/workspaces")
65
+ .searchParam("groupId", groupId)
66
+ .sendGet()
67
+
68
+ if (ResponseUtils.isFail(response)) {
69
+ await ResponseUtils.throwError(`Failed to get workspaces for group: ${this.id}, organization: ${this.organization.id}`, response)
70
+ }
71
+
72
+ // parse workspaces from the server's response
73
+ const workspaces = (await response!.json()) as WorkspacesResponse
74
+
75
+ // get workspaces
76
+ const result: Workspace[] = []
77
+ for (const workspaceDto of workspaces.workspaces) {
78
+ result.push(this.organization.workspaces.get(workspaceDto.id))
79
+ }
80
+
81
+ return result
82
+ }
83
+
84
+ get id(): GroupId {
85
+ if (this._content) {
86
+ return this._content.id
87
+ }
88
+ throw new Error("Access group is not loaded.")
89
+ }
90
+
91
+ get group(): AccessGroupDto {
92
+ if (this._content) {
93
+ return this._content
94
+ }
95
+ throw new Error("Access group is not loaded.")
96
+ }
97
+
98
+ get workspaces(): readonly Workspace[] {
99
+ return this._workspaces
100
+ }
101
+
102
+ get members(): UserDto[] {
103
+ if (this._members) {
104
+ return this._members
105
+ }
106
+ throw new Error("Access group is not loaded.")
107
+ }
108
+
109
+ async setName(name: string): Promise<void> {
110
+ if (name === undefined || name === null) {
111
+ throw new Error("Groups change, name is undefined or null")
112
+ }
113
+ if (name.length === 0 || name.trim().length === 0) {
114
+ throw new Error("Groups change, name is empty")
115
+ }
116
+ // send request to the server
117
+ const response = await this.context
118
+ .resolve(RpcService)
119
+ ?.requestBuilder("api/v1/AccessGroups/name")
120
+ .sendPutJson({
121
+ groupId: this.id,
122
+ name: name
123
+ })
124
+
125
+ // check response status
126
+ if (ResponseUtils.isFail(response)) {
127
+ await ResponseUtils.throwError(`Failed to change group name, group: ${this.id}, organization: ${this.organization.id}`, response)
128
+ }
129
+
130
+ // change name
131
+ if (this._content) {
132
+ this._content.name = name
133
+ }
134
+
135
+ // dispatch event
136
+ this.dispatch({
137
+ type: GroupEvent.UPDATED,
138
+ data: this
139
+ })
140
+ }
141
+
142
+ async setPermits(permits: { isAdmin: boolean }): Promise<void> {
143
+ // send request to the server
144
+ const response = await this.context
145
+ .resolve(RpcService)
146
+ ?.requestBuilder("api/v1/AccessGroups/permits")
147
+ .sendPutJson({
148
+ groupId: this.id,
149
+ permits: permits
150
+ })
151
+
152
+ if (ResponseUtils.isFail(response)) {
153
+ await ResponseUtils.throwError(`Failed to change group permits, group: ${this.id}, organization: ${this.organization.id}`, response)
154
+ }
155
+ }
156
+
157
+ async setWorkspaces(workspaces: string[]): Promise<void> {
158
+ if (workspaces === null || workspaces === undefined) {
159
+ throw new Error("Group add workspaces, workspaces is undefined or null")
160
+ }
161
+
162
+ // send request to the server
163
+ const response = await this.context
164
+ .resolve(RpcService)
165
+ ?.requestBuilder("api/v1/AccessGroups/workspaces")
166
+ .sendPutJson({
167
+ groupId: this.id,
168
+ actualWorkspaceIds: workspaces
169
+ })
170
+
171
+ if (ResponseUtils.isFail(response)) {
172
+ await ResponseUtils.throwError(`Failed to set workspaces for group: ${this.id}, organization: ${this.organization.id}`, response)
173
+ }
174
+
175
+ // reload workspaces
176
+ await this.reloadWorkspaces()
177
+
178
+ // dispatch event
179
+ this.dispatch({
180
+ type: GroupEvent.UPDATED,
181
+ data: this
182
+ })
183
+ }
184
+
185
+ async removeWorkspaces(workspaces: WorkspaceId[]): Promise<void> {
186
+ if (workspaces === null || workspaces === undefined) {
187
+ throw new Error("Group removeWorkspaces, workspaces is undefined or null")
188
+ }
189
+
190
+ // make set of workspaces
191
+ const groupWorkspaces = new Set(this.workspaces.map(w => w.id))
192
+
193
+ // check argument
194
+ if (!workspaces.every(w => groupWorkspaces.has(w))) {
195
+ const notExistingWorkspaces = workspaces.filter(workspaceId => !groupWorkspaces.has(workspaceId))
196
+ throw new Error(`Group removeWorkspaces, workspaces contains not existing workspaces: ${notExistingWorkspaces}`)
197
+ }
198
+
199
+ // remove workspaces
200
+ for (const id of workspaces) {
201
+ groupWorkspaces.delete(id)
202
+ }
203
+
204
+ // send request to the server
205
+ await this.setWorkspaces(Array.from(groupWorkspaces))
206
+ }
207
+
208
+ async setMembersIds(members: UserId[]) {
209
+ if (members === null || members === undefined) {
210
+ throw new Error("Group setMembersIds, members is undefined or null")
211
+ }
212
+
213
+ // send request to the server
214
+ const response = await this.context
215
+ .resolve(RpcService)
216
+ ?.requestBuilder("api/v1/AccessGroups/members")
217
+ .sendPutJson({
218
+ groupId: this.id,
219
+ memberIds: members
220
+ })
221
+
222
+ if (ResponseUtils.isFail(response)) {
223
+ await ResponseUtils.throwError(`Failed to set members for group: ${this.id}, organization: ${this.organization.id}`, response)
224
+ }
225
+
226
+ // reload group
227
+ await this.reloadGroup(this.id)
228
+
229
+ // dispatch event
230
+ this.dispatch({
231
+ type: GroupEvent.UPDATED,
232
+ data: this
233
+ })
234
+ }
235
+
236
+ async removeMembers(members: UserId[]): Promise<void> {
237
+ // check members
238
+ if (members === null || members === undefined) {
239
+ throw new Error("Group removeMembers, members is undefined or null")
240
+ }
241
+
242
+ // make set of members
243
+ const groupMembers = new Set(this.members.map(m => m.id))
244
+
245
+ // check argument
246
+ if (!members.every(m => groupMembers.has(m))) {
247
+ const notExistingMembers = members.filter(memberId => !groupMembers.has(memberId))
248
+ throw new Error(`Group removeMembers, members contains not existing members: ${notExistingMembers}`)
249
+ }
250
+
251
+ // remove members
252
+ for (const id of members) {
253
+ groupMembers.delete(id)
254
+ }
255
+
256
+ // send request to the server
257
+ await this.setMembersIds(Array.from(groupMembers))
258
+ }
259
+
260
+ get isDisposed(): boolean {
261
+ return this._isDisposed
262
+ }
263
+
264
+ dispose(): void {
265
+ this._isDisposed = true
266
+ }
267
+ }