@neuralinnovations/dataisland-sdk 0.0.1-dev6 → 0.0.1-dev60

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (377) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +232 -3
  3. package/dist/index.d.ts +3 -0
  4. package/dist/index.d.ts.map +1 -0
  5. package/dist/index.js +3 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/package.json +103 -0
  8. package/dist/src/appBuilder.d.ts +44 -0
  9. package/dist/src/appBuilder.d.ts.map +1 -0
  10. package/dist/src/appBuilder.js +10 -0
  11. package/dist/src/appBuilder.js.map +1 -0
  12. package/dist/src/commands/deleteUserFullCommandHandler.d.ts +7 -0
  13. package/dist/src/commands/deleteUserFullCommandHandler.d.ts.map +1 -0
  14. package/dist/src/commands/deleteUserFullCommandHandler.js +21 -0
  15. package/dist/src/commands/deleteUserFullCommandHandler.js.map +1 -0
  16. package/dist/src/commands/startCommandHandler.d.ts +7 -0
  17. package/dist/src/commands/startCommandHandler.d.ts.map +1 -0
  18. package/dist/src/commands/startCommandHandler.js +30 -0
  19. package/dist/src/commands/startCommandHandler.js.map +1 -0
  20. package/dist/src/context.d.ts +24 -0
  21. package/dist/src/context.d.ts.map +1 -0
  22. package/dist/src/context.js +31 -0
  23. package/dist/src/context.js.map +1 -0
  24. package/dist/src/credentials.d.ts +33 -0
  25. package/dist/src/credentials.d.ts.map +1 -0
  26. package/dist/src/credentials.js +87 -0
  27. package/dist/src/credentials.js.map +1 -0
  28. package/dist/src/dataIslandApp.d.ts +55 -0
  29. package/dist/src/dataIslandApp.d.ts.map +1 -0
  30. package/dist/src/dataIslandApp.js +10 -0
  31. package/dist/src/dataIslandApp.js.map +1 -0
  32. package/dist/src/disposable.d.ts +84 -0
  33. package/dist/src/disposable.d.ts.map +1 -0
  34. package/dist/src/disposable.js +147 -0
  35. package/dist/src/disposable.js.map +1 -0
  36. package/dist/src/dto/accessGroupResponse.d.ts +30 -0
  37. package/dist/src/dto/accessGroupResponse.d.ts.map +1 -0
  38. package/dist/src/dto/accessGroupResponse.js +3 -0
  39. package/dist/src/dto/accessGroupResponse.js.map +1 -0
  40. package/dist/src/dto/acquiringResponse.d.ts +46 -0
  41. package/dist/src/dto/acquiringResponse.d.ts.map +1 -0
  42. package/dist/src/dto/acquiringResponse.js +11 -0
  43. package/dist/src/dto/acquiringResponse.js.map +1 -0
  44. package/dist/src/dto/badRequestResponse.d.ts +6 -0
  45. package/dist/src/dto/badRequestResponse.d.ts.map +1 -0
  46. package/dist/src/dto/badRequestResponse.js +3 -0
  47. package/dist/src/dto/badRequestResponse.js.map +1 -0
  48. package/dist/src/dto/chatResponse.d.ts +84 -0
  49. package/dist/src/dto/chatResponse.d.ts.map +1 -0
  50. package/dist/src/dto/chatResponse.js +45 -0
  51. package/dist/src/dto/chatResponse.js.map +1 -0
  52. package/dist/src/dto/limitsResponse.d.ts +29 -0
  53. package/dist/src/dto/limitsResponse.d.ts.map +1 -0
  54. package/dist/src/dto/limitsResponse.js +13 -0
  55. package/dist/src/dto/limitsResponse.js.map +1 -0
  56. package/dist/src/dto/quizResponse.d.ts +11 -0
  57. package/dist/src/dto/quizResponse.d.ts.map +1 -0
  58. package/dist/src/dto/quizResponse.js +3 -0
  59. package/dist/src/dto/quizResponse.js.map +1 -0
  60. package/dist/src/dto/statisticsResponse.d.ts +11 -0
  61. package/dist/src/dto/statisticsResponse.d.ts.map +1 -0
  62. package/dist/src/dto/statisticsResponse.js +3 -0
  63. package/dist/src/dto/statisticsResponse.js.map +1 -0
  64. package/dist/src/dto/userInfoResponse.d.ts +91 -0
  65. package/dist/src/dto/userInfoResponse.d.ts.map +1 -0
  66. package/dist/src/dto/userInfoResponse.js +3 -0
  67. package/dist/src/dto/userInfoResponse.js.map +1 -0
  68. package/dist/src/dto/workspacesResponse.d.ts +51 -0
  69. package/dist/src/dto/workspacesResponse.d.ts.map +1 -0
  70. package/dist/src/dto/workspacesResponse.js +11 -0
  71. package/dist/src/dto/workspacesResponse.js.map +1 -0
  72. package/dist/src/events.d.ts +17 -0
  73. package/dist/src/events.d.ts.map +1 -0
  74. package/dist/src/events.js +52 -0
  75. package/dist/src/events.js.map +1 -0
  76. package/dist/src/index.d.ts +73 -0
  77. package/dist/src/index.d.ts.map +1 -0
  78. package/dist/src/index.js +122 -0
  79. package/dist/src/index.js.map +1 -0
  80. package/dist/src/internal/app.impl.d.ts +30 -0
  81. package/dist/src/internal/app.impl.d.ts.map +1 -0
  82. package/dist/src/internal/app.impl.js +180 -0
  83. package/dist/src/internal/app.impl.js.map +1 -0
  84. package/dist/src/internal/appBuilder.impl.d.ts +27 -0
  85. package/dist/src/internal/appBuilder.impl.d.ts.map +1 -0
  86. package/dist/src/internal/appBuilder.impl.js +71 -0
  87. package/dist/src/internal/appBuilder.impl.js.map +1 -0
  88. package/dist/src/internal/createApp.impl.d.ts +4 -0
  89. package/dist/src/internal/createApp.impl.d.ts.map +1 -0
  90. package/dist/src/internal/createApp.impl.js +11 -0
  91. package/dist/src/internal/createApp.impl.js.map +1 -0
  92. package/dist/src/internal/registry.d.ts +66 -0
  93. package/dist/src/internal/registry.d.ts.map +1 -0
  94. package/dist/src/internal/registry.js +114 -0
  95. package/dist/src/internal/registry.js.map +1 -0
  96. package/dist/src/middleware.d.ts +6 -0
  97. package/dist/src/middleware.d.ts.map +1 -0
  98. package/dist/src/middleware.js +3 -0
  99. package/dist/src/middleware.js.map +1 -0
  100. package/dist/src/services/acquiringService.d.ts +9 -0
  101. package/dist/src/services/acquiringService.d.ts.map +1 -0
  102. package/dist/src/services/acquiringService.js +19 -0
  103. package/dist/src/services/acquiringService.js.map +1 -0
  104. package/dist/src/services/anonymousService.d.ts +8 -0
  105. package/dist/src/services/anonymousService.d.ts.map +1 -0
  106. package/dist/src/services/anonymousService.js +41 -0
  107. package/dist/src/services/anonymousService.js.map +1 -0
  108. package/dist/src/services/commandService.d.ts +18 -0
  109. package/dist/src/services/commandService.d.ts.map +1 -0
  110. package/dist/src/services/commandService.js +40 -0
  111. package/dist/src/services/commandService.js.map +1 -0
  112. package/dist/src/services/cookieService.d.ts +7 -0
  113. package/dist/src/services/cookieService.d.ts.map +1 -0
  114. package/dist/src/services/cookieService.js +18 -0
  115. package/dist/src/services/cookieService.js.map +1 -0
  116. package/dist/src/services/credentialService.d.ts +9 -0
  117. package/dist/src/services/credentialService.d.ts.map +1 -0
  118. package/dist/src/services/credentialService.js +26 -0
  119. package/dist/src/services/credentialService.js.map +1 -0
  120. package/dist/src/services/httpMethod.d.ts +2 -0
  121. package/dist/src/services/httpMethod.d.ts.map +1 -0
  122. package/dist/src/services/httpMethod.js +3 -0
  123. package/dist/src/services/httpMethod.js.map +1 -0
  124. package/dist/src/services/middlewareService.d.ts +10 -0
  125. package/dist/src/services/middlewareService.d.ts.map +1 -0
  126. package/dist/src/services/middlewareService.js +34 -0
  127. package/dist/src/services/middlewareService.js.map +1 -0
  128. package/dist/src/services/organizationService.d.ts +10 -0
  129. package/dist/src/services/organizationService.d.ts.map +1 -0
  130. package/dist/src/services/organizationService.js +19 -0
  131. package/dist/src/services/organizationService.js.map +1 -0
  132. package/dist/src/services/requestBuilder.d.ts +17 -0
  133. package/dist/src/services/requestBuilder.d.ts.map +1 -0
  134. package/dist/src/services/requestBuilder.js +105 -0
  135. package/dist/src/services/requestBuilder.js.map +1 -0
  136. package/dist/src/services/responseUtils.d.ts +8 -0
  137. package/dist/src/services/responseUtils.d.ts.map +1 -0
  138. package/dist/src/services/responseUtils.js +40 -0
  139. package/dist/src/services/responseUtils.js.map +1 -0
  140. package/dist/src/services/rpcService.d.ts +77 -0
  141. package/dist/src/services/rpcService.d.ts.map +1 -0
  142. package/dist/src/services/rpcService.js +125 -0
  143. package/dist/src/services/rpcService.js.map +1 -0
  144. package/dist/src/services/service.d.ts +21 -0
  145. package/dist/src/services/service.d.ts.map +1 -0
  146. package/dist/src/services/service.js +41 -0
  147. package/dist/src/services/service.js.map +1 -0
  148. package/dist/src/services/userProfileService.d.ts +10 -0
  149. package/dist/src/services/userProfileService.d.ts.map +1 -0
  150. package/dist/src/services/userProfileService.js +59 -0
  151. package/dist/src/services/userProfileService.js.map +1 -0
  152. package/dist/src/storages/acquirings/acquiring.d.ts +41 -0
  153. package/dist/src/storages/acquirings/acquiring.d.ts.map +1 -0
  154. package/dist/src/storages/acquirings/acquiring.impl.d.ts +20 -0
  155. package/dist/src/storages/acquirings/acquiring.impl.d.ts.map +1 -0
  156. package/dist/src/storages/acquirings/acquiring.impl.js +92 -0
  157. package/dist/src/storages/acquirings/acquiring.impl.js.map +1 -0
  158. package/dist/src/storages/acquirings/acquiring.js +10 -0
  159. package/dist/src/storages/acquirings/acquiring.js.map +1 -0
  160. package/dist/src/storages/chats/answer.d.ts +41 -0
  161. package/dist/src/storages/chats/answer.d.ts.map +1 -0
  162. package/dist/src/storages/chats/answer.impl.d.ts +29 -0
  163. package/dist/src/storages/chats/answer.impl.d.ts.map +1 -0
  164. package/dist/src/storages/chats/answer.impl.js +116 -0
  165. package/dist/src/storages/chats/answer.impl.js.map +1 -0
  166. package/dist/src/storages/chats/answer.js +15 -0
  167. package/dist/src/storages/chats/answer.js.map +1 -0
  168. package/dist/src/storages/chats/chat.d.ts +51 -0
  169. package/dist/src/storages/chats/chat.d.ts.map +1 -0
  170. package/dist/src/storages/chats/chat.impl.d.ts +27 -0
  171. package/dist/src/storages/chats/chat.impl.d.ts.map +1 -0
  172. package/dist/src/storages/chats/chat.impl.js +93 -0
  173. package/dist/src/storages/chats/chat.impl.js.map +1 -0
  174. package/dist/src/storages/chats/chat.js +12 -0
  175. package/dist/src/storages/chats/chat.js.map +1 -0
  176. package/dist/src/storages/chats/chats.d.ts +51 -0
  177. package/dist/src/storages/chats/chats.d.ts.map +1 -0
  178. package/dist/src/storages/chats/chats.impl.d.ts +20 -0
  179. package/dist/src/storages/chats/chats.impl.d.ts.map +1 -0
  180. package/dist/src/storages/chats/chats.impl.js +184 -0
  181. package/dist/src/storages/chats/chats.impl.js.map +1 -0
  182. package/dist/src/storages/chats/chats.js +16 -0
  183. package/dist/src/storages/chats/chats.js.map +1 -0
  184. package/dist/src/storages/files/file.d.ts +59 -0
  185. package/dist/src/storages/files/file.d.ts.map +1 -0
  186. package/dist/src/storages/files/file.impl.d.ts +28 -0
  187. package/dist/src/storages/files/file.impl.d.ts.map +1 -0
  188. package/dist/src/storages/files/file.impl.js +127 -0
  189. package/dist/src/storages/files/file.impl.js.map +1 -0
  190. package/dist/src/storages/files/file.js +17 -0
  191. package/dist/src/storages/files/file.js.map +1 -0
  192. package/dist/src/storages/files/files.d.ts +39 -0
  193. package/dist/src/storages/files/files.d.ts.map +1 -0
  194. package/dist/src/storages/files/files.impl.d.ts +24 -0
  195. package/dist/src/storages/files/files.impl.d.ts.map +1 -0
  196. package/dist/src/storages/files/files.impl.js +168 -0
  197. package/dist/src/storages/files/files.impl.js.map +1 -0
  198. package/dist/src/storages/files/files.js +20 -0
  199. package/dist/src/storages/files/files.js.map +1 -0
  200. package/dist/src/storages/files/filesPage.d.ts +28 -0
  201. package/dist/src/storages/files/filesPage.d.ts.map +1 -0
  202. package/dist/src/storages/files/filesPage.impl.d.ts +15 -0
  203. package/dist/src/storages/files/filesPage.impl.d.ts.map +1 -0
  204. package/dist/src/storages/files/filesPage.impl.js +38 -0
  205. package/dist/src/storages/files/filesPage.impl.js.map +1 -0
  206. package/dist/src/storages/files/filesPage.js +10 -0
  207. package/dist/src/storages/files/filesPage.js.map +1 -0
  208. package/dist/src/storages/groups/group.d.ts +63 -0
  209. package/dist/src/storages/groups/group.d.ts.map +1 -0
  210. package/dist/src/storages/groups/group.impl.d.ts +38 -0
  211. package/dist/src/storages/groups/group.impl.d.ts.map +1 -0
  212. package/dist/src/storages/groups/group.impl.js +210 -0
  213. package/dist/src/storages/groups/group.impl.js.map +1 -0
  214. package/dist/src/storages/groups/group.js +15 -0
  215. package/dist/src/storages/groups/group.js.map +1 -0
  216. package/dist/src/storages/groups/groups.d.ts +43 -0
  217. package/dist/src/storages/groups/groups.d.ts.map +1 -0
  218. package/dist/src/storages/groups/groups.impl.d.ts +31 -0
  219. package/dist/src/storages/groups/groups.impl.d.ts.map +1 -0
  220. package/dist/src/storages/groups/groups.impl.js +136 -0
  221. package/dist/src/storages/groups/groups.impl.js.map +1 -0
  222. package/dist/src/storages/groups/groups.js +20 -0
  223. package/dist/src/storages/groups/groups.js.map +1 -0
  224. package/dist/src/storages/organizations/organization.d.ts +103 -0
  225. package/dist/src/storages/organizations/organization.d.ts.map +1 -0
  226. package/dist/src/storages/organizations/organization.impl.d.ts +44 -0
  227. package/dist/src/storages/organizations/organization.impl.d.ts.map +1 -0
  228. package/dist/src/storages/organizations/organization.impl.js +255 -0
  229. package/dist/src/storages/organizations/organization.impl.js.map +1 -0
  230. package/dist/src/storages/organizations/organization.js +18 -0
  231. package/dist/src/storages/organizations/organization.js.map +1 -0
  232. package/dist/src/storages/organizations/organizations.d.ts +51 -0
  233. package/dist/src/storages/organizations/organizations.d.ts.map +1 -0
  234. package/dist/src/storages/organizations/organizations.impl.d.ts +39 -0
  235. package/dist/src/storages/organizations/organizations.impl.d.ts.map +1 -0
  236. package/dist/src/storages/organizations/organizations.impl.js +173 -0
  237. package/dist/src/storages/organizations/organizations.impl.js.map +1 -0
  238. package/dist/src/storages/organizations/organizations.js +20 -0
  239. package/dist/src/storages/organizations/organizations.js.map +1 -0
  240. package/dist/src/storages/user/userProfile.d.ts +59 -0
  241. package/dist/src/storages/user/userProfile.d.ts.map +1 -0
  242. package/dist/src/storages/user/userProfile.impl.d.ts +22 -0
  243. package/dist/src/storages/user/userProfile.impl.d.ts.map +1 -0
  244. package/dist/src/storages/user/userProfile.impl.js +118 -0
  245. package/dist/src/storages/user/userProfile.impl.js.map +1 -0
  246. package/dist/src/storages/user/userProfile.js +12 -0
  247. package/dist/src/storages/user/userProfile.js.map +1 -0
  248. package/dist/src/storages/workspaces/workspace.d.ts +44 -0
  249. package/dist/src/storages/workspaces/workspace.d.ts.map +1 -0
  250. package/dist/src/storages/workspaces/workspace.impl.d.ts +23 -0
  251. package/dist/src/storages/workspaces/workspace.impl.d.ts.map +1 -0
  252. package/dist/src/storages/workspaces/workspace.impl.js +98 -0
  253. package/dist/src/storages/workspaces/workspace.impl.js.map +1 -0
  254. package/dist/src/storages/workspaces/workspace.js +18 -0
  255. package/dist/src/storages/workspaces/workspace.js.map +1 -0
  256. package/dist/src/storages/workspaces/workspaces.d.ts +47 -0
  257. package/dist/src/storages/workspaces/workspaces.d.ts.map +1 -0
  258. package/dist/src/storages/workspaces/workspaces.impl.d.ts +33 -0
  259. package/dist/src/storages/workspaces/workspaces.impl.d.ts.map +1 -0
  260. package/dist/src/storages/workspaces/workspaces.impl.js +153 -0
  261. package/dist/src/storages/workspaces/workspaces.impl.js.map +1 -0
  262. package/dist/src/storages/workspaces/workspaces.js +19 -0
  263. package/dist/src/storages/workspaces/workspaces.js.map +1 -0
  264. package/dist/src/unitTest.d.ts +12 -0
  265. package/dist/src/unitTest.d.ts.map +1 -0
  266. package/dist/src/unitTest.js +44 -0
  267. package/dist/src/unitTest.js.map +1 -0
  268. package/dist/src/utils/browserUtils.d.ts +4 -0
  269. package/dist/src/utils/browserUtils.d.ts.map +1 -0
  270. package/dist/src/utils/browserUtils.js +64 -0
  271. package/dist/src/utils/browserUtils.js.map +1 -0
  272. package/dist/src/utils/request.d.ts +6 -0
  273. package/dist/src/utils/request.d.ts.map +1 -0
  274. package/dist/src/utils/request.js +3 -0
  275. package/dist/src/utils/request.js.map +1 -0
  276. package/dist/src/utils/utils.d.ts +3 -0
  277. package/dist/src/utils/utils.d.ts.map +1 -0
  278. package/dist/src/utils/utils.js +13 -0
  279. package/dist/src/utils/utils.js.map +1 -0
  280. package/index.d.ts +1 -0
  281. package/index.js +1 -0
  282. package/package.json +46 -5
  283. package/src/commands/deleteUserFullCommandHandler.ts +19 -0
  284. package/src/commands/startCommandHandler.ts +19 -5
  285. package/src/context.ts +4 -2
  286. package/src/credentials.ts +22 -0
  287. package/src/dataIslandApp.ts +8 -2
  288. package/src/disposable.ts +18 -5
  289. package/src/dto/accessGroupResponse.ts +19 -16
  290. package/src/dto/acquiringResponse.ts +54 -0
  291. package/src/dto/badRequestResponse.ts +6 -0
  292. package/src/dto/chatResponse.ts +60 -54
  293. package/src/dto/limitsResponse.ts +32 -0
  294. package/src/dto/quizResponse.ts +12 -0
  295. package/src/dto/statisticsResponse.ts +12 -0
  296. package/src/dto/userInfoResponse.ts +63 -2
  297. package/src/dto/workspacesResponse.ts +17 -3
  298. package/src/index.ts +57 -16
  299. package/src/internal/app.impl.ts +54 -12
  300. package/src/internal/registry.ts +54 -6
  301. package/src/middleware.ts +2 -0
  302. package/src/services/acquiringService.ts +21 -0
  303. package/src/services/anonymousService.ts +43 -0
  304. package/src/services/commandService.ts +4 -2
  305. package/src/services/cookieService.ts +16 -0
  306. package/src/services/httpMethod.ts +1 -0
  307. package/src/services/middlewareService.ts +1 -0
  308. package/src/services/organizationService.ts +2 -2
  309. package/src/services/requestBuilder.ts +10 -8
  310. package/src/services/responseUtils.ts +12 -0
  311. package/src/services/rpcService.ts +1 -0
  312. package/src/services/userProfileService.ts +36 -4
  313. package/src/storages/acquirings/acquiring.impl.ts +132 -0
  314. package/src/storages/acquirings/acquiring.ts +54 -0
  315. package/src/storages/chats/answer.impl.ts +160 -0
  316. package/src/storages/chats/answer.ts +53 -0
  317. package/src/storages/chats/chat.impl.ts +115 -0
  318. package/src/storages/chats/chat.ts +65 -0
  319. package/src/storages/chats/chats.impl.ts +255 -0
  320. package/src/storages/chats/chats.ts +60 -0
  321. package/src/storages/files/file.impl.ts +159 -0
  322. package/src/storages/files/file.ts +74 -0
  323. package/src/storages/{files.impl.ts → files/files.impl.ts} +67 -46
  324. package/src/storages/{files.ts → files/files.ts} +14 -7
  325. package/src/storages/files/filesPage.impl.ts +37 -0
  326. package/src/storages/{filesPage.ts → files/filesPage.ts} +6 -0
  327. package/src/storages/groups/group.impl.ts +276 -0
  328. package/src/storages/groups/group.ts +73 -0
  329. package/src/storages/groups/groups.impl.ts +180 -0
  330. package/src/storages/groups/groups.ts +50 -0
  331. package/src/storages/organizations/organization.impl.ts +387 -0
  332. package/src/storages/organizations/organization.ts +127 -0
  333. package/src/storages/{organizations.impl.ts → organizations/organizations.impl.ts} +55 -13
  334. package/src/storages/{organizations.ts → organizations/organizations.ts} +7 -1
  335. package/src/storages/user/userProfile.impl.ts +140 -0
  336. package/src/storages/user/userProfile.ts +75 -0
  337. package/src/storages/{workspace.impl.ts → workspaces/workspace.impl.ts} +27 -7
  338. package/src/storages/{workspace.ts → workspaces/workspace.ts} +8 -3
  339. package/src/storages/{workspaces.impl.ts → workspaces/workspaces.impl.ts} +29 -32
  340. package/src/storages/{workspaces.ts → workspaces/workspaces.ts} +6 -2
  341. package/src/unitTest.ts +3 -3
  342. package/src/utils/browserUtils.ts +68 -0
  343. package/src/utils/request.ts +6 -0
  344. package/src/utils/utils.ts +8 -0
  345. package/.browserslistrc +0 -5
  346. package/.editorconfig +0 -25
  347. package/.eslintrc.json +0 -44
  348. package/.github/workflows/publish-npm.yml +0 -28
  349. package/.prettierignore +0 -1
  350. package/.prettierrc +0 -11
  351. package/.yarnrc +0 -2
  352. package/babel.config.js +0 -6
  353. package/jest.config.ts +0 -199
  354. package/jest.setup.ts +0 -2
  355. package/src/storages/chat.ts +0 -21
  356. package/src/storages/chats.ts +0 -17
  357. package/src/storages/file.impl.ts +0 -69
  358. package/src/storages/file.ts +0 -28
  359. package/src/storages/groups.impl.ts +0 -337
  360. package/src/storages/groups.ts +0 -43
  361. package/src/storages/organization.impl.ts +0 -68
  362. package/src/storages/organization.ts +0 -33
  363. package/src/storages/userProfile.impl.ts +0 -56
  364. package/src/storages/userProfile.ts +0 -42
  365. package/test/commands.test.ts +0 -24
  366. package/test/data/test_file.pdf +0 -0
  367. package/test/disposable.test.ts +0 -39
  368. package/test/events.test.ts +0 -151
  369. package/test/files.test.ts +0 -52
  370. package/test/index.test.ts +0 -122
  371. package/test/organization.test.ts +0 -57
  372. package/test/registry.test.ts +0 -44
  373. package/test/services.test.ts +0 -56
  374. package/test/setup.ts +0 -54
  375. package/test/unitTest.test.ts +0 -21
  376. package/test/workspace.test.ts +0 -71
  377. package/tsconfig.json +0 -31
@@ -0,0 +1,60 @@
1
+ import { EventDispatcher } from "../../events"
2
+ import { Chat, ChatId } from "./chat"
3
+ import { Organization } from "../organizations/organization"
4
+
5
+ export enum ChatsEvent {
6
+ ADDED = "added",
7
+ REMOVED = "removed"
8
+ }
9
+
10
+ /**
11
+ * Chats storage.
12
+ */
13
+ export abstract class Chats extends EventDispatcher<ChatsEvent, Chat> {
14
+
15
+ /**
16
+ * Organization.
17
+ */
18
+ abstract get organization(): Organization
19
+
20
+ /**
21
+ * Chats list.
22
+ */
23
+ abstract get collection(): ReadonlyArray<Chat>
24
+
25
+ /**
26
+ * Create new chat.
27
+ */
28
+ abstract create(model: string, clientContext: string): Promise<Chat | undefined>
29
+
30
+ /**
31
+ * Create chat with specific file
32
+ * @param fileId
33
+ */
34
+ abstract createWithFile(fileId: string): Promise<Chat | undefined>
35
+
36
+ /**
37
+ * Create chat with specific workspace
38
+ * @param workspaceId
39
+ * @param clientContext
40
+ */
41
+ abstract createWithWorkspace(workspaceId: string, clientContext: string): Promise<Chat | undefined>
42
+
43
+ /**
44
+ * Get chat by id.
45
+ * @param id
46
+ */
47
+ abstract get(id: ChatId): Chat
48
+
49
+ /**
50
+ * Try to get chat by id.
51
+ * @param id
52
+ */
53
+ abstract tryGet(id: ChatId): Chat | undefined
54
+
55
+ /**
56
+ * Delete chat.
57
+ * @param id
58
+ */
59
+ abstract delete(id: ChatId): Promise<void>
60
+ }
@@ -0,0 +1,159 @@
1
+ import {Context} from "../../context"
2
+ import {Disposable} from "../../disposable"
3
+ import {
4
+ FileDto,
5
+ FileProgressDto,
6
+ MetadataDto
7
+ } from "../../dto/workspacesResponse"
8
+ import {RpcService} from "../../services/rpcService"
9
+ import {ResponseUtils} from "../../services/responseUtils"
10
+ import {File, FileStatus} from "./file"
11
+ import {FilesEvent} from "./files"
12
+ import {isNullOrUndefined} from "../../utils/utils"
13
+
14
+ export class FileImpl extends File implements Disposable {
15
+ private _isDisposed: boolean = false
16
+ private _content?: FileDto
17
+ private _progress?: FileProgressDto
18
+
19
+ constructor(private readonly context: Context) {
20
+ super()
21
+ }
22
+
23
+ async initFrom(file: FileDto): Promise<File> {
24
+ this._content = file
25
+
26
+ await this.updateStatus()
27
+
28
+ return this
29
+ }
30
+
31
+ get isDisposed(): boolean {
32
+ return this._isDisposed
33
+ }
34
+
35
+ dispose(): void {
36
+ this._isDisposed = true
37
+ }
38
+
39
+ get id(): string {
40
+ return <string>this._content?.id
41
+ }
42
+
43
+ get name(): string {
44
+ return <string>this._content?.name
45
+ }
46
+
47
+ get description(): string {
48
+ return <string>this._content?.description
49
+ }
50
+
51
+ get metadata(): MetadataDto[] {
52
+ const metadataString = <string>this._content?.fileMetadata
53
+ return <MetadataDto[]>JSON.parse(metadataString)
54
+ }
55
+
56
+ get createdAt(): number {
57
+ return <number>this._content?.createdAt
58
+ }
59
+
60
+ get modifiedAt(): number {
61
+ return <number>this._content?.modifiedAt
62
+ }
63
+
64
+ get url(): string {
65
+ return <string>this._content?.url
66
+ }
67
+
68
+ get previewUrl(): string {
69
+ return <string>this._content?.previewUrl
70
+ }
71
+
72
+ get progress(): FileProgressDto {
73
+ return <FileProgressDto>this._progress
74
+ }
75
+
76
+ get status(): FileStatus {
77
+
78
+ if (
79
+ isNullOrUndefined(this._progress) || isNullOrUndefined(this._progress.success)
80
+ || (this._progress.success && this._progress.completed_parts_count < this._progress.file_parts_count)) {
81
+ return FileStatus.UPLOADING
82
+ } else if (this._progress.success) {
83
+ return FileStatus.SUCCESS
84
+ } else {
85
+ return FileStatus.FAILED
86
+ }
87
+ }
88
+
89
+ public fetchAfter() {
90
+ if (this.status === FileStatus.UPLOADING) {
91
+ setTimeout(async () => await this.updateStatus(), 500)
92
+ }
93
+ }
94
+
95
+ async updateStatus(): Promise<void> {
96
+ const response = await this.context
97
+ .resolve(RpcService)
98
+ ?.requestBuilder("api/v1/Files/fetch")
99
+ .searchParam("id", this.id)
100
+ .sendGet()
101
+
102
+ if (ResponseUtils.isFail(response)) {
103
+ await ResponseUtils.throwError(`Failed to get file ${this.id}`, response)
104
+ }
105
+
106
+ const prev_progress = this._progress
107
+ this._progress = (await response!.json() as {
108
+ progress: FileProgressDto
109
+ }).progress as FileProgressDto
110
+
111
+ if (isNullOrUndefined(prev_progress) ||
112
+ (!isNullOrUndefined(this.progress.success) && this.progress.completed_parts_count > prev_progress.completed_parts_count) ||
113
+ this.status === FileStatus.SUCCESS ||
114
+ this.status === FileStatus.FAILED) {
115
+ // dispatch event, file updated
116
+ this.dispatch({
117
+ type: FilesEvent.UPDATED,
118
+ data: this
119
+ })
120
+ }
121
+
122
+ this.fetchAfter()
123
+ }
124
+
125
+ async update(name: string, metadata: MetadataDto[], description?: string){
126
+ if (!this._content) {
127
+ throw new Error("File is not loaded.")
128
+ }
129
+
130
+ if (name === undefined || metadata === undefined || name === null || metadata === null ){
131
+ throw new Error("File update, one of parameters is undefined or null")
132
+ }
133
+
134
+ const metadataString = JSON.stringify(metadata)
135
+
136
+ const response = await this.context
137
+ .resolve(RpcService)
138
+ ?.requestBuilder("api/v1/Files")
139
+ .sendPutJson({
140
+ fileId: this.id,
141
+ name: name,
142
+ description: description ?? this.description,
143
+ metadata: metadataString
144
+ })
145
+
146
+ if (ResponseUtils.isFail(response)) {
147
+ await ResponseUtils.throwError("Failed to update file", response)
148
+ }
149
+
150
+ this._content = (await response!.json() as {
151
+ file: FileDto
152
+ }).file as FileDto
153
+
154
+ this.dispatch({
155
+ type: FilesEvent.UPDATED,
156
+ data: this
157
+ })
158
+ }
159
+ }
@@ -0,0 +1,74 @@
1
+ import {FileProgressDto, MetadataDto} from "../../dto/workspacesResponse"
2
+ import { EventDispatcher } from "../../events"
3
+ import { FilesEvent } from "./files"
4
+
5
+ export type FileId = string
6
+
7
+ export enum FileStatus {
8
+ UPLOADING = "uploading",
9
+ SUCCESS = "success",
10
+ FAILED = "failed"
11
+ }
12
+
13
+ /**
14
+ * File.
15
+ */
16
+ export abstract class File extends EventDispatcher<
17
+ FilesEvent,
18
+ File
19
+ > {
20
+ /**
21
+ * File id.
22
+ */
23
+ abstract get id(): FileId
24
+
25
+ /**
26
+ * File name.
27
+ */
28
+ abstract get name(): string
29
+
30
+ /**
31
+ * File description.
32
+ */
33
+ abstract get description(): string
34
+
35
+ /**
36
+ * File metadata.
37
+ */
38
+ abstract get metadata(): MetadataDto[]
39
+
40
+ /**
41
+ * File date added.
42
+ */
43
+ abstract get createdAt(): number
44
+
45
+ /**
46
+ * File date modified.
47
+ */
48
+ abstract get modifiedAt(): number
49
+
50
+ /**
51
+ * File uploading progress
52
+ */
53
+ abstract get progress(): FileProgressDto
54
+
55
+ /**
56
+ * File uploading status
57
+ */
58
+ abstract get status(): FileStatus
59
+
60
+ /**
61
+ * Get temporary url.
62
+ */
63
+ abstract get url(): string
64
+
65
+ /**
66
+ * Get temporary url.
67
+ */
68
+ abstract get previewUrl(): string
69
+
70
+ /**
71
+ * Update file.
72
+ */
73
+ abstract update(name: string, metadata: MetadataDto[], description?: string): Promise<void>
74
+ }
@@ -1,34 +1,14 @@
1
- import { Context } from "../context"
2
- import { Disposable } from "../disposable"
3
- import { FileDto, FileListResponse } from "../dto/workspacesResponse"
4
- import { RpcService } from "../services/rpcService"
1
+ import { Context } from "../../context"
2
+ import { FileDto, FileListResponse } from "../../dto/workspacesResponse"
3
+ import { RpcService } from "../../services/rpcService"
5
4
  import { FileImpl } from "./file.impl"
6
5
  import { Files, FilesEvent, UploadFile } from "./files"
7
- import { WorkspaceImpl } from "./workspace.impl"
8
- import { ResponseUtils } from "../services/responseUtils"
6
+ import { WorkspaceImpl } from "../workspaces/workspace.impl"
7
+ import { ResponseUtils } from "../../services/responseUtils"
9
8
  import { File } from "./file"
10
9
  import { FilesPage } from "./filesPage"
11
-
12
- export class FilesPageImpl extends FilesPage implements Disposable {
13
- private _isDisposed: boolean = false
14
-
15
- public files: File[] = []
16
- public total: number = 0
17
- public filesPerPage: number = 0
18
- public page: number = 0
19
-
20
- get pages(): number {
21
- return Math.ceil(Math.max(this.total / this.filesPerPage, 1.0))
22
- }
23
-
24
- get isDisposed(): boolean {
25
- return this._isDisposed
26
- }
27
-
28
- dispose(): void {
29
- this._isDisposed = true
30
- }
31
- }
10
+ import { FilesPageImpl } from "./filesPage.impl"
11
+ // import { FormData } from "../../utils/request"
32
12
 
33
13
  export class FilesImpl extends Files {
34
14
  constructor(
@@ -41,12 +21,25 @@ export class FilesImpl extends Files {
41
21
  // Object used as files page data, returned by "query"
42
22
  public filesList?: FilesPage
43
23
 
44
- async upload(file: any): Promise<File> {
45
- return await this.internalUpload(file)
24
+ async upload(files: UploadFile[]): Promise<File[]> {
25
+ const loaded_files = []
26
+ for (const file of files) {
27
+ const loaded_file = await this.internalUpload(file)
28
+ if (loaded_file != undefined){
29
+ loaded_files.push(loaded_file)
30
+ }
31
+ }
32
+ return loaded_files
33
+ }
34
+
35
+ async get(fileId: string): Promise<File>{
36
+ return await this.internalGetFile(fileId)
46
37
  }
47
38
 
48
- async delete(id: string): Promise<void> {
49
- return await this.internalDeleteFile(id)
39
+ async delete(ids: string[]): Promise<void> {
40
+ for (const id of ids) {
41
+ await this.internalDeleteFile(id)
42
+ }
50
43
  }
51
44
 
52
45
  async query(query: string, page: number, limit: number): Promise<FilesPage> {
@@ -57,8 +50,39 @@ export class FilesImpl extends Files {
57
50
  // INTERNALS
58
51
  //----------------------------------------------------------------------------
59
52
 
53
+
54
+ async internalGetFile(id: string): Promise<File>{
55
+ if (id === undefined || id === null) {
56
+ throw new Error("File get, id is undefined or null")
57
+ }
58
+ if (id.length === 0 || id.trim().length === 0) {
59
+ throw new Error("File get, id is empty")
60
+ }
61
+
62
+ const response = await this.context
63
+ .resolve(RpcService)
64
+ ?.requestBuilder("api/v1/Files")
65
+ .searchParam("id", id)
66
+ .sendGet()
67
+
68
+ if (ResponseUtils.isFail(response)) {
69
+ await ResponseUtils.throwError(
70
+ `Failed to get file ${id}`,
71
+ response
72
+ )
73
+ }
74
+
75
+ // parse file from the server's response
76
+ const result = (await response!.json() as { file: FileDto }).file as FileDto
77
+
78
+ // create file implementation
79
+ const fileImpl = new FileImpl(this.context)
80
+
81
+ return await fileImpl.initFrom(result)
82
+ }
83
+
60
84
  /**
61
- * Delete organization.
85
+ * Delete file.
62
86
  * @param id
63
87
  */
64
88
  async internalDeleteFile(id: string): Promise<void> {
@@ -74,13 +98,14 @@ export class FilesImpl extends Files {
74
98
  ?.requestBuilder("/api/v1/Files")
75
99
  .searchParam("id", id)
76
100
  .sendDelete()
101
+
77
102
  if (ResponseUtils.isFail(response)) {
78
103
  await ResponseUtils.throwError(`File ${id} delete, failed`, response)
79
104
  }
80
105
  const file = <FileImpl>this.filesList!.files.find(f => f.id === id)
81
106
  const index = this.filesList!.files.indexOf(file)
82
107
  if (index < 0) {
83
- throw new Error("Organization delete, index is not found")
108
+ throw new Error("File delete, index is not found")
84
109
  }
85
110
 
86
111
  // remove file from collection
@@ -122,7 +147,6 @@ export class FilesImpl extends Files {
122
147
  const response = await this.context
123
148
  .resolve(RpcService)
124
149
  ?.requestBuilder("api/v1/Files/list")
125
-
126
150
  .searchParam("workspaceId", this.workspace.id)
127
151
  .searchParam("organizationId", this.workspace.organization.id)
128
152
  .searchParam("query", query)
@@ -151,16 +175,10 @@ export class FilesImpl extends Files {
151
175
  for (const fl of files.files) {
152
176
 
153
177
  // create file implementation
154
- const file = new FileImpl(this.context).initFrom(fl)
178
+ const file = await new FileImpl(this.context).initFrom(fl)
155
179
 
156
180
  // add file to the collection
157
181
  filesList.files.push(file)
158
-
159
- // dispatch event, file added
160
- this.dispatch({
161
- type: FilesEvent.ADDED,
162
- data: file
163
- })
164
182
  }
165
183
 
166
184
  // set files list
@@ -169,7 +187,7 @@ export class FilesImpl extends Files {
169
187
  return filesList
170
188
  }
171
189
 
172
- async internalUpload(file: UploadFile): Promise<File> {
190
+ async internalUpload(file: UploadFile): Promise<File | undefined> {
173
191
  // check file
174
192
  if (file === undefined || file === null) {
175
193
  throw new Error("File upload, file is undefined or null")
@@ -190,17 +208,20 @@ export class FilesImpl extends Files {
190
208
 
191
209
  // check response status
192
210
  if (ResponseUtils.isFail(response)) {
211
+ if (await ResponseUtils.isLimitReached()){
212
+ return undefined
213
+ }
214
+
193
215
  await ResponseUtils.throwError(`File upload ${file.name}`, response)
194
216
  }
195
217
 
196
218
  // parse file from the server's response
197
- const result = (await response!.json()).file as FileDto
219
+ const result = (await response!.json() as { file: FileDto }).file as FileDto
198
220
 
199
221
  // create file implementation
200
- const fileImpl = new FileImpl(this.context).initFrom(result)
222
+ const fileImpl = new FileImpl(this.context)
201
223
 
202
- // TODO: why is this here?
203
- this.filesList?.files.push(fileImpl)
224
+ await fileImpl.initFrom(result)
204
225
 
205
226
  // dispatch event, file added
206
227
  this.dispatch({
@@ -1,4 +1,4 @@
1
- import { EventDispatcher } from "../events"
1
+ import { EventDispatcher } from "../../events"
2
2
  import { File, FileId } from "./file"
3
3
  import { FilesPage } from "./filesPage"
4
4
 
@@ -7,7 +7,8 @@ import { FilesPage } from "./filesPage"
7
7
  */
8
8
  export enum FilesEvent {
9
9
  ADDED = "added",
10
- REMOVED = "removed"
10
+ REMOVED = "removed",
11
+ UPDATED = "updated"
11
12
  }
12
13
 
13
14
  /**
@@ -20,15 +21,21 @@ export type UploadFile = globalThis.File
20
21
  */
21
22
  export abstract class Files extends EventDispatcher<FilesEvent, File> {
22
23
  /**
23
- * Get file by id.
24
+ * Upload file.
24
25
  */
25
- abstract upload(file: UploadFile): Promise<File>
26
+ abstract upload(files: UploadFile[]): Promise<File[]>
26
27
 
27
28
  /**
28
- * Delete file.
29
- * @param id
29
+ * Get file by ID
30
+ * @param fileId
30
31
  */
31
- abstract delete(id: FileId): Promise<void>
32
+ abstract get(fileId: FileId): Promise<File>
33
+
34
+ /**
35
+ * Delete files.
36
+ * @param ids
37
+ */
38
+ abstract delete(ids: FileId[]): Promise<void>
32
39
 
33
40
  /**
34
41
  * Query files.
@@ -0,0 +1,37 @@
1
+ import { FilesPage } from "./filesPage"
2
+ import { Disposable } from "../../disposable"
3
+ import { File } from "./file"
4
+
5
+ export class FilesPageImpl extends FilesPage implements Disposable {
6
+ private _isDisposed: boolean = false
7
+
8
+ public files: File[] = []
9
+ public total: number = 0
10
+ public filesPerPage: number = 0
11
+ public page: number = 0
12
+
13
+ get pages(): number {
14
+ return Math.ceil(Math.max(this.total / this.filesPerPage, 1.0))
15
+ }
16
+
17
+ get isDisposed(): boolean {
18
+ return this._isDisposed
19
+ }
20
+
21
+ dispose(): void {
22
+ this._isDisposed = true
23
+ }
24
+
25
+ equals(other?: FilesPage | null): boolean {
26
+ if (other === undefined) return false
27
+ if (other === null) return false
28
+ if (other === this) return true
29
+ return (
30
+ other.pages === this.pages &&
31
+ other.total === this.total &&
32
+ other.page === this.page &&
33
+ (other.files === this.files ||
34
+ other.files.every((file, index) => file.id === this.files[index].id))
35
+ )
36
+ }
37
+ }
@@ -24,4 +24,10 @@ export abstract class FilesPage {
24
24
  * Get current page.
25
25
  */
26
26
  abstract get page(): number
27
+
28
+ /**
29
+ * Equals.
30
+ * @param other
31
+ */
32
+ abstract equals(other?: FilesPage | null): boolean
27
33
  }