@neuralinnovations/dataisland-sdk 0.0.1-dev2 → 0.0.1-dev20
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/LICENSE +201 -0
- package/README.md +306 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -0
- package/dist/package.json +100 -0
- package/dist/src/appBuilder.d.ts +44 -0
- package/dist/src/appBuilder.d.ts.map +1 -0
- package/dist/src/appBuilder.js +10 -0
- package/dist/src/appBuilder.js.map +1 -0
- package/dist/src/commands/startCommandHandler.d.ts +7 -0
- package/dist/src/commands/startCommandHandler.d.ts.map +1 -0
- package/dist/src/commands/startCommandHandler.js +17 -0
- package/dist/src/commands/startCommandHandler.js.map +1 -0
- package/dist/src/context.d.ts +23 -0
- package/dist/src/context.d.ts.map +1 -0
- package/dist/src/context.js +31 -0
- package/dist/src/context.js.map +1 -0
- package/dist/src/credentials.d.ts +28 -0
- package/dist/src/credentials.d.ts.map +1 -0
- package/dist/src/credentials.js +70 -0
- package/dist/src/credentials.js.map +1 -0
- package/dist/src/dataIslandApp.d.ts +50 -0
- package/dist/src/dataIslandApp.d.ts.map +1 -0
- package/dist/src/dataIslandApp.js +10 -0
- package/dist/src/dataIslandApp.js.map +1 -0
- package/dist/src/disposable.d.ts +84 -0
- package/dist/src/disposable.d.ts.map +1 -0
- package/dist/src/disposable.js +147 -0
- package/dist/src/disposable.js.map +1 -0
- package/dist/src/dto/accessGroupResponse.d.ts +27 -0
- package/dist/src/dto/accessGroupResponse.d.ts.map +1 -0
- package/dist/src/dto/accessGroupResponse.js +3 -0
- package/dist/src/dto/accessGroupResponse.js.map +1 -0
- package/dist/src/dto/chatResponse.d.ts +78 -0
- package/dist/src/dto/chatResponse.d.ts.map +1 -0
- package/dist/src/dto/chatResponse.js +45 -0
- package/dist/src/dto/chatResponse.js.map +1 -0
- package/dist/src/dto/userInfoResponse.d.ts +42 -0
- package/dist/src/dto/userInfoResponse.d.ts.map +1 -0
- package/dist/src/dto/userInfoResponse.js +3 -0
- package/dist/src/dto/userInfoResponse.js.map +1 -0
- package/dist/src/dto/workspacesResponse.d.ts +43 -0
- package/dist/src/dto/workspacesResponse.d.ts.map +1 -0
- package/dist/src/dto/workspacesResponse.js +3 -0
- package/dist/src/dto/workspacesResponse.js.map +1 -0
- package/dist/src/events.d.ts +17 -0
- package/dist/src/events.d.ts.map +1 -0
- package/dist/src/events.js +52 -0
- package/dist/src/events.js.map +1 -0
- package/dist/src/index.d.ts +58 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +91 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/internal/app.impl.d.ts +28 -0
- package/dist/src/internal/app.impl.d.ts.map +1 -0
- package/dist/src/internal/app.impl.js +151 -0
- package/dist/src/internal/app.impl.js.map +1 -0
- package/dist/src/internal/appBuilder.impl.d.ts +27 -0
- package/dist/src/internal/appBuilder.impl.d.ts.map +1 -0
- package/dist/src/internal/appBuilder.impl.js +71 -0
- package/dist/src/internal/appBuilder.impl.js.map +1 -0
- package/dist/src/internal/createApp.impl.d.ts +4 -0
- package/dist/src/internal/createApp.impl.d.ts.map +1 -0
- package/dist/src/internal/createApp.impl.js +11 -0
- package/dist/src/internal/createApp.impl.js.map +1 -0
- package/dist/src/internal/registry.d.ts +66 -0
- package/dist/src/internal/registry.d.ts.map +1 -0
- package/dist/src/internal/registry.js +114 -0
- package/dist/src/internal/registry.js.map +1 -0
- package/dist/src/middleware.d.ts +5 -0
- package/dist/src/middleware.d.ts.map +1 -0
- package/dist/src/middleware.js +3 -0
- package/dist/src/middleware.js.map +1 -0
- package/dist/src/services/commandService.d.ts +18 -0
- package/dist/src/services/commandService.d.ts.map +1 -0
- package/dist/src/services/commandService.js +40 -0
- package/dist/src/services/commandService.js.map +1 -0
- package/dist/src/services/credentialService.d.ts +9 -0
- package/dist/src/services/credentialService.d.ts.map +1 -0
- package/dist/src/services/credentialService.js +26 -0
- package/dist/src/services/credentialService.js.map +1 -0
- package/dist/src/services/middlewareService.d.ts +9 -0
- package/dist/src/services/middlewareService.d.ts.map +1 -0
- package/dist/src/services/middlewareService.js +34 -0
- package/dist/src/services/middlewareService.js.map +1 -0
- package/dist/src/services/organizationService.d.ts +10 -0
- package/dist/src/services/organizationService.d.ts.map +1 -0
- package/dist/src/services/organizationService.js +19 -0
- package/dist/src/services/organizationService.js.map +1 -0
- package/dist/src/services/requestBuilder.d.ts +17 -0
- package/dist/src/services/requestBuilder.d.ts.map +1 -0
- package/dist/src/services/requestBuilder.js +104 -0
- package/dist/src/services/requestBuilder.js.map +1 -0
- package/dist/src/services/responseUtils.d.ts +6 -0
- package/dist/src/services/responseUtils.d.ts.map +1 -0
- package/dist/src/services/responseUtils.js +32 -0
- package/dist/src/services/responseUtils.js.map +1 -0
- package/dist/src/services/rpcService.d.ts +77 -0
- package/dist/src/services/rpcService.d.ts.map +1 -0
- package/dist/src/services/rpcService.js +125 -0
- package/dist/src/services/rpcService.js.map +1 -0
- package/dist/src/services/service.d.ts +21 -0
- package/dist/src/services/service.d.ts.map +1 -0
- package/dist/src/services/service.js +41 -0
- package/dist/src/services/service.js.map +1 -0
- package/dist/src/services/userProfileService.d.ts +8 -0
- package/dist/src/services/userProfileService.d.ts.map +1 -0
- package/dist/src/services/userProfileService.js +32 -0
- package/dist/src/services/userProfileService.js.map +1 -0
- package/dist/src/storages/chats/answer.d.ts +40 -0
- package/dist/src/storages/chats/answer.d.ts.map +1 -0
- package/dist/src/storages/chats/answer.impl.d.ts +24 -0
- package/dist/src/storages/chats/answer.impl.d.ts.map +1 -0
- package/dist/src/storages/chats/answer.impl.js +130 -0
- package/dist/src/storages/chats/answer.impl.js.map +1 -0
- package/dist/src/storages/chats/answer.js +14 -0
- package/dist/src/storages/chats/answer.js.map +1 -0
- package/dist/src/storages/chats/chat.d.ts +39 -0
- package/dist/src/storages/chats/chat.d.ts.map +1 -0
- package/dist/src/storages/chats/chat.impl.d.ts +24 -0
- package/dist/src/storages/chats/chat.impl.d.ts.map +1 -0
- package/dist/src/storages/chats/chat.impl.js +98 -0
- package/dist/src/storages/chats/chat.impl.js.map +1 -0
- package/dist/src/storages/chats/chat.js +12 -0
- package/dist/src/storages/chats/chat.js.map +1 -0
- package/dist/src/storages/chats/chats.d.ts +40 -0
- package/dist/src/storages/chats/chats.d.ts.map +1 -0
- package/dist/src/storages/chats/chats.impl.d.ts +18 -0
- package/dist/src/storages/chats/chats.impl.d.ts.map +1 -0
- package/dist/src/storages/chats/chats.impl.js +102 -0
- package/dist/src/storages/chats/chats.impl.js.map +1 -0
- package/dist/src/storages/chats/chats.js +16 -0
- package/dist/src/storages/chats/chats.js.map +1 -0
- package/dist/src/storages/files/file.d.ts +31 -0
- package/dist/src/storages/files/file.d.ts.map +1 -0
- package/dist/src/storages/files/file.impl.d.ts +21 -0
- package/dist/src/storages/files/file.impl.d.ts.map +1 -0
- package/dist/src/storages/files/file.impl.js +64 -0
- package/dist/src/storages/files/file.impl.js.map +1 -0
- package/dist/src/storages/files/file.js +11 -0
- package/dist/src/storages/files/file.js.map +1 -0
- package/dist/src/storages/files/files.d.ts +34 -0
- package/dist/src/storages/files/files.d.ts.map +1 -0
- package/dist/src/storages/files/files.impl.d.ts +22 -0
- package/dist/src/storages/files/files.impl.d.ts.map +1 -0
- package/dist/src/storages/files/files.impl.js +140 -0
- package/dist/src/storages/files/files.impl.js.map +1 -0
- package/dist/src/storages/files/files.js +20 -0
- package/dist/src/storages/files/files.js.map +1 -0
- package/dist/src/storages/files/filesPage.d.ts +28 -0
- package/dist/src/storages/files/filesPage.d.ts.map +1 -0
- package/dist/src/storages/files/filesPage.impl.d.ts +15 -0
- package/dist/src/storages/files/filesPage.impl.d.ts.map +1 -0
- package/dist/src/storages/files/filesPage.impl.js +38 -0
- package/dist/src/storages/files/filesPage.impl.js.map +1 -0
- package/dist/src/storages/files/filesPage.js +10 -0
- package/dist/src/storages/files/filesPage.js.map +1 -0
- package/dist/src/storages/groups/groups.d.ts +91 -0
- package/dist/src/storages/groups/groups.d.ts.map +1 -0
- package/dist/src/storages/groups/groups.impl.d.ts +58 -0
- package/dist/src/storages/groups/groups.impl.d.ts.map +1 -0
- package/dist/src/storages/groups/groups.impl.js +275 -0
- package/dist/src/storages/groups/groups.impl.js.map +1 -0
- package/dist/src/storages/groups/groups.js +26 -0
- package/dist/src/storages/groups/groups.js.map +1 -0
- package/dist/src/storages/organizations/organization.d.ts +54 -0
- package/dist/src/storages/organizations/organization.d.ts.map +1 -0
- package/dist/src/storages/organizations/organization.impl.d.ts +32 -0
- package/dist/src/storages/organizations/organization.impl.d.ts.map +1 -0
- package/dist/src/storages/organizations/organization.impl.js +120 -0
- package/dist/src/storages/organizations/organization.impl.js.map +1 -0
- package/dist/src/storages/organizations/organization.js +18 -0
- package/dist/src/storages/organizations/organization.js.map +1 -0
- package/dist/src/storages/organizations/organizations.d.ts +46 -0
- package/dist/src/storages/organizations/organizations.d.ts.map +1 -0
- package/dist/src/storages/organizations/organizations.impl.d.ts +38 -0
- package/dist/src/storages/organizations/organizations.impl.d.ts.map +1 -0
- package/dist/src/storages/organizations/organizations.impl.js +151 -0
- package/dist/src/storages/organizations/organizations.impl.js.map +1 -0
- package/dist/src/storages/organizations/organizations.js +20 -0
- package/dist/src/storages/organizations/organizations.js.map +1 -0
- package/dist/src/storages/user/userProfile.d.ts +32 -0
- package/dist/src/storages/user/userProfile.d.ts.map +1 -0
- package/dist/src/storages/user/userProfile.impl.d.ts +13 -0
- package/dist/src/storages/user/userProfile.impl.d.ts.map +1 -0
- package/dist/src/storages/user/userProfile.impl.js +51 -0
- package/dist/src/storages/user/userProfile.impl.js.map +1 -0
- package/dist/src/storages/user/userProfile.js +12 -0
- package/dist/src/storages/user/userProfile.js.map +1 -0
- package/dist/src/storages/workspaces/workspace.d.ts +44 -0
- package/dist/src/storages/workspaces/workspace.d.ts.map +1 -0
- package/dist/src/storages/workspaces/workspace.impl.d.ts +23 -0
- package/dist/src/storages/workspaces/workspace.impl.d.ts.map +1 -0
- package/dist/src/storages/workspaces/workspace.impl.js +98 -0
- package/dist/src/storages/workspaces/workspace.impl.js.map +1 -0
- package/dist/src/storages/workspaces/workspace.js +18 -0
- package/dist/src/storages/workspaces/workspace.js.map +1 -0
- package/dist/src/storages/workspaces/workspaces.d.ts +47 -0
- package/dist/src/storages/workspaces/workspaces.d.ts.map +1 -0
- package/dist/src/storages/workspaces/workspaces.impl.d.ts +33 -0
- package/dist/src/storages/workspaces/workspaces.impl.d.ts.map +1 -0
- package/dist/src/storages/workspaces/workspaces.impl.js +157 -0
- package/dist/src/storages/workspaces/workspaces.impl.js.map +1 -0
- package/dist/src/storages/workspaces/workspaces.js +19 -0
- package/dist/src/storages/workspaces/workspaces.js.map +1 -0
- package/dist/src/unitTest.d.ts +12 -0
- package/dist/src/unitTest.d.ts.map +1 -0
- package/dist/src/unitTest.js +44 -0
- package/dist/src/unitTest.js.map +1 -0
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/package.json +43 -4
- package/src/appBuilder.ts +6 -6
- package/src/commands/startCommandHandler.ts +2 -2
- package/src/context.ts +5 -4
- package/src/credentials.ts +29 -7
- package/src/{appSdk.ts → dataIslandApp.ts} +7 -7
- package/src/disposable.ts +20 -8
- package/src/dto/accessGroupResponse.ts +35 -0
- package/src/dto/chatResponse.ts +103 -0
- package/src/dto/userInfoResponse.ts +15 -3
- package/src/dto/workspacesResponse.ts +49 -0
- package/src/events.ts +13 -13
- package/src/index.ts +41 -20
- package/src/internal/app.impl.ts +28 -31
- package/src/internal/appBuilder.impl.ts +16 -16
- package/src/internal/createApp.impl.ts +5 -5
- package/src/internal/registry.ts +54 -6
- package/src/services/commandService.ts +3 -3
- package/src/services/credentialService.ts +3 -3
- package/src/services/middlewareService.ts +4 -4
- package/src/services/organizationService.ts +18 -116
- package/src/services/requestBuilder.ts +40 -15
- package/src/services/responseUtils.ts +32 -0
- package/src/services/rpcService.ts +28 -11
- package/src/services/service.ts +10 -8
- package/src/services/userProfileService.ts +18 -66
- package/src/storages/chats/answer.impl.ts +186 -0
- package/src/storages/chats/answer.ts +55 -0
- package/src/storages/chats/chat.impl.ts +126 -0
- package/src/storages/chats/chat.ts +49 -0
- package/src/storages/chats/chats.impl.ts +142 -0
- package/src/storages/chats/chats.ts +47 -0
- package/src/storages/files/file.impl.ts +87 -0
- package/src/storages/files/file.ts +40 -0
- package/src/storages/files/files.impl.ts +191 -0
- package/src/storages/files/files.ts +39 -0
- package/src/storages/files/filesPage.impl.ts +37 -0
- package/src/storages/files/filesPage.ts +33 -0
- package/src/storages/groups/groups.impl.ts +363 -0
- package/src/storages/groups/groups.ts +106 -0
- package/src/storages/organizations/organization.impl.ts +163 -0
- package/src/storages/organizations/organization.ts +67 -0
- package/src/storages/organizations/organizations.impl.ts +197 -0
- package/src/storages/{organizations.ts → organizations/organizations.ts} +8 -28
- package/src/storages/user/userProfile.impl.ts +56 -0
- package/src/storages/{userProfile.ts → user/userProfile.ts} +2 -2
- package/src/storages/workspaces/workspace.impl.ts +129 -0
- package/src/storages/workspaces/workspace.ts +54 -0
- package/src/storages/workspaces/workspaces.impl.ts +212 -0
- package/src/storages/workspaces/workspaces.ts +53 -0
- package/src/unitTest.ts +12 -1
- package/.browserslistrc +0 -5
- package/.editorconfig +0 -22
- package/.eslintrc.json +0 -44
- package/.github/workflows/publish-npm.yml +0 -28
- package/.prettierignore +0 -1
- package/.prettierrc +0 -11
- package/.yarnrc +0 -2
- package/babel.config.js +0 -6
- package/jest.config.ts +0 -199
- package/jest.setup.ts +0 -2
- package/src/services/organizationImpl.ts +0 -51
- package/src/services/organizationsImpl.ts +0 -55
- package/src/types.ts +0 -86
- package/test/commands.test.ts +0 -24
- package/test/disposable.test.ts +0 -39
- package/test/events.test.ts +0 -151
- package/test/index.test.ts +0 -163
- package/test/registry.test.ts +0 -44
- package/test/services.test.ts +0 -56
- package/test/setup.ts +0 -2
- package/test/unitTest.test.ts +0 -21
- package/tsconfig.json +0 -31
@@ -0,0 +1,157 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.WorkspacesImpl = void 0;
|
4
|
+
const workspaces_1 = require("./workspaces");
|
5
|
+
const workspace_impl_1 = require("./workspace.impl");
|
6
|
+
const rpcService_1 = require("../../services/rpcService");
|
7
|
+
const responseUtils_1 = require("../../services/responseUtils");
|
8
|
+
class WorkspacesImpl extends workspaces_1.Workspaces {
|
9
|
+
constructor(organization, context) {
|
10
|
+
super();
|
11
|
+
this.organization = organization;
|
12
|
+
this.context = context;
|
13
|
+
this._workspaces = [];
|
14
|
+
}
|
15
|
+
get collection() {
|
16
|
+
return this._workspaces;
|
17
|
+
}
|
18
|
+
get(id) {
|
19
|
+
return this.tryGet(id);
|
20
|
+
}
|
21
|
+
tryGet(id) {
|
22
|
+
return this._workspaces.find(workspace => workspace.id === id);
|
23
|
+
}
|
24
|
+
contains(id) {
|
25
|
+
return this._workspaces.find(workspace => workspace.id === id) !== undefined;
|
26
|
+
}
|
27
|
+
/**
|
28
|
+
* Create workspace.
|
29
|
+
* @param name
|
30
|
+
* @param description
|
31
|
+
* @param regulation
|
32
|
+
*/
|
33
|
+
async create(name, description, regulation) {
|
34
|
+
var _a, _b, _c, _d;
|
35
|
+
if (name === undefined || name === null || name.trim() === "") {
|
36
|
+
throw new Error("Name is required, must be not empty");
|
37
|
+
}
|
38
|
+
if (description === undefined ||
|
39
|
+
description === null ||
|
40
|
+
description.trim() === "") {
|
41
|
+
throw new Error("Description is required, must be not empty");
|
42
|
+
}
|
43
|
+
if (regulation) {
|
44
|
+
if (regulation.isCreateNewGroup === undefined ||
|
45
|
+
regulation.isCreateNewGroup === null) {
|
46
|
+
throw new Error("isCreateNewGroup is required, must be not empty");
|
47
|
+
}
|
48
|
+
if (regulation.newGroupName === undefined ||
|
49
|
+
regulation.newGroupName === null ||
|
50
|
+
regulation.newGroupName.trim() === "") {
|
51
|
+
throw new Error("newGroupName is required, must be not empty");
|
52
|
+
}
|
53
|
+
if (regulation.groupIds === undefined ||
|
54
|
+
regulation.groupIds === null ||
|
55
|
+
regulation.groupIds.length === 0) {
|
56
|
+
throw new Error("groupIds is required, must be not empty");
|
57
|
+
}
|
58
|
+
}
|
59
|
+
// send create request to the server
|
60
|
+
const response = await ((_a = this.context
|
61
|
+
.resolve(rpcService_1.RpcService)) === null || _a === void 0 ? void 0 : _a.requestBuilder("api/v1/Workspaces").sendPostJson({
|
62
|
+
organizationId: this.organization.id,
|
63
|
+
profile: {
|
64
|
+
name: name,
|
65
|
+
description: description
|
66
|
+
},
|
67
|
+
regulation: {
|
68
|
+
isCreateNewGroup: (_b = regulation === null || regulation === void 0 ? void 0 : regulation.isCreateNewGroup) !== null && _b !== void 0 ? _b : false,
|
69
|
+
newGroupName: (_c = regulation === null || regulation === void 0 ? void 0 : regulation.newGroupName) !== null && _c !== void 0 ? _c : "",
|
70
|
+
groupIds: (_d = regulation === null || regulation === void 0 ? void 0 : regulation.groupIds) !== null && _d !== void 0 ? _d : []
|
71
|
+
}
|
72
|
+
}));
|
73
|
+
// check response status
|
74
|
+
if (responseUtils_1.ResponseUtils.isFail(response)) {
|
75
|
+
await responseUtils_1.ResponseUtils.throwError(`Failed to create workspace, in organization: ${this.organization.id}`, response);
|
76
|
+
}
|
77
|
+
// parse workspace from the server's response
|
78
|
+
const content = (await response.json()).workspace;
|
79
|
+
// create workspace implementation
|
80
|
+
const workspace = new workspace_impl_1.WorkspaceImpl(this.organization, this.context);
|
81
|
+
await workspace.initFrom(content);
|
82
|
+
// add workspace to the collection
|
83
|
+
this._workspaces.push(workspace);
|
84
|
+
// dispatch event
|
85
|
+
this.dispatch({
|
86
|
+
type: workspaces_1.WorkspacesEvent.ADDED,
|
87
|
+
data: workspace
|
88
|
+
});
|
89
|
+
return workspace;
|
90
|
+
}
|
91
|
+
/**
|
92
|
+
* Delete workspace.
|
93
|
+
* @param id
|
94
|
+
*/
|
95
|
+
async delete(id) {
|
96
|
+
var _a;
|
97
|
+
// get workspace by id
|
98
|
+
const workspace = this.tryGet(id);
|
99
|
+
// check if workspace is found
|
100
|
+
if (!workspace) {
|
101
|
+
throw new Error(`Workspace ${id} is not found`);
|
102
|
+
}
|
103
|
+
// check if workspace is already marked as deleted
|
104
|
+
if (workspace.isMarkAsDeleted) {
|
105
|
+
throw new Error(`Workspace ${id} is already marked as deleted, in organization: ${this.organization.id}`);
|
106
|
+
}
|
107
|
+
// mark workspace as deleted
|
108
|
+
workspace.markToDelete();
|
109
|
+
// send delete request to the server
|
110
|
+
const response = await ((_a = this.context
|
111
|
+
.resolve(rpcService_1.RpcService)) === null || _a === void 0 ? void 0 : _a.requestBuilder("api/v1/Workspaces").searchParam("id", id).sendDelete());
|
112
|
+
// check response status
|
113
|
+
if (responseUtils_1.ResponseUtils.isFail(response)) {
|
114
|
+
await responseUtils_1.ResponseUtils.throwError(`Failed to delete workspace: ${workspace.organization.name}/${workspace.name}:${id}, in organization: ${this.organization.id}`, response);
|
115
|
+
}
|
116
|
+
// remove workspace from the collection
|
117
|
+
const index = this._workspaces.indexOf(workspace);
|
118
|
+
if (index < 0) {
|
119
|
+
throw new Error(`Workspace ${id} is not found`);
|
120
|
+
}
|
121
|
+
this._workspaces.splice(index, 1);
|
122
|
+
// dispatch event
|
123
|
+
this.dispatch({
|
124
|
+
type: workspaces_1.WorkspacesEvent.REMOVED,
|
125
|
+
data: workspace
|
126
|
+
});
|
127
|
+
}
|
128
|
+
async initFrom(organizationId) {
|
129
|
+
var _a;
|
130
|
+
// init workspaces from the server's response
|
131
|
+
const response = await ((_a = this.context
|
132
|
+
.resolve(rpcService_1.RpcService)) === null || _a === void 0 ? void 0 : _a.requestBuilder("api/v1/Organizations").searchParam("id", organizationId).sendGet());
|
133
|
+
// check response status
|
134
|
+
if (responseUtils_1.ResponseUtils.isFail(response)) {
|
135
|
+
await responseUtils_1.ResponseUtils.throwError(`Failed to fetch workspaces in organization: ${organizationId}`, response);
|
136
|
+
}
|
137
|
+
// parse workspaces from the server's response
|
138
|
+
const workspaces = (await response.json())
|
139
|
+
.workspaces;
|
140
|
+
// init workspaces from the server's response
|
141
|
+
for (const workspace of workspaces) {
|
142
|
+
// create workspace implementation
|
143
|
+
const workspaceImpl = new workspace_impl_1.WorkspaceImpl(this.organization, this.context);
|
144
|
+
// init workspace from the server's response
|
145
|
+
await workspaceImpl.initFrom(workspace);
|
146
|
+
// add workspace to the collection
|
147
|
+
this._workspaces.push(workspaceImpl);
|
148
|
+
// dispatch event
|
149
|
+
this.dispatch({
|
150
|
+
type: workspaces_1.WorkspacesEvent.ADDED,
|
151
|
+
data: workspaceImpl
|
152
|
+
});
|
153
|
+
}
|
154
|
+
}
|
155
|
+
}
|
156
|
+
exports.WorkspacesImpl = WorkspacesImpl;
|
157
|
+
//# sourceMappingURL=workspaces.impl.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"workspaces.impl.js","sourceRoot":"","sources":["../../../../src/storages/workspaces/workspaces.impl.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,19 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.Workspaces = exports.WorkspacesEvent = void 0;
|
4
|
+
const events_1 = require("../../events");
|
5
|
+
/**
|
6
|
+
* Workspaces event.
|
7
|
+
*/
|
8
|
+
var WorkspacesEvent;
|
9
|
+
(function (WorkspacesEvent) {
|
10
|
+
WorkspacesEvent["ADDED"] = "added";
|
11
|
+
WorkspacesEvent["REMOVED"] = "removed";
|
12
|
+
})(WorkspacesEvent || (exports.WorkspacesEvent = WorkspacesEvent = {}));
|
13
|
+
/**
|
14
|
+
* Organization's workspaces.
|
15
|
+
*/
|
16
|
+
class Workspaces extends events_1.EventDispatcher {
|
17
|
+
}
|
18
|
+
exports.Workspaces = Workspaces;
|
19
|
+
//# sourceMappingURL=workspaces.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"workspaces.js","sourceRoot":"","sources":["../../../../src/storages/workspaces/workspaces.ts"],"names":[],"mappings":";;;AAAA,yCAA8C;AAK9C;;GAEG;AACH,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,kCAAe,CAAA;IACf,sCAAmB,CAAA;AACrB,CAAC,EAHW,eAAe,+BAAf,eAAe,QAG1B;AAED;;GAEG;AACH,MAAsB,UAAW,SAAQ,wBAGxC;CAiCA;AApCD,gCAoCC"}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
export declare enum UnitTest {
|
2
|
+
DO_NOTHING = 0,
|
3
|
+
DO_NOT_START = 1,
|
4
|
+
DO_NOT_PRINT_INITIALIZED_LOG = 2,
|
5
|
+
DEFAULT = 3
|
6
|
+
}
|
7
|
+
export type UnitTestProfileSyncAction = () => void;
|
8
|
+
export type UnitTestProfileAsyncAction = () => Promise<void>;
|
9
|
+
export declare const appTest: (unitTest: UnitTest | undefined, func: UnitTestProfileSyncAction | UnitTestProfileAsyncAction) => Promise<void>;
|
10
|
+
export declare const appTestCurrent: () => UnitTest;
|
11
|
+
export declare const isUnitTest: (mask: UnitTest) => boolean;
|
12
|
+
//# sourceMappingURL=unitTest.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"unitTest.d.ts","sourceRoot":"","sources":["../../src/unitTest.ts"],"names":[],"mappings":"AAAA,oBAAY,QAAQ;IAClB,UAAU,IAAI;IACd,YAAY,IAAS;IACrB,4BAA4B,IAAS;IAErC,OAAO,IAA8C;CACtD;AAED,MAAM,MAAM,yBAAyB,GAAG,MAAM,IAAI,CAAA;AAClD,MAAM,MAAM,0BAA0B,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;AA8B5D,eAAO,MAAM,OAAO,yCAEZ,yBAAyB,GAAG,0BAA0B,KAC3D,QAAQ,IAAI,CAEd,CAAA;AAED,eAAO,MAAM,cAAc,QAAO,QAEjC,CAAA;AAED,eAAO,MAAM,UAAU,SAAU,QAAQ,KAAG,OAE3C,CAAA"}
|
@@ -0,0 +1,44 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.isUnitTest = exports.appTestCurrent = exports.appTest = exports.UnitTest = void 0;
|
4
|
+
var UnitTest;
|
5
|
+
(function (UnitTest) {
|
6
|
+
UnitTest[UnitTest["DO_NOTHING"] = 0] = "DO_NOTHING";
|
7
|
+
UnitTest[UnitTest["DO_NOT_START"] = 1] = "DO_NOT_START";
|
8
|
+
UnitTest[UnitTest["DO_NOT_PRINT_INITIALIZED_LOG"] = 2] = "DO_NOT_PRINT_INITIALIZED_LOG";
|
9
|
+
UnitTest[UnitTest["DEFAULT"] = 3] = "DEFAULT";
|
10
|
+
})(UnitTest || (exports.UnitTest = UnitTest = {}));
|
11
|
+
class AppSdkUnitTest {
|
12
|
+
static get current() {
|
13
|
+
return this._stack[this._stack.length - 1];
|
14
|
+
}
|
15
|
+
static async test(unitTest = UnitTest.DEFAULT, func) {
|
16
|
+
this._stack.push(unitTest);
|
17
|
+
if (func) {
|
18
|
+
const result = func();
|
19
|
+
if (result) {
|
20
|
+
await result;
|
21
|
+
}
|
22
|
+
AppSdkUnitTest.end();
|
23
|
+
}
|
24
|
+
}
|
25
|
+
static end() {
|
26
|
+
if (this._stack.length > 1) {
|
27
|
+
this._stack.pop();
|
28
|
+
}
|
29
|
+
}
|
30
|
+
}
|
31
|
+
AppSdkUnitTest._stack = [UnitTest.DO_NOTHING];
|
32
|
+
const appTest = async (unitTest = UnitTest.DEFAULT, func) => {
|
33
|
+
await AppSdkUnitTest.test(unitTest, func);
|
34
|
+
};
|
35
|
+
exports.appTest = appTest;
|
36
|
+
const appTestCurrent = () => {
|
37
|
+
return AppSdkUnitTest.current;
|
38
|
+
};
|
39
|
+
exports.appTestCurrent = appTestCurrent;
|
40
|
+
const isUnitTest = (mask) => {
|
41
|
+
return (AppSdkUnitTest.current & mask) == mask;
|
42
|
+
};
|
43
|
+
exports.isUnitTest = isUnitTest;
|
44
|
+
//# sourceMappingURL=unitTest.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"unitTest.js","sourceRoot":"","sources":["../../src/unitTest.ts"],"names":[],"mappings":";;;AAAA,IAAY,QAMX;AAND,WAAY,QAAQ;IAClB,mDAAc,CAAA;IACd,uDAAqB,CAAA;IACrB,uFAAqC,CAAA;IAErC,6CAAqD,CAAA;AACvD,CAAC,EANW,QAAQ,wBAAR,QAAQ,QAMnB;AAKD,MAAM,cAAc;IAGX,MAAM,KAAK,OAAO;QACvB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAC5C,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,IAAI,CACtB,WAAqB,QAAQ,CAAC,OAAO,EACrC,IAA4D;QAE5D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC1B,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,MAAM,GAAG,IAAI,EAAE,CAAA;YACrB,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,MAAM,CAAA;YACd,CAAC;YACD,cAAc,CAAC,GAAG,EAAE,CAAA;QACtB,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,GAAG;QAChB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAA;QACnB,CAAC;IACH,CAAC;;AAxBc,qBAAM,GAAe,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;AA2BpD,MAAM,OAAO,GAAG,KAAK,EAC1B,WAAqB,QAAQ,CAAC,OAAO,EACrC,IAA4D,EAC7C,EAAE;IACjB,MAAM,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;AAC3C,CAAC,CAAA;AALY,QAAA,OAAO,WAKnB;AAEM,MAAM,cAAc,GAAG,GAAa,EAAE;IAC3C,OAAO,cAAc,CAAC,OAAO,CAAA;AAC/B,CAAC,CAAA;AAFY,QAAA,cAAc,kBAE1B;AAEM,MAAM,UAAU,GAAG,CAAC,IAAc,EAAW,EAAE;IACpD,OAAO,CAAC,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,CAAA;AAChD,CAAC,CAAA;AAFY,QAAA,UAAU,cAEtB"}
|
package/index.d.ts
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
export * from "./src/index"
|
package/index.js
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
module.exports = require("./src/index")
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@neuralinnovations/dataisland-sdk",
|
3
|
-
"version": "0.0.1-
|
3
|
+
"version": "0.0.1-dev20",
|
4
4
|
"description": "SDK for DataIsland project",
|
5
5
|
"licenses": [
|
6
6
|
{
|
@@ -8,16 +8,54 @@
|
|
8
8
|
"url": "https://www.apache.org/licenses/LICENSE-2.0.html"
|
9
9
|
}
|
10
10
|
],
|
11
|
+
"repository": {
|
12
|
+
"type": "git",
|
13
|
+
"url": "https://github.com/NeuralInnovations/dataisland-client-js-sdk.git"
|
14
|
+
},
|
11
15
|
"publishConfig": {
|
12
16
|
"access": "public"
|
13
17
|
},
|
18
|
+
"exports": {
|
19
|
+
".": "./dist/index.js"
|
20
|
+
},
|
21
|
+
"main": "dist/index.js",
|
22
|
+
"types": "dist/index.d.ts",
|
23
|
+
"browser": "dist/index.js",
|
24
|
+
"directories": {
|
25
|
+
"test": "test"
|
26
|
+
},
|
27
|
+
"files": [
|
28
|
+
"dist",
|
29
|
+
"src",
|
30
|
+
"index.js",
|
31
|
+
"index.d.ts"
|
32
|
+
],
|
33
|
+
"engines": {
|
34
|
+
"node": ">=16"
|
35
|
+
},
|
14
36
|
"scripts": {
|
15
37
|
"build": "tsc",
|
16
|
-
"test": "jest",
|
17
|
-
"lint": "eslint --ext .ts,.tsx src"
|
38
|
+
"test": "jest --runInBand",
|
39
|
+
"lint": "eslint --ext .ts,.tsx src test",
|
40
|
+
"lint:fix": "eslint --fix --ext .ts,.tsx src test",
|
41
|
+
"docs": "typedoc --disableSources --includeVersion --plugin typedoc-plugin-markdown --out docs src/index.ts && node scripts/docs/index.js",
|
42
|
+
"version-up-dev": "node scripts/version/up-dev.js && rm package-lock.json && npm install && npm run build && npm run lint:fix && npm run docs",
|
43
|
+
"release": "rm package-lock.json && npm install && npm run build && npm run lint:fix && npm run docs"
|
18
44
|
},
|
45
|
+
"keywords": [
|
46
|
+
"dataisland",
|
47
|
+
"sdk",
|
48
|
+
"neuralinnovations",
|
49
|
+
"neural innovations",
|
50
|
+
"neural-innovations",
|
51
|
+
"neural"
|
52
|
+
],
|
19
53
|
"author": "Neural Innovations LTD",
|
20
54
|
"license": "Apache-2.0",
|
55
|
+
"bugs": {
|
56
|
+
"url": "https://github.com/NeuralInnovations/dataisland-client-js-sdk/issues"
|
57
|
+
},
|
58
|
+
"homepage": "https://github.com/NeuralInnovations/dataisland-client-js-sdk#readme",
|
21
59
|
"devDependencies": {
|
22
60
|
"@babel/core": "^7.22.11",
|
23
61
|
"@babel/plugin-transform-modules-commonjs": "7.22.11",
|
@@ -49,6 +87,7 @@
|
|
49
87
|
"tslib": "^2.6.2",
|
50
88
|
"tslint": "6.1.3",
|
51
89
|
"typedoc": "^0.25.7",
|
90
|
+
"typedoc-plugin-markdown": "^3.17.1",
|
52
91
|
"typescript": "^5.3.3",
|
53
92
|
"watch": "^0.13.0",
|
54
93
|
"webpack": "5.76.0",
|
@@ -58,4 +97,4 @@
|
|
58
97
|
"dotenv": "^16.3.2",
|
59
98
|
"jsdom": "^23.2.0"
|
60
99
|
}
|
61
|
-
}
|
100
|
+
}
|
package/src/appBuilder.ts
CHANGED
@@ -1,9 +1,9 @@
|
|
1
|
-
import type { Middleware } from
|
2
|
-
import type { CredentialBase } from
|
3
|
-
import type { Service, ServiceContext } from
|
4
|
-
import type { Constructor } from
|
5
|
-
import { CommandHandler, Command } from
|
6
|
-
import { Context } from
|
1
|
+
import type { Middleware } from "./middleware"
|
2
|
+
import type { CredentialBase } from "./credentials"
|
3
|
+
import type { Service, ServiceContext } from "./services/service"
|
4
|
+
import type { Constructor } from "./internal/registry"
|
5
|
+
import { CommandHandler, Command } from "./services/commandService"
|
6
|
+
import { Context } from "./context"
|
7
7
|
|
8
8
|
/**
|
9
9
|
* DataIsland App builder.
|
@@ -1,5 +1,5 @@
|
|
1
|
-
import { CommandHandler, Command } from
|
2
|
-
import { UserProfileService } from
|
1
|
+
import { CommandHandler, Command } from "../services/commandService"
|
2
|
+
import { UserProfileService } from "../services/userProfileService"
|
3
3
|
|
4
4
|
export class StartCommand extends Command {}
|
5
5
|
|
package/src/context.ts
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
import { type Constructor, type Registry } from
|
2
|
-
import { type Lifetime } from
|
3
|
-
import { Command, CommandService } from
|
1
|
+
import { type Constructor, type Registry } from "./internal/registry"
|
2
|
+
import { type Lifetime } from "./disposable"
|
3
|
+
import { Command, CommandService } from "./services/commandService"
|
4
4
|
|
5
5
|
/**
|
6
6
|
* DataIsland App context.
|
@@ -10,7 +10,8 @@ export class Context {
|
|
10
10
|
private readonly registry: Registry,
|
11
11
|
public readonly lifetime: Lifetime,
|
12
12
|
public readonly appName: string
|
13
|
-
) {
|
13
|
+
) {
|
14
|
+
}
|
14
15
|
|
15
16
|
/**
|
16
17
|
* Resolve a service from the context.
|
package/src/credentials.ts
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
import { MiddlewareService } from
|
2
|
-
import { type Lifetime } from
|
3
|
-
import { type Context } from
|
1
|
+
import { MiddlewareService } from "./services/middlewareService"
|
2
|
+
import { type Lifetime } from "./disposable"
|
3
|
+
import { type Context } from "./context"
|
4
4
|
|
5
5
|
/**
|
6
6
|
* DataIsland App credential.
|
@@ -29,11 +29,33 @@ export class BasicCredential extends CredentialBase {
|
|
29
29
|
onRegister(lifetime: Lifetime, context: Context): void {
|
30
30
|
const service = context.resolve(MiddlewareService)
|
31
31
|
if (service === undefined) {
|
32
|
-
throw new Error(
|
32
|
+
throw new Error("MiddlewareService is not registered.")
|
33
33
|
}
|
34
34
|
lifetime.add(
|
35
35
|
service.useMiddleware(async (req, next) => {
|
36
|
-
req.headers.set(
|
36
|
+
req.headers.set("Authorization", `Basic ${this.email}:${this.password}`)
|
37
|
+
return await next(req)
|
38
|
+
})
|
39
|
+
)
|
40
|
+
}
|
41
|
+
}
|
42
|
+
|
43
|
+
export class DebugCredential extends CredentialBase {
|
44
|
+
readonly token: string
|
45
|
+
|
46
|
+
constructor(token: string) {
|
47
|
+
super()
|
48
|
+
this.token = token
|
49
|
+
}
|
50
|
+
|
51
|
+
onRegister(lifetime: Lifetime, context: Context): void {
|
52
|
+
const service = context.resolve(MiddlewareService)
|
53
|
+
if (service === undefined) {
|
54
|
+
throw new Error("MiddlewareService is not registered.")
|
55
|
+
}
|
56
|
+
lifetime.add(
|
57
|
+
service.useMiddleware(async (req, next) => {
|
58
|
+
req.headers.set("Authorization", `Debug ${this.token}`)
|
37
59
|
return await next(req)
|
38
60
|
})
|
39
61
|
)
|
@@ -51,11 +73,11 @@ export class BearerCredential extends CredentialBase {
|
|
51
73
|
onRegister(lifetime: Lifetime, context: Context): void {
|
52
74
|
const service = context.resolve(MiddlewareService)
|
53
75
|
if (service === undefined) {
|
54
|
-
throw new Error(
|
76
|
+
throw new Error("MiddlewareService is not registered.")
|
55
77
|
}
|
56
78
|
lifetime.add(
|
57
79
|
service.useMiddleware(async (req, next) => {
|
58
|
-
req.headers.set(
|
80
|
+
req.headers.set("Authorization", `Bearer ${this.token}`)
|
59
81
|
return await next(req)
|
60
82
|
})
|
61
83
|
)
|
@@ -1,14 +1,14 @@
|
|
1
|
-
import type { Lifetime } from
|
2
|
-
import type { CredentialBase } from
|
3
|
-
import { Context } from
|
4
|
-
import type { Constructor } from
|
5
|
-
import { Organizations } from
|
6
|
-
import { UserProfile } from
|
1
|
+
import type { Lifetime } from "./disposable"
|
2
|
+
import type { CredentialBase } from "./credentials"
|
3
|
+
import { Context } from "./context"
|
4
|
+
import type { Constructor } from "./internal/registry"
|
5
|
+
import { Organizations } from "./storages/organizations/organizations"
|
6
|
+
import { UserProfile } from "./storages/user/userProfile"
|
7
7
|
|
8
8
|
/**
|
9
9
|
* DataIsland App instance.
|
10
10
|
*/
|
11
|
-
export abstract class
|
11
|
+
export abstract class DataIslandApp {
|
12
12
|
/**
|
13
13
|
* The name of this app.
|
14
14
|
*/
|
package/src/disposable.ts
CHANGED
@@ -9,7 +9,8 @@ export interface Disposable {
|
|
9
9
|
* Represents a lifetime.
|
10
10
|
*/
|
11
11
|
export class Lifetime {
|
12
|
-
constructor(private readonly container: DisposableContainer) {
|
12
|
+
constructor(private readonly container: DisposableContainer) {
|
13
|
+
}
|
13
14
|
|
14
15
|
/**
|
15
16
|
* Define a new nested disposable to this lifetime.
|
@@ -76,7 +77,8 @@ export class DisposableContainer implements Disposable {
|
|
76
77
|
* @returns The disposable container.
|
77
78
|
*/
|
78
79
|
public add(disposable: Disposable): Disposable {
|
79
|
-
this._throwIfDisposed()
|
80
|
+
this._throwIfDisposed("Cannot add disposable to disposed container.")
|
81
|
+
|
80
82
|
this._disposables.push(disposable)
|
81
83
|
return disposable
|
82
84
|
}
|
@@ -88,7 +90,8 @@ export class DisposableContainer implements Disposable {
|
|
88
90
|
* @returns The disposable container.
|
89
91
|
*/
|
90
92
|
public addCallback(callback: () => void, target?: unknown): Disposable {
|
91
|
-
this._throwIfDisposed()
|
93
|
+
this._throwIfDisposed("Cannot add callback to disposed container.")
|
94
|
+
|
92
95
|
return this.add({
|
93
96
|
dispose() {
|
94
97
|
callback.call(target)
|
@@ -100,6 +103,8 @@ export class DisposableContainer implements Disposable {
|
|
100
103
|
* Defines a nested disposable container.
|
101
104
|
*/
|
102
105
|
defineNested(): DisposableContainer {
|
106
|
+
this._throwIfDisposed("Cannot define nested disposable for disposed container.")
|
107
|
+
|
103
108
|
const nested = new DisposableContainer()
|
104
109
|
this._disposables.push(nested)
|
105
110
|
nested.addCallback(() => {
|
@@ -115,23 +120,32 @@ export class DisposableContainer implements Disposable {
|
|
115
120
|
* Disposes all disposables in this container. Last added, first disposed.
|
116
121
|
*/
|
117
122
|
public dispose(): void {
|
118
|
-
|
123
|
+
// return if already disposed
|
124
|
+
if (this._isDisposed) {
|
125
|
+
return
|
126
|
+
}
|
127
|
+
|
128
|
+
// mark as disposed
|
119
129
|
this._isDisposed = true
|
130
|
+
|
131
|
+
// dispose all disposables
|
120
132
|
this._disposables
|
121
133
|
.slice()
|
122
134
|
.reverse()
|
123
135
|
.forEach(it => {
|
124
136
|
it.dispose()
|
125
137
|
})
|
138
|
+
|
139
|
+
// clear disposables
|
126
140
|
this._disposables = []
|
127
141
|
}
|
128
142
|
|
129
143
|
/**
|
130
144
|
* Throws an error if this container is disposed.
|
131
145
|
*/
|
132
|
-
private _throwIfDisposed(): void {
|
146
|
+
private _throwIfDisposed(message: string): void {
|
133
147
|
if (this._isDisposed) {
|
134
|
-
throw new Error(
|
148
|
+
throw new Error("Object disposed, but you try to use it: " + message)
|
135
149
|
}
|
136
150
|
}
|
137
151
|
}
|
@@ -147,5 +161,3 @@ export function disposable(action: () => void, target: unknown): Disposable {
|
|
147
161
|
action.call(target)
|
148
162
|
})
|
149
163
|
}
|
150
|
-
|
151
|
-
export const eternalLifetime = new DisposableContainer().lifetime
|
@@ -0,0 +1,35 @@
|
|
1
|
+
import { UserDto } from "./userInfoResponse"
|
2
|
+
|
3
|
+
|
4
|
+
export interface PermitsDto {
|
5
|
+
isAdmin: boolean;
|
6
|
+
}
|
7
|
+
|
8
|
+
export interface RegulationDto {
|
9
|
+
isRegulateOrganization: boolean;
|
10
|
+
regulateWorkspaceIds: string[];
|
11
|
+
}
|
12
|
+
|
13
|
+
export interface AccessGroupDto {
|
14
|
+
id: string;
|
15
|
+
name: string;
|
16
|
+
type: number;
|
17
|
+
createdAt: number;
|
18
|
+
modifiedAt: number;
|
19
|
+
organizationId: string;
|
20
|
+
permits: PermitsDto;
|
21
|
+
regulation: RegulationDto;
|
22
|
+
membersCount: number;
|
23
|
+
}
|
24
|
+
|
25
|
+
export interface AccessGroupResponse {
|
26
|
+
group: AccessGroupDto;
|
27
|
+
members: UserDto[];
|
28
|
+
}
|
29
|
+
|
30
|
+
export interface AccessGroupsResponse {
|
31
|
+
groups: AccessGroupDto[];
|
32
|
+
}
|
33
|
+
|
34
|
+
|
35
|
+
|