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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (513) hide show
  1. package/README.md +209 -7
  2. package/dist/index.d.ts +3 -0
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +3 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/package.json +103 -0
  7. package/dist/src/appBuilder.d.ts +44 -0
  8. package/dist/src/appBuilder.d.ts.map +1 -0
  9. package/dist/src/appBuilder.js +10 -0
  10. package/dist/src/appBuilder.js.map +1 -0
  11. package/dist/src/commands/deleteUserFullCommandHandler.d.ts +7 -0
  12. package/dist/src/commands/deleteUserFullCommandHandler.d.ts.map +1 -0
  13. package/dist/src/commands/deleteUserFullCommandHandler.js +21 -0
  14. package/dist/src/commands/deleteUserFullCommandHandler.js.map +1 -0
  15. package/dist/src/commands/startCommandHandler.d.ts +7 -0
  16. package/dist/src/commands/startCommandHandler.d.ts.map +1 -0
  17. package/dist/src/commands/startCommandHandler.js +33 -0
  18. package/dist/src/commands/startCommandHandler.js.map +1 -0
  19. package/dist/src/context.d.ts +24 -0
  20. package/dist/src/context.d.ts.map +1 -0
  21. package/dist/src/context.js +31 -0
  22. package/dist/src/context.js.map +1 -0
  23. package/dist/src/credentials.d.ts +39 -0
  24. package/dist/src/credentials.d.ts.map +1 -0
  25. package/dist/src/credentials.js +105 -0
  26. package/dist/src/credentials.js.map +1 -0
  27. package/dist/src/dataIslandApp.d.ts +60 -0
  28. package/dist/src/dataIslandApp.d.ts.map +1 -0
  29. package/dist/src/dataIslandApp.js +10 -0
  30. package/dist/src/dataIslandApp.js.map +1 -0
  31. package/dist/src/disposable.d.ts +84 -0
  32. package/dist/src/disposable.d.ts.map +1 -0
  33. package/dist/src/disposable.js +147 -0
  34. package/dist/src/disposable.js.map +1 -0
  35. package/dist/src/dto/accessGroupResponse.d.ts +27 -0
  36. package/dist/src/dto/accessGroupResponse.d.ts.map +1 -0
  37. package/dist/src/dto/accessGroupResponse.js +3 -0
  38. package/dist/src/dto/accessGroupResponse.js.map +1 -0
  39. package/dist/src/dto/acquiringResponse.d.ts +46 -0
  40. package/dist/src/dto/acquiringResponse.d.ts.map +1 -0
  41. package/dist/src/dto/acquiringResponse.js +11 -0
  42. package/dist/src/dto/acquiringResponse.js.map +1 -0
  43. package/dist/src/dto/apiKeyResponse.d.ts +24 -0
  44. package/dist/src/dto/apiKeyResponse.d.ts.map +1 -0
  45. package/dist/src/dto/apiKeyResponse.js +3 -0
  46. package/dist/src/dto/apiKeyResponse.js.map +1 -0
  47. package/dist/src/dto/badRequestResponse.d.ts +6 -0
  48. package/dist/src/dto/badRequestResponse.d.ts.map +1 -0
  49. package/dist/src/dto/badRequestResponse.js +3 -0
  50. package/dist/src/dto/badRequestResponse.js.map +1 -0
  51. package/dist/src/dto/chatResponse.d.ts +99 -0
  52. package/dist/src/dto/chatResponse.d.ts.map +1 -0
  53. package/dist/src/dto/chatResponse.js +56 -0
  54. package/dist/src/dto/chatResponse.js.map +1 -0
  55. package/dist/src/dto/invitesResponse.d.ts +21 -0
  56. package/dist/src/dto/invitesResponse.d.ts.map +1 -0
  57. package/dist/src/dto/invitesResponse.js +3 -0
  58. package/dist/src/dto/invitesResponse.js.map +1 -0
  59. package/dist/src/dto/libraryResponse.d.ts +42 -0
  60. package/dist/src/dto/libraryResponse.d.ts.map +1 -0
  61. package/dist/src/dto/libraryResponse.js +3 -0
  62. package/dist/src/dto/libraryResponse.js.map +1 -0
  63. package/dist/src/dto/limitsResponse.d.ts +29 -0
  64. package/dist/src/dto/limitsResponse.d.ts.map +1 -0
  65. package/dist/src/dto/limitsResponse.js +13 -0
  66. package/dist/src/dto/limitsResponse.js.map +1 -0
  67. package/dist/src/dto/queryFlowResponse.d.ts +20 -0
  68. package/dist/src/dto/queryFlowResponse.d.ts.map +1 -0
  69. package/dist/src/dto/queryFlowResponse.js +10 -0
  70. package/dist/src/dto/queryFlowResponse.js.map +1 -0
  71. package/dist/src/dto/quizResponse.d.ts +11 -0
  72. package/dist/src/dto/quizResponse.d.ts.map +1 -0
  73. package/dist/src/dto/quizResponse.js +3 -0
  74. package/dist/src/dto/quizResponse.js.map +1 -0
  75. package/dist/src/dto/statisticsResponse.d.ts +11 -0
  76. package/dist/src/dto/statisticsResponse.d.ts.map +1 -0
  77. package/dist/src/dto/statisticsResponse.js +3 -0
  78. package/dist/src/dto/statisticsResponse.js.map +1 -0
  79. package/dist/src/dto/userInfoResponse.d.ts +93 -0
  80. package/dist/src/dto/userInfoResponse.d.ts.map +1 -0
  81. package/dist/src/dto/userInfoResponse.js +3 -0
  82. package/dist/src/dto/userInfoResponse.js.map +1 -0
  83. package/dist/src/dto/workspacesResponse.d.ts +79 -0
  84. package/dist/src/dto/workspacesResponse.d.ts.map +1 -0
  85. package/dist/src/dto/workspacesResponse.js +31 -0
  86. package/dist/src/dto/workspacesResponse.js.map +1 -0
  87. package/dist/src/events.d.ts +17 -0
  88. package/dist/src/events.d.ts.map +1 -0
  89. package/dist/src/events.js +52 -0
  90. package/dist/src/events.js.map +1 -0
  91. package/dist/src/index.d.ts +88 -0
  92. package/dist/src/index.d.ts.map +1 -0
  93. package/dist/src/index.js +140 -0
  94. package/dist/src/index.js.map +1 -0
  95. package/dist/src/internal/app.impl.d.ts +32 -0
  96. package/dist/src/internal/app.impl.d.ts.map +1 -0
  97. package/dist/src/internal/app.impl.js +187 -0
  98. package/dist/src/internal/app.impl.js.map +1 -0
  99. package/dist/src/internal/appBuilder.impl.d.ts +27 -0
  100. package/dist/src/internal/appBuilder.impl.d.ts.map +1 -0
  101. package/dist/src/internal/appBuilder.impl.js +71 -0
  102. package/dist/src/internal/appBuilder.impl.js.map +1 -0
  103. package/dist/src/internal/createApp.impl.d.ts +4 -0
  104. package/dist/src/internal/createApp.impl.d.ts.map +1 -0
  105. package/dist/src/internal/createApp.impl.js +11 -0
  106. package/dist/src/internal/createApp.impl.js.map +1 -0
  107. package/dist/src/internal/registry.d.ts +66 -0
  108. package/dist/src/internal/registry.d.ts.map +1 -0
  109. package/dist/src/internal/registry.js +114 -0
  110. package/dist/src/internal/registry.js.map +1 -0
  111. package/dist/src/middleware.d.ts +6 -0
  112. package/dist/src/middleware.d.ts.map +1 -0
  113. package/dist/src/middleware.js +3 -0
  114. package/dist/src/middleware.js.map +1 -0
  115. package/dist/src/services/acquiringService.d.ts +9 -0
  116. package/dist/src/services/acquiringService.d.ts.map +1 -0
  117. package/dist/src/services/acquiringService.js +19 -0
  118. package/dist/src/services/acquiringService.js.map +1 -0
  119. package/dist/src/services/anonymousService.d.ts +8 -0
  120. package/dist/src/services/anonymousService.d.ts.map +1 -0
  121. package/dist/src/services/anonymousService.js +41 -0
  122. package/dist/src/services/anonymousService.js.map +1 -0
  123. package/dist/src/services/commandService.d.ts +18 -0
  124. package/dist/src/services/commandService.d.ts.map +1 -0
  125. package/dist/src/services/commandService.js +40 -0
  126. package/dist/src/services/commandService.js.map +1 -0
  127. package/dist/src/services/cookieService.d.ts +7 -0
  128. package/dist/src/services/cookieService.d.ts.map +1 -0
  129. package/dist/src/services/cookieService.js +18 -0
  130. package/dist/src/services/cookieService.js.map +1 -0
  131. package/dist/src/services/credentialService.d.ts +9 -0
  132. package/dist/src/services/credentialService.d.ts.map +1 -0
  133. package/dist/src/services/credentialService.js +26 -0
  134. package/dist/src/services/credentialService.js.map +1 -0
  135. package/dist/src/services/httpMethod.d.ts +2 -0
  136. package/dist/src/services/httpMethod.d.ts.map +1 -0
  137. package/dist/src/services/httpMethod.js +3 -0
  138. package/dist/src/services/httpMethod.js.map +1 -0
  139. package/dist/src/services/librariesService.d.ts +9 -0
  140. package/dist/src/services/librariesService.d.ts.map +1 -0
  141. package/dist/src/services/librariesService.js +19 -0
  142. package/dist/src/services/librariesService.js.map +1 -0
  143. package/dist/src/services/middlewareService.d.ts +10 -0
  144. package/dist/src/services/middlewareService.d.ts.map +1 -0
  145. package/dist/src/services/middlewareService.js +34 -0
  146. package/dist/src/services/middlewareService.js.map +1 -0
  147. package/dist/src/services/organizationService.d.ts +10 -0
  148. package/dist/src/services/organizationService.d.ts.map +1 -0
  149. package/dist/src/services/organizationService.js +19 -0
  150. package/dist/src/services/organizationService.js.map +1 -0
  151. package/dist/src/services/requestBuilder.d.ts +19 -0
  152. package/dist/src/services/requestBuilder.d.ts.map +1 -0
  153. package/dist/src/services/requestBuilder.js +133 -0
  154. package/dist/src/services/requestBuilder.js.map +1 -0
  155. package/dist/src/services/responseUtils.d.ts +8 -0
  156. package/dist/src/services/responseUtils.d.ts.map +1 -0
  157. package/dist/src/services/responseUtils.js +40 -0
  158. package/dist/src/services/responseUtils.js.map +1 -0
  159. package/dist/src/services/rpcService.d.ts +77 -0
  160. package/dist/src/services/rpcService.d.ts.map +1 -0
  161. package/dist/src/services/rpcService.js +125 -0
  162. package/dist/src/services/rpcService.js.map +1 -0
  163. package/dist/src/services/service.d.ts +21 -0
  164. package/dist/src/services/service.d.ts.map +1 -0
  165. package/dist/src/services/service.js +41 -0
  166. package/dist/src/services/service.js.map +1 -0
  167. package/dist/src/services/userProfileService.d.ts +10 -0
  168. package/dist/src/services/userProfileService.d.ts.map +1 -0
  169. package/dist/src/services/userProfileService.js +59 -0
  170. package/dist/src/services/userProfileService.js.map +1 -0
  171. package/dist/src/storages/acquirings/acquiring.d.ts +41 -0
  172. package/dist/src/storages/acquirings/acquiring.d.ts.map +1 -0
  173. package/dist/src/storages/acquirings/acquiring.impl.d.ts +20 -0
  174. package/dist/src/storages/acquirings/acquiring.impl.d.ts.map +1 -0
  175. package/dist/src/storages/acquirings/acquiring.impl.js +92 -0
  176. package/dist/src/storages/acquirings/acquiring.impl.js.map +1 -0
  177. package/dist/src/storages/acquirings/acquiring.js +10 -0
  178. package/dist/src/storages/acquirings/acquiring.js.map +1 -0
  179. package/dist/src/storages/chats/answer.d.ts +41 -0
  180. package/dist/src/storages/chats/answer.d.ts.map +1 -0
  181. package/dist/src/storages/chats/answer.impl.d.ts +29 -0
  182. package/dist/src/storages/chats/answer.impl.d.ts.map +1 -0
  183. package/dist/src/storages/chats/answer.impl.js +134 -0
  184. package/dist/src/storages/chats/answer.impl.js.map +1 -0
  185. package/dist/src/storages/chats/answer.js +15 -0
  186. package/dist/src/storages/chats/answer.js.map +1 -0
  187. package/dist/src/storages/chats/chat.d.ts +52 -0
  188. package/dist/src/storages/chats/chat.d.ts.map +1 -0
  189. package/dist/src/storages/chats/chat.impl.d.ts +27 -0
  190. package/dist/src/storages/chats/chat.impl.d.ts.map +1 -0
  191. package/dist/src/storages/chats/chat.impl.js +102 -0
  192. package/dist/src/storages/chats/chat.impl.js.map +1 -0
  193. package/dist/src/storages/chats/chat.js +12 -0
  194. package/dist/src/storages/chats/chat.js.map +1 -0
  195. package/dist/src/storages/chats/chats.d.ts +63 -0
  196. package/dist/src/storages/chats/chats.d.ts.map +1 -0
  197. package/dist/src/storages/chats/chats.impl.d.ts +22 -0
  198. package/dist/src/storages/chats/chats.impl.d.ts.map +1 -0
  199. package/dist/src/storages/chats/chats.impl.js +252 -0
  200. package/dist/src/storages/chats/chats.impl.js.map +1 -0
  201. package/dist/src/storages/chats/chats.js +16 -0
  202. package/dist/src/storages/chats/chats.js.map +1 -0
  203. package/dist/src/storages/files/file.d.ts +59 -0
  204. package/dist/src/storages/files/file.d.ts.map +1 -0
  205. package/dist/src/storages/files/file.impl.d.ts +27 -0
  206. package/dist/src/storages/files/file.impl.d.ts.map +1 -0
  207. package/dist/src/storages/files/file.impl.js +104 -0
  208. package/dist/src/storages/files/file.impl.js.map +1 -0
  209. package/dist/src/storages/files/file.js +11 -0
  210. package/dist/src/storages/files/file.js.map +1 -0
  211. package/dist/src/storages/files/files.d.ts +39 -0
  212. package/dist/src/storages/files/files.d.ts.map +1 -0
  213. package/dist/src/storages/files/files.impl.d.ts +26 -0
  214. package/dist/src/storages/files/files.impl.d.ts.map +1 -0
  215. package/dist/src/storages/files/files.impl.js +199 -0
  216. package/dist/src/storages/files/files.impl.js.map +1 -0
  217. package/dist/src/storages/files/files.js +20 -0
  218. package/dist/src/storages/files/files.js.map +1 -0
  219. package/dist/src/storages/files/filesPage.d.ts +28 -0
  220. package/dist/src/storages/files/filesPage.d.ts.map +1 -0
  221. package/dist/src/storages/files/filesPage.impl.d.ts +15 -0
  222. package/dist/src/storages/files/filesPage.impl.d.ts.map +1 -0
  223. package/dist/src/storages/files/filesPage.impl.js +38 -0
  224. package/dist/src/storages/files/filesPage.impl.js.map +1 -0
  225. package/dist/src/storages/files/filesPage.js +10 -0
  226. package/dist/src/storages/files/filesPage.js.map +1 -0
  227. package/dist/src/storages/groups/group.d.ts +63 -0
  228. package/dist/src/storages/groups/group.d.ts.map +1 -0
  229. package/dist/src/storages/groups/group.impl.d.ts +38 -0
  230. package/dist/src/storages/groups/group.impl.d.ts.map +1 -0
  231. package/dist/src/storages/groups/group.impl.js +210 -0
  232. package/dist/src/storages/groups/group.impl.js.map +1 -0
  233. package/dist/src/storages/groups/group.js +15 -0
  234. package/dist/src/storages/groups/group.js.map +1 -0
  235. package/dist/src/storages/groups/groups.d.ts +43 -0
  236. package/dist/src/storages/groups/groups.d.ts.map +1 -0
  237. package/dist/src/storages/groups/groups.impl.d.ts +31 -0
  238. package/dist/src/storages/groups/groups.impl.d.ts.map +1 -0
  239. package/dist/src/storages/groups/groups.impl.js +136 -0
  240. package/dist/src/storages/groups/groups.impl.js.map +1 -0
  241. package/dist/src/storages/groups/groups.js +20 -0
  242. package/dist/src/storages/groups/groups.js.map +1 -0
  243. package/dist/src/storages/library/folderId.d.ts +2 -0
  244. package/dist/src/storages/library/folderId.d.ts.map +1 -0
  245. package/dist/src/storages/library/folderId.js +3 -0
  246. package/dist/src/storages/library/folderId.js.map +1 -0
  247. package/dist/src/storages/library/libraries.d.ts +48 -0
  248. package/dist/src/storages/library/libraries.d.ts.map +1 -0
  249. package/dist/src/storages/library/libraries.impl.d.ts +26 -0
  250. package/dist/src/storages/library/libraries.impl.d.ts.map +1 -0
  251. package/dist/src/storages/library/libraries.impl.js +148 -0
  252. package/dist/src/storages/library/libraries.impl.js.map +1 -0
  253. package/dist/src/storages/library/libraries.js +16 -0
  254. package/dist/src/storages/library/libraries.js.map +1 -0
  255. package/dist/src/storages/library/library.d.ts +26 -0
  256. package/dist/src/storages/library/library.d.ts.map +1 -0
  257. package/dist/src/storages/library/library.impl.d.ts +19 -0
  258. package/dist/src/storages/library/library.impl.d.ts.map +1 -0
  259. package/dist/src/storages/library/library.impl.js +98 -0
  260. package/dist/src/storages/library/library.impl.js.map +1 -0
  261. package/dist/src/storages/library/library.js +10 -0
  262. package/dist/src/storages/library/library.js.map +1 -0
  263. package/dist/src/storages/library/libraryFolder.d.ts +16 -0
  264. package/dist/src/storages/library/libraryFolder.d.ts.map +1 -0
  265. package/dist/src/storages/library/libraryFolder.impl.d.ts +22 -0
  266. package/dist/src/storages/library/libraryFolder.impl.d.ts.map +1 -0
  267. package/dist/src/storages/library/libraryFolder.impl.js +104 -0
  268. package/dist/src/storages/library/libraryFolder.impl.js.map +1 -0
  269. package/dist/src/storages/library/libraryFolder.js +7 -0
  270. package/dist/src/storages/library/libraryFolder.js.map +1 -0
  271. package/dist/src/storages/library/libraryId.d.ts +2 -0
  272. package/dist/src/storages/library/libraryId.d.ts.map +1 -0
  273. package/dist/src/storages/library/libraryId.js +3 -0
  274. package/dist/src/storages/library/libraryId.js.map +1 -0
  275. package/dist/src/storages/library/libraryPage.d.ts +45 -0
  276. package/dist/src/storages/library/libraryPage.d.ts.map +1 -0
  277. package/dist/src/storages/library/libraryPage.impl.d.ts +26 -0
  278. package/dist/src/storages/library/libraryPage.impl.d.ts.map +1 -0
  279. package/dist/src/storages/library/libraryPage.impl.js +29 -0
  280. package/dist/src/storages/library/libraryPage.impl.js.map +1 -0
  281. package/dist/src/storages/library/libraryPage.js +10 -0
  282. package/dist/src/storages/library/libraryPage.js.map +1 -0
  283. package/dist/src/storages/organizations/organization.d.ts +146 -0
  284. package/dist/src/storages/organizations/organization.d.ts.map +1 -0
  285. package/dist/src/storages/organizations/organization.impl.d.ts +59 -0
  286. package/dist/src/storages/organizations/organization.impl.d.ts.map +1 -0
  287. package/dist/src/storages/organizations/organization.impl.js +372 -0
  288. package/dist/src/storages/organizations/organization.impl.js.map +1 -0
  289. package/dist/src/storages/organizations/organization.js +18 -0
  290. package/dist/src/storages/organizations/organization.js.map +1 -0
  291. package/dist/src/storages/organizations/organizations.d.ts +77 -0
  292. package/dist/src/storages/organizations/organizations.d.ts.map +1 -0
  293. package/dist/src/storages/organizations/organizations.impl.d.ts +45 -0
  294. package/dist/src/storages/organizations/organizations.impl.d.ts.map +1 -0
  295. package/dist/src/storages/organizations/organizations.impl.js +242 -0
  296. package/dist/src/storages/organizations/organizations.impl.js.map +1 -0
  297. package/dist/src/storages/organizations/organizations.js +20 -0
  298. package/dist/src/storages/organizations/organizations.js.map +1 -0
  299. package/dist/src/storages/queryFlows/queryFlow.d.ts +13 -0
  300. package/dist/src/storages/queryFlows/queryFlow.d.ts.map +1 -0
  301. package/dist/src/storages/queryFlows/queryFlow.impl.d.ts +17 -0
  302. package/dist/src/storages/queryFlows/queryFlow.impl.d.ts.map +1 -0
  303. package/dist/src/storages/queryFlows/queryFlow.impl.js +65 -0
  304. package/dist/src/storages/queryFlows/queryFlow.impl.js.map +1 -0
  305. package/dist/src/storages/queryFlows/queryFlow.js +12 -0
  306. package/dist/src/storages/queryFlows/queryFlow.js.map +1 -0
  307. package/dist/src/storages/queryFlows/queryFlows.d.ts +21 -0
  308. package/dist/src/storages/queryFlows/queryFlows.d.ts.map +1 -0
  309. package/dist/src/storages/queryFlows/queryFlows.impl.d.ts +17 -0
  310. package/dist/src/storages/queryFlows/queryFlows.impl.d.ts.map +1 -0
  311. package/dist/src/storages/queryFlows/queryFlows.impl.js +112 -0
  312. package/dist/src/storages/queryFlows/queryFlows.impl.js.map +1 -0
  313. package/dist/src/storages/queryFlows/queryFlows.js +16 -0
  314. package/dist/src/storages/queryFlows/queryFlows.js.map +1 -0
  315. package/dist/src/storages/user/userProfile.d.ts +64 -0
  316. package/dist/src/storages/user/userProfile.d.ts.map +1 -0
  317. package/dist/src/storages/user/userProfile.impl.d.ts +24 -0
  318. package/dist/src/storages/user/userProfile.impl.d.ts.map +1 -0
  319. package/dist/src/storages/user/userProfile.impl.js +129 -0
  320. package/dist/src/storages/user/userProfile.impl.js.map +1 -0
  321. package/dist/src/storages/user/userProfile.js +12 -0
  322. package/dist/src/storages/user/userProfile.js.map +1 -0
  323. package/dist/src/storages/workspaces/workspace.d.ts +50 -0
  324. package/dist/src/storages/workspaces/workspace.d.ts.map +1 -0
  325. package/dist/src/storages/workspaces/workspace.impl.d.ts +25 -0
  326. package/dist/src/storages/workspaces/workspace.impl.d.ts.map +1 -0
  327. package/dist/src/storages/workspaces/workspace.impl.js +133 -0
  328. package/dist/src/storages/workspaces/workspace.impl.js.map +1 -0
  329. package/dist/src/storages/workspaces/workspace.js +18 -0
  330. package/dist/src/storages/workspaces/workspace.js.map +1 -0
  331. package/dist/src/storages/workspaces/workspaces.d.ts +47 -0
  332. package/dist/src/storages/workspaces/workspaces.d.ts.map +1 -0
  333. package/dist/src/storages/workspaces/workspaces.impl.d.ts +33 -0
  334. package/dist/src/storages/workspaces/workspaces.impl.d.ts.map +1 -0
  335. package/dist/src/storages/workspaces/workspaces.impl.js +153 -0
  336. package/dist/src/storages/workspaces/workspaces.impl.js.map +1 -0
  337. package/dist/src/storages/workspaces/workspaces.js +19 -0
  338. package/dist/src/storages/workspaces/workspaces.js.map +1 -0
  339. package/dist/src/unitTest.d.ts +12 -0
  340. package/dist/src/unitTest.d.ts.map +1 -0
  341. package/dist/src/unitTest.js +44 -0
  342. package/dist/src/unitTest.js.map +1 -0
  343. package/dist/src/utils/browserUtils.d.ts +4 -0
  344. package/dist/src/utils/browserUtils.d.ts.map +1 -0
  345. package/dist/src/utils/browserUtils.js +64 -0
  346. package/dist/src/utils/browserUtils.js.map +1 -0
  347. package/dist/src/utils/request.d.ts +6 -0
  348. package/dist/src/utils/request.d.ts.map +1 -0
  349. package/dist/src/utils/request.js +3 -0
  350. package/dist/src/utils/request.js.map +1 -0
  351. package/dist/src/utils/utils.d.ts +3 -0
  352. package/dist/src/utils/utils.d.ts.map +1 -0
  353. package/dist/src/utils/utils.js +13 -0
  354. package/dist/src/utils/utils.js.map +1 -0
  355. package/index.d.ts +1 -0
  356. package/index.js +1 -0
  357. package/package.json +44 -5
  358. package/src/commands/deleteUserFullCommandHandler.ts +19 -0
  359. package/src/commands/startCommandHandler.ts +22 -5
  360. package/src/context.ts +4 -2
  361. package/src/credentials.ts +46 -0
  362. package/src/dataIslandApp.ts +14 -2
  363. package/src/disposable.ts +18 -5
  364. package/src/dto/accessGroupResponse.ts +17 -16
  365. package/src/dto/acquiringResponse.ts +54 -0
  366. package/src/dto/apiKeyResponse.ts +29 -0
  367. package/src/dto/badRequestResponse.ts +6 -0
  368. package/src/dto/chatResponse.ts +78 -54
  369. package/src/dto/invitesResponse.ts +25 -0
  370. package/src/dto/libraryResponse.ts +51 -0
  371. package/src/dto/limitsResponse.ts +32 -0
  372. package/src/dto/queryFlowResponse.ts +28 -0
  373. package/src/dto/quizResponse.ts +12 -0
  374. package/src/dto/statisticsResponse.ts +12 -0
  375. package/src/dto/userInfoResponse.ts +65 -2
  376. package/src/dto/workspacesResponse.ts +55 -7
  377. package/src/index.ts +73 -16
  378. package/src/internal/app.impl.ts +63 -12
  379. package/src/internal/registry.ts +54 -6
  380. package/src/middleware.ts +2 -0
  381. package/src/services/acquiringService.ts +21 -0
  382. package/src/services/anonymousService.ts +43 -0
  383. package/src/services/commandService.ts +4 -2
  384. package/src/services/cookieService.ts +16 -0
  385. package/src/services/httpMethod.ts +1 -0
  386. package/src/services/librariesService.ts +22 -0
  387. package/src/services/middlewareService.ts +1 -0
  388. package/src/services/organizationService.ts +2 -2
  389. package/src/services/requestBuilder.ts +48 -8
  390. package/src/services/responseUtils.ts +12 -0
  391. package/src/services/rpcService.ts +1 -0
  392. package/src/services/userProfileService.ts +36 -4
  393. package/src/storages/acquirings/acquiring.impl.ts +132 -0
  394. package/src/storages/acquirings/acquiring.ts +54 -0
  395. package/src/storages/chats/answer.impl.ts +178 -0
  396. package/src/storages/chats/answer.ts +53 -0
  397. package/src/storages/chats/chat.impl.ts +135 -0
  398. package/src/storages/chats/chat.ts +66 -0
  399. package/src/storages/chats/chats.impl.ts +347 -0
  400. package/src/storages/chats/chats.ts +74 -0
  401. package/src/storages/files/file.impl.ts +126 -0
  402. package/src/storages/files/file.ts +78 -0
  403. package/src/storages/files/files.impl.ts +280 -0
  404. package/src/storages/{files.ts → files/files.ts} +14 -7
  405. package/src/storages/files/filesPage.impl.ts +37 -0
  406. package/src/storages/{filesPage.ts → files/filesPage.ts} +6 -0
  407. package/src/storages/groups/group.impl.ts +276 -0
  408. package/src/storages/groups/group.ts +73 -0
  409. package/src/storages/groups/groups.impl.ts +180 -0
  410. package/src/storages/groups/groups.ts +50 -0
  411. package/src/storages/library/folderId.ts +1 -0
  412. package/src/storages/library/libraries.impl.ts +209 -0
  413. package/src/storages/library/libraries.ts +56 -0
  414. package/src/storages/library/library.impl.ts +151 -0
  415. package/src/storages/library/library.ts +30 -0
  416. package/src/storages/library/libraryFolder.impl.ts +144 -0
  417. package/src/storages/library/libraryFolder.ts +23 -0
  418. package/src/storages/library/libraryId.ts +1 -0
  419. package/src/storages/library/libraryPage.impl.ts +39 -0
  420. package/src/storages/library/libraryPage.ts +56 -0
  421. package/src/storages/organizations/organization.impl.ts +568 -0
  422. package/src/storages/organizations/organization.ts +179 -0
  423. package/src/storages/{organizations.impl.ts → organizations/organizations.impl.ts} +161 -12
  424. package/src/storages/organizations/organizations.ts +93 -0
  425. package/src/storages/queryFlows/queryFlow.impl.ts +81 -0
  426. package/src/storages/queryFlows/queryFlow.ts +22 -0
  427. package/src/storages/queryFlows/queryFlows.impl.ts +154 -0
  428. package/src/storages/queryFlows/queryFlows.ts +31 -0
  429. package/src/storages/user/userProfile.impl.ts +157 -0
  430. package/src/storages/user/userProfile.ts +81 -0
  431. package/src/storages/{workspace.impl.ts → workspaces/workspace.impl.ts} +72 -12
  432. package/src/storages/{workspace.ts → workspaces/workspace.ts} +16 -3
  433. package/src/storages/{workspaces.impl.ts → workspaces/workspaces.impl.ts} +29 -32
  434. package/src/storages/{workspaces.ts → workspaces/workspaces.ts} +6 -2
  435. package/src/unitTest.ts +3 -3
  436. package/src/utils/browserUtils.ts +68 -0
  437. package/src/utils/request.ts +6 -0
  438. package/src/utils/utils.ts +8 -0
  439. package/.browserslistrc +0 -5
  440. package/.editorconfig +0 -25
  441. package/.eslintrc.json +0 -44
  442. package/.github/workflows/docs.yml +0 -32
  443. package/.github/workflows/format.yml +0 -42
  444. package/.github/workflows/publish-npm.yml +0 -33
  445. package/.github/workflows/tests.yml +0 -34
  446. package/.github/workflows/version.yml +0 -40
  447. package/.prettierignore +0 -1
  448. package/.prettierrc +0 -11
  449. package/.yarnrc +0 -2
  450. package/babel.config.js +0 -6
  451. package/docs/.nojekyll +0 -1
  452. package/docs/classes/BasicCredential.md +0 -80
  453. package/docs/classes/BearerCredential.md +0 -72
  454. package/docs/classes/Chat.md +0 -69
  455. package/docs/classes/Chats.md +0 -90
  456. package/docs/classes/CredentialBase.md +0 -54
  457. package/docs/classes/DataIslandApp.md +0 -168
  458. package/docs/classes/DebugCredential.md +0 -72
  459. package/docs/classes/DefaultCredential.md +0 -56
  460. package/docs/classes/DisposableContainer.md +0 -177
  461. package/docs/classes/EventDispatcher.md +0 -109
  462. package/docs/classes/File.md +0 -79
  463. package/docs/classes/Files.md +0 -136
  464. package/docs/classes/FilesPage.md +0 -76
  465. package/docs/classes/Group.md +0 -191
  466. package/docs/classes/Groups.md +0 -130
  467. package/docs/classes/Lifetime.md +0 -108
  468. package/docs/classes/Organization.md +0 -89
  469. package/docs/classes/Organizations.md +0 -195
  470. package/docs/classes/UserProfile.md +0 -156
  471. package/docs/classes/Workspace.md +0 -165
  472. package/docs/classes/Workspaces.md +0 -189
  473. package/docs/enums/ChatAnswer.md +0 -22
  474. package/docs/enums/ChatsEvent.md +0 -22
  475. package/docs/enums/FilesEvent.md +0 -24
  476. package/docs/enums/GroupEvent.md +0 -29
  477. package/docs/enums/OrganizationsEvent.md +0 -31
  478. package/docs/enums/UserEvent.md +0 -15
  479. package/docs/enums/WorkspaceEvent.md +0 -17
  480. package/docs/enums/WorkspacesEvent.md +0 -24
  481. package/docs/interfaces/Disposable.md +0 -25
  482. package/docs/interfaces/Event.md +0 -58
  483. package/docs/interfaces/EventSubscriber.md +0 -41
  484. package/docs/interfaces/Input.md +0 -35
  485. package/docs/modules.md +0 -205
  486. package/jest.config.ts +0 -199
  487. package/jest.setup.ts +0 -2
  488. package/scripts/docs/index.js +0 -15
  489. package/src/storages/chat.ts +0 -21
  490. package/src/storages/chats.ts +0 -17
  491. package/src/storages/file.impl.ts +0 -69
  492. package/src/storages/file.ts +0 -28
  493. package/src/storages/files.impl.ts +0 -213
  494. package/src/storages/groups.impl.ts +0 -337
  495. package/src/storages/groups.ts +0 -43
  496. package/src/storages/organization.impl.ts +0 -68
  497. package/src/storages/organization.ts +0 -33
  498. package/src/storages/organizations.ts +0 -56
  499. package/src/storages/userProfile.impl.ts +0 -56
  500. package/src/storages/userProfile.ts +0 -42
  501. package/test/commands.test.ts +0 -24
  502. package/test/data/test_file.pdf +0 -0
  503. package/test/disposable.test.ts +0 -39
  504. package/test/events.test.ts +0 -151
  505. package/test/files.test.ts +0 -52
  506. package/test/index.test.ts +0 -122
  507. package/test/organization.test.ts +0 -57
  508. package/test/registry.test.ts +0 -44
  509. package/test/services.test.ts +0 -56
  510. package/test/setup.ts +0 -54
  511. package/test/unitTest.test.ts +0 -21
  512. package/test/workspace.test.ts +0 -71
  513. package/tsconfig.json +0 -31
@@ -0,0 +1,56 @@
1
+ import { LibraryFolder } from "./libraryFolder"
2
+ import { File } from "../files/file"
3
+ import { FolderId } from "./folderId"
4
+
5
+ import { LibraryId } from "./libraryId"
6
+
7
+ export abstract class LibraryParent {
8
+ /**
9
+ * Get parent id.
10
+ */
11
+ abstract get id(): FolderId
12
+
13
+ /**
14
+ * Get parent name.
15
+ */
16
+ abstract get name(): string
17
+ }
18
+
19
+ export abstract class LibraryPage {
20
+
21
+ /**
22
+ * Get library id.
23
+ */
24
+ abstract get libraryId(): LibraryId
25
+
26
+ /**
27
+ * Get current page.
28
+ */
29
+ abstract get parents(): LibraryParent[]
30
+
31
+ /**
32
+ * Get page files.
33
+ */
34
+ abstract get files(): File[]
35
+
36
+ /**
37
+ * Get page folders
38
+ */
39
+ abstract get folders(): LibraryFolder[]
40
+
41
+ /**
42
+ * Get pages count.
43
+ */
44
+ abstract get pages(): number
45
+
46
+ /**
47
+ * Get total count.
48
+ */
49
+ abstract get total(): number
50
+
51
+ /**
52
+ * Get current page.
53
+ */
54
+ abstract get page(): number
55
+
56
+ }
@@ -0,0 +1,568 @@
1
+ import {OrganizationId} from "./organizations"
2
+ import {Disposable} from "../../disposable"
3
+ import {
4
+ CurrentLimitItem,
5
+ CurrentLimitRecordData,
6
+ CurrentLimitsData,
7
+ OrganizationDto,
8
+ OrganizationSegmentData,
9
+ UserDto,
10
+ UserLimitsData,
11
+ UsersStatisticsResponse
12
+ } from "../../dto/userInfoResponse"
13
+ import {WorkspaceId, Workspaces} from "../workspaces/workspaces"
14
+ import {WorkspacesImpl} from "../workspaces/workspaces.impl"
15
+ import {Context} from "../../context"
16
+ import {Organization, OrganizationEvent} from "./organization"
17
+ import {GroupsImpl} from "../groups/groups.impl"
18
+ import {Groups} from "../groups/groups"
19
+ import {ChatsImpl} from "../chats/chats.impl"
20
+ import {Chats} from "../chats/chats"
21
+ import {RpcService} from "../../services/rpcService"
22
+ import {ResponseUtils} from "../../services/responseUtils"
23
+ import {StatisticsResponse} from "../../dto/statisticsResponse"
24
+ import {
25
+ LimitActionType,
26
+ SegmentData,
27
+ SegmentsData
28
+ } from "../../dto/limitsResponse"
29
+ import {FileId} from "../files/file"
30
+ import {QuizData} from "../../dto/quizResponse"
31
+ import {InviteCodeResponse, InviteResponse} from "../../dto/invitesResponse"
32
+ import {
33
+ ApiKeyResponse,
34
+ OrganizationApiKey,
35
+ OrganizationKeysResponse, TokenResponse
36
+ } from "../../dto/apiKeyResponse"
37
+ import {IconResponse} from "../../dto/workspacesResponse"
38
+ import {UploadFile} from "../files/files"
39
+ import {QueryFlowsImpl} from "../queryFlows/queryFlows.impl"
40
+ import {QueryFlows} from "../queryFlows/queryFlows"
41
+
42
+ export class OrganizationImpl extends Organization implements Disposable {
43
+ private _isDisposed: boolean = false
44
+ private _isAdmin: boolean = false
45
+ private _content?: OrganizationDto
46
+ private readonly _workspaces: WorkspacesImpl
47
+ private readonly _accessGroups: GroupsImpl
48
+ private readonly _queryFlows: QueryFlowsImpl
49
+ private readonly _chats: ChatsImpl
50
+
51
+ constructor(private readonly context: Context) {
52
+ super()
53
+ this._workspaces = new WorkspacesImpl(this, this.context)
54
+ this._accessGroups = new GroupsImpl(this, this.context)
55
+ this._chats = new ChatsImpl(this, this.context)
56
+ this._queryFlows = new QueryFlowsImpl(this, this.context)
57
+ }
58
+
59
+ public async initFrom(
60
+ content: OrganizationDto,
61
+ isAdmin: boolean
62
+ ): Promise<OrganizationImpl> {
63
+ this._content = content
64
+ this._isAdmin = isAdmin
65
+
66
+ // init workspaces by organization id
67
+ const promises = [
68
+ this._workspaces.initFrom(content.id),
69
+ this._chats.initFrom(content.id),
70
+ this._accessGroups.initialize(),
71
+ this._queryFlows.init()
72
+ ]
73
+
74
+ await Promise.all(promises)
75
+
76
+ return this
77
+ }
78
+
79
+ get isAdmin(): boolean {
80
+ return this._isAdmin
81
+ }
82
+
83
+ get isDisposed(): boolean {
84
+ return this._isDisposed
85
+ }
86
+
87
+ dispose(): void {
88
+ this._isDisposed = true
89
+ }
90
+
91
+ get id(): OrganizationId {
92
+ return <OrganizationId>this._content?.id
93
+ }
94
+
95
+ get name(): string {
96
+ return <string>this._content?.profile.name
97
+ }
98
+
99
+ get description(): string {
100
+ return <string>this._content?.profile.description
101
+ }
102
+
103
+ get icon(): string {
104
+ return <string>this._content?.profile.iconId
105
+ }
106
+
107
+ get isAllowedInLibraries(): boolean {
108
+ return <boolean>this._content?.profile.isAllowedInLibraries
109
+ }
110
+
111
+ get workspaces(): Workspaces {
112
+ return this._workspaces
113
+ }
114
+
115
+ get accessGroups(): Groups {
116
+ return this._accessGroups
117
+ }
118
+
119
+ get queryFlows(): QueryFlows {
120
+ return this._queryFlows
121
+ }
122
+
123
+ get chats(): Chats {
124
+ return this._chats
125
+ }
126
+
127
+ async members(): Promise<UserDto[]> {
128
+ // send request to the server
129
+ const response = await this.context
130
+ .resolve(RpcService)
131
+ ?.requestBuilder("api/v1/Organizations/members")
132
+ .searchParam("id", this.id)
133
+ .sendGet()
134
+
135
+ // check response status
136
+ if (ResponseUtils.isFail(response)) {
137
+ await ResponseUtils.throwError(
138
+ `Failed during fetch of organization members ${this.id}`,
139
+ response
140
+ )
141
+ }
142
+
143
+ return (await response!.json() as {
144
+ members: UserDto[]
145
+ }).members as UserDto[]
146
+ }
147
+
148
+ async change(name: string, description: string): Promise<void> {
149
+ if (!this._content) {
150
+ throw new Error("Organization is not loaded.")
151
+ }
152
+
153
+ if (name === this.name && description === this.description) {
154
+ return Promise.resolve()
155
+ }
156
+ if (name === undefined || name === null || name.trim() === "") {
157
+ throw new Error("Name is required. Please provide a valid name.")
158
+ }
159
+ if (
160
+ description === undefined ||
161
+ description === null ||
162
+ description.trim() === ""
163
+ ) {
164
+ throw new Error(
165
+ "Description is required. Please provide a valid description."
166
+ )
167
+ }
168
+
169
+ const response = await this.context
170
+ .resolve(RpcService)
171
+ ?.requestBuilder("api/v1/Organizations")
172
+ .sendPutJson({
173
+ organizationId: this.id,
174
+ profile: {
175
+ name,
176
+ description
177
+ }
178
+ })
179
+
180
+ if (ResponseUtils.isFail(response)) {
181
+ await ResponseUtils.throwError("Failed to change organization", response)
182
+ }
183
+
184
+ if (this._content) {
185
+ this._content.profile.name = name
186
+ this._content.profile.description = description
187
+ }
188
+
189
+ this.dispatch({
190
+ type: OrganizationEvent.CHANGED,
191
+ data: this
192
+ })
193
+ }
194
+
195
+ async uploadIcon(icon: UploadFile): Promise<string> {
196
+ // check icon file
197
+ if (icon === undefined || icon === null) {
198
+ throw new Error("Organization icon upload, file is undefined or null")
199
+ }
200
+
201
+ // form data to send
202
+ const form = new FormData()
203
+ form.append("OrganizationId", this.id)
204
+ form.append("FileName", icon.name)
205
+ form.append("File", icon, icon.name)
206
+
207
+ // send request to the server
208
+ const response = await this.context
209
+ .resolve(RpcService)
210
+ ?.requestBuilder("api/v1/Organizations/icon")
211
+ .sendPutFormData(form)
212
+
213
+ // check response status
214
+ if (ResponseUtils.isFail(response)) {
215
+ await ResponseUtils.throwError(`Organization icon upload ${icon.name}`, response)
216
+ }
217
+
218
+ const iconResponse = await response!.json() as IconResponse
219
+
220
+ return iconResponse.iconId
221
+ }
222
+
223
+ async statistics(dateFrom: number, dateTo: number): Promise<StatisticsResponse> {
224
+ // send request to the server
225
+ const response = await this.context
226
+ .resolve(RpcService)
227
+ ?.requestBuilder("api/v1/Stats/organization")
228
+ .searchParam("organizationId", this.id)
229
+ .searchParam("dateFrom", dateFrom.toString())
230
+ .searchParam("dateTo", dateTo.toString())
231
+ .sendGet()
232
+
233
+ // check response status
234
+ if (ResponseUtils.isFail(response)) {
235
+ await ResponseUtils.throwError(
236
+ `Failed during fetch of organization statistics ${this.id}`,
237
+ response
238
+ )
239
+ }
240
+
241
+ return await response!.json() as StatisticsResponse
242
+ }
243
+
244
+ async membersStatistics(dateFrom: number, dateTo: number): Promise<UsersStatisticsResponse> {
245
+ // send request to the server
246
+ const response = await this.context
247
+ .resolve(RpcService)
248
+ ?.requestBuilder("api/v1/Stats/organization/members")
249
+ .searchParam("organizationId", this.id)
250
+ .searchParam("dateFrom", dateFrom.toString())
251
+ .searchParam("dateTo", dateTo.toString())
252
+ .sendGet()
253
+
254
+ // check response status
255
+ if (ResponseUtils.isFail(response)) {
256
+ await ResponseUtils.throwError(
257
+ `Failed during fetch of organization members statistics ${this.id}`,
258
+ response
259
+ )
260
+ }
261
+
262
+ return await response!.json() as UsersStatisticsResponse
263
+ }
264
+
265
+ async userStatistic(userId: string, dateFrom: number, dateTo: number): Promise<StatisticsResponse> {
266
+ // send request to the server
267
+ const response = await this.context
268
+ .resolve(RpcService)
269
+ ?.requestBuilder("api/v1/Stats/user")
270
+ .searchParam("userId", userId)
271
+ .searchParam("organizationId", this.id)
272
+ .searchParam("dateFrom", dateFrom.toString())
273
+ .searchParam("dateTo", dateTo.toString())
274
+ .sendGet()
275
+
276
+ // check response status
277
+ if (ResponseUtils.isFail(response)) {
278
+ await ResponseUtils.throwError(
279
+ `Failed during fetch of user statistics ${this.id}`,
280
+ response
281
+ )
282
+ }
283
+
284
+ return await response!.json() as StatisticsResponse
285
+ }
286
+
287
+ async userLimits(): Promise<CurrentLimitsData> {
288
+ // fetch limits
289
+ const response = await this.context.resolve(RpcService)
290
+ ?.requestBuilder("api/v1/Users/limits")
291
+ .sendGet()
292
+
293
+ // check response status
294
+ if (ResponseUtils.isFail(response)) {
295
+ await ResponseUtils.throwError(`Failed to get limits in organization: ${this.id}`, response)
296
+ }
297
+
298
+ // parse limits from the server's response
299
+ const limits = (await response!.json()) as UserLimitsData
300
+
301
+ const currentLimits = {
302
+ segment: limits.userSegment.key,
303
+ limits: []
304
+ } as CurrentLimitsData
305
+ for (const limit of limits.userLimits) {
306
+ const type = limit.action as LimitActionType
307
+ const currentItem = {
308
+ action: type,
309
+ records: []
310
+ } as CurrentLimitItem
311
+
312
+ if (limit.records.length == 0) continue
313
+
314
+ for (const record of limit.records) {
315
+ const segmentRecord = limits.userSegment.dayItems.find(item => item.daysCount == record.daysCount)
316
+ if (segmentRecord == null) {
317
+ throw new Error(`Invalid response during get limits in organization: ${this.id}. Days count with ${type} not found in segment ${limits.userSegment.key}`)
318
+ }
319
+ const actionRecord = segmentRecord?.actionItems.find(item => item.type == type)
320
+ if (actionRecord == null) {
321
+ throw new Error(`Invalid response during get limits in organization: ${this.id}. Type ${type} not found in segment ${limits.userSegment.key}`)
322
+ }
323
+
324
+ const currentRecord = {} as CurrentLimitRecordData
325
+ currentRecord.daysCount = record.daysCount
326
+ currentRecord.activeTill = record.activeTill
327
+ currentRecord.all = actionRecord?.tokenLimit ?? actionRecord?.countLimit
328
+
329
+ const available = record.tokenLimit ?? record.countLimit
330
+ currentRecord.used = currentRecord.all - available
331
+
332
+ currentItem.records.push(currentRecord)
333
+ }
334
+
335
+ currentLimits.limits.push(currentItem)
336
+ }
337
+
338
+ return currentLimits
339
+ }
340
+
341
+ async organizationLimits(): Promise<SegmentData> {
342
+ // fetch limits
343
+ const response = await this.context.resolve(RpcService)
344
+ ?.requestBuilder("api/v1/Descriptions/limits/organization")
345
+ .searchParam("organizationId", this.id)
346
+ .sendGet()
347
+
348
+ // check response status
349
+ if (ResponseUtils.isFail(response)) {
350
+ await ResponseUtils.throwError(`Failed to get limits in organization: ${this.id}`, response)
351
+ }
352
+
353
+ const json = await response!.json()
354
+
355
+ // parse limits from the server's response
356
+ const limits = (json as OrganizationSegmentData).segment
357
+
358
+ return limits
359
+ }
360
+
361
+ async limitSegments(): Promise<SegmentData[]> {
362
+ // fetch limits
363
+ const response = await this.context.resolve(RpcService)
364
+ ?.requestBuilder("api/v1/Descriptions/limits/segments")
365
+ .sendGet()
366
+
367
+ // check response status
368
+ if (ResponseUtils.isFail(response)) {
369
+ await ResponseUtils.throwError(`Failed to get limits in organization: ${this.id}`, response)
370
+ }
371
+ const json = await response!.json()
372
+
373
+ // parse limits from the server's response
374
+ const limits = (json as SegmentsData).segments
375
+
376
+ return limits
377
+ }
378
+
379
+ async inviteUsers(emails: string[], accessGroups: string[]): Promise<void> {
380
+ const response = await this.context
381
+ .resolve(RpcService)
382
+ ?.requestBuilder("api/v1/Invites")
383
+ .sendPostJson({
384
+ organizationId: this.id,
385
+ emails: emails,
386
+ accessGroupIds: accessGroups
387
+ })
388
+ if (ResponseUtils.isFail(response)) {
389
+ await ResponseUtils.throwError(
390
+ `Invite users failed for organization ${this.id}`,
391
+ response
392
+ )
393
+ }
394
+ }
395
+
396
+ async createInviteCode(accessGroups: string[], validateDomain?: string ): Promise<string> {
397
+
398
+ let validateObj = null
399
+ if (validateDomain !== null && validateDomain !== undefined){
400
+ validateObj = {
401
+ domain: validateDomain
402
+ }
403
+ }
404
+
405
+ const response = await this.context
406
+ .resolve(RpcService)
407
+ ?.requestBuilder("api/v1/Invites/link")
408
+ .sendPostJson({
409
+ organizationId: this.id,
410
+ accessGroupIds: accessGroups,
411
+ validation: validateObj
412
+ })
413
+ if (ResponseUtils.isFail(response)) {
414
+ await ResponseUtils.throwError(
415
+ `Invite code creation failed for organization ${this.id}`,
416
+ response
417
+ )
418
+ }
419
+
420
+ const json = await response!.json()
421
+
422
+ const code = (json as InviteCodeResponse).code
423
+
424
+ return code
425
+ }
426
+
427
+ async deleteInviteCode(code: string): Promise<void>{
428
+ if (code === undefined || code === null || code.trim() === "") {
429
+ throw new Error("Invite code is required. Please provide a valid code.")
430
+ }
431
+
432
+ const response = await this.context
433
+ .resolve(RpcService)
434
+ ?.requestBuilder("api/v1/Invites/link")
435
+ .searchParam("code", code)
436
+ .sendDelete()
437
+
438
+ // check response status
439
+ if (ResponseUtils.isFail(response)) {
440
+ await ResponseUtils.throwError(
441
+ `Failed to delete invite for code: ${code}`,
442
+ response
443
+ )
444
+ }
445
+ }
446
+
447
+ async getOrganizationInvites(): Promise<InviteResponse>{
448
+ // get invites
449
+ const response = await this.context.resolve(RpcService)
450
+ ?.requestBuilder("api/v1/Invites/link/organization")
451
+ .searchParam("organizationId", this.id)
452
+ .sendGet()
453
+
454
+ // check response status
455
+ if (ResponseUtils.isFail(response)) {
456
+ await ResponseUtils.throwError(`Failed to get invites in organization: ${this.id}`, response)
457
+ }
458
+
459
+ const json = await response!.json()
460
+
461
+ return json as InviteResponse
462
+ }
463
+
464
+ async createApiKey(name: string, accessGroups: string[]): Promise<OrganizationApiKey>{
465
+ if (name === null || name === undefined || name.trim() === "") {
466
+ throw new Error("Name is required. Please provide a valid name.")
467
+ }
468
+
469
+ const response = await this.context
470
+ .resolve(RpcService)
471
+ ?.requestBuilder("api/v1/Keys/organization/exist")
472
+ .sendPostJson({
473
+ organizationId: this.id,
474
+ accessGroupIds: accessGroups,
475
+ keyName: name
476
+ })
477
+
478
+ if (ResponseUtils.isFail(response)) {
479
+ await ResponseUtils.throwError(
480
+ `API key creation failed for organization ${this.id}`,
481
+ response
482
+ )
483
+ }
484
+
485
+ const json = await response!.json()
486
+
487
+ const key = (json as ApiKeyResponse).apiKey
488
+
489
+ return key
490
+ }
491
+
492
+ async getApiKeys(): Promise<OrganizationApiKey[]> {
493
+ // get invites
494
+ const response = await this.context.resolve(RpcService)
495
+ ?.requestBuilder("api/v1/Keys/organization")
496
+ .searchParam("organizationId", this.id)
497
+ .sendGet()
498
+
499
+ // check response status
500
+ if (ResponseUtils.isFail(response)) {
501
+ await ResponseUtils.throwError(`Failed to get api keys fot organization: ${this.id}`, response)
502
+ }
503
+
504
+ const json = await response!.json()
505
+
506
+ const keys = (json as OrganizationKeysResponse).keys
507
+
508
+ return keys
509
+ }
510
+
511
+ async getTokenFromKey(key: string, userId: string, userName: string, userMetadata: string): Promise<TokenResponse> {
512
+ // get invites
513
+ const response = await this.context.resolve(RpcService)
514
+ ?.requestBuilder("api/v1/Keys/user/token/jwt")
515
+ .searchParam("apiKey", key)
516
+ .searchParam("userId", userId)
517
+ .searchParam("userName", userName)
518
+ .searchParam("userMetadata", userMetadata)
519
+ .sendGet()
520
+
521
+ // check response status
522
+ if (ResponseUtils.isFail(response)) {
523
+ await ResponseUtils.throwError(`Failed to get token from key for org: ${this.id}`, response)
524
+ }
525
+
526
+ const json = await response!.json()
527
+
528
+ return json as TokenResponse
529
+ }
530
+
531
+ async deleteApiKey(key: string): Promise<void>{
532
+ if (key === null || key === undefined || key.trim() === "") {
533
+ throw new Error("Key is required. Please provide a valid key.")
534
+ }
535
+
536
+ const response = await this.context
537
+ .resolve(RpcService)
538
+ ?.requestBuilder("api/v1/Keys/organization")
539
+ .searchParam("apiKey", key )
540
+ .sendDelete()
541
+
542
+ if (ResponseUtils.isFail(response)) {
543
+ await ResponseUtils.throwError("Api key delete error", response)
544
+ }
545
+ }
546
+
547
+ async createQuiz(workspaces: WorkspaceId[], query: string, questionsCount: number, optionsCount: number, fileId: FileId): Promise<QuizData> {
548
+ const response = await this.context
549
+ .resolve(RpcService)
550
+ ?.requestBuilder("api/v1/Quiz")
551
+ .sendPostJson({
552
+ query: query,
553
+ questionsCount: questionsCount,
554
+ optionsCount: optionsCount,
555
+ organizationId: this.id,
556
+ workspaceIds: workspaces,
557
+ fileId: fileId
558
+ })
559
+ if (ResponseUtils.isFail(response)) {
560
+ await ResponseUtils.throwError(
561
+ `Quiz creation failed for organization ${this.id} with query ${query}`,
562
+ response
563
+ )
564
+ }
565
+
566
+ return (await response!.json()) as QuizData
567
+ }
568
+ }