@neuralinnovations/dataisland-sdk 0.0.1-dev9 → 0.1.1

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 (511) hide show
  1. package/README.md +178 -9
  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 +34 -0
  68. package/dist/src/dto/queryFlowResponse.d.ts.map +1 -0
  69. package/dist/src/dto/queryFlowResponse.js +19 -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 +99 -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 +129 -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 +60 -0
  188. package/dist/src/storages/chats/chat.d.ts.map +1 -0
  189. package/dist/src/storages/chats/chat.impl.d.ts +29 -0
  190. package/dist/src/storages/chats/chat.impl.d.ts.map +1 -0
  191. package/dist/src/storages/chats/chat.impl.js +110 -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 +25 -0
  198. package/dist/src/storages/chats/chats.impl.d.ts.map +1 -0
  199. package/dist/src/storages/chats/chats.impl.js +287 -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 +30 -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 +164 -0
  284. package/dist/src/storages/organizations/organization.d.ts.map +1 -0
  285. package/dist/src/storages/organizations/organization.impl.d.ts +63 -0
  286. package/dist/src/storages/organizations/organization.impl.d.ts.map +1 -0
  287. package/dist/src/storages/organizations/organization.impl.js +388 -0
  288. package/dist/src/storages/organizations/organization.impl.js.map +1 -0
  289. package/dist/src/storages/organizations/organization.js +27 -0
  290. package/dist/src/storages/organizations/organization.js.map +1 -0
  291. package/dist/src/storages/organizations/organizationPrompts.d.ts +33 -0
  292. package/dist/src/storages/organizations/organizationPrompts.d.ts.map +1 -0
  293. package/dist/src/storages/organizations/organizationPrompts.impl.d.ts +17 -0
  294. package/dist/src/storages/organizations/organizationPrompts.impl.d.ts.map +1 -0
  295. package/dist/src/storages/organizations/organizationPrompts.impl.js +71 -0
  296. package/dist/src/storages/organizations/organizationPrompts.impl.js.map +1 -0
  297. package/dist/src/storages/organizations/organizationPrompts.js +7 -0
  298. package/dist/src/storages/organizations/organizationPrompts.js.map +1 -0
  299. package/dist/src/storages/organizations/organizations.d.ts +81 -0
  300. package/dist/src/storages/organizations/organizations.d.ts.map +1 -0
  301. package/dist/src/storages/organizations/organizations.impl.d.ts +46 -0
  302. package/dist/src/storages/organizations/organizations.impl.d.ts.map +1 -0
  303. package/dist/src/storages/organizations/organizations.impl.js +256 -0
  304. package/dist/src/storages/organizations/organizations.impl.js.map +1 -0
  305. package/dist/src/storages/organizations/organizations.js +20 -0
  306. package/dist/src/storages/organizations/organizations.js.map +1 -0
  307. package/dist/src/storages/queryFlows/queryFlow.d.ts +14 -0
  308. package/dist/src/storages/queryFlows/queryFlow.d.ts.map +1 -0
  309. package/dist/src/storages/queryFlows/queryFlow.impl.d.ts +18 -0
  310. package/dist/src/storages/queryFlows/queryFlow.impl.d.ts.map +1 -0
  311. package/dist/src/storages/queryFlows/queryFlow.impl.js +81 -0
  312. package/dist/src/storages/queryFlows/queryFlow.impl.js.map +1 -0
  313. package/dist/src/storages/queryFlows/queryFlow.js +12 -0
  314. package/dist/src/storages/queryFlows/queryFlow.js.map +1 -0
  315. package/dist/src/storages/queryFlows/queryFlows.d.ts +21 -0
  316. package/dist/src/storages/queryFlows/queryFlows.d.ts.map +1 -0
  317. package/dist/src/storages/queryFlows/queryFlows.impl.d.ts +16 -0
  318. package/dist/src/storages/queryFlows/queryFlows.impl.d.ts.map +1 -0
  319. package/dist/src/storages/queryFlows/queryFlows.impl.js +110 -0
  320. package/dist/src/storages/queryFlows/queryFlows.impl.js.map +1 -0
  321. package/dist/src/storages/queryFlows/queryFlows.js +16 -0
  322. package/dist/src/storages/queryFlows/queryFlows.js.map +1 -0
  323. package/dist/src/storages/user/userProfile.d.ts +68 -0
  324. package/dist/src/storages/user/userProfile.d.ts.map +1 -0
  325. package/dist/src/storages/user/userProfile.impl.d.ts +25 -0
  326. package/dist/src/storages/user/userProfile.impl.d.ts.map +1 -0
  327. package/dist/src/storages/user/userProfile.impl.js +145 -0
  328. package/dist/src/storages/user/userProfile.impl.js.map +1 -0
  329. package/dist/src/storages/user/userProfile.js +12 -0
  330. package/dist/src/storages/user/userProfile.js.map +1 -0
  331. package/dist/src/storages/workspaces/workspace.d.ts +50 -0
  332. package/dist/src/storages/workspaces/workspace.d.ts.map +1 -0
  333. package/dist/src/storages/workspaces/workspace.impl.d.ts +25 -0
  334. package/dist/src/storages/workspaces/workspace.impl.d.ts.map +1 -0
  335. package/dist/src/storages/workspaces/workspace.impl.js +133 -0
  336. package/dist/src/storages/workspaces/workspace.impl.js.map +1 -0
  337. package/dist/src/storages/workspaces/workspace.js +18 -0
  338. package/dist/src/storages/workspaces/workspace.js.map +1 -0
  339. package/dist/src/storages/workspaces/workspaces.d.ts +47 -0
  340. package/dist/src/storages/workspaces/workspaces.d.ts.map +1 -0
  341. package/dist/src/storages/workspaces/workspaces.impl.d.ts +33 -0
  342. package/dist/src/storages/workspaces/workspaces.impl.d.ts.map +1 -0
  343. package/dist/src/storages/workspaces/workspaces.impl.js +153 -0
  344. package/dist/src/storages/workspaces/workspaces.impl.js.map +1 -0
  345. package/dist/src/storages/workspaces/workspaces.js +19 -0
  346. package/dist/src/storages/workspaces/workspaces.js.map +1 -0
  347. package/dist/src/unitTest.d.ts +12 -0
  348. package/dist/src/unitTest.d.ts.map +1 -0
  349. package/dist/src/unitTest.js +44 -0
  350. package/dist/src/unitTest.js.map +1 -0
  351. package/dist/src/utils/browserUtils.d.ts +4 -0
  352. package/dist/src/utils/browserUtils.d.ts.map +1 -0
  353. package/dist/src/utils/browserUtils.js +64 -0
  354. package/dist/src/utils/browserUtils.js.map +1 -0
  355. package/dist/src/utils/request.d.ts +6 -0
  356. package/dist/src/utils/request.d.ts.map +1 -0
  357. package/dist/src/utils/request.js +3 -0
  358. package/dist/src/utils/request.js.map +1 -0
  359. package/dist/src/utils/utils.d.ts +3 -0
  360. package/dist/src/utils/utils.d.ts.map +1 -0
  361. package/dist/src/utils/utils.js +13 -0
  362. package/dist/src/utils/utils.js.map +1 -0
  363. package/index.d.ts +1 -0
  364. package/index.js +1 -0
  365. package/package.json +42 -7
  366. package/src/commands/deleteUserFullCommandHandler.ts +19 -0
  367. package/src/commands/startCommandHandler.ts +22 -5
  368. package/src/context.ts +4 -2
  369. package/src/credentials.ts +46 -0
  370. package/src/dataIslandApp.ts +12 -0
  371. package/src/disposable.ts +18 -5
  372. package/src/dto/accessGroupResponse.ts +17 -16
  373. package/src/dto/acquiringResponse.ts +54 -0
  374. package/src/dto/apiKeyResponse.ts +29 -0
  375. package/src/dto/badRequestResponse.ts +6 -0
  376. package/src/dto/chatResponse.ts +33 -8
  377. package/src/dto/invitesResponse.ts +25 -0
  378. package/src/dto/libraryResponse.ts +51 -0
  379. package/src/dto/limitsResponse.ts +32 -0
  380. package/src/dto/queryFlowResponse.ts +42 -0
  381. package/src/dto/quizResponse.ts +12 -0
  382. package/src/dto/statisticsResponse.ts +12 -0
  383. package/src/dto/userInfoResponse.ts +72 -2
  384. package/src/dto/workspacesResponse.ts +53 -5
  385. package/src/index.ts +71 -14
  386. package/src/internal/app.impl.ts +61 -10
  387. package/src/internal/registry.ts +54 -6
  388. package/src/middleware.ts +2 -0
  389. package/src/services/acquiringService.ts +21 -0
  390. package/src/services/anonymousService.ts +43 -0
  391. package/src/services/commandService.ts +4 -2
  392. package/src/services/cookieService.ts +16 -0
  393. package/src/services/httpMethod.ts +1 -0
  394. package/src/services/librariesService.ts +22 -0
  395. package/src/services/middlewareService.ts +1 -0
  396. package/src/services/requestBuilder.ts +49 -9
  397. package/src/services/responseUtils.ts +12 -0
  398. package/src/services/rpcService.ts +1 -0
  399. package/src/services/userProfileService.ts +34 -2
  400. package/src/storages/acquirings/acquiring.impl.ts +132 -0
  401. package/src/storages/acquirings/acquiring.ts +54 -0
  402. package/src/storages/chats/answer.impl.ts +78 -66
  403. package/src/storages/chats/answer.ts +23 -12
  404. package/src/storages/chats/chat.impl.ts +63 -8
  405. package/src/storages/chats/chat.ts +39 -1
  406. package/src/storages/chats/chats.impl.ts +260 -5
  407. package/src/storages/chats/chats.ts +28 -1
  408. package/src/storages/files/file.impl.ts +83 -26
  409. package/src/storages/files/file.ts +55 -5
  410. package/src/storages/files/files.impl.ts +130 -63
  411. package/src/storages/files/files.ts +12 -5
  412. package/src/storages/files/filesPage.impl.ts +37 -0
  413. package/src/storages/files/filesPage.ts +6 -0
  414. package/src/storages/groups/group.impl.ts +276 -0
  415. package/src/storages/groups/group.ts +73 -0
  416. package/src/storages/groups/groups.impl.ts +31 -177
  417. package/src/storages/groups/groups.ts +9 -60
  418. package/src/storages/library/folderId.ts +1 -0
  419. package/src/storages/library/libraries.impl.ts +209 -0
  420. package/src/storages/library/libraries.ts +56 -0
  421. package/src/storages/library/library.impl.ts +151 -0
  422. package/src/storages/library/library.ts +35 -0
  423. package/src/storages/library/libraryFolder.impl.ts +144 -0
  424. package/src/storages/library/libraryFolder.ts +23 -0
  425. package/src/storages/library/libraryId.ts +1 -0
  426. package/src/storages/library/libraryPage.impl.ts +39 -0
  427. package/src/storages/library/libraryPage.ts +56 -0
  428. package/src/storages/organizations/organization.impl.ts +506 -8
  429. package/src/storages/organizations/organization.ts +167 -5
  430. package/src/storages/organizations/organizationPrompts.impl.ts +109 -0
  431. package/src/storages/organizations/organizationPrompts.ts +41 -0
  432. package/src/storages/organizations/organizations.impl.ts +170 -9
  433. package/src/storages/organizations/organizations.ts +42 -0
  434. package/src/storages/queryFlows/queryFlow.impl.ts +96 -0
  435. package/src/storages/queryFlows/queryFlow.ts +28 -0
  436. package/src/storages/queryFlows/queryFlows.impl.ts +149 -0
  437. package/src/storages/queryFlows/queryFlows.ts +31 -0
  438. package/src/storages/user/userProfile.impl.ts +122 -0
  439. package/src/storages/user/userProfile.ts +44 -0
  440. package/src/storages/workspaces/workspace.impl.ts +65 -5
  441. package/src/storages/workspaces/workspace.ts +13 -0
  442. package/src/storages/workspaces/workspaces.impl.ts +19 -22
  443. package/src/storages/workspaces/workspaces.ts +5 -1
  444. package/src/unitTest.ts +3 -3
  445. package/src/utils/browserUtils.ts +68 -0
  446. package/src/utils/request.ts +6 -0
  447. package/src/utils/utils.ts +8 -0
  448. package/.browserslistrc +0 -5
  449. package/.editorconfig +0 -25
  450. package/.eslintrc.json +0 -44
  451. package/.github/workflows/docs.yml +0 -32
  452. package/.github/workflows/format.yml +0 -42
  453. package/.github/workflows/publish-npm.yml +0 -44
  454. package/.github/workflows/tests.yml +0 -38
  455. package/.github/workflows/version.yml +0 -44
  456. package/.prettierignore +0 -1
  457. package/.prettierrc +0 -11
  458. package/.yarnrc +0 -2
  459. package/babel.config.js +0 -6
  460. package/docs/.nojekyll +0 -1
  461. package/docs/classes/BasicCredential.md +0 -80
  462. package/docs/classes/BearerCredential.md +0 -72
  463. package/docs/classes/Chat.md +0 -97
  464. package/docs/classes/Chats.md +0 -176
  465. package/docs/classes/CredentialBase.md +0 -54
  466. package/docs/classes/DataIslandApp.md +0 -168
  467. package/docs/classes/DebugCredential.md +0 -72
  468. package/docs/classes/DefaultCredential.md +0 -56
  469. package/docs/classes/DisposableContainer.md +0 -177
  470. package/docs/classes/EventDispatcher.md +0 -109
  471. package/docs/classes/File.md +0 -79
  472. package/docs/classes/Files.md +0 -136
  473. package/docs/classes/FilesPage.md +0 -76
  474. package/docs/classes/Group.md +0 -209
  475. package/docs/classes/Groups.md +0 -154
  476. package/docs/classes/Lifetime.md +0 -108
  477. package/docs/classes/Organization.md +0 -125
  478. package/docs/classes/Organizations.md +0 -195
  479. package/docs/classes/UserProfile.md +0 -156
  480. package/docs/classes/Workspace.md +0 -165
  481. package/docs/classes/Workspaces.md +0 -193
  482. package/docs/enums/ChatAnswerType.md +0 -22
  483. package/docs/enums/ChatsEvent.md +0 -22
  484. package/docs/enums/FilesEvent.md +0 -24
  485. package/docs/enums/GroupEvent.md +0 -31
  486. package/docs/enums/OrganizationsEvent.md +0 -31
  487. package/docs/enums/UserEvent.md +0 -15
  488. package/docs/enums/WorkspaceEvent.md +0 -17
  489. package/docs/enums/WorkspacesEvent.md +0 -24
  490. package/docs/interfaces/Disposable.md +0 -25
  491. package/docs/interfaces/Event.md +0 -58
  492. package/docs/interfaces/EventSubscriber.md +0 -41
  493. package/docs/interfaces/Input.md +0 -35
  494. package/docs/modules.md +0 -207
  495. package/jest.config.ts +0 -199
  496. package/jest.setup.ts +0 -2
  497. package/scripts/docs/index.js +0 -15
  498. package/test/chats.test.ts +0 -48
  499. package/test/commands.test.ts +0 -24
  500. package/test/data/test_file.pdf +0 -0
  501. package/test/disposable.test.ts +0 -39
  502. package/test/events.test.ts +0 -151
  503. package/test/files.test.ts +0 -52
  504. package/test/index.test.ts +0 -122
  505. package/test/organization.test.ts +0 -69
  506. package/test/registry.test.ts +0 -44
  507. package/test/services.test.ts +0 -56
  508. package/test/setup.ts +0 -61
  509. package/test/unitTest.test.ts +0 -21
  510. package/test/workspace.test.ts +0 -71
  511. package/tsconfig.json +0 -31
@@ -1,17 +1,48 @@
1
- import { Workspaces } from "../workspaces/workspaces"
1
+ import { WorkspaceId, Workspaces } from "../workspaces/workspaces"
2
2
  import { OrganizationId } from "./organizations"
3
- import { GroupId, Groups } from "../groups/groups"
3
+ import { Groups } from "../groups/groups"
4
4
  import { Chats } from "../chats/chats"
5
+ import { EventDispatcher } from "../../events"
6
+ import {
7
+ CurrentLimitsData,
8
+ UserDto,
9
+ UsersStatisticsResponse
10
+ } from "../../dto/userInfoResponse"
11
+ import { GroupId } from "../groups/group"
12
+ import { StatisticsResponse } from "../../dto/statisticsResponse"
13
+ import { SegmentData } from "../../dto/limitsResponse"
14
+ import { FileId } from "../files/file"
15
+ import { QuizData } from "../../dto/quizResponse"
16
+ import { InviteResponse } from "../../dto/invitesResponse"
17
+ import { OrganizationApiKey } from "../../dto/apiKeyResponse"
18
+ import { UploadFile } from "../files/files"
19
+ import { QueryFlows } from "../queryFlows/queryFlows"
20
+ import { OrganizationPrompts } from "./organizationPrompts"
21
+
22
+ /**
23
+ * Organization event.
24
+ */
25
+ export enum OrganizationEvent {
26
+ CHANGED = "changed"
27
+ }
5
28
 
6
29
  /**
7
30
  * Organization.
8
31
  */
9
- export abstract class Organization {
32
+ export abstract class Organization extends EventDispatcher<
33
+ OrganizationEvent,
34
+ Organization
35
+ > {
10
36
  /**
11
37
  * Organization id.
12
38
  */
13
39
  abstract get id(): OrganizationId
14
40
 
41
+ /**
42
+ * Is admin organization
43
+ */
44
+ abstract get isAdmin(): boolean
45
+
15
46
  /**
16
47
  * Organization name.
17
48
  */
@@ -22,6 +53,16 @@ export abstract class Organization {
22
53
  */
23
54
  abstract get description(): string
24
55
 
56
+ /**
57
+ * ID of organization icon
58
+ */
59
+ abstract get icon(): string
60
+
61
+ /**
62
+ * If organizations allowed in libraries
63
+ */
64
+ abstract get isAllowedInLibraries(): boolean
65
+
25
66
  /**
26
67
  * Workspaces.
27
68
  */
@@ -38,7 +79,128 @@ export abstract class Organization {
38
79
  abstract get accessGroups(): Groups
39
80
 
40
81
  /**
41
- * Create invite link
82
+ * Query flows
83
+ */
84
+ abstract get queryFlows(): QueryFlows
85
+
86
+ /**
87
+ * Get organization prompts
88
+ */
89
+ abstract get prompts(): OrganizationPrompts
90
+
91
+ /**
92
+ * Get organization members
93
+ */
94
+ abstract members(): Promise<UserDto[]>
95
+
96
+ /**
97
+ * Get organization statistics
98
+ * @param dateFrom
99
+ * @param dateTo
100
+ */
101
+ abstract statistics(dateFrom: number, dateTo: number): Promise<StatisticsResponse>
102
+
103
+ /**
104
+ * Get organization statistics
105
+ * @param dateFrom
106
+ * @param dateTo
107
+ */
108
+ abstract membersStatistics(dateFrom: number, dateTo: number): Promise<UsersStatisticsResponse>
109
+
110
+ /**
111
+ * Get statistics for user
112
+ * @param userid
113
+ * @param dateFrom
114
+ * @param dateTo
115
+ */
116
+ abstract userStatistic(userid: string, dateFrom: number, dateTo: number): Promise<StatisticsResponse>
117
+
118
+ /**
119
+ * Get user limits data
120
+ */
121
+ abstract userLimits(): Promise<CurrentLimitsData>
122
+
123
+ /**
124
+ * Get default organization limits
125
+ */
126
+ abstract organizationLimits(): Promise<SegmentData>
127
+
128
+ /**
129
+ * Get all available segments data
130
+ */
131
+ abstract limitSegments(): Promise<SegmentData[]>
132
+
133
+ /**
134
+ * Change organization name and description.
135
+ */
136
+ abstract change(name: string, description: string): Promise<void>
137
+
138
+ /**
139
+ * Upload an icon for organization
140
+ * @param icon
141
+ */
142
+ abstract uploadIcon(icon: UploadFile): Promise<string>
143
+
144
+ /**
145
+ * Invite users with given emails to organization
146
+ */
147
+ abstract inviteUsers(emails: string[], accessGroups: GroupId[]): Promise<void>
148
+
149
+ /**
150
+ * Create invite code for users outside organization
151
+ */
152
+ abstract createInviteCode(accessGroups: GroupId[], validateDomain?: string): Promise<string>
153
+
154
+ /**
155
+ * Delete invite code
156
+ */
157
+ abstract deleteInviteCode(code: string): Promise<void>
158
+
159
+ /**
160
+ * Get all invite links for organization
161
+ */
162
+ abstract getOrganizationInvites(): Promise<InviteResponse>
163
+
164
+ /**
165
+ * Create new Api key for organization
166
+ * @param name
167
+ * @param accessGroups
168
+ */
169
+ abstract createApiKey(name: string, accessGroups: string[]): Promise<OrganizationApiKey>
170
+
171
+ /**
172
+ * Get all organization api keys
173
+ */
174
+ abstract getApiKeys(): Promise<OrganizationApiKey[]>
175
+
176
+ /**
177
+ * Delete api key
178
+ */
179
+ abstract deleteApiKey(key: string): Promise<void>
180
+
181
+ /**
182
+ * Create quiz for given topic
183
+ * @param workspaces - workspaces to search for topic
184
+ * @param query - search query and quiz topic
185
+ * @param questionsCount - count of quiz tests
186
+ * @param optionsCount - count of one question options
187
+ * @param fileId - file id in case of test-on-file
188
+ */
189
+ abstract createQuiz(workspaces: WorkspaceId[], query: string, questionsCount: number, optionsCount: number, fileId: FileId): Promise<QuizData>
190
+
191
+ /**
192
+ * Delete users from organization by id
193
+ * @param userIds
194
+ */
195
+ abstract deleteOrganizationMember(userIds: string[]): Promise<void>
196
+
197
+ /**
198
+ * Fire changed event.
42
199
  */
43
- abstract createInviteLink(emails: string[], accessGroups: GroupId[]): Promise<void>
200
+ fireChanged(): void {
201
+ this.dispatch({
202
+ type: OrganizationEvent.CHANGED,
203
+ data: this
204
+ })
205
+ }
44
206
  }
@@ -0,0 +1,109 @@
1
+ import { OrganizationPrompts } from "./organizationPrompts"
2
+ import { OrganizationImpl } from "./organization.impl"
3
+ import { Context } from "../../context"
4
+ import { OrganizationPromptDto } from "../../dto/userInfoResponse"
5
+ import { RpcService } from "../../services/rpcService"
6
+ import { ResponseUtils } from "../../services/responseUtils"
7
+
8
+ export class OrganizationPromptsImpl implements OrganizationPrompts {
9
+
10
+ private _cacheDefaultPrompts: OrganizationPromptDto[] | null = null
11
+
12
+ constructor(
13
+ private readonly organization: OrganizationImpl,
14
+ private readonly context: Context
15
+ ) {
16
+
17
+ }
18
+
19
+ async getDefaultPrompts(): Promise<OrganizationPromptDto[]> {
20
+ if (this._cacheDefaultPrompts !== null) {
21
+ return this._cacheDefaultPrompts
22
+ }
23
+
24
+ const response = await this.context
25
+ .resolve(RpcService)
26
+ ?.requestBuilder("api/v1/Organizations/prompts/default")
27
+ .searchParam("organizationId", this.organization.id)
28
+ .sendGet()
29
+
30
+ // check response status
31
+ if (ResponseUtils.isFail(response)) {
32
+ await ResponseUtils.throwError(
33
+ `Failed during fetch of organization prompts ${this.organization.id}`,
34
+ response
35
+ )
36
+ }
37
+
38
+ this._cacheDefaultPrompts = (await response!.json() as {
39
+ prompts: OrganizationPromptDto[]
40
+ }).prompts as OrganizationPromptDto[]
41
+
42
+ return this._cacheDefaultPrompts
43
+ }
44
+
45
+ async getPrompts(): Promise<OrganizationPromptDto[]> {
46
+ const response = await this.context
47
+ .resolve(RpcService)
48
+ ?.requestBuilder("api/v1/Organizations/prompts")
49
+ .searchParam("organizationId", this.organization.id)
50
+ .sendGet()
51
+
52
+ // check response status
53
+ if (ResponseUtils.isFail(response)) {
54
+ await ResponseUtils.throwError(
55
+ `Failed during fetch of organization prompts ${this.organization.id}`,
56
+ response
57
+ )
58
+ }
59
+
60
+ return (await response!.json() as {
61
+ prompts: OrganizationPromptDto[]
62
+ }).prompts as OrganizationPromptDto[]
63
+ }
64
+
65
+ async updatePrompts(prompts: OrganizationPromptDto[]): Promise<void> {
66
+ if (prompts === undefined || prompts === null || prompts.length === 0) {
67
+ return
68
+ }
69
+ for (let i = 0; i < prompts.length; i++) {
70
+ const prompt = prompts[i]
71
+ if (prompt === undefined || prompt === null) {
72
+ throw new Error("list of prompts has null item at index: " + i)
73
+ }
74
+ }
75
+
76
+ const response = await this.context
77
+ .resolve(RpcService)
78
+ ?.requestBuilder("api/v1/Organizations/prompts")
79
+ .searchParam("organizationId", this.organization.id)
80
+ .sendPutJson(prompts)
81
+
82
+ // check response status
83
+ if (ResponseUtils.isFail(response)) {
84
+ await ResponseUtils.throwError(
85
+ `Failed during update organization's list of prompts ${this.organization.id}`,
86
+ response
87
+ )
88
+ }
89
+ }
90
+
91
+ async updatePrompt(key: string, value: string | null): Promise<void> {
92
+ return this.updatePrompts([{
93
+ key,
94
+ value
95
+ }])
96
+ }
97
+
98
+ deletePrompt(key: string): Promise<void> {
99
+ return this.updatePrompt(key, null)
100
+ }
101
+
102
+ async deletePrompts(keys: string[]): Promise<void> {
103
+ return this.updatePrompts(keys.map(key => ({
104
+ key,
105
+ value: null
106
+ })))
107
+ }
108
+
109
+ }
@@ -0,0 +1,41 @@
1
+ import {
2
+ OrganizationPromptDto
3
+ } from "../../dto/userInfoResponse"
4
+
5
+ export abstract class OrganizationPrompts {
6
+
7
+ /**
8
+ * Get default organization prompts
9
+ */
10
+ abstract getDefaultPrompts(): Promise<OrganizationPromptDto[]>
11
+
12
+ /**
13
+ * Get all organization prompts
14
+ */
15
+ abstract getPrompts(): Promise<OrganizationPromptDto[]>
16
+
17
+ /**
18
+ * Create/Update/Delete new prompt
19
+ * @param key - key of prompt
20
+ * @param value - value of prompt, null|undefined to delete
21
+ */
22
+ abstract updatePrompt(key: string, value: string | undefined | null): Promise<void>
23
+
24
+ /**
25
+ * Update prompts in bulk
26
+ * @param prompts - array of prompts (value can be null|undefined to delete)
27
+ */
28
+ abstract updatePrompts(prompts: OrganizationPromptDto[]): Promise<void>
29
+
30
+ /**
31
+ * Delete prompt
32
+ * @param key
33
+ */
34
+ abstract deletePrompt(key: string): Promise<void>
35
+
36
+ /**
37
+ * Delete prompt
38
+ * @param keys
39
+ */
40
+ abstract deletePrompts(keys: string[]): Promise<void>
41
+ }
@@ -5,10 +5,13 @@ import {
5
5
  } from "./organizations"
6
6
  import { OrganizationImpl } from "./organization.impl"
7
7
  import { RpcService } from "../../services/rpcService"
8
- import { OrganizationDto, UserSettings } from "../../dto/userInfoResponse"
8
+ import { ApplyInviteCodeResponse, OrganizationDto, UserSettings } from "../../dto/userInfoResponse"
9
9
  import { Context } from "../../context"
10
10
  import { Organization } from "./organization"
11
11
  import { ResponseUtils } from "../../services/responseUtils"
12
+ import { UserProfileService } from "../../services/userProfileService"
13
+ import {UploadFile} from "../files/files"
14
+ import {IconDto, IconResponse, ResourceType} from "../../dto/workspacesResponse"
12
15
 
13
16
  export class OrganizationsImpl extends Organizations {
14
17
  constructor(public readonly context: Context) {
@@ -61,6 +64,45 @@ export class OrganizationsImpl extends Organizations {
61
64
  return this.internalDeleteOrganization(id)
62
65
  }
63
66
 
67
+ async applyInviteCode(code: string): Promise<ApplyInviteCodeResponse> {
68
+ const response = await this.context
69
+ .resolve(RpcService)
70
+ ?.requestBuilder("api/v1/Invites/apply")
71
+ .sendPutJson({
72
+ code: code
73
+ })
74
+ if (ResponseUtils.isFail(response)) {
75
+ await ResponseUtils.throwError(
76
+ "Invite code validation failed",
77
+ response
78
+ )
79
+ }
80
+
81
+ await this.context.resolve(UserProfileService)?.fetch()
82
+
83
+ const result = (await response?.json()) as ApplyInviteCodeResponse
84
+
85
+ return result
86
+ }
87
+
88
+ async leaveOrganization(organizationId: string): Promise<void> {
89
+ if (organizationId === null || organizationId === undefined || organizationId.trim() === ""){
90
+ throw new Error("Organization ID is null or empty")
91
+ }
92
+ const response = await this.context
93
+ .resolve(RpcService)
94
+ ?.requestBuilder("api/v1/Organizations/leave")
95
+ .sendPutJson({
96
+ organizationId: organizationId,
97
+ })
98
+
99
+ if (ResponseUtils.isFail(response)) {
100
+ await ResponseUtils.throwError("Failed to leave organization", response)
101
+ }
102
+
103
+ await this.context.resolve(UserProfileService)?.fetch()
104
+ }
105
+
64
106
  //----------------------------------------------------------------------------
65
107
  // INTERNALS
66
108
  //----------------------------------------------------------------------------
@@ -139,7 +181,8 @@ export class OrganizationsImpl extends Organizations {
139
181
  profile: {
140
182
  name: name,
141
183
  description: description
142
- }
184
+ },
185
+ currentOrganizationId: this.currentOrganizationId
143
186
  })
144
187
  if (ResponseUtils.isFail(response)) {
145
188
  await ResponseUtils.throwError(
@@ -147,7 +190,9 @@ export class OrganizationsImpl extends Organizations {
147
190
  response
148
191
  )
149
192
  }
150
- const content = (await response!.json()).organization as OrganizationDto
193
+ const content = (await response!.json() as {
194
+ organization: OrganizationDto
195
+ }).organization as OrganizationDto
151
196
 
152
197
  // create organization and init from content
153
198
  const org = await new OrganizationImpl(this.context).initFrom(content, true)
@@ -175,23 +220,139 @@ export class OrganizationsImpl extends Organizations {
175
220
  organizations: OrganizationDto[],
176
221
  settings: UserSettings | null | undefined
177
222
  ): Promise<void> {
223
+
224
+ this.organizations = []
225
+
226
+ // set current organization
178
227
  this.currentOrganizationId = settings?.activeOrganizationId
228
+
229
+ // wait list
230
+ const waitList: Promise<OrganizationImpl>[] = []
231
+
232
+ // init organizations
179
233
  for (const organization of organizations) {
180
234
  // create organization and init from content
181
- const org = await new OrganizationImpl(this.context).initFrom(
235
+ const orgPromise = new OrganizationImpl(this.context).initFrom(
182
236
  organization,
183
237
  adminInOrganization.includes(organization.id)
184
238
  )
185
239
 
240
+ // add organization to wait list
241
+ waitList.push(orgPromise)
242
+ }
243
+
244
+ // wait for all organizations
245
+ const orgImpls = await Promise.all(waitList)
246
+
247
+ // add organizations to collection
248
+ for (const org of orgImpls) {
186
249
  // add organization to collection
187
250
  this.organizations.push(org)
251
+ }
252
+ }
188
253
 
189
- // dispatch event, organization added
190
- this.dispatch({
191
- type: OrganizationsEvent.ADDED,
192
- data: org
193
- })
254
+
255
+ async uploadIconGlobal(organizationId: string, resourceId: string, resourceType: ResourceType, icon: UploadFile): Promise<string> {
256
+
257
+ // check icon file
258
+ if (icon === undefined || icon === null) {
259
+ throw new Error("Organization icon upload, file is undefined or null")
194
260
  }
261
+
262
+ const resourceTypeInt: number = resourceType
263
+
264
+ // form data to send
265
+ const form = new FormData()
266
+ form.append("OrganizationId", organizationId)
267
+ form.append("ResourceId", resourceId)
268
+ form.append("ResourceType", resourceTypeInt.toString())
269
+ form.append("FileName", icon.name)
270
+ form.append("File", icon, icon.name)
271
+
272
+ // send request to the server
273
+ const response = await this.context
274
+ .resolve(RpcService)
275
+ ?.requestBuilder("api/v1/Files/icon")
276
+ .sendPutFormData(form)
277
+
278
+ // check response status
279
+ if (ResponseUtils.isFail(response)) {
280
+ await ResponseUtils.throwError(`Organization icon upload ${icon.name}`, response)
281
+ }
282
+
283
+ const iconResponse = await response!.json() as IconResponse
284
+
285
+ return iconResponse.iconId
195
286
  }
196
287
 
288
+ async getIconData(id: string): Promise<IconDto> {
289
+ if (id === null || id === undefined || id.trim() === ""){
290
+ throw new Error("Icon id is null or empty")
291
+ }
292
+
293
+ // send request to the server
294
+ const response = await this.context
295
+ .resolve(RpcService)
296
+ ?.requestBuilder("api/v1/Files/icon")
297
+ .searchParam("iconId", id)
298
+ .sendGet()
299
+
300
+ // check response status
301
+ if (ResponseUtils.isFail(response)) {
302
+ await ResponseUtils.throwError(
303
+ `Failed during get of icon ${id}`,
304
+ response
305
+ )
306
+ }
307
+
308
+ return await response!.json() as IconDto
309
+ }
310
+
311
+ async getNewestIcon(resourceId: string, resourceType: ResourceType): Promise<IconDto>{
312
+ if (resourceId === null || resourceId === undefined || resourceId.trim() === ""){
313
+ throw new Error("Resource id is null or empty")
314
+ }
315
+
316
+ const resourceTypeInt: number = resourceType
317
+
318
+ // send request to the server
319
+ const response = await this.context
320
+ .resolve(RpcService)
321
+ ?.requestBuilder("api/v1/Files/icon/newest")
322
+ .searchParam("resourceId", resourceId)
323
+ .searchParam("resourceType", resourceTypeInt.toString())
324
+ .sendGet()
325
+
326
+ // check response status
327
+ if (ResponseUtils.isFail(response)) {
328
+ await ResponseUtils.throwError(
329
+ `Failed during get of icon for ${resourceId} ${resourceType.toString()}`,
330
+ response
331
+ )
332
+ }
333
+
334
+ return await response!.json() as IconDto
335
+ }
336
+
337
+ async deleteIcon(id: string): Promise<void> {
338
+ if (id === undefined || id === null) {
339
+ throw new Error("Icon delete, id is undefined or null")
340
+ }
341
+ if (id.length === 0 || id.trim().length === 0) {
342
+ throw new Error("Icon delete, id is empty")
343
+ }
344
+
345
+ // send request to the server
346
+ const response = await this.context
347
+ .resolve(RpcService)
348
+ ?.requestBuilder("api/v1/Files/icon")
349
+ .searchParam("iconId", id)
350
+ .sendDelete()
351
+
352
+ // check response status
353
+ if (ResponseUtils.isFail(response)) {
354
+ await ResponseUtils.throwError(`Failed to delete icon: ${id}`, response)
355
+ }
356
+
357
+ }
197
358
  }
@@ -1,5 +1,8 @@
1
+ import { ApplyInviteCodeResponse } from "../../dto/userInfoResponse"
1
2
  import { EventDispatcher } from "../../events"
2
3
  import { Organization } from "./organization"
4
+ import {IconDto, ResourceType} from "../../dto/workspacesResponse"
5
+ import {UploadFile} from "../files/files"
3
6
 
4
7
  /**
5
8
  * Organization id.
@@ -53,4 +56,43 @@ export abstract class Organizations extends EventDispatcher<
53
56
  * Delete organization.
54
57
  */
55
58
  abstract delete(id: OrganizationId): Promise<void>
59
+
60
+ /**
61
+ * Apply invite code for user
62
+ */
63
+ abstract applyInviteCode(code: string): Promise<ApplyInviteCodeResponse>
64
+
65
+ /**
66
+ * leave organization
67
+ */
68
+ abstract leaveOrganization(organizationId: string): Promise<void>
69
+
70
+ /**
71
+ * Upload icon for any available resource ( organization, user, workspace, chat )
72
+ * @param organizationId
73
+ * @param resourceId
74
+ * @param resourceType
75
+ * @param icon
76
+ */
77
+ abstract uploadIconGlobal(organizationId: string, resourceId: string, resourceType: ResourceType, icon: UploadFile): Promise<string>
78
+
79
+ /**
80
+ * Get icon url and name for given id
81
+ * @param id
82
+ */
83
+ abstract getIconData(id: string): Promise<IconDto>
84
+
85
+ /**
86
+ * Get latest icon for provided resource
87
+ * @param resourceId
88
+ * @param resourceType
89
+ */
90
+ abstract getNewestIcon(resourceId: string, resourceType: ResourceType): Promise<IconDto>
91
+
92
+ /**
93
+ * Delete icon by ID
94
+ * @param id
95
+ */
96
+ abstract deleteIcon(id: string): Promise<void>
97
+
56
98
  }