@neuralinnovations/dataisland-sdk 0.0.1-dev6 → 0.0.1-dev60
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 +232 -3
- 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 +30 -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 +55 -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 +30 -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/acquiringResponse.d.ts +46 -0
- package/dist/src/dto/acquiringResponse.d.ts.map +1 -0
- package/dist/src/dto/acquiringResponse.js +11 -0
- package/dist/src/dto/acquiringResponse.js.map +1 -0
- package/dist/src/dto/badRequestResponse.d.ts +6 -0
- package/dist/src/dto/badRequestResponse.d.ts.map +1 -0
- package/dist/src/dto/badRequestResponse.js +3 -0
- package/dist/src/dto/badRequestResponse.js.map +1 -0
- package/dist/src/dto/chatResponse.d.ts +84 -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/limitsResponse.d.ts +29 -0
- package/dist/src/dto/limitsResponse.d.ts.map +1 -0
- package/dist/src/dto/limitsResponse.js +13 -0
- package/dist/src/dto/limitsResponse.js.map +1 -0
- package/dist/src/dto/quizResponse.d.ts +11 -0
- package/dist/src/dto/quizResponse.d.ts.map +1 -0
- package/dist/src/dto/quizResponse.js +3 -0
- package/dist/src/dto/quizResponse.js.map +1 -0
- package/dist/src/dto/statisticsResponse.d.ts +11 -0
- package/dist/src/dto/statisticsResponse.d.ts.map +1 -0
- package/dist/src/dto/statisticsResponse.js +3 -0
- package/dist/src/dto/statisticsResponse.js.map +1 -0
- package/dist/src/dto/userInfoResponse.d.ts +91 -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 +51 -0
- package/dist/src/dto/workspacesResponse.d.ts.map +1 -0
- package/dist/src/dto/workspacesResponse.js +11 -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 +73 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +122 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/internal/app.impl.d.ts +30 -0
- package/dist/src/internal/app.impl.d.ts.map +1 -0
- package/dist/src/internal/app.impl.js +180 -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/acquiringService.d.ts +9 -0
- package/dist/src/services/acquiringService.d.ts.map +1 -0
- package/dist/src/services/acquiringService.js +19 -0
- package/dist/src/services/acquiringService.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 +8 -0
- package/dist/src/services/responseUtils.d.ts.map +1 -0
- package/dist/src/services/responseUtils.js +40 -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 +10 -0
- package/dist/src/services/userProfileService.d.ts.map +1 -0
- package/dist/src/services/userProfileService.js +59 -0
- package/dist/src/services/userProfileService.js.map +1 -0
- package/dist/src/storages/acquirings/acquiring.d.ts +41 -0
- package/dist/src/storages/acquirings/acquiring.d.ts.map +1 -0
- package/dist/src/storages/acquirings/acquiring.impl.d.ts +20 -0
- package/dist/src/storages/acquirings/acquiring.impl.d.ts.map +1 -0
- package/dist/src/storages/acquirings/acquiring.impl.js +92 -0
- package/dist/src/storages/acquirings/acquiring.impl.js.map +1 -0
- package/dist/src/storages/acquirings/acquiring.js +10 -0
- package/dist/src/storages/acquirings/acquiring.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 +51 -0
- package/dist/src/storages/chats/chat.d.ts.map +1 -0
- package/dist/src/storages/chats/chat.impl.d.ts +27 -0
- package/dist/src/storages/chats/chat.impl.d.ts.map +1 -0
- package/dist/src/storages/chats/chat.impl.js +93 -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 +51 -0
- package/dist/src/storages/chats/chats.d.ts.map +1 -0
- package/dist/src/storages/chats/chats.impl.d.ts +20 -0
- package/dist/src/storages/chats/chats.impl.d.ts.map +1 -0
- package/dist/src/storages/chats/chats.impl.js +184 -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 +59 -0
- package/dist/src/storages/files/file.d.ts.map +1 -0
- package/dist/src/storages/files/file.impl.d.ts +28 -0
- package/dist/src/storages/files/file.impl.d.ts.map +1 -0
- package/dist/src/storages/files/file.impl.js +127 -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 +24 -0
- package/dist/src/storages/files/files.impl.d.ts.map +1 -0
- package/dist/src/storages/files/files.impl.js +168 -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 +43 -0
- package/dist/src/storages/groups/groups.d.ts.map +1 -0
- package/dist/src/storages/groups/groups.impl.d.ts +31 -0
- package/dist/src/storages/groups/groups.impl.d.ts.map +1 -0
- package/dist/src/storages/groups/groups.impl.js +136 -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 +103 -0
- package/dist/src/storages/organizations/organization.d.ts.map +1 -0
- package/dist/src/storages/organizations/organization.impl.d.ts +44 -0
- package/dist/src/storages/organizations/organization.impl.d.ts.map +1 -0
- package/dist/src/storages/organizations/organization.impl.js +255 -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 +51 -0
- package/dist/src/storages/organizations/organizations.d.ts.map +1 -0
- package/dist/src/storages/organizations/organizations.impl.d.ts +39 -0
- package/dist/src/storages/organizations/organizations.impl.d.ts.map +1 -0
- package/dist/src/storages/organizations/organizations.impl.js +173 -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 +59 -0
- package/dist/src/storages/user/userProfile.d.ts.map +1 -0
- package/dist/src/storages/user/userProfile.impl.d.ts +22 -0
- package/dist/src/storages/user/userProfile.impl.d.ts.map +1 -0
- package/dist/src/storages/user/userProfile.impl.js +118 -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 +153 -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 +64 -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/dist/src/utils/utils.d.ts +3 -0
- package/dist/src/utils/utils.d.ts.map +1 -0
- package/dist/src/utils/utils.js +13 -0
- package/dist/src/utils/utils.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 +19 -5
- package/src/context.ts +4 -2
- package/src/credentials.ts +22 -0
- package/src/dataIslandApp.ts +8 -2
- package/src/disposable.ts +18 -5
- package/src/dto/accessGroupResponse.ts +19 -16
- package/src/dto/acquiringResponse.ts +54 -0
- package/src/dto/badRequestResponse.ts +6 -0
- package/src/dto/chatResponse.ts +60 -54
- package/src/dto/limitsResponse.ts +32 -0
- package/src/dto/quizResponse.ts +12 -0
- package/src/dto/statisticsResponse.ts +12 -0
- package/src/dto/userInfoResponse.ts +63 -2
- package/src/dto/workspacesResponse.ts +17 -3
- package/src/index.ts +57 -16
- package/src/internal/app.impl.ts +54 -12
- package/src/internal/registry.ts +54 -6
- package/src/middleware.ts +2 -0
- package/src/services/acquiringService.ts +21 -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 +1 -0
- package/src/services/organizationService.ts +2 -2
- package/src/services/requestBuilder.ts +10 -8
- package/src/services/responseUtils.ts +12 -0
- package/src/services/rpcService.ts +1 -0
- package/src/services/userProfileService.ts +36 -4
- package/src/storages/acquirings/acquiring.impl.ts +132 -0
- package/src/storages/acquirings/acquiring.ts +54 -0
- package/src/storages/chats/answer.impl.ts +160 -0
- package/src/storages/chats/answer.ts +53 -0
- package/src/storages/chats/chat.impl.ts +115 -0
- package/src/storages/chats/chat.ts +65 -0
- package/src/storages/chats/chats.impl.ts +255 -0
- package/src/storages/chats/chats.ts +60 -0
- package/src/storages/files/file.impl.ts +159 -0
- package/src/storages/files/file.ts +74 -0
- package/src/storages/{files.impl.ts → files/files.impl.ts} +67 -46
- package/src/storages/{files.ts → files/files.ts} +14 -7
- package/src/storages/files/filesPage.impl.ts +37 -0
- package/src/storages/{filesPage.ts → files/filesPage.ts} +6 -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 +180 -0
- package/src/storages/groups/groups.ts +50 -0
- package/src/storages/organizations/organization.impl.ts +387 -0
- package/src/storages/organizations/organization.ts +127 -0
- package/src/storages/{organizations.impl.ts → organizations/organizations.impl.ts} +55 -13
- package/src/storages/{organizations.ts → organizations/organizations.ts} +7 -1
- package/src/storages/user/userProfile.impl.ts +140 -0
- package/src/storages/user/userProfile.ts +75 -0
- package/src/storages/{workspace.impl.ts → workspaces/workspace.impl.ts} +27 -7
- package/src/storages/{workspace.ts → workspaces/workspace.ts} +8 -3
- package/src/storages/{workspaces.impl.ts → workspaces/workspaces.impl.ts} +29 -32
- package/src/storages/{workspaces.ts → workspaces/workspaces.ts} +6 -2
- package/src/unitTest.ts +3 -3
- package/src/utils/browserUtils.ts +68 -0
- package/src/utils/request.ts +6 -0
- package/src/utils/utils.ts +8 -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 -21
- package/src/storages/chats.ts +0 -17
- package/src/storages/file.impl.ts +0 -69
- package/src/storages/file.ts +0 -28
- 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/src/storages/userProfile.impl.ts +0 -56
- package/src/storages/userProfile.ts +0 -42
- package/test/commands.test.ts +0 -24
- package/test/data/test_file.pdf +0 -0
- package/test/disposable.test.ts +0 -39
- package/test/events.test.ts +0 -151
- package/test/files.test.ts +0 -52
- package/test/index.test.ts +0 -122
- package/test/organization.test.ts +0 -57
- package/test/registry.test.ts +0 -44
- package/test/services.test.ts +0 -56
- package/test/setup.ts +0 -54
- package/test/unitTest.test.ts +0 -21
- package/test/workspace.test.ts +0 -71
- package/tsconfig.json +0 -31
package/src/storages/groups.ts
DELETED
@@ -1,43 +0,0 @@
|
|
1
|
-
import { AccessGroupDto } from "../dto/accessGroupResponse"
|
2
|
-
import { UserDto } from "../dto/userInfoResponse"
|
3
|
-
import { WorkspaceDto } from "../dto/workspacesResponse"
|
4
|
-
import { EventDispatcher } from "../events"
|
5
|
-
import { OrganizationId } from "./organizations"
|
6
|
-
|
7
|
-
export type GroupId = string
|
8
|
-
|
9
|
-
export enum GroupEvent {
|
10
|
-
ADDED = "added",
|
11
|
-
REMOVED = "removed",
|
12
|
-
UPDATED = "updated"
|
13
|
-
}
|
14
|
-
|
15
|
-
export abstract class Group extends EventDispatcher<GroupEvent, Group> {
|
16
|
-
|
17
|
-
abstract get id(): GroupId
|
18
|
-
|
19
|
-
abstract get group(): AccessGroupDto
|
20
|
-
|
21
|
-
abstract get members(): UserDto[]
|
22
|
-
|
23
|
-
abstract getWorkspaces() : Promise<WorkspaceDto[]>
|
24
|
-
|
25
|
-
abstract setWorkspaces(workspaces: string[]): Promise<void>
|
26
|
-
|
27
|
-
abstract setName(name: string): Promise<void>
|
28
|
-
|
29
|
-
abstract setPermits(permits: {isAdmin: boolean}): Promise<void>
|
30
|
-
|
31
|
-
abstract setMembersIds(members: string[]): Promise<void>
|
32
|
-
}
|
33
|
-
|
34
|
-
|
35
|
-
export abstract class Groups extends EventDispatcher<GroupEvent, Group>{
|
36
|
-
|
37
|
-
abstract create(name: string, organizationId: OrganizationId, permits: { isAdmin: boolean }, memberIds: string[]): Promise<Group>
|
38
|
-
|
39
|
-
abstract get(id: GroupId): Promise<Group | undefined>
|
40
|
-
|
41
|
-
abstract delete(id: GroupId): Promise<void>
|
42
|
-
|
43
|
-
}
|
@@ -1,68 +0,0 @@
|
|
1
|
-
import { OrganizationId } from "./organizations"
|
2
|
-
import { Disposable } from "../disposable"
|
3
|
-
import { OrganizationDto } from "../dto/userInfoResponse"
|
4
|
-
import { Workspaces } from "./workspaces"
|
5
|
-
import { WorkspacesImpl } from "./workspaces.impl"
|
6
|
-
import { Context } from "../context"
|
7
|
-
import { Organization } from "./organization"
|
8
|
-
import { GroupsImpl } from "./groups.impl"
|
9
|
-
import { Groups } from "./groups"
|
10
|
-
|
11
|
-
export class OrganizationImpl extends Organization implements Disposable {
|
12
|
-
private _isDisposed: boolean = false
|
13
|
-
private _isAdmin: boolean = false
|
14
|
-
private _content?: OrganizationDto
|
15
|
-
private readonly _workspaces: WorkspacesImpl
|
16
|
-
private readonly _accessGroups: GroupsImpl
|
17
|
-
|
18
|
-
constructor(private readonly context: Context) {
|
19
|
-
super()
|
20
|
-
this._workspaces = new WorkspacesImpl(this, this.context)
|
21
|
-
this._accessGroups = new GroupsImpl(this, this.context)
|
22
|
-
}
|
23
|
-
|
24
|
-
public async initFrom(
|
25
|
-
content: OrganizationDto,
|
26
|
-
isAdmin: boolean
|
27
|
-
): Promise<OrganizationImpl> {
|
28
|
-
this._content = content
|
29
|
-
this._isAdmin = isAdmin
|
30
|
-
|
31
|
-
// init workspaces by organization id
|
32
|
-
await this._workspaces.initFrom(content.id)
|
33
|
-
|
34
|
-
return this
|
35
|
-
}
|
36
|
-
|
37
|
-
get isAdmin(): boolean {
|
38
|
-
return this._isAdmin
|
39
|
-
}
|
40
|
-
|
41
|
-
get isDisposed(): boolean {
|
42
|
-
return this._isDisposed
|
43
|
-
}
|
44
|
-
|
45
|
-
dispose(): void {
|
46
|
-
this._isDisposed = true
|
47
|
-
}
|
48
|
-
|
49
|
-
get id(): OrganizationId {
|
50
|
-
return <OrganizationId>this._content?.id
|
51
|
-
}
|
52
|
-
|
53
|
-
get name(): string {
|
54
|
-
return <OrganizationId>this._content?.profile.name
|
55
|
-
}
|
56
|
-
|
57
|
-
get description(): string {
|
58
|
-
return <OrganizationId>this._content?.profile.description
|
59
|
-
}
|
60
|
-
|
61
|
-
get workspaces(): Workspaces {
|
62
|
-
return this._workspaces
|
63
|
-
}
|
64
|
-
|
65
|
-
get accessGroups(): Groups {
|
66
|
-
return this._accessGroups
|
67
|
-
}
|
68
|
-
}
|
@@ -1,33 +0,0 @@
|
|
1
|
-
import { Workspaces } from "./workspaces"
|
2
|
-
import { OrganizationId } from "./organizations"
|
3
|
-
import { Groups } from "./groups"
|
4
|
-
|
5
|
-
/**
|
6
|
-
* Organization.
|
7
|
-
*/
|
8
|
-
export abstract class Organization {
|
9
|
-
/**
|
10
|
-
* Organization id.
|
11
|
-
*/
|
12
|
-
abstract get id(): OrganizationId
|
13
|
-
|
14
|
-
/**
|
15
|
-
* Organization name.
|
16
|
-
*/
|
17
|
-
abstract get name(): string
|
18
|
-
|
19
|
-
/**
|
20
|
-
* Organization description.
|
21
|
-
*/
|
22
|
-
abstract get description(): string
|
23
|
-
|
24
|
-
/**
|
25
|
-
* Workspaces.
|
26
|
-
*/
|
27
|
-
abstract get workspaces(): Workspaces
|
28
|
-
|
29
|
-
/**
|
30
|
-
* Groups.
|
31
|
-
*/
|
32
|
-
abstract get accessGroups(): Groups
|
33
|
-
}
|
@@ -1,56 +0,0 @@
|
|
1
|
-
import { UserEvent, UserProfile } from "./userProfile"
|
2
|
-
import { UserInfoResponse } from "../dto/userInfoResponse"
|
3
|
-
|
4
|
-
export class UserProfileImpl extends UserProfile {
|
5
|
-
private content?: UserInfoResponse
|
6
|
-
|
7
|
-
get id(): string {
|
8
|
-
if (this.content) {
|
9
|
-
return this.content.user.id
|
10
|
-
}
|
11
|
-
throw new Error("The profile is not loaded.")
|
12
|
-
}
|
13
|
-
|
14
|
-
get name(): string {
|
15
|
-
if (this.content) {
|
16
|
-
return this.content.user.profile.name
|
17
|
-
}
|
18
|
-
throw new Error("The profile is not loaded.")
|
19
|
-
}
|
20
|
-
|
21
|
-
get email(): string {
|
22
|
-
if (this.content) {
|
23
|
-
return this.content.user.profile.email
|
24
|
-
}
|
25
|
-
throw new Error("The profile is not loaded.")
|
26
|
-
}
|
27
|
-
|
28
|
-
get isDeleted(): boolean {
|
29
|
-
if (this.content) {
|
30
|
-
return this.content.user.isDeleted
|
31
|
-
}
|
32
|
-
throw new Error("The profile is not loaded.")
|
33
|
-
}
|
34
|
-
|
35
|
-
get createdAt(): Date {
|
36
|
-
if (this.content) {
|
37
|
-
return new Date(this.content.user.created_at)
|
38
|
-
}
|
39
|
-
throw new Error("The profile is not loaded.")
|
40
|
-
}
|
41
|
-
|
42
|
-
get modifiedAt(): Date {
|
43
|
-
if (this.content) {
|
44
|
-
return new Date(this.content.user.modified_at)
|
45
|
-
}
|
46
|
-
throw new Error("The profile is not loaded.")
|
47
|
-
}
|
48
|
-
|
49
|
-
initFrom(content: UserInfoResponse) {
|
50
|
-
this.content = content
|
51
|
-
this.dispatch({
|
52
|
-
type: UserEvent.CHANGED,
|
53
|
-
data: this
|
54
|
-
})
|
55
|
-
}
|
56
|
-
}
|
@@ -1,42 +0,0 @@
|
|
1
|
-
import { EventDispatcher } from "../events"
|
2
|
-
|
3
|
-
export type UserId = string
|
4
|
-
|
5
|
-
export enum UserEvent {
|
6
|
-
CHANGED = "changed"
|
7
|
-
}
|
8
|
-
|
9
|
-
export abstract class UserProfile extends EventDispatcher<
|
10
|
-
UserEvent,
|
11
|
-
UserProfile
|
12
|
-
> {
|
13
|
-
/**
|
14
|
-
* User id.
|
15
|
-
*/
|
16
|
-
abstract get id(): UserId
|
17
|
-
|
18
|
-
/**
|
19
|
-
* User name.
|
20
|
-
*/
|
21
|
-
abstract get name(): string
|
22
|
-
|
23
|
-
/**
|
24
|
-
* User email.
|
25
|
-
*/
|
26
|
-
abstract get email(): string
|
27
|
-
|
28
|
-
/**
|
29
|
-
* Is user deleted.
|
30
|
-
*/
|
31
|
-
abstract get isDeleted(): boolean
|
32
|
-
|
33
|
-
/**
|
34
|
-
* Created at.
|
35
|
-
*/
|
36
|
-
abstract get createdAt(): Date
|
37
|
-
|
38
|
-
/**
|
39
|
-
* Modified at.
|
40
|
-
*/
|
41
|
-
abstract get modifiedAt(): Date
|
42
|
-
}
|
package/test/commands.test.ts
DELETED
@@ -1,24 +0,0 @@
|
|
1
|
-
import { Command, CommandHandler } from "../src/services/commandService"
|
2
|
-
import { dataIslandApp } from "../src"
|
3
|
-
import { appTest, UnitTest } from "../src/unitTest"
|
4
|
-
|
5
|
-
class Cmd extends Command {
|
6
|
-
constructor(public readonly name: string = "test") {
|
7
|
-
super()
|
8
|
-
}
|
9
|
-
}
|
10
|
-
|
11
|
-
class CmdHandler extends CommandHandler<Cmd> {
|
12
|
-
async execute(message: Cmd): Promise<void> {
|
13
|
-
expect(message.name).toBe("test-command")
|
14
|
-
}
|
15
|
-
}
|
16
|
-
|
17
|
-
test("Commands test", async () => {
|
18
|
-
await appTest(UnitTest.DEFAULT, async () => {
|
19
|
-
const app = await dataIslandApp("test-commands", async builder => {
|
20
|
-
builder.registerCommand(Cmd, context => new CmdHandler(context))
|
21
|
-
})
|
22
|
-
expect(app.context.execute(new Cmd("test-command"))).toBeDefined()
|
23
|
-
})
|
24
|
-
})
|
package/test/data/test_file.pdf
DELETED
Binary file
|
package/test/disposable.test.ts
DELETED
@@ -1,39 +0,0 @@
|
|
1
|
-
import { DisposableContainer } from "../src"
|
2
|
-
|
3
|
-
test("DisposableContainer", () => {
|
4
|
-
const disposable = new DisposableContainer()
|
5
|
-
expect(disposable.isDisposed).toBe(false)
|
6
|
-
expect(disposable.lifetime.isDisposed).toBe(false)
|
7
|
-
disposable.dispose()
|
8
|
-
expect(disposable.isDisposed).toBe(true)
|
9
|
-
expect(disposable.lifetime.isDisposed).toBe(true)
|
10
|
-
})
|
11
|
-
|
12
|
-
test("DisposableContainer, dispose order", () => {
|
13
|
-
const indexes: number[] = []
|
14
|
-
const disposable = new DisposableContainer()
|
15
|
-
disposable.addCallback(() => {
|
16
|
-
indexes.push(1)
|
17
|
-
})
|
18
|
-
|
19
|
-
const nested = disposable.defineNested()
|
20
|
-
nested.addCallback(() => {
|
21
|
-
indexes.push(2)
|
22
|
-
})
|
23
|
-
|
24
|
-
nested.lifetime.addCallback(() => {
|
25
|
-
indexes.push(3)
|
26
|
-
})
|
27
|
-
|
28
|
-
nested.lifetime.defineNested().addCallback(() => {
|
29
|
-
indexes.push(4)
|
30
|
-
})
|
31
|
-
|
32
|
-
nested.lifetime.defineNested().addCallback(() => {
|
33
|
-
indexes.push(5)
|
34
|
-
})
|
35
|
-
|
36
|
-
disposable.dispose()
|
37
|
-
|
38
|
-
expect(indexes).toEqual([5, 4, 3, 2, 1])
|
39
|
-
})
|
package/test/events.test.ts
DELETED
@@ -1,151 +0,0 @@
|
|
1
|
-
import { EventDispatcher } from "../src"
|
2
|
-
|
3
|
-
test("Events, test general", () => {
|
4
|
-
enum ET {
|
5
|
-
A,
|
6
|
-
B
|
7
|
-
}
|
8
|
-
|
9
|
-
const dispatch = new EventDispatcher<ET, number>()
|
10
|
-
|
11
|
-
let a1 = 0
|
12
|
-
let a2 = 0
|
13
|
-
let b1 = 0
|
14
|
-
let b2 = 0
|
15
|
-
|
16
|
-
const aDisposable1 = dispatch.subscribe((evt: { data: number }) => {
|
17
|
-
a1 += evt.data
|
18
|
-
}, ET.A)
|
19
|
-
const aDisposable2 = dispatch.subscribe(evt => {
|
20
|
-
if (evt.type === ET.A) a2 += evt.data
|
21
|
-
})
|
22
|
-
const bDisposable1 = dispatch.subscribe(evt => {
|
23
|
-
b1 += evt.data
|
24
|
-
}, ET.B)
|
25
|
-
const bDisposable2 = dispatch.subscribe(evt => {
|
26
|
-
if (evt.type === ET.B) b2 += evt.data
|
27
|
-
})
|
28
|
-
|
29
|
-
dispatch.dispatch({
|
30
|
-
type: ET.A,
|
31
|
-
data: 1
|
32
|
-
})
|
33
|
-
|
34
|
-
expect(a1).toBe(1)
|
35
|
-
expect(a2).toBe(1)
|
36
|
-
expect(b1).toBe(0)
|
37
|
-
expect(b2).toBe(0)
|
38
|
-
|
39
|
-
aDisposable1.dispose()
|
40
|
-
|
41
|
-
dispatch.dispatch({
|
42
|
-
type: ET.A,
|
43
|
-
data: 2
|
44
|
-
})
|
45
|
-
dispatch.dispatch({
|
46
|
-
type: ET.B,
|
47
|
-
data: 3
|
48
|
-
})
|
49
|
-
|
50
|
-
expect(a1).toBe(1)
|
51
|
-
expect(a2).toBe(3)
|
52
|
-
expect(b1).toBe(3)
|
53
|
-
expect(b2).toBe(3)
|
54
|
-
|
55
|
-
aDisposable2.dispose()
|
56
|
-
|
57
|
-
dispatch.dispatch({
|
58
|
-
type: ET.A,
|
59
|
-
data: 3
|
60
|
-
})
|
61
|
-
|
62
|
-
expect(a1).toBe(1)
|
63
|
-
expect(a2).toBe(3)
|
64
|
-
expect(b1).toBe(3)
|
65
|
-
expect(b2).toBe(3)
|
66
|
-
|
67
|
-
bDisposable1.dispose()
|
68
|
-
bDisposable2.dispose()
|
69
|
-
|
70
|
-
dispatch.dispatch({
|
71
|
-
type: ET.B,
|
72
|
-
data: 4
|
73
|
-
})
|
74
|
-
|
75
|
-
expect(a1).toBe(1)
|
76
|
-
expect(a2).toBe(3)
|
77
|
-
expect(b1).toBe(3)
|
78
|
-
expect(b2).toBe(3)
|
79
|
-
})
|
80
|
-
|
81
|
-
test("Events, test this", () => {
|
82
|
-
enum ET {
|
83
|
-
A,
|
84
|
-
B
|
85
|
-
}
|
86
|
-
|
87
|
-
const dispatch = new EventDispatcher<ET, number>()
|
88
|
-
|
89
|
-
const a = {
|
90
|
-
value: 0
|
91
|
-
}
|
92
|
-
const b = {
|
93
|
-
value: 0
|
94
|
-
}
|
95
|
-
|
96
|
-
const aDisposable = dispatch.subscribe((evt: { data: number }) => {
|
97
|
-
a.value += evt.data
|
98
|
-
}, ET.A)
|
99
|
-
const bDisposable = dispatch.subscribe((evt: { data: number }) => {
|
100
|
-
b.value += evt.data
|
101
|
-
}, ET.B)
|
102
|
-
|
103
|
-
dispatch.dispatch({
|
104
|
-
type: ET.A,
|
105
|
-
data: 1
|
106
|
-
})
|
107
|
-
dispatch.dispatch({
|
108
|
-
type: ET.B,
|
109
|
-
data: 2
|
110
|
-
})
|
111
|
-
|
112
|
-
expect(a.value).toBe(1)
|
113
|
-
expect(b.value).toBe(2)
|
114
|
-
|
115
|
-
aDisposable.dispose()
|
116
|
-
bDisposable.dispose()
|
117
|
-
|
118
|
-
dispatch.dispatch({
|
119
|
-
type: ET.A,
|
120
|
-
data: 3
|
121
|
-
})
|
122
|
-
dispatch.dispatch({
|
123
|
-
type: ET.B,
|
124
|
-
data: 4
|
125
|
-
})
|
126
|
-
|
127
|
-
expect(a.value).toBe(1)
|
128
|
-
expect(b.value).toBe(2)
|
129
|
-
})
|
130
|
-
|
131
|
-
test("Events, test unsubscribe", () => {
|
132
|
-
const dispatch = new EventDispatcher<unknown, number>()
|
133
|
-
|
134
|
-
let index = 0
|
135
|
-
|
136
|
-
dispatch.subscribe(evt => {
|
137
|
-
index += evt.data
|
138
|
-
evt.unsubscribe()
|
139
|
-
})
|
140
|
-
dispatch.subscribe(evt => {
|
141
|
-
index += evt.data
|
142
|
-
})
|
143
|
-
|
144
|
-
dispatch.dispatch({ data: 1 })
|
145
|
-
|
146
|
-
expect(index).toBe(2)
|
147
|
-
|
148
|
-
dispatch.dispatch({ data: 1 })
|
149
|
-
|
150
|
-
expect(index).toBe(3)
|
151
|
-
})
|
package/test/files.test.ts
DELETED
@@ -1,52 +0,0 @@
|
|
1
|
-
import fs from "fs"
|
2
|
-
import { testInWorkspace } from "./setup"
|
3
|
-
|
4
|
-
test("Files", async () => {
|
5
|
-
await testInWorkspace(async (app, org, ws) => {
|
6
|
-
|
7
|
-
expect(app).not.toBeUndefined()
|
8
|
-
expect(org).not.toBeUndefined()
|
9
|
-
|
10
|
-
const buffer = fs.readFileSync("test/data/test_file.pdf")
|
11
|
-
const file_obj = new File([new Uint8Array(buffer)], "test_file.pdf", {
|
12
|
-
type: "application/pdf"
|
13
|
-
})
|
14
|
-
|
15
|
-
const filePromise = ws.files.upload(file_obj)
|
16
|
-
await expect(filePromise).resolves.not.toThrow()
|
17
|
-
const file = await filePromise
|
18
|
-
|
19
|
-
expect(file).not.toBeUndefined()
|
20
|
-
expect(file).not.toBeNull()
|
21
|
-
expect(file.name).toBe("test_file.pdf")
|
22
|
-
|
23
|
-
let status = await file.status()
|
24
|
-
|
25
|
-
expect(status).not.toBeUndefined()
|
26
|
-
expect(status).not.toBeNull()
|
27
|
-
if (!status.success && status.error) {
|
28
|
-
console.error(status.error)
|
29
|
-
}
|
30
|
-
expect(status.success).toBe(true)
|
31
|
-
expect(status.file_id).toBe(file.id)
|
32
|
-
expect(status.file_parts_count).toBeGreaterThanOrEqual(status.completed_parts_count)
|
33
|
-
|
34
|
-
while (
|
35
|
-
status.success &&
|
36
|
-
status.completed_parts_count !== status.file_parts_count
|
37
|
-
) {
|
38
|
-
await new Promise(r => setTimeout(r, 1000))
|
39
|
-
status = await file.status()
|
40
|
-
}
|
41
|
-
|
42
|
-
const queryPromise = ws.files.query("", 0, 20)
|
43
|
-
await expect(queryPromise).resolves.not.toThrow()
|
44
|
-
const filePage = await queryPromise
|
45
|
-
expect(filePage).not.toBeUndefined()
|
46
|
-
expect(filePage).not.toBeNull()
|
47
|
-
expect(filePage.files.length).toBe(1)
|
48
|
-
expect(filePage.pages).toBe(1)
|
49
|
-
|
50
|
-
await expect(ws.files.delete(file.id)).resolves.not.toThrow()
|
51
|
-
})
|
52
|
-
})
|
package/test/index.test.ts
DELETED
@@ -1,122 +0,0 @@
|
|
1
|
-
import { version } from "../package.json"
|
2
|
-
import {
|
3
|
-
DataIslandApp,
|
4
|
-
BasicCredential,
|
5
|
-
dataIslandApp,
|
6
|
-
SDK_VERSION,
|
7
|
-
DEFAULT_NAME,
|
8
|
-
DebugCredential
|
9
|
-
} from "../src"
|
10
|
-
import { MiddlewareService } from "../src/services/middlewareService"
|
11
|
-
import { CredentialService } from "../src/services/credentialService"
|
12
|
-
import { RpcService } from "../src/services/rpcService"
|
13
|
-
import { AppBuilder } from "../src/appBuilder"
|
14
|
-
import { UnitTest, appTest } from "../src/unitTest"
|
15
|
-
import { HOST, randomHash, TOKEN } from "./setup"
|
16
|
-
|
17
|
-
test("SDK_VERSION", () => {
|
18
|
-
expect(SDK_VERSION).toBe(version)
|
19
|
-
})
|
20
|
-
|
21
|
-
test("Default SDK", async () => {
|
22
|
-
// default
|
23
|
-
const app = await dataIslandApp(DEFAULT_NAME, async (builder: AppBuilder) => {
|
24
|
-
builder.useHost(HOST)
|
25
|
-
builder.useCredential(new DebugCredential(TOKEN))
|
26
|
-
})
|
27
|
-
expect(app).not.toBeUndefined()
|
28
|
-
})
|
29
|
-
|
30
|
-
test("SDK, middleware", async () => {
|
31
|
-
await appTest(UnitTest.DEFAULT, async () => {
|
32
|
-
const app = await dataIslandApp("test-settings", async (builder: AppBuilder) => {
|
33
|
-
builder.useHost("https://test.com")
|
34
|
-
builder.useAutomaticDataCollectionEnabled(false)
|
35
|
-
builder.useCredential(new BasicCredential("email", "password"))
|
36
|
-
builder.registerMiddleware(async (req, next) => {
|
37
|
-
req.headers.set("X-Test", "test")
|
38
|
-
return await next(req)
|
39
|
-
})
|
40
|
-
})
|
41
|
-
expect(app.name).toBe("test-settings")
|
42
|
-
expect(app.host).toBe("https://test.com")
|
43
|
-
expect(app.automaticDataCollectionEnabled).toBe(false)
|
44
|
-
})
|
45
|
-
})
|
46
|
-
|
47
|
-
test("SDK, services", async () => {
|
48
|
-
await appTest(UnitTest.DEFAULT, async () => {
|
49
|
-
const app = await dataIslandApp("test-sdk")
|
50
|
-
const middlewareService = app.resolve(MiddlewareService)
|
51
|
-
expect(middlewareService).not.toBeUndefined()
|
52
|
-
expect(app.resolve(MiddlewareService)).toBe(middlewareService)
|
53
|
-
expect(app.resolve(CredentialService)).not.toBeUndefined()
|
54
|
-
expect(app.resolve(RpcService)).not.toBeUndefined()
|
55
|
-
expect(app.resolve(RpcService)).toBeInstanceOf(RpcService)
|
56
|
-
})
|
57
|
-
})
|
58
|
-
|
59
|
-
test("SDK, middleware", async () => {
|
60
|
-
await appTest(UnitTest.DEFAULT, async () => {
|
61
|
-
const app = await dataIslandApp("test-middleware")
|
62
|
-
const middlewareService = app.resolve(MiddlewareService)
|
63
|
-
expect(middlewareService).not.toBeUndefined()
|
64
|
-
expect(app.resolve(MiddlewareService)).toBe(middlewareService)
|
65
|
-
expect(app.resolve(CredentialService)).not.toBeUndefined()
|
66
|
-
|
67
|
-
const response = await middlewareService?.process(
|
68
|
-
new Request("http://localhost:8080"),
|
69
|
-
async (req: Request): Promise<Response> => {
|
70
|
-
const headerXTest = req.headers.get("Custom-Test-Header")
|
71
|
-
expect(headerXTest).toBeNull()
|
72
|
-
return new Response("", { status: 200 })
|
73
|
-
}
|
74
|
-
)
|
75
|
-
expect(response).not.toBeUndefined()
|
76
|
-
expect(response?.status).toBe(200)
|
77
|
-
|
78
|
-
middlewareService?.useMiddleware(async (req, next) => {
|
79
|
-
req.headers.set("X-Test", "test-value")
|
80
|
-
return await next(req)
|
81
|
-
})
|
82
|
-
|
83
|
-
const response2 = await middlewareService?.process(
|
84
|
-
new Request("https://localhost:8080"),
|
85
|
-
async (req: Request): Promise<Response> => {
|
86
|
-
expect(req.headers.get("X-Test")).toBe("test-value")
|
87
|
-
return new Response("", { status: 400 })
|
88
|
-
}
|
89
|
-
)
|
90
|
-
expect(response2).not.toBeUndefined()
|
91
|
-
expect(response2?.status).toBe(400)
|
92
|
-
})
|
93
|
-
})
|
94
|
-
|
95
|
-
test("SDK, it is impossible to setup the same application", async () => {
|
96
|
-
await appTest(UnitTest.DEFAULT, async () => {
|
97
|
-
// this test is not stable if you run all tests at once
|
98
|
-
// because the app is cached all app instances
|
99
|
-
// we use a random identifier every time
|
100
|
-
const testId = `test-setup-${randomHash()}`
|
101
|
-
const promise = dataIslandApp(testId).then(() => {
|
102
|
-
})
|
103
|
-
await expect(
|
104
|
-
dataIslandApp(testId, async () => {
|
105
|
-
})
|
106
|
-
).rejects.toThrow()
|
107
|
-
await promise
|
108
|
-
})
|
109
|
-
})
|
110
|
-
|
111
|
-
test("SDK, setup and get this app", async () => {
|
112
|
-
await appTest(UnitTest.DEFAULT, async () => {
|
113
|
-
// this test is not stable if you run all tests at once
|
114
|
-
// because the app is cached all app instances
|
115
|
-
// we use a random identifier every time
|
116
|
-
const testId = `test-get-${randomHash()}`
|
117
|
-
const promise = dataIslandApp(testId).then(() => {
|
118
|
-
})
|
119
|
-
await expect(dataIslandApp(testId)).resolves.toBeInstanceOf(DataIslandApp)
|
120
|
-
await promise
|
121
|
-
})
|
122
|
-
})
|
@@ -1,57 +0,0 @@
|
|
1
|
-
import { dataIslandApp, DebugCredential } from "../src"
|
2
|
-
import { HOST, randomHash, TOKEN } from "./setup"
|
3
|
-
import { OrganizationImpl } from "../src/storages/organization.impl"
|
4
|
-
|
5
|
-
test("Organization", async () => {
|
6
|
-
// make random name
|
7
|
-
const randomName = `org-test-${randomHash()}`
|
8
|
-
|
9
|
-
// create app
|
10
|
-
const app = await dataIslandApp(randomName, async builder => {
|
11
|
-
builder.useHost(HOST)
|
12
|
-
builder.useCredential(new DebugCredential(TOKEN))
|
13
|
-
})
|
14
|
-
|
15
|
-
// save init length
|
16
|
-
const initLength = app.organizations.collection.length
|
17
|
-
|
18
|
-
// create organization
|
19
|
-
const org = await app.organizations.create(
|
20
|
-
randomName,
|
21
|
-
"this is a unitTest description"
|
22
|
-
)
|
23
|
-
|
24
|
-
// check organization
|
25
|
-
expect(org).not.toBeUndefined()
|
26
|
-
expect(org).not.toBeNull()
|
27
|
-
expect(org).toBeInstanceOf(OrganizationImpl)
|
28
|
-
|
29
|
-
expect(org.id).not.toBeUndefined()
|
30
|
-
expect(org.id).not.toBeNull()
|
31
|
-
expect(org.id.trim()).not.toBe("")
|
32
|
-
|
33
|
-
// check name
|
34
|
-
expect(org.name).not.toBeUndefined()
|
35
|
-
expect(org.name).not.toBeNull()
|
36
|
-
expect(org.name.trim()).not.toBe("")
|
37
|
-
|
38
|
-
// check description
|
39
|
-
expect(org.description).not.toBeUndefined()
|
40
|
-
expect(org.description).not.toBeNull()
|
41
|
-
expect(org.description.trim()).not.toBe("")
|
42
|
-
|
43
|
-
// check organizations
|
44
|
-
expect(app.organizations.get(org.id)).toBe(org)
|
45
|
-
expect(app.organizations.tryGet(org.id)).toBe(org)
|
46
|
-
expect(app.organizations.collection.length).toBe(initLength + 1)
|
47
|
-
|
48
|
-
// delete organization
|
49
|
-
await expect(app.organizations.delete(org.id)).resolves.not.toThrow()
|
50
|
-
expect((<OrganizationImpl>org).isDisposed).toBe(true)
|
51
|
-
|
52
|
-
// check init length
|
53
|
-
expect(app.organizations.collection.length).toBe(initLength)
|
54
|
-
|
55
|
-
// check organization must be undefined because it was deleted
|
56
|
-
expect(app.organizations.tryGet(org.id)).toBeUndefined()
|
57
|
-
})
|