@neuralinnovations/dataisland-sdk 0.0.1-dev3 → 0.0.1-dev30
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 +294 -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 +103 -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/deleteUserFullCommandHandler.d.ts +7 -0
- package/dist/src/commands/deleteUserFullCommandHandler.d.ts.map +1 -0
- package/dist/src/commands/deleteUserFullCommandHandler.js +21 -0
- package/dist/src/commands/deleteUserFullCommandHandler.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 +27 -0
- package/dist/src/commands/startCommandHandler.js.map +1 -0
- package/dist/src/context.d.ts +24 -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 +33 -0
- package/dist/src/credentials.d.ts.map +1 -0
- package/dist/src/credentials.js +87 -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 +81 -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 +43 -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 +65 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +110 -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 +173 -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 +6 -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/anonymousService.d.ts +8 -0
- package/dist/src/services/anonymousService.d.ts.map +1 -0
- package/dist/src/services/anonymousService.js +41 -0
- package/dist/src/services/anonymousService.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/cookieService.d.ts +7 -0
- package/dist/src/services/cookieService.d.ts.map +1 -0
- package/dist/src/services/cookieService.js +18 -0
- package/dist/src/services/cookieService.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/httpMethod.d.ts +2 -0
- package/dist/src/services/httpMethod.d.ts.map +1 -0
- package/dist/src/services/httpMethod.js +3 -0
- package/dist/src/services/httpMethod.js.map +1 -0
- package/dist/src/services/middlewareService.d.ts +10 -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 +105 -0
- package/dist/src/services/requestBuilder.js.map +1 -0
- package/dist/src/services/responseUtils.d.ts +7 -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 +9 -0
- package/dist/src/services/userProfileService.d.ts.map +1 -0
- package/dist/src/services/userProfileService.js +43 -0
- package/dist/src/services/userProfileService.js.map +1 -0
- package/dist/src/storages/chats/answer.d.ts +41 -0
- package/dist/src/storages/chats/answer.d.ts.map +1 -0
- package/dist/src/storages/chats/answer.impl.d.ts +29 -0
- package/dist/src/storages/chats/answer.impl.d.ts.map +1 -0
- package/dist/src/storages/chats/answer.impl.js +116 -0
- package/dist/src/storages/chats/answer.impl.js.map +1 -0
- package/dist/src/storages/chats/answer.js +15 -0
- package/dist/src/storages/chats/answer.js.map +1 -0
- package/dist/src/storages/chats/chat.d.ts +35 -0
- package/dist/src/storages/chats/chat.d.ts.map +1 -0
- package/dist/src/storages/chats/chat.impl.d.ts +23 -0
- package/dist/src/storages/chats/chat.impl.d.ts.map +1 -0
- package/dist/src/storages/chats/chat.impl.js +74 -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 +39 -0
- package/dist/src/storages/files/file.d.ts.map +1 -0
- package/dist/src/storages/files/file.impl.d.ts +23 -0
- package/dist/src/storages/files/file.impl.d.ts.map +1 -0
- package/dist/src/storages/files/file.impl.js +89 -0
- package/dist/src/storages/files/file.impl.js.map +1 -0
- package/dist/src/storages/files/file.js +17 -0
- package/dist/src/storages/files/file.js.map +1 -0
- package/dist/src/storages/files/files.d.ts +39 -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 +149 -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/group.d.ts +63 -0
- package/dist/src/storages/groups/group.d.ts.map +1 -0
- package/dist/src/storages/groups/group.impl.d.ts +38 -0
- package/dist/src/storages/groups/group.impl.d.ts.map +1 -0
- package/dist/src/storages/groups/group.impl.js +210 -0
- package/dist/src/storages/groups/group.impl.js.map +1 -0
- package/dist/src/storages/groups/group.js +15 -0
- package/dist/src/storages/groups/group.js.map +1 -0
- package/dist/src/storages/groups/groups.d.ts +39 -0
- package/dist/src/storages/groups/groups.d.ts.map +1 -0
- package/dist/src/storages/groups/groups.impl.d.ts +30 -0
- package/dist/src/storages/groups/groups.impl.d.ts.map +1 -0
- package/dist/src/storages/groups/groups.impl.js +132 -0
- package/dist/src/storages/groups/groups.impl.js.map +1 -0
- package/dist/src/storages/groups/groups.js +20 -0
- package/dist/src/storages/groups/groups.js.map +1 -0
- package/dist/src/storages/organizations/organization.d.ts +55 -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 +157 -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 +36 -0
- package/dist/src/storages/user/userProfile.d.ts.map +1 -0
- package/dist/src/storages/user/userProfile.impl.d.ts +14 -0
- package/dist/src/storages/user/userProfile.impl.d.ts.map +1 -0
- package/dist/src/storages/user/userProfile.impl.js +57 -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 +159 -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/dist/src/utils/browserUtils.d.ts +4 -0
- package/dist/src/utils/browserUtils.d.ts.map +1 -0
- package/dist/src/utils/browserUtils.js +68 -0
- package/dist/src/utils/browserUtils.js.map +1 -0
- package/dist/src/utils/request.d.ts +6 -0
- package/dist/src/utils/request.d.ts.map +1 -0
- package/dist/src/utils/request.js +3 -0
- package/dist/src/utils/request.js.map +1 -0
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/package.json +46 -5
- package/src/commands/deleteUserFullCommandHandler.ts +19 -0
- package/src/commands/startCommandHandler.ts +16 -5
- package/src/context.ts +4 -2
- package/src/credentials.ts +22 -0
- package/src/{appSdk.ts → dataIslandApp.ts} +3 -3
- package/src/disposable.ts +20 -8
- package/src/dto/accessGroupResponse.ts +15 -16
- package/src/dto/chatResponse.ts +57 -54
- package/src/dto/userInfoResponse.ts +5 -2
- package/src/dto/workspacesResponse.ts +3 -3
- package/src/events.ts +12 -12
- package/src/index.ts +45 -10
- package/src/internal/app.impl.ts +47 -17
- package/src/internal/createApp.impl.ts +4 -4
- package/src/internal/registry.ts +54 -6
- package/src/middleware.ts +2 -0
- package/src/services/anonymousService.ts +43 -0
- package/src/services/commandService.ts +4 -2
- package/src/services/cookieService.ts +16 -0
- package/src/services/httpMethod.ts +1 -0
- package/src/services/middlewareService.ts +2 -1
- package/src/services/organizationService.ts +2 -2
- package/src/services/requestBuilder.ts +42 -15
- package/src/services/responseUtils.ts +2 -0
- package/src/services/rpcService.ts +24 -6
- package/src/services/service.ts +7 -5
- package/src/services/userProfileService.ts +16 -2
- package/src/storages/chats/answer.impl.ts +160 -0
- package/src/storages/chats/answer.ts +53 -0
- package/src/storages/chats/chat.impl.ts +95 -0
- package/src/storages/chats/chat.ts +45 -0
- package/src/storages/chats/chats.impl.ts +144 -0
- package/src/storages/chats/chats.ts +47 -0
- package/src/storages/files/file.impl.ts +113 -0
- package/src/storages/files/file.ts +49 -0
- package/src/storages/{files.impl.ts → files/files.impl.ts} +70 -61
- package/src/storages/files/files.ts +43 -0
- package/src/storages/files/filesPage.impl.ts +37 -0
- package/src/storages/files/filesPage.ts +33 -0
- package/src/storages/groups/group.impl.ts +276 -0
- package/src/storages/groups/group.ts +73 -0
- package/src/storages/groups/groups.impl.ts +175 -0
- package/src/storages/groups/groups.ts +45 -0
- package/src/storages/organizations/organization.impl.ts +165 -0
- package/src/storages/organizations/organization.ts +67 -0
- package/src/storages/{organizations.impl.ts → organizations/organizations.impl.ts} +30 -13
- package/src/storages/{organizations.ts → organizations/organizations.ts} +1 -1
- package/src/storages/{userProfile.impl.ts → user/userProfile.impl.ts} +8 -1
- package/src/storages/{userProfile.ts → user/userProfile.ts} +6 -1
- package/src/storages/{workspace.impl.ts → workspaces/workspace.impl.ts} +28 -8
- package/src/storages/{workspace.ts → workspaces/workspace.ts} +13 -2
- package/src/storages/{workspaces.impl.ts → workspaces/workspaces.impl.ts} +18 -13
- package/src/storages/{workspaces.ts → workspaces/workspaces.ts} +6 -2
- package/src/unitTest.ts +14 -3
- package/src/utils/browserUtils.ts +72 -0
- package/src/utils/request.ts +6 -0
- package/.browserslistrc +0 -5
- package/.editorconfig +0 -25
- 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/storages/chat.ts +0 -37
- package/src/storages/file.impl.ts +0 -68
- package/src/storages/files.ts +0 -67
- package/src/storages/groups.impl.ts +0 -337
- package/src/storages/groups.ts +0 -43
- package/src/storages/organization.impl.ts +0 -68
- package/src/storages/organization.ts +0 -33
- 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 -225
- 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/test_file.pdf +0 -0
- package/tsconfig.json +0 -31
@@ -0,0 +1,38 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.FilesPageImpl = void 0;
|
4
|
+
const filesPage_1 = require("./filesPage");
|
5
|
+
class FilesPageImpl extends filesPage_1.FilesPage {
|
6
|
+
constructor() {
|
7
|
+
super(...arguments);
|
8
|
+
this._isDisposed = false;
|
9
|
+
this.files = [];
|
10
|
+
this.total = 0;
|
11
|
+
this.filesPerPage = 0;
|
12
|
+
this.page = 0;
|
13
|
+
}
|
14
|
+
get pages() {
|
15
|
+
return Math.ceil(Math.max(this.total / this.filesPerPage, 1.0));
|
16
|
+
}
|
17
|
+
get isDisposed() {
|
18
|
+
return this._isDisposed;
|
19
|
+
}
|
20
|
+
dispose() {
|
21
|
+
this._isDisposed = true;
|
22
|
+
}
|
23
|
+
equals(other) {
|
24
|
+
if (other === undefined)
|
25
|
+
return false;
|
26
|
+
if (other === null)
|
27
|
+
return false;
|
28
|
+
if (other === this)
|
29
|
+
return true;
|
30
|
+
return (other.pages === this.pages &&
|
31
|
+
other.total === this.total &&
|
32
|
+
other.page === this.page &&
|
33
|
+
(other.files === this.files ||
|
34
|
+
other.files.every((file, index) => file.id === this.files[index].id)));
|
35
|
+
}
|
36
|
+
}
|
37
|
+
exports.FilesPageImpl = FilesPageImpl;
|
38
|
+
//# sourceMappingURL=filesPage.impl.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"filesPage.impl.js","sourceRoot":"","sources":["../../../../src/storages/files/filesPage.impl.ts"],"names":[],"mappings":";;;AAAA,2CAAuC;AAIvC,MAAa,aAAc,SAAQ,qBAAS;IAA5C;;QACU,gBAAW,GAAY,KAAK,CAAA;QAE7B,UAAK,GAAW,EAAE,CAAA;QAClB,UAAK,GAAW,CAAC,CAAA;QACjB,iBAAY,GAAW,CAAC,CAAA;QACxB,SAAI,GAAW,CAAC,CAAA;IA0BzB,CAAC;IAxBC,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,CAAA;IACjE,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAA;IACzB,CAAC;IAED,OAAO;QACL,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA;IACzB,CAAC;IAED,MAAM,CAAC,KAAwB;QAC7B,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,KAAK,CAAA;QACrC,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,KAAK,CAAA;QAChC,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,IAAI,CAAA;QAC/B,OAAO,CACL,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK;YAC1B,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK;YAC1B,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI;YACxB,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK;gBACzB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CACxE,CAAA;IACH,CAAC;CACF;AAhCD,sCAgCC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"filesPage.js","sourceRoot":"","sources":["../../../../src/storages/files/filesPage.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACH,MAAsB,SAAS;CA2B9B;AA3BD,8BA2BC"}
|
@@ -0,0 +1,63 @@
|
|
1
|
+
import { EventDispatcher } from "../../events";
|
2
|
+
import { AccessGroupDto } from "../../dto/accessGroupResponse";
|
3
|
+
import { UserDto } from "../../dto/userInfoResponse";
|
4
|
+
import { Workspace } from "../workspaces/workspace";
|
5
|
+
import { WorkspaceId } from "../workspaces/workspaces";
|
6
|
+
import { UserId } from "../user/userProfile";
|
7
|
+
/**
|
8
|
+
* Group id.
|
9
|
+
*/
|
10
|
+
export type GroupId = string;
|
11
|
+
export declare enum GroupEvent {
|
12
|
+
UPDATED = "updated"
|
13
|
+
}
|
14
|
+
/**
|
15
|
+
* Group.
|
16
|
+
*/
|
17
|
+
export declare abstract class Group extends EventDispatcher<GroupEvent, Group> {
|
18
|
+
/**
|
19
|
+
* Group id.
|
20
|
+
*/
|
21
|
+
abstract get id(): GroupId;
|
22
|
+
/**
|
23
|
+
* Group information.
|
24
|
+
*/
|
25
|
+
abstract get group(): AccessGroupDto;
|
26
|
+
/**
|
27
|
+
* Group members.
|
28
|
+
*/
|
29
|
+
abstract get members(): UserDto[];
|
30
|
+
/**
|
31
|
+
* Group workspaces.
|
32
|
+
*/
|
33
|
+
abstract get workspaces(): readonly Workspace[];
|
34
|
+
/**
|
35
|
+
* Set workspaces.
|
36
|
+
*/
|
37
|
+
abstract setWorkspaces(workspaces: WorkspaceId[]): Promise<void>;
|
38
|
+
/**
|
39
|
+
* Set name.
|
40
|
+
*/
|
41
|
+
abstract setName(name: string): Promise<void>;
|
42
|
+
/**
|
43
|
+
* Set permits.
|
44
|
+
*/
|
45
|
+
abstract setPermits(permits: {
|
46
|
+
isAdmin: boolean;
|
47
|
+
}): Promise<void>;
|
48
|
+
/**
|
49
|
+
* Set members.
|
50
|
+
*/
|
51
|
+
abstract setMembersIds(members: UserId[]): Promise<void>;
|
52
|
+
/**
|
53
|
+
* Remove members.
|
54
|
+
* @param members
|
55
|
+
*/
|
56
|
+
abstract removeMembers(members: UserId[]): Promise<void>;
|
57
|
+
/**
|
58
|
+
* Remove workspaces.
|
59
|
+
* @param workspaces
|
60
|
+
*/
|
61
|
+
abstract removeWorkspaces(workspaces: WorkspaceId[]): Promise<void>;
|
62
|
+
}
|
63
|
+
//# sourceMappingURL=group.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"group.d.ts","sourceRoot":"","sources":["../../../../src/storages/groups/group.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAE5C;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG,MAAM,CAAA;AAE5B,oBAAY,UAAU;IACpB,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;IAExD;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,CAAC,UAAU,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CACpE"}
|
@@ -0,0 +1,38 @@
|
|
1
|
+
import { Group, GroupId } from "./group";
|
2
|
+
import { Disposable } from "../../disposable";
|
3
|
+
import { AccessGroupDto } from "../../dto/accessGroupResponse";
|
4
|
+
import { UserDto } from "../../dto/userInfoResponse";
|
5
|
+
import { Workspace } from "../workspaces/workspace";
|
6
|
+
import { Context } from "../../context";
|
7
|
+
import { Organization } from "../organizations/organization";
|
8
|
+
import { WorkspaceId } from "../workspaces/workspaces";
|
9
|
+
import { UserId } from "../user/userProfile";
|
10
|
+
export declare class GroupImpl extends Group implements Disposable {
|
11
|
+
private readonly context;
|
12
|
+
readonly organization: Organization;
|
13
|
+
private _isDisposed;
|
14
|
+
private _content?;
|
15
|
+
private _members?;
|
16
|
+
private _workspaces;
|
17
|
+
private _id?;
|
18
|
+
constructor(context: Context, organization: Organization);
|
19
|
+
initFrom(id: GroupId): Promise<Group>;
|
20
|
+
reloadGroup(id: GroupId): Promise<void>;
|
21
|
+
reloadWorkspaces(id: GroupId): Promise<void>;
|
22
|
+
loadWorkspaces(groupId: GroupId): Promise<Workspace[]>;
|
23
|
+
get id(): GroupId;
|
24
|
+
get group(): AccessGroupDto;
|
25
|
+
get workspaces(): readonly Workspace[];
|
26
|
+
get members(): UserDto[];
|
27
|
+
setName(name: string): Promise<void>;
|
28
|
+
setPermits(permits: {
|
29
|
+
isAdmin: boolean;
|
30
|
+
}): Promise<void>;
|
31
|
+
setWorkspaces(workspaces: string[]): Promise<void>;
|
32
|
+
removeWorkspaces(workspaces: WorkspaceId[]): Promise<void>;
|
33
|
+
setMembersIds(members: UserId[]): Promise<void>;
|
34
|
+
removeMembers(members: UserId[]): Promise<void>;
|
35
|
+
get isDisposed(): boolean;
|
36
|
+
dispose(): void;
|
37
|
+
}
|
38
|
+
//# sourceMappingURL=group.impl.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"group.impl.d.ts","sourceRoot":"","sources":["../../../../src/storages/groups/group.impl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAc,OAAO,EAAE,MAAM,SAAS,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EACL,cAAc,EAEf,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAI5D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAE5C,qBAAa,SAAU,SAAQ,KAAM,YAAW,UAAU;IAQtD,OAAO,CAAC,QAAQ,CAAC,OAAO;aACR,YAAY,EAAE,YAAY;IAR5C,OAAO,CAAC,WAAW,CAAiB;IACpC,OAAO,CAAC,QAAQ,CAAC,CAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,CAAW;IAC5B,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,GAAG,CAAC,CAAS;gBAGF,OAAO,EAAE,OAAO,EACjB,YAAY,EAAE,YAAY;IAKtC,QAAQ,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC;IAcrC,WAAW,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBvC,gBAAgB,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAM5C,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAuB5D,IAAI,EAAE,IAAI,OAAO,CAKhB;IAED,IAAI,KAAK,IAAI,cAAc,CAK1B;IAED,IAAI,UAAU,IAAI,SAAS,SAAS,EAAE,CAErC;IAED,IAAI,OAAO,IAAI,OAAO,EAAE,CAKvB;IAEK,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiCpC,UAAU,CAAC,OAAO,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAexD,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BlD,gBAAgB,CAAC,UAAU,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAuB1D,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE;IA4B/B,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBrD,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,OAAO,IAAI,IAAI;CAGhB"}
|
@@ -0,0 +1,210 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.GroupImpl = void 0;
|
4
|
+
const group_1 = require("./group");
|
5
|
+
const rpcService_1 = require("../../services/rpcService");
|
6
|
+
const responseUtils_1 = require("../../services/responseUtils");
|
7
|
+
class GroupImpl extends group_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
|
+
// set id
|
17
|
+
this._id = id;
|
18
|
+
// reload group and workspaces
|
19
|
+
const groupPromise = this.reloadGroup(id);
|
20
|
+
const workspacePromise = this.reloadWorkspaces(id);
|
21
|
+
// wait for all promises
|
22
|
+
await Promise.all([groupPromise, workspacePromise]);
|
23
|
+
return this;
|
24
|
+
}
|
25
|
+
async reloadGroup(id) {
|
26
|
+
var _a;
|
27
|
+
// fetch group
|
28
|
+
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());
|
29
|
+
// check response status
|
30
|
+
if (responseUtils_1.ResponseUtils.isFail(response)) {
|
31
|
+
await responseUtils_1.ResponseUtils.throwError(`Failed to get group: ${id}, organization: ${this.organization.id}`, response);
|
32
|
+
}
|
33
|
+
// parse group from the server's response
|
34
|
+
const group = (await response.json());
|
35
|
+
// init group
|
36
|
+
this._content = group.group;
|
37
|
+
this._members = group.members;
|
38
|
+
}
|
39
|
+
async reloadWorkspaces(id) {
|
40
|
+
const groupWorkspaces = await this.loadWorkspaces(id);
|
41
|
+
this._workspaces.length = 0;
|
42
|
+
this._workspaces.push(...groupWorkspaces);
|
43
|
+
}
|
44
|
+
async loadWorkspaces(groupId) {
|
45
|
+
var _a;
|
46
|
+
// fetch workspaces
|
47
|
+
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());
|
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
|
+
// get workspaces
|
54
|
+
const result = [];
|
55
|
+
for (const workspaceDto of workspaces.workspaces) {
|
56
|
+
result.push(this.organization.workspaces.get(workspaceDto.id));
|
57
|
+
}
|
58
|
+
return result;
|
59
|
+
}
|
60
|
+
get id() {
|
61
|
+
if (this._id) {
|
62
|
+
return this._id;
|
63
|
+
}
|
64
|
+
throw new Error("Access group is not loaded.");
|
65
|
+
}
|
66
|
+
get group() {
|
67
|
+
if (this._content) {
|
68
|
+
return this._content;
|
69
|
+
}
|
70
|
+
throw new Error("Access group is not loaded.");
|
71
|
+
}
|
72
|
+
get workspaces() {
|
73
|
+
return this._workspaces;
|
74
|
+
}
|
75
|
+
get members() {
|
76
|
+
if (this._members) {
|
77
|
+
return this._members;
|
78
|
+
}
|
79
|
+
throw new Error("Access group is not loaded.");
|
80
|
+
}
|
81
|
+
async setName(name) {
|
82
|
+
var _a;
|
83
|
+
if (name === undefined || name === null) {
|
84
|
+
throw new Error("Groups change, name is undefined or null");
|
85
|
+
}
|
86
|
+
if (name.length === 0 || name.trim().length === 0) {
|
87
|
+
throw new Error("Groups change, name is empty");
|
88
|
+
}
|
89
|
+
// send request to the server
|
90
|
+
const response = await ((_a = this.context
|
91
|
+
.resolve(rpcService_1.RpcService)) === null || _a === void 0 ? void 0 : _a.requestBuilder("api/v1/AccessGroups/name").sendPutJson({
|
92
|
+
groupId: this.id,
|
93
|
+
name: name
|
94
|
+
}));
|
95
|
+
// check response status
|
96
|
+
if (responseUtils_1.ResponseUtils.isFail(response)) {
|
97
|
+
await responseUtils_1.ResponseUtils.throwError(`Failed to change group name, group: ${this.id}, organization: ${this.organization.id}`, response);
|
98
|
+
}
|
99
|
+
// change name
|
100
|
+
if (this._content) {
|
101
|
+
this._content.name = name;
|
102
|
+
}
|
103
|
+
// dispatch event
|
104
|
+
this.dispatch({
|
105
|
+
type: group_1.GroupEvent.UPDATED,
|
106
|
+
data: this
|
107
|
+
});
|
108
|
+
}
|
109
|
+
async setPermits(permits) {
|
110
|
+
var _a;
|
111
|
+
// send request to the server
|
112
|
+
const response = await ((_a = this.context
|
113
|
+
.resolve(rpcService_1.RpcService)) === null || _a === void 0 ? void 0 : _a.requestBuilder("api/v1/AccessGroups/permits").sendPutJson({
|
114
|
+
groupId: this.id,
|
115
|
+
permits: permits
|
116
|
+
}));
|
117
|
+
if (responseUtils_1.ResponseUtils.isFail(response)) {
|
118
|
+
await responseUtils_1.ResponseUtils.throwError(`Failed to change group permits, group: ${this.id}, organization: ${this.organization.id}`, response);
|
119
|
+
}
|
120
|
+
}
|
121
|
+
async setWorkspaces(workspaces) {
|
122
|
+
var _a;
|
123
|
+
if (workspaces === null || workspaces === undefined) {
|
124
|
+
throw new Error("Group add workspaces, workspaces is undefined or null");
|
125
|
+
}
|
126
|
+
// send request to the server
|
127
|
+
const response = await ((_a = this.context
|
128
|
+
.resolve(rpcService_1.RpcService)) === null || _a === void 0 ? void 0 : _a.requestBuilder("api/v1/AccessGroups/workspaces").sendPutJson({
|
129
|
+
groupId: this.id,
|
130
|
+
actualWorkspaceIds: workspaces
|
131
|
+
}));
|
132
|
+
if (responseUtils_1.ResponseUtils.isFail(response)) {
|
133
|
+
await responseUtils_1.ResponseUtils.throwError(`Failed to set workspaces for group: ${this.id}, organization: ${this.organization.id}`, response);
|
134
|
+
}
|
135
|
+
// reload workspaces
|
136
|
+
await this.reloadWorkspaces(this.id);
|
137
|
+
// dispatch event
|
138
|
+
this.dispatch({
|
139
|
+
type: group_1.GroupEvent.UPDATED,
|
140
|
+
data: this
|
141
|
+
});
|
142
|
+
}
|
143
|
+
async removeWorkspaces(workspaces) {
|
144
|
+
if (workspaces === null || workspaces === undefined) {
|
145
|
+
throw new Error("Group removeWorkspaces, workspaces is undefined or null");
|
146
|
+
}
|
147
|
+
// make set of workspaces
|
148
|
+
const groupWorkspaces = new Set(this.workspaces.map(w => w.id));
|
149
|
+
// check argument
|
150
|
+
if (!workspaces.every(w => groupWorkspaces.has(w))) {
|
151
|
+
const notExistingWorkspaces = workspaces.filter(workspaceId => !groupWorkspaces.has(workspaceId));
|
152
|
+
throw new Error(`Group removeWorkspaces, workspaces contains not existing workspaces: ${notExistingWorkspaces}`);
|
153
|
+
}
|
154
|
+
// remove workspaces
|
155
|
+
for (const id of workspaces) {
|
156
|
+
groupWorkspaces.delete(id);
|
157
|
+
}
|
158
|
+
// send request to the server
|
159
|
+
await this.setWorkspaces(Array.from(groupWorkspaces));
|
160
|
+
}
|
161
|
+
async setMembersIds(members) {
|
162
|
+
var _a;
|
163
|
+
if (members === null || members === undefined) {
|
164
|
+
throw new Error("Group setMembersIds, members is undefined or null");
|
165
|
+
}
|
166
|
+
// send request to the server
|
167
|
+
const response = await ((_a = this.context
|
168
|
+
.resolve(rpcService_1.RpcService)) === null || _a === void 0 ? void 0 : _a.requestBuilder("api/v1/AccessGroups/members").sendPutJson({
|
169
|
+
groupId: this.id,
|
170
|
+
memberIds: members
|
171
|
+
}));
|
172
|
+
if (responseUtils_1.ResponseUtils.isFail(response)) {
|
173
|
+
await responseUtils_1.ResponseUtils.throwError(`Failed to set members for group: ${this.id}, organization: ${this.organization.id}`, response);
|
174
|
+
}
|
175
|
+
// reload group
|
176
|
+
await this.reloadGroup(this.id);
|
177
|
+
// dispatch event
|
178
|
+
this.dispatch({
|
179
|
+
type: group_1.GroupEvent.UPDATED,
|
180
|
+
data: this
|
181
|
+
});
|
182
|
+
}
|
183
|
+
async removeMembers(members) {
|
184
|
+
// check members
|
185
|
+
if (members === null || members === undefined) {
|
186
|
+
throw new Error("Group removeMembers, members is undefined or null");
|
187
|
+
}
|
188
|
+
// make set of members
|
189
|
+
const groupMembers = new Set(this.members.map(m => m.id));
|
190
|
+
// check argument
|
191
|
+
if (!members.every(m => groupMembers.has(m))) {
|
192
|
+
const notExistingMembers = members.filter(memberId => !groupMembers.has(memberId));
|
193
|
+
throw new Error(`Group removeMembers, members contains not existing members: ${notExistingMembers}`);
|
194
|
+
}
|
195
|
+
// remove members
|
196
|
+
for (const id of members) {
|
197
|
+
groupMembers.delete(id);
|
198
|
+
}
|
199
|
+
// send request to the server
|
200
|
+
await this.setMembersIds(Array.from(groupMembers));
|
201
|
+
}
|
202
|
+
get isDisposed() {
|
203
|
+
return this._isDisposed;
|
204
|
+
}
|
205
|
+
dispose() {
|
206
|
+
this._isDisposed = true;
|
207
|
+
}
|
208
|
+
}
|
209
|
+
exports.GroupImpl = GroupImpl;
|
210
|
+
//# sourceMappingURL=group.impl.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"group.impl.js","sourceRoot":"","sources":["../../../../src/storages/groups/group.impl.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.Group = exports.GroupEvent = void 0;
|
4
|
+
const events_1 = require("../../events");
|
5
|
+
var GroupEvent;
|
6
|
+
(function (GroupEvent) {
|
7
|
+
GroupEvent["UPDATED"] = "updated";
|
8
|
+
})(GroupEvent || (exports.GroupEvent = GroupEvent = {}));
|
9
|
+
/**
|
10
|
+
* Group.
|
11
|
+
*/
|
12
|
+
class Group extends events_1.EventDispatcher {
|
13
|
+
}
|
14
|
+
exports.Group = Group;
|
15
|
+
//# sourceMappingURL=group.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"group.js","sourceRoot":"","sources":["../../../../src/storages/groups/group.ts"],"names":[],"mappings":";;;AAAA,yCAA8C;AAY9C,IAAY,UAEX;AAFD,WAAY,UAAU;IACpB,iCAAmB,CAAA;AACrB,CAAC,EAFW,UAAU,0BAAV,UAAU,QAErB;AAED;;GAEG;AACH,MAAsB,KAAM,SAAQ,wBAAkC;CAqDrE;AArDD,sBAqDC"}
|
@@ -0,0 +1,39 @@
|
|
1
|
+
import { EventDispatcher } from "../../events";
|
2
|
+
import { Group, GroupId } from "./group";
|
3
|
+
/**
|
4
|
+
* Group event.
|
5
|
+
*/
|
6
|
+
export declare enum GroupsEvent {
|
7
|
+
ADDED = "added",
|
8
|
+
REMOVED = "removed",
|
9
|
+
UPDATED = "updated"
|
10
|
+
}
|
11
|
+
/**
|
12
|
+
* Groups storage.
|
13
|
+
*/
|
14
|
+
export declare abstract class Groups extends EventDispatcher<GroupsEvent, Group> {
|
15
|
+
/**
|
16
|
+
* Collection.
|
17
|
+
*/
|
18
|
+
abstract get collection(): ReadonlyArray<Group>;
|
19
|
+
/**
|
20
|
+
* Create new group.
|
21
|
+
* @param name
|
22
|
+
* @param permits
|
23
|
+
* @param memberIds
|
24
|
+
*/
|
25
|
+
abstract create(name: string, permits: {
|
26
|
+
isAdmin: boolean;
|
27
|
+
}, memberIds: string[]): Promise<Group>;
|
28
|
+
/**
|
29
|
+
* Get group by id.
|
30
|
+
* @param id
|
31
|
+
*/
|
32
|
+
abstract get(id: GroupId): Group | undefined;
|
33
|
+
/**
|
34
|
+
* delete group by id.
|
35
|
+
* @param id
|
36
|
+
*/
|
37
|
+
abstract delete(id: GroupId): Promise<void>;
|
38
|
+
}
|
39
|
+
//# sourceMappingURL=groups.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"groups.d.ts","sourceRoot":"","sources":["../../../../src/storages/groups/groups.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAExC;;GAEG;AACH,oBAAY,WAAW;IACrB,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,OAAO,YAAY;CACpB;AAED;;GAEG;AACH,8BAAsB,MAAO,SAAQ,eAAe,CAAC,WAAW,EAAE,KAAK,CAAC;IAEtE;;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"}
|
@@ -0,0 +1,30 @@
|
|
1
|
+
import { Context } from "../../context";
|
2
|
+
import { Groups } from "./groups";
|
3
|
+
import { OrganizationImpl } from "../organizations/organization.impl";
|
4
|
+
import { Group, GroupId } from "./group";
|
5
|
+
export declare class GroupsImpl extends Groups {
|
6
|
+
readonly organization: OrganizationImpl;
|
7
|
+
private readonly context;
|
8
|
+
private _groups;
|
9
|
+
constructor(organization: OrganizationImpl, context: Context);
|
10
|
+
get collection(): readonly Group[];
|
11
|
+
initialize(): Promise<void>;
|
12
|
+
create(name: string, permits: {
|
13
|
+
isAdmin: boolean;
|
14
|
+
}, memberIds: string[]): Promise<Group>;
|
15
|
+
get(id: GroupId): Group | undefined;
|
16
|
+
delete(id: GroupId): Promise<void>;
|
17
|
+
/**
|
18
|
+
* Init access groups.
|
19
|
+
*/
|
20
|
+
internalInit(): Promise<void>;
|
21
|
+
internalCreate(name: string, permits: {
|
22
|
+
isAdmin: boolean;
|
23
|
+
}, memberIds: string[]): Promise<Group>;
|
24
|
+
/**
|
25
|
+
* Delete group.
|
26
|
+
* @param id
|
27
|
+
*/
|
28
|
+
internalDeleteGroup(id: GroupId): Promise<void>;
|
29
|
+
}
|
30
|
+
//# sourceMappingURL=groups.impl.d.ts.map
|
@@ -0,0 +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;AAMvC,OAAO,EAAE,MAAM,EAAe,MAAM,UAAU,CAAA;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAA;AAErE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAGxC,qBAAa,UAAW,SAAQ,MAAM;aAKlB,YAAY,EAAE,gBAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJ1B,OAAO,CAAC,OAAO,CAAc;gBAGX,YAAY,EAAE,gBAAgB,EAC7B,OAAO,EAAE,OAAO;IAKnC,IAAI,UAAU,IAAI,SAAS,KAAK,EAAE,CAEjC;IAEK,UAAU;IAIV,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;QAClC,OAAO,EAAE,OAAO,CAAA;KACjB,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC;IAIvC,GAAG,CAAC,EAAE,EAAE,OAAO,GAAG,KAAK,GAAG,SAAS;IAI7B,MAAM,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAQxC;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAoC7B,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;QAC1C,OAAO,EAAE,OAAO,CAAA;KACjB,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC;IAyCvC;;;OAGG;IACG,mBAAmB,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CAuCtD"}
|
@@ -0,0 +1,132 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.GroupsImpl = void 0;
|
4
|
+
const rpcService_1 = require("../../services/rpcService");
|
5
|
+
const groups_1 = require("./groups");
|
6
|
+
const responseUtils_1 = require("../../services/responseUtils");
|
7
|
+
const group_impl_1 = require("./group.impl");
|
8
|
+
class GroupsImpl extends groups_1.Groups {
|
9
|
+
constructor(organization, context) {
|
10
|
+
super();
|
11
|
+
this.organization = organization;
|
12
|
+
this.context = context;
|
13
|
+
this._groups = [];
|
14
|
+
}
|
15
|
+
get collection() {
|
16
|
+
return this._groups;
|
17
|
+
}
|
18
|
+
async initialize() {
|
19
|
+
await this.internalInit();
|
20
|
+
}
|
21
|
+
async create(name, permits, memberIds) {
|
22
|
+
return await this.internalCreate(name, permits, memberIds);
|
23
|
+
}
|
24
|
+
get(id) {
|
25
|
+
return this._groups.find(group => group.id === id);
|
26
|
+
}
|
27
|
+
async delete(id) {
|
28
|
+
return await this.internalDeleteGroup(id);
|
29
|
+
}
|
30
|
+
//----------------------------------------------------------------------------
|
31
|
+
// INTERNALS
|
32
|
+
//----------------------------------------------------------------------------
|
33
|
+
/**
|
34
|
+
* Init access groups.
|
35
|
+
*/
|
36
|
+
async internalInit() {
|
37
|
+
var _a;
|
38
|
+
// fetch groups
|
39
|
+
const response = await ((_a = this.context.resolve(rpcService_1.RpcService)) === null || _a === void 0 ? void 0 : _a.requestBuilder("api/v1/Organizations/access_groups").searchParam("id", this.organization.id).sendGet());
|
40
|
+
// check response status
|
41
|
+
if (responseUtils_1.ResponseUtils.isFail(response)) {
|
42
|
+
await responseUtils_1.ResponseUtils.throwError(`Failed to get groups for organization: ${this.organization.id}`, response);
|
43
|
+
}
|
44
|
+
// parse groups from the server's response
|
45
|
+
const groups = (await response.json());
|
46
|
+
const wait = [];
|
47
|
+
// init groups
|
48
|
+
for (const gr of groups.groups) {
|
49
|
+
// create group implementation
|
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) {
|
58
|
+
// add group to the collection
|
59
|
+
this._groups.push(group);
|
60
|
+
}
|
61
|
+
}
|
62
|
+
async internalCreate(name, permits, memberIds) {
|
63
|
+
var _a;
|
64
|
+
if (name === undefined || name === null) {
|
65
|
+
throw new Error("Group create, name is undefined or null");
|
66
|
+
}
|
67
|
+
if (name.length === 0 || name.trim().length === 0) {
|
68
|
+
throw new Error("Group create, name is empty");
|
69
|
+
}
|
70
|
+
// send request to the server
|
71
|
+
const response = await ((_a = this.context
|
72
|
+
.resolve(rpcService_1.RpcService)) === null || _a === void 0 ? void 0 : _a.requestBuilder("api/v1/AccessGroups").sendPostJson({
|
73
|
+
name: name,
|
74
|
+
organizationId: this.organization.id,
|
75
|
+
permits: permits,
|
76
|
+
memberIds: memberIds
|
77
|
+
}));
|
78
|
+
// check response status
|
79
|
+
if (responseUtils_1.ResponseUtils.isFail(response)) {
|
80
|
+
await responseUtils_1.ResponseUtils.throwError(`Failed to create group, organization: ${this.organization.id}`, response);
|
81
|
+
}
|
82
|
+
// parse group from the server's response
|
83
|
+
const content = (await response.json());
|
84
|
+
// create group implementation
|
85
|
+
const group = await new group_impl_1.GroupImpl(this.context, this.organization).initFrom(content.group.id);
|
86
|
+
// add group to the collection
|
87
|
+
this._groups.push(group);
|
88
|
+
// dispatch event
|
89
|
+
this.dispatch({
|
90
|
+
type: groups_1.GroupsEvent.ADDED,
|
91
|
+
data: group
|
92
|
+
});
|
93
|
+
return group;
|
94
|
+
}
|
95
|
+
/**
|
96
|
+
* Delete group.
|
97
|
+
* @param id
|
98
|
+
*/
|
99
|
+
async internalDeleteGroup(id) {
|
100
|
+
var _a;
|
101
|
+
if (id === undefined || id === null) {
|
102
|
+
throw new Error("Group delete, id is undefined or null");
|
103
|
+
}
|
104
|
+
if (id.length === 0 || id.trim().length === 0) {
|
105
|
+
throw new Error("Group delete, id is empty");
|
106
|
+
}
|
107
|
+
// send request to the server
|
108
|
+
const response = await ((_a = this.context
|
109
|
+
.resolve(rpcService_1.RpcService)) === null || _a === void 0 ? void 0 : _a.requestBuilder("/api/v1/AccessGroups").searchParam("groupId", id).sendDelete());
|
110
|
+
// check response status
|
111
|
+
if (responseUtils_1.ResponseUtils.isFail(response)) {
|
112
|
+
await responseUtils_1.ResponseUtils.throwError(`Failed to delete group: ${id}, organization: ${this.organization.id}`, response);
|
113
|
+
}
|
114
|
+
// delete group from collection
|
115
|
+
const group = this._groups.find(f => f.id === id);
|
116
|
+
const index = this._groups.indexOf(group);
|
117
|
+
if (index < 0) {
|
118
|
+
throw new Error("Group delete, index is not found");
|
119
|
+
}
|
120
|
+
// remove group from collection
|
121
|
+
this._groups.splice(index, 1);
|
122
|
+
// dispatch event, group removed
|
123
|
+
this.dispatch({
|
124
|
+
type: groups_1.GroupsEvent.REMOVED,
|
125
|
+
data: group
|
126
|
+
});
|
127
|
+
// dispose group
|
128
|
+
group.dispose();
|
129
|
+
}
|
130
|
+
}
|
131
|
+
exports.GroupsImpl = GroupsImpl;
|
132
|
+
//# sourceMappingURL=groups.impl.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"groups.impl.js","sourceRoot":"","sources":["../../../../src/storages/groups/groups.impl.ts"],"names":[],"mappings":";;;AAKA,0DAAsD;AACtD,qCAA8C;AAE9C,gEAA4D;AAE5D,6CAAwC;AAExC,MAAa,UAAW,SAAQ,eAAM;IAIpC,YACkB,YAA8B,EAC7B,OAAgB;QAEjC,KAAK,EAAE,CAAA;QAHS,iBAAY,GAAZ,YAAY,CAAkB;QAC7B,YAAO,GAAP,OAAO,CAAS;QAJ3B,YAAO,GAAY,EAAE,CAAA;IAO7B,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,IAAI,CAAC,YAAY,EAAE,CAAA;IAC3B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAY,EAAE,OAE1B,EAAE,SAAmB;QACpB,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAA;IAC5D,CAAC;IAED,GAAG,CAAC,EAAW;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;IACpD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAW;QACtB,OAAO,MAAM,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAA;IAC3C,CAAC;IAED,8EAA8E;IAC9E,YAAY;IACZ,8EAA8E;IAE9E;;OAEG;IACH,KAAK,CAAC,YAAY;;QAChB,eAAe;QACf,MAAM,QAAQ,GAAG,MAAM,CAAA,MAAA,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,uBAAU,CAAC,0CACnD,cAAc,CAAC,oCAAoC,EACpD,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE,EACtC,OAAO,EAAE,CAAA,CAAA;QAEZ,wBAAwB;QACxB,IAAI,6BAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,MAAM,6BAAa,CAAC,UAAU,CAAC,0CAA0C,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAA;QAC5G,CAAC;QAED,0CAA0C;QAC1C,MAAM,MAAM,GAAG,CAAC,MAAM,QAAS,CAAC,IAAI,EAAE,CAAyB,CAAA;QAE/D,MAAM,IAAI,GAAqB,EAAE,CAAA;QAEjC,cAAc;QACd,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAC/B,8BAA8B;YAC9B,MAAM,KAAK,GAAG,IAAI,sBAAS,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;YAE5E,uBAAuB;YACvB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAClB,CAAC;QAED,sBAAsB;QACtB,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAE5C,+BAA+B;QAC/B,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;YACjC,8BAA8B;YAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC1B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,IAAY,EAAE,OAElC,EAAE,SAAmB;;QACpB,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;QAC5D,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClD,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;QAChD,CAAC;QAED,6BAA6B;QAC7B,MAAM,QAAQ,GAAG,MAAM,CAAA,MAAA,IAAI,CAAC,OAAO;aAChC,OAAO,CAAC,uBAAU,CAAC,0CAClB,cAAc,CAAC,qBAAqB,EACrC,YAAY,CAAC;YACZ,IAAI,EAAE,IAAI;YACV,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE;YACpC,OAAO,EAAE,OAAO;YAChB,SAAS,EAAE,SAAS;SACrB,CAAC,CAAA,CAAA;QAEJ,wBAAwB;QACxB,IAAI,6BAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,MAAM,6BAAa,CAAC,UAAU,CAAC,yCAAyC,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAA;QAC3G,CAAC;QACD,yCAAyC;QACzC,MAAM,OAAO,GAAG,CAAC,MAAM,QAAS,CAAC,IAAI,EAAE,CAAwB,CAAA;QAE/D,8BAA8B;QAC9B,MAAM,KAAK,GAAG,MAAM,IAAI,sBAAS,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QAE7F,8BAA8B;QAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAExB,iBAAiB;QACjB,IAAI,CAAC,QAAQ,CAAC;YACZ,IAAI,EAAE,oBAAW,CAAC,KAAK;YACvB,IAAI,EAAE,KAAK;SACZ,CAAC,CAAA;QAEF,OAAO,KAAK,CAAA;IACd,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,mBAAmB,CAAC,EAAW;;QACnC,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAA;QAC1D,CAAC;QACD,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;QAC9C,CAAC;QAED,6BAA6B;QAC7B,MAAM,QAAQ,GAAG,MAAM,CAAA,MAAA,IAAI,CAAC,OAAO;aAChC,OAAO,CAAC,uBAAU,CAAC,0CAClB,cAAc,CAAC,sBAAsB,EACtC,WAAW,CAAC,SAAS,EAAE,EAAE,EACzB,UAAU,EAAE,CAAA,CAAA;QAEf,wBAAwB;QACxB,IAAI,6BAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,MAAM,6BAAa,CAAC,UAAU,CAAC,2BAA2B,EAAE,mBAAmB,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAA;QAClH,CAAC;QAED,+BAA+B;QAC/B,MAAM,KAAK,GAAc,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;QAC5D,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QACzC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;QACrD,CAAC;QAED,+BAA+B;QAC/B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;QAE7B,gCAAgC;QAChC,IAAI,CAAC,QAAQ,CAAC;YACZ,IAAI,EAAE,oBAAW,CAAC,OAAO;YACzB,IAAI,EAAE,KAAK;SACZ,CAAC,CAAA;QAEF,gBAAgB;QAChB,KAAK,CAAC,OAAO,EAAE,CAAA;IACjB,CAAC;CACF;AAlKD,gCAkKC"}
|
@@ -0,0 +1,20 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.Groups = exports.GroupsEvent = void 0;
|
4
|
+
const events_1 = require("../../events");
|
5
|
+
/**
|
6
|
+
* Group event.
|
7
|
+
*/
|
8
|
+
var GroupsEvent;
|
9
|
+
(function (GroupsEvent) {
|
10
|
+
GroupsEvent["ADDED"] = "added";
|
11
|
+
GroupsEvent["REMOVED"] = "removed";
|
12
|
+
GroupsEvent["UPDATED"] = "updated";
|
13
|
+
})(GroupsEvent || (exports.GroupsEvent = GroupsEvent = {}));
|
14
|
+
/**
|
15
|
+
* Groups storage.
|
16
|
+
*/
|
17
|
+
class Groups extends events_1.EventDispatcher {
|
18
|
+
}
|
19
|
+
exports.Groups = Groups;
|
20
|
+
//# sourceMappingURL=groups.js.map
|