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

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 +18 -0
  133. package/dist/src/services/requestBuilder.d.ts.map +1 -0
  134. package/dist/src/services/requestBuilder.js +118 -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 +119 -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 +55 -0
  169. package/dist/src/storages/chats/chat.d.ts.map +1 -0
  170. package/dist/src/storages/chats/chat.impl.d.ts +28 -0
  171. package/dist/src/storages/chats/chat.impl.d.ts.map +1 -0
  172. package/dist/src/storages/chats/chat.impl.js +106 -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 +130 -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 +26 -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 +162 -0
  316. package/src/storages/chats/answer.ts +53 -0
  317. package/src/storages/chats/chat.impl.ts +139 -0
  318. package/src/storages/chats/chat.ts +70 -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 +162 -0
  322. package/src/storages/files/file.ts +74 -0
  323. package/src/storages/{files.impl.ts → files/files.impl.ts} +88 -67
  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
@@ -7,7 +7,11 @@ import { DisposableContainer, type Lifetime } from "../disposable"
7
7
  import { type Service, ServiceContext } from "../services/service"
8
8
  import { CredentialService } from "../services/credentialService"
9
9
  import { MiddlewareService } from "../services/middlewareService"
10
- import { type CredentialBase } from "../credentials"
10
+ import {
11
+ DefaultCredential,
12
+ type CredentialBase,
13
+ AnonymousCredential
14
+ } from "../credentials"
11
15
  import { DataIslandApp } from "../dataIslandApp"
12
16
  import { RpcService } from "../services/rpcService"
13
17
  import { CommandService } from "../services/commandService"
@@ -17,9 +21,17 @@ import {
17
21
  } from "../commands/startCommandHandler"
18
22
  import { UserProfileService } from "../services/userProfileService"
19
23
  import { OrganizationService } from "../services/organizationService"
20
- import { Organizations } from "../storages/organizations"
21
- import { UserProfile } from "../storages/userProfile"
24
+ import { Organizations } from "../storages/organizations/organizations"
25
+ import { UserProfile } from "../storages/user/userProfile"
22
26
  import { isUnitTest, UnitTest } from "../unitTest"
27
+ import {
28
+ DeleteUserFullCommand,
29
+ DeleteUserFullCommandHandler
30
+ } from "../commands/deleteUserFullCommandHandler"
31
+ import { CookieService } from "../services/cookieService"
32
+ import { AnonymousService } from "../services/anonymousService"
33
+ import { Acquiring } from "../storages/acquirings/acquiring"
34
+ import { AcquiringService } from "../services/acquiringService"
23
35
 
24
36
  export class DataIslandAppImpl extends DataIslandApp {
25
37
  readonly name: string
@@ -34,7 +46,7 @@ export class DataIslandAppImpl extends DataIslandApp {
34
46
  this.name = name
35
47
  this._registry = new Registry()
36
48
  this._disposable = new DisposableContainer()
37
- this._context = new Context(this._registry, this._disposable.lifetime, name)
49
+ this._context = new Context(this._registry, this._disposable.lifetime, this)
38
50
 
39
51
  this._registry.map(Context).asValue(this._context)
40
52
  }
@@ -73,6 +85,10 @@ export class DataIslandAppImpl extends DataIslandApp {
73
85
  return this.resolve(UserProfileService)?.userProfile as UserProfile
74
86
  }
75
87
 
88
+ get acquiring(): Acquiring {
89
+ return (this.resolve(AcquiringService) as AcquiringService).acquiring
90
+ }
91
+
76
92
  async initialize(
77
93
  setup: ((builder: AppBuilder) => Promise<void>) | undefined
78
94
  ): Promise<void> {
@@ -83,8 +99,14 @@ export class DataIslandAppImpl extends DataIslandApp {
83
99
  builder.registerCommand(StartCommand, (context: Context) => {
84
100
  return new StartCommandHandler(context)
85
101
  })
102
+ builder.registerCommand(DeleteUserFullCommand, (context: Context) => {
103
+ return new DeleteUserFullCommandHandler(context)
104
+ })
86
105
 
87
106
  // register services
107
+ builder.registerService(CookieService, (context: ServiceContext) => {
108
+ return new CookieService(context)
109
+ })
88
110
  builder.registerService(CredentialService, (context: ServiceContext) => {
89
111
  return new CredentialService(context)
90
112
  })
@@ -103,6 +125,12 @@ export class DataIslandAppImpl extends DataIslandApp {
103
125
  builder.registerService(OrganizationService, (context: ServiceContext) => {
104
126
  return new OrganizationService(context)
105
127
  })
128
+ builder.registerService(AnonymousService, (context: ServiceContext) => {
129
+ return new AnonymousService(context)
130
+ })
131
+ builder.registerService(AcquiringService, (context: ServiceContext) => {
132
+ return new AcquiringService(context)
133
+ })
106
134
 
107
135
  // call customer setup
108
136
  if (setup !== undefined) {
@@ -123,10 +151,10 @@ export class DataIslandAppImpl extends DataIslandApp {
123
151
  this._context,
124
152
  this._disposable.defineNested()
125
153
  )
154
+ const serviceInstance = serviceFactory[1](serviceContext)
126
155
  serviceContext.lifetime.addCallback(() => {
127
- serviceContext.onUnregister()
156
+ serviceContext.onUnregister.call(serviceInstance)
128
157
  }, serviceContext)
129
- const serviceInstance = serviceFactory[1](serviceContext)
130
158
  services.push([serviceContext, serviceInstance])
131
159
  this._registry.map(serviceFactory[0]).asValue(serviceInstance)
132
160
  })
@@ -139,16 +167,14 @@ export class DataIslandAppImpl extends DataIslandApp {
139
167
  this.resolve(CommandService)?.register(command[0], command[1])
140
168
  })
141
169
 
142
- this.credential = builder.credential
143
-
144
170
  //-------------------------------------------------------------------------
145
171
  // register services
146
172
  //-------------------------------------------------------------------------
147
173
  const waitList: Array<Promise<void>> = []
148
174
  // call onRegister service's callback
149
- services.forEach(([serviceContext]) => {
175
+ services.forEach(([serviceContext, service]) => {
150
176
  if (typeof serviceContext.onRegister === "function") {
151
- waitList.push(serviceContext.onRegister())
177
+ waitList.push(serviceContext.onRegister.call(service))
152
178
  }
153
179
  })
154
180
 
@@ -161,9 +187,9 @@ export class DataIslandAppImpl extends DataIslandApp {
161
187
  //-------------------------------------------------------------------------
162
188
  waitList.length = 0
163
189
  // call onStart service's callback
164
- services.forEach(([serviceContext]) => {
190
+ services.forEach(([serviceContext, service]) => {
165
191
  if (typeof serviceContext.onStart === "function") {
166
- waitList.push(serviceContext.onStart())
192
+ waitList.push(serviceContext.onStart.call(service))
167
193
  }
168
194
  })
169
195
 
@@ -171,6 +197,22 @@ export class DataIslandAppImpl extends DataIslandApp {
171
197
  await Promise.all(waitList)
172
198
  //-------------------------------------------------------------------------
173
199
 
200
+ // set credential
201
+ this.credential = builder.credential
202
+
203
+ // Check anonymous authorization
204
+ if (!isUnitTest(UnitTest.DO_NOT_START) && builder.credential instanceof DefaultCredential) {
205
+ const anonymous = this.resolve(AnonymousService)!
206
+ const {
207
+ token,
208
+ isValid
209
+ } = await anonymous.getToken()
210
+
211
+ if (isValid) {
212
+ this.credential = new AnonymousCredential(token)
213
+ }
214
+ }
215
+
174
216
  // start app, execute start command
175
217
  if (!isUnitTest(UnitTest.DO_NOT_START)) {
176
218
  await this.context.execute(new StartCommand())
@@ -1,9 +1,21 @@
1
+ /**
2
+ * Constructor type.
3
+ */
1
4
  export type Constructor<T> = new (...args: any[]) => T
2
5
 
6
+ /**
7
+ * Provider interface.
8
+ */
3
9
  abstract class Provider {
10
+ /**
11
+ * Provide method.
12
+ */
4
13
  abstract provide(): any | undefined
5
14
  }
6
15
 
16
+ /**
17
+ * MethodProvider class.
18
+ */
7
19
  class MethodProvider<T> extends Provider {
8
20
  private instance?: T
9
21
  private provided: boolean = false
@@ -25,6 +37,9 @@ class MethodProvider<T> extends Provider {
25
37
  }
26
38
  }
27
39
 
40
+ /**
41
+ * ValueProvider class.
42
+ */
28
43
  class ValueProvider<T> extends Provider {
29
44
  constructor(private readonly value: T | undefined) {
30
45
  super()
@@ -35,44 +50,77 @@ class ValueProvider<T> extends Provider {
35
50
  }
36
51
  }
37
52
 
53
+ /**
54
+ * RegistryItem class.
55
+ */
38
56
  export class RegistryItem<T> {
39
57
  constructor(
40
58
  private readonly registry: Map<Constructor<any>, Provider>,
41
59
  private readonly type: Constructor<T>
42
- ) {}
60
+ ) {
61
+ }
43
62
 
63
+ /**
64
+ * As value method.
65
+ * @param value
66
+ */
44
67
  asValue(value: T): void {
45
68
  this.registry.set(this.type, new ValueProvider<T>(value))
46
69
  }
47
70
 
71
+ /**
72
+ * As provider method.
73
+ * @param provider
74
+ * @param oneTime
75
+ */
48
76
  asProvider<T>(provider: () => T, oneTime: boolean = false): void {
49
77
  this.registry.set(this.type, new MethodProvider<T>(provider, oneTime))
50
78
  }
51
79
 
80
+ /**
81
+ * As factory method.
82
+ * @param provider
83
+ */
52
84
  asFactory<T>(provider: () => T): void {
53
85
  this.registry.set(this.type, new MethodProvider<T>(provider, false))
54
86
  }
55
87
 
88
+ /**
89
+ * As singleton method.
90
+ * @param provider
91
+ */
56
92
  asSingleton<T>(provider: () => T): void {
57
93
  this.registry.set(this.type, new MethodProvider<T>(provider, true))
58
94
  }
59
95
  }
60
96
 
97
+ /**
98
+ * Registry class.
99
+ */
61
100
  export class Registry {
62
- private readonly services: Map<Constructor<any>, Provider>
63
-
64
- constructor() {
65
- this.services = new Map()
66
- }
101
+ private readonly services: Map<Constructor<any>, Provider> = new Map()
67
102
 
103
+ /**
104
+ * Map method.
105
+ * @param type
106
+ */
68
107
  map<T>(type: Constructor<T>): RegistryItem<T> {
69
108
  return new RegistryItem<T>(this.services, type)
70
109
  }
71
110
 
111
+ /**
112
+ * Set method.
113
+ * @param type
114
+ * @param provider
115
+ */
72
116
  set<T>(type: Constructor<T>, provider: Provider): void {
73
117
  this.services.set(type, provider)
74
118
  }
75
119
 
120
+ /**
121
+ * Get method.
122
+ * @param type
123
+ */
76
124
  get<T>(type: Constructor<T>): T | undefined {
77
125
  const provider = this.services.get(type)
78
126
  if (provider === undefined) {
package/src/middleware.ts CHANGED
@@ -1,3 +1,5 @@
1
+ import { Request, Response } from "./utils/request"
2
+
1
3
  /**
2
4
  * DataIsland App request middleware.
3
5
  */
@@ -0,0 +1,21 @@
1
+ import { Service, ServiceContext } from "./service"
2
+ import { AcquiringImpl } from "../storages/acquirings/acquiring.impl"
3
+ import { Acquiring } from "../storages/acquirings/acquiring"
4
+
5
+ export class AcquiringService extends Service {
6
+ private readonly _acquiring: AcquiringImpl
7
+
8
+ constructor(serviceContext: ServiceContext) {
9
+ super(serviceContext)
10
+
11
+ this._acquiring = new AcquiringImpl(serviceContext.context)
12
+ }
13
+
14
+ initialize(): Promise<void> {
15
+ return this._acquiring.initialize()
16
+ }
17
+
18
+ get acquiring(): Acquiring {
19
+ return this._acquiring
20
+ }
21
+ }
@@ -0,0 +1,43 @@
1
+ import { Service } from "./service"
2
+ import { CookieService } from "./cookieService"
3
+ import { createFingerprint } from "../utils/browserUtils"
4
+ import { RpcService } from "./rpcService"
5
+ import { ResponseUtils } from "./responseUtils"
6
+
7
+ export class AnonymousService extends Service {
8
+
9
+ async getToken(): Promise<{ token: string, isValid: boolean }> {
10
+ const cookie = this.resolve(CookieService)!
11
+ let token = cookie.anonymousToken
12
+ if (token === undefined || token === null || token.length === 0) {
13
+ const fingerprint = createFingerprint()
14
+ const response = await this.context
15
+ .resolve(RpcService)
16
+ ?.requestBuilder("api/v1/Users/anonymous")
17
+ .sendPutJson({
18
+ info: {
19
+ fingerprint: JSON.stringify({
20
+ userAgent: fingerprint.get("userAgent"),
21
+ language: fingerprint.get("language"),
22
+ hardwareConcurrency: fingerprint.get("hardware_concurrency"),
23
+ cookieEnabled: fingerprint.get("cookie_enabled"),
24
+ pixelRatio: fingerprint.get("pixel_ratio")
25
+ })
26
+ }
27
+ })
28
+
29
+ if (ResponseUtils.isFail(response)) {
30
+ await ResponseUtils.throwError("Failed to create anonymous token", response)
31
+ }
32
+
33
+ token = (await response!.json() as { token: string }).token
34
+
35
+ cookie.anonymousToken = token!
36
+ }
37
+
38
+ return {
39
+ token: token!,
40
+ isValid: token !== undefined && token !== null && token.length > 0
41
+ }
42
+ }
43
+ }
@@ -3,7 +3,8 @@ import { Context } from "../context"
3
3
  import { Constructor } from "../internal/registry"
4
4
 
5
5
  export abstract class CommandHandler<T> {
6
- constructor(protected readonly context: Context) {}
6
+ constructor(protected readonly context: Context) {
7
+ }
7
8
 
8
9
  resolve<T>(type: Constructor<T>): T | undefined {
9
10
  return this.context.resolve<T>(type)
@@ -12,7 +13,8 @@ export abstract class CommandHandler<T> {
12
13
  abstract execute(message: T): Promise<void>
13
14
  }
14
15
 
15
- export abstract class Command {}
16
+ export abstract class Command {
17
+ }
16
18
 
17
19
  export class CommandService extends Service {
18
20
  private readonly _registry: Map<
@@ -0,0 +1,16 @@
1
+ import { Service } from "./service"
2
+ import { getCookie, setCookie } from "../utils/browserUtils"
3
+
4
+ export class CookieService extends Service {
5
+ get anonymousToken(): string | undefined {
6
+ return getCookie("anonymous-token")
7
+ }
8
+
9
+ get anonymousTokenIsValid(): boolean {
10
+ return this.anonymousToken !== undefined && this.anonymousToken !== null && this.anonymousToken.length > 0
11
+ }
12
+
13
+ set anonymousToken(value: string | undefined) {
14
+ setCookie("anonymous-token", value)
15
+ }
16
+ }
@@ -0,0 +1 @@
1
+ export type HttpMethod = "POST" | "GET" | "PUT" | "DELETE" | "PATCH"
@@ -1,6 +1,7 @@
1
1
  import { Service } from "./service"
2
2
  import { type Middleware } from "../middleware"
3
3
  import { type Disposable } from "../disposable"
4
+ import { Request, Response } from "../utils/request"
4
5
 
5
6
  export class MiddlewareService extends Service {
6
7
  private _middlewares: Middleware[] = []
@@ -1,7 +1,7 @@
1
1
  import { Service } from "./service"
2
- import { Organizations } from "../storages/organizations"
2
+ import { Organizations } from "../storages/organizations/organizations"
3
3
  import { OrganizationDto, UserSettings } from "../dto/userInfoResponse"
4
- import { OrganizationsImpl } from "../storages/organizations.impl"
4
+ import { OrganizationsImpl } from "../storages/organizations/organizations.impl"
5
5
 
6
6
  export class OrganizationService extends Service {
7
7
  private _impl?: OrganizationsImpl
@@ -1,17 +1,19 @@
1
+ // import { Request, Response, Headers, FormData } from "../utils/request"
2
+
1
3
  export class RequestBuilder {
2
- private readonly _headers: Headers
4
+ private readonly _headers: Record<string, string>
3
5
  private readonly _searchParams: URLSearchParams
4
6
 
5
7
  constructor(
6
8
  private readonly _url: URL,
7
9
  private readonly _request: (req: Request) => Promise<Response>
8
10
  ) {
9
- this._headers = new Headers()
11
+ this._headers = {}
10
12
  this._searchParams = new URLSearchParams()
11
13
  }
12
14
 
13
15
  public header(name: string, value: string): RequestBuilder {
14
- this._headers.set(name, value)
16
+ this._headers[name] = value
15
17
  return this
16
18
  }
17
19
 
@@ -23,11 +25,11 @@ export class RequestBuilder {
23
25
  }
24
26
  if (headers instanceof Headers) {
25
27
  headers.forEach((value, name) => {
26
- this._headers.set(name, value)
28
+ this._headers[name] = value
27
29
  })
28
30
  } else {
29
31
  Object.entries(headers).forEach(([name, value]) => {
30
- this._headers.set(name, value)
32
+ this._headers[name] = value
31
33
  })
32
34
  }
33
35
  return this
@@ -58,7 +60,7 @@ export class RequestBuilder {
58
60
  const req = new Request(url, {
59
61
  method: "POST",
60
62
  headers: this._headers,
61
- body
63
+ body: body
62
64
  })
63
65
 
64
66
  // discard content type
@@ -73,7 +75,7 @@ export class RequestBuilder {
73
75
  public async sendPostJson(body: object | null | undefined): Promise<Response> {
74
76
  const url = this._url
75
77
  url.search = this._searchParams.toString()
76
- let json: string | null | undefined = null
78
+ let json: string | undefined = undefined
77
79
  if (body !== undefined && body !== null && typeof body === "object") {
78
80
  json = JSON.stringify(body)
79
81
  }
@@ -109,10 +111,26 @@ export class RequestBuilder {
109
111
  )
110
112
  }
111
113
 
114
+ public async sendDeleteJson(body: object | null | undefined): Promise<Response> {
115
+ const url = this._url
116
+ url.search = this._searchParams.toString()
117
+ let json: string | undefined = undefined
118
+ if (body !== undefined && body !== null && typeof body === "object") {
119
+ json = JSON.stringify(body)
120
+ }
121
+ return await this._request(
122
+ new Request(url, {
123
+ method: "DELETE",
124
+ headers: this._headers,
125
+ body: json
126
+ })
127
+ )
128
+ }
129
+
112
130
  public async sendPutJson(body: object | null | undefined): Promise<Response> {
113
131
  const url = this._url
114
132
  url.search = this._searchParams.toString()
115
- let json: string | null | undefined = null
133
+ let json: string | undefined = undefined
116
134
  if (body !== undefined && body !== null && typeof body === "object") {
117
135
  json = JSON.stringify(body)
118
136
  }
@@ -1,3 +1,6 @@
1
+ import { BadRequest } from "../dto/badRequestResponse"
2
+ import { Response } from "../utils/request"
3
+
1
4
  export class ResponseUtils {
2
5
  public static isOk(response?: Response | null): boolean {
3
6
  return response !== undefined && response !== null && response.ok
@@ -7,6 +10,15 @@ export class ResponseUtils {
7
10
  return !ResponseUtils.isOk(response)
8
11
  }
9
12
 
13
+ public static async isLimitReached(response?: Response | null): Promise<boolean> {
14
+ if (response?.status == 15){
15
+ if (((await response?.json()) as BadRequest).code == 15){
16
+ return true
17
+ }
18
+ }
19
+ return false
20
+ }
21
+
10
22
  public static async throwError(
11
23
  message: string,
12
24
  response: Response | undefined | null
@@ -1,6 +1,7 @@
1
1
  import { Service, type ServiceContext } from "./service"
2
2
  import { MiddlewareService } from "./middlewareService"
3
3
  import { RequestBuilder } from "./requestBuilder"
4
+ // import { Request, Response, Headers, fetch } from "../utils/request"
4
5
 
5
6
  /**
6
7
  * Options for the RpcService.
@@ -1,21 +1,36 @@
1
1
  import { Service } from "./service"
2
2
  import { RpcService } from "./rpcService"
3
- import { UserProfile } from "../storages/userProfile"
3
+ import { UserProfile } from "../storages/user/userProfile"
4
4
  import { UserInfoResponse } from "../dto/userInfoResponse"
5
5
  import { OrganizationService } from "./organizationService"
6
- import { UserProfileImpl } from "../storages/userProfile.impl"
6
+ import { UserProfileImpl } from "../storages/user/userProfile.impl"
7
7
  import { ResponseUtils } from "./responseUtils"
8
+ import { OrganizationsEvent } from "../storages/organizations/organizations"
8
9
 
9
10
  export class UserProfileService extends Service {
10
- private readonly impl: UserProfileImpl = new UserProfileImpl()
11
+ private readonly impl: UserProfileImpl = new UserProfileImpl(this.context)
11
12
 
12
13
  get userProfile(): UserProfile {
13
14
  return this.impl
14
15
  }
15
16
 
17
+ async merge(anonymous_token: string) {
18
+ const rpc = this.resolve(RpcService) as RpcService
19
+ const response = await rpc.requestBuilder("api/v1/Users/anonymous/merge")
20
+ .sendPostJson({
21
+ anonymousToken: anonymous_token
22
+ })
23
+
24
+ if (ResponseUtils.isFail(response)) {
25
+ await ResponseUtils.throwError("Failed to merge anonymous user", response)
26
+ }
27
+
28
+ await this.fetch()
29
+ }
30
+
16
31
  async fetch() {
17
32
  const rpc = this.resolve(RpcService) as RpcService
18
- const response = await rpc.requestBuilder("api/v1/Users/self2").sendGet()
33
+ const response = await rpc.requestBuilder("api/v2/Users/self").sendGet()
19
34
  if (ResponseUtils.isFail(response)) {
20
35
  await ResponseUtils.throwError("Failed to fetch user profile", response)
21
36
  }
@@ -34,5 +49,22 @@ export class UserProfileService extends Service {
34
49
  content.organizations,
35
50
  content.user.settings
36
51
  )
52
+
53
+ organizationService.organizations.subscribe(async (event) => {
54
+ this.updateUserSettings(event.data.id)
55
+ }, OrganizationsEvent.CURRENT_CHANGED)
56
+ }
57
+
58
+ async updateUserSettings(activeOrgId?: string, activeWorkspaceId?: string): Promise<void>{
59
+ const rpc = this.resolve(RpcService) as RpcService
60
+ const response = await rpc.requestBuilder("api/v1/Users/settings").sendPutJson({
61
+ settings: {
62
+ activeOrganizationId: activeOrgId,
63
+ activeWorkspaceId: activeWorkspaceId
64
+ }
65
+ })
66
+ if (ResponseUtils.isFail(response)) {
67
+ await ResponseUtils.throwError("Failed to update user settings", response)
68
+ }
37
69
  }
38
70
  }