@neuralinnovations/dataisland-sdk 0.0.1-dev4 → 0.0.1-dev41

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 (363) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +283 -37
  3. package/dist/index.d.ts +3 -0
  4. package/dist/index.d.ts.map +1 -0
  5. package/dist/index.js +3 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/package.json +103 -0
  8. package/dist/src/appBuilder.d.ts +44 -0
  9. package/dist/src/appBuilder.d.ts.map +1 -0
  10. package/dist/src/appBuilder.js +10 -0
  11. package/dist/src/appBuilder.js.map +1 -0
  12. package/dist/src/commands/deleteUserFullCommandHandler.d.ts +7 -0
  13. package/dist/src/commands/deleteUserFullCommandHandler.d.ts.map +1 -0
  14. package/dist/src/commands/deleteUserFullCommandHandler.js +21 -0
  15. package/dist/src/commands/deleteUserFullCommandHandler.js.map +1 -0
  16. package/dist/src/commands/startCommandHandler.d.ts +7 -0
  17. package/dist/src/commands/startCommandHandler.d.ts.map +1 -0
  18. package/dist/src/commands/startCommandHandler.js +27 -0
  19. package/dist/src/commands/startCommandHandler.js.map +1 -0
  20. package/dist/src/context.d.ts +24 -0
  21. package/dist/src/context.d.ts.map +1 -0
  22. package/dist/src/context.js +31 -0
  23. package/dist/src/context.js.map +1 -0
  24. package/dist/src/credentials.d.ts +33 -0
  25. package/dist/src/credentials.d.ts.map +1 -0
  26. package/dist/src/credentials.js +87 -0
  27. package/dist/src/credentials.js.map +1 -0
  28. package/dist/src/dataIslandApp.d.ts +55 -0
  29. package/dist/src/dataIslandApp.d.ts.map +1 -0
  30. package/dist/src/dataIslandApp.js +10 -0
  31. package/dist/src/dataIslandApp.js.map +1 -0
  32. package/dist/src/disposable.d.ts +84 -0
  33. package/dist/src/disposable.d.ts.map +1 -0
  34. package/dist/src/disposable.js +147 -0
  35. package/dist/src/disposable.js.map +1 -0
  36. package/dist/src/dto/accessGroupResponse.d.ts +30 -0
  37. package/dist/src/dto/accessGroupResponse.d.ts.map +1 -0
  38. package/dist/src/dto/accessGroupResponse.js +3 -0
  39. package/dist/src/dto/accessGroupResponse.js.map +1 -0
  40. package/dist/src/dto/acquiringResponse.d.ts +38 -0
  41. package/dist/src/dto/acquiringResponse.d.ts.map +1 -0
  42. package/dist/src/dto/acquiringResponse.js +12 -0
  43. package/dist/src/dto/acquiringResponse.js.map +1 -0
  44. package/dist/src/dto/badRequestResponse.d.ts +6 -0
  45. package/dist/src/dto/badRequestResponse.d.ts.map +1 -0
  46. package/dist/src/dto/badRequestResponse.js +3 -0
  47. package/dist/src/dto/badRequestResponse.js.map +1 -0
  48. package/dist/src/dto/chatResponse.d.ts +83 -0
  49. package/dist/src/dto/chatResponse.d.ts.map +1 -0
  50. package/dist/src/dto/chatResponse.js +45 -0
  51. package/dist/src/dto/chatResponse.js.map +1 -0
  52. package/dist/src/dto/limitsResponse.d.ts +29 -0
  53. package/dist/src/dto/limitsResponse.d.ts.map +1 -0
  54. package/dist/src/dto/limitsResponse.js +13 -0
  55. package/dist/src/dto/limitsResponse.js.map +1 -0
  56. package/dist/src/dto/statisticsResponse.d.ts +11 -0
  57. package/dist/src/dto/statisticsResponse.d.ts.map +1 -0
  58. package/dist/src/dto/statisticsResponse.js +3 -0
  59. package/dist/src/dto/statisticsResponse.js.map +1 -0
  60. package/dist/src/dto/userInfoResponse.d.ts +88 -0
  61. package/dist/src/dto/userInfoResponse.d.ts.map +1 -0
  62. package/dist/src/dto/userInfoResponse.js +3 -0
  63. package/dist/src/dto/userInfoResponse.js.map +1 -0
  64. package/dist/src/dto/workspacesResponse.d.ts +45 -0
  65. package/dist/src/dto/workspacesResponse.d.ts.map +1 -0
  66. package/dist/src/dto/workspacesResponse.js +3 -0
  67. package/dist/src/dto/workspacesResponse.js.map +1 -0
  68. package/dist/src/events.d.ts +17 -0
  69. package/dist/src/events.d.ts.map +1 -0
  70. package/dist/src/events.js +52 -0
  71. package/dist/src/events.js.map +1 -0
  72. package/dist/src/index.d.ts +66 -0
  73. package/dist/src/index.d.ts.map +1 -0
  74. package/dist/src/index.js +113 -0
  75. package/dist/src/index.js.map +1 -0
  76. package/dist/src/internal/app.impl.d.ts +30 -0
  77. package/dist/src/internal/app.impl.d.ts.map +1 -0
  78. package/dist/src/internal/app.impl.js +180 -0
  79. package/dist/src/internal/app.impl.js.map +1 -0
  80. package/dist/src/internal/appBuilder.impl.d.ts +27 -0
  81. package/dist/src/internal/appBuilder.impl.d.ts.map +1 -0
  82. package/dist/src/internal/appBuilder.impl.js +71 -0
  83. package/dist/src/internal/appBuilder.impl.js.map +1 -0
  84. package/dist/src/internal/createApp.impl.d.ts +4 -0
  85. package/dist/src/internal/createApp.impl.d.ts.map +1 -0
  86. package/dist/src/internal/createApp.impl.js +11 -0
  87. package/dist/src/internal/createApp.impl.js.map +1 -0
  88. package/dist/src/internal/registry.d.ts +66 -0
  89. package/dist/src/internal/registry.d.ts.map +1 -0
  90. package/dist/src/internal/registry.js +114 -0
  91. package/dist/src/internal/registry.js.map +1 -0
  92. package/dist/src/middleware.d.ts +6 -0
  93. package/dist/src/middleware.d.ts.map +1 -0
  94. package/dist/src/middleware.js +3 -0
  95. package/dist/src/middleware.js.map +1 -0
  96. package/dist/src/services/acquiringService.d.ts +8 -0
  97. package/dist/src/services/acquiringService.d.ts.map +1 -0
  98. package/dist/src/services/acquiringService.js +40 -0
  99. package/dist/src/services/acquiringService.js.map +1 -0
  100. package/dist/src/services/anonymousService.d.ts +8 -0
  101. package/dist/src/services/anonymousService.d.ts.map +1 -0
  102. package/dist/src/services/anonymousService.js +41 -0
  103. package/dist/src/services/anonymousService.js.map +1 -0
  104. package/dist/src/services/commandService.d.ts +18 -0
  105. package/dist/src/services/commandService.d.ts.map +1 -0
  106. package/dist/src/services/commandService.js +40 -0
  107. package/dist/src/services/commandService.js.map +1 -0
  108. package/dist/src/services/cookieService.d.ts +7 -0
  109. package/dist/src/services/cookieService.d.ts.map +1 -0
  110. package/dist/src/services/cookieService.js +18 -0
  111. package/dist/src/services/cookieService.js.map +1 -0
  112. package/dist/src/services/credentialService.d.ts +9 -0
  113. package/dist/src/services/credentialService.d.ts.map +1 -0
  114. package/dist/src/services/credentialService.js +26 -0
  115. package/dist/src/services/credentialService.js.map +1 -0
  116. package/dist/src/services/httpMethod.d.ts +2 -0
  117. package/dist/src/services/httpMethod.d.ts.map +1 -0
  118. package/dist/src/services/httpMethod.js +3 -0
  119. package/dist/src/services/httpMethod.js.map +1 -0
  120. package/dist/src/services/middlewareService.d.ts +10 -0
  121. package/dist/src/services/middlewareService.d.ts.map +1 -0
  122. package/dist/src/services/middlewareService.js +34 -0
  123. package/dist/src/services/middlewareService.js.map +1 -0
  124. package/dist/src/services/organizationService.d.ts +10 -0
  125. package/dist/src/services/organizationService.d.ts.map +1 -0
  126. package/dist/src/services/organizationService.js +19 -0
  127. package/dist/src/services/organizationService.js.map +1 -0
  128. package/dist/src/services/requestBuilder.d.ts +17 -0
  129. package/dist/src/services/requestBuilder.d.ts.map +1 -0
  130. package/dist/src/services/requestBuilder.js +105 -0
  131. package/dist/src/services/requestBuilder.js.map +1 -0
  132. package/dist/src/services/responseUtils.d.ts +8 -0
  133. package/dist/src/services/responseUtils.d.ts.map +1 -0
  134. package/dist/src/services/responseUtils.js +40 -0
  135. package/dist/src/services/responseUtils.js.map +1 -0
  136. package/dist/src/services/rpcService.d.ts +77 -0
  137. package/dist/src/services/rpcService.d.ts.map +1 -0
  138. package/dist/src/services/rpcService.js +125 -0
  139. package/dist/src/services/rpcService.js.map +1 -0
  140. package/dist/src/services/service.d.ts +21 -0
  141. package/dist/src/services/service.d.ts.map +1 -0
  142. package/dist/src/services/service.js +41 -0
  143. package/dist/src/services/service.js.map +1 -0
  144. package/dist/src/services/userProfileService.d.ts +9 -0
  145. package/dist/src/services/userProfileService.d.ts.map +1 -0
  146. package/dist/src/services/userProfileService.js +43 -0
  147. package/dist/src/services/userProfileService.js.map +1 -0
  148. package/dist/src/storages/chats/answer.d.ts +41 -0
  149. package/dist/src/storages/chats/answer.d.ts.map +1 -0
  150. package/dist/src/storages/chats/answer.impl.d.ts +29 -0
  151. package/dist/src/storages/chats/answer.impl.d.ts.map +1 -0
  152. package/dist/src/storages/chats/answer.impl.js +116 -0
  153. package/dist/src/storages/chats/answer.impl.js.map +1 -0
  154. package/dist/src/storages/chats/answer.js +15 -0
  155. package/dist/src/storages/chats/answer.js.map +1 -0
  156. package/dist/src/storages/chats/chat.d.ts +43 -0
  157. package/dist/src/storages/chats/chat.d.ts.map +1 -0
  158. package/dist/src/storages/chats/chat.impl.d.ts +25 -0
  159. package/dist/src/storages/chats/chat.impl.d.ts.map +1 -0
  160. package/dist/src/storages/chats/chat.impl.js +85 -0
  161. package/dist/src/storages/chats/chat.impl.js.map +1 -0
  162. package/dist/src/storages/chats/chat.js +12 -0
  163. package/dist/src/storages/chats/chat.js.map +1 -0
  164. package/dist/src/storages/chats/chats.d.ts +45 -0
  165. package/dist/src/storages/chats/chats.d.ts.map +1 -0
  166. package/dist/src/storages/chats/chats.impl.d.ts +19 -0
  167. package/dist/src/storages/chats/chats.impl.d.ts.map +1 -0
  168. package/dist/src/storages/chats/chats.impl.js +147 -0
  169. package/dist/src/storages/chats/chats.impl.js.map +1 -0
  170. package/dist/src/storages/chats/chats.js +16 -0
  171. package/dist/src/storages/chats/chats.js.map +1 -0
  172. package/dist/src/storages/files/file.d.ts +47 -0
  173. package/dist/src/storages/files/file.d.ts.map +1 -0
  174. package/dist/src/storages/files/file.impl.d.ts +25 -0
  175. package/dist/src/storages/files/file.impl.d.ts.map +1 -0
  176. package/dist/src/storages/files/file.impl.js +93 -0
  177. package/dist/src/storages/files/file.impl.js.map +1 -0
  178. package/dist/src/storages/files/file.js +17 -0
  179. package/dist/src/storages/files/file.js.map +1 -0
  180. package/dist/src/storages/files/files.d.ts +39 -0
  181. package/dist/src/storages/files/files.d.ts.map +1 -0
  182. package/dist/src/storages/files/files.impl.d.ts +24 -0
  183. package/dist/src/storages/files/files.impl.d.ts.map +1 -0
  184. package/dist/src/storages/files/files.impl.js +168 -0
  185. package/dist/src/storages/files/files.impl.js.map +1 -0
  186. package/dist/src/storages/files/files.js +20 -0
  187. package/dist/src/storages/files/files.js.map +1 -0
  188. package/dist/src/storages/files/filesPage.d.ts +28 -0
  189. package/dist/src/storages/files/filesPage.d.ts.map +1 -0
  190. package/dist/src/storages/files/filesPage.impl.d.ts +15 -0
  191. package/dist/src/storages/files/filesPage.impl.d.ts.map +1 -0
  192. package/dist/src/storages/files/filesPage.impl.js +38 -0
  193. package/dist/src/storages/files/filesPage.impl.js.map +1 -0
  194. package/dist/src/storages/files/filesPage.js +10 -0
  195. package/dist/src/storages/files/filesPage.js.map +1 -0
  196. package/dist/src/storages/groups/group.d.ts +63 -0
  197. package/dist/src/storages/groups/group.d.ts.map +1 -0
  198. package/dist/src/storages/groups/group.impl.d.ts +38 -0
  199. package/dist/src/storages/groups/group.impl.d.ts.map +1 -0
  200. package/dist/src/storages/groups/group.impl.js +210 -0
  201. package/dist/src/storages/groups/group.impl.js.map +1 -0
  202. package/dist/src/storages/groups/group.js +15 -0
  203. package/dist/src/storages/groups/group.js.map +1 -0
  204. package/dist/src/storages/groups/groups.d.ts +39 -0
  205. package/dist/src/storages/groups/groups.d.ts.map +1 -0
  206. package/dist/src/storages/groups/groups.impl.d.ts +30 -0
  207. package/dist/src/storages/groups/groups.impl.d.ts.map +1 -0
  208. package/dist/src/storages/groups/groups.impl.js +132 -0
  209. package/dist/src/storages/groups/groups.impl.js.map +1 -0
  210. package/dist/src/storages/groups/groups.js +20 -0
  211. package/dist/src/storages/groups/groups.js.map +1 -0
  212. package/dist/src/storages/organizations/organization.d.ts +95 -0
  213. package/dist/src/storages/organizations/organization.d.ts.map +1 -0
  214. package/dist/src/storages/organizations/organization.impl.d.ts +42 -0
  215. package/dist/src/storages/organizations/organization.impl.d.ts.map +1 -0
  216. package/dist/src/storages/organizations/organization.impl.js +240 -0
  217. package/dist/src/storages/organizations/organization.impl.js.map +1 -0
  218. package/dist/src/storages/organizations/organization.js +18 -0
  219. package/dist/src/storages/organizations/organization.js.map +1 -0
  220. package/dist/src/storages/organizations/organizations.d.ts +46 -0
  221. package/dist/src/storages/organizations/organizations.d.ts.map +1 -0
  222. package/dist/src/storages/organizations/organizations.impl.d.ts +38 -0
  223. package/dist/src/storages/organizations/organizations.impl.d.ts.map +1 -0
  224. package/dist/src/storages/organizations/organizations.impl.js +158 -0
  225. package/dist/src/storages/organizations/organizations.impl.js.map +1 -0
  226. package/dist/src/storages/organizations/organizations.js +20 -0
  227. package/dist/src/storages/organizations/organizations.js.map +1 -0
  228. package/dist/src/storages/user/userProfile.d.ts +54 -0
  229. package/dist/src/storages/user/userProfile.d.ts.map +1 -0
  230. package/dist/src/storages/user/userProfile.impl.d.ts +21 -0
  231. package/dist/src/storages/user/userProfile.impl.d.ts.map +1 -0
  232. package/dist/src/storages/user/userProfile.impl.js +114 -0
  233. package/dist/src/storages/user/userProfile.impl.js.map +1 -0
  234. package/dist/src/storages/user/userProfile.js +12 -0
  235. package/dist/src/storages/user/userProfile.js.map +1 -0
  236. package/dist/src/storages/workspaces/workspace.d.ts +44 -0
  237. package/dist/src/storages/workspaces/workspace.d.ts.map +1 -0
  238. package/dist/src/storages/workspaces/workspace.impl.d.ts +23 -0
  239. package/dist/src/storages/workspaces/workspace.impl.d.ts.map +1 -0
  240. package/dist/src/storages/workspaces/workspace.impl.js +98 -0
  241. package/dist/src/storages/workspaces/workspace.impl.js.map +1 -0
  242. package/dist/src/storages/workspaces/workspace.js +18 -0
  243. package/dist/src/storages/workspaces/workspace.js.map +1 -0
  244. package/dist/src/storages/workspaces/workspaces.d.ts +47 -0
  245. package/dist/src/storages/workspaces/workspaces.d.ts.map +1 -0
  246. package/dist/src/storages/workspaces/workspaces.impl.d.ts +33 -0
  247. package/dist/src/storages/workspaces/workspaces.impl.d.ts.map +1 -0
  248. package/dist/src/storages/workspaces/workspaces.impl.js +152 -0
  249. package/dist/src/storages/workspaces/workspaces.impl.js.map +1 -0
  250. package/dist/src/storages/workspaces/workspaces.js +19 -0
  251. package/dist/src/storages/workspaces/workspaces.js.map +1 -0
  252. package/dist/src/unitTest.d.ts +12 -0
  253. package/dist/src/unitTest.d.ts.map +1 -0
  254. package/dist/src/unitTest.js +44 -0
  255. package/dist/src/unitTest.js.map +1 -0
  256. package/dist/src/utils/browserUtils.d.ts +4 -0
  257. package/dist/src/utils/browserUtils.d.ts.map +1 -0
  258. package/dist/src/utils/browserUtils.js +64 -0
  259. package/dist/src/utils/browserUtils.js.map +1 -0
  260. package/dist/src/utils/request.d.ts +6 -0
  261. package/dist/src/utils/request.d.ts.map +1 -0
  262. package/dist/src/utils/request.js +3 -0
  263. package/dist/src/utils/request.js.map +1 -0
  264. package/dist/src/utils/utils.d.ts +3 -0
  265. package/dist/src/utils/utils.d.ts.map +1 -0
  266. package/dist/src/utils/utils.js +13 -0
  267. package/dist/src/utils/utils.js.map +1 -0
  268. package/index.d.ts +1 -0
  269. package/index.js +1 -0
  270. package/package.json +46 -5
  271. package/src/commands/deleteUserFullCommandHandler.ts +19 -0
  272. package/src/commands/startCommandHandler.ts +16 -5
  273. package/src/context.ts +4 -2
  274. package/src/credentials.ts +22 -0
  275. package/src/{appSdk.ts → dataIslandApp.ts} +9 -3
  276. package/src/disposable.ts +18 -5
  277. package/src/dto/accessGroupResponse.ts +19 -16
  278. package/src/dto/acquiringResponse.ts +45 -0
  279. package/src/dto/badRequestResponse.ts +6 -0
  280. package/src/dto/chatResponse.ts +59 -54
  281. package/src/dto/limitsResponse.ts +33 -0
  282. package/src/dto/statisticsResponse.ts +12 -0
  283. package/src/dto/userInfoResponse.ts +59 -2
  284. package/src/dto/workspacesResponse.ts +5 -3
  285. package/src/index.ts +46 -24
  286. package/src/internal/app.impl.ts +52 -10
  287. package/src/internal/createApp.impl.ts +4 -4
  288. package/src/internal/registry.ts +54 -6
  289. package/src/middleware.ts +2 -0
  290. package/src/services/acquiringService.ts +50 -0
  291. package/src/services/anonymousService.ts +43 -0
  292. package/src/services/commandService.ts +4 -2
  293. package/src/services/cookieService.ts +16 -0
  294. package/src/services/httpMethod.ts +1 -0
  295. package/src/services/middlewareService.ts +1 -0
  296. package/src/services/organizationService.ts +2 -2
  297. package/src/services/requestBuilder.ts +10 -8
  298. package/src/services/responseUtils.ts +12 -0
  299. package/src/services/rpcService.ts +1 -0
  300. package/src/services/userProfileService.ts +18 -4
  301. package/src/storages/chats/answer.impl.ts +160 -0
  302. package/src/storages/chats/answer.ts +53 -0
  303. package/src/storages/chats/chat.impl.ts +107 -0
  304. package/src/storages/chats/chat.ts +55 -0
  305. package/src/storages/chats/chats.impl.ts +204 -0
  306. package/src/storages/chats/chats.ts +53 -0
  307. package/src/storages/files/file.impl.ts +111 -0
  308. package/src/storages/files/file.ts +58 -0
  309. package/src/storages/{files.impl.ts → files/files.impl.ts} +67 -46
  310. package/src/storages/{files.ts → files/files.ts} +14 -7
  311. package/src/storages/files/filesPage.impl.ts +37 -0
  312. package/src/storages/{filesPage.ts → files/filesPage.ts} +6 -0
  313. package/src/storages/groups/group.impl.ts +276 -0
  314. package/src/storages/groups/group.ts +73 -0
  315. package/src/storages/groups/groups.impl.ts +175 -0
  316. package/src/storages/groups/groups.ts +45 -0
  317. package/src/storages/organizations/organization.impl.ts +357 -0
  318. package/src/storages/organizations/organization.ts +118 -0
  319. package/src/storages/{organizations.impl.ts → organizations/organizations.impl.ts} +31 -13
  320. package/src/storages/{organizations.ts → organizations/organizations.ts} +1 -1
  321. package/src/storages/user/userProfile.impl.ts +136 -0
  322. package/src/storages/user/userProfile.ts +69 -0
  323. package/src/storages/{workspace.impl.ts → workspaces/workspace.impl.ts} +27 -7
  324. package/src/storages/{workspace.ts → workspaces/workspace.ts} +8 -3
  325. package/src/storages/{workspaces.impl.ts → workspaces/workspaces.impl.ts} +27 -32
  326. package/src/storages/{workspaces.ts → workspaces/workspaces.ts} +6 -2
  327. package/src/unitTest.ts +14 -3
  328. package/src/utils/browserUtils.ts +68 -0
  329. package/src/utils/request.ts +6 -0
  330. package/src/utils/utils.ts +8 -0
  331. package/.browserslistrc +0 -5
  332. package/.editorconfig +0 -25
  333. package/.eslintrc.json +0 -44
  334. package/.github/workflows/publish-npm.yml +0 -28
  335. package/.prettierignore +0 -1
  336. package/.prettierrc +0 -11
  337. package/.yarnrc +0 -2
  338. package/babel.config.js +0 -6
  339. package/jest.config.ts +0 -199
  340. package/jest.setup.ts +0 -2
  341. package/src/storages/chat.ts +0 -21
  342. package/src/storages/chats.ts +0 -17
  343. package/src/storages/file.impl.ts +0 -69
  344. package/src/storages/file.ts +0 -28
  345. package/src/storages/groups.impl.ts +0 -337
  346. package/src/storages/groups.ts +0 -43
  347. package/src/storages/organization.impl.ts +0 -68
  348. package/src/storages/organization.ts +0 -33
  349. package/src/storages/userProfile.impl.ts +0 -56
  350. package/src/storages/userProfile.ts +0 -42
  351. package/test/commands.test.ts +0 -24
  352. package/test/data/test_file.pdf +0 -0
  353. package/test/disposable.test.ts +0 -39
  354. package/test/events.test.ts +0 -151
  355. package/test/files.test.ts +0 -52
  356. package/test/index.test.ts +0 -122
  357. package/test/organization.test.ts +0 -57
  358. package/test/registry.test.ts +0 -44
  359. package/test/services.test.ts +0 -56
  360. package/test/setup.ts +0 -54
  361. package/test/unitTest.test.ts +0 -21
  362. package/test/workspace.test.ts +0 -71
  363. package/tsconfig.json +0 -31
@@ -0,0 +1 @@
1
+ {"version":3,"file":"group.impl.d.ts","sourceRoot":"","sources":["../../../../src/storages/groups/group.impl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAc,OAAO,EAAE,MAAM,SAAS,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EACL,cAAc,EAEf,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAI5D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAE5C,qBAAa,SAAU,SAAQ,KAAM,YAAW,UAAU;IAQtD,OAAO,CAAC,QAAQ,CAAC,OAAO;aACR,YAAY,EAAE,YAAY;IAR5C,OAAO,CAAC,WAAW,CAAiB;IACpC,OAAO,CAAC,QAAQ,CAAC,CAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,CAAW;IAC5B,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,GAAG,CAAC,CAAS;gBAGF,OAAO,EAAE,OAAO,EACjB,YAAY,EAAE,YAAY;IAKtC,QAAQ,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC;IAcrC,WAAW,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBvC,gBAAgB,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAM5C,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAuB5D,IAAI,EAAE,IAAI,OAAO,CAKhB;IAED,IAAI,KAAK,IAAI,cAAc,CAK1B;IAED,IAAI,UAAU,IAAI,SAAS,SAAS,EAAE,CAErC;IAED,IAAI,OAAO,IAAI,OAAO,EAAE,CAKvB;IAEK,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiCpC,UAAU,CAAC,OAAO,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAexD,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BlD,gBAAgB,CAAC,UAAU,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAuB1D,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE;IA4B/B,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBrD,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,OAAO,IAAI,IAAI;CAGhB"}
@@ -0,0 +1,210 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GroupImpl = void 0;
4
+ const group_1 = require("./group");
5
+ const rpcService_1 = require("../../services/rpcService");
6
+ const responseUtils_1 = require("../../services/responseUtils");
7
+ class GroupImpl extends group_1.Group {
8
+ constructor(context, organization) {
9
+ super();
10
+ this.context = context;
11
+ this.organization = organization;
12
+ this._isDisposed = false;
13
+ this._workspaces = [];
14
+ }
15
+ async initFrom(id) {
16
+ // set id
17
+ this._id = id;
18
+ // reload group and workspaces
19
+ const groupPromise = this.reloadGroup(id);
20
+ const workspacePromise = this.reloadWorkspaces(id);
21
+ // wait for all promises
22
+ await Promise.all([groupPromise, workspacePromise]);
23
+ return this;
24
+ }
25
+ async reloadGroup(id) {
26
+ var _a;
27
+ // fetch group
28
+ const response = await ((_a = this.context.resolve(rpcService_1.RpcService)) === null || _a === void 0 ? void 0 : _a.requestBuilder("api/v1/AccessGroups").searchParam("groupId", id).sendGet());
29
+ // check response status
30
+ if (responseUtils_1.ResponseUtils.isFail(response)) {
31
+ await responseUtils_1.ResponseUtils.throwError(`Failed to get group: ${id}, organization: ${this.organization.id}`, response);
32
+ }
33
+ // parse group from the server's response
34
+ const group = (await response.json());
35
+ // init group
36
+ this._content = group.group;
37
+ this._members = group.members;
38
+ }
39
+ async reloadWorkspaces(id) {
40
+ const groupWorkspaces = await this.loadWorkspaces(id);
41
+ this._workspaces.length = 0;
42
+ this._workspaces.push(...groupWorkspaces);
43
+ }
44
+ async loadWorkspaces(groupId) {
45
+ var _a;
46
+ // fetch workspaces
47
+ const response = await ((_a = this.context.resolve(rpcService_1.RpcService)) === null || _a === void 0 ? void 0 : _a.requestBuilder("api/v1/AccessGroups/workspaces").searchParam("groupId", groupId).sendGet());
48
+ if (responseUtils_1.ResponseUtils.isFail(response)) {
49
+ await responseUtils_1.ResponseUtils.throwError(`Failed to get workspaces for group: ${this.id}, organization: ${this.organization.id}`, response);
50
+ }
51
+ // parse workspaces from the server's response
52
+ const workspaces = (await response.json());
53
+ // get workspaces
54
+ const result = [];
55
+ for (const workspaceDto of workspaces.workspaces) {
56
+ result.push(this.organization.workspaces.get(workspaceDto.id));
57
+ }
58
+ return result;
59
+ }
60
+ get id() {
61
+ if (this._id) {
62
+ return this._id;
63
+ }
64
+ throw new Error("Access group is not loaded.");
65
+ }
66
+ get group() {
67
+ if (this._content) {
68
+ return this._content;
69
+ }
70
+ throw new Error("Access group is not loaded.");
71
+ }
72
+ get workspaces() {
73
+ return this._workspaces;
74
+ }
75
+ get members() {
76
+ if (this._members) {
77
+ return this._members;
78
+ }
79
+ throw new Error("Access group is not loaded.");
80
+ }
81
+ async setName(name) {
82
+ var _a;
83
+ if (name === undefined || name === null) {
84
+ throw new Error("Groups change, name is undefined or null");
85
+ }
86
+ if (name.length === 0 || name.trim().length === 0) {
87
+ throw new Error("Groups change, name is empty");
88
+ }
89
+ // send request to the server
90
+ const response = await ((_a = this.context
91
+ .resolve(rpcService_1.RpcService)) === null || _a === void 0 ? void 0 : _a.requestBuilder("api/v1/AccessGroups/name").sendPutJson({
92
+ groupId: this.id,
93
+ name: name
94
+ }));
95
+ // check response status
96
+ if (responseUtils_1.ResponseUtils.isFail(response)) {
97
+ await responseUtils_1.ResponseUtils.throwError(`Failed to change group name, group: ${this.id}, organization: ${this.organization.id}`, response);
98
+ }
99
+ // change name
100
+ if (this._content) {
101
+ this._content.name = name;
102
+ }
103
+ // dispatch event
104
+ this.dispatch({
105
+ type: group_1.GroupEvent.UPDATED,
106
+ data: this
107
+ });
108
+ }
109
+ async setPermits(permits) {
110
+ var _a;
111
+ // send request to the server
112
+ const response = await ((_a = this.context
113
+ .resolve(rpcService_1.RpcService)) === null || _a === void 0 ? void 0 : _a.requestBuilder("api/v1/AccessGroups/permits").sendPutJson({
114
+ groupId: this.id,
115
+ permits: permits
116
+ }));
117
+ if (responseUtils_1.ResponseUtils.isFail(response)) {
118
+ await responseUtils_1.ResponseUtils.throwError(`Failed to change group permits, group: ${this.id}, organization: ${this.organization.id}`, response);
119
+ }
120
+ }
121
+ async setWorkspaces(workspaces) {
122
+ var _a;
123
+ if (workspaces === null || workspaces === undefined) {
124
+ throw new Error("Group add workspaces, workspaces is undefined or null");
125
+ }
126
+ // send request to the server
127
+ const response = await ((_a = this.context
128
+ .resolve(rpcService_1.RpcService)) === null || _a === void 0 ? void 0 : _a.requestBuilder("api/v1/AccessGroups/workspaces").sendPutJson({
129
+ groupId: this.id,
130
+ actualWorkspaceIds: workspaces
131
+ }));
132
+ if (responseUtils_1.ResponseUtils.isFail(response)) {
133
+ await responseUtils_1.ResponseUtils.throwError(`Failed to set workspaces for group: ${this.id}, organization: ${this.organization.id}`, response);
134
+ }
135
+ // reload workspaces
136
+ await this.reloadWorkspaces(this.id);
137
+ // dispatch event
138
+ this.dispatch({
139
+ type: group_1.GroupEvent.UPDATED,
140
+ data: this
141
+ });
142
+ }
143
+ async removeWorkspaces(workspaces) {
144
+ if (workspaces === null || workspaces === undefined) {
145
+ throw new Error("Group removeWorkspaces, workspaces is undefined or null");
146
+ }
147
+ // make set of workspaces
148
+ const groupWorkspaces = new Set(this.workspaces.map(w => w.id));
149
+ // check argument
150
+ if (!workspaces.every(w => groupWorkspaces.has(w))) {
151
+ const notExistingWorkspaces = workspaces.filter(workspaceId => !groupWorkspaces.has(workspaceId));
152
+ throw new Error(`Group removeWorkspaces, workspaces contains not existing workspaces: ${notExistingWorkspaces}`);
153
+ }
154
+ // remove workspaces
155
+ for (const id of workspaces) {
156
+ groupWorkspaces.delete(id);
157
+ }
158
+ // send request to the server
159
+ await this.setWorkspaces(Array.from(groupWorkspaces));
160
+ }
161
+ async setMembersIds(members) {
162
+ var _a;
163
+ if (members === null || members === undefined) {
164
+ throw new Error("Group setMembersIds, members is undefined or null");
165
+ }
166
+ // send request to the server
167
+ const response = await ((_a = this.context
168
+ .resolve(rpcService_1.RpcService)) === null || _a === void 0 ? void 0 : _a.requestBuilder("api/v1/AccessGroups/members").sendPutJson({
169
+ groupId: this.id,
170
+ memberIds: members
171
+ }));
172
+ if (responseUtils_1.ResponseUtils.isFail(response)) {
173
+ await responseUtils_1.ResponseUtils.throwError(`Failed to set members for group: ${this.id}, organization: ${this.organization.id}`, response);
174
+ }
175
+ // reload group
176
+ await this.reloadGroup(this.id);
177
+ // dispatch event
178
+ this.dispatch({
179
+ type: group_1.GroupEvent.UPDATED,
180
+ data: this
181
+ });
182
+ }
183
+ async removeMembers(members) {
184
+ // check members
185
+ if (members === null || members === undefined) {
186
+ throw new Error("Group removeMembers, members is undefined or null");
187
+ }
188
+ // make set of members
189
+ const groupMembers = new Set(this.members.map(m => m.id));
190
+ // check argument
191
+ if (!members.every(m => groupMembers.has(m))) {
192
+ const notExistingMembers = members.filter(memberId => !groupMembers.has(memberId));
193
+ throw new Error(`Group removeMembers, members contains not existing members: ${notExistingMembers}`);
194
+ }
195
+ // remove members
196
+ for (const id of members) {
197
+ groupMembers.delete(id);
198
+ }
199
+ // send request to the server
200
+ await this.setMembersIds(Array.from(groupMembers));
201
+ }
202
+ get isDisposed() {
203
+ return this._isDisposed;
204
+ }
205
+ dispose() {
206
+ this._isDisposed = true;
207
+ }
208
+ }
209
+ exports.GroupImpl = GroupImpl;
210
+ //# sourceMappingURL=group.impl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"group.impl.js","sourceRoot":"","sources":["../../../../src/storages/groups/group.impl.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Group = exports.GroupEvent = void 0;
4
+ const events_1 = require("../../events");
5
+ var GroupEvent;
6
+ (function (GroupEvent) {
7
+ GroupEvent["UPDATED"] = "updated";
8
+ })(GroupEvent || (exports.GroupEvent = GroupEvent = {}));
9
+ /**
10
+ * Group.
11
+ */
12
+ class Group extends events_1.EventDispatcher {
13
+ }
14
+ exports.Group = Group;
15
+ //# sourceMappingURL=group.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"group.js","sourceRoot":"","sources":["../../../../src/storages/groups/group.ts"],"names":[],"mappings":";;;AAAA,yCAA8C;AAY9C,IAAY,UAEX;AAFD,WAAY,UAAU;IACpB,iCAAmB,CAAA;AACrB,CAAC,EAFW,UAAU,0BAAV,UAAU,QAErB;AAED;;GAEG;AACH,MAAsB,KAAM,SAAQ,wBAAkC;CAqDrE;AArDD,sBAqDC"}
@@ -0,0 +1,39 @@
1
+ import { EventDispatcher } from "../../events";
2
+ import { Group, GroupId } from "./group";
3
+ /**
4
+ * Group event.
5
+ */
6
+ export declare enum GroupsEvent {
7
+ ADDED = "added",
8
+ REMOVED = "removed",
9
+ UPDATED = "updated"
10
+ }
11
+ /**
12
+ * Groups storage.
13
+ */
14
+ export declare abstract class Groups extends EventDispatcher<GroupsEvent, Group> {
15
+ /**
16
+ * Collection.
17
+ */
18
+ abstract get collection(): ReadonlyArray<Group>;
19
+ /**
20
+ * Create new group.
21
+ * @param name
22
+ * @param permits
23
+ * @param memberIds
24
+ */
25
+ abstract create(name: string, permits: {
26
+ isAdmin: boolean;
27
+ }, memberIds: string[]): Promise<Group>;
28
+ /**
29
+ * Get group by id.
30
+ * @param id
31
+ */
32
+ abstract get(id: GroupId): Group | undefined;
33
+ /**
34
+ * delete group by id.
35
+ * @param id
36
+ */
37
+ abstract delete(id: GroupId): Promise<void>;
38
+ }
39
+ //# sourceMappingURL=groups.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"groups.d.ts","sourceRoot":"","sources":["../../../../src/storages/groups/groups.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAExC;;GAEG;AACH,oBAAY,WAAW;IACrB,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,OAAO,YAAY;CACpB;AAED;;GAEG;AACH,8BAAsB,MAAO,SAAQ,eAAe,CAAC,WAAW,EAAE,KAAK,CAAC;IAEtE;;OAEG;IACH,QAAQ,KAAK,UAAU,IAAI,aAAa,CAAC,KAAK,CAAC,CAAA;IAE/C;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;QACrC,OAAO,EAAE,OAAO,CAAA;KACjB,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC;IAEvC;;;OAGG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,GAAG,KAAK,GAAG,SAAS;IAE5C;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CAE5C"}
@@ -0,0 +1,30 @@
1
+ import { Context } from "../../context";
2
+ import { Groups } from "./groups";
3
+ import { OrganizationImpl } from "../organizations/organization.impl";
4
+ import { Group, GroupId } from "./group";
5
+ export declare class GroupsImpl extends Groups {
6
+ readonly organization: OrganizationImpl;
7
+ private readonly context;
8
+ private _groups;
9
+ constructor(organization: OrganizationImpl, context: Context);
10
+ get collection(): readonly Group[];
11
+ initialize(): Promise<void>;
12
+ create(name: string, permits: {
13
+ isAdmin: boolean;
14
+ }, memberIds: string[]): Promise<Group>;
15
+ get(id: GroupId): Group | undefined;
16
+ delete(id: GroupId): Promise<void>;
17
+ /**
18
+ * Init access groups.
19
+ */
20
+ internalInit(): Promise<void>;
21
+ internalCreate(name: string, permits: {
22
+ isAdmin: boolean;
23
+ }, memberIds: string[]): Promise<Group>;
24
+ /**
25
+ * Delete group.
26
+ * @param id
27
+ */
28
+ internalDeleteGroup(id: GroupId): Promise<void>;
29
+ }
30
+ //# sourceMappingURL=groups.impl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"groups.impl.d.ts","sourceRoot":"","sources":["../../../../src/storages/groups/groups.impl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAMvC,OAAO,EAAE,MAAM,EAAe,MAAM,UAAU,CAAA;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAA;AAErE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAGxC,qBAAa,UAAW,SAAQ,MAAM;aAKlB,YAAY,EAAE,gBAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJ1B,OAAO,CAAC,OAAO,CAAc;gBAGX,YAAY,EAAE,gBAAgB,EAC7B,OAAO,EAAE,OAAO;IAKnC,IAAI,UAAU,IAAI,SAAS,KAAK,EAAE,CAEjC;IAEK,UAAU;IAIV,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;QAClC,OAAO,EAAE,OAAO,CAAA;KACjB,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC;IAIvC,GAAG,CAAC,EAAE,EAAE,OAAO,GAAG,KAAK,GAAG,SAAS;IAI7B,MAAM,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAQxC;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAoC7B,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE;QAC1C,OAAO,EAAE,OAAO,CAAA;KACjB,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC;IAyCvC;;;OAGG;IACG,mBAAmB,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CAuCtD"}
@@ -0,0 +1,132 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GroupsImpl = void 0;
4
+ const rpcService_1 = require("../../services/rpcService");
5
+ const groups_1 = require("./groups");
6
+ const responseUtils_1 = require("../../services/responseUtils");
7
+ const group_impl_1 = require("./group.impl");
8
+ class GroupsImpl extends groups_1.Groups {
9
+ constructor(organization, context) {
10
+ super();
11
+ this.organization = organization;
12
+ this.context = context;
13
+ this._groups = [];
14
+ }
15
+ get collection() {
16
+ return this._groups;
17
+ }
18
+ async initialize() {
19
+ await this.internalInit();
20
+ }
21
+ async create(name, permits, memberIds) {
22
+ return await this.internalCreate(name, permits, memberIds);
23
+ }
24
+ get(id) {
25
+ return this._groups.find(group => group.id === id);
26
+ }
27
+ async delete(id) {
28
+ return await this.internalDeleteGroup(id);
29
+ }
30
+ //----------------------------------------------------------------------------
31
+ // INTERNALS
32
+ //----------------------------------------------------------------------------
33
+ /**
34
+ * Init access groups.
35
+ */
36
+ async internalInit() {
37
+ var _a;
38
+ // fetch groups
39
+ const response = await ((_a = this.context.resolve(rpcService_1.RpcService)) === null || _a === void 0 ? void 0 : _a.requestBuilder("api/v1/Organizations/access_groups").searchParam("id", this.organization.id).sendGet());
40
+ // check response status
41
+ if (responseUtils_1.ResponseUtils.isFail(response)) {
42
+ await responseUtils_1.ResponseUtils.throwError(`Failed to get groups for organization: ${this.organization.id}`, response);
43
+ }
44
+ // parse groups from the server's response
45
+ const groups = (await response.json());
46
+ const wait = [];
47
+ // init groups
48
+ for (const gr of groups.groups) {
49
+ // create group implementation
50
+ const group = new group_impl_1.GroupImpl(this.context, this.organization).initFrom(gr.id);
51
+ // add to the wait list
52
+ wait.push(group);
53
+ }
54
+ // wait for all groups
55
+ const groupsResult = await Promise.all(wait);
56
+ // add groups to the collection
57
+ for (const group of groupsResult) {
58
+ // add group to the collection
59
+ this._groups.push(group);
60
+ }
61
+ }
62
+ async internalCreate(name, permits, memberIds) {
63
+ var _a;
64
+ if (name === undefined || name === null) {
65
+ throw new Error("Group create, name is undefined or null");
66
+ }
67
+ if (name.length === 0 || name.trim().length === 0) {
68
+ throw new Error("Group create, name is empty");
69
+ }
70
+ // send request to the server
71
+ const response = await ((_a = this.context
72
+ .resolve(rpcService_1.RpcService)) === null || _a === void 0 ? void 0 : _a.requestBuilder("api/v1/AccessGroups").sendPostJson({
73
+ name: name,
74
+ organizationId: this.organization.id,
75
+ permits: permits,
76
+ memberIds: memberIds
77
+ }));
78
+ // check response status
79
+ if (responseUtils_1.ResponseUtils.isFail(response)) {
80
+ await responseUtils_1.ResponseUtils.throwError(`Failed to create group, organization: ${this.organization.id}`, response);
81
+ }
82
+ // parse group from the server's response
83
+ const content = (await response.json());
84
+ // create group implementation
85
+ const group = await new group_impl_1.GroupImpl(this.context, this.organization).initFrom(content.group.id);
86
+ // add group to the collection
87
+ this._groups.push(group);
88
+ // dispatch event
89
+ this.dispatch({
90
+ type: groups_1.GroupsEvent.ADDED,
91
+ data: group
92
+ });
93
+ return group;
94
+ }
95
+ /**
96
+ * Delete group.
97
+ * @param id
98
+ */
99
+ async internalDeleteGroup(id) {
100
+ var _a;
101
+ if (id === undefined || id === null) {
102
+ throw new Error("Group delete, id is undefined or null");
103
+ }
104
+ if (id.length === 0 || id.trim().length === 0) {
105
+ throw new Error("Group delete, id is empty");
106
+ }
107
+ // send request to the server
108
+ const response = await ((_a = this.context
109
+ .resolve(rpcService_1.RpcService)) === null || _a === void 0 ? void 0 : _a.requestBuilder("/api/v1/AccessGroups").searchParam("groupId", id).sendDelete());
110
+ // check response status
111
+ if (responseUtils_1.ResponseUtils.isFail(response)) {
112
+ await responseUtils_1.ResponseUtils.throwError(`Failed to delete group: ${id}, organization: ${this.organization.id}`, response);
113
+ }
114
+ // delete group from collection
115
+ const group = this._groups.find(f => f.id === id);
116
+ const index = this._groups.indexOf(group);
117
+ if (index < 0) {
118
+ throw new Error("Group delete, index is not found");
119
+ }
120
+ // remove group from collection
121
+ this._groups.splice(index, 1);
122
+ // dispatch event, group removed
123
+ this.dispatch({
124
+ type: groups_1.GroupsEvent.REMOVED,
125
+ data: group
126
+ });
127
+ // dispose group
128
+ group.dispose();
129
+ }
130
+ }
131
+ exports.GroupsImpl = GroupsImpl;
132
+ //# sourceMappingURL=groups.impl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"groups.impl.js","sourceRoot":"","sources":["../../../../src/storages/groups/groups.impl.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Groups = exports.GroupsEvent = void 0;
4
+ const events_1 = require("../../events");
5
+ /**
6
+ * Group event.
7
+ */
8
+ var GroupsEvent;
9
+ (function (GroupsEvent) {
10
+ GroupsEvent["ADDED"] = "added";
11
+ GroupsEvent["REMOVED"] = "removed";
12
+ GroupsEvent["UPDATED"] = "updated";
13
+ })(GroupsEvent || (exports.GroupsEvent = GroupsEvent = {}));
14
+ /**
15
+ * Groups storage.
16
+ */
17
+ class Groups extends events_1.EventDispatcher {
18
+ }
19
+ exports.Groups = Groups;
20
+ //# sourceMappingURL=groups.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"groups.js","sourceRoot":"","sources":["../../../../src/storages/groups/groups.ts"],"names":[],"mappings":";;;AAAA,yCAA8C;AAG9C;;GAEG;AACH,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,8BAAe,CAAA;IACf,kCAAmB,CAAA;IACnB,kCAAmB,CAAA;AACrB,CAAC,EAJW,WAAW,2BAAX,WAAW,QAItB;AAED;;GAEG;AACH,MAAsB,MAAO,SAAQ,wBAAmC;CA6BvE;AA7BD,wBA6BC"}
@@ -0,0 +1,95 @@
1
+ import { Workspaces } from "../workspaces/workspaces";
2
+ import { OrganizationId } from "./organizations";
3
+ import { Groups } from "../groups/groups";
4
+ import { Chats } from "../chats/chats";
5
+ import { EventDispatcher } from "../../events";
6
+ import { CurrentLimitsData, UserDto, UsersStatisticsResponse } from "../../dto/userInfoResponse";
7
+ import { GroupId } from "../groups/group";
8
+ import { StatisticsResponse } from "../../dto/statisticsResponse";
9
+ import { SegmentData } from "../../dto/limitsResponse";
10
+ /**
11
+ * Organization event.
12
+ */
13
+ export declare enum OrganizationEvent {
14
+ CHANGED = "changed"
15
+ }
16
+ /**
17
+ * Organization.
18
+ */
19
+ export declare abstract class Organization extends EventDispatcher<OrganizationEvent, Organization> {
20
+ /**
21
+ * Organization id.
22
+ */
23
+ abstract get id(): OrganizationId;
24
+ /**
25
+ * Organization name.
26
+ */
27
+ abstract get name(): string;
28
+ /**
29
+ * Organization description.
30
+ */
31
+ abstract get description(): string;
32
+ /**
33
+ * Workspaces.
34
+ */
35
+ abstract get workspaces(): Workspaces;
36
+ /**
37
+ * Chats.
38
+ */
39
+ abstract get chats(): Chats;
40
+ /**
41
+ * Groups.
42
+ */
43
+ abstract get accessGroups(): Groups;
44
+ /**
45
+ * Get organization members
46
+ */
47
+ abstract members(): Promise<UserDto[]>;
48
+ /**
49
+ * Get organization statistics
50
+ * @param dateFrom
51
+ * @param dateTo
52
+ */
53
+ abstract statistics(dateFrom: number, dateTo: number): Promise<StatisticsResponse>;
54
+ /**
55
+ * Get organization statistics
56
+ * @param dateFrom
57
+ * @param dateTo
58
+ */
59
+ abstract membersStatistics(dateFrom: number, dateTo: number): Promise<UsersStatisticsResponse>;
60
+ /**
61
+ * Get statistics for user
62
+ * @param dateFrom
63
+ * @param dateTo
64
+ */
65
+ abstract userStatistic(userid: string, dateFrom: number, dateTo: number): Promise<StatisticsResponse>;
66
+ /**
67
+ * Get user limits data
68
+ */
69
+ abstract userLimits(): Promise<CurrentLimitsData>;
70
+ /**
71
+ * Get default organization limits
72
+ */
73
+ abstract organizationLimits(): Promise<SegmentData>;
74
+ /**
75
+ * Get all available segments data
76
+ */
77
+ abstract limitSegments(): Promise<SegmentData[]>;
78
+ /**
79
+ * Change organization name and description.
80
+ */
81
+ abstract change(name: string, description: string): Promise<void>;
82
+ /**
83
+ * Invite users with given emails to organization
84
+ */
85
+ abstract inviteUsers(emails: string[], accessGroups: GroupId[]): Promise<void>;
86
+ /**
87
+ * Create invite code for users outside organization
88
+ */
89
+ abstract createInviteCode(accessGroups: GroupId[]): Promise<string>;
90
+ /**
91
+ * Validate invite code for user
92
+ */
93
+ abstract validateInviteCode(code: string): Promise<void>;
94
+ }
95
+ //# sourceMappingURL=organization.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"organization.d.ts","sourceRoot":"","sources":["../../../../src/storages/organizations/organization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAA;AAChG,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAEtD;;GAEG;AACH,oBAAY,iBAAiB;IAC3B,OAAO,YAAY;CACpB;AAED;;GAEG;AACH,8BAAsB,YAAa,SAAQ,eAAe,CACxD,iBAAiB,EACjB,YAAY,CACb;IACC;;OAEG;IACH,QAAQ,KAAK,EAAE,IAAI,cAAc,CAAA;IAEjC;;OAEG;IACH,QAAQ,KAAK,IAAI,IAAI,MAAM,CAAA;IAE3B;;OAEG;IACH,QAAQ,KAAK,WAAW,IAAI,MAAM,CAAA;IAElC;;OAEG;IACH,QAAQ,KAAK,UAAU,IAAI,UAAU,CAAA;IAErC;;OAEG;IACH,QAAQ,KAAK,KAAK,IAAI,KAAK,CAAA;IAE3B;;OAEG;IACH,QAAQ,KAAK,YAAY,IAAI,MAAM,CAAA;IAEnC;;OAEG;IACH,QAAQ,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAEtC;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAGlF;;;;OAIG;IACH,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAG9F;;;;OAIG;IACH,QAAQ,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAGrG;;OAEG;IACH,QAAQ,CAAC,UAAU,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAEjD;;OAEG;IACH,QAAQ,CAAC,kBAAkB,IAAI,OAAO,CAAC,WAAW,CAAC;IAEnD;;OAEG;IACH,QAAQ,CAAC,aAAa,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAEhD;;OAEG;IACH,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAEjE;;OAEG;IACH,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAE9E;;OAEG;IACH,QAAQ,CAAC,gBAAgB,CAAC,YAAY,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAEnE;;OAEG;IACH,QAAQ,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CACzD"}
@@ -0,0 +1,42 @@
1
+ import { OrganizationId } from "./organizations";
2
+ import { Disposable } from "../../disposable";
3
+ import { CurrentLimitsData, OrganizationDto, UserDto, UsersStatisticsResponse } from "../../dto/userInfoResponse";
4
+ import { Workspaces } from "../workspaces/workspaces";
5
+ import { Context } from "../../context";
6
+ import { Organization } from "./organization";
7
+ import { Groups } from "../groups/groups";
8
+ import { Chats } from "../chats/chats";
9
+ import { StatisticsResponse } from "../../dto/statisticsResponse";
10
+ import { SegmentData } from "../../dto/limitsResponse";
11
+ export declare class OrganizationImpl extends Organization implements Disposable {
12
+ private readonly context;
13
+ private _isDisposed;
14
+ private _isAdmin;
15
+ private _content?;
16
+ private readonly _workspaces;
17
+ private readonly _accessGroups;
18
+ private readonly _chats;
19
+ constructor(context: Context);
20
+ initFrom(content: OrganizationDto, isAdmin: boolean): Promise<OrganizationImpl>;
21
+ get isAdmin(): boolean;
22
+ get isDisposed(): boolean;
23
+ dispose(): void;
24
+ get id(): OrganizationId;
25
+ get name(): string;
26
+ get description(): string;
27
+ get workspaces(): Workspaces;
28
+ get accessGroups(): Groups;
29
+ get chats(): Chats;
30
+ members(): Promise<UserDto[]>;
31
+ change(name: string, description: string): Promise<void>;
32
+ statistics(dateFrom: number, dateTo: number): Promise<StatisticsResponse>;
33
+ membersStatistics(dateFrom: number, dateTo: number): Promise<UsersStatisticsResponse>;
34
+ userStatistic(userId: string, dateFrom: number, dateTo: number): Promise<StatisticsResponse>;
35
+ userLimits(): Promise<CurrentLimitsData>;
36
+ organizationLimits(): Promise<SegmentData>;
37
+ limitSegments(): Promise<SegmentData[]>;
38
+ inviteUsers(emails: string[], accessGroups: string[]): Promise<void>;
39
+ createInviteCode(accessGroups: string[]): Promise<string>;
40
+ validateInviteCode(code: string): Promise<void>;
41
+ }
42
+ //# sourceMappingURL=organization.impl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"organization.impl.d.ts","sourceRoot":"","sources":["../../../../src/storages/organizations/organization.impl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAA4C,iBAAiB,EAAE,eAAe,EAA2B,OAAO,EAAkB,uBAAuB,EAAE,MAAM,4BAA4B,CAAA;AACpM,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAErD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,YAAY,EAAqB,MAAM,gBAAgB,CAAA;AAEhE,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAEzC,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AAGtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AACjE,OAAO,EAAmB,WAAW,EAAgB,MAAM,0BAA0B,CAAA;AAGrF,qBAAa,gBAAiB,SAAQ,YAAa,YAAW,UAAU;IAQ1D,OAAO,CAAC,QAAQ,CAAC,OAAO;IAPpC,OAAO,CAAC,WAAW,CAAiB;IACpC,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,QAAQ,CAAC,CAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAgB;IAC5C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAY;IAC1C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAW;gBAEL,OAAO,EAAE,OAAO;IAOhC,QAAQ,CACnB,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,gBAAgB,CAAC;IAY5B,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,OAAO,IAAI,IAAI;IAIf,IAAI,EAAE,IAAI,cAAc,CAEvB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,UAAU,IAAI,UAAU,CAE3B;IAED,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,IAAI,KAAK,IAAI,KAAK,CAEjB;IAEK,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAqB7B,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA+CxD,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAqBzE,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAqBrF,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAsB5F,UAAU,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAiDxC,kBAAkB,IAAI,OAAO,CAAC,WAAW,CAAC;IAoB1C,aAAa,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAmBvC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBpE,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAsBzD,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CActD"}