@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,240 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OrganizationImpl = void 0;
4
+ const workspaces_impl_1 = require("../workspaces/workspaces.impl");
5
+ const organization_1 = require("./organization");
6
+ const groups_impl_1 = require("../groups/groups.impl");
7
+ const chats_impl_1 = require("../chats/chats.impl");
8
+ const rpcService_1 = require("../../services/rpcService");
9
+ const responseUtils_1 = require("../../services/responseUtils");
10
+ class OrganizationImpl extends organization_1.Organization {
11
+ constructor(context) {
12
+ super();
13
+ this.context = context;
14
+ this._isDisposed = false;
15
+ this._isAdmin = false;
16
+ this._workspaces = new workspaces_impl_1.WorkspacesImpl(this, this.context);
17
+ this._accessGroups = new groups_impl_1.GroupsImpl(this, this.context);
18
+ this._chats = new chats_impl_1.ChatsImpl(this, this.context);
19
+ }
20
+ async initFrom(content, isAdmin) {
21
+ this._content = content;
22
+ this._isAdmin = isAdmin;
23
+ // init workspaces by organization id
24
+ await this._workspaces.initFrom(content.id);
25
+ await this._chats.initFrom(content.id);
26
+ await this._accessGroups.initialize();
27
+ return this;
28
+ }
29
+ get isAdmin() {
30
+ return this._isAdmin;
31
+ }
32
+ get isDisposed() {
33
+ return this._isDisposed;
34
+ }
35
+ dispose() {
36
+ this._isDisposed = true;
37
+ }
38
+ get id() {
39
+ var _a;
40
+ return (_a = this._content) === null || _a === void 0 ? void 0 : _a.id;
41
+ }
42
+ get name() {
43
+ var _a;
44
+ return (_a = this._content) === null || _a === void 0 ? void 0 : _a.profile.name;
45
+ }
46
+ get description() {
47
+ var _a;
48
+ return (_a = this._content) === null || _a === void 0 ? void 0 : _a.profile.description;
49
+ }
50
+ get workspaces() {
51
+ return this._workspaces;
52
+ }
53
+ get accessGroups() {
54
+ return this._accessGroups;
55
+ }
56
+ get chats() {
57
+ return this._chats;
58
+ }
59
+ async members() {
60
+ var _a;
61
+ // send request to the server
62
+ const response = await ((_a = this.context
63
+ .resolve(rpcService_1.RpcService)) === null || _a === void 0 ? void 0 : _a.requestBuilder("api/v1/Organizations/members").searchParam("id", this.id).sendGet());
64
+ // check response status
65
+ if (responseUtils_1.ResponseUtils.isFail(response)) {
66
+ await responseUtils_1.ResponseUtils.throwError(`Failed during fetch of organization members ${this.id}`, response);
67
+ }
68
+ return (await response.json()).members;
69
+ }
70
+ async change(name, description) {
71
+ var _a;
72
+ if (!this._content) {
73
+ throw new Error("Organization is not loaded.");
74
+ }
75
+ if (name === this.name && description === this.description) {
76
+ return Promise.resolve();
77
+ }
78
+ if (name === undefined || name === null || name.trim() === "") {
79
+ throw new Error("Name is required. Please provide a valid name.");
80
+ }
81
+ if (description === undefined ||
82
+ description === null ||
83
+ description.trim() === "") {
84
+ throw new Error("Description is required. Please provide a valid description.");
85
+ }
86
+ const response = await ((_a = this.context
87
+ .resolve(rpcService_1.RpcService)) === null || _a === void 0 ? void 0 : _a.requestBuilder("api/v1/Organizations").sendPutJson({
88
+ organizationId: this.id,
89
+ profile: {
90
+ name,
91
+ description
92
+ }
93
+ }));
94
+ if (responseUtils_1.ResponseUtils.isFail(response)) {
95
+ await responseUtils_1.ResponseUtils.throwError("Failed to change organization", response);
96
+ }
97
+ if (this._content) {
98
+ this._content.profile.name = name;
99
+ this._content.profile.description = description;
100
+ }
101
+ this.dispatch({
102
+ type: organization_1.OrganizationEvent.CHANGED,
103
+ data: this
104
+ });
105
+ }
106
+ async statistics(dateFrom, dateTo) {
107
+ var _a;
108
+ // send request to the server
109
+ const response = await ((_a = this.context
110
+ .resolve(rpcService_1.RpcService)) === null || _a === void 0 ? void 0 : _a.requestBuilder("api/v1/Stats/organization").searchParam("organizationId", this.id).searchParam("dateFrom", dateFrom.toString()).searchParam("dateTo", dateTo.toString()).sendGet());
111
+ // check response status
112
+ if (responseUtils_1.ResponseUtils.isFail(response)) {
113
+ await responseUtils_1.ResponseUtils.throwError(`Failed during fetch of organization statistics ${this.id}`, response);
114
+ }
115
+ return await response.json();
116
+ }
117
+ async membersStatistics(dateFrom, dateTo) {
118
+ var _a;
119
+ // send request to the server
120
+ const response = await ((_a = this.context
121
+ .resolve(rpcService_1.RpcService)) === null || _a === void 0 ? void 0 : _a.requestBuilder("api/v1/Stats/organization/members").searchParam("organizationId", this.id).searchParam("dateFrom", dateFrom.toString()).searchParam("dateTo", dateTo.toString()).sendGet());
122
+ // check response status
123
+ if (responseUtils_1.ResponseUtils.isFail(response)) {
124
+ await responseUtils_1.ResponseUtils.throwError(`Failed during fetch of organization members statistics ${this.id}`, response);
125
+ }
126
+ return await response.json();
127
+ }
128
+ async userStatistic(userId, dateFrom, dateTo) {
129
+ var _a;
130
+ // send request to the server
131
+ const response = await ((_a = this.context
132
+ .resolve(rpcService_1.RpcService)) === null || _a === void 0 ? void 0 : _a.requestBuilder("api/v1/Stats/user").searchParam("userId", userId).searchParam("organizationId", this.id).searchParam("dateFrom", dateFrom.toString()).searchParam("dateTo", dateTo.toString()).sendGet());
133
+ // check response status
134
+ if (responseUtils_1.ResponseUtils.isFail(response)) {
135
+ await responseUtils_1.ResponseUtils.throwError(`Failed during fetch of user statistics ${this.id}`, response);
136
+ }
137
+ return await response.json();
138
+ }
139
+ async userLimits() {
140
+ var _a, _b, _c;
141
+ // fetch limits
142
+ const response = await ((_a = this.context.resolve(rpcService_1.RpcService)) === null || _a === void 0 ? void 0 : _a.requestBuilder("api/v1/Users/limits").searchParam("organizationId", this.id).sendGet());
143
+ // check response status
144
+ if (responseUtils_1.ResponseUtils.isFail(response)) {
145
+ await responseUtils_1.ResponseUtils.throwError(`Failed to get limits in organization: ${this.id}`, response);
146
+ }
147
+ // parse limits from the server's response
148
+ const limits = (await response.json());
149
+ const currentLimits = { segment: limits.userSegment.key, limits: [] };
150
+ for (const limit of limits.userLimits) {
151
+ const type = limit.action;
152
+ const currentItem = { action: type, records: [] };
153
+ if (limit.records.length == 0)
154
+ continue;
155
+ for (const record of limit.records) {
156
+ const segmentRecord = limits.userSegment.dayItems.find(item => item.daysCount == record.daysCount);
157
+ if (segmentRecord == null) {
158
+ throw new Error(`Invalid response during get limits in organization: ${this.id}. Days count with ${type} not found in segment ${limits.userSegment.key}`);
159
+ }
160
+ const actionRecord = segmentRecord === null || segmentRecord === void 0 ? void 0 : segmentRecord.actionItems.find(item => item.type == type);
161
+ if (actionRecord == null) {
162
+ throw new Error(`Invalid response during get limits in organization: ${this.id}. Type ${type} not found in segment ${limits.userSegment.key}`);
163
+ }
164
+ const currentRecord = {};
165
+ currentRecord.daysCount = record.daysCount;
166
+ currentRecord.activeTill = record.activeTill;
167
+ currentRecord.all = (_b = actionRecord === null || actionRecord === void 0 ? void 0 : actionRecord.tokenLimit) !== null && _b !== void 0 ? _b : actionRecord === null || actionRecord === void 0 ? void 0 : actionRecord.countLimit;
168
+ const available = (_c = record.tokenLimit) !== null && _c !== void 0 ? _c : record.countLimit;
169
+ currentRecord.used = currentRecord.all - available;
170
+ currentItem.records.push(currentRecord);
171
+ }
172
+ currentLimits.limits.push(currentItem);
173
+ }
174
+ return currentLimits;
175
+ }
176
+ async organizationLimits() {
177
+ var _a;
178
+ // fetch limits
179
+ const response = await ((_a = this.context.resolve(rpcService_1.RpcService)) === null || _a === void 0 ? void 0 : _a.requestBuilder("api/v1/Descriptions/limits/organization").searchParam("organizationId", this.id).sendGet());
180
+ // check response status
181
+ if (responseUtils_1.ResponseUtils.isFail(response)) {
182
+ await responseUtils_1.ResponseUtils.throwError(`Failed to get limits in organization: ${this.id}`, response);
183
+ }
184
+ const json = await response.json();
185
+ // parse limits from the server's response
186
+ const limits = json.segment;
187
+ return limits;
188
+ }
189
+ async limitSegments() {
190
+ var _a;
191
+ // fetch limits
192
+ const response = await ((_a = this.context.resolve(rpcService_1.RpcService)) === null || _a === void 0 ? void 0 : _a.requestBuilder("api/v1/Descriptions/limits/segments").searchParam("organizationId", this.id).sendGet());
193
+ // check response status
194
+ if (responseUtils_1.ResponseUtils.isFail(response)) {
195
+ await responseUtils_1.ResponseUtils.throwError(`Failed to get limits in organization: ${this.id}`, response);
196
+ }
197
+ const json = await response.json();
198
+ // parse limits from the server's response
199
+ const limits = json.segments;
200
+ return limits;
201
+ }
202
+ async inviteUsers(emails, accessGroups) {
203
+ var _a;
204
+ const response = await ((_a = this.context
205
+ .resolve(rpcService_1.RpcService)) === null || _a === void 0 ? void 0 : _a.requestBuilder("api/v1/Invites").sendPostJson({
206
+ organizationId: this.id,
207
+ emails: emails,
208
+ accessGroupIds: accessGroups
209
+ }));
210
+ if (responseUtils_1.ResponseUtils.isFail(response)) {
211
+ await responseUtils_1.ResponseUtils.throwError(`Invite users failed for organization ${this.id}`, response);
212
+ }
213
+ }
214
+ async createInviteCode(accessGroups) {
215
+ var _a;
216
+ const response = await ((_a = this.context
217
+ .resolve(rpcService_1.RpcService)) === null || _a === void 0 ? void 0 : _a.requestBuilder("api/v1/Invites/link").sendPostJson({
218
+ organizationId: this.id,
219
+ accessGroupIds: accessGroups
220
+ }));
221
+ if (responseUtils_1.ResponseUtils.isFail(response)) {
222
+ await responseUtils_1.ResponseUtils.throwError(`Invite code creation failed for organization ${this.id}`, response);
223
+ }
224
+ const json = await response.json();
225
+ const code = json.code;
226
+ return code;
227
+ }
228
+ async validateInviteCode(code) {
229
+ var _a;
230
+ const response = await ((_a = this.context
231
+ .resolve(rpcService_1.RpcService)) === null || _a === void 0 ? void 0 : _a.requestBuilder("api/v1/Invites/apply").sendPutJson({
232
+ code: code,
233
+ }));
234
+ if (responseUtils_1.ResponseUtils.isFail(response)) {
235
+ await responseUtils_1.ResponseUtils.throwError(`Invite code validation failed for organization ${this.id}`, response);
236
+ }
237
+ }
238
+ }
239
+ exports.OrganizationImpl = OrganizationImpl;
240
+ //# sourceMappingURL=organization.impl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"organization.impl.js","sourceRoot":"","sources":["../../../../src/storages/organizations/organization.impl.ts"],"names":[],"mappings":";;;AAIA,mEAA8D;AAE9D,iDAAgE;AAChE,uDAAkD;AAElD,oDAA+C;AAE/C,0DAAsD;AACtD,gEAA4D;AAK5D,MAAa,gBAAiB,SAAQ,2BAAY;IAQhD,YAA6B,OAAgB;QAC3C,KAAK,EAAE,CAAA;QADoB,YAAO,GAAP,OAAO,CAAS;QAPrC,gBAAW,GAAY,KAAK,CAAA;QAC5B,aAAQ,GAAY,KAAK,CAAA;QAQ/B,IAAI,CAAC,WAAW,GAAG,IAAI,gCAAc,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QACzD,IAAI,CAAC,aAAa,GAAG,IAAI,wBAAU,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QACvD,IAAI,CAAC,MAAM,GAAG,IAAI,sBAAS,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IACjD,CAAC;IAEM,KAAK,CAAC,QAAQ,CACnB,OAAwB,EACxB,OAAgB;QAEhB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAA;QACvB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAA;QAEvB,qCAAqC;QACrC,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QAC3C,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QACtC,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAA;QAErC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAA;IACzB,CAAC;IAED,OAAO;QACL,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA;IACzB,CAAC;IAED,IAAI,EAAE;;QACJ,OAAuB,MAAA,IAAI,CAAC,QAAQ,0CAAE,EAAE,CAAA;IAC1C,CAAC;IAED,IAAI,IAAI;;QACN,OAAuB,MAAA,IAAI,CAAC,QAAQ,0CAAE,OAAO,CAAC,IAAI,CAAA;IACpD,CAAC;IAED,IAAI,WAAW;;QACb,OAAuB,MAAA,IAAI,CAAC,QAAQ,0CAAE,OAAO,CAAC,WAAW,CAAA;IAC3D,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAA;IACzB,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,aAAa,CAAA;IAC3B,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAED,KAAK,CAAC,OAAO;;QACX,6BAA6B;QAC7B,MAAM,QAAQ,GAAG,MAAM,CAAA,MAAA,IAAI,CAAC,OAAO;aAChC,OAAO,CAAC,uBAAU,CAAC,0CAClB,cAAc,CAAC,8BAA8B,EAC9C,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EACzB,OAAO,EAAE,CAAA,CAAA;QAEZ,wBAAwB;QACxB,IAAI,6BAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,MAAM,6BAAa,CAAC,UAAU,CAC5B,+CAA+C,IAAI,CAAC,EAAE,EAAE,EACxD,QAAQ,CACT,CAAA;QACH,CAAC;QAED,OAAO,CAAC,MAAM,QAAS,CAAC,IAAI,EAE1B,CAAA,CAAC,OAAoB,CAAA;IACzB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAY,EAAE,WAAmB;;QAC5C,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;QAChD,CAAC;QAED,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,WAAW,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;YAC3D,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;QAC1B,CAAC;QACD,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC9D,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAA;QACnE,CAAC;QACD,IACE,WAAW,KAAK,SAAS;YACzB,WAAW,KAAK,IAAI;YACpB,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,EACzB,CAAC;YACD,MAAM,IAAI,KAAK,CACb,8DAA8D,CAC/D,CAAA;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,CAAA,MAAA,IAAI,CAAC,OAAO;aAChC,OAAO,CAAC,uBAAU,CAAC,0CAClB,cAAc,CAAC,sBAAsB,EACtC,WAAW,CAAC;YACX,cAAc,EAAE,IAAI,CAAC,EAAE;YACvB,OAAO,EAAE;gBACP,IAAI;gBACJ,WAAW;aACZ;SACF,CAAC,CAAA,CAAA;QAEJ,IAAI,6BAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,MAAM,6BAAa,CAAC,UAAU,CAAC,+BAA+B,EAAE,QAAQ,CAAC,CAAA;QAC3E,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAA;YACjC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,GAAG,WAAW,CAAA;QACjD,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC;YACZ,IAAI,EAAE,gCAAiB,CAAC,OAAO;YAC/B,IAAI,EAAE,IAAI;SACX,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,QAAgB,EAAE,MAAc;;QAC/C,6BAA6B;QAC7B,MAAM,QAAQ,GAAG,MAAM,CAAA,MAAA,IAAI,CAAC,OAAO;aAChC,OAAO,CAAC,uBAAU,CAAC,0CAClB,cAAc,CAAC,2BAA2B,EAC3C,WAAW,CAAC,gBAAgB,EAAE,IAAI,CAAC,EAAE,EACrC,WAAW,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAC3C,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,EACvC,OAAO,EAAE,CAAA,CAAA;QAEZ,wBAAwB;QACxB,IAAI,6BAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,MAAM,6BAAa,CAAC,UAAU,CAC5B,kDAAkD,IAAI,CAAC,EAAE,EAAE,EAC3D,QAAQ,CACT,CAAA;QACH,CAAC;QAED,OAAO,MAAM,QAAS,CAAC,IAAI,EAAwB,CAAA;IACrD,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,QAAgB,EAAE,MAAc;;QACtD,6BAA6B;QAC7B,MAAM,QAAQ,GAAG,MAAM,CAAA,MAAA,IAAI,CAAC,OAAO;aAChC,OAAO,CAAC,uBAAU,CAAC,0CAClB,cAAc,CAAC,mCAAmC,EACnD,WAAW,CAAC,gBAAgB,EAAE,IAAI,CAAC,EAAE,EACrC,WAAW,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAC3C,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,EACvC,OAAO,EAAE,CAAA,CAAA;QAEZ,wBAAwB;QACxB,IAAI,6BAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,MAAM,6BAAa,CAAC,UAAU,CAC5B,0DAA0D,IAAI,CAAC,EAAE,EAAE,EACnE,QAAQ,CACT,CAAA;QACH,CAAC;QAED,OAAO,MAAM,QAAS,CAAC,IAAI,EAA6B,CAAA;IAC1D,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,MAAc,EAAE,QAAgB,EAAE,MAAc;;QAClE,6BAA6B;QAC7B,MAAM,QAAQ,GAAG,MAAM,CAAA,MAAA,IAAI,CAAC,OAAO;aAChC,OAAO,CAAC,uBAAU,CAAC,0CAClB,cAAc,CAAC,mBAAmB,EACnC,WAAW,CAAC,QAAQ,EAAE,MAAM,EAC5B,WAAW,CAAC,gBAAgB,EAAE,IAAI,CAAC,EAAE,EACrC,WAAW,CAAC,UAAU,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAC3C,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,EACvC,OAAO,EAAE,CAAA,CAAA;QAEZ,wBAAwB;QACxB,IAAI,6BAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,MAAM,6BAAa,CAAC,UAAU,CAC5B,0CAA0C,IAAI,CAAC,EAAE,EAAE,EACnD,QAAQ,CACT,CAAA;QACH,CAAC;QAED,OAAO,MAAM,QAAS,CAAC,IAAI,EAAwB,CAAA;IACrD,CAAC;IAED,KAAK,CAAC,UAAU;;QACd,eAAe;QACf,MAAM,QAAQ,GAAG,MAAM,CAAA,MAAA,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,uBAAU,CAAC,0CACnD,cAAc,CAAC,qBAAqB,EACrC,WAAW,CAAC,gBAAgB,EAAE,IAAI,CAAC,EAAE,EACrC,OAAO,EAAE,CAAA,CAAA;QAEZ,wBAAwB;QACxB,IAAI,6BAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,MAAM,6BAAa,CAAC,UAAU,CAAC,yCAAyC,IAAI,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAA;QAC9F,CAAC;QAED,0CAA0C;QAC1C,MAAM,MAAM,GAAG,CAAC,MAAM,QAAS,CAAC,IAAI,EAAE,CAAmB,CAAA;QAEzD,MAAM,aAAa,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,EAAG,EAAE,EAAuB,CAAA;QAC3F,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,UAAU,EAAC,CAAC;YACrC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAyB,CAAA;YAC5C,MAAM,WAAW,GAAG,EAAE,MAAM,EAAG,IAAI,EAAE,OAAO,EAAE,EAAE,EAAqB,CAAA;YAErE,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC;gBAAE,SAAQ;YAEvC,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBACnC,MAAM,aAAa,GAAG,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,CAAA;gBAClG,IAAI,aAAa,IAAI,IAAI,EAAC,CAAC;oBACzB,MAAM,IAAI,KAAK,CAAC,uDAAuD,IAAI,CAAC,EAAE,qBAAqB,IAAI,yBAAyB,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAA;gBAC3J,CAAC;gBACD,MAAM,YAAY,GAAG,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAA;gBAC/E,IAAI,YAAY,IAAI,IAAI,EAAC,CAAC;oBACxB,MAAM,IAAI,KAAK,CAAC,uDAAuD,IAAI,CAAC,EAAE,UAAU,IAAI,yBAAyB,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAA;gBAChJ,CAAC;gBAED,MAAM,aAAa,GAAG,EAA4B,CAAA;gBAClD,aAAa,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAA;gBAC1C,aAAa,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAA;gBAC5C,aAAa,CAAC,GAAG,GAAG,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,UAAU,mCAAI,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,UAAU,CAAA;gBAExE,MAAM,SAAS,GAAG,MAAA,MAAM,CAAC,UAAU,mCAAI,MAAM,CAAC,UAAU,CAAA;gBACxD,aAAa,CAAC,IAAI,GAAG,aAAa,CAAC,GAAG,GAAG,SAAS,CAAA;gBAElD,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;YACzC,CAAC;YAED,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QACxC,CAAC;QAED,OAAO,aAAa,CAAA;IACtB,CAAC;IAED,KAAK,CAAC,kBAAkB;;QACtB,eAAe;QACf,MAAM,QAAQ,GAAG,MAAM,CAAA,MAAA,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,uBAAU,CAAC,0CACnD,cAAc,CAAC,yCAAyC,EACzD,WAAW,CAAC,gBAAgB,EAAE,IAAI,CAAC,EAAE,EACrC,OAAO,EAAE,CAAA,CAAA;QAEZ,wBAAwB;QACxB,IAAI,6BAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,MAAM,6BAAa,CAAC,UAAU,CAAC,yCAAyC,IAAI,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAA;QAC9F,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAS,CAAC,IAAI,EAAE,CAAA;QAEnC,0CAA0C;QAC1C,MAAM,MAAM,GAAI,IAAgC,CAAC,OAAO,CAAA;QAExD,OAAO,MAAM,CAAA;IACf,CAAC;IAED,KAAK,CAAC,aAAa;;QACjB,eAAe;QACf,MAAM,QAAQ,GAAG,MAAM,CAAA,MAAA,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,uBAAU,CAAC,0CACnD,cAAc,CAAC,qCAAqC,EACrD,WAAW,CAAC,gBAAgB,EAAE,IAAI,CAAC,EAAE,EACrC,OAAO,EAAE,CAAA,CAAA;QAEZ,wBAAwB;QACxB,IAAI,6BAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,MAAM,6BAAa,CAAC,UAAU,CAAC,yCAAyC,IAAI,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAA;QAC9F,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,QAAS,CAAC,IAAI,EAAE,CAAA;QAEnC,0CAA0C;QAC1C,MAAM,MAAM,GAAI,IAAqB,CAAC,QAAQ,CAAA;QAE9C,OAAO,MAAM,CAAA;IACf,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAAgB,EAAE,YAAsB;;QACxD,MAAM,QAAQ,GAAG,MAAM,CAAA,MAAA,IAAI,CAAC,OAAO;aAChC,OAAO,CAAC,uBAAU,CAAC,0CAClB,cAAc,CAAC,gBAAgB,EAChC,YAAY,CAAC;YACZ,cAAc,EAAE,IAAI,CAAC,EAAE;YACvB,MAAM,EAAE,MAAM;YACd,cAAc,EAAE,YAAY;SAC7B,CAAC,CAAA,CAAA;QACJ,IAAI,6BAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,MAAM,6BAAa,CAAC,UAAU,CAC5B,wCAAwC,IAAI,CAAC,EAAE,EAAE,EACjD,QAAQ,CACT,CAAA;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,YAAsB;;QAC3C,MAAM,QAAQ,GAAG,MAAM,CAAA,MAAA,IAAI,CAAC,OAAO;aAChC,OAAO,CAAC,uBAAU,CAAC,0CAClB,cAAc,CAAC,qBAAqB,EACrC,YAAY,CAAC;YACZ,cAAc,EAAE,IAAI,CAAC,EAAE;YACvB,cAAc,EAAE,YAAY;SAC7B,CAAC,CAAA,CAAA;QACJ,IAAI,6BAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,MAAM,6BAAa,CAAC,UAAU,CAC5B,gDAAgD,IAAI,CAAC,EAAE,EAAE,EACzD,QAAQ,CACT,CAAA;QACH,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAS,CAAC,IAAI,EAAE,CAAA;QAEnC,MAAM,IAAI,GAAI,IAA2B,CAAC,IAAI,CAAA;QAE9C,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,IAAY;;QACnC,MAAM,QAAQ,GAAG,MAAM,CAAA,MAAA,IAAI,CAAC,OAAO;aAChC,OAAO,CAAC,uBAAU,CAAC,0CAClB,cAAc,CAAC,sBAAsB,EACtC,WAAW,CAAC;YACX,IAAI,EAAE,IAAI;SACX,CAAC,CAAA,CAAA;QACJ,IAAI,6BAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,MAAM,6BAAa,CAAC,UAAU,CAC5B,kDAAkD,IAAI,CAAC,EAAE,EAAE,EAC3D,QAAQ,CACT,CAAA;QACH,CAAC;IACH,CAAC;CACF;AAnVD,4CAmVC"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Organization = exports.OrganizationEvent = void 0;
4
+ const events_1 = require("../../events");
5
+ /**
6
+ * Organization event.
7
+ */
8
+ var OrganizationEvent;
9
+ (function (OrganizationEvent) {
10
+ OrganizationEvent["CHANGED"] = "changed";
11
+ })(OrganizationEvent || (exports.OrganizationEvent = OrganizationEvent = {}));
12
+ /**
13
+ * Organization.
14
+ */
15
+ class Organization extends events_1.EventDispatcher {
16
+ }
17
+ exports.Organization = Organization;
18
+ //# sourceMappingURL=organization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"organization.js","sourceRoot":"","sources":["../../../../src/storages/organizations/organization.ts"],"names":[],"mappings":";;;AAIA,yCAA8C;AAM9C;;GAEG;AACH,IAAY,iBAEX;AAFD,WAAY,iBAAiB;IAC3B,wCAAmB,CAAA;AACrB,CAAC,EAFW,iBAAiB,iCAAjB,iBAAiB,QAE5B;AAED;;GAEG;AACH,MAAsB,YAAa,SAAQ,wBAG1C;CA8FA;AAjGD,oCAiGC"}
@@ -0,0 +1,46 @@
1
+ import { EventDispatcher } from "../../events";
2
+ import { Organization } from "./organization";
3
+ /**
4
+ * Organization id.
5
+ */
6
+ export type OrganizationId = string;
7
+ /**
8
+ * Organization event.
9
+ */
10
+ export declare enum OrganizationsEvent {
11
+ ADDED = "added",
12
+ REMOVED = "removed",
13
+ CURRENT_CHANGED = "currentChanged"
14
+ }
15
+ /**
16
+ * Organizations storage.
17
+ */
18
+ export declare abstract class Organizations extends EventDispatcher<OrganizationsEvent, Organization> {
19
+ /**
20
+ * User's organizations.
21
+ */
22
+ abstract get collection(): ReadonlyArray<Organization>;
23
+ /**
24
+ * Current organization.
25
+ */
26
+ abstract get current(): OrganizationId;
27
+ abstract set current(value: OrganizationId);
28
+ /**
29
+ * Get organization by id.
30
+ */
31
+ abstract get(id: OrganizationId): Organization;
32
+ /**
33
+ * Try to get organization by id.
34
+ * @param id
35
+ */
36
+ abstract tryGet(id: OrganizationId): Organization | undefined;
37
+ /**
38
+ * Create new organization.
39
+ */
40
+ abstract create(name: string, description: string): Promise<Organization>;
41
+ /**
42
+ * Delete organization.
43
+ */
44
+ abstract delete(id: OrganizationId): Promise<void>;
45
+ }
46
+ //# sourceMappingURL=organizations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"organizations.d.ts","sourceRoot":"","sources":["../../../../src/storages/organizations/organizations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAA;AAEnC;;GAEG;AACH,oBAAY,kBAAkB;IAC5B,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,eAAe,mBAAmB;CACnC;AAED;;GAEG;AACH,8BAAsB,aAAc,SAAQ,eAAe,CACzD,kBAAkB,EAClB,YAAY,CACb;IACC;;OAEG;IACH,QAAQ,KAAK,UAAU,IAAI,aAAa,CAAC,YAAY,CAAC,CAAA;IAEtD;;OAEG;IACH,QAAQ,KAAK,OAAO,IAAI,cAAc,CAAA;IACtC,QAAQ,KAAK,OAAO,CAAC,KAAK,EAAE,cAAc,EAAC;IAE3C;;OAEG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,cAAc,GAAG,YAAY;IAE9C;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,cAAc,GAAG,YAAY,GAAG,SAAS;IAE7D;;OAEG;IACH,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAEzE;;OAEG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;CACnD"}
@@ -0,0 +1,38 @@
1
+ import { OrganizationId, Organizations } from "./organizations";
2
+ import { OrganizationImpl } from "./organization.impl";
3
+ import { OrganizationDto, UserSettings } from "../../dto/userInfoResponse";
4
+ import { Context } from "../../context";
5
+ import { Organization } from "./organization";
6
+ export declare class OrganizationsImpl extends Organizations {
7
+ readonly context: Context;
8
+ constructor(context: Context);
9
+ organizations: OrganizationImpl[];
10
+ currentOrganizationId?: OrganizationId;
11
+ get collection(): readonly Organization[];
12
+ get current(): OrganizationId;
13
+ set current(value: OrganizationId);
14
+ get(id: OrganizationId): Organization;
15
+ tryGet(id: OrganizationId): Organization | undefined;
16
+ contains(id: OrganizationId): boolean;
17
+ create(name: string, description: string): Promise<Organization>;
18
+ delete(id: string): Promise<void>;
19
+ /**
20
+ * Delete organization.
21
+ * @param id
22
+ */
23
+ internalDeleteOrganization(id: OrganizationId): Promise<void>;
24
+ /**
25
+ * Create organization.
26
+ * @param name
27
+ * @param description
28
+ */
29
+ internalCreateOrganization(name: string, description: string): Promise<OrganizationImpl>;
30
+ /**
31
+ * Init organizations from user profile.
32
+ * @param adminInOrganization
33
+ * @param organizations
34
+ * @param settings
35
+ */
36
+ internalInitFrom(adminInOrganization: string[], organizations: OrganizationDto[], settings: UserSettings | null | undefined): Promise<void>;
37
+ }
38
+ //# sourceMappingURL=organizations.impl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"organizations.impl.d.ts","sourceRoot":"","sources":["../../../../src/storages/organizations/organizations.impl.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,cAAc,EACd,aAAa,EACd,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAEtD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAC1E,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAG7C,qBAAa,iBAAkB,SAAQ,aAAa;aACtB,OAAO,EAAE,OAAO;gBAAhB,OAAO,EAAE,OAAO;IAIrC,aAAa,EAAE,gBAAgB,EAAE,CAAK;IACtC,qBAAqB,CAAC,EAAE,cAAc,CAAA;IAE7C,IAAI,UAAU,IAAI,SAAS,YAAY,EAAE,CAExC;IAED,IAAI,OAAO,IAAI,cAAc,CAE5B;IAED,IAAI,OAAO,CAAC,KAAK,EAAE,cAAc,EAahC;IAED,GAAG,CAAC,EAAE,EAAE,cAAc,GAAG,YAAY;IAIrC,MAAM,CAAC,EAAE,EAAE,cAAc,GAAG,YAAY,GAAG,SAAS;IAIpD,QAAQ,CAAC,EAAE,EAAE,cAAc,GAAG,OAAO;IAI/B,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAItE,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQjC;;;OAGG;IACG,0BAA0B,CAAC,EAAE,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IA6CnE;;;;OAIG;IACG,0BAA0B,CAC9B,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,gBAAgB,CAAC;IA6C5B;;;;;OAKG;IACG,gBAAgB,CACpB,mBAAmB,EAAE,MAAM,EAAE,EAC7B,aAAa,EAAE,eAAe,EAAE,EAChC,QAAQ,EAAE,YAAY,GAAG,IAAI,GAAG,SAAS,GACxC,OAAO,CAAC,IAAI,CAAC;CA6BjB"}
@@ -0,0 +1,158 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OrganizationsImpl = void 0;
4
+ const organizations_1 = require("./organizations");
5
+ const organization_impl_1 = require("./organization.impl");
6
+ const rpcService_1 = require("../../services/rpcService");
7
+ const responseUtils_1 = require("../../services/responseUtils");
8
+ class OrganizationsImpl extends organizations_1.Organizations {
9
+ constructor(context) {
10
+ super();
11
+ this.context = context;
12
+ this.organizations = [];
13
+ }
14
+ get collection() {
15
+ return this.organizations;
16
+ }
17
+ get current() {
18
+ return this.currentOrganizationId;
19
+ }
20
+ set current(value) {
21
+ if (this.currentOrganizationId !== value) {
22
+ const org = this.tryGet(value);
23
+ if (org) {
24
+ this.currentOrganizationId = value;
25
+ this.dispatch({
26
+ type: organizations_1.OrganizationsEvent.CURRENT_CHANGED,
27
+ data: org
28
+ });
29
+ }
30
+ else {
31
+ throw new Error(`Organization ${value} is not found`);
32
+ }
33
+ }
34
+ }
35
+ get(id) {
36
+ return this.tryGet(id);
37
+ }
38
+ tryGet(id) {
39
+ return this.organizations.find(organization => organization.id === id);
40
+ }
41
+ contains(id) {
42
+ return this.organizations.some(organization => organization.id === id);
43
+ }
44
+ async create(name, description) {
45
+ return this.internalCreateOrganization(name, description);
46
+ }
47
+ delete(id) {
48
+ return this.internalDeleteOrganization(id);
49
+ }
50
+ //----------------------------------------------------------------------------
51
+ // INTERNALS
52
+ //----------------------------------------------------------------------------
53
+ /**
54
+ * Delete organization.
55
+ * @param id
56
+ */
57
+ async internalDeleteOrganization(id) {
58
+ var _a;
59
+ if (id === undefined || id === null) {
60
+ throw new Error("Organization delete, id is undefined or null");
61
+ }
62
+ if (id.length === 0 || id.trim().length === 0) {
63
+ throw new Error("Organization delete, id is empty");
64
+ }
65
+ if (!this.contains(id)) {
66
+ throw new Error(`Organization delete, id: ${id} is not found`);
67
+ }
68
+ // send request to the server
69
+ const response = await ((_a = this.context
70
+ .resolve(rpcService_1.RpcService)) === null || _a === void 0 ? void 0 : _a.requestBuilder("/api/v1/Organizations").searchParam("id", id).sendDelete());
71
+ // check response status
72
+ if (responseUtils_1.ResponseUtils.isFail(response)) {
73
+ await responseUtils_1.ResponseUtils.throwError(`Organization ${id} delete, failed`, response);
74
+ }
75
+ // check organization in collection
76
+ const org = this.get(id);
77
+ const index = this.organizations.indexOf(org);
78
+ if (index < 0) {
79
+ throw new Error("Organization delete, index is not found");
80
+ }
81
+ // remove organization from collection
82
+ this.organizations.splice(index, 1);
83
+ // dispatch event, organization removed
84
+ this.dispatch({
85
+ type: organizations_1.OrganizationsEvent.REMOVED,
86
+ data: org
87
+ });
88
+ // dispose organization
89
+ org.dispose();
90
+ }
91
+ /**
92
+ * Create organization.
93
+ * @param name
94
+ * @param description
95
+ */
96
+ async internalCreateOrganization(name, description) {
97
+ var _a;
98
+ if (name === undefined || name === null) {
99
+ throw new Error("Organization create, name is undefined or null");
100
+ }
101
+ if (description === undefined || description === null) {
102
+ throw new Error("Organization create, description is undefined or null");
103
+ }
104
+ if (name.length === 0 || name.trim().length === 0) {
105
+ throw new Error("Organization create, name is empty");
106
+ }
107
+ const response = await ((_a = this.context
108
+ .resolve(rpcService_1.RpcService)) === null || _a === void 0 ? void 0 : _a.requestBuilder("api/v1/Organizations").sendPostJson({
109
+ profile: {
110
+ name: name,
111
+ description: description
112
+ },
113
+ currentOrganizationId: this.currentOrganizationId
114
+ }));
115
+ if (responseUtils_1.ResponseUtils.isFail(response)) {
116
+ await responseUtils_1.ResponseUtils.throwError(`Organization create failed, name: ${name}, description: ${description}`, response);
117
+ }
118
+ const content = (await response.json()).organization;
119
+ // create organization and init from content
120
+ const org = await new organization_impl_1.OrganizationImpl(this.context).initFrom(content, true);
121
+ // add organization to collection
122
+ this.organizations.push(org);
123
+ // dispatch event, organization added
124
+ this.dispatch({
125
+ type: organizations_1.OrganizationsEvent.ADDED,
126
+ data: org
127
+ });
128
+ return org;
129
+ }
130
+ /**
131
+ * Init organizations from user profile.
132
+ * @param adminInOrganization
133
+ * @param organizations
134
+ * @param settings
135
+ */
136
+ async internalInitFrom(adminInOrganization, organizations, settings) {
137
+ // set current organization
138
+ this.currentOrganizationId = settings === null || settings === void 0 ? void 0 : settings.activeOrganizationId;
139
+ // wait list
140
+ const waitList = [];
141
+ // init organizations
142
+ for (const organization of organizations) {
143
+ // create organization and init from content
144
+ const orgPromise = new organization_impl_1.OrganizationImpl(this.context).initFrom(organization, adminInOrganization.includes(organization.id));
145
+ // add organization to wait list
146
+ waitList.push(orgPromise);
147
+ }
148
+ // wait for all organizations
149
+ const orgImpls = await Promise.all(waitList);
150
+ // add organizations to collection
151
+ for (const org of orgImpls) {
152
+ // add organization to collection
153
+ this.organizations.push(org);
154
+ }
155
+ }
156
+ }
157
+ exports.OrganizationsImpl = OrganizationsImpl;
158
+ //# sourceMappingURL=organizations.impl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"organizations.impl.js","sourceRoot":"","sources":["../../../../src/storages/organizations/organizations.impl.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Organizations = exports.OrganizationsEvent = void 0;
4
+ const events_1 = require("../../events");
5
+ /**
6
+ * Organization event.
7
+ */
8
+ var OrganizationsEvent;
9
+ (function (OrganizationsEvent) {
10
+ OrganizationsEvent["ADDED"] = "added";
11
+ OrganizationsEvent["REMOVED"] = "removed";
12
+ OrganizationsEvent["CURRENT_CHANGED"] = "currentChanged";
13
+ })(OrganizationsEvent || (exports.OrganizationsEvent = OrganizationsEvent = {}));
14
+ /**
15
+ * Organizations storage.
16
+ */
17
+ class Organizations extends events_1.EventDispatcher {
18
+ }
19
+ exports.Organizations = Organizations;
20
+ //# sourceMappingURL=organizations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"organizations.js","sourceRoot":"","sources":["../../../../src/storages/organizations/organizations.ts"],"names":[],"mappings":";;;AAAA,yCAA8C;AAQ9C;;GAEG;AACH,IAAY,kBAIX;AAJD,WAAY,kBAAkB;IAC5B,qCAAe,CAAA;IACf,yCAAmB,CAAA;IACnB,wDAAkC,CAAA;AACpC,CAAC,EAJW,kBAAkB,kCAAlB,kBAAkB,QAI7B;AAED;;GAEG;AACH,MAAsB,aAAc,SAAQ,wBAG3C;CAgCA;AAnCD,sCAmCC"}
@@ -0,0 +1,54 @@
1
+ import { EventDispatcher } from "../../events";
2
+ export type UserId = string;
3
+ export declare enum UserEvent {
4
+ CHANGED = "changed"
5
+ }
6
+ export declare abstract class UserProfile extends EventDispatcher<UserEvent, UserProfile> {
7
+ /**
8
+ * User id.
9
+ */
10
+ abstract get id(): UserId;
11
+ /**
12
+ * User name.
13
+ */
14
+ abstract get name(): string;
15
+ /**
16
+ * User email.
17
+ */
18
+ abstract get email(): string;
19
+ /**
20
+ * Additional binance ID
21
+ */
22
+ abstract get binanceId(): string;
23
+ /**
24
+ * Additional educational institution
25
+ */
26
+ abstract get educationalInstitution(): string;
27
+ /**
28
+ * Is user deleted.
29
+ */
30
+ abstract get isDeleted(): boolean;
31
+ /**
32
+ * Is user anonymous
33
+ */
34
+ abstract get isAnonymous(): boolean;
35
+ /**
36
+ * Created at.
37
+ */
38
+ abstract get createdAt(): Date;
39
+ /**
40
+ * Modified at.
41
+ */
42
+ abstract get modifiedAt(): Date;
43
+ /**
44
+ * Update user profile
45
+ * @param newName
46
+ * @param newId
47
+ */
48
+ abstract updateUser(newName: string, newId: string, newEducationalInstitution: string): Promise<void>;
49
+ /**
50
+ * Delete User
51
+ */
52
+ abstract deleteUser(): Promise<boolean>;
53
+ }
54
+ //# sourceMappingURL=userProfile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"userProfile.d.ts","sourceRoot":"","sources":["../../../../src/storages/user/userProfile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAE9C,MAAM,MAAM,MAAM,GAAG,MAAM,CAAA;AAE3B,oBAAY,SAAS;IACnB,OAAO,YAAY;CACpB;AAED,8BAAsB,WAAY,SAAQ,eAAe,CACvD,SAAS,EACT,WAAW,CACZ;IACC;;OAEG;IACH,QAAQ,KAAK,EAAE,IAAI,MAAM,CAAA;IAEzB;;OAEG;IACH,QAAQ,KAAK,IAAI,IAAI,MAAM,CAAA;IAE3B;;OAEG;IACH,QAAQ,KAAK,KAAK,IAAI,MAAM,CAAA;IAE5B;;OAEG;IACH,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAA;IAEhC;;OAEG;IACH,QAAQ,KAAK,sBAAsB,IAAK,MAAM,CAAA;IAE9C;;OAEG;IACH,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAA;IAEjC;;OAEG;IACH,QAAQ,KAAK,WAAW,IAAI,OAAO,CAAA;IAEnC;;OAEG;IACH,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAA;IAE9B;;OAEG;IACH,QAAQ,KAAK,UAAU,IAAI,IAAI,CAAA;IAE/B;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,yBAAyB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAErG;;OAEG;IACH,QAAQ,CAAC,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;CACxC"}
@@ -0,0 +1,21 @@
1
+ import { UserProfile } from "./userProfile";
2
+ import { UserInfoResponse } from "../../dto/userInfoResponse";
3
+ import { Context } from "../../context";
4
+ export declare class UserProfileImpl extends UserProfile {
5
+ private readonly context;
6
+ private content?;
7
+ constructor(context: Context);
8
+ get id(): string;
9
+ get name(): string;
10
+ get email(): string;
11
+ get binanceId(): string;
12
+ get educationalInstitution(): string;
13
+ get isDeleted(): boolean;
14
+ get isAnonymous(): boolean;
15
+ get createdAt(): Date;
16
+ get modifiedAt(): Date;
17
+ initFrom(content: UserInfoResponse): void;
18
+ updateUser(newName: string, newId: string, newEducationalInstitution: string): Promise<void>;
19
+ deleteUser(): Promise<boolean>;
20
+ }
21
+ //# sourceMappingURL=userProfile.impl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"userProfile.impl.d.ts","sourceRoot":"","sources":["../../../../src/storages/user/userProfile.impl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,WAAW,EAAE,MAAM,eAAe,CAAA;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAIvC,qBAAa,eAAgB,SAAQ,WAAW;IAIlC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAHpC,OAAO,CAAC,OAAO,CAAC,CAAkB;gBAGL,OAAO,EAAE,OAAO;IAI7C,IAAI,EAAE,IAAI,MAAM,CAKf;IAED,IAAI,IAAI,IAAI,MAAM,CAKjB;IAED,IAAI,KAAK,IAAI,MAAM,CAKlB;IAED,IAAI,SAAS,IAAI,MAAM,CAKtB;IAED,IAAI,sBAAsB,IAAI,MAAM,CAKnC;IAED,IAAI,SAAS,IAAI,OAAO,CAKvB;IAED,IAAI,WAAW,IAAI,OAAO,CAKzB;IAED,IAAI,SAAS,IAAI,IAAI,CAKpB;IAED,IAAI,UAAU,IAAI,IAAI,CAKrB;IAED,QAAQ,CAAC,OAAO,EAAE,gBAAgB;IAQ5B,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,yBAAyB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqC5F,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;CAarC"}