@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,17 +1,19 @@
|
|
1
|
+
// import { Request, Response, Headers, FormData } from "../utils/request"
|
2
|
+
|
1
3
|
export class RequestBuilder {
|
2
|
-
private readonly _headers:
|
4
|
+
private readonly _headers: Record<string, string>
|
3
5
|
private readonly _searchParams: URLSearchParams
|
4
6
|
|
5
7
|
constructor(
|
6
8
|
private readonly _url: URL,
|
7
9
|
private readonly _request: (req: Request) => Promise<Response>
|
8
10
|
) {
|
9
|
-
this._headers =
|
11
|
+
this._headers = {}
|
10
12
|
this._searchParams = new URLSearchParams()
|
11
13
|
}
|
12
14
|
|
13
15
|
public header(name: string, value: string): RequestBuilder {
|
14
|
-
this._headers
|
16
|
+
this._headers[name] = value
|
15
17
|
return this
|
16
18
|
}
|
17
19
|
|
@@ -23,11 +25,11 @@ export class RequestBuilder {
|
|
23
25
|
}
|
24
26
|
if (headers instanceof Headers) {
|
25
27
|
headers.forEach((value, name) => {
|
26
|
-
this._headers
|
28
|
+
this._headers[name] = value
|
27
29
|
})
|
28
30
|
} else {
|
29
31
|
Object.entries(headers).forEach(([name, value]) => {
|
30
|
-
this._headers
|
32
|
+
this._headers[name] = value
|
31
33
|
})
|
32
34
|
}
|
33
35
|
return this
|
@@ -58,7 +60,7 @@ export class RequestBuilder {
|
|
58
60
|
const req = new Request(url, {
|
59
61
|
method: "POST",
|
60
62
|
headers: this._headers,
|
61
|
-
body
|
63
|
+
body: body
|
62
64
|
})
|
63
65
|
|
64
66
|
// discard content type
|
@@ -73,7 +75,7 @@ export class RequestBuilder {
|
|
73
75
|
public async sendPostJson(body: object | null | undefined): Promise<Response> {
|
74
76
|
const url = this._url
|
75
77
|
url.search = this._searchParams.toString()
|
76
|
-
let json: string |
|
78
|
+
let json: string | undefined = undefined
|
77
79
|
if (body !== undefined && body !== null && typeof body === "object") {
|
78
80
|
json = JSON.stringify(body)
|
79
81
|
}
|
@@ -109,10 +111,26 @@ export class RequestBuilder {
|
|
109
111
|
)
|
110
112
|
}
|
111
113
|
|
114
|
+
public async sendDeleteJson(body: object | null | undefined): Promise<Response> {
|
115
|
+
const url = this._url
|
116
|
+
url.search = this._searchParams.toString()
|
117
|
+
let json: string | undefined = undefined
|
118
|
+
if (body !== undefined && body !== null && typeof body === "object") {
|
119
|
+
json = JSON.stringify(body)
|
120
|
+
}
|
121
|
+
return await this._request(
|
122
|
+
new Request(url, {
|
123
|
+
method: "DELETE",
|
124
|
+
headers: this._headers,
|
125
|
+
body: json
|
126
|
+
})
|
127
|
+
)
|
128
|
+
}
|
129
|
+
|
112
130
|
public async sendPutJson(body: object | null | undefined): Promise<Response> {
|
113
131
|
const url = this._url
|
114
132
|
url.search = this._searchParams.toString()
|
115
|
-
let json: string |
|
133
|
+
let json: string | undefined = undefined
|
116
134
|
if (body !== undefined && body !== null && typeof body === "object") {
|
117
135
|
json = JSON.stringify(body)
|
118
136
|
}
|
@@ -124,4 +142,26 @@ export class RequestBuilder {
|
|
124
142
|
})
|
125
143
|
)
|
126
144
|
}
|
145
|
+
|
146
|
+
public async sendPutFormData(body: FormData): Promise<Response> {
|
147
|
+
const url = this._url
|
148
|
+
|
149
|
+
// set search params
|
150
|
+
url.search = this._searchParams.toString()
|
151
|
+
|
152
|
+
// create request
|
153
|
+
const req = new Request(url, {
|
154
|
+
method: "PUT",
|
155
|
+
headers: this._headers,
|
156
|
+
body: body
|
157
|
+
})
|
158
|
+
|
159
|
+
// discard content type
|
160
|
+
const reqAny = req as any
|
161
|
+
reqAny.discardContentType = true
|
162
|
+
|
163
|
+
return await this._request(
|
164
|
+
req
|
165
|
+
)
|
166
|
+
}
|
127
167
|
}
|
@@ -1,3 +1,6 @@
|
|
1
|
+
import { BadRequest } from "../dto/badRequestResponse"
|
2
|
+
import { Response } from "../utils/request"
|
3
|
+
|
1
4
|
export class ResponseUtils {
|
2
5
|
public static isOk(response?: Response | null): boolean {
|
3
6
|
return response !== undefined && response !== null && response.ok
|
@@ -7,6 +10,15 @@ export class ResponseUtils {
|
|
7
10
|
return !ResponseUtils.isOk(response)
|
8
11
|
}
|
9
12
|
|
13
|
+
public static async isLimitReached(response?: Response | null): Promise<boolean> {
|
14
|
+
if (response?.status == 15){
|
15
|
+
if (((await response?.json()) as BadRequest).code == 15){
|
16
|
+
return true
|
17
|
+
}
|
18
|
+
}
|
19
|
+
return false
|
20
|
+
}
|
21
|
+
|
10
22
|
public static async throwError(
|
11
23
|
message: string,
|
12
24
|
response: Response | undefined | null
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import { Service, type ServiceContext } from "./service"
|
2
2
|
import { MiddlewareService } from "./middlewareService"
|
3
3
|
import { RequestBuilder } from "./requestBuilder"
|
4
|
+
// import { Request, Response, Headers, fetch } from "../utils/request"
|
4
5
|
|
5
6
|
/**
|
6
7
|
* Options for the RpcService.
|
@@ -1,21 +1,36 @@
|
|
1
1
|
import { Service } from "./service"
|
2
2
|
import { RpcService } from "./rpcService"
|
3
|
-
import { UserProfile } from "../storages/userProfile"
|
3
|
+
import { UserProfile } from "../storages/user/userProfile"
|
4
4
|
import { UserInfoResponse } from "../dto/userInfoResponse"
|
5
5
|
import { OrganizationService } from "./organizationService"
|
6
|
-
import { UserProfileImpl } from "../storages/userProfile.impl"
|
6
|
+
import { UserProfileImpl } from "../storages/user/userProfile.impl"
|
7
7
|
import { ResponseUtils } from "./responseUtils"
|
8
|
+
import { OrganizationsEvent } from "../storages/organizations/organizations"
|
8
9
|
|
9
10
|
export class UserProfileService extends Service {
|
10
|
-
private readonly impl: UserProfileImpl = new UserProfileImpl()
|
11
|
+
private readonly impl: UserProfileImpl = new UserProfileImpl(this.context)
|
11
12
|
|
12
13
|
get userProfile(): UserProfile {
|
13
14
|
return this.impl
|
14
15
|
}
|
15
16
|
|
17
|
+
async merge(anonymous_token: string) {
|
18
|
+
const rpc = this.resolve(RpcService) as RpcService
|
19
|
+
const response = await rpc.requestBuilder("api/v1/Users/anonymous/merge")
|
20
|
+
.sendPostJson({
|
21
|
+
anonymousToken: anonymous_token
|
22
|
+
})
|
23
|
+
|
24
|
+
if (ResponseUtils.isFail(response)) {
|
25
|
+
await ResponseUtils.throwError("Failed to merge anonymous user", response)
|
26
|
+
}
|
27
|
+
|
28
|
+
await this.fetch()
|
29
|
+
}
|
30
|
+
|
16
31
|
async fetch() {
|
17
32
|
const rpc = this.resolve(RpcService) as RpcService
|
18
|
-
const response = await rpc.requestBuilder("api/
|
33
|
+
const response = await rpc.requestBuilder("api/v2/Users/self").sendGet()
|
19
34
|
if (ResponseUtils.isFail(response)) {
|
20
35
|
await ResponseUtils.throwError("Failed to fetch user profile", response)
|
21
36
|
}
|
@@ -34,5 +49,22 @@ export class UserProfileService extends Service {
|
|
34
49
|
content.organizations,
|
35
50
|
content.user.settings
|
36
51
|
)
|
52
|
+
|
53
|
+
organizationService.organizations.subscribe(async (event) => {
|
54
|
+
this.updateUserSettings(event.data.id)
|
55
|
+
}, OrganizationsEvent.CURRENT_CHANGED)
|
56
|
+
}
|
57
|
+
|
58
|
+
async updateUserSettings(activeOrgId?: string, activeWorkspaceId?: string): Promise<void>{
|
59
|
+
const rpc = this.resolve(RpcService) as RpcService
|
60
|
+
const response = await rpc.requestBuilder("api/v1/Users/settings").sendPutJson({
|
61
|
+
settings: {
|
62
|
+
activeOrganizationId: activeOrgId,
|
63
|
+
activeWorkspaceId: activeWorkspaceId
|
64
|
+
}
|
65
|
+
})
|
66
|
+
if (ResponseUtils.isFail(response)) {
|
67
|
+
await ResponseUtils.throwError("Failed to update user settings", response)
|
68
|
+
}
|
37
69
|
}
|
38
70
|
}
|
@@ -0,0 +1,132 @@
|
|
1
|
+
import { RpcService } from "../../services/rpcService"
|
2
|
+
import { ResponseUtils } from "../../services/responseUtils"
|
3
|
+
import {
|
4
|
+
AcquiringPlansResponse,
|
5
|
+
OrderResponse,
|
6
|
+
OrderData,
|
7
|
+
UserAcquiringPlan,
|
8
|
+
GetOrderStateResponse,
|
9
|
+
AcquiringPlan,
|
10
|
+
AcquiringSegmentData,
|
11
|
+
UnsubscribeResponse
|
12
|
+
} from "../../dto/acquiringResponse"
|
13
|
+
import { Acquiring } from "./acquiring"
|
14
|
+
import { Context } from "../../context"
|
15
|
+
|
16
|
+
export class AcquiringImpl implements Acquiring {
|
17
|
+
private _userPlan?: UserAcquiringPlan
|
18
|
+
private _plans?: AcquiringPlan[]
|
19
|
+
private _limitSegments?: AcquiringSegmentData[]
|
20
|
+
|
21
|
+
constructor(
|
22
|
+
private readonly context: Context) {
|
23
|
+
}
|
24
|
+
|
25
|
+
get userPlan(): UserAcquiringPlan {
|
26
|
+
return this._userPlan!
|
27
|
+
}
|
28
|
+
|
29
|
+
get plans(): AcquiringPlan[] {
|
30
|
+
return this._plans!
|
31
|
+
}
|
32
|
+
|
33
|
+
get limitSegments(): AcquiringSegmentData[] {
|
34
|
+
return this._limitSegments!
|
35
|
+
}
|
36
|
+
|
37
|
+
async initialize() {
|
38
|
+
const userPlanPromise = this.getUserPlan()
|
39
|
+
const plansPromise = this.getPlans()
|
40
|
+
const promises = [
|
41
|
+
userPlanPromise,
|
42
|
+
plansPromise
|
43
|
+
]
|
44
|
+
await Promise.all(promises)
|
45
|
+
|
46
|
+
this._userPlan = await userPlanPromise
|
47
|
+
const {
|
48
|
+
plans,
|
49
|
+
limitSegments
|
50
|
+
} = await plansPromise
|
51
|
+
this._plans = plans
|
52
|
+
this._limitSegments = limitSegments
|
53
|
+
}
|
54
|
+
|
55
|
+
async createOrder(key: string): Promise<OrderData> {
|
56
|
+
const rpc = this.context.resolve(RpcService) as RpcService
|
57
|
+
const response = await rpc.requestBuilder("api/v1/Acquiring/order")
|
58
|
+
.sendPostJson({
|
59
|
+
key: key
|
60
|
+
})
|
61
|
+
|
62
|
+
if (ResponseUtils.isFail(response)) {
|
63
|
+
await ResponseUtils.throwError("Failed to create order", response)
|
64
|
+
}
|
65
|
+
|
66
|
+
const order = (await response.json()) as OrderResponse
|
67
|
+
|
68
|
+
return order.data
|
69
|
+
}
|
70
|
+
|
71
|
+
async unsubscribe(): Promise<UnsubscribeResponse> {
|
72
|
+
const rpc = this.context.resolve(RpcService) as RpcService
|
73
|
+
const response = await rpc.requestBuilder("api/v1/Acquiring/unsubscribe").sendDelete()
|
74
|
+
|
75
|
+
if (ResponseUtils.isFail(response)) {
|
76
|
+
await ResponseUtils.throwError("Failed to unsubscribe", response)
|
77
|
+
}
|
78
|
+
|
79
|
+
const order = (await response.json()) as UnsubscribeResponse
|
80
|
+
|
81
|
+
return order
|
82
|
+
}
|
83
|
+
|
84
|
+
async getPlans(): Promise<AcquiringPlansResponse> {
|
85
|
+
const rpc = this.context.resolve(RpcService) as RpcService
|
86
|
+
const response = await rpc
|
87
|
+
.requestBuilder("api/v1/Acquiring/plans")
|
88
|
+
.sendGet()
|
89
|
+
|
90
|
+
if (ResponseUtils.isFail(response)) {
|
91
|
+
await ResponseUtils.throwError("Failed to get acquiring plans", response)
|
92
|
+
}
|
93
|
+
|
94
|
+
const content = (await response.json()) as AcquiringPlansResponse
|
95
|
+
this._plans = content.plans
|
96
|
+
this._limitSegments = content.limitSegments
|
97
|
+
|
98
|
+
return content
|
99
|
+
}
|
100
|
+
|
101
|
+
async getUserPlan(): Promise<UserAcquiringPlan> {
|
102
|
+
const rpc = this.context.resolve(RpcService) as RpcService
|
103
|
+
const response = await rpc
|
104
|
+
.requestBuilder("api/v1/Acquiring/user/subscription")
|
105
|
+
.sendGet()
|
106
|
+
|
107
|
+
if (ResponseUtils.isFail(response)) {
|
108
|
+
await ResponseUtils.throwError("Failed to get user subscription", response)
|
109
|
+
}
|
110
|
+
|
111
|
+
const content = (await response.json()) as UserAcquiringPlan
|
112
|
+
this._userPlan = content
|
113
|
+
|
114
|
+
return content
|
115
|
+
}
|
116
|
+
|
117
|
+
async getOrder(orderId: string): Promise<GetOrderStateResponse> {
|
118
|
+
const rpc = this.context.resolve(RpcService) as RpcService
|
119
|
+
const response = await rpc
|
120
|
+
.requestBuilder("api/v1/Acquiring/order/state")
|
121
|
+
.searchParam("orderId", orderId)
|
122
|
+
.sendGet()
|
123
|
+
|
124
|
+
if (ResponseUtils.isFail(response)) {
|
125
|
+
await ResponseUtils.throwError("Failed to get order", response)
|
126
|
+
}
|
127
|
+
|
128
|
+
const content = (await response.json()) as GetOrderStateResponse
|
129
|
+
|
130
|
+
return content
|
131
|
+
}
|
132
|
+
}
|
@@ -0,0 +1,54 @@
|
|
1
|
+
import {
|
2
|
+
AcquiringPlan,
|
3
|
+
AcquiringPlansResponse, AcquiringSegmentData,
|
4
|
+
OrderData, GetOrderStateResponse,
|
5
|
+
UserAcquiringPlan, UnsubscribeResponse
|
6
|
+
} from "../../dto/acquiringResponse"
|
7
|
+
|
8
|
+
/**
|
9
|
+
* Acquiring service
|
10
|
+
*/
|
11
|
+
export abstract class Acquiring {
|
12
|
+
|
13
|
+
/**
|
14
|
+
* Plan
|
15
|
+
*/
|
16
|
+
abstract get userPlan(): UserAcquiringPlan
|
17
|
+
|
18
|
+
/**
|
19
|
+
* Plans
|
20
|
+
*/
|
21
|
+
abstract get plans(): AcquiringPlan[]
|
22
|
+
|
23
|
+
/**
|
24
|
+
* Limit segments
|
25
|
+
*/
|
26
|
+
abstract get limitSegments(): AcquiringSegmentData[]
|
27
|
+
|
28
|
+
/**
|
29
|
+
* Create order
|
30
|
+
* @param key
|
31
|
+
*/
|
32
|
+
abstract createOrder(key: string): Promise<OrderData>
|
33
|
+
|
34
|
+
/**
|
35
|
+
* Unsubscribe
|
36
|
+
*/
|
37
|
+
abstract unsubscribe(): Promise<UnsubscribeResponse>
|
38
|
+
|
39
|
+
/**
|
40
|
+
* Update plans
|
41
|
+
*/
|
42
|
+
abstract getPlans(): Promise<AcquiringPlansResponse>
|
43
|
+
|
44
|
+
/**
|
45
|
+
* Update user plan
|
46
|
+
*/
|
47
|
+
abstract getUserPlan(): Promise<UserAcquiringPlan>
|
48
|
+
|
49
|
+
/**
|
50
|
+
* Get order
|
51
|
+
* @param orderId
|
52
|
+
*/
|
53
|
+
abstract getOrder(orderId: string): Promise<GetOrderStateResponse>
|
54
|
+
}
|
@@ -0,0 +1,178 @@
|
|
1
|
+
import {Context} from "../../context"
|
2
|
+
import {
|
3
|
+
AnswerDto,
|
4
|
+
AnswerStatus,
|
5
|
+
AnswerStepDto,
|
6
|
+
FetchAnswerResponse,
|
7
|
+
SourceDto,
|
8
|
+
StepStatus,
|
9
|
+
StepType
|
10
|
+
} from "../../dto/chatResponse"
|
11
|
+
import {ResponseUtils} from "../../services/responseUtils"
|
12
|
+
import {RpcService} from "../../services/rpcService"
|
13
|
+
import {Answer, AnswerEvent, AnswerId} from "./answer"
|
14
|
+
import {Chat} from "./chat"
|
15
|
+
|
16
|
+
export class AnswerImpl extends Answer {
|
17
|
+
|
18
|
+
private _steps?: AnswerStepDto[]
|
19
|
+
private _status?: AnswerStatus
|
20
|
+
private _id?: AnswerId
|
21
|
+
private _question?: string
|
22
|
+
private _sources?: SourceDto[]
|
23
|
+
private _answer?: string
|
24
|
+
private _timestamp?: number
|
25
|
+
|
26
|
+
constructor(
|
27
|
+
private readonly chat: Chat,
|
28
|
+
private readonly context: Context) {
|
29
|
+
super()
|
30
|
+
}
|
31
|
+
|
32
|
+
initFromHistory(answer: AnswerDto): AnswerImpl {
|
33
|
+
this._id = answer.id
|
34
|
+
this._question = answer.question
|
35
|
+
this._answer = answer.context
|
36
|
+
this._sources = answer.sources
|
37
|
+
this._timestamp = answer.timestamp
|
38
|
+
|
39
|
+
return this
|
40
|
+
}
|
41
|
+
|
42
|
+
async initNew(id: AnswerId, question: string): Promise<AnswerImpl> {
|
43
|
+
this._id = id
|
44
|
+
this._question = question
|
45
|
+
this._answer = ""
|
46
|
+
|
47
|
+
await this.fetch()
|
48
|
+
|
49
|
+
return this
|
50
|
+
}
|
51
|
+
|
52
|
+
get id(): AnswerId {
|
53
|
+
return <AnswerId>this._id
|
54
|
+
}
|
55
|
+
|
56
|
+
get status(): AnswerStatus {
|
57
|
+
return <AnswerStatus>this._status
|
58
|
+
}
|
59
|
+
|
60
|
+
get question(): string {
|
61
|
+
return <string>this._question
|
62
|
+
}
|
63
|
+
|
64
|
+
get sources(): SourceDto[] {
|
65
|
+
return <SourceDto[]>this._sources
|
66
|
+
}
|
67
|
+
|
68
|
+
get tokens(): string {
|
69
|
+
return <string>this._answer
|
70
|
+
}
|
71
|
+
|
72
|
+
get timestamp(): number {
|
73
|
+
return <number>this._timestamp
|
74
|
+
}
|
75
|
+
|
76
|
+
public fetchAfter() {
|
77
|
+
if (this._status === undefined || this._status === AnswerStatus.RUNNING) {
|
78
|
+
setTimeout(async () => await this.fetch(), 300)
|
79
|
+
}
|
80
|
+
}
|
81
|
+
|
82
|
+
private getStep(type: StepType): AnswerStepDto | undefined {
|
83
|
+
return this._steps?.find(step => step.type === type)
|
84
|
+
}
|
85
|
+
|
86
|
+
async fetch(): Promise<void> {
|
87
|
+
// fetch answer from position 0
|
88
|
+
const position = 0
|
89
|
+
// fetch answer
|
90
|
+
const response = await this.context
|
91
|
+
.resolve(RpcService)
|
92
|
+
?.requestBuilder("api/v1/Chats/answer/fetch")
|
93
|
+
.searchParam("chatId", this.chat.id)
|
94
|
+
.searchParam("questionId", this.id)
|
95
|
+
.searchParam("position", position.toString())
|
96
|
+
.sendGet()
|
97
|
+
|
98
|
+
// check response status
|
99
|
+
if (ResponseUtils.isFail(response)) {
|
100
|
+
await ResponseUtils.throwError(`Failed to fetch answer ${this.id}`, response)
|
101
|
+
}
|
102
|
+
|
103
|
+
// parse answer from the server's response
|
104
|
+
const answer = (await response!.json()) as FetchAnswerResponse
|
105
|
+
|
106
|
+
// update answer
|
107
|
+
this._status = <AnswerStatus>answer.status
|
108
|
+
this._steps = <AnswerStepDto[]>answer.steps
|
109
|
+
|
110
|
+
if (this.status == AnswerStatus.CANCELED || this.status == AnswerStatus.FAIL){
|
111
|
+
this.dispatch({
|
112
|
+
type: AnswerEvent.UPDATED,
|
113
|
+
data: this
|
114
|
+
})
|
115
|
+
}
|
116
|
+
|
117
|
+
if (this.getStep(StepType.GENERATE_ANSWER) !== undefined) {
|
118
|
+
const step = this.getStep(StepType.GENERATE_ANSWER)
|
119
|
+
const step_tokens = step?.tokens.join("")
|
120
|
+
if (this._answer !== step_tokens) {
|
121
|
+
this._answer = step_tokens
|
122
|
+
|
123
|
+
this.dispatch({
|
124
|
+
type: AnswerEvent.UPDATED,
|
125
|
+
data: this
|
126
|
+
})
|
127
|
+
}
|
128
|
+
}
|
129
|
+
|
130
|
+
if (this.getStep(StepType.SOURCES) !== undefined && this._sources === undefined) {
|
131
|
+
const sources_step = this.getStep(StepType.SOURCES)
|
132
|
+
this._sources = sources_step?.sources
|
133
|
+
|
134
|
+
this.dispatch({
|
135
|
+
type: AnswerEvent.UPDATED,
|
136
|
+
data: this
|
137
|
+
})
|
138
|
+
}
|
139
|
+
|
140
|
+
const doneStep = this.getStep(StepType.DONE)
|
141
|
+
if (doneStep !== undefined) {
|
142
|
+
if (doneStep.status == StepStatus.FAIL || doneStep.status == StepStatus.CANCELED){
|
143
|
+
this.dispatch({
|
144
|
+
type: AnswerEvent.UPDATED,
|
145
|
+
data: this
|
146
|
+
})
|
147
|
+
}else {
|
148
|
+
const step = this.getStep(StepType.DONE)
|
149
|
+
this._timestamp = Date.parse(step!.end_at)
|
150
|
+
|
151
|
+
await this.chat.update()
|
152
|
+
}
|
153
|
+
} else {
|
154
|
+
this.fetchAfter()
|
155
|
+
}
|
156
|
+
}
|
157
|
+
|
158
|
+
async cancel(): Promise<void> {
|
159
|
+
// send request to the server
|
160
|
+
const response = await this.context
|
161
|
+
.resolve(RpcService)
|
162
|
+
?.requestBuilder("api/v1/Chats/answer/cancel")
|
163
|
+
.sendPutJson({
|
164
|
+
chat_id: this.chat.id,
|
165
|
+
uid: this.id
|
166
|
+
})
|
167
|
+
|
168
|
+
// check response status
|
169
|
+
if (ResponseUtils.isFail(response)) {
|
170
|
+
await ResponseUtils.throwError("Failed to cancel a question", response)
|
171
|
+
}
|
172
|
+
|
173
|
+
this.dispatch({
|
174
|
+
type: AnswerEvent.CANCALLED,
|
175
|
+
data: this
|
176
|
+
})
|
177
|
+
}
|
178
|
+
}
|
@@ -0,0 +1,53 @@
|
|
1
|
+
import {
|
2
|
+
AnswerStatus,
|
3
|
+
SourceDto
|
4
|
+
} from "../../dto/chatResponse"
|
5
|
+
import { EventDispatcher } from "../../events"
|
6
|
+
|
7
|
+
export type AnswerId = string
|
8
|
+
export type StepId = string
|
9
|
+
|
10
|
+
export enum AnswerEvent {
|
11
|
+
ADDED = "added",
|
12
|
+
CANCALLED = "cancelled",
|
13
|
+
FAILED = "failed",
|
14
|
+
UPDATED = "updated"
|
15
|
+
}
|
16
|
+
|
17
|
+
export abstract class Answer extends EventDispatcher<AnswerEvent, Answer> {
|
18
|
+
|
19
|
+
/**
|
20
|
+
* Answer id.
|
21
|
+
*/
|
22
|
+
abstract get id(): AnswerId
|
23
|
+
|
24
|
+
/**
|
25
|
+
* Answer data object
|
26
|
+
*/
|
27
|
+
abstract get question(): string
|
28
|
+
|
29
|
+
/**
|
30
|
+
* Answer tokens
|
31
|
+
*/
|
32
|
+
abstract get tokens(): string
|
33
|
+
|
34
|
+
/**
|
35
|
+
* Answer status.
|
36
|
+
*/
|
37
|
+
abstract get status(): AnswerStatus
|
38
|
+
|
39
|
+
/**
|
40
|
+
* Answer sources.
|
41
|
+
*/
|
42
|
+
abstract get sources(): SourceDto[]
|
43
|
+
|
44
|
+
/**
|
45
|
+
* Answer time.
|
46
|
+
*/
|
47
|
+
abstract get timestamp(): number
|
48
|
+
|
49
|
+
/**
|
50
|
+
* Cancel answer
|
51
|
+
*/
|
52
|
+
abstract cancel(): Promise<void>
|
53
|
+
}
|