@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,209 @@
1
+ import { Libraries, LibraryManagement } from "./libraries"
2
+ import { Library } from "./library"
3
+ import { LibraryImpl } from "./library.impl"
4
+ import { Context } from "../../context"
5
+ import {
6
+ CreateLibraryResponse,
7
+ LibrariesResponse, LibraryDto, LibraryResponse
8
+ } from "../../dto/libraryResponse"
9
+ import { RpcService } from "../../services/rpcService"
10
+ import { ResponseUtils } from "../../services/responseUtils"
11
+ import { OrganizationId } from "../organizations/organizations"
12
+ import { LibraryId } from "./libraryId"
13
+
14
+ export class LibraryManagementImpl extends LibraryManagement {
15
+ private context: Context
16
+
17
+ constructor(context: Context) {
18
+ super()
19
+ this.context = context
20
+ }
21
+
22
+ async createLibrary(name: string, region: number, isPublic: boolean): Promise<LibraryId> {
23
+ if (
24
+ name === undefined ||
25
+ name === null ||
26
+ name.trim() === ""
27
+ ) {
28
+ throw new Error("Name for library is required, must be not empty")
29
+ }
30
+
31
+ if (
32
+ isPublic === undefined ||
33
+ isPublic === null
34
+ ) {
35
+ throw new Error("IsPublic is required, must be not empty")
36
+ }
37
+
38
+ // send create request to the server
39
+ const response = await this.context
40
+ .resolve(RpcService)
41
+ ?.requestBuilder("api/v1/libraries/management")
42
+ .sendPostJson({
43
+ name: name,
44
+ region: region,
45
+ isPublic: isPublic
46
+ })
47
+
48
+ // check response status
49
+ if (ResponseUtils.isFail(response)) {
50
+ await ResponseUtils.throwError(`Failed to create library ${name}`, response)
51
+ }
52
+
53
+ const library = (await response!.json()) as CreateLibraryResponse
54
+
55
+ return library.libraryId
56
+ }
57
+
58
+ async addOrgToLibrary(libraryId: LibraryId, organizationId: OrganizationId): Promise<void> {
59
+ if (libraryId === undefined || libraryId === null) {
60
+ throw new Error("Organization add to library, libraryId is undefined or null")
61
+ }
62
+ if (libraryId.length === 0 || libraryId.trim().length === 0) {
63
+ throw new Error("Organization add to from library, libraryId is empty")
64
+ }
65
+ if (organizationId === undefined || organizationId === null) {
66
+ throw new Error("Organization add to from library, organizationId is undefined or null")
67
+ }
68
+ if (organizationId.length === 0 || organizationId.trim().length === 0) {
69
+ throw new Error("Organization add to from library, organizationId is empty")
70
+ }
71
+
72
+ const response = await this.context
73
+ .resolve(RpcService)
74
+ ?.requestBuilder("api/v1/libraries/management/allowed/organization")
75
+ .sendPutJson({
76
+ libraryId: libraryId,
77
+ organizationId: organizationId
78
+ })
79
+ if (ResponseUtils.isFail(response)) {
80
+ await ResponseUtils.throwError(
81
+ `Organization ${organizationId} add to library ${libraryId} failed`,
82
+ response
83
+ )
84
+ }
85
+ }
86
+
87
+ async getLibraries(): Promise<LibraryDto[]> {
88
+ const response = await this.context
89
+ .resolve(RpcService)
90
+ ?.requestBuilder("api/v1/libraries/management/allowed/organizations")
91
+ .sendGet()
92
+
93
+ // check response status
94
+ if (ResponseUtils.isFail(response)) {
95
+ await ResponseUtils.throwError(
96
+ "Can not get libraries",
97
+ response
98
+ )
99
+ }
100
+
101
+ // parse libraries from the server's response
102
+ const libraries = (await response!.json()) as LibraryResponse
103
+
104
+ return libraries.libraries
105
+ }
106
+
107
+ async deleteOrgFromLibrary(libraryId: LibraryId, organizationId: OrganizationId): Promise<void> {
108
+ if (libraryId === undefined || libraryId === null) {
109
+ throw new Error("Organization delete from library, libraryId is undefined or null")
110
+ }
111
+ if (libraryId.length === 0 || libraryId.trim().length === 0) {
112
+ throw new Error("Organization delete from library, libraryId is empty")
113
+ }
114
+ if (organizationId === undefined || organizationId === null) {
115
+ throw new Error("Organization delete from library, organizationId is undefined or null")
116
+ }
117
+ if (organizationId.length === 0 || organizationId.trim().length === 0) {
118
+ throw new Error("Organization delete from library, organizationId is empty")
119
+ }
120
+
121
+ // send request to the server
122
+ const response = await this.context
123
+ .resolve(RpcService)
124
+ ?.requestBuilder("api/v1/libraries/management/allowed/organization")
125
+ .searchParam("libraryId", libraryId)
126
+ .searchParam("organizationId", organizationId)
127
+ .sendDelete()
128
+
129
+ // check response status
130
+ if (ResponseUtils.isFail(response)) {
131
+ await ResponseUtils.throwError(
132
+ `Organization ${organizationId} delete from library ${libraryId}, failed`,
133
+ response
134
+ )
135
+ }
136
+ }
137
+
138
+ async deleteLibrary(libraryId: LibraryId): Promise<void> {
139
+ if (libraryId === undefined || libraryId === null) {
140
+ throw new Error("Library delete, libraryId is undefined or null")
141
+ }
142
+ if (libraryId.length === 0 || libraryId.trim().length === 0) {
143
+ throw new Error("Library delete, libraryId is empty")
144
+ }
145
+
146
+ // send request to the server
147
+ const response = await this.context
148
+ .resolve(RpcService)
149
+ ?.requestBuilder("api/v1/libraries/management")
150
+ .searchParam("libraryId", libraryId)
151
+ .sendDelete()
152
+
153
+ // check response status
154
+ if (ResponseUtils.isFail(response)) {
155
+ await ResponseUtils.throwError(
156
+ `Library ${libraryId} delete, failed`,
157
+ response
158
+ )
159
+ }
160
+ }
161
+ }
162
+
163
+ export class LibrariesImpl extends Libraries {
164
+ private readonly _libraries: LibraryImpl[] = []
165
+ private readonly _management
166
+
167
+ constructor(
168
+ private readonly context: Context
169
+ ) {
170
+ super()
171
+ this._management = new LibraryManagementImpl(context)
172
+ }
173
+
174
+ async initialize() {
175
+ // fetch limits
176
+ const response = await this.context.resolve(RpcService)
177
+ ?.requestBuilder("api/v1/libraries")
178
+ .sendGet()
179
+
180
+ // check response status
181
+ if (ResponseUtils.isFail(response)) {
182
+ await ResponseUtils.throwError("Failed to get libraries", response)
183
+ }
184
+
185
+ const json = await response!.json()
186
+
187
+ // parse limits from the server's response
188
+ const libraries = (json as LibrariesResponse).libraries
189
+
190
+ for (const library of libraries) {
191
+ const impl = new LibraryImpl(this.context)
192
+ await impl.initFrom(library)
193
+ this._libraries.push(impl)
194
+ }
195
+ }
196
+
197
+ get collection(): readonly Library[] {
198
+ return this._libraries
199
+ }
200
+
201
+ getLibraryById(libraryId: LibraryId): Library | undefined {
202
+ return this._libraries.find((library) => library.id === libraryId)
203
+ }
204
+
205
+ get management(): LibraryManagement {
206
+ return this._management
207
+ }
208
+
209
+ }
@@ -0,0 +1,56 @@
1
+ import { Library } from "./library"
2
+ import { OrganizationId } from "../organizations/organizations"
3
+ import { LibraryDto } from "../../dto/libraryResponse"
4
+ import { LibraryId } from "./libraryId"
5
+
6
+ /**
7
+ * Library management, you must have permissions to manage libraries
8
+ */
9
+ export abstract class LibraryManagement {
10
+ /**
11
+ * Create a new library
12
+ */
13
+ abstract createLibrary(name: string, region: number, isPublic: boolean): Promise<LibraryId>
14
+
15
+ /**
16
+ * Add permission for an organization to share its data through the library
17
+ */
18
+ abstract addOrgToLibrary(libraryId: LibraryId, organizationId: OrganizationId): Promise<void>
19
+
20
+ /**
21
+ * Get all libraries
22
+ */
23
+ abstract getLibraries(): Promise<LibraryDto[]>
24
+
25
+ /**
26
+ * Delete permission for an organization to share its data through the library
27
+ */
28
+ abstract deleteOrgFromLibrary(libraryId: LibraryId, organizationId: OrganizationId): Promise<void>
29
+
30
+ /**
31
+ * Delete a library by id
32
+ */
33
+ abstract deleteLibrary(libraryId: LibraryId): Promise<void>
34
+ }
35
+
36
+ /**
37
+ * Libraries
38
+ */
39
+ export abstract class Libraries {
40
+
41
+ /**
42
+ * Collection of libraries
43
+ */
44
+ abstract get collection(): ReadonlyArray<Library>
45
+
46
+ /**
47
+ * Get library by id
48
+ * @param libraryId
49
+ */
50
+ abstract getLibraryById(libraryId: LibraryId): Library | undefined
51
+
52
+ /**
53
+ * You must have permissions to manage libraries
54
+ */
55
+ abstract get management(): LibraryManagement
56
+ }
@@ -0,0 +1,151 @@
1
+ import { Library } from "./library"
2
+ import {
3
+ LibraryFolderDto,
4
+ LibraryFolderResponse,
5
+ LibraryPageResponse
6
+ } from "../../dto/libraryResponse"
7
+ import { LibraryPage } from "./libraryPage"
8
+ import { RpcService } from "../../services/rpcService"
9
+ import { ResponseUtils } from "../../services/responseUtils"
10
+ import { FileImpl } from "../files/file.impl"
11
+ import { Context } from "../../context"
12
+ import { LibraryPageImpl } from "./libraryPage.impl"
13
+ import { LibraryFolderImpl } from "./libraryFolder.impl"
14
+ import { LibraryFolder } from "./libraryFolder"
15
+ import { FolderId } from "./folderId"
16
+ import { LibraryId } from "./libraryId"
17
+
18
+ export class LibraryImpl extends Library {
19
+
20
+ private _library?: LibraryFolderDto
21
+
22
+ public root?: LibraryPage
23
+
24
+ constructor(
25
+ private readonly context: Context
26
+ ) {
27
+ super()
28
+ }
29
+
30
+ async initFrom(library: LibraryFolderDto) {
31
+ this._library = library
32
+ }
33
+
34
+ get id(): LibraryId {
35
+ if (this._library) {
36
+ return this._library.id
37
+ }
38
+ throw new Error("Library is not loaded.")
39
+ }
40
+
41
+ get name(): string {
42
+ if (this._library) {
43
+ return this._library.name
44
+ }
45
+ throw new Error("Library is not loaded.")
46
+ }
47
+
48
+ async getFolder(folderId: FolderId): Promise<LibraryFolder> {
49
+ if (folderId === undefined || folderId === null || folderId.trim() === "") {
50
+ throw new Error("Query library folder, folderId is undefined or null")
51
+ }
52
+
53
+ // send request to the server
54
+ const response = await this.context
55
+ .resolve(RpcService)
56
+ ?.requestBuilder("api/v1/libraries/folder")
57
+ .searchParam("libraryId", this.id)
58
+ .searchParam("folderId", folderId)
59
+ .sendGet()
60
+
61
+ // check response status
62
+ if (ResponseUtils.isFail(response)) {
63
+ await ResponseUtils.throwError(
64
+ `Query library folder for ${folderId} failed`,
65
+ response
66
+ )
67
+ }
68
+
69
+ // parse files from the server's response
70
+ const folder = (await response!.json()) as LibraryFolderResponse
71
+
72
+ const libFolder = new LibraryFolderImpl(this, this.context)
73
+
74
+ await libFolder.initFrom(folder.folder)
75
+
76
+ return libFolder
77
+ }
78
+
79
+ async query(query: string, page: number, limit: number): Promise<LibraryPage> {
80
+ // check page
81
+ if (page === undefined || page === null) {
82
+ throw new Error("Query library root, page is undefined or null")
83
+ }
84
+ if (page < 0) {
85
+ throw new Error("Query library root, page is negative")
86
+ }
87
+
88
+ // check limit
89
+ if (limit === undefined || limit === null) {
90
+ throw new Error("Query library root, limit is undefined or null")
91
+ }
92
+ if (limit === 0) {
93
+ throw new Error("Query library root, limit is 0")
94
+ }
95
+
96
+ // send request to the server
97
+ const response = await this.context
98
+ .resolve(RpcService)
99
+ ?.requestBuilder("api/v1/libraries/content/list")
100
+ .searchParam("libraryId", this.id)
101
+ .searchParam("nodeId", "")
102
+ .searchParam("query", query)
103
+ .searchParam("page", page.toString())
104
+ .searchParam("limit", limit.toString())
105
+ .sendGet()
106
+
107
+ // check response status
108
+ if (ResponseUtils.isFail(response)) {
109
+ await ResponseUtils.throwError(
110
+ `Query library root :${query}, page:${page}, limit:${limit}, failed`,
111
+ response
112
+ )
113
+ }
114
+
115
+ // parse files from the server's response
116
+ const pageResponse = (await response!.json()) as LibraryPageResponse
117
+
118
+ // create files list
119
+ const root = new LibraryPageImpl()
120
+ root.total = pageResponse.totalItemsCount
121
+ root.filesPerPage = pageResponse.itemsPerPage
122
+ root.page = page
123
+
124
+ // init files from the server's response
125
+ for (const fl of pageResponse.files) {
126
+
127
+ // create file implementation
128
+ const file = await new FileImpl(this.context).initFrom(fl)
129
+
130
+ // add file to the collection
131
+ root.files.push(file)
132
+ }
133
+
134
+ for (const flr of pageResponse.folders) {
135
+
136
+ // create folder implementation
137
+ const folder = new LibraryFolderImpl(this, this.context)
138
+
139
+ await folder.initFrom(flr)
140
+
141
+ // add folder to the collection
142
+ root.folders.push(folder)
143
+ }
144
+
145
+ // set files list
146
+ this.root = root
147
+
148
+ return root
149
+ }
150
+
151
+ }
@@ -0,0 +1,30 @@
1
+ import { LibraryPage } from "./libraryPage"
2
+ import { LibraryFolder } from "./libraryFolder"
3
+ import { FolderId } from "./folderId"
4
+ import { LibraryId } from "./libraryId"
5
+
6
+ /**
7
+ * Library.
8
+ */
9
+ export abstract class Library {
10
+
11
+ /**
12
+ * Library id.
13
+ */
14
+ abstract get id(): LibraryId
15
+
16
+ /**
17
+ * Library name.
18
+ */
19
+ abstract get name(): string
20
+
21
+ /**
22
+ * Get library folder by id.
23
+ */
24
+ abstract getFolder(folderId: FolderId): Promise<LibraryFolder>
25
+
26
+ /**
27
+ * Get library folders by query.
28
+ */
29
+ abstract query(query: string, page: number, limit: number): Promise<LibraryPage>
30
+ }
@@ -0,0 +1,144 @@
1
+ import { LibraryFolder } from "./libraryFolder"
2
+ import { LibraryPage } from "./libraryPage"
3
+ import { Context } from "../../context"
4
+ import {
5
+ LibraryFolderDto,
6
+ LibraryPageResponse
7
+ } from "../../dto/libraryResponse"
8
+ import { LibraryImpl } from "./library.impl"
9
+ import { RpcService } from "../../services/rpcService"
10
+ import { ResponseUtils } from "../../services/responseUtils"
11
+ import { LibraryPageImpl, LibraryParentImpl } from "./libraryPage.impl"
12
+ import { FileImpl } from "../files/file.impl"
13
+ import { FolderId } from "./folderId"
14
+ import { LibraryId } from "./libraryId"
15
+
16
+ export class LibraryFolderImpl extends LibraryFolder {
17
+ private _libFolder?: LibraryFolderDto
18
+
19
+ constructor(
20
+ private readonly libraryImpl: LibraryImpl,
21
+ private readonly context: Context
22
+ ) {
23
+ super()
24
+ }
25
+
26
+ async initFrom(libFolder: LibraryFolderDto) {
27
+ this._libFolder = libFolder
28
+ }
29
+
30
+ get iconId(): string {
31
+ if (this._libFolder) {
32
+ return this._libFolder.iconId
33
+ }
34
+ throw new Error("LibraryFolder is not loaded.")
35
+ }
36
+
37
+ itemsCount(): Promise<number> {
38
+ return Promise.resolve(0)
39
+ }
40
+
41
+ get libraryId(): LibraryId {
42
+ return this.libraryImpl.id
43
+ }
44
+
45
+ get name(): string {
46
+ if (this._libFolder) {
47
+ return this._libFolder.name
48
+ }
49
+ throw new Error("LibraryFolder is not loaded.")
50
+ }
51
+
52
+ get description(): string {
53
+ if (this._libFolder) {
54
+ return this._libFolder.description
55
+ }
56
+ throw new Error("LibraryFolder is not loaded.")
57
+ }
58
+
59
+ get folderId(): FolderId {
60
+ if (this._libFolder) {
61
+ return this._libFolder.id
62
+ }
63
+ throw new Error("LibraryFolder is not loaded.")
64
+ }
65
+
66
+ async query(query: string, page: number, limit: number): Promise<LibraryPage> {
67
+ if (page === undefined || page === null) {
68
+ throw new Error("Query library folder, page is undefined or null")
69
+ }
70
+ if (page < 0) {
71
+ throw new Error("Query library folder, page is negative")
72
+ }
73
+
74
+ // check limit
75
+ if (limit === undefined || limit === null) {
76
+ throw new Error("Query library folder, limit is undefined or null")
77
+ }
78
+ if (limit === 0) {
79
+ throw new Error("Query library folder, limit is 0")
80
+ }
81
+
82
+ // send request to the server
83
+ const response = await this.context
84
+ .resolve(RpcService)
85
+ ?.requestBuilder("api/v1/libraries/content/list")
86
+ .searchParam("libraryId", this.libraryId)
87
+ .searchParam("folderId", this.folderId)
88
+ .searchParam("query", query)
89
+ .searchParam("page", page.toString())
90
+ .searchParam("limit", limit.toString())
91
+ .sendGet()
92
+
93
+ // check response status
94
+ if (ResponseUtils.isFail(response)) {
95
+ await ResponseUtils.throwError(
96
+ `Query library folder :${query}, page:${page}, limit:${limit}, failed`,
97
+ response
98
+ )
99
+ }
100
+
101
+ // parse files from the server's response
102
+ const libPageResponse = (await response!.json()) as LibraryPageResponse
103
+
104
+ // create files list
105
+ const libraryPage = new LibraryPageImpl()
106
+ libraryPage.total = libPageResponse.totalItemsCount
107
+ libraryPage.filesPerPage = libPageResponse.itemsPerPage
108
+ libraryPage.page = page
109
+ libraryPage.libraryId = this.libraryId
110
+
111
+ const parentsWait = []
112
+ for (const parentId of libPageResponse.parentIds) {
113
+ parentsWait.push(this.libraryImpl.getFolder(parentId))
114
+ }
115
+ const parents = await Promise.all(parentsWait)
116
+ for (const parent of parents) {
117
+ libraryPage.parents.push(new LibraryParentImpl(parent.folderId, parent.name))
118
+ }
119
+
120
+ // init files from the server's response
121
+ for (const fl of libPageResponse.files) {
122
+
123
+ // create file implementation
124
+ const file = await new FileImpl(this.context).initFrom(fl)
125
+
126
+ // add file to the collection
127
+ libraryPage.files.push(file)
128
+ }
129
+
130
+ for (const flr of libPageResponse.folders) {
131
+
132
+ // create folder implementation
133
+ const folder = new LibraryFolderImpl(this.libraryImpl, this.context)
134
+
135
+ await folder.initFrom(flr)
136
+
137
+ // add folder to the collection
138
+ libraryPage.folders.push(folder)
139
+ }
140
+
141
+ return libraryPage
142
+ }
143
+
144
+ }
@@ -0,0 +1,23 @@
1
+ import { LibraryPage } from "./libraryPage"
2
+ import { FolderId } from "./folderId"
3
+ import { LibraryId } from "./libraryId"
4
+
5
+ export abstract class LibraryFolder {
6
+
7
+ abstract get libraryId(): LibraryId
8
+
9
+ abstract get folderId(): FolderId
10
+
11
+ abstract get name(): string
12
+
13
+ abstract get description(): string
14
+
15
+ abstract get iconId(): string
16
+
17
+ abstract itemsCount(): Promise<number>
18
+
19
+ /**
20
+ * Query files.
21
+ */
22
+ abstract query(query: string, page: number, limit: number): Promise<LibraryPage>
23
+ }
@@ -0,0 +1 @@
1
+ export type LibraryId = string
@@ -0,0 +1,39 @@
1
+ import { LibraryPage, LibraryParent } from "./libraryPage"
2
+ import { LibraryFolder } from "./libraryFolder"
3
+ import { File } from "../files/file"
4
+ import { FolderId } from "./folderId"
5
+
6
+ export class LibraryParentImpl extends LibraryParent {
7
+ /**
8
+ * Get parent id.
9
+ */
10
+ public id: FolderId
11
+
12
+ /**
13
+ * Get parent name.
14
+ */
15
+ public name: string
16
+
17
+ constructor(id: FolderId, name: string) {
18
+ super()
19
+ this.id = id
20
+ this.name = name
21
+ }
22
+ }
23
+
24
+ export class LibraryPageImpl extends LibraryPage {
25
+
26
+ public libraryId: string = ""
27
+ public parents: LibraryParent[] = []
28
+ public files: File[] = []
29
+ public folders: LibraryFolder[] = []
30
+
31
+ public total: number = 0
32
+ public filesPerPage: number = 0
33
+ public page: number = 0
34
+
35
+ get pages(): number {
36
+ return Math.ceil(Math.max(this.total / this.filesPerPage, 1.0))
37
+ }
38
+
39
+ }