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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (513) hide show
  1. package/README.md +209 -7
  2. package/dist/index.d.ts +3 -0
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +3 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/package.json +103 -0
  7. package/dist/src/appBuilder.d.ts +44 -0
  8. package/dist/src/appBuilder.d.ts.map +1 -0
  9. package/dist/src/appBuilder.js +10 -0
  10. package/dist/src/appBuilder.js.map +1 -0
  11. package/dist/src/commands/deleteUserFullCommandHandler.d.ts +7 -0
  12. package/dist/src/commands/deleteUserFullCommandHandler.d.ts.map +1 -0
  13. package/dist/src/commands/deleteUserFullCommandHandler.js +21 -0
  14. package/dist/src/commands/deleteUserFullCommandHandler.js.map +1 -0
  15. package/dist/src/commands/startCommandHandler.d.ts +7 -0
  16. package/dist/src/commands/startCommandHandler.d.ts.map +1 -0
  17. package/dist/src/commands/startCommandHandler.js +33 -0
  18. package/dist/src/commands/startCommandHandler.js.map +1 -0
  19. package/dist/src/context.d.ts +24 -0
  20. package/dist/src/context.d.ts.map +1 -0
  21. package/dist/src/context.js +31 -0
  22. package/dist/src/context.js.map +1 -0
  23. package/dist/src/credentials.d.ts +39 -0
  24. package/dist/src/credentials.d.ts.map +1 -0
  25. package/dist/src/credentials.js +105 -0
  26. package/dist/src/credentials.js.map +1 -0
  27. package/dist/src/dataIslandApp.d.ts +60 -0
  28. package/dist/src/dataIslandApp.d.ts.map +1 -0
  29. package/dist/src/dataIslandApp.js +10 -0
  30. package/dist/src/dataIslandApp.js.map +1 -0
  31. package/dist/src/disposable.d.ts +84 -0
  32. package/dist/src/disposable.d.ts.map +1 -0
  33. package/dist/src/disposable.js +147 -0
  34. package/dist/src/disposable.js.map +1 -0
  35. package/dist/src/dto/accessGroupResponse.d.ts +27 -0
  36. package/dist/src/dto/accessGroupResponse.d.ts.map +1 -0
  37. package/dist/src/dto/accessGroupResponse.js +3 -0
  38. package/dist/src/dto/accessGroupResponse.js.map +1 -0
  39. package/dist/src/dto/acquiringResponse.d.ts +46 -0
  40. package/dist/src/dto/acquiringResponse.d.ts.map +1 -0
  41. package/dist/src/dto/acquiringResponse.js +11 -0
  42. package/dist/src/dto/acquiringResponse.js.map +1 -0
  43. package/dist/src/dto/apiKeyResponse.d.ts +24 -0
  44. package/dist/src/dto/apiKeyResponse.d.ts.map +1 -0
  45. package/dist/src/dto/apiKeyResponse.js +3 -0
  46. package/dist/src/dto/apiKeyResponse.js.map +1 -0
  47. package/dist/src/dto/badRequestResponse.d.ts +6 -0
  48. package/dist/src/dto/badRequestResponse.d.ts.map +1 -0
  49. package/dist/src/dto/badRequestResponse.js +3 -0
  50. package/dist/src/dto/badRequestResponse.js.map +1 -0
  51. package/dist/src/dto/chatResponse.d.ts +99 -0
  52. package/dist/src/dto/chatResponse.d.ts.map +1 -0
  53. package/dist/src/dto/chatResponse.js +56 -0
  54. package/dist/src/dto/chatResponse.js.map +1 -0
  55. package/dist/src/dto/invitesResponse.d.ts +21 -0
  56. package/dist/src/dto/invitesResponse.d.ts.map +1 -0
  57. package/dist/src/dto/invitesResponse.js +3 -0
  58. package/dist/src/dto/invitesResponse.js.map +1 -0
  59. package/dist/src/dto/libraryResponse.d.ts +42 -0
  60. package/dist/src/dto/libraryResponse.d.ts.map +1 -0
  61. package/dist/src/dto/libraryResponse.js +3 -0
  62. package/dist/src/dto/libraryResponse.js.map +1 -0
  63. package/dist/src/dto/limitsResponse.d.ts +29 -0
  64. package/dist/src/dto/limitsResponse.d.ts.map +1 -0
  65. package/dist/src/dto/limitsResponse.js +13 -0
  66. package/dist/src/dto/limitsResponse.js.map +1 -0
  67. package/dist/src/dto/queryFlowResponse.d.ts +20 -0
  68. package/dist/src/dto/queryFlowResponse.d.ts.map +1 -0
  69. package/dist/src/dto/queryFlowResponse.js +10 -0
  70. package/dist/src/dto/queryFlowResponse.js.map +1 -0
  71. package/dist/src/dto/quizResponse.d.ts +11 -0
  72. package/dist/src/dto/quizResponse.d.ts.map +1 -0
  73. package/dist/src/dto/quizResponse.js +3 -0
  74. package/dist/src/dto/quizResponse.js.map +1 -0
  75. package/dist/src/dto/statisticsResponse.d.ts +11 -0
  76. package/dist/src/dto/statisticsResponse.d.ts.map +1 -0
  77. package/dist/src/dto/statisticsResponse.js +3 -0
  78. package/dist/src/dto/statisticsResponse.js.map +1 -0
  79. package/dist/src/dto/userInfoResponse.d.ts +93 -0
  80. package/dist/src/dto/userInfoResponse.d.ts.map +1 -0
  81. package/dist/src/dto/userInfoResponse.js +3 -0
  82. package/dist/src/dto/userInfoResponse.js.map +1 -0
  83. package/dist/src/dto/workspacesResponse.d.ts +79 -0
  84. package/dist/src/dto/workspacesResponse.d.ts.map +1 -0
  85. package/dist/src/dto/workspacesResponse.js +31 -0
  86. package/dist/src/dto/workspacesResponse.js.map +1 -0
  87. package/dist/src/events.d.ts +17 -0
  88. package/dist/src/events.d.ts.map +1 -0
  89. package/dist/src/events.js +52 -0
  90. package/dist/src/events.js.map +1 -0
  91. package/dist/src/index.d.ts +88 -0
  92. package/dist/src/index.d.ts.map +1 -0
  93. package/dist/src/index.js +140 -0
  94. package/dist/src/index.js.map +1 -0
  95. package/dist/src/internal/app.impl.d.ts +32 -0
  96. package/dist/src/internal/app.impl.d.ts.map +1 -0
  97. package/dist/src/internal/app.impl.js +187 -0
  98. package/dist/src/internal/app.impl.js.map +1 -0
  99. package/dist/src/internal/appBuilder.impl.d.ts +27 -0
  100. package/dist/src/internal/appBuilder.impl.d.ts.map +1 -0
  101. package/dist/src/internal/appBuilder.impl.js +71 -0
  102. package/dist/src/internal/appBuilder.impl.js.map +1 -0
  103. package/dist/src/internal/createApp.impl.d.ts +4 -0
  104. package/dist/src/internal/createApp.impl.d.ts.map +1 -0
  105. package/dist/src/internal/createApp.impl.js +11 -0
  106. package/dist/src/internal/createApp.impl.js.map +1 -0
  107. package/dist/src/internal/registry.d.ts +66 -0
  108. package/dist/src/internal/registry.d.ts.map +1 -0
  109. package/dist/src/internal/registry.js +114 -0
  110. package/dist/src/internal/registry.js.map +1 -0
  111. package/dist/src/middleware.d.ts +6 -0
  112. package/dist/src/middleware.d.ts.map +1 -0
  113. package/dist/src/middleware.js +3 -0
  114. package/dist/src/middleware.js.map +1 -0
  115. package/dist/src/services/acquiringService.d.ts +9 -0
  116. package/dist/src/services/acquiringService.d.ts.map +1 -0
  117. package/dist/src/services/acquiringService.js +19 -0
  118. package/dist/src/services/acquiringService.js.map +1 -0
  119. package/dist/src/services/anonymousService.d.ts +8 -0
  120. package/dist/src/services/anonymousService.d.ts.map +1 -0
  121. package/dist/src/services/anonymousService.js +41 -0
  122. package/dist/src/services/anonymousService.js.map +1 -0
  123. package/dist/src/services/commandService.d.ts +18 -0
  124. package/dist/src/services/commandService.d.ts.map +1 -0
  125. package/dist/src/services/commandService.js +40 -0
  126. package/dist/src/services/commandService.js.map +1 -0
  127. package/dist/src/services/cookieService.d.ts +7 -0
  128. package/dist/src/services/cookieService.d.ts.map +1 -0
  129. package/dist/src/services/cookieService.js +18 -0
  130. package/dist/src/services/cookieService.js.map +1 -0
  131. package/dist/src/services/credentialService.d.ts +9 -0
  132. package/dist/src/services/credentialService.d.ts.map +1 -0
  133. package/dist/src/services/credentialService.js +26 -0
  134. package/dist/src/services/credentialService.js.map +1 -0
  135. package/dist/src/services/httpMethod.d.ts +2 -0
  136. package/dist/src/services/httpMethod.d.ts.map +1 -0
  137. package/dist/src/services/httpMethod.js +3 -0
  138. package/dist/src/services/httpMethod.js.map +1 -0
  139. package/dist/src/services/librariesService.d.ts +9 -0
  140. package/dist/src/services/librariesService.d.ts.map +1 -0
  141. package/dist/src/services/librariesService.js +19 -0
  142. package/dist/src/services/librariesService.js.map +1 -0
  143. package/dist/src/services/middlewareService.d.ts +10 -0
  144. package/dist/src/services/middlewareService.d.ts.map +1 -0
  145. package/dist/src/services/middlewareService.js +34 -0
  146. package/dist/src/services/middlewareService.js.map +1 -0
  147. package/dist/src/services/organizationService.d.ts +10 -0
  148. package/dist/src/services/organizationService.d.ts.map +1 -0
  149. package/dist/src/services/organizationService.js +19 -0
  150. package/dist/src/services/organizationService.js.map +1 -0
  151. package/dist/src/services/requestBuilder.d.ts +19 -0
  152. package/dist/src/services/requestBuilder.d.ts.map +1 -0
  153. package/dist/src/services/requestBuilder.js +133 -0
  154. package/dist/src/services/requestBuilder.js.map +1 -0
  155. package/dist/src/services/responseUtils.d.ts +8 -0
  156. package/dist/src/services/responseUtils.d.ts.map +1 -0
  157. package/dist/src/services/responseUtils.js +40 -0
  158. package/dist/src/services/responseUtils.js.map +1 -0
  159. package/dist/src/services/rpcService.d.ts +77 -0
  160. package/dist/src/services/rpcService.d.ts.map +1 -0
  161. package/dist/src/services/rpcService.js +125 -0
  162. package/dist/src/services/rpcService.js.map +1 -0
  163. package/dist/src/services/service.d.ts +21 -0
  164. package/dist/src/services/service.d.ts.map +1 -0
  165. package/dist/src/services/service.js +41 -0
  166. package/dist/src/services/service.js.map +1 -0
  167. package/dist/src/services/userProfileService.d.ts +10 -0
  168. package/dist/src/services/userProfileService.d.ts.map +1 -0
  169. package/dist/src/services/userProfileService.js +59 -0
  170. package/dist/src/services/userProfileService.js.map +1 -0
  171. package/dist/src/storages/acquirings/acquiring.d.ts +41 -0
  172. package/dist/src/storages/acquirings/acquiring.d.ts.map +1 -0
  173. package/dist/src/storages/acquirings/acquiring.impl.d.ts +20 -0
  174. package/dist/src/storages/acquirings/acquiring.impl.d.ts.map +1 -0
  175. package/dist/src/storages/acquirings/acquiring.impl.js +92 -0
  176. package/dist/src/storages/acquirings/acquiring.impl.js.map +1 -0
  177. package/dist/src/storages/acquirings/acquiring.js +10 -0
  178. package/dist/src/storages/acquirings/acquiring.js.map +1 -0
  179. package/dist/src/storages/chats/answer.d.ts +41 -0
  180. package/dist/src/storages/chats/answer.d.ts.map +1 -0
  181. package/dist/src/storages/chats/answer.impl.d.ts +29 -0
  182. package/dist/src/storages/chats/answer.impl.d.ts.map +1 -0
  183. package/dist/src/storages/chats/answer.impl.js +134 -0
  184. package/dist/src/storages/chats/answer.impl.js.map +1 -0
  185. package/dist/src/storages/chats/answer.js +15 -0
  186. package/dist/src/storages/chats/answer.js.map +1 -0
  187. package/dist/src/storages/chats/chat.d.ts +52 -0
  188. package/dist/src/storages/chats/chat.d.ts.map +1 -0
  189. package/dist/src/storages/chats/chat.impl.d.ts +27 -0
  190. package/dist/src/storages/chats/chat.impl.d.ts.map +1 -0
  191. package/dist/src/storages/chats/chat.impl.js +102 -0
  192. package/dist/src/storages/chats/chat.impl.js.map +1 -0
  193. package/dist/src/storages/chats/chat.js +12 -0
  194. package/dist/src/storages/chats/chat.js.map +1 -0
  195. package/dist/src/storages/chats/chats.d.ts +63 -0
  196. package/dist/src/storages/chats/chats.d.ts.map +1 -0
  197. package/dist/src/storages/chats/chats.impl.d.ts +22 -0
  198. package/dist/src/storages/chats/chats.impl.d.ts.map +1 -0
  199. package/dist/src/storages/chats/chats.impl.js +252 -0
  200. package/dist/src/storages/chats/chats.impl.js.map +1 -0
  201. package/dist/src/storages/chats/chats.js +16 -0
  202. package/dist/src/storages/chats/chats.js.map +1 -0
  203. package/dist/src/storages/files/file.d.ts +59 -0
  204. package/dist/src/storages/files/file.d.ts.map +1 -0
  205. package/dist/src/storages/files/file.impl.d.ts +27 -0
  206. package/dist/src/storages/files/file.impl.d.ts.map +1 -0
  207. package/dist/src/storages/files/file.impl.js +104 -0
  208. package/dist/src/storages/files/file.impl.js.map +1 -0
  209. package/dist/src/storages/files/file.js +11 -0
  210. package/dist/src/storages/files/file.js.map +1 -0
  211. package/dist/src/storages/files/files.d.ts +39 -0
  212. package/dist/src/storages/files/files.d.ts.map +1 -0
  213. package/dist/src/storages/files/files.impl.d.ts +26 -0
  214. package/dist/src/storages/files/files.impl.d.ts.map +1 -0
  215. package/dist/src/storages/files/files.impl.js +199 -0
  216. package/dist/src/storages/files/files.impl.js.map +1 -0
  217. package/dist/src/storages/files/files.js +20 -0
  218. package/dist/src/storages/files/files.js.map +1 -0
  219. package/dist/src/storages/files/filesPage.d.ts +28 -0
  220. package/dist/src/storages/files/filesPage.d.ts.map +1 -0
  221. package/dist/src/storages/files/filesPage.impl.d.ts +15 -0
  222. package/dist/src/storages/files/filesPage.impl.d.ts.map +1 -0
  223. package/dist/src/storages/files/filesPage.impl.js +38 -0
  224. package/dist/src/storages/files/filesPage.impl.js.map +1 -0
  225. package/dist/src/storages/files/filesPage.js +10 -0
  226. package/dist/src/storages/files/filesPage.js.map +1 -0
  227. package/dist/src/storages/groups/group.d.ts +63 -0
  228. package/dist/src/storages/groups/group.d.ts.map +1 -0
  229. package/dist/src/storages/groups/group.impl.d.ts +38 -0
  230. package/dist/src/storages/groups/group.impl.d.ts.map +1 -0
  231. package/dist/src/storages/groups/group.impl.js +210 -0
  232. package/dist/src/storages/groups/group.impl.js.map +1 -0
  233. package/dist/src/storages/groups/group.js +15 -0
  234. package/dist/src/storages/groups/group.js.map +1 -0
  235. package/dist/src/storages/groups/groups.d.ts +43 -0
  236. package/dist/src/storages/groups/groups.d.ts.map +1 -0
  237. package/dist/src/storages/groups/groups.impl.d.ts +31 -0
  238. package/dist/src/storages/groups/groups.impl.d.ts.map +1 -0
  239. package/dist/src/storages/groups/groups.impl.js +136 -0
  240. package/dist/src/storages/groups/groups.impl.js.map +1 -0
  241. package/dist/src/storages/groups/groups.js +20 -0
  242. package/dist/src/storages/groups/groups.js.map +1 -0
  243. package/dist/src/storages/library/folderId.d.ts +2 -0
  244. package/dist/src/storages/library/folderId.d.ts.map +1 -0
  245. package/dist/src/storages/library/folderId.js +3 -0
  246. package/dist/src/storages/library/folderId.js.map +1 -0
  247. package/dist/src/storages/library/libraries.d.ts +48 -0
  248. package/dist/src/storages/library/libraries.d.ts.map +1 -0
  249. package/dist/src/storages/library/libraries.impl.d.ts +26 -0
  250. package/dist/src/storages/library/libraries.impl.d.ts.map +1 -0
  251. package/dist/src/storages/library/libraries.impl.js +148 -0
  252. package/dist/src/storages/library/libraries.impl.js.map +1 -0
  253. package/dist/src/storages/library/libraries.js +16 -0
  254. package/dist/src/storages/library/libraries.js.map +1 -0
  255. package/dist/src/storages/library/library.d.ts +26 -0
  256. package/dist/src/storages/library/library.d.ts.map +1 -0
  257. package/dist/src/storages/library/library.impl.d.ts +19 -0
  258. package/dist/src/storages/library/library.impl.d.ts.map +1 -0
  259. package/dist/src/storages/library/library.impl.js +98 -0
  260. package/dist/src/storages/library/library.impl.js.map +1 -0
  261. package/dist/src/storages/library/library.js +10 -0
  262. package/dist/src/storages/library/library.js.map +1 -0
  263. package/dist/src/storages/library/libraryFolder.d.ts +16 -0
  264. package/dist/src/storages/library/libraryFolder.d.ts.map +1 -0
  265. package/dist/src/storages/library/libraryFolder.impl.d.ts +22 -0
  266. package/dist/src/storages/library/libraryFolder.impl.d.ts.map +1 -0
  267. package/dist/src/storages/library/libraryFolder.impl.js +104 -0
  268. package/dist/src/storages/library/libraryFolder.impl.js.map +1 -0
  269. package/dist/src/storages/library/libraryFolder.js +7 -0
  270. package/dist/src/storages/library/libraryFolder.js.map +1 -0
  271. package/dist/src/storages/library/libraryId.d.ts +2 -0
  272. package/dist/src/storages/library/libraryId.d.ts.map +1 -0
  273. package/dist/src/storages/library/libraryId.js +3 -0
  274. package/dist/src/storages/library/libraryId.js.map +1 -0
  275. package/dist/src/storages/library/libraryPage.d.ts +45 -0
  276. package/dist/src/storages/library/libraryPage.d.ts.map +1 -0
  277. package/dist/src/storages/library/libraryPage.impl.d.ts +26 -0
  278. package/dist/src/storages/library/libraryPage.impl.d.ts.map +1 -0
  279. package/dist/src/storages/library/libraryPage.impl.js +29 -0
  280. package/dist/src/storages/library/libraryPage.impl.js.map +1 -0
  281. package/dist/src/storages/library/libraryPage.js +10 -0
  282. package/dist/src/storages/library/libraryPage.js.map +1 -0
  283. package/dist/src/storages/organizations/organization.d.ts +146 -0
  284. package/dist/src/storages/organizations/organization.d.ts.map +1 -0
  285. package/dist/src/storages/organizations/organization.impl.d.ts +59 -0
  286. package/dist/src/storages/organizations/organization.impl.d.ts.map +1 -0
  287. package/dist/src/storages/organizations/organization.impl.js +372 -0
  288. package/dist/src/storages/organizations/organization.impl.js.map +1 -0
  289. package/dist/src/storages/organizations/organization.js +18 -0
  290. package/dist/src/storages/organizations/organization.js.map +1 -0
  291. package/dist/src/storages/organizations/organizations.d.ts +77 -0
  292. package/dist/src/storages/organizations/organizations.d.ts.map +1 -0
  293. package/dist/src/storages/organizations/organizations.impl.d.ts +45 -0
  294. package/dist/src/storages/organizations/organizations.impl.d.ts.map +1 -0
  295. package/dist/src/storages/organizations/organizations.impl.js +242 -0
  296. package/dist/src/storages/organizations/organizations.impl.js.map +1 -0
  297. package/dist/src/storages/organizations/organizations.js +20 -0
  298. package/dist/src/storages/organizations/organizations.js.map +1 -0
  299. package/dist/src/storages/queryFlows/queryFlow.d.ts +13 -0
  300. package/dist/src/storages/queryFlows/queryFlow.d.ts.map +1 -0
  301. package/dist/src/storages/queryFlows/queryFlow.impl.d.ts +17 -0
  302. package/dist/src/storages/queryFlows/queryFlow.impl.d.ts.map +1 -0
  303. package/dist/src/storages/queryFlows/queryFlow.impl.js +65 -0
  304. package/dist/src/storages/queryFlows/queryFlow.impl.js.map +1 -0
  305. package/dist/src/storages/queryFlows/queryFlow.js +12 -0
  306. package/dist/src/storages/queryFlows/queryFlow.js.map +1 -0
  307. package/dist/src/storages/queryFlows/queryFlows.d.ts +21 -0
  308. package/dist/src/storages/queryFlows/queryFlows.d.ts.map +1 -0
  309. package/dist/src/storages/queryFlows/queryFlows.impl.d.ts +17 -0
  310. package/dist/src/storages/queryFlows/queryFlows.impl.d.ts.map +1 -0
  311. package/dist/src/storages/queryFlows/queryFlows.impl.js +112 -0
  312. package/dist/src/storages/queryFlows/queryFlows.impl.js.map +1 -0
  313. package/dist/src/storages/queryFlows/queryFlows.js +16 -0
  314. package/dist/src/storages/queryFlows/queryFlows.js.map +1 -0
  315. package/dist/src/storages/user/userProfile.d.ts +64 -0
  316. package/dist/src/storages/user/userProfile.d.ts.map +1 -0
  317. package/dist/src/storages/user/userProfile.impl.d.ts +24 -0
  318. package/dist/src/storages/user/userProfile.impl.d.ts.map +1 -0
  319. package/dist/src/storages/user/userProfile.impl.js +129 -0
  320. package/dist/src/storages/user/userProfile.impl.js.map +1 -0
  321. package/dist/src/storages/user/userProfile.js +12 -0
  322. package/dist/src/storages/user/userProfile.js.map +1 -0
  323. package/dist/src/storages/workspaces/workspace.d.ts +50 -0
  324. package/dist/src/storages/workspaces/workspace.d.ts.map +1 -0
  325. package/dist/src/storages/workspaces/workspace.impl.d.ts +25 -0
  326. package/dist/src/storages/workspaces/workspace.impl.d.ts.map +1 -0
  327. package/dist/src/storages/workspaces/workspace.impl.js +133 -0
  328. package/dist/src/storages/workspaces/workspace.impl.js.map +1 -0
  329. package/dist/src/storages/workspaces/workspace.js +18 -0
  330. package/dist/src/storages/workspaces/workspace.js.map +1 -0
  331. package/dist/src/storages/workspaces/workspaces.d.ts +47 -0
  332. package/dist/src/storages/workspaces/workspaces.d.ts.map +1 -0
  333. package/dist/src/storages/workspaces/workspaces.impl.d.ts +33 -0
  334. package/dist/src/storages/workspaces/workspaces.impl.d.ts.map +1 -0
  335. package/dist/src/storages/workspaces/workspaces.impl.js +153 -0
  336. package/dist/src/storages/workspaces/workspaces.impl.js.map +1 -0
  337. package/dist/src/storages/workspaces/workspaces.js +19 -0
  338. package/dist/src/storages/workspaces/workspaces.js.map +1 -0
  339. package/dist/src/unitTest.d.ts +12 -0
  340. package/dist/src/unitTest.d.ts.map +1 -0
  341. package/dist/src/unitTest.js +44 -0
  342. package/dist/src/unitTest.js.map +1 -0
  343. package/dist/src/utils/browserUtils.d.ts +4 -0
  344. package/dist/src/utils/browserUtils.d.ts.map +1 -0
  345. package/dist/src/utils/browserUtils.js +64 -0
  346. package/dist/src/utils/browserUtils.js.map +1 -0
  347. package/dist/src/utils/request.d.ts +6 -0
  348. package/dist/src/utils/request.d.ts.map +1 -0
  349. package/dist/src/utils/request.js +3 -0
  350. package/dist/src/utils/request.js.map +1 -0
  351. package/dist/src/utils/utils.d.ts +3 -0
  352. package/dist/src/utils/utils.d.ts.map +1 -0
  353. package/dist/src/utils/utils.js +13 -0
  354. package/dist/src/utils/utils.js.map +1 -0
  355. package/index.d.ts +1 -0
  356. package/index.js +1 -0
  357. package/package.json +44 -5
  358. package/src/commands/deleteUserFullCommandHandler.ts +19 -0
  359. package/src/commands/startCommandHandler.ts +22 -5
  360. package/src/context.ts +4 -2
  361. package/src/credentials.ts +46 -0
  362. package/src/dataIslandApp.ts +14 -2
  363. package/src/disposable.ts +18 -5
  364. package/src/dto/accessGroupResponse.ts +17 -16
  365. package/src/dto/acquiringResponse.ts +54 -0
  366. package/src/dto/apiKeyResponse.ts +29 -0
  367. package/src/dto/badRequestResponse.ts +6 -0
  368. package/src/dto/chatResponse.ts +78 -54
  369. package/src/dto/invitesResponse.ts +25 -0
  370. package/src/dto/libraryResponse.ts +51 -0
  371. package/src/dto/limitsResponse.ts +32 -0
  372. package/src/dto/queryFlowResponse.ts +28 -0
  373. package/src/dto/quizResponse.ts +12 -0
  374. package/src/dto/statisticsResponse.ts +12 -0
  375. package/src/dto/userInfoResponse.ts +65 -2
  376. package/src/dto/workspacesResponse.ts +55 -7
  377. package/src/index.ts +73 -16
  378. package/src/internal/app.impl.ts +63 -12
  379. package/src/internal/registry.ts +54 -6
  380. package/src/middleware.ts +2 -0
  381. package/src/services/acquiringService.ts +21 -0
  382. package/src/services/anonymousService.ts +43 -0
  383. package/src/services/commandService.ts +4 -2
  384. package/src/services/cookieService.ts +16 -0
  385. package/src/services/httpMethod.ts +1 -0
  386. package/src/services/librariesService.ts +22 -0
  387. package/src/services/middlewareService.ts +1 -0
  388. package/src/services/organizationService.ts +2 -2
  389. package/src/services/requestBuilder.ts +48 -8
  390. package/src/services/responseUtils.ts +12 -0
  391. package/src/services/rpcService.ts +1 -0
  392. package/src/services/userProfileService.ts +36 -4
  393. package/src/storages/acquirings/acquiring.impl.ts +132 -0
  394. package/src/storages/acquirings/acquiring.ts +54 -0
  395. package/src/storages/chats/answer.impl.ts +178 -0
  396. package/src/storages/chats/answer.ts +53 -0
  397. package/src/storages/chats/chat.impl.ts +135 -0
  398. package/src/storages/chats/chat.ts +66 -0
  399. package/src/storages/chats/chats.impl.ts +347 -0
  400. package/src/storages/chats/chats.ts +74 -0
  401. package/src/storages/files/file.impl.ts +126 -0
  402. package/src/storages/files/file.ts +78 -0
  403. package/src/storages/files/files.impl.ts +280 -0
  404. package/src/storages/{files.ts → files/files.ts} +14 -7
  405. package/src/storages/files/filesPage.impl.ts +37 -0
  406. package/src/storages/{filesPage.ts → files/filesPage.ts} +6 -0
  407. package/src/storages/groups/group.impl.ts +276 -0
  408. package/src/storages/groups/group.ts +73 -0
  409. package/src/storages/groups/groups.impl.ts +180 -0
  410. package/src/storages/groups/groups.ts +50 -0
  411. package/src/storages/library/folderId.ts +1 -0
  412. package/src/storages/library/libraries.impl.ts +209 -0
  413. package/src/storages/library/libraries.ts +56 -0
  414. package/src/storages/library/library.impl.ts +151 -0
  415. package/src/storages/library/library.ts +30 -0
  416. package/src/storages/library/libraryFolder.impl.ts +144 -0
  417. package/src/storages/library/libraryFolder.ts +23 -0
  418. package/src/storages/library/libraryId.ts +1 -0
  419. package/src/storages/library/libraryPage.impl.ts +39 -0
  420. package/src/storages/library/libraryPage.ts +56 -0
  421. package/src/storages/organizations/organization.impl.ts +568 -0
  422. package/src/storages/organizations/organization.ts +179 -0
  423. package/src/storages/{organizations.impl.ts → organizations/organizations.impl.ts} +161 -12
  424. package/src/storages/organizations/organizations.ts +93 -0
  425. package/src/storages/queryFlows/queryFlow.impl.ts +81 -0
  426. package/src/storages/queryFlows/queryFlow.ts +22 -0
  427. package/src/storages/queryFlows/queryFlows.impl.ts +154 -0
  428. package/src/storages/queryFlows/queryFlows.ts +31 -0
  429. package/src/storages/user/userProfile.impl.ts +157 -0
  430. package/src/storages/user/userProfile.ts +81 -0
  431. package/src/storages/{workspace.impl.ts → workspaces/workspace.impl.ts} +72 -12
  432. package/src/storages/{workspace.ts → workspaces/workspace.ts} +16 -3
  433. package/src/storages/{workspaces.impl.ts → workspaces/workspaces.impl.ts} +29 -32
  434. package/src/storages/{workspaces.ts → workspaces/workspaces.ts} +6 -2
  435. package/src/unitTest.ts +3 -3
  436. package/src/utils/browserUtils.ts +68 -0
  437. package/src/utils/request.ts +6 -0
  438. package/src/utils/utils.ts +8 -0
  439. package/.browserslistrc +0 -5
  440. package/.editorconfig +0 -25
  441. package/.eslintrc.json +0 -44
  442. package/.github/workflows/docs.yml +0 -32
  443. package/.github/workflows/format.yml +0 -42
  444. package/.github/workflows/publish-npm.yml +0 -33
  445. package/.github/workflows/tests.yml +0 -34
  446. package/.github/workflows/version.yml +0 -40
  447. package/.prettierignore +0 -1
  448. package/.prettierrc +0 -11
  449. package/.yarnrc +0 -2
  450. package/babel.config.js +0 -6
  451. package/docs/.nojekyll +0 -1
  452. package/docs/classes/BasicCredential.md +0 -80
  453. package/docs/classes/BearerCredential.md +0 -72
  454. package/docs/classes/Chat.md +0 -69
  455. package/docs/classes/Chats.md +0 -90
  456. package/docs/classes/CredentialBase.md +0 -54
  457. package/docs/classes/DataIslandApp.md +0 -168
  458. package/docs/classes/DebugCredential.md +0 -72
  459. package/docs/classes/DefaultCredential.md +0 -56
  460. package/docs/classes/DisposableContainer.md +0 -177
  461. package/docs/classes/EventDispatcher.md +0 -109
  462. package/docs/classes/File.md +0 -79
  463. package/docs/classes/Files.md +0 -136
  464. package/docs/classes/FilesPage.md +0 -76
  465. package/docs/classes/Group.md +0 -191
  466. package/docs/classes/Groups.md +0 -130
  467. package/docs/classes/Lifetime.md +0 -108
  468. package/docs/classes/Organization.md +0 -89
  469. package/docs/classes/Organizations.md +0 -195
  470. package/docs/classes/UserProfile.md +0 -156
  471. package/docs/classes/Workspace.md +0 -165
  472. package/docs/classes/Workspaces.md +0 -189
  473. package/docs/enums/ChatAnswer.md +0 -22
  474. package/docs/enums/ChatsEvent.md +0 -22
  475. package/docs/enums/FilesEvent.md +0 -24
  476. package/docs/enums/GroupEvent.md +0 -29
  477. package/docs/enums/OrganizationsEvent.md +0 -31
  478. package/docs/enums/UserEvent.md +0 -15
  479. package/docs/enums/WorkspaceEvent.md +0 -17
  480. package/docs/enums/WorkspacesEvent.md +0 -24
  481. package/docs/interfaces/Disposable.md +0 -25
  482. package/docs/interfaces/Event.md +0 -58
  483. package/docs/interfaces/EventSubscriber.md +0 -41
  484. package/docs/interfaces/Input.md +0 -35
  485. package/docs/modules.md +0 -205
  486. package/jest.config.ts +0 -199
  487. package/jest.setup.ts +0 -2
  488. package/scripts/docs/index.js +0 -15
  489. package/src/storages/chat.ts +0 -21
  490. package/src/storages/chats.ts +0 -17
  491. package/src/storages/file.impl.ts +0 -69
  492. package/src/storages/file.ts +0 -28
  493. package/src/storages/files.impl.ts +0 -213
  494. package/src/storages/groups.impl.ts +0 -337
  495. package/src/storages/groups.ts +0 -43
  496. package/src/storages/organization.impl.ts +0 -68
  497. package/src/storages/organization.ts +0 -33
  498. package/src/storages/organizations.ts +0 -56
  499. package/src/storages/userProfile.impl.ts +0 -56
  500. package/src/storages/userProfile.ts +0 -42
  501. package/test/commands.test.ts +0 -24
  502. package/test/data/test_file.pdf +0 -0
  503. package/test/disposable.test.ts +0 -39
  504. package/test/events.test.ts +0 -151
  505. package/test/files.test.ts +0 -52
  506. package/test/index.test.ts +0 -122
  507. package/test/organization.test.ts +0 -57
  508. package/test/registry.test.ts +0 -44
  509. package/test/services.test.ts +0 -56
  510. package/test/setup.ts +0 -54
  511. package/test/unitTest.test.ts +0 -21
  512. package/test/workspace.test.ts +0 -71
  513. package/tsconfig.json +0 -31
@@ -0,0 +1,276 @@
1
+ import { Group, GroupEvent, GroupId } from "./group"
2
+ import { Disposable } from "../../disposable"
3
+ import {
4
+ AccessGroupDto,
5
+ AccessGroupResponse
6
+ } from "../../dto/accessGroupResponse"
7
+ import { UserDto } from "../../dto/userInfoResponse"
8
+ import { Workspace } from "../workspaces/workspace"
9
+ import { Context } from "../../context"
10
+ import { Organization } from "../organizations/organization"
11
+ import { RpcService } from "../../services/rpcService"
12
+ import { ResponseUtils } from "../../services/responseUtils"
13
+ import { WorkspacesResponse } from "../../dto/workspacesResponse"
14
+ import { WorkspaceId } from "../workspaces/workspaces"
15
+ import { UserId } from "../user/userProfile"
16
+
17
+ export class GroupImpl extends Group implements Disposable {
18
+ private _isDisposed: boolean = false
19
+ private _content?: AccessGroupDto
20
+ private _members?: UserDto[]
21
+ private _workspaces: Workspace[] = []
22
+ private _id?: GroupId
23
+
24
+ constructor(
25
+ private readonly context: Context,
26
+ public readonly organization: Organization
27
+ ) {
28
+ super()
29
+ }
30
+
31
+ async initFrom(id: GroupId): Promise<Group> {
32
+ // set id
33
+ this._id = id
34
+
35
+ // reload group and workspaces
36
+ const groupPromise = this.reloadGroup(id)
37
+ const workspacePromise = this.reloadWorkspaces(id)
38
+
39
+ // wait for all promises
40
+ await Promise.all([groupPromise, workspacePromise])
41
+
42
+ return this
43
+ }
44
+
45
+ async reloadGroup(id: GroupId): Promise<void> {
46
+ // fetch group
47
+ const response = await this.context.resolve(RpcService)
48
+ ?.requestBuilder("api/v1/AccessGroups")
49
+ .searchParam("groupId", id)
50
+ .sendGet()
51
+
52
+ // check response status
53
+ if (ResponseUtils.isFail(response)) {
54
+ await ResponseUtils.throwError(`Failed to get group: ${id}, organization: ${this.organization.id}`, response)
55
+ }
56
+
57
+ // parse group from the server's response
58
+ const group = (await response!.json()) as AccessGroupResponse
59
+ // init group
60
+ this._content = group.group
61
+ this._members = group.members
62
+ }
63
+
64
+ async reloadWorkspaces(id: GroupId): Promise<void> {
65
+ const groupWorkspaces = await this.loadWorkspaces(id)
66
+ this._workspaces.length = 0
67
+ this._workspaces.push(...groupWorkspaces)
68
+ }
69
+
70
+ async loadWorkspaces(groupId: GroupId): Promise<Workspace[]> {
71
+ // fetch workspaces
72
+ const response = await this.context.resolve(RpcService)
73
+ ?.requestBuilder("api/v1/AccessGroups/workspaces")
74
+ .searchParam("groupId", groupId)
75
+ .sendGet()
76
+
77
+ if (ResponseUtils.isFail(response)) {
78
+ await ResponseUtils.throwError(`Failed to get workspaces for group: ${this.id}, organization: ${this.organization.id}`, response)
79
+ }
80
+
81
+ // parse workspaces from the server's response
82
+ const workspaces = (await response!.json()) as WorkspacesResponse
83
+
84
+ // get workspaces
85
+ const result: Workspace[] = []
86
+ for (const workspaceDto of workspaces.workspaces) {
87
+ result.push(this.organization.workspaces.get(workspaceDto.id))
88
+ }
89
+
90
+ return result
91
+ }
92
+
93
+ get id(): GroupId {
94
+ if (this._id) {
95
+ return this._id
96
+ }
97
+ throw new Error("Access group is not loaded.")
98
+ }
99
+
100
+ get group(): AccessGroupDto {
101
+ if (this._content) {
102
+ return this._content
103
+ }
104
+ throw new Error("Access group is not loaded.")
105
+ }
106
+
107
+ get workspaces(): readonly Workspace[] {
108
+ return this._workspaces
109
+ }
110
+
111
+ get members(): UserDto[] {
112
+ if (this._members) {
113
+ return this._members
114
+ }
115
+ throw new Error("Access group is not loaded.")
116
+ }
117
+
118
+ async setName(name: string): Promise<void> {
119
+ if (name === undefined || name === null) {
120
+ throw new Error("Groups change, name is undefined or null")
121
+ }
122
+ if (name.length === 0 || name.trim().length === 0) {
123
+ throw new Error("Groups change, name is empty")
124
+ }
125
+ // send request to the server
126
+ const response = await this.context
127
+ .resolve(RpcService)
128
+ ?.requestBuilder("api/v1/AccessGroups/name")
129
+ .sendPutJson({
130
+ groupId: this.id,
131
+ name: name
132
+ })
133
+
134
+ // check response status
135
+ if (ResponseUtils.isFail(response)) {
136
+ await ResponseUtils.throwError(`Failed to change group name, group: ${this.id}, organization: ${this.organization.id}`, response)
137
+ }
138
+
139
+ // change name
140
+ if (this._content) {
141
+ this._content.name = name
142
+ }
143
+
144
+ // dispatch event
145
+ this.dispatch({
146
+ type: GroupEvent.UPDATED,
147
+ data: this
148
+ })
149
+ }
150
+
151
+ async setPermits(permits: { isAdmin: boolean }): Promise<void> {
152
+ // send request to the server
153
+ const response = await this.context
154
+ .resolve(RpcService)
155
+ ?.requestBuilder("api/v1/AccessGroups/permits")
156
+ .sendPutJson({
157
+ groupId: this.id,
158
+ permits: permits
159
+ })
160
+
161
+ if (ResponseUtils.isFail(response)) {
162
+ await ResponseUtils.throwError(`Failed to change group permits, group: ${this.id}, organization: ${this.organization.id}`, response)
163
+ }
164
+ }
165
+
166
+ async setWorkspaces(workspaces: string[]): Promise<void> {
167
+ if (workspaces === null || workspaces === undefined) {
168
+ throw new Error("Group add workspaces, workspaces is undefined or null")
169
+ }
170
+
171
+ // send request to the server
172
+ const response = await this.context
173
+ .resolve(RpcService)
174
+ ?.requestBuilder("api/v1/AccessGroups/workspaces")
175
+ .sendPutJson({
176
+ groupId: this.id,
177
+ actualWorkspaceIds: workspaces
178
+ })
179
+
180
+ if (ResponseUtils.isFail(response)) {
181
+ await ResponseUtils.throwError(`Failed to set workspaces for group: ${this.id}, organization: ${this.organization.id}`, response)
182
+ }
183
+
184
+ // reload workspaces
185
+ await this.reloadWorkspaces(this.id)
186
+
187
+ // dispatch event
188
+ this.dispatch({
189
+ type: GroupEvent.UPDATED,
190
+ data: this
191
+ })
192
+ }
193
+
194
+ async removeWorkspaces(workspaces: WorkspaceId[]): Promise<void> {
195
+ if (workspaces === null || workspaces === undefined) {
196
+ throw new Error("Group removeWorkspaces, workspaces is undefined or null")
197
+ }
198
+
199
+ // make set of workspaces
200
+ const groupWorkspaces = new Set(this.workspaces.map(w => w.id))
201
+
202
+ // check argument
203
+ if (!workspaces.every(w => groupWorkspaces.has(w))) {
204
+ const notExistingWorkspaces = workspaces.filter(workspaceId => !groupWorkspaces.has(workspaceId))
205
+ throw new Error(`Group removeWorkspaces, workspaces contains not existing workspaces: ${notExistingWorkspaces}`)
206
+ }
207
+
208
+ // remove workspaces
209
+ for (const id of workspaces) {
210
+ groupWorkspaces.delete(id)
211
+ }
212
+
213
+ // send request to the server
214
+ await this.setWorkspaces(Array.from(groupWorkspaces))
215
+ }
216
+
217
+ async setMembersIds(members: UserId[]) {
218
+ if (members === null || members === undefined) {
219
+ throw new Error("Group setMembersIds, members is undefined or null")
220
+ }
221
+
222
+ // send request to the server
223
+ const response = await this.context
224
+ .resolve(RpcService)
225
+ ?.requestBuilder("api/v1/AccessGroups/members")
226
+ .sendPutJson({
227
+ groupId: this.id,
228
+ memberIds: members
229
+ })
230
+
231
+ if (ResponseUtils.isFail(response)) {
232
+ await ResponseUtils.throwError(`Failed to set members for group: ${this.id}, organization: ${this.organization.id}`, response)
233
+ }
234
+
235
+ // reload group
236
+ await this.reloadGroup(this.id)
237
+
238
+ // dispatch event
239
+ this.dispatch({
240
+ type: GroupEvent.UPDATED,
241
+ data: this
242
+ })
243
+ }
244
+
245
+ async removeMembers(members: UserId[]): Promise<void> {
246
+ // check members
247
+ if (members === null || members === undefined) {
248
+ throw new Error("Group removeMembers, members is undefined or null")
249
+ }
250
+
251
+ // make set of members
252
+ const groupMembers = new Set(this.members.map(m => m.id))
253
+
254
+ // check argument
255
+ if (!members.every(m => groupMembers.has(m))) {
256
+ const notExistingMembers = members.filter(memberId => !groupMembers.has(memberId))
257
+ throw new Error(`Group removeMembers, members contains not existing members: ${notExistingMembers}`)
258
+ }
259
+
260
+ // remove members
261
+ for (const id of members) {
262
+ groupMembers.delete(id)
263
+ }
264
+
265
+ // send request to the server
266
+ await this.setMembersIds(Array.from(groupMembers))
267
+ }
268
+
269
+ get isDisposed(): boolean {
270
+ return this._isDisposed
271
+ }
272
+
273
+ dispose(): void {
274
+ this._isDisposed = true
275
+ }
276
+ }
@@ -0,0 +1,73 @@
1
+ import { EventDispatcher } from "../../events"
2
+ import { AccessGroupDto } from "../../dto/accessGroupResponse"
3
+ import { UserDto } from "../../dto/userInfoResponse"
4
+ import { Workspace } from "../workspaces/workspace"
5
+ import { WorkspaceId } from "../workspaces/workspaces"
6
+ import { UserId } from "../user/userProfile"
7
+
8
+ /**
9
+ * Group id.
10
+ */
11
+ export type GroupId = string
12
+
13
+ export enum GroupEvent {
14
+ UPDATED = "updated"
15
+ }
16
+
17
+ /**
18
+ * Group.
19
+ */
20
+ export abstract class Group extends EventDispatcher<GroupEvent, Group> {
21
+
22
+ /**
23
+ * Group id.
24
+ */
25
+ abstract get id(): GroupId
26
+
27
+ /**
28
+ * Group information.
29
+ */
30
+ abstract get group(): AccessGroupDto
31
+
32
+ /**
33
+ * Group members.
34
+ */
35
+ abstract get members(): UserDto[]
36
+
37
+ /**
38
+ * Group workspaces.
39
+ */
40
+ abstract get workspaces(): readonly Workspace[]
41
+
42
+ /**
43
+ * Set workspaces.
44
+ */
45
+ abstract setWorkspaces(workspaces: WorkspaceId[]): Promise<void>
46
+
47
+ /**
48
+ * Set name.
49
+ */
50
+ abstract setName(name: string): Promise<void>
51
+
52
+ /**
53
+ * Set permits.
54
+ */
55
+ abstract setPermits(permits: { isAdmin: boolean }): Promise<void>
56
+
57
+ /**
58
+ * Set members.
59
+ */
60
+ abstract setMembersIds(members: UserId[]): Promise<void>
61
+
62
+ /**
63
+ * Remove members.
64
+ * @param members
65
+ */
66
+ abstract removeMembers(members: UserId[]): Promise<void>
67
+
68
+ /**
69
+ * Remove workspaces.
70
+ * @param workspaces
71
+ */
72
+ abstract removeWorkspaces(workspaces: WorkspaceId[]): Promise<void>
73
+ }
@@ -0,0 +1,180 @@
1
+ import { Context } from "../../context"
2
+ import {
3
+ AccessGroupResponse,
4
+ AccessGroupsResponse
5
+ } from "../../dto/accessGroupResponse"
6
+ import { RpcService } from "../../services/rpcService"
7
+ import { Groups, GroupsEvent } from "./groups"
8
+ import { OrganizationImpl } from "../organizations/organization.impl"
9
+ import { ResponseUtils } from "../../services/responseUtils"
10
+ import { Group, GroupId } from "./group"
11
+ import { GroupImpl } from "./group.impl"
12
+
13
+ export class GroupsImpl extends Groups {
14
+
15
+ private _groups: Group[] = []
16
+
17
+ constructor(
18
+ public readonly organization: OrganizationImpl,
19
+ private readonly context: Context
20
+ ) {
21
+ super()
22
+ }
23
+
24
+ get collection(): readonly Group[] {
25
+ return this._groups
26
+ }
27
+
28
+ async initialize() {
29
+ await this.internalInit()
30
+ }
31
+
32
+ async reload(){
33
+ this._groups = []
34
+ await this.internalInit()
35
+ }
36
+
37
+ async create(name: string, permits: {
38
+ isAdmin: boolean
39
+ }, memberIds: string[]): Promise<Group> {
40
+ return await this.internalCreate(name, permits, memberIds)
41
+ }
42
+
43
+ get(id: GroupId): Group | undefined {
44
+ return this._groups.find(group => group.id === id)
45
+ }
46
+
47
+ async delete(id: GroupId): Promise<void> {
48
+ return await this.internalDeleteGroup(id)
49
+ }
50
+
51
+ //----------------------------------------------------------------------------
52
+ // INTERNALS
53
+ //----------------------------------------------------------------------------
54
+
55
+ /**
56
+ * Init access groups.
57
+ */
58
+ async internalInit(): Promise<void> {
59
+ // fetch groups
60
+ const response = await this.context.resolve(RpcService)
61
+ ?.requestBuilder("api/v1/Organizations/access_groups")
62
+ .searchParam("id", this.organization.id)
63
+ .sendGet()
64
+
65
+ // check response status
66
+ if (ResponseUtils.isFail(response)) {
67
+ await ResponseUtils.throwError(`Failed to get groups for organization: ${this.organization.id}`, response)
68
+ }
69
+
70
+ // parse groups from the server's response
71
+ const groups = (await response!.json()) as AccessGroupsResponse
72
+
73
+ const wait: Promise<Group>[] = []
74
+
75
+ // init groups
76
+ for (const gr of groups.groups) {
77
+ // create group implementation
78
+ const group = new GroupImpl(this.context, this.organization).initFrom(gr.id)
79
+
80
+ // add to the wait list
81
+ wait.push(group)
82
+ }
83
+
84
+ // wait for all groups
85
+ const groupsResult = await Promise.all(wait)
86
+
87
+ // add groups to the collection
88
+ for (const group of groupsResult) {
89
+ // add group to the collection
90
+ this._groups.push(group)
91
+ }
92
+ }
93
+
94
+ async internalCreate(name: string, permits: {
95
+ isAdmin: boolean
96
+ }, memberIds: string[]): Promise<Group> {
97
+ if (name === undefined || name === null) {
98
+ throw new Error("Group create, name is undefined or null")
99
+ }
100
+ if (name.length === 0 || name.trim().length === 0) {
101
+ throw new Error("Group create, name is empty")
102
+ }
103
+
104
+ // send request to the server
105
+ const response = await this.context
106
+ .resolve(RpcService)
107
+ ?.requestBuilder("api/v1/AccessGroups")
108
+ .sendPostJson({
109
+ name: name,
110
+ organizationId: this.organization.id,
111
+ permits: permits,
112
+ memberIds: memberIds
113
+ })
114
+
115
+ // check response status
116
+ if (ResponseUtils.isFail(response)) {
117
+ await ResponseUtils.throwError(`Failed to create group, organization: ${this.organization.id}`, response)
118
+ }
119
+ // parse group from the server's response
120
+ const content = (await response!.json()) as AccessGroupResponse
121
+
122
+ // create group implementation
123
+ const group = await new GroupImpl(this.context, this.organization).initFrom(content.group.id)
124
+
125
+ // add group to the collection
126
+ this._groups.push(group)
127
+
128
+ // dispatch event
129
+ this.dispatch({
130
+ type: GroupsEvent.ADDED,
131
+ data: group
132
+ })
133
+
134
+ return group
135
+ }
136
+
137
+ /**
138
+ * Delete group.
139
+ * @param id
140
+ */
141
+ async internalDeleteGroup(id: GroupId): Promise<void> {
142
+ if (id === undefined || id === null) {
143
+ throw new Error("Group delete, id is undefined or null")
144
+ }
145
+ if (id.length === 0 || id.trim().length === 0) {
146
+ throw new Error("Group delete, id is empty")
147
+ }
148
+
149
+ // send request to the server
150
+ const response = await this.context
151
+ .resolve(RpcService)
152
+ ?.requestBuilder("api/v1/AccessGroups")
153
+ .searchParam("groupId", id)
154
+ .sendDelete()
155
+
156
+ // check response status
157
+ if (ResponseUtils.isFail(response)) {
158
+ await ResponseUtils.throwError(`Failed to delete group: ${id}, organization: ${this.organization.id}`, response)
159
+ }
160
+
161
+ // delete group from collection
162
+ const group = <GroupImpl>this._groups.find(f => f.id === id)
163
+ const index = this._groups.indexOf(group)
164
+ if (index < 0) {
165
+ throw new Error("Group delete, index is not found")
166
+ }
167
+
168
+ // remove group from collection
169
+ this._groups.splice(index, 1)
170
+
171
+ // dispatch event, group removed
172
+ this.dispatch({
173
+ type: GroupsEvent.REMOVED,
174
+ data: group
175
+ })
176
+
177
+ // dispose group
178
+ group.dispose()
179
+ }
180
+ }
@@ -0,0 +1,50 @@
1
+ import { EventDispatcher } from "../../events"
2
+ import { Group, GroupId } from "./group"
3
+
4
+ /**
5
+ * Group event.
6
+ */
7
+ export enum GroupsEvent {
8
+ ADDED = "added",
9
+ REMOVED = "removed",
10
+ UPDATED = "updated"
11
+ }
12
+
13
+ /**
14
+ * Groups storage.
15
+ */
16
+ export abstract class Groups extends EventDispatcher<GroupsEvent, Group> {
17
+
18
+ /**
19
+ * Collection.
20
+ */
21
+ abstract get collection(): ReadonlyArray<Group>
22
+
23
+ /**
24
+ * Reload groups
25
+ */
26
+ abstract reload(): Promise<void>
27
+
28
+ /**
29
+ * Create new group.
30
+ * @param name
31
+ * @param permits
32
+ * @param memberIds
33
+ */
34
+ abstract create(name: string, permits: {
35
+ isAdmin: boolean
36
+ }, memberIds: string[]): Promise<Group>
37
+
38
+ /**
39
+ * Get group by id.
40
+ * @param id
41
+ */
42
+ abstract get(id: GroupId): Group | undefined
43
+
44
+ /**
45
+ * delete group by id.
46
+ * @param id
47
+ */
48
+ abstract delete(id: GroupId): Promise<void>
49
+
50
+ }
@@ -0,0 +1 @@
1
+ export type FolderId = string