@neuralinnovations/dataisland-sdk 0.0.1-dev20 → 0.0.1-dev21
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/dist/package.json +1 -1
- package/dist/src/storages/groups/groups.d.ts +2 -2
- package/dist/src/storages/groups/groups.d.ts.map +1 -1
- package/dist/src/storages/groups/groups.impl.d.ts +5 -2
- package/dist/src/storages/groups/groups.impl.d.ts.map +1 -1
- package/dist/src/storages/groups/groups.impl.js +28 -10
- package/dist/src/storages/groups/groups.impl.js.map +1 -1
- package/dist/src/storages/groups/groups.js.map +1 -1
- package/package.json +1 -1
- package/src/storages/groups/groups.impl.ts +39 -16
- package/src/storages/groups/groups.ts +2 -2
package/dist/package.json
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
import { AccessGroupDto } from "../../dto/accessGroupResponse";
|
2
2
|
import { UserDto } from "../../dto/userInfoResponse";
|
3
|
-
import { WorkspaceDto } from "../../dto/workspacesResponse";
|
4
3
|
import { EventDispatcher } from "../../events";
|
5
4
|
import { UserId } from "../user/userProfile";
|
6
5
|
import { WorkspaceId } from "../workspaces/workspaces";
|
6
|
+
import { Workspace } from "../workspaces/workspace";
|
7
7
|
/**
|
8
8
|
* Group id.
|
9
9
|
*/
|
@@ -35,7 +35,7 @@ export declare abstract class Group extends EventDispatcher<GroupEvent, Group> {
|
|
35
35
|
/**
|
36
36
|
* Group workspaces.
|
37
37
|
*/
|
38
|
-
abstract
|
38
|
+
abstract get workspaces(): readonly Workspace[];
|
39
39
|
/**
|
40
40
|
* Set workspaces.
|
41
41
|
*/
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"groups.d.ts","sourceRoot":"","sources":["../../../../src/storages/groups/groups.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,
|
1
|
+
{"version":3,"file":"groups.d.ts","sourceRoot":"","sources":["../../../../src/storages/groups/groups.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAEnD;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG,MAAM,CAAA;AAE5B;;GAEG;AACH,oBAAY,UAAU;IACpB,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,OAAO,YAAY;CACpB;AAED;;GAEG;AACH,8BAAsB,KAAM,SAAQ,eAAe,CAAC,UAAU,EAAE,KAAK,CAAC;IAEpE;;OAEG;IACH,QAAQ,KAAK,EAAE,IAAI,OAAO,CAAA;IAE1B;;OAEG;IACH,QAAQ,KAAK,KAAK,IAAI,cAAc,CAAA;IAEpC;;OAEG;IACH,QAAQ,KAAK,OAAO,IAAI,OAAO,EAAE,CAAA;IAEjC;;OAEG;IACH,QAAQ,KAAK,UAAU,IAAI,SAAS,SAAS,EAAE,CAAA;IAE/C;;OAEG;IACH,QAAQ,CAAC,aAAa,CAAC,UAAU,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAEhE;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAE7C;;OAEG;IACH,QAAQ,CAAC,UAAU,CAAC,OAAO,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAEjE;;OAEG;IACH,QAAQ,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAExD;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CACzD;AAED;;GAEG;AACH,8BAAsB,MAAO,SAAQ,eAAe,CAAC,UAAU,EAAE,KAAK,CAAC;IAErE;;OAEG;IACH,QAAQ,KAAK,UAAU,IAAI,aAAa,CAAC,KAAK,CAAC,CAAA;IAE/C;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;QACrC,OAAO,EAAE,OAAO,CAAA;KACjB,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC;IAEvC;;;OAGG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,GAAG,KAAK,GAAG,SAAS;IAE5C;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CAE5C"}
|
@@ -2,23 +2,26 @@ import { Context } from "../../context";
|
|
2
2
|
import { Disposable } from "../../disposable";
|
3
3
|
import { AccessGroupDto } from "../../dto/accessGroupResponse";
|
4
4
|
import { UserDto } from "../../dto/userInfoResponse";
|
5
|
-
import { WorkspaceDto } from "../../dto/workspacesResponse";
|
6
5
|
import { Group, GroupId, Groups } from "./groups";
|
7
6
|
import { OrganizationImpl } from "../organizations/organization.impl";
|
8
7
|
import { Organization } from "../organizations/organization";
|
9
8
|
import { UserId } from "../user/userProfile";
|
9
|
+
import { Workspace } from "../workspaces/workspace";
|
10
10
|
export declare class GroupImpl extends Group implements Disposable {
|
11
11
|
private readonly context;
|
12
12
|
readonly organization: Organization;
|
13
13
|
private _isDisposed;
|
14
14
|
private _content?;
|
15
15
|
private _members?;
|
16
|
+
private _workspaces;
|
16
17
|
constructor(context: Context, organization: Organization);
|
17
18
|
initFrom(id: GroupId): Promise<Group>;
|
18
19
|
reloadGroup(id: GroupId): Promise<void>;
|
20
|
+
reloadWorkspaces(): Promise<void>;
|
21
|
+
loadWorkspaces(groupId: GroupId): Promise<Workspace[]>;
|
19
22
|
get id(): GroupId;
|
20
23
|
get group(): AccessGroupDto;
|
21
|
-
|
24
|
+
get workspaces(): readonly Workspace[];
|
22
25
|
get members(): UserDto[];
|
23
26
|
setName(name: string): Promise<void>;
|
24
27
|
setPermits(permits: {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"groups.impl.d.ts","sourceRoot":"","sources":["../../../../src/storages/groups/groups.impl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EACL,cAAc,EAGf,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;
|
1
|
+
{"version":3,"file":"groups.impl.d.ts","sourceRoot":"","sources":["../../../../src/storages/groups/groups.impl.ts"],"names":[],"mappings":"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"}
|
@@ -10,9 +10,11 @@ class GroupImpl extends groups_1.Group {
|
|
10
10
|
this.context = context;
|
11
11
|
this.organization = organization;
|
12
12
|
this._isDisposed = false;
|
13
|
+
this._workspaces = [];
|
13
14
|
}
|
14
15
|
async initFrom(id) {
|
15
16
|
await this.reloadGroup(id);
|
17
|
+
await this.reloadWorkspaces();
|
16
18
|
return this;
|
17
19
|
}
|
18
20
|
async reloadGroup(id) {
|
@@ -29,6 +31,27 @@ class GroupImpl extends groups_1.Group {
|
|
29
31
|
this._content = group.group;
|
30
32
|
this._members = group.members;
|
31
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
|
+
}
|
32
55
|
get id() {
|
33
56
|
if (this._content) {
|
34
57
|
return this._content.id;
|
@@ -41,16 +64,8 @@ class GroupImpl extends groups_1.Group {
|
|
41
64
|
}
|
42
65
|
throw new Error("Access group is not loaded.");
|
43
66
|
}
|
44
|
-
|
45
|
-
|
46
|
-
// fetch workspaces
|
47
|
-
const response = await ((_a = this.context.resolve(rpcService_1.RpcService)) === null || _a === void 0 ? void 0 : _a.requestBuilder("api/v1/Organizations/workspaces").searchParam("id", this.id).sendGet());
|
48
|
-
if (responseUtils_1.ResponseUtils.isFail(response)) {
|
49
|
-
await responseUtils_1.ResponseUtils.throwError(`Failed to get workspaces for group: ${this.id}, organization: ${this.organization.id}`, response);
|
50
|
-
}
|
51
|
-
// parse workspaces from the server's response
|
52
|
-
const workspaces = (await response.json());
|
53
|
-
return workspaces.workspaces;
|
67
|
+
get workspaces() {
|
68
|
+
return this._workspaces;
|
54
69
|
}
|
55
70
|
get members() {
|
56
71
|
if (this._members) {
|
@@ -76,6 +91,7 @@ class GroupImpl extends groups_1.Group {
|
|
76
91
|
if (responseUtils_1.ResponseUtils.isFail(response)) {
|
77
92
|
await responseUtils_1.ResponseUtils.throwError(`Failed to change group name, group: ${this.id}, organization: ${this.organization.id}`, response);
|
78
93
|
}
|
94
|
+
// change name
|
79
95
|
if (this._content) {
|
80
96
|
this._content.name = name;
|
81
97
|
}
|
@@ -106,6 +122,8 @@ class GroupImpl extends groups_1.Group {
|
|
106
122
|
if (responseUtils_1.ResponseUtils.isFail(response)) {
|
107
123
|
await responseUtils_1.ResponseUtils.throwError(`Failed to set workspaces for group: ${this.id}, organization: ${this.organization.id}`, response);
|
108
124
|
}
|
125
|
+
// reload workspaces
|
126
|
+
await this.reloadWorkspaces();
|
109
127
|
}
|
110
128
|
async setMembersIds(members) {
|
111
129
|
var _a;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"groups.impl.js","sourceRoot":"","sources":["../../../../src/storages/groups/groups.impl.ts"],"names":[],"mappings":";;;AASA,0DAAsD;AACtD,qCAA6D;AAE7D,gEAA4D;
|
1
|
+
{"version":3,"file":"groups.impl.js","sourceRoot":"","sources":["../../../../src/storages/groups/groups.impl.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"groups.js","sourceRoot":"","sources":["../../../../src/storages/groups/groups.ts"],"names":[],"mappings":";;;
|
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;CA+CrE;AA/CD,sBA+CC;AAED;;GAEG;AACH,MAAsB,MAAO,SAAQ,wBAAkC;CA6BtE;AA7BD,wBA6BC"}
|
package/package.json
CHANGED
@@ -6,18 +6,20 @@ import {
|
|
6
6
|
AccessGroupsResponse
|
7
7
|
} from "../../dto/accessGroupResponse"
|
8
8
|
import { UserDto } from "../../dto/userInfoResponse"
|
9
|
-
import {
|
9
|
+
import { WorkspacesResponse } from "../../dto/workspacesResponse"
|
10
10
|
import { RpcService } from "../../services/rpcService"
|
11
11
|
import { Group, GroupEvent, GroupId, Groups } from "./groups"
|
12
12
|
import { OrganizationImpl } from "../organizations/organization.impl"
|
13
13
|
import { ResponseUtils } from "../../services/responseUtils"
|
14
14
|
import { Organization } from "../organizations/organization"
|
15
15
|
import { UserId } from "../user/userProfile"
|
16
|
+
import { Workspace } from "../workspaces/workspace"
|
16
17
|
|
17
18
|
export class GroupImpl extends Group implements Disposable {
|
18
19
|
private _isDisposed: boolean = false
|
19
20
|
private _content?: AccessGroupDto
|
20
21
|
private _members?: UserDto[]
|
22
|
+
private _workspaces: Workspace[] = []
|
21
23
|
|
22
24
|
constructor(
|
23
25
|
private readonly context: Context,
|
@@ -28,6 +30,7 @@ export class GroupImpl extends Group implements Disposable {
|
|
28
30
|
|
29
31
|
async initFrom(id: GroupId): Promise<Group> {
|
30
32
|
await this.reloadGroup(id)
|
33
|
+
await this.reloadWorkspaces()
|
31
34
|
return this
|
32
35
|
}
|
33
36
|
|
@@ -50,6 +53,35 @@ export class GroupImpl extends Group implements Disposable {
|
|
50
53
|
this._members = group.members
|
51
54
|
}
|
52
55
|
|
56
|
+
async reloadWorkspaces(): Promise<void> {
|
57
|
+
const groupWorkspaces = await this.loadWorkspaces(this.id)
|
58
|
+
this._workspaces.length = 0
|
59
|
+
this._workspaces.push(...groupWorkspaces)
|
60
|
+
}
|
61
|
+
|
62
|
+
async loadWorkspaces(groupId: GroupId): Promise<Workspace[]> {
|
63
|
+
// fetch workspaces
|
64
|
+
const response = await this.context.resolve(RpcService)
|
65
|
+
?.requestBuilder("api/v1/AccessGroups/workspaces")
|
66
|
+
.searchParam("groupId", groupId)
|
67
|
+
.sendGet()
|
68
|
+
|
69
|
+
if (ResponseUtils.isFail(response)) {
|
70
|
+
await ResponseUtils.throwError(`Failed to get workspaces for group: ${this.id}, organization: ${this.organization.id}`, response)
|
71
|
+
}
|
72
|
+
|
73
|
+
// parse workspaces from the server's response
|
74
|
+
const workspaces = (await response!.json()) as WorkspacesResponse
|
75
|
+
|
76
|
+
// get workspaces
|
77
|
+
const result: Workspace[] = []
|
78
|
+
for (const workspaceDto of workspaces.workspaces) {
|
79
|
+
result.push(this.organization.workspaces.get(workspaceDto.id))
|
80
|
+
}
|
81
|
+
|
82
|
+
return result
|
83
|
+
}
|
84
|
+
|
53
85
|
get id(): GroupId {
|
54
86
|
if (this._content) {
|
55
87
|
return this._content.id
|
@@ -64,21 +96,8 @@ export class GroupImpl extends Group implements Disposable {
|
|
64
96
|
throw new Error("Access group is not loaded.")
|
65
97
|
}
|
66
98
|
|
67
|
-
|
68
|
-
|
69
|
-
const response = await this.context.resolve(RpcService)
|
70
|
-
?.requestBuilder("api/v1/Organizations/workspaces")
|
71
|
-
.searchParam("id", this.id)
|
72
|
-
.sendGet()
|
73
|
-
|
74
|
-
if (ResponseUtils.isFail(response)) {
|
75
|
-
await ResponseUtils.throwError(`Failed to get workspaces for group: ${this.id}, organization: ${this.organization.id}`, response)
|
76
|
-
}
|
77
|
-
|
78
|
-
// parse workspaces from the server's response
|
79
|
-
const workspaces = (await response!.json()) as WorkspacesResponse
|
80
|
-
|
81
|
-
return workspaces.workspaces
|
99
|
+
get workspaces(): readonly Workspace[] {
|
100
|
+
return this._workspaces
|
82
101
|
}
|
83
102
|
|
84
103
|
get members(): UserDto[] {
|
@@ -109,6 +128,7 @@ export class GroupImpl extends Group implements Disposable {
|
|
109
128
|
await ResponseUtils.throwError(`Failed to change group name, group: ${this.id}, organization: ${this.organization.id}`, response)
|
110
129
|
}
|
111
130
|
|
131
|
+
// change name
|
112
132
|
if (this._content) {
|
113
133
|
this._content.name = name
|
114
134
|
}
|
@@ -146,6 +166,9 @@ export class GroupImpl extends Group implements Disposable {
|
|
146
166
|
if (ResponseUtils.isFail(response)) {
|
147
167
|
await ResponseUtils.throwError(`Failed to set workspaces for group: ${this.id}, organization: ${this.organization.id}`, response)
|
148
168
|
}
|
169
|
+
|
170
|
+
// reload workspaces
|
171
|
+
await this.reloadWorkspaces()
|
149
172
|
}
|
150
173
|
|
151
174
|
async setMembersIds(members: UserId[]) {
|
@@ -1,9 +1,9 @@
|
|
1
1
|
import { AccessGroupDto } from "../../dto/accessGroupResponse"
|
2
2
|
import { UserDto } from "../../dto/userInfoResponse"
|
3
|
-
import { WorkspaceDto } from "../../dto/workspacesResponse"
|
4
3
|
import { EventDispatcher } from "../../events"
|
5
4
|
import { UserId } from "../user/userProfile"
|
6
5
|
import { WorkspaceId } from "../workspaces/workspaces"
|
6
|
+
import { Workspace } from "../workspaces/workspace"
|
7
7
|
|
8
8
|
/**
|
9
9
|
* Group id.
|
@@ -42,7 +42,7 @@ export abstract class Group extends EventDispatcher<GroupEvent, Group> {
|
|
42
42
|
/**
|
43
43
|
* Group workspaces.
|
44
44
|
*/
|
45
|
-
abstract
|
45
|
+
abstract get workspaces(): readonly Workspace[]
|
46
46
|
|
47
47
|
/**
|
48
48
|
* Set workspaces.
|