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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (363) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +283 -37
  3. package/dist/index.d.ts +3 -0
  4. package/dist/index.d.ts.map +1 -0
  5. package/dist/index.js +3 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/package.json +103 -0
  8. package/dist/src/appBuilder.d.ts +44 -0
  9. package/dist/src/appBuilder.d.ts.map +1 -0
  10. package/dist/src/appBuilder.js +10 -0
  11. package/dist/src/appBuilder.js.map +1 -0
  12. package/dist/src/commands/deleteUserFullCommandHandler.d.ts +7 -0
  13. package/dist/src/commands/deleteUserFullCommandHandler.d.ts.map +1 -0
  14. package/dist/src/commands/deleteUserFullCommandHandler.js +21 -0
  15. package/dist/src/commands/deleteUserFullCommandHandler.js.map +1 -0
  16. package/dist/src/commands/startCommandHandler.d.ts +7 -0
  17. package/dist/src/commands/startCommandHandler.d.ts.map +1 -0
  18. package/dist/src/commands/startCommandHandler.js +27 -0
  19. package/dist/src/commands/startCommandHandler.js.map +1 -0
  20. package/dist/src/context.d.ts +24 -0
  21. package/dist/src/context.d.ts.map +1 -0
  22. package/dist/src/context.js +31 -0
  23. package/dist/src/context.js.map +1 -0
  24. package/dist/src/credentials.d.ts +33 -0
  25. package/dist/src/credentials.d.ts.map +1 -0
  26. package/dist/src/credentials.js +87 -0
  27. package/dist/src/credentials.js.map +1 -0
  28. package/dist/src/dataIslandApp.d.ts +55 -0
  29. package/dist/src/dataIslandApp.d.ts.map +1 -0
  30. package/dist/src/dataIslandApp.js +10 -0
  31. package/dist/src/dataIslandApp.js.map +1 -0
  32. package/dist/src/disposable.d.ts +84 -0
  33. package/dist/src/disposable.d.ts.map +1 -0
  34. package/dist/src/disposable.js +147 -0
  35. package/dist/src/disposable.js.map +1 -0
  36. package/dist/src/dto/accessGroupResponse.d.ts +30 -0
  37. package/dist/src/dto/accessGroupResponse.d.ts.map +1 -0
  38. package/dist/src/dto/accessGroupResponse.js +3 -0
  39. package/dist/src/dto/accessGroupResponse.js.map +1 -0
  40. package/dist/src/dto/acquiringResponse.d.ts +38 -0
  41. package/dist/src/dto/acquiringResponse.d.ts.map +1 -0
  42. package/dist/src/dto/acquiringResponse.js +12 -0
  43. package/dist/src/dto/acquiringResponse.js.map +1 -0
  44. package/dist/src/dto/badRequestResponse.d.ts +6 -0
  45. package/dist/src/dto/badRequestResponse.d.ts.map +1 -0
  46. package/dist/src/dto/badRequestResponse.js +3 -0
  47. package/dist/src/dto/badRequestResponse.js.map +1 -0
  48. package/dist/src/dto/chatResponse.d.ts +83 -0
  49. package/dist/src/dto/chatResponse.d.ts.map +1 -0
  50. package/dist/src/dto/chatResponse.js +45 -0
  51. package/dist/src/dto/chatResponse.js.map +1 -0
  52. package/dist/src/dto/limitsResponse.d.ts +29 -0
  53. package/dist/src/dto/limitsResponse.d.ts.map +1 -0
  54. package/dist/src/dto/limitsResponse.js +13 -0
  55. package/dist/src/dto/limitsResponse.js.map +1 -0
  56. package/dist/src/dto/statisticsResponse.d.ts +11 -0
  57. package/dist/src/dto/statisticsResponse.d.ts.map +1 -0
  58. package/dist/src/dto/statisticsResponse.js +3 -0
  59. package/dist/src/dto/statisticsResponse.js.map +1 -0
  60. package/dist/src/dto/userInfoResponse.d.ts +88 -0
  61. package/dist/src/dto/userInfoResponse.d.ts.map +1 -0
  62. package/dist/src/dto/userInfoResponse.js +3 -0
  63. package/dist/src/dto/userInfoResponse.js.map +1 -0
  64. package/dist/src/dto/workspacesResponse.d.ts +45 -0
  65. package/dist/src/dto/workspacesResponse.d.ts.map +1 -0
  66. package/dist/src/dto/workspacesResponse.js +3 -0
  67. package/dist/src/dto/workspacesResponse.js.map +1 -0
  68. package/dist/src/events.d.ts +17 -0
  69. package/dist/src/events.d.ts.map +1 -0
  70. package/dist/src/events.js +52 -0
  71. package/dist/src/events.js.map +1 -0
  72. package/dist/src/index.d.ts +66 -0
  73. package/dist/src/index.d.ts.map +1 -0
  74. package/dist/src/index.js +113 -0
  75. package/dist/src/index.js.map +1 -0
  76. package/dist/src/internal/app.impl.d.ts +30 -0
  77. package/dist/src/internal/app.impl.d.ts.map +1 -0
  78. package/dist/src/internal/app.impl.js +180 -0
  79. package/dist/src/internal/app.impl.js.map +1 -0
  80. package/dist/src/internal/appBuilder.impl.d.ts +27 -0
  81. package/dist/src/internal/appBuilder.impl.d.ts.map +1 -0
  82. package/dist/src/internal/appBuilder.impl.js +71 -0
  83. package/dist/src/internal/appBuilder.impl.js.map +1 -0
  84. package/dist/src/internal/createApp.impl.d.ts +4 -0
  85. package/dist/src/internal/createApp.impl.d.ts.map +1 -0
  86. package/dist/src/internal/createApp.impl.js +11 -0
  87. package/dist/src/internal/createApp.impl.js.map +1 -0
  88. package/dist/src/internal/registry.d.ts +66 -0
  89. package/dist/src/internal/registry.d.ts.map +1 -0
  90. package/dist/src/internal/registry.js +114 -0
  91. package/dist/src/internal/registry.js.map +1 -0
  92. package/dist/src/middleware.d.ts +6 -0
  93. package/dist/src/middleware.d.ts.map +1 -0
  94. package/dist/src/middleware.js +3 -0
  95. package/dist/src/middleware.js.map +1 -0
  96. package/dist/src/services/acquiringService.d.ts +8 -0
  97. package/dist/src/services/acquiringService.d.ts.map +1 -0
  98. package/dist/src/services/acquiringService.js +40 -0
  99. package/dist/src/services/acquiringService.js.map +1 -0
  100. package/dist/src/services/anonymousService.d.ts +8 -0
  101. package/dist/src/services/anonymousService.d.ts.map +1 -0
  102. package/dist/src/services/anonymousService.js +41 -0
  103. package/dist/src/services/anonymousService.js.map +1 -0
  104. package/dist/src/services/commandService.d.ts +18 -0
  105. package/dist/src/services/commandService.d.ts.map +1 -0
  106. package/dist/src/services/commandService.js +40 -0
  107. package/dist/src/services/commandService.js.map +1 -0
  108. package/dist/src/services/cookieService.d.ts +7 -0
  109. package/dist/src/services/cookieService.d.ts.map +1 -0
  110. package/dist/src/services/cookieService.js +18 -0
  111. package/dist/src/services/cookieService.js.map +1 -0
  112. package/dist/src/services/credentialService.d.ts +9 -0
  113. package/dist/src/services/credentialService.d.ts.map +1 -0
  114. package/dist/src/services/credentialService.js +26 -0
  115. package/dist/src/services/credentialService.js.map +1 -0
  116. package/dist/src/services/httpMethod.d.ts +2 -0
  117. package/dist/src/services/httpMethod.d.ts.map +1 -0
  118. package/dist/src/services/httpMethod.js +3 -0
  119. package/dist/src/services/httpMethod.js.map +1 -0
  120. package/dist/src/services/middlewareService.d.ts +10 -0
  121. package/dist/src/services/middlewareService.d.ts.map +1 -0
  122. package/dist/src/services/middlewareService.js +34 -0
  123. package/dist/src/services/middlewareService.js.map +1 -0
  124. package/dist/src/services/organizationService.d.ts +10 -0
  125. package/dist/src/services/organizationService.d.ts.map +1 -0
  126. package/dist/src/services/organizationService.js +19 -0
  127. package/dist/src/services/organizationService.js.map +1 -0
  128. package/dist/src/services/requestBuilder.d.ts +17 -0
  129. package/dist/src/services/requestBuilder.d.ts.map +1 -0
  130. package/dist/src/services/requestBuilder.js +105 -0
  131. package/dist/src/services/requestBuilder.js.map +1 -0
  132. package/dist/src/services/responseUtils.d.ts +8 -0
  133. package/dist/src/services/responseUtils.d.ts.map +1 -0
  134. package/dist/src/services/responseUtils.js +40 -0
  135. package/dist/src/services/responseUtils.js.map +1 -0
  136. package/dist/src/services/rpcService.d.ts +77 -0
  137. package/dist/src/services/rpcService.d.ts.map +1 -0
  138. package/dist/src/services/rpcService.js +125 -0
  139. package/dist/src/services/rpcService.js.map +1 -0
  140. package/dist/src/services/service.d.ts +21 -0
  141. package/dist/src/services/service.d.ts.map +1 -0
  142. package/dist/src/services/service.js +41 -0
  143. package/dist/src/services/service.js.map +1 -0
  144. package/dist/src/services/userProfileService.d.ts +9 -0
  145. package/dist/src/services/userProfileService.d.ts.map +1 -0
  146. package/dist/src/services/userProfileService.js +43 -0
  147. package/dist/src/services/userProfileService.js.map +1 -0
  148. package/dist/src/storages/chats/answer.d.ts +41 -0
  149. package/dist/src/storages/chats/answer.d.ts.map +1 -0
  150. package/dist/src/storages/chats/answer.impl.d.ts +29 -0
  151. package/dist/src/storages/chats/answer.impl.d.ts.map +1 -0
  152. package/dist/src/storages/chats/answer.impl.js +116 -0
  153. package/dist/src/storages/chats/answer.impl.js.map +1 -0
  154. package/dist/src/storages/chats/answer.js +15 -0
  155. package/dist/src/storages/chats/answer.js.map +1 -0
  156. package/dist/src/storages/chats/chat.d.ts +43 -0
  157. package/dist/src/storages/chats/chat.d.ts.map +1 -0
  158. package/dist/src/storages/chats/chat.impl.d.ts +25 -0
  159. package/dist/src/storages/chats/chat.impl.d.ts.map +1 -0
  160. package/dist/src/storages/chats/chat.impl.js +85 -0
  161. package/dist/src/storages/chats/chat.impl.js.map +1 -0
  162. package/dist/src/storages/chats/chat.js +12 -0
  163. package/dist/src/storages/chats/chat.js.map +1 -0
  164. package/dist/src/storages/chats/chats.d.ts +45 -0
  165. package/dist/src/storages/chats/chats.d.ts.map +1 -0
  166. package/dist/src/storages/chats/chats.impl.d.ts +19 -0
  167. package/dist/src/storages/chats/chats.impl.d.ts.map +1 -0
  168. package/dist/src/storages/chats/chats.impl.js +147 -0
  169. package/dist/src/storages/chats/chats.impl.js.map +1 -0
  170. package/dist/src/storages/chats/chats.js +16 -0
  171. package/dist/src/storages/chats/chats.js.map +1 -0
  172. package/dist/src/storages/files/file.d.ts +47 -0
  173. package/dist/src/storages/files/file.d.ts.map +1 -0
  174. package/dist/src/storages/files/file.impl.d.ts +25 -0
  175. package/dist/src/storages/files/file.impl.d.ts.map +1 -0
  176. package/dist/src/storages/files/file.impl.js +93 -0
  177. package/dist/src/storages/files/file.impl.js.map +1 -0
  178. package/dist/src/storages/files/file.js +17 -0
  179. package/dist/src/storages/files/file.js.map +1 -0
  180. package/dist/src/storages/files/files.d.ts +39 -0
  181. package/dist/src/storages/files/files.d.ts.map +1 -0
  182. package/dist/src/storages/files/files.impl.d.ts +24 -0
  183. package/dist/src/storages/files/files.impl.d.ts.map +1 -0
  184. package/dist/src/storages/files/files.impl.js +168 -0
  185. package/dist/src/storages/files/files.impl.js.map +1 -0
  186. package/dist/src/storages/files/files.js +20 -0
  187. package/dist/src/storages/files/files.js.map +1 -0
  188. package/dist/src/storages/files/filesPage.d.ts +28 -0
  189. package/dist/src/storages/files/filesPage.d.ts.map +1 -0
  190. package/dist/src/storages/files/filesPage.impl.d.ts +15 -0
  191. package/dist/src/storages/files/filesPage.impl.d.ts.map +1 -0
  192. package/dist/src/storages/files/filesPage.impl.js +38 -0
  193. package/dist/src/storages/files/filesPage.impl.js.map +1 -0
  194. package/dist/src/storages/files/filesPage.js +10 -0
  195. package/dist/src/storages/files/filesPage.js.map +1 -0
  196. package/dist/src/storages/groups/group.d.ts +63 -0
  197. package/dist/src/storages/groups/group.d.ts.map +1 -0
  198. package/dist/src/storages/groups/group.impl.d.ts +38 -0
  199. package/dist/src/storages/groups/group.impl.d.ts.map +1 -0
  200. package/dist/src/storages/groups/group.impl.js +210 -0
  201. package/dist/src/storages/groups/group.impl.js.map +1 -0
  202. package/dist/src/storages/groups/group.js +15 -0
  203. package/dist/src/storages/groups/group.js.map +1 -0
  204. package/dist/src/storages/groups/groups.d.ts +39 -0
  205. package/dist/src/storages/groups/groups.d.ts.map +1 -0
  206. package/dist/src/storages/groups/groups.impl.d.ts +30 -0
  207. package/dist/src/storages/groups/groups.impl.d.ts.map +1 -0
  208. package/dist/src/storages/groups/groups.impl.js +132 -0
  209. package/dist/src/storages/groups/groups.impl.js.map +1 -0
  210. package/dist/src/storages/groups/groups.js +20 -0
  211. package/dist/src/storages/groups/groups.js.map +1 -0
  212. package/dist/src/storages/organizations/organization.d.ts +95 -0
  213. package/dist/src/storages/organizations/organization.d.ts.map +1 -0
  214. package/dist/src/storages/organizations/organization.impl.d.ts +42 -0
  215. package/dist/src/storages/organizations/organization.impl.d.ts.map +1 -0
  216. package/dist/src/storages/organizations/organization.impl.js +240 -0
  217. package/dist/src/storages/organizations/organization.impl.js.map +1 -0
  218. package/dist/src/storages/organizations/organization.js +18 -0
  219. package/dist/src/storages/organizations/organization.js.map +1 -0
  220. package/dist/src/storages/organizations/organizations.d.ts +46 -0
  221. package/dist/src/storages/organizations/organizations.d.ts.map +1 -0
  222. package/dist/src/storages/organizations/organizations.impl.d.ts +38 -0
  223. package/dist/src/storages/organizations/organizations.impl.d.ts.map +1 -0
  224. package/dist/src/storages/organizations/organizations.impl.js +158 -0
  225. package/dist/src/storages/organizations/organizations.impl.js.map +1 -0
  226. package/dist/src/storages/organizations/organizations.js +20 -0
  227. package/dist/src/storages/organizations/organizations.js.map +1 -0
  228. package/dist/src/storages/user/userProfile.d.ts +54 -0
  229. package/dist/src/storages/user/userProfile.d.ts.map +1 -0
  230. package/dist/src/storages/user/userProfile.impl.d.ts +21 -0
  231. package/dist/src/storages/user/userProfile.impl.d.ts.map +1 -0
  232. package/dist/src/storages/user/userProfile.impl.js +114 -0
  233. package/dist/src/storages/user/userProfile.impl.js.map +1 -0
  234. package/dist/src/storages/user/userProfile.js +12 -0
  235. package/dist/src/storages/user/userProfile.js.map +1 -0
  236. package/dist/src/storages/workspaces/workspace.d.ts +44 -0
  237. package/dist/src/storages/workspaces/workspace.d.ts.map +1 -0
  238. package/dist/src/storages/workspaces/workspace.impl.d.ts +23 -0
  239. package/dist/src/storages/workspaces/workspace.impl.d.ts.map +1 -0
  240. package/dist/src/storages/workspaces/workspace.impl.js +98 -0
  241. package/dist/src/storages/workspaces/workspace.impl.js.map +1 -0
  242. package/dist/src/storages/workspaces/workspace.js +18 -0
  243. package/dist/src/storages/workspaces/workspace.js.map +1 -0
  244. package/dist/src/storages/workspaces/workspaces.d.ts +47 -0
  245. package/dist/src/storages/workspaces/workspaces.d.ts.map +1 -0
  246. package/dist/src/storages/workspaces/workspaces.impl.d.ts +33 -0
  247. package/dist/src/storages/workspaces/workspaces.impl.d.ts.map +1 -0
  248. package/dist/src/storages/workspaces/workspaces.impl.js +152 -0
  249. package/dist/src/storages/workspaces/workspaces.impl.js.map +1 -0
  250. package/dist/src/storages/workspaces/workspaces.js +19 -0
  251. package/dist/src/storages/workspaces/workspaces.js.map +1 -0
  252. package/dist/src/unitTest.d.ts +12 -0
  253. package/dist/src/unitTest.d.ts.map +1 -0
  254. package/dist/src/unitTest.js +44 -0
  255. package/dist/src/unitTest.js.map +1 -0
  256. package/dist/src/utils/browserUtils.d.ts +4 -0
  257. package/dist/src/utils/browserUtils.d.ts.map +1 -0
  258. package/dist/src/utils/browserUtils.js +64 -0
  259. package/dist/src/utils/browserUtils.js.map +1 -0
  260. package/dist/src/utils/request.d.ts +6 -0
  261. package/dist/src/utils/request.d.ts.map +1 -0
  262. package/dist/src/utils/request.js +3 -0
  263. package/dist/src/utils/request.js.map +1 -0
  264. package/dist/src/utils/utils.d.ts +3 -0
  265. package/dist/src/utils/utils.d.ts.map +1 -0
  266. package/dist/src/utils/utils.js +13 -0
  267. package/dist/src/utils/utils.js.map +1 -0
  268. package/index.d.ts +1 -0
  269. package/index.js +1 -0
  270. package/package.json +46 -5
  271. package/src/commands/deleteUserFullCommandHandler.ts +19 -0
  272. package/src/commands/startCommandHandler.ts +16 -5
  273. package/src/context.ts +4 -2
  274. package/src/credentials.ts +22 -0
  275. package/src/{appSdk.ts → dataIslandApp.ts} +9 -3
  276. package/src/disposable.ts +18 -5
  277. package/src/dto/accessGroupResponse.ts +19 -16
  278. package/src/dto/acquiringResponse.ts +45 -0
  279. package/src/dto/badRequestResponse.ts +6 -0
  280. package/src/dto/chatResponse.ts +59 -54
  281. package/src/dto/limitsResponse.ts +33 -0
  282. package/src/dto/statisticsResponse.ts +12 -0
  283. package/src/dto/userInfoResponse.ts +59 -2
  284. package/src/dto/workspacesResponse.ts +5 -3
  285. package/src/index.ts +46 -24
  286. package/src/internal/app.impl.ts +52 -10
  287. package/src/internal/createApp.impl.ts +4 -4
  288. package/src/internal/registry.ts +54 -6
  289. package/src/middleware.ts +2 -0
  290. package/src/services/acquiringService.ts +50 -0
  291. package/src/services/anonymousService.ts +43 -0
  292. package/src/services/commandService.ts +4 -2
  293. package/src/services/cookieService.ts +16 -0
  294. package/src/services/httpMethod.ts +1 -0
  295. package/src/services/middlewareService.ts +1 -0
  296. package/src/services/organizationService.ts +2 -2
  297. package/src/services/requestBuilder.ts +10 -8
  298. package/src/services/responseUtils.ts +12 -0
  299. package/src/services/rpcService.ts +1 -0
  300. package/src/services/userProfileService.ts +18 -4
  301. package/src/storages/chats/answer.impl.ts +160 -0
  302. package/src/storages/chats/answer.ts +53 -0
  303. package/src/storages/chats/chat.impl.ts +107 -0
  304. package/src/storages/chats/chat.ts +55 -0
  305. package/src/storages/chats/chats.impl.ts +204 -0
  306. package/src/storages/chats/chats.ts +53 -0
  307. package/src/storages/files/file.impl.ts +111 -0
  308. package/src/storages/files/file.ts +58 -0
  309. package/src/storages/{files.impl.ts → files/files.impl.ts} +67 -46
  310. package/src/storages/{files.ts → files/files.ts} +14 -7
  311. package/src/storages/files/filesPage.impl.ts +37 -0
  312. package/src/storages/{filesPage.ts → files/filesPage.ts} +6 -0
  313. package/src/storages/groups/group.impl.ts +276 -0
  314. package/src/storages/groups/group.ts +73 -0
  315. package/src/storages/groups/groups.impl.ts +175 -0
  316. package/src/storages/groups/groups.ts +45 -0
  317. package/src/storages/organizations/organization.impl.ts +357 -0
  318. package/src/storages/organizations/organization.ts +118 -0
  319. package/src/storages/{organizations.impl.ts → organizations/organizations.impl.ts} +31 -13
  320. package/src/storages/{organizations.ts → organizations/organizations.ts} +1 -1
  321. package/src/storages/user/userProfile.impl.ts +136 -0
  322. package/src/storages/user/userProfile.ts +69 -0
  323. package/src/storages/{workspace.impl.ts → workspaces/workspace.impl.ts} +27 -7
  324. package/src/storages/{workspace.ts → workspaces/workspace.ts} +8 -3
  325. package/src/storages/{workspaces.impl.ts → workspaces/workspaces.impl.ts} +27 -32
  326. package/src/storages/{workspaces.ts → workspaces/workspaces.ts} +6 -2
  327. package/src/unitTest.ts +14 -3
  328. package/src/utils/browserUtils.ts +68 -0
  329. package/src/utils/request.ts +6 -0
  330. package/src/utils/utils.ts +8 -0
  331. package/.browserslistrc +0 -5
  332. package/.editorconfig +0 -25
  333. package/.eslintrc.json +0 -44
  334. package/.github/workflows/publish-npm.yml +0 -28
  335. package/.prettierignore +0 -1
  336. package/.prettierrc +0 -11
  337. package/.yarnrc +0 -2
  338. package/babel.config.js +0 -6
  339. package/jest.config.ts +0 -199
  340. package/jest.setup.ts +0 -2
  341. package/src/storages/chat.ts +0 -21
  342. package/src/storages/chats.ts +0 -17
  343. package/src/storages/file.impl.ts +0 -69
  344. package/src/storages/file.ts +0 -28
  345. package/src/storages/groups.impl.ts +0 -337
  346. package/src/storages/groups.ts +0 -43
  347. package/src/storages/organization.impl.ts +0 -68
  348. package/src/storages/organization.ts +0 -33
  349. package/src/storages/userProfile.impl.ts +0 -56
  350. package/src/storages/userProfile.ts +0 -42
  351. package/test/commands.test.ts +0 -24
  352. package/test/data/test_file.pdf +0 -0
  353. package/test/disposable.test.ts +0 -39
  354. package/test/events.test.ts +0 -151
  355. package/test/files.test.ts +0 -52
  356. package/test/index.test.ts +0 -122
  357. package/test/organization.test.ts +0 -57
  358. package/test/registry.test.ts +0 -44
  359. package/test/services.test.ts +0 -56
  360. package/test/setup.ts +0 -54
  361. package/test/unitTest.test.ts +0 -21
  362. package/test/workspace.test.ts +0 -71
  363. package/tsconfig.json +0 -31
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isUnitTest = exports.appTestCurrent = exports.appTest = exports.UnitTest = void 0;
4
+ var UnitTest;
5
+ (function (UnitTest) {
6
+ UnitTest[UnitTest["DO_NOTHING"] = 0] = "DO_NOTHING";
7
+ UnitTest[UnitTest["DO_NOT_START"] = 1] = "DO_NOT_START";
8
+ UnitTest[UnitTest["DO_NOT_PRINT_INITIALIZED_LOG"] = 2] = "DO_NOT_PRINT_INITIALIZED_LOG";
9
+ UnitTest[UnitTest["DO_NOT_START_SDK"] = 3] = "DO_NOT_START_SDK";
10
+ })(UnitTest || (exports.UnitTest = UnitTest = {}));
11
+ class AppSdkUnitTest {
12
+ static get current() {
13
+ return this._stack[this._stack.length - 1];
14
+ }
15
+ static async test(unitTest = UnitTest.DO_NOT_START_SDK, func) {
16
+ this._stack.push(unitTest);
17
+ if (func) {
18
+ const result = func();
19
+ if (result) {
20
+ await result;
21
+ }
22
+ AppSdkUnitTest.end();
23
+ }
24
+ }
25
+ static end() {
26
+ if (this._stack.length > 1) {
27
+ this._stack.pop();
28
+ }
29
+ }
30
+ }
31
+ AppSdkUnitTest._stack = [UnitTest.DO_NOTHING];
32
+ const appTest = async (unitTest = UnitTest.DO_NOT_START_SDK, func) => {
33
+ await AppSdkUnitTest.test(unitTest, func);
34
+ };
35
+ exports.appTest = appTest;
36
+ const appTestCurrent = () => {
37
+ return AppSdkUnitTest.current;
38
+ };
39
+ exports.appTestCurrent = appTestCurrent;
40
+ const isUnitTest = (mask) => {
41
+ return (AppSdkUnitTest.current & mask) == mask;
42
+ };
43
+ exports.isUnitTest = isUnitTest;
44
+ //# sourceMappingURL=unitTest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unitTest.js","sourceRoot":"","sources":["../../src/unitTest.ts"],"names":[],"mappings":";;;AAAA,IAAY,QAMX;AAND,WAAY,QAAQ;IAClB,mDAAc,CAAA;IACd,uDAAqB,CAAA;IACrB,uFAAqC,CAAA;IAErC,+DAA8D,CAAA;AAChE,CAAC,EANW,QAAQ,wBAAR,QAAQ,QAMnB;AAKD,MAAM,cAAc;IAGX,MAAM,KAAK,OAAO;QACvB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAC5C,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,IAAI,CACtB,WAAqB,QAAQ,CAAC,gBAAgB,EAC9C,IAA4D;QAE5D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC1B,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,MAAM,GAAG,IAAI,EAAE,CAAA;YACrB,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,MAAM,CAAA;YACd,CAAC;YACD,cAAc,CAAC,GAAG,EAAE,CAAA;QACtB,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,GAAG;QAChB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAA;QACnB,CAAC;IACH,CAAC;;AAxBc,qBAAM,GAAe,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;AA2BpD,MAAM,OAAO,GAAG,KAAK,EAC1B,WAAqB,QAAQ,CAAC,gBAAgB,EAC9C,IAA4D,EAC7C,EAAE;IACjB,MAAM,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;AAC3C,CAAC,CAAA;AALY,QAAA,OAAO,WAKnB;AAEM,MAAM,cAAc,GAAG,GAAa,EAAE;IAC3C,OAAO,cAAc,CAAC,OAAO,CAAA;AAC/B,CAAC,CAAA;AAFY,QAAA,cAAc,kBAE1B;AAEM,MAAM,UAAU,GAAG,CAAC,IAAc,EAAW,EAAE;IACpD,OAAO,CAAC,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,CAAA;AAChD,CAAC,CAAA;AAFY,QAAA,UAAU,cAEtB"}
@@ -0,0 +1,4 @@
1
+ export declare const setCookie: (name: string, value: string | undefined) => void;
2
+ export declare const getCookie: (name: string) => string | undefined;
3
+ export declare const createFingerprint: () => Map<string, any>;
4
+ //# sourceMappingURL=browserUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browserUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/browserUtils.ts"],"names":[],"mappings":"AA8BA,eAAO,MAAM,SAAS,SAAU,MAAM,SAAS,MAAM,GAAG,SAAS,KAAG,IAGnE,CAAA;AAED,eAAO,MAAM,SAAS,SAAU,MAAM,KAAG,MAAM,GAAG,SAkBjD,CAAA;AAED,eAAO,MAAM,iBAAiB,wBAY7B,CAAA"}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createFingerprint = exports.getCookie = exports.setCookie = void 0;
4
+ const getDocument = () => {
5
+ if (!globalThis.document) {
6
+ globalThis.document = {
7
+ cookie: ""
8
+ };
9
+ }
10
+ return document;
11
+ };
12
+ const getNavigator = () => {
13
+ if (!globalThis.navigator) {
14
+ globalThis.navigator = {
15
+ userAgent: "",
16
+ hardwareConcurrency: 0
17
+ };
18
+ }
19
+ return navigator;
20
+ };
21
+ const getWidow = () => {
22
+ if (!globalThis.window) {
23
+ globalThis.window = {
24
+ devicePixelRatio: 16 / 9.0,
25
+ sessionStorage: {},
26
+ localStorage: {}
27
+ };
28
+ }
29
+ return window;
30
+ };
31
+ const setCookie = (name, value) => {
32
+ const doc = getDocument();
33
+ doc.cookie = `${name}=${value || ""};`;
34
+ };
35
+ exports.setCookie = setCookie;
36
+ const getCookie = (name) => {
37
+ const doc = getDocument();
38
+ const nameValidator = `${name}=`;
39
+ const cookieItems = doc.cookie.split(";");
40
+ for (let index = 0; index < cookieItems.length; index++) {
41
+ let cookie = cookieItems[index];
42
+ while (cookie.charAt(0) === " ") {
43
+ cookie = cookie.substring(1, cookie.length);
44
+ }
45
+ if (cookie.indexOf(nameValidator) === 0) {
46
+ return cookie.substring(nameValidator.length, cookie.length);
47
+ }
48
+ }
49
+ return undefined;
50
+ };
51
+ exports.getCookie = getCookie;
52
+ const createFingerprint = () => {
53
+ const nav = getNavigator();
54
+ const win = getWidow();
55
+ const fingerprint = new Map();
56
+ fingerprint.set("userAgent", nav.userAgent);
57
+ fingerprint.set("hardware_concurrency", nav.hardwareConcurrency);
58
+ fingerprint.set("pixel_ratio", win.devicePixelRatio);
59
+ fingerprint.set("session_storage", win.sessionStorage);
60
+ fingerprint.set("local_storage", win.localStorage);
61
+ return fingerprint;
62
+ };
63
+ exports.createFingerprint = createFingerprint;
64
+ //# sourceMappingURL=browserUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browserUtils.js","sourceRoot":"","sources":["../../../src/utils/browserUtils.ts"],"names":[],"mappings":";;;AAAA,MAAM,WAAW,GAAG,GAAG,EAAE;IACvB,IAAI,CAAE,UAAkB,CAAC,QAAQ,EAAE,CAAC;QACjC,UAAkB,CAAC,QAAQ,GAAG;YAC7B,MAAM,EAAE,EAAE;SACX,CAAA;IACH,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AAED,MAAM,YAAY,GAAG,GAAG,EAAE;IACxB,IAAI,CAAE,UAAkB,CAAC,SAAS,EAAE,CAAC;QAClC,UAAkB,CAAC,SAAS,GAAG;YAC9B,SAAS,EAAE,EAAE;YACb,mBAAmB,EAAE,CAAC;SACvB,CAAA;IACH,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAED,MAAM,QAAQ,GAAG,GAAG,EAAE;IACpB,IAAI,CAAE,UAAkB,CAAC,MAAM,EAAE,CAAC;QAC/B,UAAkB,CAAC,MAAM,GAAG;YAC3B,gBAAgB,EAAE,EAAE,GAAG,GAAG;YAC1B,cAAc,EAAE,EAAE;YAClB,YAAY,EAAE,EAAE;SACjB,CAAA;IACH,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAEM,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,KAAyB,EAAQ,EAAE;IACzE,MAAM,GAAG,GAAG,WAAW,EAAE,CAAA;IACzB,GAAG,CAAC,MAAM,GAAG,GAAG,IAAI,IAAI,KAAK,IAAI,EAAE,GAAG,CAAA;AACxC,CAAC,CAAA;AAHY,QAAA,SAAS,aAGrB;AAEM,MAAM,SAAS,GAAG,CAAC,IAAY,EAAsB,EAAE;IAC5D,MAAM,GAAG,GAAG,WAAW,EAAE,CAAA;IACzB,MAAM,aAAa,GAAG,GAAG,IAAI,GAAG,CAAA;IAChC,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAEzC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QACxD,IAAI,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,CAAA;QAE/B,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YAChC,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;QAC7C,CAAC;QAED,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;YACxC,OAAO,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;QAC9D,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAlBY,QAAA,SAAS,aAkBrB;AAEM,MAAM,iBAAiB,GAAG,GAAG,EAAE;IACpC,MAAM,GAAG,GAAG,YAAY,EAAE,CAAA;IAC1B,MAAM,GAAG,GAAG,QAAQ,EAAE,CAAA;IACtB,MAAM,WAAW,GAAG,IAAI,GAAG,EAAe,CAAA;IAE1C,WAAW,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,SAAS,CAAC,CAAA;IAC3C,WAAW,CAAC,GAAG,CAAC,sBAAsB,EAAE,GAAG,CAAC,mBAAmB,CAAC,CAAA;IAChE,WAAW,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAA;IACpD,WAAW,CAAC,GAAG,CAAC,iBAAiB,EAAE,GAAG,CAAC,cAAc,CAAC,CAAA;IACtD,WAAW,CAAC,GAAG,CAAC,eAAe,EAAE,GAAG,CAAC,YAAY,CAAC,CAAA;IAElD,OAAO,WAAW,CAAA;AACpB,CAAC,CAAA;AAZY,QAAA,iBAAiB,qBAY7B"}
@@ -0,0 +1,6 @@
1
+ export type Request = globalThis.Request;
2
+ export type Response = globalThis.Response;
3
+ export type Headers = globalThis.Headers;
4
+ export type FormData = globalThis.FormData;
5
+ export type fetch = typeof globalThis.fetch;
6
+ //# sourceMappingURL=request.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../src/utils/request.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAA;AACxC,MAAM,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAA;AAC1C,MAAM,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAA;AACxC,MAAM,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAA;AAC1C,MAAM,MAAM,KAAK,GAAG,OAAO,UAAU,CAAC,KAAK,CAAA"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/utils/request.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export declare const isNullOrUndefined: (object: unknown) => object is null | undefined;
2
+ export declare const isEmptyNullOrUndefined: (object: unknown) => boolean;
3
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/utils/utils.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,iBAAiB,WAAY,OAAO,+BAEhD,CAAA;AAED,eAAO,MAAM,sBAAsB,WAAY,OAAO,KAAG,OAExD,CAAA"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isEmptyNullOrUndefined = exports.isNullOrUndefined = void 0;
4
+ // check if the object is null or undefined
5
+ const isNullOrUndefined = (object) => {
6
+ return object === null || object === undefined;
7
+ };
8
+ exports.isNullOrUndefined = isNullOrUndefined;
9
+ const isEmptyNullOrUndefined = (object) => {
10
+ return (0, exports.isNullOrUndefined)(object) || object === "";
11
+ };
12
+ exports.isEmptyNullOrUndefined = isEmptyNullOrUndefined;
13
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/utils/utils.ts"],"names":[],"mappings":";;;AAAA,2CAA2C;AACpC,MAAM,iBAAiB,GAAG,CAAC,MAAe,EAA8B,EAAE;IAC/E,OAAO,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,CAAA;AAChD,CAAC,CAAA;AAFY,QAAA,iBAAiB,qBAE7B;AAEM,MAAM,sBAAsB,GAAG,CAAC,MAAe,EAAW,EAAE;IACjE,OAAO,IAAA,yBAAiB,EAAC,MAAM,CAAC,IAAI,MAAM,KAAK,EAAE,CAAA;AACnD,CAAC,CAAA;AAFY,QAAA,sBAAsB,0BAElC"}
package/index.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from "./src/index"
package/index.js ADDED
@@ -0,0 +1 @@
1
+ module.exports = require("./src/index")
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neuralinnovations/dataisland-sdk",
3
- "version": "0.0.1-dev4",
3
+ "version": "0.0.1-dev41",
4
4
  "description": "SDK for DataIsland project",
5
5
  "licenses": [
6
6
  {
@@ -8,17 +8,54 @@
8
8
  "url": "https://www.apache.org/licenses/LICENSE-2.0.html"
9
9
  }
10
10
  ],
11
- "publishConfig": {
12
- "access": "public"
11
+ "repository": {
12
+ "type": "git",
13
+ "url": "https://github.com/NeuralInnovations/dataisland-client-js-sdk.git"
13
14
  },
14
15
  "scripts": {
15
16
  "build": "tsc",
16
17
  "test": "jest",
17
18
  "lint": "eslint --ext .ts,.tsx src test",
18
- "lint:fix": "eslint --fix --ext .ts,.tsx src test"
19
+ "lint:fix": "eslint --fix --ext .ts,.tsx src test",
20
+ "docs": "typedoc --disableSources --includeVersion --plugin typedoc-plugin-markdown --out docs src/index.ts && node scripts/docs/index.js",
21
+ "version-up-dev": "node scripts/version/up-dev.js && rm package-lock.json && npm install && npm run build && npm run lint:fix && npm run docs",
22
+ "release": "rm package-lock.json && npm install && npm run build && npm run lint:fix && npm run docs"
23
+ },
24
+ "publishConfig": {
25
+ "access": "public"
26
+ },
27
+ "exports": {
28
+ ".": "./dist/index.js"
19
29
  },
30
+ "main": "dist/index.js",
31
+ "types": "dist/index.d.ts",
32
+ "browser": "dist/index.js",
33
+ "directories": {
34
+ "test": "test"
35
+ },
36
+ "files": [
37
+ "dist",
38
+ "src",
39
+ "index.js",
40
+ "index.d.ts"
41
+ ],
42
+ "engines": {
43
+ "node": ">=16"
44
+ },
45
+ "keywords": [
46
+ "dataisland",
47
+ "sdk",
48
+ "neuralinnovations",
49
+ "neural innovations",
50
+ "neural-innovations",
51
+ "neural"
52
+ ],
20
53
  "author": "Neural Innovations LTD",
21
54
  "license": "Apache-2.0",
55
+ "bugs": {
56
+ "url": "https://github.com/NeuralInnovations/dataisland-client-js-sdk/issues"
57
+ },
58
+ "homepage": "https://github.com/NeuralInnovations/dataisland-client-js-sdk#readme",
22
59
  "devDependencies": {
23
60
  "@babel/core": "^7.22.11",
24
61
  "@babel/plugin-transform-modules-commonjs": "7.22.11",
@@ -27,6 +64,8 @@
27
64
  "@babel/register": "7.22.5",
28
65
  "@jest/globals": "^29.7.0",
29
66
  "@types/jest": "^29.5.11",
67
+ "@types/node": "^20.11.27",
68
+ "@types/node-fetch": "^2.6.11",
30
69
  "@typescript-eslint/eslint-plugin": "^6.19.0",
31
70
  "@typescript-eslint/parser": "^6.19.0",
32
71
  "babel-jest": "^29.7.0",
@@ -43,6 +82,7 @@
43
82
  "eslint-plugin-react": "^7.33.2",
44
83
  "glob": "7.2.3",
45
84
  "jest": "^29.7.0",
85
+ "jest-environment-jsdom": "^29.7.0",
46
86
  "prettier": "2.8.7",
47
87
  "ts-jest": "^29.1.1",
48
88
  "ts-loader": "8.4.0",
@@ -50,6 +90,7 @@
50
90
  "tslib": "^2.6.2",
51
91
  "tslint": "6.1.3",
52
92
  "typedoc": "^0.25.7",
93
+ "typedoc-plugin-markdown": "^3.17.1",
53
94
  "typescript": "^5.3.3",
54
95
  "watch": "^0.13.0",
55
96
  "webpack": "5.76.0",
@@ -59,4 +100,4 @@
59
100
  "dotenv": "^16.3.2",
60
101
  "jsdom": "^23.2.0"
61
102
  }
62
- }
103
+ }
@@ -0,0 +1,19 @@
1
+ import { Command, CommandHandler } from "../services/commandService"
2
+ import { RpcService } from "../services/rpcService"
3
+ import { ResponseUtils } from "../services/responseUtils"
4
+
5
+ export class DeleteUserFullCommand extends Command {
6
+
7
+ }
8
+
9
+ export class DeleteUserFullCommandHandler extends CommandHandler<DeleteUserFullCommand> {
10
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
11
+ async execute(message: DeleteUserFullCommand): Promise<void> {
12
+ const response = await this.resolve(RpcService)?.requestBuilder("/api/v1/Users/self/full")
13
+ .sendDelete()
14
+
15
+ if (ResponseUtils.isFail(response)) {
16
+ await ResponseUtils.throwError("Failed to delete user", response)
17
+ }
18
+ }
19
+ }
@@ -1,14 +1,25 @@
1
1
  import { CommandHandler, Command } from "../services/commandService"
2
2
  import { UserProfileService } from "../services/userProfileService"
3
+ import { CookieService } from "../services/cookieService"
4
+ import { AnonymousCredential } from "../credentials"
3
5
 
4
- export class StartCommand extends Command {}
6
+ export class StartCommand extends Command {
7
+ }
5
8
 
6
9
  export class StartCommandHandler extends CommandHandler<StartCommand> {
7
10
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
8
11
  async execute(message: StartCommand): Promise<void> {
9
- const service = this.context.resolve(
10
- UserProfileService
11
- ) as UserProfileService
12
- await service.fetch()
12
+ const userService = this.resolve(UserProfileService)!
13
+
14
+ // Merge anonymous user if needed
15
+ if (!(this.context.app.credential instanceof AnonymousCredential)) {
16
+ const cookie = this.resolve(CookieService)!
17
+ if (cookie.anonymousTokenIsValid) {
18
+ await userService.merge(cookie.anonymousToken!)
19
+ cookie.anonymousToken = undefined
20
+ }
21
+ }
22
+
23
+ await userService.fetch()
13
24
  }
14
25
  }
package/src/context.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import { type Constructor, type Registry } from "./internal/registry"
2
2
  import { type Lifetime } from "./disposable"
3
3
  import { Command, CommandService } from "./services/commandService"
4
+ import { DataIslandApp } from "./dataIslandApp"
4
5
 
5
6
  /**
6
7
  * DataIsland App context.
@@ -9,8 +10,9 @@ export class Context {
9
10
  constructor(
10
11
  private readonly registry: Registry,
11
12
  public readonly lifetime: Lifetime,
12
- public readonly appName: string
13
- ) {}
13
+ public readonly app: DataIslandApp
14
+ ) {
15
+ }
14
16
 
15
17
  /**
16
18
  * Resolve a service from the context.
@@ -83,3 +83,25 @@ export class BearerCredential extends CredentialBase {
83
83
  )
84
84
  }
85
85
  }
86
+
87
+ export class AnonymousCredential extends CredentialBase {
88
+ readonly token: string
89
+
90
+ constructor(token: string) {
91
+ super()
92
+ this.token = token
93
+ }
94
+
95
+ onRegister(lifetime: Lifetime, context: Context): void {
96
+ const service = context.resolve(MiddlewareService)
97
+ if (service === undefined) {
98
+ throw new Error("MiddlewareService is not registered.")
99
+ }
100
+ lifetime.add(
101
+ service.useMiddleware(async (req, next) => {
102
+ req.headers.set("Authorization", `InternalJWT ${this.token}`)
103
+ return await next(req)
104
+ })
105
+ )
106
+ }
107
+ }
@@ -2,13 +2,14 @@ import type { Lifetime } from "./disposable"
2
2
  import type { CredentialBase } from "./credentials"
3
3
  import { Context } from "./context"
4
4
  import type { Constructor } from "./internal/registry"
5
- import { Organizations } from "./storages/organizations"
6
- import { UserProfile } from "./storages/userProfile"
5
+ import { Organizations } from "./storages/organizations/organizations"
6
+ import { UserProfile } from "./storages/user/userProfile"
7
+ import { AcquiringService } from "./services/acquiringService"
7
8
 
8
9
  /**
9
10
  * DataIsland App instance.
10
11
  */
11
- export abstract class AppSdk {
12
+ export abstract class DataIslandApp {
12
13
  /**
13
14
  * The name of this app.
14
15
  */
@@ -46,6 +47,11 @@ export abstract class AppSdk {
46
47
  */
47
48
  abstract get organizations(): Organizations
48
49
 
50
+ /**
51
+ * Acquiring
52
+ */
53
+ abstract get acquiring(): AcquiringService
54
+
49
55
  /**
50
56
  * User's profile.
51
57
  */
package/src/disposable.ts CHANGED
@@ -77,7 +77,8 @@ export class DisposableContainer implements Disposable {
77
77
  * @returns The disposable container.
78
78
  */
79
79
  public add(disposable: Disposable): Disposable {
80
- this._throwIfDisposed()
80
+ this._throwIfDisposed("Cannot add disposable to disposed container.")
81
+
81
82
  this._disposables.push(disposable)
82
83
  return disposable
83
84
  }
@@ -89,7 +90,8 @@ export class DisposableContainer implements Disposable {
89
90
  * @returns The disposable container.
90
91
  */
91
92
  public addCallback(callback: () => void, target?: unknown): Disposable {
92
- this._throwIfDisposed()
93
+ this._throwIfDisposed("Cannot add callback to disposed container.")
94
+
93
95
  return this.add({
94
96
  dispose() {
95
97
  callback.call(target)
@@ -101,6 +103,8 @@ export class DisposableContainer implements Disposable {
101
103
  * Defines a nested disposable container.
102
104
  */
103
105
  defineNested(): DisposableContainer {
106
+ this._throwIfDisposed("Cannot define nested disposable for disposed container.")
107
+
104
108
  const nested = new DisposableContainer()
105
109
  this._disposables.push(nested)
106
110
  nested.addCallback(() => {
@@ -116,23 +120,32 @@ export class DisposableContainer implements Disposable {
116
120
  * Disposes all disposables in this container. Last added, first disposed.
117
121
  */
118
122
  public dispose(): void {
119
- this._throwIfDisposed()
123
+ // return if already disposed
124
+ if (this._isDisposed) {
125
+ return
126
+ }
127
+
128
+ // mark as disposed
120
129
  this._isDisposed = true
130
+
131
+ // dispose all disposables
121
132
  this._disposables
122
133
  .slice()
123
134
  .reverse()
124
135
  .forEach(it => {
125
136
  it.dispose()
126
137
  })
138
+
139
+ // clear disposables
127
140
  this._disposables = []
128
141
  }
129
142
 
130
143
  /**
131
144
  * Throws an error if this container is disposed.
132
145
  */
133
- private _throwIfDisposed(): void {
146
+ private _throwIfDisposed(message: string): void {
134
147
  if (this._isDisposed) {
135
- throw new Error("Object disposed")
148
+ throw new Error("Object disposed, but you try to use it: " + message)
136
149
  }
137
150
  }
138
151
  }
@@ -1,34 +1,37 @@
1
1
  import { UserDto } from "./userInfoResponse"
2
2
 
3
-
4
3
  export interface PermitsDto {
5
- isAdmin: boolean;
4
+ isAdmin: boolean;
6
5
  }
7
6
 
8
7
  export interface RegulationDto {
9
- isRegulateOrganization: boolean;
10
- regulateWorkspaceIds: string[];
8
+ isRegulateOrganization: boolean;
9
+ regulateWorkspaceIds: string[];
11
10
  }
12
11
 
13
12
  export interface AccessGroupDto {
14
- id: string;
15
- name: string;
16
- type: number;
17
- createdAt: number;
18
- modifiedAt: number;
19
- organizationId: string;
20
- permits: PermitsDto;
21
- regulation: RegulationDto;
22
- membersCount: number;
13
+ id: string;
14
+ name: string;
15
+ type: number;
16
+ createdAt: number;
17
+ modifiedAt: number;
18
+ organizationId: string;
19
+ permits: PermitsDto;
20
+ regulation: RegulationDto;
21
+ membersCount: number;
23
22
  }
24
23
 
25
24
  export interface AccessGroupResponse {
26
- group: AccessGroupDto;
27
- members: UserDto[];
25
+ group: AccessGroupDto;
26
+ members: UserDto[];
28
27
  }
29
28
 
30
29
  export interface AccessGroupsResponse {
31
- groups: AccessGroupDto[];
30
+ groups: AccessGroupDto[];
31
+ }
32
+
33
+ export interface InviteCodeResponse {
34
+ code: string
32
35
  }
33
36
 
34
37
 
@@ -0,0 +1,45 @@
1
+ import { SegmentItemData } from "./limitsResponse"
2
+
3
+ export interface CreateOrderResponse {
4
+ data: CreateOrederData
5
+ }
6
+
7
+ export interface CreateOrederData {
8
+ data: string,
9
+ signature: string
10
+ }
11
+
12
+ export interface AcquiringPlansResponse {
13
+ plans: AcquiringPlan[]
14
+ limitSegments: AcquiringSegmentData[]
15
+ }
16
+
17
+ export interface UserAcquiringPlan{
18
+ isValid: boolean,
19
+ state: OrderState,
20
+ plan: AcquiringPlan
21
+ }
22
+
23
+ export interface AcquiringPlan{
24
+ key: string,
25
+ segmentKey: string,
26
+ price: number,
27
+ currency: string,
28
+ periodicity: number,
29
+ description: string,
30
+ isEnabled: boolean
31
+ }
32
+
33
+ export interface AcquiringSegmentData {
34
+ key: string
35
+ dayItems: SegmentItemData[]
36
+ }
37
+
38
+ export enum OrderState
39
+ {
40
+ Reserved = 0,
41
+ Paid = 10,
42
+ Verified = 20,
43
+ Suspended = 30,
44
+ Canceled = 100
45
+ }
@@ -0,0 +1,6 @@
1
+
2
+ export interface BadRequest {
3
+ code: number
4
+ name: string
5
+ desc?: string
6
+ }