@neuralinnovations/dataisland-sdk 0.0.1-dev6 → 0.0.1-dev60

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 (377) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +232 -3
  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 +30 -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 +46 -0
  41. package/dist/src/dto/acquiringResponse.d.ts.map +1 -0
  42. package/dist/src/dto/acquiringResponse.js +11 -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 +84 -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/quizResponse.d.ts +11 -0
  57. package/dist/src/dto/quizResponse.d.ts.map +1 -0
  58. package/dist/src/dto/quizResponse.js +3 -0
  59. package/dist/src/dto/quizResponse.js.map +1 -0
  60. package/dist/src/dto/statisticsResponse.d.ts +11 -0
  61. package/dist/src/dto/statisticsResponse.d.ts.map +1 -0
  62. package/dist/src/dto/statisticsResponse.js +3 -0
  63. package/dist/src/dto/statisticsResponse.js.map +1 -0
  64. package/dist/src/dto/userInfoResponse.d.ts +91 -0
  65. package/dist/src/dto/userInfoResponse.d.ts.map +1 -0
  66. package/dist/src/dto/userInfoResponse.js +3 -0
  67. package/dist/src/dto/userInfoResponse.js.map +1 -0
  68. package/dist/src/dto/workspacesResponse.d.ts +51 -0
  69. package/dist/src/dto/workspacesResponse.d.ts.map +1 -0
  70. package/dist/src/dto/workspacesResponse.js +11 -0
  71. package/dist/src/dto/workspacesResponse.js.map +1 -0
  72. package/dist/src/events.d.ts +17 -0
  73. package/dist/src/events.d.ts.map +1 -0
  74. package/dist/src/events.js +52 -0
  75. package/dist/src/events.js.map +1 -0
  76. package/dist/src/index.d.ts +73 -0
  77. package/dist/src/index.d.ts.map +1 -0
  78. package/dist/src/index.js +122 -0
  79. package/dist/src/index.js.map +1 -0
  80. package/dist/src/internal/app.impl.d.ts +30 -0
  81. package/dist/src/internal/app.impl.d.ts.map +1 -0
  82. package/dist/src/internal/app.impl.js +180 -0
  83. package/dist/src/internal/app.impl.js.map +1 -0
  84. package/dist/src/internal/appBuilder.impl.d.ts +27 -0
  85. package/dist/src/internal/appBuilder.impl.d.ts.map +1 -0
  86. package/dist/src/internal/appBuilder.impl.js +71 -0
  87. package/dist/src/internal/appBuilder.impl.js.map +1 -0
  88. package/dist/src/internal/createApp.impl.d.ts +4 -0
  89. package/dist/src/internal/createApp.impl.d.ts.map +1 -0
  90. package/dist/src/internal/createApp.impl.js +11 -0
  91. package/dist/src/internal/createApp.impl.js.map +1 -0
  92. package/dist/src/internal/registry.d.ts +66 -0
  93. package/dist/src/internal/registry.d.ts.map +1 -0
  94. package/dist/src/internal/registry.js +114 -0
  95. package/dist/src/internal/registry.js.map +1 -0
  96. package/dist/src/middleware.d.ts +6 -0
  97. package/dist/src/middleware.d.ts.map +1 -0
  98. package/dist/src/middleware.js +3 -0
  99. package/dist/src/middleware.js.map +1 -0
  100. package/dist/src/services/acquiringService.d.ts +9 -0
  101. package/dist/src/services/acquiringService.d.ts.map +1 -0
  102. package/dist/src/services/acquiringService.js +19 -0
  103. package/dist/src/services/acquiringService.js.map +1 -0
  104. package/dist/src/services/anonymousService.d.ts +8 -0
  105. package/dist/src/services/anonymousService.d.ts.map +1 -0
  106. package/dist/src/services/anonymousService.js +41 -0
  107. package/dist/src/services/anonymousService.js.map +1 -0
  108. package/dist/src/services/commandService.d.ts +18 -0
  109. package/dist/src/services/commandService.d.ts.map +1 -0
  110. package/dist/src/services/commandService.js +40 -0
  111. package/dist/src/services/commandService.js.map +1 -0
  112. package/dist/src/services/cookieService.d.ts +7 -0
  113. package/dist/src/services/cookieService.d.ts.map +1 -0
  114. package/dist/src/services/cookieService.js +18 -0
  115. package/dist/src/services/cookieService.js.map +1 -0
  116. package/dist/src/services/credentialService.d.ts +9 -0
  117. package/dist/src/services/credentialService.d.ts.map +1 -0
  118. package/dist/src/services/credentialService.js +26 -0
  119. package/dist/src/services/credentialService.js.map +1 -0
  120. package/dist/src/services/httpMethod.d.ts +2 -0
  121. package/dist/src/services/httpMethod.d.ts.map +1 -0
  122. package/dist/src/services/httpMethod.js +3 -0
  123. package/dist/src/services/httpMethod.js.map +1 -0
  124. package/dist/src/services/middlewareService.d.ts +10 -0
  125. package/dist/src/services/middlewareService.d.ts.map +1 -0
  126. package/dist/src/services/middlewareService.js +34 -0
  127. package/dist/src/services/middlewareService.js.map +1 -0
  128. package/dist/src/services/organizationService.d.ts +10 -0
  129. package/dist/src/services/organizationService.d.ts.map +1 -0
  130. package/dist/src/services/organizationService.js +19 -0
  131. package/dist/src/services/organizationService.js.map +1 -0
  132. package/dist/src/services/requestBuilder.d.ts +17 -0
  133. package/dist/src/services/requestBuilder.d.ts.map +1 -0
  134. package/dist/src/services/requestBuilder.js +105 -0
  135. package/dist/src/services/requestBuilder.js.map +1 -0
  136. package/dist/src/services/responseUtils.d.ts +8 -0
  137. package/dist/src/services/responseUtils.d.ts.map +1 -0
  138. package/dist/src/services/responseUtils.js +40 -0
  139. package/dist/src/services/responseUtils.js.map +1 -0
  140. package/dist/src/services/rpcService.d.ts +77 -0
  141. package/dist/src/services/rpcService.d.ts.map +1 -0
  142. package/dist/src/services/rpcService.js +125 -0
  143. package/dist/src/services/rpcService.js.map +1 -0
  144. package/dist/src/services/service.d.ts +21 -0
  145. package/dist/src/services/service.d.ts.map +1 -0
  146. package/dist/src/services/service.js +41 -0
  147. package/dist/src/services/service.js.map +1 -0
  148. package/dist/src/services/userProfileService.d.ts +10 -0
  149. package/dist/src/services/userProfileService.d.ts.map +1 -0
  150. package/dist/src/services/userProfileService.js +59 -0
  151. package/dist/src/services/userProfileService.js.map +1 -0
  152. package/dist/src/storages/acquirings/acquiring.d.ts +41 -0
  153. package/dist/src/storages/acquirings/acquiring.d.ts.map +1 -0
  154. package/dist/src/storages/acquirings/acquiring.impl.d.ts +20 -0
  155. package/dist/src/storages/acquirings/acquiring.impl.d.ts.map +1 -0
  156. package/dist/src/storages/acquirings/acquiring.impl.js +92 -0
  157. package/dist/src/storages/acquirings/acquiring.impl.js.map +1 -0
  158. package/dist/src/storages/acquirings/acquiring.js +10 -0
  159. package/dist/src/storages/acquirings/acquiring.js.map +1 -0
  160. package/dist/src/storages/chats/answer.d.ts +41 -0
  161. package/dist/src/storages/chats/answer.d.ts.map +1 -0
  162. package/dist/src/storages/chats/answer.impl.d.ts +29 -0
  163. package/dist/src/storages/chats/answer.impl.d.ts.map +1 -0
  164. package/dist/src/storages/chats/answer.impl.js +116 -0
  165. package/dist/src/storages/chats/answer.impl.js.map +1 -0
  166. package/dist/src/storages/chats/answer.js +15 -0
  167. package/dist/src/storages/chats/answer.js.map +1 -0
  168. package/dist/src/storages/chats/chat.d.ts +51 -0
  169. package/dist/src/storages/chats/chat.d.ts.map +1 -0
  170. package/dist/src/storages/chats/chat.impl.d.ts +27 -0
  171. package/dist/src/storages/chats/chat.impl.d.ts.map +1 -0
  172. package/dist/src/storages/chats/chat.impl.js +93 -0
  173. package/dist/src/storages/chats/chat.impl.js.map +1 -0
  174. package/dist/src/storages/chats/chat.js +12 -0
  175. package/dist/src/storages/chats/chat.js.map +1 -0
  176. package/dist/src/storages/chats/chats.d.ts +51 -0
  177. package/dist/src/storages/chats/chats.d.ts.map +1 -0
  178. package/dist/src/storages/chats/chats.impl.d.ts +20 -0
  179. package/dist/src/storages/chats/chats.impl.d.ts.map +1 -0
  180. package/dist/src/storages/chats/chats.impl.js +184 -0
  181. package/dist/src/storages/chats/chats.impl.js.map +1 -0
  182. package/dist/src/storages/chats/chats.js +16 -0
  183. package/dist/src/storages/chats/chats.js.map +1 -0
  184. package/dist/src/storages/files/file.d.ts +59 -0
  185. package/dist/src/storages/files/file.d.ts.map +1 -0
  186. package/dist/src/storages/files/file.impl.d.ts +28 -0
  187. package/dist/src/storages/files/file.impl.d.ts.map +1 -0
  188. package/dist/src/storages/files/file.impl.js +127 -0
  189. package/dist/src/storages/files/file.impl.js.map +1 -0
  190. package/dist/src/storages/files/file.js +17 -0
  191. package/dist/src/storages/files/file.js.map +1 -0
  192. package/dist/src/storages/files/files.d.ts +39 -0
  193. package/dist/src/storages/files/files.d.ts.map +1 -0
  194. package/dist/src/storages/files/files.impl.d.ts +24 -0
  195. package/dist/src/storages/files/files.impl.d.ts.map +1 -0
  196. package/dist/src/storages/files/files.impl.js +168 -0
  197. package/dist/src/storages/files/files.impl.js.map +1 -0
  198. package/dist/src/storages/files/files.js +20 -0
  199. package/dist/src/storages/files/files.js.map +1 -0
  200. package/dist/src/storages/files/filesPage.d.ts +28 -0
  201. package/dist/src/storages/files/filesPage.d.ts.map +1 -0
  202. package/dist/src/storages/files/filesPage.impl.d.ts +15 -0
  203. package/dist/src/storages/files/filesPage.impl.d.ts.map +1 -0
  204. package/dist/src/storages/files/filesPage.impl.js +38 -0
  205. package/dist/src/storages/files/filesPage.impl.js.map +1 -0
  206. package/dist/src/storages/files/filesPage.js +10 -0
  207. package/dist/src/storages/files/filesPage.js.map +1 -0
  208. package/dist/src/storages/groups/group.d.ts +63 -0
  209. package/dist/src/storages/groups/group.d.ts.map +1 -0
  210. package/dist/src/storages/groups/group.impl.d.ts +38 -0
  211. package/dist/src/storages/groups/group.impl.d.ts.map +1 -0
  212. package/dist/src/storages/groups/group.impl.js +210 -0
  213. package/dist/src/storages/groups/group.impl.js.map +1 -0
  214. package/dist/src/storages/groups/group.js +15 -0
  215. package/dist/src/storages/groups/group.js.map +1 -0
  216. package/dist/src/storages/groups/groups.d.ts +43 -0
  217. package/dist/src/storages/groups/groups.d.ts.map +1 -0
  218. package/dist/src/storages/groups/groups.impl.d.ts +31 -0
  219. package/dist/src/storages/groups/groups.impl.d.ts.map +1 -0
  220. package/dist/src/storages/groups/groups.impl.js +136 -0
  221. package/dist/src/storages/groups/groups.impl.js.map +1 -0
  222. package/dist/src/storages/groups/groups.js +20 -0
  223. package/dist/src/storages/groups/groups.js.map +1 -0
  224. package/dist/src/storages/organizations/organization.d.ts +103 -0
  225. package/dist/src/storages/organizations/organization.d.ts.map +1 -0
  226. package/dist/src/storages/organizations/organization.impl.d.ts +44 -0
  227. package/dist/src/storages/organizations/organization.impl.d.ts.map +1 -0
  228. package/dist/src/storages/organizations/organization.impl.js +255 -0
  229. package/dist/src/storages/organizations/organization.impl.js.map +1 -0
  230. package/dist/src/storages/organizations/organization.js +18 -0
  231. package/dist/src/storages/organizations/organization.js.map +1 -0
  232. package/dist/src/storages/organizations/organizations.d.ts +51 -0
  233. package/dist/src/storages/organizations/organizations.d.ts.map +1 -0
  234. package/dist/src/storages/organizations/organizations.impl.d.ts +39 -0
  235. package/dist/src/storages/organizations/organizations.impl.d.ts.map +1 -0
  236. package/dist/src/storages/organizations/organizations.impl.js +173 -0
  237. package/dist/src/storages/organizations/organizations.impl.js.map +1 -0
  238. package/dist/src/storages/organizations/organizations.js +20 -0
  239. package/dist/src/storages/organizations/organizations.js.map +1 -0
  240. package/dist/src/storages/user/userProfile.d.ts +59 -0
  241. package/dist/src/storages/user/userProfile.d.ts.map +1 -0
  242. package/dist/src/storages/user/userProfile.impl.d.ts +22 -0
  243. package/dist/src/storages/user/userProfile.impl.d.ts.map +1 -0
  244. package/dist/src/storages/user/userProfile.impl.js +118 -0
  245. package/dist/src/storages/user/userProfile.impl.js.map +1 -0
  246. package/dist/src/storages/user/userProfile.js +12 -0
  247. package/dist/src/storages/user/userProfile.js.map +1 -0
  248. package/dist/src/storages/workspaces/workspace.d.ts +44 -0
  249. package/dist/src/storages/workspaces/workspace.d.ts.map +1 -0
  250. package/dist/src/storages/workspaces/workspace.impl.d.ts +23 -0
  251. package/dist/src/storages/workspaces/workspace.impl.d.ts.map +1 -0
  252. package/dist/src/storages/workspaces/workspace.impl.js +98 -0
  253. package/dist/src/storages/workspaces/workspace.impl.js.map +1 -0
  254. package/dist/src/storages/workspaces/workspace.js +18 -0
  255. package/dist/src/storages/workspaces/workspace.js.map +1 -0
  256. package/dist/src/storages/workspaces/workspaces.d.ts +47 -0
  257. package/dist/src/storages/workspaces/workspaces.d.ts.map +1 -0
  258. package/dist/src/storages/workspaces/workspaces.impl.d.ts +33 -0
  259. package/dist/src/storages/workspaces/workspaces.impl.d.ts.map +1 -0
  260. package/dist/src/storages/workspaces/workspaces.impl.js +153 -0
  261. package/dist/src/storages/workspaces/workspaces.impl.js.map +1 -0
  262. package/dist/src/storages/workspaces/workspaces.js +19 -0
  263. package/dist/src/storages/workspaces/workspaces.js.map +1 -0
  264. package/dist/src/unitTest.d.ts +12 -0
  265. package/dist/src/unitTest.d.ts.map +1 -0
  266. package/dist/src/unitTest.js +44 -0
  267. package/dist/src/unitTest.js.map +1 -0
  268. package/dist/src/utils/browserUtils.d.ts +4 -0
  269. package/dist/src/utils/browserUtils.d.ts.map +1 -0
  270. package/dist/src/utils/browserUtils.js +64 -0
  271. package/dist/src/utils/browserUtils.js.map +1 -0
  272. package/dist/src/utils/request.d.ts +6 -0
  273. package/dist/src/utils/request.d.ts.map +1 -0
  274. package/dist/src/utils/request.js +3 -0
  275. package/dist/src/utils/request.js.map +1 -0
  276. package/dist/src/utils/utils.d.ts +3 -0
  277. package/dist/src/utils/utils.d.ts.map +1 -0
  278. package/dist/src/utils/utils.js +13 -0
  279. package/dist/src/utils/utils.js.map +1 -0
  280. package/index.d.ts +1 -0
  281. package/index.js +1 -0
  282. package/package.json +46 -5
  283. package/src/commands/deleteUserFullCommandHandler.ts +19 -0
  284. package/src/commands/startCommandHandler.ts +19 -5
  285. package/src/context.ts +4 -2
  286. package/src/credentials.ts +22 -0
  287. package/src/dataIslandApp.ts +8 -2
  288. package/src/disposable.ts +18 -5
  289. package/src/dto/accessGroupResponse.ts +19 -16
  290. package/src/dto/acquiringResponse.ts +54 -0
  291. package/src/dto/badRequestResponse.ts +6 -0
  292. package/src/dto/chatResponse.ts +60 -54
  293. package/src/dto/limitsResponse.ts +32 -0
  294. package/src/dto/quizResponse.ts +12 -0
  295. package/src/dto/statisticsResponse.ts +12 -0
  296. package/src/dto/userInfoResponse.ts +63 -2
  297. package/src/dto/workspacesResponse.ts +17 -3
  298. package/src/index.ts +57 -16
  299. package/src/internal/app.impl.ts +54 -12
  300. package/src/internal/registry.ts +54 -6
  301. package/src/middleware.ts +2 -0
  302. package/src/services/acquiringService.ts +21 -0
  303. package/src/services/anonymousService.ts +43 -0
  304. package/src/services/commandService.ts +4 -2
  305. package/src/services/cookieService.ts +16 -0
  306. package/src/services/httpMethod.ts +1 -0
  307. package/src/services/middlewareService.ts +1 -0
  308. package/src/services/organizationService.ts +2 -2
  309. package/src/services/requestBuilder.ts +10 -8
  310. package/src/services/responseUtils.ts +12 -0
  311. package/src/services/rpcService.ts +1 -0
  312. package/src/services/userProfileService.ts +36 -4
  313. package/src/storages/acquirings/acquiring.impl.ts +132 -0
  314. package/src/storages/acquirings/acquiring.ts +54 -0
  315. package/src/storages/chats/answer.impl.ts +160 -0
  316. package/src/storages/chats/answer.ts +53 -0
  317. package/src/storages/chats/chat.impl.ts +115 -0
  318. package/src/storages/chats/chat.ts +65 -0
  319. package/src/storages/chats/chats.impl.ts +255 -0
  320. package/src/storages/chats/chats.ts +60 -0
  321. package/src/storages/files/file.impl.ts +159 -0
  322. package/src/storages/files/file.ts +74 -0
  323. package/src/storages/{files.impl.ts → files/files.impl.ts} +67 -46
  324. package/src/storages/{files.ts → files/files.ts} +14 -7
  325. package/src/storages/files/filesPage.impl.ts +37 -0
  326. package/src/storages/{filesPage.ts → files/filesPage.ts} +6 -0
  327. package/src/storages/groups/group.impl.ts +276 -0
  328. package/src/storages/groups/group.ts +73 -0
  329. package/src/storages/groups/groups.impl.ts +180 -0
  330. package/src/storages/groups/groups.ts +50 -0
  331. package/src/storages/organizations/organization.impl.ts +387 -0
  332. package/src/storages/organizations/organization.ts +127 -0
  333. package/src/storages/{organizations.impl.ts → organizations/organizations.impl.ts} +55 -13
  334. package/src/storages/{organizations.ts → organizations/organizations.ts} +7 -1
  335. package/src/storages/user/userProfile.impl.ts +140 -0
  336. package/src/storages/user/userProfile.ts +75 -0
  337. package/src/storages/{workspace.impl.ts → workspaces/workspace.impl.ts} +27 -7
  338. package/src/storages/{workspace.ts → workspaces/workspace.ts} +8 -3
  339. package/src/storages/{workspaces.impl.ts → workspaces/workspaces.impl.ts} +29 -32
  340. package/src/storages/{workspaces.ts → workspaces/workspaces.ts} +6 -2
  341. package/src/unitTest.ts +3 -3
  342. package/src/utils/browserUtils.ts +68 -0
  343. package/src/utils/request.ts +6 -0
  344. package/src/utils/utils.ts +8 -0
  345. package/.browserslistrc +0 -5
  346. package/.editorconfig +0 -25
  347. package/.eslintrc.json +0 -44
  348. package/.github/workflows/publish-npm.yml +0 -28
  349. package/.prettierignore +0 -1
  350. package/.prettierrc +0 -11
  351. package/.yarnrc +0 -2
  352. package/babel.config.js +0 -6
  353. package/jest.config.ts +0 -199
  354. package/jest.setup.ts +0 -2
  355. package/src/storages/chat.ts +0 -21
  356. package/src/storages/chats.ts +0 -17
  357. package/src/storages/file.impl.ts +0 -69
  358. package/src/storages/file.ts +0 -28
  359. package/src/storages/groups.impl.ts +0 -337
  360. package/src/storages/groups.ts +0 -43
  361. package/src/storages/organization.impl.ts +0 -68
  362. package/src/storages/organization.ts +0 -33
  363. package/src/storages/userProfile.impl.ts +0 -56
  364. package/src/storages/userProfile.ts +0 -42
  365. package/test/commands.test.ts +0 -24
  366. package/test/data/test_file.pdf +0 -0
  367. package/test/disposable.test.ts +0 -39
  368. package/test/events.test.ts +0 -151
  369. package/test/files.test.ts +0 -52
  370. package/test/index.test.ts +0 -122
  371. package/test/organization.test.ts +0 -57
  372. package/test/registry.test.ts +0 -44
  373. package/test/services.test.ts +0 -56
  374. package/test/setup.ts +0 -54
  375. package/test/unitTest.test.ts +0 -21
  376. package/test/workspace.test.ts +0 -71
  377. package/tsconfig.json +0 -31
@@ -0,0 +1,140 @@
1
+ import { UserEvent, UserProfile } from "./userProfile"
2
+ import { UserInfoResponse } from "../../dto/userInfoResponse"
3
+ import { Context } from "../../context"
4
+ import { RpcService } from "../../services/rpcService"
5
+ import { ResponseUtils } from "../../services/responseUtils"
6
+ import { UserProfileService } from "../../services/userProfileService"
7
+
8
+ export class UserProfileImpl extends UserProfile {
9
+ private content?: UserInfoResponse
10
+
11
+
12
+ constructor(private readonly context: Context) {
13
+ super()
14
+ }
15
+
16
+ get id(): string {
17
+ if (this.content) {
18
+ return this.content.user.id
19
+ }
20
+ throw new Error("The profile is not loaded.")
21
+ }
22
+
23
+ get name(): string {
24
+ if (this.content) {
25
+ return this.content.user.profile.name
26
+ }
27
+ throw new Error("The profile is not loaded.")
28
+ }
29
+
30
+ get email(): string {
31
+ if (this.content) {
32
+ return this.content.user.profile.email
33
+ }
34
+ throw new Error("The profile is not loaded.")
35
+ }
36
+
37
+ get binanceId(): string {
38
+ if (this.content) {
39
+ return this.content.user.profile.binanceId
40
+ }
41
+ throw new Error("The profile is not loaded.")
42
+ }
43
+
44
+ get educationalInstitution(): string {
45
+ if (this.content){
46
+ return this.content.user.profile.educationalInstitution
47
+ }
48
+ throw new Error("The profile is not loaded.")
49
+ }
50
+
51
+ get isDeleted(): boolean {
52
+ if (this.content) {
53
+ return this.content.user.isDeleted
54
+ }
55
+ throw new Error("The profile is not loaded.")
56
+ }
57
+
58
+ get isAnonymous(): boolean {
59
+ if (this.content) {
60
+ return this.content.user.isAnonymousMode
61
+ }
62
+ throw new Error("The profile is not loaded.")
63
+ }
64
+
65
+ get createdAt(): Date {
66
+ if (this.content) {
67
+ return new Date(this.content.user.created_at)
68
+ }
69
+ throw new Error("The profile is not loaded.")
70
+ }
71
+
72
+ get modifiedAt(): Date {
73
+ if (this.content) {
74
+ return new Date(this.content.user.modified_at)
75
+ }
76
+ throw new Error("The profile is not loaded.")
77
+ }
78
+
79
+ initFrom(content: UserInfoResponse) {
80
+ this.content = content
81
+ this.dispatch({
82
+ type: UserEvent.CHANGED,
83
+ data: this
84
+ })
85
+ }
86
+
87
+ async fetch() : Promise<void>{
88
+ await this.context.resolve(UserProfileService)?.fetch()
89
+ }
90
+
91
+ async updateUser(name: string, binanceId: string, educationalInstitution: string): Promise<void>{
92
+ if (!this.content) {
93
+ throw new Error("User is not loaded.")
94
+ }
95
+
96
+ if (name === this.name && binanceId === this.binanceId && educationalInstitution === this.educationalInstitution) {
97
+ return Promise.resolve()
98
+ }
99
+
100
+ const response = await this.context
101
+ .resolve(RpcService)
102
+ ?.requestBuilder("api/v1/Users")
103
+ .sendPutJson({
104
+ profile: {
105
+ name,
106
+ binanceId,
107
+ educationalInstitution
108
+ }
109
+ })
110
+
111
+ if (ResponseUtils.isFail(response)) {
112
+ await ResponseUtils.throwError("Failed to change organization", response)
113
+ }
114
+
115
+ if (this.content) {
116
+ this.content!.user.profile.name = name
117
+ this.content!.user.profile.binanceId = binanceId
118
+ this.content!.user.profile.educationalInstitution = educationalInstitution
119
+ }
120
+
121
+ this.dispatch({
122
+ type: UserEvent.CHANGED,
123
+ data: this
124
+ })
125
+ }
126
+
127
+ async deleteUser(): Promise<boolean>{
128
+ const response = await this.context
129
+ .resolve(RpcService)?.
130
+ requestBuilder("/api/v1/Users/self")
131
+ .sendDelete()
132
+
133
+ if (ResponseUtils.isFail(response)) {
134
+ await ResponseUtils.throwError("Failed to delete user", response)
135
+ }
136
+
137
+ return true
138
+ }
139
+
140
+ }
@@ -0,0 +1,75 @@
1
+ import { EventDispatcher } from "../../events"
2
+
3
+ export type UserId = string
4
+
5
+ export enum UserEvent {
6
+ CHANGED = "changed"
7
+ }
8
+
9
+ export abstract class UserProfile extends EventDispatcher<
10
+ UserEvent,
11
+ UserProfile
12
+ > {
13
+ /**
14
+ * User id.
15
+ */
16
+ abstract get id(): UserId
17
+
18
+ /**
19
+ * User name.
20
+ */
21
+ abstract get name(): string
22
+
23
+ /**
24
+ * User email.
25
+ */
26
+ abstract get email(): string
27
+
28
+ /**
29
+ * Additional binance ID
30
+ */
31
+ abstract get binanceId(): string
32
+
33
+ /**
34
+ * Additional educational institution
35
+ */
36
+ abstract get educationalInstitution() : string
37
+
38
+ /**
39
+ * Is user deleted.
40
+ */
41
+ abstract get isDeleted(): boolean
42
+
43
+ /**
44
+ * Is user anonymous
45
+ */
46
+ abstract get isAnonymous(): boolean
47
+
48
+ /**
49
+ * Created at.
50
+ */
51
+ abstract get createdAt(): Date
52
+
53
+ /**
54
+ * Modified at.
55
+ */
56
+ abstract get modifiedAt(): Date
57
+
58
+ /**
59
+ * Fetch user profile
60
+ */
61
+ abstract fetch(): Promise<void>
62
+
63
+ /**
64
+ * Update user profile
65
+ * @param newName
66
+ * @param newId
67
+ * @param newEducationalInstitution
68
+ */
69
+ abstract updateUser(newName: string, newId: string, newEducationalInstitution: string): Promise<void>
70
+
71
+ /**
72
+ * Delete User
73
+ */
74
+ abstract deleteUser(): Promise<boolean>
75
+ }
@@ -1,11 +1,11 @@
1
- import { Context } from "../context"
2
- import { Files } from "./files"
1
+ import { Context } from "../../context"
2
+ import { Files } from "../files/files"
3
3
  import { Workspace, WorkspaceEvent } from "./workspace"
4
- import { OrganizationImpl } from "./organization.impl"
5
- import { WorkspaceDto } from "../dto/workspacesResponse"
6
- import { RpcService } from "../services/rpcService"
7
- import { FilesImpl } from "./files.impl"
8
- import { ResponseUtils } from "../services/responseUtils"
4
+ import { OrganizationImpl } from "../organizations/organization.impl"
5
+ import { WorkspaceDto } from "../../dto/workspacesResponse"
6
+ import { RpcService } from "../../services/rpcService"
7
+ import { FilesImpl } from "../files/files.impl"
8
+ import { ResponseUtils } from "../../services/responseUtils"
9
9
 
10
10
  export class WorkspaceImpl extends Workspace {
11
11
  private _isMarkAsDeleted: boolean = false
@@ -46,6 +46,26 @@ export class WorkspaceImpl extends Workspace {
46
46
  return this._files
47
47
  }
48
48
 
49
+ async filesCount(): Promise<number> {
50
+ // send request to the server
51
+ const response = await this.context
52
+ .resolve(RpcService)
53
+ ?.requestBuilder("api/v1/Workspaces/files/count")
54
+ .searchParam("workspaceId", this.id)
55
+ .searchParam("organizationId", this.organization.id)
56
+ .sendGet()
57
+
58
+ // check response status
59
+ if (ResponseUtils.isFail(response)) {
60
+ await ResponseUtils.throwError(
61
+ `Failed during get workspace total files count for ${this.id} of ${this.organization.id}`,
62
+ response
63
+ )
64
+ }
65
+
66
+ return ((await response!.json()) as { count: number }).count
67
+ }
68
+
49
69
  async change(name: string, description: string): Promise<void> {
50
70
  if (!this._workspace) {
51
71
  throw new Error("Workspace is not loaded.")
@@ -1,7 +1,7 @@
1
- import { EventDispatcher } from "../events"
2
- import { Files } from "./files"
1
+ import { EventDispatcher } from "../../events"
2
+ import { Files } from "../files/files"
3
3
  import { WorkspaceId } from "./workspaces"
4
- import { Organization } from "./organization"
4
+ import { Organization } from "../organizations/organization"
5
5
 
6
6
  /**
7
7
  * Workspace event.
@@ -42,6 +42,11 @@ export abstract class Workspace extends EventDispatcher<
42
42
  */
43
43
  abstract get files(): Files
44
44
 
45
+ /**
46
+ * Workspace files count.
47
+ */
48
+ abstract filesCount(): Promise<number>
49
+
45
50
  /**
46
51
  * Change workspace name and description.
47
52
  */
@@ -1,13 +1,15 @@
1
1
  import { WorkspaceId, Workspaces, WorkspacesEvent } from "./workspaces"
2
- import { OrganizationImpl } from "./organization.impl"
3
- import { Context } from "../context"
2
+ import { OrganizationImpl } from "../organizations/organization.impl"
3
+ import { Context } from "../../context"
4
4
  import { Workspace } from "./workspace"
5
5
  import { WorkspaceImpl } from "./workspace.impl"
6
- import { OrganizationId } from "./organizations"
7
- import { RpcService } from "../services/rpcService"
8
- import { OrganizationWorkspaces } from "../dto/userInfoResponse"
9
- import { WorkspaceDto } from "../dto/workspacesResponse"
10
- import { ResponseUtils } from "../services/responseUtils"
6
+ import { OrganizationId } from "../organizations/organizations"
7
+ import { RpcService } from "../../services/rpcService"
8
+ import { OrganizationWorkspaces } from "../../dto/userInfoResponse"
9
+ import { WorkspaceDto } from "../../dto/workspacesResponse"
10
+ import { ResponseUtils } from "../../services/responseUtils"
11
+ import { UserProfileService } from "../../services/userProfileService"
12
+ import { UserProfile } from "../user/userProfile"
11
13
 
12
14
  export class WorkspacesImpl extends Workspaces {
13
15
  private readonly _workspaces: WorkspaceImpl[] = []
@@ -46,10 +48,10 @@ export class WorkspacesImpl extends Workspaces {
46
48
  description: string,
47
49
  regulation?: {
48
50
  isCreateNewGroup: boolean
49
- newGroupName: string
50
- groupIds: string[]
51
+ newGroupName?: string
52
+ groupIds?: string[]
51
53
  }
52
- ): Promise<Workspace> {
54
+ ): Promise<Workspace | undefined> {
53
55
  if (name === undefined || name === null || name.trim() === "") {
54
56
  throw new Error("Name is required, must be not empty")
55
57
  }
@@ -67,20 +69,6 @@ export class WorkspacesImpl extends Workspaces {
67
69
  ) {
68
70
  throw new Error("isCreateNewGroup is required, must be not empty")
69
71
  }
70
- if (
71
- regulation.newGroupName === undefined ||
72
- regulation.newGroupName === null ||
73
- regulation.newGroupName.trim() === ""
74
- ) {
75
- throw new Error("newGroupName is required, must be not empty")
76
- }
77
- if (
78
- regulation.groupIds === undefined ||
79
- regulation.groupIds === null ||
80
- regulation.groupIds.length === 0
81
- ) {
82
- throw new Error("groupIds is required, must be not empty")
83
- }
84
72
  }
85
73
 
86
74
  // send create request to the server
@@ -94,19 +82,25 @@ export class WorkspacesImpl extends Workspaces {
94
82
  description: description
95
83
  },
96
84
  regulation: {
97
- isCreateNewGroup: regulation?.isCreateNewGroup ?? false,
98
- newGroupName: regulation?.newGroupName ?? "",
99
- groupIds: regulation?.groupIds ?? []
85
+ isCreateNewGroup: regulation?.isCreateNewGroup,
86
+ newGroupName: regulation?.newGroupName,
87
+ groupIds: regulation?.groupIds
100
88
  }
101
89
  })
102
90
 
103
91
  // check response status
104
92
  if (ResponseUtils.isFail(response)) {
105
- await ResponseUtils.throwError("Failed to create workspace", response)
93
+ if (await ResponseUtils.isLimitReached()){
94
+ return undefined
95
+ }
96
+
97
+ await ResponseUtils.throwError(`Failed to create workspace, in organization: ${this.organization.id}`, response)
106
98
  }
107
99
 
108
100
  // parse workspace from the server's response
109
- const content = (await response!.json()).workspace as WorkspaceDto
101
+ const content = ((await response!.json()) as {
102
+ workspace: WorkspaceDto
103
+ }).workspace as WorkspaceDto
110
104
 
111
105
  // create workspace implementation
112
106
  const workspace = new WorkspaceImpl(this.organization, this.context)
@@ -115,6 +109,8 @@ export class WorkspacesImpl extends Workspaces {
115
109
  // add workspace to the collection
116
110
  this._workspaces.push(workspace)
117
111
 
112
+ await this.organization.accessGroups.reload()
113
+
118
114
  // dispatch event
119
115
  this.dispatch({
120
116
  type: WorkspacesEvent.ADDED,
@@ -139,7 +135,7 @@ export class WorkspacesImpl extends Workspaces {
139
135
 
140
136
  // check if workspace is already marked as deleted
141
137
  if (workspace.isMarkAsDeleted) {
142
- throw new Error(`Workspace ${id} is already marked as deleted`)
138
+ throw new Error(`Workspace ${id} is already marked as deleted, in organization: ${this.organization.id}`)
143
139
  }
144
140
 
145
141
  // mark workspace as deleted
@@ -155,7 +151,7 @@ export class WorkspacesImpl extends Workspaces {
155
151
  // check response status
156
152
  if (ResponseUtils.isFail(response)) {
157
153
  await ResponseUtils.throwError(
158
- `Failed to delete workspace: ${workspace.organization.name}/${workspace.name}:${id}`,
154
+ `Failed to delete workspace: ${workspace.organization.name}/${workspace.name}:${id}, in organization: ${this.organization.id}`,
159
155
  response
160
156
  )
161
157
  }
@@ -184,7 +180,8 @@ export class WorkspacesImpl extends Workspaces {
184
180
 
185
181
  // check response status
186
182
  if (ResponseUtils.isFail(response)) {
187
- await ResponseUtils.throwError("Failed to fetch workspaces.", response)
183
+ const userProfile = this.context.resolve(UserProfileService)?.userProfile as UserProfile
184
+ await ResponseUtils.throwError(`Failed to fetch workspaces in organization: ${organizationId}, userId: ${userProfile.id}, email: ${userProfile.email}`, response)
188
185
  }
189
186
 
190
187
  // parse workspaces from the server's response
@@ -1,4 +1,4 @@
1
- import { EventDispatcher } from "../events"
1
+ import { EventDispatcher } from "../../events"
2
2
  import { Workspace } from "./workspace"
3
3
 
4
4
  export type WorkspaceId = string
@@ -44,7 +44,11 @@ export abstract class Workspaces extends EventDispatcher<
44
44
  /**
45
45
  * Create workspace.
46
46
  */
47
- abstract create(name: string, description: string): Promise<Workspace>
47
+ abstract create(name: string, description: string, regulation?: {
48
+ isCreateNewGroup: boolean,
49
+ newGroupName?: string,
50
+ groupIds?: string[]
51
+ }): Promise<Workspace | undefined>
48
52
 
49
53
  /**
50
54
  * Delete workspace.
package/src/unitTest.ts CHANGED
@@ -3,7 +3,7 @@ export enum UnitTest {
3
3
  DO_NOT_START = 1 << 0,
4
4
  DO_NOT_PRINT_INITIALIZED_LOG = 1 << 1,
5
5
 
6
- DEFAULT = DO_NOT_START | DO_NOT_PRINT_INITIALIZED_LOG
6
+ DO_NOT_START_SDK = DO_NOT_START | DO_NOT_PRINT_INITIALIZED_LOG
7
7
  }
8
8
 
9
9
  export type UnitTestProfileSyncAction = () => void
@@ -17,7 +17,7 @@ class AppSdkUnitTest {
17
17
  }
18
18
 
19
19
  public static async test(
20
- unitTest: UnitTest = UnitTest.DEFAULT,
20
+ unitTest: UnitTest = UnitTest.DO_NOT_START_SDK,
21
21
  func: UnitTestProfileSyncAction | UnitTestProfileAsyncAction
22
22
  ): Promise<void> {
23
23
  this._stack.push(unitTest)
@@ -38,7 +38,7 @@ class AppSdkUnitTest {
38
38
  }
39
39
 
40
40
  export const appTest = async (
41
- unitTest: UnitTest = UnitTest.DEFAULT,
41
+ unitTest: UnitTest = UnitTest.DO_NOT_START_SDK,
42
42
  func: UnitTestProfileSyncAction | UnitTestProfileAsyncAction
43
43
  ): Promise<void> => {
44
44
  await AppSdkUnitTest.test(unitTest, func)
@@ -0,0 +1,68 @@
1
+ const getDocument = () => {
2
+ if (!(globalThis as any).document) {
3
+ (globalThis as any).document = {
4
+ cookie: ""
5
+ }
6
+ }
7
+ return document
8
+ }
9
+
10
+ const getNavigator = () => {
11
+ if (!(globalThis as any).navigator) {
12
+ (globalThis as any).navigator = {
13
+ userAgent: "",
14
+ hardwareConcurrency: 0
15
+ }
16
+ }
17
+ return navigator
18
+ }
19
+
20
+ const getWidow = () => {
21
+ if (!(globalThis as any).window) {
22
+ (globalThis as any).window = {
23
+ devicePixelRatio: 16 / 9.0,
24
+ sessionStorage: {},
25
+ localStorage: {}
26
+ }
27
+ }
28
+ return window
29
+ }
30
+
31
+ export const setCookie = (name: string, value: string | undefined): void => {
32
+ const doc = getDocument()
33
+ doc.cookie = `${name}=${value || ""};`
34
+ }
35
+
36
+ export const getCookie = (name: string): string | undefined => {
37
+ const doc = getDocument()
38
+ const nameValidator = `${name}=`
39
+ const cookieItems = doc.cookie.split(";")
40
+
41
+ for (let index = 0; index < cookieItems.length; index++) {
42
+ let cookie = cookieItems[index]
43
+
44
+ while (cookie.charAt(0) === " ") {
45
+ cookie = cookie.substring(1, cookie.length)
46
+ }
47
+
48
+ if (cookie.indexOf(nameValidator) === 0) {
49
+ return cookie.substring(nameValidator.length, cookie.length)
50
+ }
51
+ }
52
+
53
+ return undefined
54
+ }
55
+
56
+ export const createFingerprint = () => {
57
+ const nav = getNavigator()
58
+ const win = getWidow()
59
+ const fingerprint = new Map<string, any>()
60
+
61
+ fingerprint.set("userAgent", nav.userAgent)
62
+ fingerprint.set("hardware_concurrency", nav.hardwareConcurrency)
63
+ fingerprint.set("pixel_ratio", win.devicePixelRatio)
64
+ fingerprint.set("session_storage", win.sessionStorage)
65
+ fingerprint.set("local_storage", win.localStorage)
66
+
67
+ return fingerprint
68
+ }
@@ -0,0 +1,6 @@
1
+
2
+ export type Request = globalThis.Request
3
+ export type Response = globalThis.Response
4
+ export type Headers = globalThis.Headers
5
+ export type FormData = globalThis.FormData
6
+ export type fetch = typeof globalThis.fetch
@@ -0,0 +1,8 @@
1
+ // check if the object is null or undefined
2
+ export const isNullOrUndefined = (object: unknown): object is null | undefined => {
3
+ return object === null || object === undefined
4
+ }
5
+
6
+ export const isEmptyNullOrUndefined = (object: unknown): boolean => {
7
+ return isNullOrUndefined(object) || object === ""
8
+ }
package/.browserslistrc DELETED
@@ -1,5 +0,0 @@
1
- last 2 chrome version
2
- last 2 firefox version
3
- last 2 safari version
4
- last 2 edge version
5
- last 2 ie version
package/.editorconfig DELETED
@@ -1,25 +0,0 @@
1
- # Shared editor configurations that track the way prettier formats source.
2
- #
3
- # To use this in vscode:
4
- #
5
- # ext install EditorConfig
6
-
7
- root = true
8
-
9
- # Source files look unixy by default
10
- [*]
11
- end_of_line = lf
12
- insert_final_newline = true
13
-
14
- # Javascript and Typescript look like Google-style
15
- [*.{js,json,ts}]
16
- charset = utf-8
17
- indent_style = space
18
- indent_size = 2
19
- ij_javascript_use_semicolon_after_statement = false
20
- ij_typescript_use_semicolon_after_statement = false
21
- ij_typescript_use_double_quotes = true
22
- ij_javascript_use_double_quotes = true
23
-
24
- # Not currently supported by vscode, but is supported others, e.g. vim.
25
- max_line_length = 80
package/.eslintrc.json DELETED
@@ -1,44 +0,0 @@
1
- {
2
- "env": {
3
- "browser": true,
4
- "es2021": true
5
- },
6
- "extends": [
7
- "eslint:recommended",
8
- "plugin:@typescript-eslint/recommended"
9
- ],
10
- "parser": "@typescript-eslint/parser",
11
- "parserOptions": {
12
- "ecmaVersion": "latest",
13
- "sourceType": "module"
14
- },
15
- "plugins": [
16
- "@typescript-eslint"
17
- ],
18
- "ignorePatterns": [
19
- "node_modules/",
20
- "dist/"
21
- ],
22
- "rules": {
23
- "@typescript-eslint/space-before-function-paren": "off",
24
- "@typescript-eslint/semi": "off",
25
- "@typescript-eslint/member-delimiter-style": "off",
26
- "@typescript-eslint/no-explicit-any": "off",
27
- "indent": [
28
- "error",
29
- 2
30
- ],
31
- "linebreak-style": [
32
- "error",
33
- "unix"
34
- ],
35
- "quotes": [
36
- "error",
37
- "double"
38
- ],
39
- "semi": [
40
- "error",
41
- "never"
42
- ]
43
- }
44
- }
@@ -1,28 +0,0 @@
1
- name: Publish package to npmjs
2
- on:
3
- workflow_dispatch:
4
-
5
- jobs:
6
- publish:
7
- runs-on: ubuntu-latest
8
- steps:
9
- - uses: actions/checkout@v4
10
-
11
- - uses: actions/setup-node@v3
12
- with:
13
- node-version: '20.x'
14
- registry-url: 'https://registry.npmjs.org'
15
-
16
- - name: ⏩ CI Install ⏩
17
- run: npm ci
18
-
19
- - name: 🧪 Test 🧪
20
- run: npm test >> $GITHUB_STEP_SUMMARY | cat
21
-
22
- - name: 🧱 Build 🧱
23
- run: npm run build
24
-
25
- - name: 📢 Publish to npm 📢
26
- run: npm publish --access public
27
- env:
28
- NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
package/.prettierignore DELETED
@@ -1 +0,0 @@
1
- dist
package/.prettierrc DELETED
@@ -1,11 +0,0 @@
1
- {
2
- "singleQuote": true,
3
- "printWidth": 80,
4
- "quoteProps": "preserve",
5
- "trailingComma": "none",
6
- "arrowParens": "avoid",
7
- "semi": false,
8
- "tabWidth": 2,
9
- "useTabs": false,
10
- "spaceBeforeFunctionParen": false
11
- }
package/.yarnrc DELETED
@@ -1,2 +0,0 @@
1
- registry "https://registry.npmjs.org/"
2
- save-prefix ""
package/babel.config.js DELETED
@@ -1,6 +0,0 @@
1
- module.exports = {
2
- presets: [
3
- ['@babel/preset-env', { targets: { node: 'current' } }],
4
- '@babel/preset-typescript'
5
- ]
6
- }