@neuralinnovations/dataisland-sdk 0.0.1-dev7 → 0.0.1-dev71
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 +204 -6
- 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 +39 -0
- package/dist/src/credentials.d.ts.map +1 -0
- package/dist/src/credentials.js +105 -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 +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/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/apiKeyResponse.d.ts +19 -0
- package/dist/src/dto/apiKeyResponse.d.ts.map +1 -0
- package/dist/src/dto/apiKeyResponse.js +3 -0
- package/dist/src/dto/apiKeyResponse.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/invitesResponse.d.ts +21 -0
- package/dist/src/dto/invitesResponse.d.ts.map +1 -0
- package/dist/src/dto/invitesResponse.js +3 -0
- package/dist/src/dto/invitesResponse.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 +92 -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 +68 -0
- package/dist/src/dto/workspacesResponse.d.ts.map +1 -0
- package/dist/src/dto/workspacesResponse.js +21 -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 +75 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +124 -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 +19 -0
- package/dist/src/services/requestBuilder.d.ts.map +1 -0
- package/dist/src/services/requestBuilder.js +133 -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 +134 -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 +55 -0
- package/dist/src/storages/chats/chat.d.ts.map +1 -0
- package/dist/src/storages/chats/chat.impl.d.ts +28 -0
- package/dist/src/storages/chats/chat.impl.d.ts.map +1 -0
- package/dist/src/storages/chats/chat.impl.js +106 -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 +130 -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 +137 -0
- package/dist/src/storages/organizations/organization.d.ts.map +1 -0
- package/dist/src/storages/organizations/organization.impl.d.ts +55 -0
- package/dist/src/storages/organizations/organization.impl.d.ts.map +1 -0
- package/dist/src/storages/organizations/organization.impl.js +362 -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 +77 -0
- package/dist/src/storages/organizations/organizations.d.ts.map +1 -0
- package/dist/src/storages/organizations/organizations.impl.d.ts +45 -0
- package/dist/src/storages/organizations/organizations.impl.d.ts.map +1 -0
- package/dist/src/storages/organizations/organizations.impl.js +242 -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 +64 -0
- package/dist/src/storages/user/userProfile.d.ts.map +1 -0
- package/dist/src/storages/user/userProfile.impl.d.ts +24 -0
- package/dist/src/storages/user/userProfile.impl.d.ts.map +1 -0
- package/dist/src/storages/user/userProfile.impl.js +129 -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 +44 -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 +46 -0
- package/src/dataIslandApp.ts +8 -2
- package/src/disposable.ts +18 -5
- package/src/dto/accessGroupResponse.ts +17 -16
- package/src/dto/acquiringResponse.ts +54 -0
- package/src/dto/apiKeyResponse.ts +23 -0
- package/src/dto/badRequestResponse.ts +6 -0
- package/src/dto/chatResponse.ts +60 -54
- package/src/dto/invitesResponse.ts +25 -0
- 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 +64 -2
- package/src/dto/workspacesResponse.ts +38 -3
- package/src/index.ts +59 -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 +48 -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 +178 -0
- package/src/storages/chats/answer.ts +53 -0
- package/src/storages/chats/chat.impl.ts +139 -0
- package/src/storages/chats/chat.ts +70 -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 +162 -0
- package/src/storages/files/file.ts +74 -0
- package/src/storages/{files.impl.ts → files/files.impl.ts} +89 -67
- 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 +555 -0
- package/src/storages/organizations/organization.ts +168 -0
- package/src/storages/{organizations.impl.ts → organizations/organizations.impl.ts} +161 -12
- package/src/storages/organizations/organizations.ts +93 -0
- package/src/storages/user/userProfile.impl.ts +157 -0
- package/src/storages/user/userProfile.ts +81 -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 -41
- package/.prettierignore +0 -1
- package/.prettierrc +0 -11
- package/.yarnrc +0 -2
- package/babel.config.js +0 -6
- package/docs/.nojekyll +0 -1
- package/docs/classes/BasicCredential.md +0 -80
- package/docs/classes/BearerCredential.md +0 -72
- package/docs/classes/Chat.md +0 -69
- package/docs/classes/Chats.md +0 -90
- package/docs/classes/CredentialBase.md +0 -54
- package/docs/classes/DataIslandApp.md +0 -168
- package/docs/classes/DebugCredential.md +0 -72
- package/docs/classes/DefaultCredential.md +0 -56
- package/docs/classes/DisposableContainer.md +0 -177
- package/docs/classes/EventDispatcher.md +0 -109
- package/docs/classes/File.md +0 -79
- package/docs/classes/Files.md +0 -136
- package/docs/classes/FilesPage.md +0 -76
- package/docs/classes/Group.md +0 -191
- package/docs/classes/Groups.md +0 -130
- package/docs/classes/Lifetime.md +0 -108
- package/docs/classes/Organization.md +0 -89
- package/docs/classes/Organizations.md +0 -195
- package/docs/classes/UserProfile.md +0 -156
- package/docs/classes/Workspace.md +0 -165
- package/docs/classes/Workspaces.md +0 -189
- package/docs/enums/ChatAnswer.md +0 -22
- package/docs/enums/ChatsEvent.md +0 -22
- package/docs/enums/FilesEvent.md +0 -24
- package/docs/enums/GroupEvent.md +0 -29
- package/docs/enums/OrganizationsEvent.md +0 -31
- package/docs/enums/UserEvent.md +0 -15
- package/docs/enums/WorkspaceEvent.md +0 -17
- package/docs/enums/WorkspacesEvent.md +0 -24
- package/docs/interfaces/Disposable.md +0 -25
- package/docs/interfaces/Event.md +0 -58
- package/docs/interfaces/EventSubscriber.md +0 -41
- package/docs/interfaces/Input.md +0 -35
- package/docs/modules.md +0 -205
- package/jest.config.ts +0 -199
- package/jest.setup.ts +0 -2
- package/scripts/docs/index.js +0 -15
- 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/organizations.ts +0 -56
- 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
@@ -1,337 +0,0 @@
|
|
1
|
-
import { Context } from "../context"
|
2
|
-
import { Disposable } from "../disposable"
|
3
|
-
import { AccessGroupDto, AccessGroupResponse, AccessGroupsResponse } from "../dto/accessGroupResponse"
|
4
|
-
import { UserDto } from "../dto/userInfoResponse"
|
5
|
-
import { WorkspaceDto, WorkspacesResponse } from "../dto/workspacesResponse"
|
6
|
-
import { RpcService } from "../services/rpcService"
|
7
|
-
import { Group, GroupEvent, GroupId, Groups } from "./groups"
|
8
|
-
import { OrganizationImpl } from "./organization.impl"
|
9
|
-
import { OrganizationId } from "./organizations"
|
10
|
-
|
11
|
-
export class GroupImpl extends Group implements Disposable {
|
12
|
-
private _isDisposed: boolean = false
|
13
|
-
private _content?: AccessGroupDto
|
14
|
-
private _members?: UserDto[]
|
15
|
-
|
16
|
-
constructor(
|
17
|
-
private readonly context: Context
|
18
|
-
) {
|
19
|
-
super()
|
20
|
-
}
|
21
|
-
|
22
|
-
async initFrom(id: GroupId): Promise<Group>{
|
23
|
-
const response = await this.context.resolve(RpcService)
|
24
|
-
?.requestBuilder("api/v1/AccessGroups")
|
25
|
-
.searchParam("id", id)
|
26
|
-
.sendGet()
|
27
|
-
|
28
|
-
if (!response?.ok) {
|
29
|
-
let text: string = ""
|
30
|
-
try {
|
31
|
-
text = (await response?.text()) ?? ""
|
32
|
-
} catch (e) {
|
33
|
-
console.error(e)
|
34
|
-
}
|
35
|
-
|
36
|
-
throw new Error(
|
37
|
-
`Get group, response is not ok, status: ${response?.status},${response?.statusText} ${text}`
|
38
|
-
)
|
39
|
-
}
|
40
|
-
|
41
|
-
const group = (await response.json()) as AccessGroupResponse
|
42
|
-
|
43
|
-
this._content = group.group
|
44
|
-
this._members = group.members
|
45
|
-
|
46
|
-
return this
|
47
|
-
}
|
48
|
-
|
49
|
-
get id(): GroupId {
|
50
|
-
if (this._content) {
|
51
|
-
return this._content.id
|
52
|
-
}
|
53
|
-
throw new Error("Access group is not loaded.")
|
54
|
-
}
|
55
|
-
|
56
|
-
get group(): AccessGroupDto {
|
57
|
-
if (this._content) {
|
58
|
-
return this._content
|
59
|
-
}
|
60
|
-
throw new Error("Access group is not loaded.")
|
61
|
-
}
|
62
|
-
|
63
|
-
async getWorkspaces(): Promise<WorkspaceDto[]> {
|
64
|
-
const response = await this.context.resolve(RpcService)
|
65
|
-
?.requestBuilder("api/v1/Organizations/workspaces")
|
66
|
-
.searchParam("groupId", this.id)
|
67
|
-
.sendGet()
|
68
|
-
|
69
|
-
if (!response?.ok) {
|
70
|
-
let text: string = ""
|
71
|
-
try {
|
72
|
-
text = (await response?.text()) ?? ""
|
73
|
-
} catch (e) {
|
74
|
-
console.error(e)
|
75
|
-
}
|
76
|
-
|
77
|
-
throw new Error(
|
78
|
-
`Groups get workspaces, response is not ok, status: ${response?.status},${response?.statusText} ${text}`
|
79
|
-
)
|
80
|
-
}
|
81
|
-
|
82
|
-
const workspaces = (await response.json()) as WorkspacesResponse
|
83
|
-
|
84
|
-
return workspaces.workspaces
|
85
|
-
}
|
86
|
-
|
87
|
-
get members(): UserDto[] {
|
88
|
-
if (this._members){
|
89
|
-
return this._members
|
90
|
-
}
|
91
|
-
throw new Error("Access group is not loaded.")
|
92
|
-
}
|
93
|
-
|
94
|
-
async setName(name: string): Promise<void> {
|
95
|
-
if (name === undefined || name === null) {
|
96
|
-
throw new Error("Groups change, name is undefined or null")
|
97
|
-
}
|
98
|
-
if (name.length === 0 || name.trim().length === 0) {
|
99
|
-
throw new Error("Groups change, name is empty")
|
100
|
-
}
|
101
|
-
const response = await this.context
|
102
|
-
.resolve(RpcService)
|
103
|
-
?.requestBuilder("api/v1/AccessGroups/name")
|
104
|
-
.sendPutJson({
|
105
|
-
groupId: this.id,
|
106
|
-
name: name
|
107
|
-
})
|
108
|
-
|
109
|
-
if (!response?.ok) {
|
110
|
-
throw new Error(
|
111
|
-
`Failed to set new name. ${response?.status}, ${response?.statusText}`
|
112
|
-
)
|
113
|
-
}
|
114
|
-
}
|
115
|
-
|
116
|
-
async setPermits(permits: {isAdmin: boolean}) : Promise<void> {
|
117
|
-
const response = await this.context
|
118
|
-
.resolve(RpcService)
|
119
|
-
?.requestBuilder("api/v1/AccessGroups/permits")
|
120
|
-
.sendPutJson({
|
121
|
-
groupId: this.id,
|
122
|
-
permits: permits
|
123
|
-
})
|
124
|
-
|
125
|
-
if (!response?.ok) {
|
126
|
-
throw new Error(
|
127
|
-
`Failed to set new permits. ${response?.status}, ${response?.statusText}`
|
128
|
-
)
|
129
|
-
}
|
130
|
-
}
|
131
|
-
|
132
|
-
|
133
|
-
async setWorkspaces(workspaces: string[]): Promise<void> {
|
134
|
-
if (workspaces === null || workspaces === undefined){
|
135
|
-
throw new Error("Group add workspaces, workspaces is undefined or null")
|
136
|
-
}
|
137
|
-
|
138
|
-
const response = await this.context
|
139
|
-
.resolve(RpcService)
|
140
|
-
?.requestBuilder("api/v1/AccessGroups/workspaces")
|
141
|
-
.sendPutJson({
|
142
|
-
groupId: this.id,
|
143
|
-
actualWorkspaceIds: workspaces
|
144
|
-
})
|
145
|
-
|
146
|
-
if (!response?.ok) {
|
147
|
-
throw new Error(
|
148
|
-
`Failed to set new member Ids. ${response?.status}, ${response?.statusText}`
|
149
|
-
)
|
150
|
-
}
|
151
|
-
}
|
152
|
-
|
153
|
-
|
154
|
-
async setMembersIds(members: string[]) {
|
155
|
-
if (members === null || members === undefined){
|
156
|
-
throw new Error("Group add members, members is undefined or null")
|
157
|
-
}
|
158
|
-
|
159
|
-
const response = await this.context
|
160
|
-
.resolve(RpcService)
|
161
|
-
?.requestBuilder("api/v1/AccessGroups/members")
|
162
|
-
.sendPutJson({
|
163
|
-
groupId: this.id,
|
164
|
-
memberIds: members
|
165
|
-
})
|
166
|
-
|
167
|
-
if (!response?.ok) {
|
168
|
-
throw new Error(
|
169
|
-
`Failed to set new member Ids. ${response?.status}, ${response?.statusText}`
|
170
|
-
)
|
171
|
-
}
|
172
|
-
|
173
|
-
}
|
174
|
-
|
175
|
-
get isDisposed(): boolean {
|
176
|
-
return this._isDisposed
|
177
|
-
}
|
178
|
-
|
179
|
-
dispose(): void {
|
180
|
-
this._isDisposed = true
|
181
|
-
}
|
182
|
-
}
|
183
|
-
|
184
|
-
export class GroupsImpl extends Groups {
|
185
|
-
|
186
|
-
private _groups: Group[] = []
|
187
|
-
|
188
|
-
constructor(
|
189
|
-
private readonly organization: OrganizationImpl,
|
190
|
-
private readonly context: Context
|
191
|
-
) {
|
192
|
-
super()
|
193
|
-
}
|
194
|
-
|
195
|
-
async initialize(){
|
196
|
-
await this.internalInit()
|
197
|
-
}
|
198
|
-
|
199
|
-
async create(name: string, organizationId: OrganizationId, permits: { isAdmin: boolean }, memberIds: string[]): Promise<Group> {
|
200
|
-
return await this.internalCreate(name, organizationId, permits, memberIds)
|
201
|
-
}
|
202
|
-
async get(id: GroupId): Promise<Group | undefined> {
|
203
|
-
return await this._groups.find(group => group.id === id)
|
204
|
-
}
|
205
|
-
async delete(id: GroupId): Promise<void> {
|
206
|
-
return await this.internalDeleteGroup(id)
|
207
|
-
}
|
208
|
-
|
209
|
-
|
210
|
-
//----------------------------------------------------------------------------
|
211
|
-
// INTERNALS
|
212
|
-
//----------------------------------------------------------------------------
|
213
|
-
|
214
|
-
/**
|
215
|
-
* Init access groups.
|
216
|
-
*/
|
217
|
-
async internalInit(): Promise<void> {
|
218
|
-
const response = await this.context.resolve(RpcService)
|
219
|
-
?.requestBuilder("api/v1/Organizations/access_groups")
|
220
|
-
.searchParam("id", this.organization.id)
|
221
|
-
.sendGet()
|
222
|
-
|
223
|
-
if (!response?.ok) {
|
224
|
-
let text: string = ""
|
225
|
-
try {
|
226
|
-
text = (await response?.text()) ?? ""
|
227
|
-
} catch (e) {
|
228
|
-
console.error(e)
|
229
|
-
}
|
230
|
-
|
231
|
-
throw new Error(
|
232
|
-
`Groups init, response is not ok, status: ${response?.status},${response?.statusText} ${text}`
|
233
|
-
)
|
234
|
-
}
|
235
|
-
|
236
|
-
const groups = (await response.json()) as AccessGroupsResponse
|
237
|
-
|
238
|
-
for (const gr of groups.groups){
|
239
|
-
const group = await new GroupImpl(this.context).initFrom(gr.id)
|
240
|
-
|
241
|
-
this._groups.push(group)
|
242
|
-
|
243
|
-
this.dispatch({
|
244
|
-
type: GroupEvent.ADDED,
|
245
|
-
data: group
|
246
|
-
})
|
247
|
-
}
|
248
|
-
}
|
249
|
-
|
250
|
-
async internalCreate(name: string, organizationId: OrganizationId, permits: { isAdmin: boolean }, memberIds: string[]): Promise<Group>{
|
251
|
-
if (name === undefined || name === null) {
|
252
|
-
throw new Error("Group create, name is undefined or null")
|
253
|
-
}
|
254
|
-
if (name.length === 0 || name.trim().length === 0) {
|
255
|
-
throw new Error("Group create, name is empty")
|
256
|
-
}
|
257
|
-
|
258
|
-
const response = await this.context
|
259
|
-
.resolve(RpcService)
|
260
|
-
?.requestBuilder("api/v1/AccessGroups")
|
261
|
-
.sendPostJson({
|
262
|
-
name: name,
|
263
|
-
organizationId: organizationId,
|
264
|
-
permits: permits,
|
265
|
-
memberIds: memberIds
|
266
|
-
})
|
267
|
-
|
268
|
-
if (!response?.ok) {
|
269
|
-
throw new Error(
|
270
|
-
`Organization create, response is not ok: ${response?.status}/${response?.statusText}`
|
271
|
-
)
|
272
|
-
}
|
273
|
-
const content = (await response.json()) as AccessGroupResponse
|
274
|
-
|
275
|
-
const group = await new GroupImpl(this.context).initFrom(content.group.id)
|
276
|
-
|
277
|
-
this._groups.push(group)
|
278
|
-
|
279
|
-
this.dispatch({
|
280
|
-
type: GroupEvent.ADDED,
|
281
|
-
data: group
|
282
|
-
})
|
283
|
-
|
284
|
-
return group
|
285
|
-
}
|
286
|
-
|
287
|
-
/**
|
288
|
-
* Delete group.
|
289
|
-
* @param id
|
290
|
-
*/
|
291
|
-
async internalDeleteGroup(id: GroupId): Promise<void> {
|
292
|
-
if (id === undefined || id === null) {
|
293
|
-
throw new Error("Group delete, id is undefined or null")
|
294
|
-
}
|
295
|
-
if (id.length === 0 || id.trim().length === 0) {
|
296
|
-
throw new Error("Group delete, id is empty")
|
297
|
-
}
|
298
|
-
|
299
|
-
const response = await this.context
|
300
|
-
.resolve(RpcService)
|
301
|
-
?.requestBuilder("/api/v1/AccessGroups")
|
302
|
-
.searchParam("groupId", id)
|
303
|
-
.sendDelete()
|
304
|
-
if (!response?.ok) {
|
305
|
-
let text: string = ""
|
306
|
-
try {
|
307
|
-
text = (await response?.text()) ?? ""
|
308
|
-
} catch (e) {
|
309
|
-
console.error(e)
|
310
|
-
}
|
311
|
-
|
312
|
-
throw new Error(
|
313
|
-
`Group ${id} delete, response is not ok, status: ${response?.status},${response?.statusText} ${text}`
|
314
|
-
)
|
315
|
-
}
|
316
|
-
|
317
|
-
const group = <GroupImpl>this._groups.find(f => f.id === id)
|
318
|
-
const index = this._groups.indexOf(group)
|
319
|
-
if (index < 0) {
|
320
|
-
throw new Error("Group delete, index is not found")
|
321
|
-
}
|
322
|
-
|
323
|
-
// remove group from collection
|
324
|
-
this._groups.splice(index, 1)
|
325
|
-
|
326
|
-
// dispatch event, group removed
|
327
|
-
this.dispatch({
|
328
|
-
type: GroupEvent.REMOVED,
|
329
|
-
data: group
|
330
|
-
})
|
331
|
-
|
332
|
-
// dispose group
|
333
|
-
group.dispose()
|
334
|
-
}
|
335
|
-
|
336
|
-
|
337
|
-
}
|
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 { EventDispatcher } from "../events"
|
2
|
-
import { Organization } from "./organization"
|
3
|
-
|
4
|
-
/**
|
5
|
-
* Organization id.
|
6
|
-
*/
|
7
|
-
export type OrganizationId = string
|
8
|
-
|
9
|
-
/**
|
10
|
-
* Organization event.
|
11
|
-
*/
|
12
|
-
export enum OrganizationsEvent {
|
13
|
-
ADDED = "added",
|
14
|
-
REMOVED = "removed",
|
15
|
-
CURRENT_CHANGED = "currentChanged"
|
16
|
-
}
|
17
|
-
|
18
|
-
/**
|
19
|
-
* Organizations storage.
|
20
|
-
*/
|
21
|
-
export abstract class Organizations extends EventDispatcher<
|
22
|
-
OrganizationsEvent,
|
23
|
-
Organization
|
24
|
-
> {
|
25
|
-
/**
|
26
|
-
* User's organizations.
|
27
|
-
*/
|
28
|
-
abstract get collection(): ReadonlyArray<Organization>
|
29
|
-
|
30
|
-
/**
|
31
|
-
* Current organization.
|
32
|
-
*/
|
33
|
-
abstract get current(): OrganizationId
|
34
|
-
abstract set current(value: OrganizationId)
|
35
|
-
|
36
|
-
/**
|
37
|
-
* Get organization by id.
|
38
|
-
*/
|
39
|
-
abstract get(id: OrganizationId): Organization
|
40
|
-
|
41
|
-
/**
|
42
|
-
* Try to get organization by id.
|
43
|
-
* @param id
|
44
|
-
*/
|
45
|
-
abstract tryGet(id: OrganizationId): Organization | undefined
|
46
|
-
|
47
|
-
/**
|
48
|
-
* Create new organization.
|
49
|
-
*/
|
50
|
-
abstract create(name: string, description: string): Promise<Organization>
|
51
|
-
|
52
|
-
/**
|
53
|
-
* Delete organization.
|
54
|
-
*/
|
55
|
-
abstract delete(id: OrganizationId): Promise<void>
|
56
|
-
}
|
@@ -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
|
-
})
|