@neuralinnovations/dataisland-sdk 0.0.1-dev8 → 0.0.1-dev81

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.
Files changed (513) hide show
  1. package/README.md +209 -7
  2. package/dist/index.d.ts +3 -0
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +3 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/package.json +103 -0
  7. package/dist/src/appBuilder.d.ts +44 -0
  8. package/dist/src/appBuilder.d.ts.map +1 -0
  9. package/dist/src/appBuilder.js +10 -0
  10. package/dist/src/appBuilder.js.map +1 -0
  11. package/dist/src/commands/deleteUserFullCommandHandler.d.ts +7 -0
  12. package/dist/src/commands/deleteUserFullCommandHandler.d.ts.map +1 -0
  13. package/dist/src/commands/deleteUserFullCommandHandler.js +21 -0
  14. package/dist/src/commands/deleteUserFullCommandHandler.js.map +1 -0
  15. package/dist/src/commands/startCommandHandler.d.ts +7 -0
  16. package/dist/src/commands/startCommandHandler.d.ts.map +1 -0
  17. package/dist/src/commands/startCommandHandler.js +33 -0
  18. package/dist/src/commands/startCommandHandler.js.map +1 -0
  19. package/dist/src/context.d.ts +24 -0
  20. package/dist/src/context.d.ts.map +1 -0
  21. package/dist/src/context.js +31 -0
  22. package/dist/src/context.js.map +1 -0
  23. package/dist/src/credentials.d.ts +39 -0
  24. package/dist/src/credentials.d.ts.map +1 -0
  25. package/dist/src/credentials.js +105 -0
  26. package/dist/src/credentials.js.map +1 -0
  27. package/dist/src/dataIslandApp.d.ts +60 -0
  28. package/dist/src/dataIslandApp.d.ts.map +1 -0
  29. package/dist/src/dataIslandApp.js +10 -0
  30. package/dist/src/dataIslandApp.js.map +1 -0
  31. package/dist/src/disposable.d.ts +84 -0
  32. package/dist/src/disposable.d.ts.map +1 -0
  33. package/dist/src/disposable.js +147 -0
  34. package/dist/src/disposable.js.map +1 -0
  35. package/dist/src/dto/accessGroupResponse.d.ts +27 -0
  36. package/dist/src/dto/accessGroupResponse.d.ts.map +1 -0
  37. package/dist/src/dto/accessGroupResponse.js +3 -0
  38. package/dist/src/dto/accessGroupResponse.js.map +1 -0
  39. package/dist/src/dto/acquiringResponse.d.ts +46 -0
  40. package/dist/src/dto/acquiringResponse.d.ts.map +1 -0
  41. package/dist/src/dto/acquiringResponse.js +11 -0
  42. package/dist/src/dto/acquiringResponse.js.map +1 -0
  43. package/dist/src/dto/apiKeyResponse.d.ts +24 -0
  44. package/dist/src/dto/apiKeyResponse.d.ts.map +1 -0
  45. package/dist/src/dto/apiKeyResponse.js +3 -0
  46. package/dist/src/dto/apiKeyResponse.js.map +1 -0
  47. package/dist/src/dto/badRequestResponse.d.ts +6 -0
  48. package/dist/src/dto/badRequestResponse.d.ts.map +1 -0
  49. package/dist/src/dto/badRequestResponse.js +3 -0
  50. package/dist/src/dto/badRequestResponse.js.map +1 -0
  51. package/dist/src/dto/chatResponse.d.ts +99 -0
  52. package/dist/src/dto/chatResponse.d.ts.map +1 -0
  53. package/dist/src/dto/chatResponse.js +56 -0
  54. package/dist/src/dto/chatResponse.js.map +1 -0
  55. package/dist/src/dto/invitesResponse.d.ts +21 -0
  56. package/dist/src/dto/invitesResponse.d.ts.map +1 -0
  57. package/dist/src/dto/invitesResponse.js +3 -0
  58. package/dist/src/dto/invitesResponse.js.map +1 -0
  59. package/dist/src/dto/libraryResponse.d.ts +42 -0
  60. package/dist/src/dto/libraryResponse.d.ts.map +1 -0
  61. package/dist/src/dto/libraryResponse.js +3 -0
  62. package/dist/src/dto/libraryResponse.js.map +1 -0
  63. package/dist/src/dto/limitsResponse.d.ts +29 -0
  64. package/dist/src/dto/limitsResponse.d.ts.map +1 -0
  65. package/dist/src/dto/limitsResponse.js +13 -0
  66. package/dist/src/dto/limitsResponse.js.map +1 -0
  67. package/dist/src/dto/queryFlowResponse.d.ts +20 -0
  68. package/dist/src/dto/queryFlowResponse.d.ts.map +1 -0
  69. package/dist/src/dto/queryFlowResponse.js +10 -0
  70. package/dist/src/dto/queryFlowResponse.js.map +1 -0
  71. package/dist/src/dto/quizResponse.d.ts +11 -0
  72. package/dist/src/dto/quizResponse.d.ts.map +1 -0
  73. package/dist/src/dto/quizResponse.js +3 -0
  74. package/dist/src/dto/quizResponse.js.map +1 -0
  75. package/dist/src/dto/statisticsResponse.d.ts +11 -0
  76. package/dist/src/dto/statisticsResponse.d.ts.map +1 -0
  77. package/dist/src/dto/statisticsResponse.js +3 -0
  78. package/dist/src/dto/statisticsResponse.js.map +1 -0
  79. package/dist/src/dto/userInfoResponse.d.ts +93 -0
  80. package/dist/src/dto/userInfoResponse.d.ts.map +1 -0
  81. package/dist/src/dto/userInfoResponse.js +3 -0
  82. package/dist/src/dto/userInfoResponse.js.map +1 -0
  83. package/dist/src/dto/workspacesResponse.d.ts +79 -0
  84. package/dist/src/dto/workspacesResponse.d.ts.map +1 -0
  85. package/dist/src/dto/workspacesResponse.js +31 -0
  86. package/dist/src/dto/workspacesResponse.js.map +1 -0
  87. package/dist/src/events.d.ts +17 -0
  88. package/dist/src/events.d.ts.map +1 -0
  89. package/dist/src/events.js +52 -0
  90. package/dist/src/events.js.map +1 -0
  91. package/dist/src/index.d.ts +88 -0
  92. package/dist/src/index.d.ts.map +1 -0
  93. package/dist/src/index.js +140 -0
  94. package/dist/src/index.js.map +1 -0
  95. package/dist/src/internal/app.impl.d.ts +32 -0
  96. package/dist/src/internal/app.impl.d.ts.map +1 -0
  97. package/dist/src/internal/app.impl.js +187 -0
  98. package/dist/src/internal/app.impl.js.map +1 -0
  99. package/dist/src/internal/appBuilder.impl.d.ts +27 -0
  100. package/dist/src/internal/appBuilder.impl.d.ts.map +1 -0
  101. package/dist/src/internal/appBuilder.impl.js +71 -0
  102. package/dist/src/internal/appBuilder.impl.js.map +1 -0
  103. package/dist/src/internal/createApp.impl.d.ts +4 -0
  104. package/dist/src/internal/createApp.impl.d.ts.map +1 -0
  105. package/dist/src/internal/createApp.impl.js +11 -0
  106. package/dist/src/internal/createApp.impl.js.map +1 -0
  107. package/dist/src/internal/registry.d.ts +66 -0
  108. package/dist/src/internal/registry.d.ts.map +1 -0
  109. package/dist/src/internal/registry.js +114 -0
  110. package/dist/src/internal/registry.js.map +1 -0
  111. package/dist/src/middleware.d.ts +6 -0
  112. package/dist/src/middleware.d.ts.map +1 -0
  113. package/dist/src/middleware.js +3 -0
  114. package/dist/src/middleware.js.map +1 -0
  115. package/dist/src/services/acquiringService.d.ts +9 -0
  116. package/dist/src/services/acquiringService.d.ts.map +1 -0
  117. package/dist/src/services/acquiringService.js +19 -0
  118. package/dist/src/services/acquiringService.js.map +1 -0
  119. package/dist/src/services/anonymousService.d.ts +8 -0
  120. package/dist/src/services/anonymousService.d.ts.map +1 -0
  121. package/dist/src/services/anonymousService.js +41 -0
  122. package/dist/src/services/anonymousService.js.map +1 -0
  123. package/dist/src/services/commandService.d.ts +18 -0
  124. package/dist/src/services/commandService.d.ts.map +1 -0
  125. package/dist/src/services/commandService.js +40 -0
  126. package/dist/src/services/commandService.js.map +1 -0
  127. package/dist/src/services/cookieService.d.ts +7 -0
  128. package/dist/src/services/cookieService.d.ts.map +1 -0
  129. package/dist/src/services/cookieService.js +18 -0
  130. package/dist/src/services/cookieService.js.map +1 -0
  131. package/dist/src/services/credentialService.d.ts +9 -0
  132. package/dist/src/services/credentialService.d.ts.map +1 -0
  133. package/dist/src/services/credentialService.js +26 -0
  134. package/dist/src/services/credentialService.js.map +1 -0
  135. package/dist/src/services/httpMethod.d.ts +2 -0
  136. package/dist/src/services/httpMethod.d.ts.map +1 -0
  137. package/dist/src/services/httpMethod.js +3 -0
  138. package/dist/src/services/httpMethod.js.map +1 -0
  139. package/dist/src/services/librariesService.d.ts +9 -0
  140. package/dist/src/services/librariesService.d.ts.map +1 -0
  141. package/dist/src/services/librariesService.js +19 -0
  142. package/dist/src/services/librariesService.js.map +1 -0
  143. package/dist/src/services/middlewareService.d.ts +10 -0
  144. package/dist/src/services/middlewareService.d.ts.map +1 -0
  145. package/dist/src/services/middlewareService.js +34 -0
  146. package/dist/src/services/middlewareService.js.map +1 -0
  147. package/dist/src/services/organizationService.d.ts +10 -0
  148. package/dist/src/services/organizationService.d.ts.map +1 -0
  149. package/dist/src/services/organizationService.js +19 -0
  150. package/dist/src/services/organizationService.js.map +1 -0
  151. package/dist/src/services/requestBuilder.d.ts +19 -0
  152. package/dist/src/services/requestBuilder.d.ts.map +1 -0
  153. package/dist/src/services/requestBuilder.js +133 -0
  154. package/dist/src/services/requestBuilder.js.map +1 -0
  155. package/dist/src/services/responseUtils.d.ts +8 -0
  156. package/dist/src/services/responseUtils.d.ts.map +1 -0
  157. package/dist/src/services/responseUtils.js +40 -0
  158. package/dist/src/services/responseUtils.js.map +1 -0
  159. package/dist/src/services/rpcService.d.ts +77 -0
  160. package/dist/src/services/rpcService.d.ts.map +1 -0
  161. package/dist/src/services/rpcService.js +125 -0
  162. package/dist/src/services/rpcService.js.map +1 -0
  163. package/dist/src/services/service.d.ts +21 -0
  164. package/dist/src/services/service.d.ts.map +1 -0
  165. package/dist/src/services/service.js +41 -0
  166. package/dist/src/services/service.js.map +1 -0
  167. package/dist/src/services/userProfileService.d.ts +10 -0
  168. package/dist/src/services/userProfileService.d.ts.map +1 -0
  169. package/dist/src/services/userProfileService.js +59 -0
  170. package/dist/src/services/userProfileService.js.map +1 -0
  171. package/dist/src/storages/acquirings/acquiring.d.ts +41 -0
  172. package/dist/src/storages/acquirings/acquiring.d.ts.map +1 -0
  173. package/dist/src/storages/acquirings/acquiring.impl.d.ts +20 -0
  174. package/dist/src/storages/acquirings/acquiring.impl.d.ts.map +1 -0
  175. package/dist/src/storages/acquirings/acquiring.impl.js +92 -0
  176. package/dist/src/storages/acquirings/acquiring.impl.js.map +1 -0
  177. package/dist/src/storages/acquirings/acquiring.js +10 -0
  178. package/dist/src/storages/acquirings/acquiring.js.map +1 -0
  179. package/dist/src/storages/chats/answer.d.ts +41 -0
  180. package/dist/src/storages/chats/answer.d.ts.map +1 -0
  181. package/dist/src/storages/chats/answer.impl.d.ts +29 -0
  182. package/dist/src/storages/chats/answer.impl.d.ts.map +1 -0
  183. package/dist/src/storages/chats/answer.impl.js +134 -0
  184. package/dist/src/storages/chats/answer.impl.js.map +1 -0
  185. package/dist/src/storages/chats/answer.js +15 -0
  186. package/dist/src/storages/chats/answer.js.map +1 -0
  187. package/dist/src/storages/chats/chat.d.ts +52 -0
  188. package/dist/src/storages/chats/chat.d.ts.map +1 -0
  189. package/dist/src/storages/chats/chat.impl.d.ts +27 -0
  190. package/dist/src/storages/chats/chat.impl.d.ts.map +1 -0
  191. package/dist/src/storages/chats/chat.impl.js +102 -0
  192. package/dist/src/storages/chats/chat.impl.js.map +1 -0
  193. package/dist/src/storages/chats/chat.js +12 -0
  194. package/dist/src/storages/chats/chat.js.map +1 -0
  195. package/dist/src/storages/chats/chats.d.ts +63 -0
  196. package/dist/src/storages/chats/chats.d.ts.map +1 -0
  197. package/dist/src/storages/chats/chats.impl.d.ts +22 -0
  198. package/dist/src/storages/chats/chats.impl.d.ts.map +1 -0
  199. package/dist/src/storages/chats/chats.impl.js +252 -0
  200. package/dist/src/storages/chats/chats.impl.js.map +1 -0
  201. package/dist/src/storages/chats/chats.js +16 -0
  202. package/dist/src/storages/chats/chats.js.map +1 -0
  203. package/dist/src/storages/files/file.d.ts +59 -0
  204. package/dist/src/storages/files/file.d.ts.map +1 -0
  205. package/dist/src/storages/files/file.impl.d.ts +27 -0
  206. package/dist/src/storages/files/file.impl.d.ts.map +1 -0
  207. package/dist/src/storages/files/file.impl.js +104 -0
  208. package/dist/src/storages/files/file.impl.js.map +1 -0
  209. package/dist/src/storages/files/file.js +11 -0
  210. package/dist/src/storages/files/file.js.map +1 -0
  211. package/dist/src/storages/files/files.d.ts +39 -0
  212. package/dist/src/storages/files/files.d.ts.map +1 -0
  213. package/dist/src/storages/files/files.impl.d.ts +26 -0
  214. package/dist/src/storages/files/files.impl.d.ts.map +1 -0
  215. package/dist/src/storages/files/files.impl.js +199 -0
  216. package/dist/src/storages/files/files.impl.js.map +1 -0
  217. package/dist/src/storages/files/files.js +20 -0
  218. package/dist/src/storages/files/files.js.map +1 -0
  219. package/dist/src/storages/files/filesPage.d.ts +28 -0
  220. package/dist/src/storages/files/filesPage.d.ts.map +1 -0
  221. package/dist/src/storages/files/filesPage.impl.d.ts +15 -0
  222. package/dist/src/storages/files/filesPage.impl.d.ts.map +1 -0
  223. package/dist/src/storages/files/filesPage.impl.js +38 -0
  224. package/dist/src/storages/files/filesPage.impl.js.map +1 -0
  225. package/dist/src/storages/files/filesPage.js +10 -0
  226. package/dist/src/storages/files/filesPage.js.map +1 -0
  227. package/dist/src/storages/groups/group.d.ts +63 -0
  228. package/dist/src/storages/groups/group.d.ts.map +1 -0
  229. package/dist/src/storages/groups/group.impl.d.ts +38 -0
  230. package/dist/src/storages/groups/group.impl.d.ts.map +1 -0
  231. package/dist/src/storages/groups/group.impl.js +210 -0
  232. package/dist/src/storages/groups/group.impl.js.map +1 -0
  233. package/dist/src/storages/groups/group.js +15 -0
  234. package/dist/src/storages/groups/group.js.map +1 -0
  235. package/dist/src/storages/groups/groups.d.ts +43 -0
  236. package/dist/src/storages/groups/groups.d.ts.map +1 -0
  237. package/dist/src/storages/groups/groups.impl.d.ts +31 -0
  238. package/dist/src/storages/groups/groups.impl.d.ts.map +1 -0
  239. package/dist/src/storages/groups/groups.impl.js +136 -0
  240. package/dist/src/storages/groups/groups.impl.js.map +1 -0
  241. package/dist/src/storages/groups/groups.js +20 -0
  242. package/dist/src/storages/groups/groups.js.map +1 -0
  243. package/dist/src/storages/library/folderId.d.ts +2 -0
  244. package/dist/src/storages/library/folderId.d.ts.map +1 -0
  245. package/dist/src/storages/library/folderId.js +3 -0
  246. package/dist/src/storages/library/folderId.js.map +1 -0
  247. package/dist/src/storages/library/libraries.d.ts +48 -0
  248. package/dist/src/storages/library/libraries.d.ts.map +1 -0
  249. package/dist/src/storages/library/libraries.impl.d.ts +26 -0
  250. package/dist/src/storages/library/libraries.impl.d.ts.map +1 -0
  251. package/dist/src/storages/library/libraries.impl.js +148 -0
  252. package/dist/src/storages/library/libraries.impl.js.map +1 -0
  253. package/dist/src/storages/library/libraries.js +16 -0
  254. package/dist/src/storages/library/libraries.js.map +1 -0
  255. package/dist/src/storages/library/library.d.ts +26 -0
  256. package/dist/src/storages/library/library.d.ts.map +1 -0
  257. package/dist/src/storages/library/library.impl.d.ts +19 -0
  258. package/dist/src/storages/library/library.impl.d.ts.map +1 -0
  259. package/dist/src/storages/library/library.impl.js +98 -0
  260. package/dist/src/storages/library/library.impl.js.map +1 -0
  261. package/dist/src/storages/library/library.js +10 -0
  262. package/dist/src/storages/library/library.js.map +1 -0
  263. package/dist/src/storages/library/libraryFolder.d.ts +16 -0
  264. package/dist/src/storages/library/libraryFolder.d.ts.map +1 -0
  265. package/dist/src/storages/library/libraryFolder.impl.d.ts +22 -0
  266. package/dist/src/storages/library/libraryFolder.impl.d.ts.map +1 -0
  267. package/dist/src/storages/library/libraryFolder.impl.js +104 -0
  268. package/dist/src/storages/library/libraryFolder.impl.js.map +1 -0
  269. package/dist/src/storages/library/libraryFolder.js +7 -0
  270. package/dist/src/storages/library/libraryFolder.js.map +1 -0
  271. package/dist/src/storages/library/libraryId.d.ts +2 -0
  272. package/dist/src/storages/library/libraryId.d.ts.map +1 -0
  273. package/dist/src/storages/library/libraryId.js +3 -0
  274. package/dist/src/storages/library/libraryId.js.map +1 -0
  275. package/dist/src/storages/library/libraryPage.d.ts +45 -0
  276. package/dist/src/storages/library/libraryPage.d.ts.map +1 -0
  277. package/dist/src/storages/library/libraryPage.impl.d.ts +26 -0
  278. package/dist/src/storages/library/libraryPage.impl.d.ts.map +1 -0
  279. package/dist/src/storages/library/libraryPage.impl.js +29 -0
  280. package/dist/src/storages/library/libraryPage.impl.js.map +1 -0
  281. package/dist/src/storages/library/libraryPage.js +10 -0
  282. package/dist/src/storages/library/libraryPage.js.map +1 -0
  283. package/dist/src/storages/organizations/organization.d.ts +146 -0
  284. package/dist/src/storages/organizations/organization.d.ts.map +1 -0
  285. package/dist/src/storages/organizations/organization.impl.d.ts +59 -0
  286. package/dist/src/storages/organizations/organization.impl.d.ts.map +1 -0
  287. package/dist/src/storages/organizations/organization.impl.js +372 -0
  288. package/dist/src/storages/organizations/organization.impl.js.map +1 -0
  289. package/dist/src/storages/organizations/organization.js +18 -0
  290. package/dist/src/storages/organizations/organization.js.map +1 -0
  291. package/dist/src/storages/organizations/organizations.d.ts +77 -0
  292. package/dist/src/storages/organizations/organizations.d.ts.map +1 -0
  293. package/dist/src/storages/organizations/organizations.impl.d.ts +45 -0
  294. package/dist/src/storages/organizations/organizations.impl.d.ts.map +1 -0
  295. package/dist/src/storages/organizations/organizations.impl.js +242 -0
  296. package/dist/src/storages/organizations/organizations.impl.js.map +1 -0
  297. package/dist/src/storages/organizations/organizations.js +20 -0
  298. package/dist/src/storages/organizations/organizations.js.map +1 -0
  299. package/dist/src/storages/queryFlows/queryFlow.d.ts +13 -0
  300. package/dist/src/storages/queryFlows/queryFlow.d.ts.map +1 -0
  301. package/dist/src/storages/queryFlows/queryFlow.impl.d.ts +17 -0
  302. package/dist/src/storages/queryFlows/queryFlow.impl.d.ts.map +1 -0
  303. package/dist/src/storages/queryFlows/queryFlow.impl.js +65 -0
  304. package/dist/src/storages/queryFlows/queryFlow.impl.js.map +1 -0
  305. package/dist/src/storages/queryFlows/queryFlow.js +12 -0
  306. package/dist/src/storages/queryFlows/queryFlow.js.map +1 -0
  307. package/dist/src/storages/queryFlows/queryFlows.d.ts +21 -0
  308. package/dist/src/storages/queryFlows/queryFlows.d.ts.map +1 -0
  309. package/dist/src/storages/queryFlows/queryFlows.impl.d.ts +17 -0
  310. package/dist/src/storages/queryFlows/queryFlows.impl.d.ts.map +1 -0
  311. package/dist/src/storages/queryFlows/queryFlows.impl.js +112 -0
  312. package/dist/src/storages/queryFlows/queryFlows.impl.js.map +1 -0
  313. package/dist/src/storages/queryFlows/queryFlows.js +16 -0
  314. package/dist/src/storages/queryFlows/queryFlows.js.map +1 -0
  315. package/dist/src/storages/user/userProfile.d.ts +64 -0
  316. package/dist/src/storages/user/userProfile.d.ts.map +1 -0
  317. package/dist/src/storages/user/userProfile.impl.d.ts +24 -0
  318. package/dist/src/storages/user/userProfile.impl.d.ts.map +1 -0
  319. package/dist/src/storages/user/userProfile.impl.js +129 -0
  320. package/dist/src/storages/user/userProfile.impl.js.map +1 -0
  321. package/dist/src/storages/user/userProfile.js +12 -0
  322. package/dist/src/storages/user/userProfile.js.map +1 -0
  323. package/dist/src/storages/workspaces/workspace.d.ts +50 -0
  324. package/dist/src/storages/workspaces/workspace.d.ts.map +1 -0
  325. package/dist/src/storages/workspaces/workspace.impl.d.ts +25 -0
  326. package/dist/src/storages/workspaces/workspace.impl.d.ts.map +1 -0
  327. package/dist/src/storages/workspaces/workspace.impl.js +133 -0
  328. package/dist/src/storages/workspaces/workspace.impl.js.map +1 -0
  329. package/dist/src/storages/workspaces/workspace.js +18 -0
  330. package/dist/src/storages/workspaces/workspace.js.map +1 -0
  331. package/dist/src/storages/workspaces/workspaces.d.ts +47 -0
  332. package/dist/src/storages/workspaces/workspaces.d.ts.map +1 -0
  333. package/dist/src/storages/workspaces/workspaces.impl.d.ts +33 -0
  334. package/dist/src/storages/workspaces/workspaces.impl.d.ts.map +1 -0
  335. package/dist/src/storages/workspaces/workspaces.impl.js +153 -0
  336. package/dist/src/storages/workspaces/workspaces.impl.js.map +1 -0
  337. package/dist/src/storages/workspaces/workspaces.js +19 -0
  338. package/dist/src/storages/workspaces/workspaces.js.map +1 -0
  339. package/dist/src/unitTest.d.ts +12 -0
  340. package/dist/src/unitTest.d.ts.map +1 -0
  341. package/dist/src/unitTest.js +44 -0
  342. package/dist/src/unitTest.js.map +1 -0
  343. package/dist/src/utils/browserUtils.d.ts +4 -0
  344. package/dist/src/utils/browserUtils.d.ts.map +1 -0
  345. package/dist/src/utils/browserUtils.js +64 -0
  346. package/dist/src/utils/browserUtils.js.map +1 -0
  347. package/dist/src/utils/request.d.ts +6 -0
  348. package/dist/src/utils/request.d.ts.map +1 -0
  349. package/dist/src/utils/request.js +3 -0
  350. package/dist/src/utils/request.js.map +1 -0
  351. package/dist/src/utils/utils.d.ts +3 -0
  352. package/dist/src/utils/utils.d.ts.map +1 -0
  353. package/dist/src/utils/utils.js +13 -0
  354. package/dist/src/utils/utils.js.map +1 -0
  355. package/index.d.ts +1 -0
  356. package/index.js +1 -0
  357. package/package.json +44 -5
  358. package/src/commands/deleteUserFullCommandHandler.ts +19 -0
  359. package/src/commands/startCommandHandler.ts +22 -5
  360. package/src/context.ts +4 -2
  361. package/src/credentials.ts +46 -0
  362. package/src/dataIslandApp.ts +14 -2
  363. package/src/disposable.ts +18 -5
  364. package/src/dto/accessGroupResponse.ts +17 -16
  365. package/src/dto/acquiringResponse.ts +54 -0
  366. package/src/dto/apiKeyResponse.ts +29 -0
  367. package/src/dto/badRequestResponse.ts +6 -0
  368. package/src/dto/chatResponse.ts +78 -54
  369. package/src/dto/invitesResponse.ts +25 -0
  370. package/src/dto/libraryResponse.ts +51 -0
  371. package/src/dto/limitsResponse.ts +32 -0
  372. package/src/dto/queryFlowResponse.ts +28 -0
  373. package/src/dto/quizResponse.ts +12 -0
  374. package/src/dto/statisticsResponse.ts +12 -0
  375. package/src/dto/userInfoResponse.ts +65 -2
  376. package/src/dto/workspacesResponse.ts +55 -7
  377. package/src/index.ts +73 -16
  378. package/src/internal/app.impl.ts +63 -12
  379. package/src/internal/registry.ts +54 -6
  380. package/src/middleware.ts +2 -0
  381. package/src/services/acquiringService.ts +21 -0
  382. package/src/services/anonymousService.ts +43 -0
  383. package/src/services/commandService.ts +4 -2
  384. package/src/services/cookieService.ts +16 -0
  385. package/src/services/httpMethod.ts +1 -0
  386. package/src/services/librariesService.ts +22 -0
  387. package/src/services/middlewareService.ts +1 -0
  388. package/src/services/organizationService.ts +2 -2
  389. package/src/services/requestBuilder.ts +48 -8
  390. package/src/services/responseUtils.ts +12 -0
  391. package/src/services/rpcService.ts +1 -0
  392. package/src/services/userProfileService.ts +36 -4
  393. package/src/storages/acquirings/acquiring.impl.ts +132 -0
  394. package/src/storages/acquirings/acquiring.ts +54 -0
  395. package/src/storages/chats/answer.impl.ts +178 -0
  396. package/src/storages/chats/answer.ts +53 -0
  397. package/src/storages/chats/chat.impl.ts +135 -0
  398. package/src/storages/chats/chat.ts +66 -0
  399. package/src/storages/chats/chats.impl.ts +347 -0
  400. package/src/storages/chats/chats.ts +74 -0
  401. package/src/storages/files/file.impl.ts +126 -0
  402. package/src/storages/files/file.ts +78 -0
  403. package/src/storages/files/files.impl.ts +280 -0
  404. package/src/storages/{files.ts → files/files.ts} +14 -7
  405. package/src/storages/files/filesPage.impl.ts +37 -0
  406. package/src/storages/{filesPage.ts → files/filesPage.ts} +6 -0
  407. package/src/storages/groups/group.impl.ts +276 -0
  408. package/src/storages/groups/group.ts +73 -0
  409. package/src/storages/groups/groups.impl.ts +180 -0
  410. package/src/storages/groups/groups.ts +50 -0
  411. package/src/storages/library/folderId.ts +1 -0
  412. package/src/storages/library/libraries.impl.ts +209 -0
  413. package/src/storages/library/libraries.ts +56 -0
  414. package/src/storages/library/library.impl.ts +151 -0
  415. package/src/storages/library/library.ts +30 -0
  416. package/src/storages/library/libraryFolder.impl.ts +144 -0
  417. package/src/storages/library/libraryFolder.ts +23 -0
  418. package/src/storages/library/libraryId.ts +1 -0
  419. package/src/storages/library/libraryPage.impl.ts +39 -0
  420. package/src/storages/library/libraryPage.ts +56 -0
  421. package/src/storages/organizations/organization.impl.ts +568 -0
  422. package/src/storages/organizations/organization.ts +179 -0
  423. package/src/storages/{organizations.impl.ts → organizations/organizations.impl.ts} +161 -12
  424. package/src/storages/organizations/organizations.ts +93 -0
  425. package/src/storages/queryFlows/queryFlow.impl.ts +81 -0
  426. package/src/storages/queryFlows/queryFlow.ts +22 -0
  427. package/src/storages/queryFlows/queryFlows.impl.ts +154 -0
  428. package/src/storages/queryFlows/queryFlows.ts +31 -0
  429. package/src/storages/user/userProfile.impl.ts +157 -0
  430. package/src/storages/user/userProfile.ts +81 -0
  431. package/src/storages/{workspace.impl.ts → workspaces/workspace.impl.ts} +72 -12
  432. package/src/storages/{workspace.ts → workspaces/workspace.ts} +16 -3
  433. package/src/storages/{workspaces.impl.ts → workspaces/workspaces.impl.ts} +29 -32
  434. package/src/storages/{workspaces.ts → workspaces/workspaces.ts} +6 -2
  435. package/src/unitTest.ts +3 -3
  436. package/src/utils/browserUtils.ts +68 -0
  437. package/src/utils/request.ts +6 -0
  438. package/src/utils/utils.ts +8 -0
  439. package/.browserslistrc +0 -5
  440. package/.editorconfig +0 -25
  441. package/.eslintrc.json +0 -44
  442. package/.github/workflows/docs.yml +0 -32
  443. package/.github/workflows/format.yml +0 -42
  444. package/.github/workflows/publish-npm.yml +0 -33
  445. package/.github/workflows/tests.yml +0 -34
  446. package/.github/workflows/version.yml +0 -40
  447. package/.prettierignore +0 -1
  448. package/.prettierrc +0 -11
  449. package/.yarnrc +0 -2
  450. package/babel.config.js +0 -6
  451. package/docs/.nojekyll +0 -1
  452. package/docs/classes/BasicCredential.md +0 -80
  453. package/docs/classes/BearerCredential.md +0 -72
  454. package/docs/classes/Chat.md +0 -69
  455. package/docs/classes/Chats.md +0 -90
  456. package/docs/classes/CredentialBase.md +0 -54
  457. package/docs/classes/DataIslandApp.md +0 -168
  458. package/docs/classes/DebugCredential.md +0 -72
  459. package/docs/classes/DefaultCredential.md +0 -56
  460. package/docs/classes/DisposableContainer.md +0 -177
  461. package/docs/classes/EventDispatcher.md +0 -109
  462. package/docs/classes/File.md +0 -79
  463. package/docs/classes/Files.md +0 -136
  464. package/docs/classes/FilesPage.md +0 -76
  465. package/docs/classes/Group.md +0 -191
  466. package/docs/classes/Groups.md +0 -130
  467. package/docs/classes/Lifetime.md +0 -108
  468. package/docs/classes/Organization.md +0 -89
  469. package/docs/classes/Organizations.md +0 -195
  470. package/docs/classes/UserProfile.md +0 -156
  471. package/docs/classes/Workspace.md +0 -165
  472. package/docs/classes/Workspaces.md +0 -189
  473. package/docs/enums/ChatAnswer.md +0 -22
  474. package/docs/enums/ChatsEvent.md +0 -22
  475. package/docs/enums/FilesEvent.md +0 -24
  476. package/docs/enums/GroupEvent.md +0 -29
  477. package/docs/enums/OrganizationsEvent.md +0 -31
  478. package/docs/enums/UserEvent.md +0 -15
  479. package/docs/enums/WorkspaceEvent.md +0 -17
  480. package/docs/enums/WorkspacesEvent.md +0 -24
  481. package/docs/interfaces/Disposable.md +0 -25
  482. package/docs/interfaces/Event.md +0 -58
  483. package/docs/interfaces/EventSubscriber.md +0 -41
  484. package/docs/interfaces/Input.md +0 -35
  485. package/docs/modules.md +0 -205
  486. package/jest.config.ts +0 -199
  487. package/jest.setup.ts +0 -2
  488. package/scripts/docs/index.js +0 -15
  489. package/src/storages/chat.ts +0 -21
  490. package/src/storages/chats.ts +0 -17
  491. package/src/storages/file.impl.ts +0 -69
  492. package/src/storages/file.ts +0 -28
  493. package/src/storages/files.impl.ts +0 -213
  494. package/src/storages/groups.impl.ts +0 -337
  495. package/src/storages/groups.ts +0 -43
  496. package/src/storages/organization.impl.ts +0 -68
  497. package/src/storages/organization.ts +0 -33
  498. package/src/storages/organizations.ts +0 -56
  499. package/src/storages/userProfile.impl.ts +0 -56
  500. package/src/storages/userProfile.ts +0 -42
  501. package/test/commands.test.ts +0 -24
  502. package/test/data/test_file.pdf +0 -0
  503. package/test/disposable.test.ts +0 -39
  504. package/test/events.test.ts +0 -151
  505. package/test/files.test.ts +0 -52
  506. package/test/index.test.ts +0 -122
  507. package/test/organization.test.ts +0 -57
  508. package/test/registry.test.ts +0 -44
  509. package/test/services.test.ts +0 -56
  510. package/test/setup.ts +0 -54
  511. package/test/unitTest.test.ts +0 -21
  512. package/test/workspace.test.ts +0 -71
  513. package/tsconfig.json +0 -31
@@ -0,0 +1,154 @@
1
+
2
+ import {Context} from "../../context"
3
+ import {FlowId, QueryFlows, QueryFlowsEvent} from "./queryFlows"
4
+ import {QueryFlow} from "./queryFlow"
5
+ import {OrganizationImpl} from "../organizations/organization.impl"
6
+ import {RpcService} from "../../services/rpcService"
7
+ import {ResponseUtils} from "../../services/responseUtils"
8
+ import {WorkspaceId} from "../workspaces/workspaces"
9
+ import {
10
+ QueryFlowListResponse,
11
+ QueryFlowResponse
12
+ } from "../../dto/queryFlowResponse"
13
+ import {QueryFlowImpl} from "./queryFlow.impl"
14
+ import {UploadFile} from "../files/files"
15
+
16
+
17
+ export class QueryFlowsImpl extends QueryFlows {
18
+
19
+ private _collection: QueryFlow[] = []
20
+
21
+ constructor(
22
+ public readonly organization: OrganizationImpl,
23
+ public readonly context: Context) {
24
+ super()
25
+ }
26
+
27
+ async init() {
28
+ const response = await this.context
29
+ .resolve(RpcService)
30
+ ?.requestBuilder("api/v1/QueryFlows/list")
31
+ .searchParam("organizationId", this.organization.id)
32
+ .sendGet()
33
+
34
+ // check response status
35
+ if (ResponseUtils.isFail(response)) {
36
+ await ResponseUtils.throwError(`Failed to fetch query flows for org ${this.organization.id}`, response)
37
+ }
38
+
39
+ // parse flows from the server's response
40
+ const flows = ((await response!.json()) as QueryFlowListResponse)
41
+ .flowIds
42
+
43
+ // init flows from the server's response
44
+ for (const flow of flows) {
45
+ // create workspace implementation
46
+ const flowImpl = new QueryFlowImpl(this.context)
47
+
48
+ // init workspace from the server's response
49
+ await flowImpl.initFrom(flow)
50
+
51
+ // add workspace to the collection
52
+ this._collection.push(flowImpl)
53
+
54
+ // dispatch event
55
+ this.dispatch({
56
+ type: QueryFlowsEvent.ADDED,
57
+ data: flowImpl
58
+ })
59
+ }
60
+ }
61
+
62
+ get collection(): QueryFlow[] {
63
+ return this._collection
64
+ }
65
+
66
+ async create(name: string, workspaceId: WorkspaceId, file: UploadFile, table: UploadFile ): Promise<FlowId> {
67
+ if (name === undefined || name === null || name.trim() === "") {
68
+ throw new Error("Name is required, must be not empty")
69
+ }
70
+ if (workspaceId === undefined || workspaceId === null || workspaceId.trim() === "") {
71
+ throw new Error("WorkspaceId is required, must be not empty")
72
+ }
73
+ if (file === undefined || file === null) {
74
+ throw new Error("Create query flow, file is undefined or null")
75
+ }
76
+ if (table === undefined || table === null) {
77
+ throw new Error("Create query flow, table is undefined or null")
78
+ }
79
+
80
+ // form data to send
81
+ const form = new FormData()
82
+ form.append("organizationId", this.organization.id)
83
+ form.append("workspaceId", workspaceId)
84
+ form.append("name", name)
85
+ form.append("file", file, file.name)
86
+ form.append("tableFile", table, table.name)
87
+
88
+ // send request to the server
89
+ const response = await this.context
90
+ .resolve(RpcService)
91
+ ?.requestBuilder("api/v1/QueryFlows")
92
+ .sendPostFormData(form)
93
+
94
+ // check response status
95
+ if (ResponseUtils.isFail(response)) {
96
+
97
+ await ResponseUtils.throwError(`Query flow creation for ${file.name}`, response)
98
+ }
99
+
100
+ const content = (await response!.json()) as QueryFlowResponse
101
+ // create workspace implementation
102
+ const queryFlow = new QueryFlowImpl(this.context)
103
+ await queryFlow.initFrom(content.flowId)
104
+
105
+ // add workspace to the collection
106
+ this._collection.push(queryFlow)
107
+
108
+
109
+ // dispatch event
110
+ this.dispatch({
111
+ type: QueryFlowsEvent.ADDED,
112
+ data: queryFlow
113
+ })
114
+
115
+ return queryFlow.id
116
+ }
117
+
118
+ async delete(id: FlowId): Promise<void> {
119
+ const flow = this._collection.find(flow => flow.id == id)
120
+
121
+ if (!flow) {
122
+ throw new Error(`Query flow ${id} is not found`)
123
+ }
124
+
125
+ // send delete request to the server
126
+ const response = await this.context
127
+ .resolve(RpcService)
128
+ ?.requestBuilder("api/v1/QueryFlows")
129
+ .searchParam("flowId", id)
130
+ .sendDelete()
131
+
132
+ // check response status
133
+ if (ResponseUtils.isFail(response)) {
134
+ await ResponseUtils.throwError(
135
+ `Failed to delete query flow ${id} in organization: ${this.organization.id}`,
136
+ response
137
+ )
138
+ }
139
+
140
+ // remove query flow from the collection
141
+ const index = this._collection.indexOf(flow)
142
+ if (index < 0) {
143
+ throw new Error(`Query flow ${id} is not found`)
144
+ }
145
+ this._collection.splice(index, 1)
146
+
147
+ // dispatch event
148
+ this.dispatch({
149
+ type: QueryFlowsEvent.REMOVED,
150
+ data: flow
151
+ })
152
+ }
153
+
154
+ }
@@ -0,0 +1,31 @@
1
+ import {EventDispatcher} from "../../events"
2
+ import {QueryFlow} from "./queryFlow"
3
+ import {WorkspaceId} from "../workspaces/workspaces"
4
+ import {UploadFile} from "../files/files"
5
+
6
+
7
+ /**
8
+ * Query flow id.
9
+ */
10
+ export type FlowId = string
11
+
12
+ /**
13
+ * Query flow event.
14
+ */
15
+ export enum QueryFlowsEvent {
16
+ ADDED = "added",
17
+ REMOVED = "removed"
18
+ }
19
+
20
+ export abstract class QueryFlows extends EventDispatcher<
21
+ QueryFlowsEvent,
22
+ QueryFlow
23
+ > {
24
+
25
+ abstract get collection(): QueryFlow[]
26
+
27
+ abstract create(name: string, workspaceId: WorkspaceId, file: UploadFile, table: UploadFile ): Promise<FlowId>
28
+
29
+ abstract delete(id: FlowId): Promise<void>
30
+
31
+ }
@@ -0,0 +1,157 @@
1
+ import { UserEvent, UserProfile } from "./userProfile"
2
+ import { UserInfoResponse } from "../../dto/userInfoResponse"
3
+ import { Context } from "../../context"
4
+ import { RpcService } from "../../services/rpcService"
5
+ import { ResponseUtils } from "../../services/responseUtils"
6
+ import { UserProfileService } from "../../services/userProfileService"
7
+ import {InviteResponse} from "../../dto/invitesResponse"
8
+
9
+ export class UserProfileImpl extends UserProfile {
10
+ private content?: UserInfoResponse
11
+
12
+
13
+ constructor(private readonly context: Context) {
14
+ super()
15
+ }
16
+
17
+ get id(): string {
18
+ if (this.content) {
19
+ return this.content.user.id
20
+ }
21
+ throw new Error("The profile is not loaded.")
22
+ }
23
+
24
+ get name(): string {
25
+ if (this.content) {
26
+ return this.content.user.profile.name
27
+ }
28
+ throw new Error("The profile is not loaded.")
29
+ }
30
+
31
+ get email(): string {
32
+ if (this.content) {
33
+ return this.content.user.profile.email
34
+ }
35
+ throw new Error("The profile is not loaded.")
36
+ }
37
+
38
+ get binanceId(): string {
39
+ if (this.content) {
40
+ return this.content.user.profile.binanceId
41
+ }
42
+ throw new Error("The profile is not loaded.")
43
+ }
44
+
45
+ get educationalInstitution(): string {
46
+ if (this.content){
47
+ return this.content.user.profile.educationalInstitution
48
+ }
49
+ throw new Error("The profile is not loaded.")
50
+ }
51
+
52
+ get isDeleted(): boolean {
53
+ if (this.content) {
54
+ return this.content.user.isDeleted
55
+ }
56
+ throw new Error("The profile is not loaded.")
57
+ }
58
+
59
+ get isAnonymous(): boolean {
60
+ if (this.content) {
61
+ return this.content.user.isAnonymousMode
62
+ }
63
+ throw new Error("The profile is not loaded.")
64
+ }
65
+
66
+ get createdAt(): Date {
67
+ if (this.content) {
68
+ return new Date(this.content.user.created_at)
69
+ }
70
+ throw new Error("The profile is not loaded.")
71
+ }
72
+
73
+ get modifiedAt(): Date {
74
+ if (this.content) {
75
+ return new Date(this.content.user.modified_at)
76
+ }
77
+ throw new Error("The profile is not loaded.")
78
+ }
79
+
80
+ initFrom(content: UserInfoResponse) {
81
+ this.content = content
82
+ this.dispatch({
83
+ type: UserEvent.CHANGED,
84
+ data: this
85
+ })
86
+ }
87
+
88
+ async fetch() : Promise<void>{
89
+ await this.context.resolve(UserProfileService)?.fetch()
90
+ }
91
+
92
+ async updateUser(name: string, binanceId: string, educationalInstitution: string): Promise<void>{
93
+ if (!this.content) {
94
+ throw new Error("User is not loaded.")
95
+ }
96
+
97
+ if (name === this.name && binanceId === this.binanceId && educationalInstitution === this.educationalInstitution) {
98
+ return Promise.resolve()
99
+ }
100
+
101
+ const response = await this.context
102
+ .resolve(RpcService)
103
+ ?.requestBuilder("api/v1/Users")
104
+ .sendPutJson({
105
+ profile: {
106
+ name,
107
+ binanceId,
108
+ educationalInstitution
109
+ }
110
+ })
111
+
112
+ if (ResponseUtils.isFail(response)) {
113
+ await ResponseUtils.throwError("Failed to change organization", response)
114
+ }
115
+
116
+ if (this.content) {
117
+ this.content!.user.profile.name = name
118
+ this.content!.user.profile.binanceId = binanceId
119
+ this.content!.user.profile.educationalInstitution = educationalInstitution
120
+ }
121
+
122
+ this.dispatch({
123
+ type: UserEvent.CHANGED,
124
+ data: this
125
+ })
126
+ }
127
+
128
+ async getUserInvites(): Promise<InviteResponse>{
129
+ // get invites
130
+ const response = await this.context.resolve(RpcService)
131
+ ?.requestBuilder("api/v1/Invites/link/user")
132
+ .sendGet()
133
+
134
+ // check response status
135
+ if (ResponseUtils.isFail(response)) {
136
+ await ResponseUtils.throwError("Failed to get invites for current user", response)
137
+ }
138
+
139
+ const json = await response!.json()
140
+
141
+ return json as InviteResponse
142
+ }
143
+
144
+ async deleteUser(): Promise<boolean>{
145
+ const response = await this.context
146
+ .resolve(RpcService)?.
147
+ requestBuilder("/api/v1/Users/self")
148
+ .sendDelete()
149
+
150
+ if (ResponseUtils.isFail(response)) {
151
+ await ResponseUtils.throwError("Failed to delete user", response)
152
+ }
153
+
154
+ return true
155
+ }
156
+
157
+ }
@@ -0,0 +1,81 @@
1
+ import { EventDispatcher } from "../../events"
2
+ import {InviteResponse} from "../../dto/invitesResponse"
3
+
4
+ export type UserId = string
5
+
6
+ export enum UserEvent {
7
+ CHANGED = "changed"
8
+ }
9
+
10
+ export abstract class UserProfile extends EventDispatcher<
11
+ UserEvent,
12
+ UserProfile
13
+ > {
14
+ /**
15
+ * User id.
16
+ */
17
+ abstract get id(): UserId
18
+
19
+ /**
20
+ * User name.
21
+ */
22
+ abstract get name(): string
23
+
24
+ /**
25
+ * User email.
26
+ */
27
+ abstract get email(): string
28
+
29
+ /**
30
+ * Additional binance ID
31
+ */
32
+ abstract get binanceId(): string
33
+
34
+ /**
35
+ * Additional educational institution
36
+ */
37
+ abstract get educationalInstitution() : string
38
+
39
+ /**
40
+ * Is user deleted.
41
+ */
42
+ abstract get isDeleted(): boolean
43
+
44
+ /**
45
+ * Is user anonymous
46
+ */
47
+ abstract get isAnonymous(): boolean
48
+
49
+ /**
50
+ * Created at.
51
+ */
52
+ abstract get createdAt(): Date
53
+
54
+ /**
55
+ * Modified at.
56
+ */
57
+ abstract get modifiedAt(): Date
58
+
59
+ /**
60
+ * Fetch user profile
61
+ */
62
+ abstract fetch(): Promise<void>
63
+
64
+ /**
65
+ * Update user profile
66
+ * @param newName
67
+ * @param newId
68
+ * @param newEducationalInstitution
69
+ */
70
+ abstract updateUser(newName: string, newId: string, newEducationalInstitution: string): Promise<void>
71
+
72
+ /**
73
+ * Get all invite links for user
74
+ */
75
+ abstract getUserInvites(): Promise<InviteResponse>
76
+
77
+ /**
78
+ * Delete User
79
+ */
80
+ abstract deleteUser(): Promise<boolean>
81
+ }
@@ -1,11 +1,11 @@
1
- import { Context } from "../context"
2
- import { Files } from "./files"
1
+ import { Context } from "../../context"
2
+ import { Files } from "../files/files"
3
3
  import { Workspace, WorkspaceEvent } from "./workspace"
4
- import { OrganizationImpl } from "./organization.impl"
5
- import { WorkspaceDto } from "../dto/workspacesResponse"
6
- import { RpcService } from "../services/rpcService"
7
- import { FilesImpl } from "./files.impl"
8
- import { ResponseUtils } from "../services/responseUtils"
4
+ import { OrganizationImpl } from "../organizations/organization.impl"
5
+ import { WorkspaceDto } from "../../dto/workspacesResponse"
6
+ import { RpcService } from "../../services/rpcService"
7
+ import { FilesImpl } from "../files/files.impl"
8
+ import { ResponseUtils } from "../../services/responseUtils"
9
9
 
10
10
  export class WorkspaceImpl extends Workspace {
11
11
  private _isMarkAsDeleted: boolean = false
@@ -42,10 +42,37 @@ export class WorkspaceImpl extends Workspace {
42
42
  throw new Error("Workspace is not loaded.")
43
43
  }
44
44
 
45
+ get isShared(): boolean {
46
+ if (this._workspace) {
47
+ return this._workspace.profile.isShared
48
+ }
49
+ throw new Error("Workspace is not loaded.")
50
+ }
51
+
45
52
  get files(): Files {
46
53
  return this._files
47
54
  }
48
55
 
56
+ async filesCount(): Promise<number> {
57
+ // send request to the server
58
+ const response = await this.context
59
+ .resolve(RpcService)
60
+ ?.requestBuilder("api/v1/Workspaces/files/count")
61
+ .searchParam("workspaceId", this.id)
62
+ .searchParam("organizationId", this.organization.id)
63
+ .sendGet()
64
+
65
+ // check response status
66
+ if (ResponseUtils.isFail(response)) {
67
+ await ResponseUtils.throwError(
68
+ `Failed during get workspace total files count for ${this.id} of ${this.organization.id}`,
69
+ response
70
+ )
71
+ }
72
+
73
+ return ((await response!.json()) as { count: number }).count
74
+ }
75
+
49
76
  async change(name: string, description: string): Promise<void> {
50
77
  if (!this._workspace) {
51
78
  throw new Error("Workspace is not loaded.")
@@ -61,12 +88,9 @@ export class WorkspaceImpl extends Workspace {
61
88
  }
62
89
  if (
63
90
  description === undefined ||
64
- description === null ||
65
- description.trim() === ""
91
+ description === null
66
92
  ) {
67
- throw new Error(
68
- "Description is required. Please provide a valid description."
69
- )
93
+ description = ""
70
94
  }
71
95
 
72
96
  const response = await this.context
@@ -95,6 +119,42 @@ export class WorkspaceImpl extends Workspace {
95
119
  })
96
120
  }
97
121
 
122
+ async share(isShared: boolean): Promise<void> {
123
+ if (!this._workspace) {
124
+ throw new Error("Workspace is not loaded.")
125
+ }
126
+ if (this._isMarkAsDeleted) {
127
+ throw new Error("Workspace is marked as deleted.")
128
+ }
129
+ if (isShared === this.isShared) {
130
+ return Promise.resolve()
131
+ }
132
+ if (isShared === undefined || isShared === null) {
133
+ throw new Error("Is shared parameter is required.")
134
+ }
135
+
136
+ const response = await this.context
137
+ .resolve(RpcService)
138
+ ?.requestBuilder("api/v1/workspaces/library")
139
+ .sendPutJson({
140
+ workspaceId: this.id,
141
+ isShared: isShared
142
+ })
143
+
144
+ if (ResponseUtils.isFail(response)) {
145
+ await ResponseUtils.throwError("Failed to change workspace shared state", response)
146
+ }
147
+
148
+ if (this._workspace) {
149
+ this._workspace.profile.isShared = isShared
150
+ }
151
+
152
+ this.dispatch({
153
+ type: WorkspaceEvent.CHANGED,
154
+ data: this
155
+ })
156
+ }
157
+
98
158
  async initFrom(workspace: WorkspaceDto) {
99
159
  this._workspace = workspace
100
160
  }
@@ -1,7 +1,7 @@
1
- import { EventDispatcher } from "../events"
2
- import { Files } from "./files"
1
+ import { EventDispatcher } from "../../events"
2
+ import { Files } from "../files/files"
3
3
  import { WorkspaceId } from "./workspaces"
4
- import { Organization } from "./organization"
4
+ import { Organization } from "../organizations/organization"
5
5
 
6
6
  /**
7
7
  * Workspace event.
@@ -37,13 +37,26 @@ export abstract class Workspace extends EventDispatcher<
37
37
  */
38
38
  abstract get description(): string
39
39
 
40
+ abstract get isShared(): boolean
41
+
40
42
  /**
41
43
  * Workspace files.
42
44
  */
43
45
  abstract get files(): Files
44
46
 
47
+ /**
48
+ * Workspace files count.
49
+ */
50
+ abstract filesCount(): Promise<number>
51
+
45
52
  /**
46
53
  * Change workspace name and description.
47
54
  */
48
55
  abstract change(name: string, description: string): Promise<void>
56
+
57
+ /**
58
+ * Make workspace available for the library implementation
59
+ * @param isShared
60
+ */
61
+ abstract share(isShared: boolean): Promise<void>
49
62
  }
@@ -1,13 +1,15 @@
1
1
  import { WorkspaceId, Workspaces, WorkspacesEvent } from "./workspaces"
2
- import { OrganizationImpl } from "./organization.impl"
3
- import { Context } from "../context"
2
+ import { OrganizationImpl } from "../organizations/organization.impl"
3
+ import { Context } from "../../context"
4
4
  import { Workspace } from "./workspace"
5
5
  import { WorkspaceImpl } from "./workspace.impl"
6
- import { OrganizationId } from "./organizations"
7
- import { RpcService } from "../services/rpcService"
8
- import { OrganizationWorkspaces } from "../dto/userInfoResponse"
9
- import { WorkspaceDto } from "../dto/workspacesResponse"
10
- import { ResponseUtils } from "../services/responseUtils"
6
+ import { OrganizationId } from "../organizations/organizations"
7
+ import { RpcService } from "../../services/rpcService"
8
+ import { OrganizationWorkspaces } from "../../dto/userInfoResponse"
9
+ import { WorkspaceDto } from "../../dto/workspacesResponse"
10
+ import { ResponseUtils } from "../../services/responseUtils"
11
+ import { UserProfileService } from "../../services/userProfileService"
12
+ import { UserProfile } from "../user/userProfile"
11
13
 
12
14
  export class WorkspacesImpl extends Workspaces {
13
15
  private readonly _workspaces: WorkspaceImpl[] = []
@@ -46,10 +48,10 @@ export class WorkspacesImpl extends Workspaces {
46
48
  description: string,
47
49
  regulation?: {
48
50
  isCreateNewGroup: boolean
49
- newGroupName: string
50
- groupIds: string[]
51
+ newGroupName?: string
52
+ groupIds?: string[]
51
53
  }
52
- ): Promise<Workspace> {
54
+ ): Promise<Workspace | undefined> {
53
55
  if (name === undefined || name === null || name.trim() === "") {
54
56
  throw new Error("Name is required, must be not empty")
55
57
  }
@@ -67,20 +69,6 @@ export class WorkspacesImpl extends Workspaces {
67
69
  ) {
68
70
  throw new Error("isCreateNewGroup is required, must be not empty")
69
71
  }
70
- if (
71
- regulation.newGroupName === undefined ||
72
- regulation.newGroupName === null ||
73
- regulation.newGroupName.trim() === ""
74
- ) {
75
- throw new Error("newGroupName is required, must be not empty")
76
- }
77
- if (
78
- regulation.groupIds === undefined ||
79
- regulation.groupIds === null ||
80
- regulation.groupIds.length === 0
81
- ) {
82
- throw new Error("groupIds is required, must be not empty")
83
- }
84
72
  }
85
73
 
86
74
  // send create request to the server
@@ -94,19 +82,25 @@ export class WorkspacesImpl extends Workspaces {
94
82
  description: description
95
83
  },
96
84
  regulation: {
97
- isCreateNewGroup: regulation?.isCreateNewGroup ?? false,
98
- newGroupName: regulation?.newGroupName ?? "",
99
- groupIds: regulation?.groupIds ?? []
85
+ isCreateNewGroup: regulation?.isCreateNewGroup,
86
+ newGroupName: regulation?.newGroupName,
87
+ groupIds: regulation?.groupIds
100
88
  }
101
89
  })
102
90
 
103
91
  // check response status
104
92
  if (ResponseUtils.isFail(response)) {
105
- await ResponseUtils.throwError("Failed to create workspace", response)
93
+ if (await ResponseUtils.isLimitReached()){
94
+ return undefined
95
+ }
96
+
97
+ await ResponseUtils.throwError(`Failed to create workspace, in organization: ${this.organization.id}`, response)
106
98
  }
107
99
 
108
100
  // parse workspace from the server's response
109
- const content = (await response!.json()).workspace as WorkspaceDto
101
+ const content = ((await response!.json()) as {
102
+ workspace: WorkspaceDto
103
+ }).workspace as WorkspaceDto
110
104
 
111
105
  // create workspace implementation
112
106
  const workspace = new WorkspaceImpl(this.organization, this.context)
@@ -115,6 +109,8 @@ export class WorkspacesImpl extends Workspaces {
115
109
  // add workspace to the collection
116
110
  this._workspaces.push(workspace)
117
111
 
112
+ await this.organization.accessGroups.reload()
113
+
118
114
  // dispatch event
119
115
  this.dispatch({
120
116
  type: WorkspacesEvent.ADDED,
@@ -139,7 +135,7 @@ export class WorkspacesImpl extends Workspaces {
139
135
 
140
136
  // check if workspace is already marked as deleted
141
137
  if (workspace.isMarkAsDeleted) {
142
- throw new Error(`Workspace ${id} is already marked as deleted`)
138
+ throw new Error(`Workspace ${id} is already marked as deleted, in organization: ${this.organization.id}`)
143
139
  }
144
140
 
145
141
  // mark workspace as deleted
@@ -155,7 +151,7 @@ export class WorkspacesImpl extends Workspaces {
155
151
  // check response status
156
152
  if (ResponseUtils.isFail(response)) {
157
153
  await ResponseUtils.throwError(
158
- `Failed to delete workspace: ${workspace.organization.name}/${workspace.name}:${id}`,
154
+ `Failed to delete workspace: ${workspace.organization.name}/${workspace.name}:${id}, in organization: ${this.organization.id}`,
159
155
  response
160
156
  )
161
157
  }
@@ -184,7 +180,8 @@ export class WorkspacesImpl extends Workspaces {
184
180
 
185
181
  // check response status
186
182
  if (ResponseUtils.isFail(response)) {
187
- await ResponseUtils.throwError("Failed to fetch workspaces.", response)
183
+ const userProfile = this.context.resolve(UserProfileService)?.userProfile as UserProfile
184
+ await ResponseUtils.throwError(`Failed to fetch workspaces in organization: ${organizationId}, userId: ${userProfile.id}, email: ${userProfile.email}`, response)
188
185
  }
189
186
 
190
187
  // parse workspaces from the server's response