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

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,126 @@
1
+ import {Context} from "../../context"
2
+ import {Disposable} from "../../disposable"
3
+ import {
4
+ FileDto, FileProcessingStage,
5
+ FileProgressDto,
6
+ MetadataDto
7
+ } from "../../dto/workspacesResponse"
8
+ import {RpcService} from "../../services/rpcService"
9
+ import {ResponseUtils} from "../../services/responseUtils"
10
+ import {File} from "./file"
11
+ import {FilesEvent} from "./files"
12
+
13
+ export class FileImpl extends File implements Disposable {
14
+ private _isDisposed: boolean = false
15
+ private _content?: FileDto
16
+ private _progress?: FileProgressDto
17
+
18
+ constructor(private readonly context: Context) {
19
+ super()
20
+ }
21
+
22
+ async initFrom(file: FileDto): Promise<File> {
23
+ this._content = file
24
+
25
+ return this
26
+ }
27
+
28
+ get isDisposed(): boolean {
29
+ return this._isDisposed
30
+ }
31
+
32
+ dispose(): void {
33
+ this._isDisposed = true
34
+ }
35
+
36
+ get id(): string {
37
+ return <string>this._content?.id
38
+ }
39
+
40
+ get name(): string {
41
+ return <string>this._content?.name
42
+ }
43
+
44
+ get description(): string {
45
+ return <string>this._content?.description
46
+ }
47
+
48
+ get metadata(): MetadataDto[] {
49
+ const metadataString = <string>this._content?.fileMetadata
50
+ if (metadataString === null || metadataString === undefined){
51
+ return []
52
+ }
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 status(): FileProcessingStage {
73
+ return <FileProcessingStage>this._content?.stage
74
+ }
75
+
76
+ get progress(): FileProgressDto | undefined {
77
+ return this._progress
78
+ }
79
+
80
+ updateStatus(progress: FileProgressDto): void {
81
+ if (this._content){
82
+ this._progress = progress
83
+ this._content.stage = this._progress.stage
84
+
85
+ this.dispatch({
86
+ type: FilesEvent.UPDATED,
87
+ data: this
88
+ })
89
+ }
90
+ }
91
+
92
+ async update(name: string, metadata: MetadataDto[], description?: string){
93
+ if (!this._content) {
94
+ throw new Error("File is not loaded.")
95
+ }
96
+
97
+ if (name === undefined || metadata === undefined || name === null || metadata === null ){
98
+ throw new Error("File update, one of parameters is undefined or null")
99
+ }
100
+
101
+ const metadataString = JSON.stringify(metadata)
102
+
103
+ const response = await this.context
104
+ .resolve(RpcService)
105
+ ?.requestBuilder("api/v1/Files")
106
+ .sendPutJson({
107
+ fileId: this.id,
108
+ name: name,
109
+ description: description ?? this.description,
110
+ metadata: metadataString
111
+ })
112
+
113
+ if (ResponseUtils.isFail(response)) {
114
+ await ResponseUtils.throwError("Failed to update file", response)
115
+ }
116
+
117
+ this._content = (await response!.json() as {
118
+ file: FileDto
119
+ }).file as FileDto
120
+
121
+ this.dispatch({
122
+ type: FilesEvent.UPDATED,
123
+ data: this
124
+ })
125
+ }
126
+ }
@@ -0,0 +1,78 @@
1
+ import {
2
+ FileProcessingStage,
3
+ FileProgressDto,
4
+ MetadataDto
5
+ } from "../../dto/workspacesResponse"
6
+ import { EventDispatcher } from "../../events"
7
+ import { FilesEvent } from "./files"
8
+
9
+ export type FileId = string
10
+
11
+ /**
12
+ * File.
13
+ */
14
+ export abstract class File extends EventDispatcher<
15
+ FilesEvent,
16
+ File
17
+ > {
18
+ /**
19
+ * File id.
20
+ */
21
+ abstract get id(): FileId
22
+
23
+ /**
24
+ * File name.
25
+ */
26
+ abstract get name(): string
27
+
28
+ /**
29
+ * File description.
30
+ */
31
+ abstract get description(): string
32
+
33
+ /**
34
+ * File metadata.
35
+ */
36
+ abstract get metadata(): MetadataDto[]
37
+
38
+ /**
39
+ * File date added.
40
+ */
41
+ abstract get createdAt(): number
42
+
43
+ /**
44
+ * File date modified.
45
+ */
46
+ abstract get modifiedAt(): number
47
+
48
+ /**
49
+ * File uploading progress
50
+ */
51
+ abstract get progress(): FileProgressDto | undefined
52
+
53
+ /**
54
+ * File uploading status
55
+ */
56
+ abstract get status(): FileProcessingStage
57
+
58
+ /**
59
+ * Get temporary url.
60
+ */
61
+ abstract get url(): string
62
+
63
+ /**
64
+ * Get temporary url.
65
+ */
66
+ abstract get previewUrl(): string
67
+
68
+ /**
69
+ * Update file.
70
+ */
71
+ abstract update(name: string, metadata: MetadataDto[], description?: string): Promise<void>
72
+
73
+ /**
74
+ * Update file status
75
+ * @param progress
76
+ */
77
+ abstract updateStatus(progress: FileProgressDto): void
78
+ }
@@ -0,0 +1,280 @@
1
+ import { Context } from "../../context"
2
+ import {
3
+ FileDto,
4
+ FileListResponse, FileProcessingStage,
5
+ FilesBatchFetchResponse
6
+ } from "../../dto/workspacesResponse"
7
+ import { RpcService } from "../../services/rpcService"
8
+ import { FileImpl } from "./file.impl"
9
+ import { Files, FilesEvent, UploadFile } from "./files"
10
+ import { WorkspaceImpl } from "../workspaces/workspace.impl"
11
+ import { ResponseUtils } from "../../services/responseUtils"
12
+ import {File, FileId} from "./file"
13
+ import { FilesPage } from "./filesPage"
14
+ import { FilesPageImpl } from "./filesPage.impl"
15
+ // import { FormData } from "../../utils/request"
16
+
17
+ export class FilesImpl extends Files {
18
+ constructor(
19
+ private readonly workspace: WorkspaceImpl,
20
+ private readonly context: Context
21
+ ) {
22
+ super()
23
+ }
24
+
25
+ // Object used as files page data, returned by "query"
26
+ public filesList?: FilesPage
27
+
28
+ private _fetchList: FileId[] = []
29
+
30
+ async upload(files: UploadFile[]): Promise<File[]> {
31
+ const loaded_files = []
32
+ for (const file of files) {
33
+ const loaded_file = await this.internalUpload(file)
34
+ if (loaded_file != undefined){
35
+ loaded_files.push(loaded_file)
36
+ }
37
+ }
38
+ return loaded_files
39
+ }
40
+
41
+ async get(fileId: string): Promise<File>{
42
+ return await this.internalGetFile(fileId)
43
+ }
44
+
45
+ async delete(ids: string[]): Promise<void> {
46
+ await this.internalDeleteFiles(ids)
47
+ }
48
+
49
+ async query(query: string, page: number, limit: number): Promise<FilesPage> {
50
+ return await this.internalQuery(query, page, limit)
51
+ }
52
+
53
+ //----------------------------------------------------------------------------
54
+ // INTERNALS
55
+ //----------------------------------------------------------------------------
56
+
57
+ async internalFetchQuery(): Promise<void> {
58
+ const response = await this.context
59
+ .resolve(RpcService)
60
+ ?.requestBuilder("api/v1/Files/fetch/batch")
61
+ .searchParam("organizationId", this.workspace.organization.id)
62
+ .searchParam("fileIds", this._fetchList.join(","))
63
+ .sendGet()
64
+
65
+ if (ResponseUtils.isFail(response)) {
66
+ await ResponseUtils.throwError(`Failed to fetch files for org ${this.workspace.organization.id} and workspace ${this.workspace.id}`, response)
67
+ }
68
+
69
+ const progress = (await response!.json()) as FilesBatchFetchResponse
70
+
71
+ for (const prg of progress.progress){
72
+ const file = this.filesList?.files?.find(fl => fl.id == prg.file_id)
73
+ if (file) {
74
+ file.updateStatus(prg)
75
+ if (file.status > FileProcessingStage.PROCESSING){
76
+ const index = this._fetchList.indexOf(file.id)
77
+ this._fetchList.splice(index, 1)
78
+ }
79
+ }
80
+ }
81
+
82
+ if (this._fetchList.length != 0){
83
+ setTimeout(async () => await this.internalFetchQuery(), 2000)
84
+ }
85
+ }
86
+
87
+ async internalGetFile(id: string): Promise<File>{
88
+ if (id === undefined || id === null) {
89
+ throw new Error("File get, id is undefined or null")
90
+ }
91
+ if (id.length === 0 || id.trim().length === 0) {
92
+ throw new Error("File get, id is empty")
93
+ }
94
+
95
+ const response = await this.context
96
+ .resolve(RpcService)
97
+ ?.requestBuilder("api/v1/Files")
98
+ .searchParam("id", id)
99
+ .sendGet()
100
+
101
+ if (ResponseUtils.isFail(response)) {
102
+ await ResponseUtils.throwError(
103
+ `Failed to get file ${id}`,
104
+ response
105
+ )
106
+ }
107
+
108
+ // parse file from the server's response
109
+ const result = (await response!.json() as { file: FileDto }).file as FileDto
110
+
111
+ // create file implementation
112
+ const fileImpl = new FileImpl(this.context)
113
+
114
+ return await fileImpl.initFrom(result)
115
+ }
116
+
117
+ /**
118
+ * Delete file.
119
+ * @param ids array of file ids
120
+ */
121
+ async internalDeleteFiles(ids: string[]): Promise<void> {
122
+ if (ids === undefined || ids === null) {
123
+ throw new Error("File delete, ids array is undefined or null")
124
+ }
125
+ if (ids.length === 0) {
126
+ throw new Error("File delete, array of ids is empty")
127
+ }
128
+
129
+ const response = await this.context
130
+ .resolve(RpcService)
131
+ ?.requestBuilder("api/v1/Files")
132
+ .searchParam("fileIds", ids.toString() )
133
+ .sendDelete()
134
+
135
+ if (ResponseUtils.isFail(response)) {
136
+ await ResponseUtils.throwError(`Files ${ids} delete, failed`, response)
137
+ }
138
+
139
+ for (const id of ids) {
140
+ const file = <FileImpl>this.filesList!.files.find(f => f.id === id)
141
+ const index = this.filesList!.files.indexOf(file)
142
+ if (index < 0) {
143
+ throw new Error("File delete, index is not found")
144
+ }
145
+
146
+ // remove file from collection
147
+ this.filesList!.files.splice(index, 1)
148
+
149
+ // dispatch event, file removed
150
+ this.dispatch({
151
+ type: FilesEvent.REMOVED,
152
+ data: file
153
+ })
154
+
155
+ // dispose file
156
+ file.dispose()
157
+ }
158
+ }
159
+
160
+ async internalQuery(
161
+ query: string,
162
+ page: number,
163
+ limit: number
164
+ ): Promise<FilesPage> {
165
+
166
+ // check page
167
+ if (page === undefined || page === null) {
168
+ throw new Error("File fetch, page is undefined or null")
169
+ }
170
+ if (page < 0) {
171
+ throw new Error("File fetch, page is negative")
172
+ }
173
+
174
+ // check limit
175
+ if (limit === undefined || limit === null) {
176
+ throw new Error("File fetch, limit is undefined or null")
177
+ }
178
+ if (limit === 0) {
179
+ throw new Error("File fetch, limit is 0")
180
+ }
181
+
182
+ // send request to the server
183
+ const response = await this.context
184
+ .resolve(RpcService)
185
+ ?.requestBuilder("api/v1/Files/list")
186
+ .searchParam("workspaceId", this.workspace.id)
187
+ .searchParam("organizationId", this.workspace.organization.id)
188
+ .searchParam("query", query)
189
+ .searchParam("page", page.toString())
190
+ .searchParam("limit", limit.toString())
191
+ .sendGet()
192
+
193
+ // check response status
194
+ if (ResponseUtils.isFail(response)) {
195
+ await ResponseUtils.throwError(
196
+ `Files fetch query:${query}, page:${page}, limit:${limit}, failed`,
197
+ response
198
+ )
199
+ }
200
+
201
+ this._fetchList = []
202
+
203
+ // parse files from the server's response
204
+ const files = (await response!.json()) as FileListResponse
205
+
206
+ // create files list
207
+ const filesList = new FilesPageImpl()
208
+ filesList.total = files.totalFilesCount
209
+ filesList.filesPerPage = files.filesPerPage
210
+ filesList.page = page
211
+
212
+ // init files from the server's response
213
+ for (const fl of files.files) {
214
+
215
+ // create file implementation
216
+ const file = await new FileImpl(this.context).initFrom(fl)
217
+
218
+ // add file to the collection
219
+ filesList.files.push(file)
220
+
221
+ if (file.status <= FileProcessingStage.PROCESSING) {
222
+ this._fetchList.push(file.id)
223
+ }
224
+ }
225
+
226
+ // set files list
227
+ this.filesList = filesList
228
+
229
+ if (this._fetchList.length != 0){
230
+ setTimeout(async () => await this.internalFetchQuery(), 2000)
231
+ }
232
+
233
+ return filesList
234
+ }
235
+
236
+ async internalUpload(file: UploadFile): Promise<File | undefined> {
237
+ // check file
238
+ if (file === undefined || file === null) {
239
+ throw new Error("File upload, file is undefined or null")
240
+ }
241
+
242
+ // form data to send
243
+ const form = new FormData()
244
+ form.append("organizationId", this.workspace.organization.id)
245
+ form.append("workspaceId", this.workspace.id)
246
+ form.append("name", file.name)
247
+ form.append("file", file, file.name)
248
+
249
+ // send request to the server
250
+ const response = await this.context
251
+ .resolve(RpcService)
252
+ ?.requestBuilder("api/v1/Files")
253
+ .sendPostFormData(form)
254
+
255
+ // check response status
256
+ if (ResponseUtils.isFail(response)) {
257
+ if (await ResponseUtils.isLimitReached()){
258
+ return undefined
259
+ }
260
+
261
+ await ResponseUtils.throwError(`File upload ${file.name}`, response)
262
+ }
263
+
264
+ // parse file from the server's response
265
+ const result = (await response!.json() as { file: FileDto }).file as FileDto
266
+
267
+ // create file implementation
268
+ const fileImpl = new FileImpl(this.context)
269
+
270
+ await fileImpl.initFrom(result)
271
+
272
+ // dispatch event, file added
273
+ this.dispatch({
274
+ type: FilesEvent.ADDED,
275
+ data: fileImpl
276
+ })
277
+
278
+ return fileImpl
279
+ }
280
+ }
@@ -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
  }