@nlabs/reaktor 0.8.1 → 0.10.0

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 (445) hide show
  1. package/.prettierrc.js +4 -0
  2. package/README.md +10 -1
  3. package/coverage/actions/groups.ts.html +1039 -0
  4. package/coverage/actions/images.ts.html +2500 -0
  5. package/coverage/actions/index.html +131 -0
  6. package/coverage/actions/tags.ts.html +1000 -0
  7. package/coverage/adapters/arangoAdapter.ts.html +151 -0
  8. package/coverage/adapters/index.html +146 -0
  9. package/coverage/adapters/reaktorAdapter.ts.html +127 -0
  10. package/coverage/adapters/tagAdapter.ts.html +160 -0
  11. package/coverage/base.css +224 -0
  12. package/coverage/block-navigation.js +87 -0
  13. package/coverage/clover.xml +6 -0
  14. package/coverage/coverage-final.json +1 -0
  15. package/coverage/favicon.png +0 -0
  16. package/coverage/index.html +221 -0
  17. package/coverage/lcov-report/base.css +224 -0
  18. package/coverage/lcov-report/block-navigation.js +87 -0
  19. package/coverage/lcov-report/favicon.png +0 -0
  20. package/coverage/lcov-report/index.html +101 -0
  21. package/coverage/lcov-report/prettify.css +1 -0
  22. package/coverage/lcov-report/prettify.js +2 -0
  23. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  24. package/coverage/lcov-report/sorter.js +196 -0
  25. package/coverage/lcov.info +0 -0
  26. package/coverage/mocks/file.ts.html +118 -0
  27. package/coverage/mocks/group.ts.html +145 -0
  28. package/coverage/mocks/image.ts.html +136 -0
  29. package/coverage/mocks/index.html +146 -0
  30. package/coverage/mocks/post.ts.html +169 -0
  31. package/coverage/mocks/tag.ts.html +121 -0
  32. package/coverage/mocks/user.ts.html +268 -0
  33. package/coverage/prettify.css +1 -0
  34. package/coverage/prettify.js +2 -0
  35. package/coverage/sort-arrow-sprite.png +0 -0
  36. package/coverage/sorter.js +196 -0
  37. package/coverage/types/error.ts.html +145 -0
  38. package/coverage/types/index.html +116 -0
  39. package/coverage/utils/adapterUtils.ts.html +151 -0
  40. package/coverage/utils/analyticsUtils.ts.html +292 -0
  41. package/coverage/utils/arangodbUtils.ts.html +463 -0
  42. package/coverage/utils/index.html +146 -0
  43. package/dist/actions/apps.js +242 -0
  44. package/dist/actions/connections.js +90 -0
  45. package/dist/actions/conversations.js +350 -0
  46. package/dist/actions/dynamodb.js +150 -0
  47. package/dist/actions/email.js +152 -0
  48. package/dist/actions/files.js +283 -0
  49. package/dist/actions/groups.js +292 -0
  50. package/dist/actions/images.js +735 -0
  51. package/dist/actions/index.js +66 -0
  52. package/dist/actions/ios.js +164 -0
  53. package/dist/actions/locations.js +122 -0
  54. package/dist/actions/messages.js +208 -0
  55. package/dist/actions/notifications.js +59 -0
  56. package/dist/actions/payments.js +497 -0
  57. package/dist/actions/personas.js +110 -0
  58. package/dist/actions/posts.js +595 -0
  59. package/dist/actions/reactions.js +322 -0
  60. package/dist/actions/s3.js +133 -0
  61. package/dist/actions/search.js +90 -0
  62. package/dist/actions/sms.js +108 -0
  63. package/dist/actions/statistics.js +62 -0
  64. package/dist/actions/subscription.js +220 -0
  65. package/dist/actions/tags.js +292 -0
  66. package/dist/actions/users.js +784 -0
  67. package/dist/actions/websockets.js +174 -0
  68. package/dist/adapters/arangoAdapter.js +46 -0
  69. package/dist/adapters/fileAdapter.js +76 -0
  70. package/dist/adapters/imageAdapter.js +40 -0
  71. package/dist/adapters/messageAdapter.js +49 -0
  72. package/dist/adapters/postAdapter.js +70 -0
  73. package/dist/adapters/reaktorAdapter.js +44 -0
  74. package/dist/adapters/tagAdapter.js +50 -0
  75. package/dist/adapters/userAdapter.js +115 -0
  76. package/dist/config.js +125 -0
  77. package/dist/index.js +66 -0
  78. package/dist/lambdas/actions/websockets.js +132 -0
  79. package/dist/lambdas/authorizer.js +67 -0
  80. package/dist/lambdas/connection.js +91 -0
  81. package/dist/lambdas/utils/message.js +42 -0
  82. package/dist/lambdas/utils/websocket.js +105 -0
  83. package/dist/mocks/conversation.js +35 -0
  84. package/dist/mocks/file.js +38 -0
  85. package/dist/mocks/group.js +47 -0
  86. package/dist/mocks/image.js +44 -0
  87. package/dist/mocks/nlabs.png +0 -0
  88. package/dist/mocks/post.js +55 -0
  89. package/dist/mocks/tag.js +37 -0
  90. package/dist/mocks/user.js +88 -0
  91. package/dist/mutations/index.js +26 -0
  92. package/dist/mutations/locations.js +44 -0
  93. package/dist/mutations/messages.js +86 -0
  94. package/dist/mutations/personas.js +100 -0
  95. package/dist/mutations/posts.js +53 -0
  96. package/dist/mutations/reactions.js +51 -0
  97. package/dist/mutations/statistics.js +39 -0
  98. package/dist/mutations/subscriptions.js +56 -0
  99. package/dist/mutations/tags.js +120 -0
  100. package/dist/mutations/users.js +116 -0
  101. package/dist/objectTypes/app.js +173 -0
  102. package/dist/objectTypes/bankAccount.js +76 -0
  103. package/dist/objectTypes/connection.js +48 -0
  104. package/dist/objectTypes/conversation.js +77 -0
  105. package/dist/objectTypes/creditCard.js +86 -0
  106. package/dist/objectTypes/document.js +46 -0
  107. package/dist/objectTypes/error.js +46 -0
  108. package/dist/objectTypes/external.js +74 -0
  109. package/dist/objectTypes/file.js +100 -0
  110. package/dist/objectTypes/filter.js +43 -0
  111. package/dist/objectTypes/group.js +123 -0
  112. package/dist/objectTypes/iapSubscription.js +40 -0
  113. package/dist/objectTypes/image.js +129 -0
  114. package/dist/objectTypes/index.js +68 -0
  115. package/dist/objectTypes/location.js +109 -0
  116. package/dist/objectTypes/message.js +96 -0
  117. package/dist/objectTypes/passcode.js +42 -0
  118. package/dist/objectTypes/persona.js +87 -0
  119. package/dist/objectTypes/plan.js +95 -0
  120. package/dist/objectTypes/post.js +125 -0
  121. package/dist/objectTypes/reaction.js +61 -0
  122. package/dist/objectTypes/relation.js +49 -0
  123. package/dist/objectTypes/search.js +72 -0
  124. package/dist/objectTypes/statistics.js +39 -0
  125. package/dist/objectTypes/subscription.js +117 -0
  126. package/dist/objectTypes/tag.js +65 -0
  127. package/dist/objectTypes/user.js +144 -0
  128. package/dist/queries/index.js +33 -0
  129. package/dist/queries/locations.js +45 -0
  130. package/dist/queries/messages.js +52 -0
  131. package/dist/queries/posts.js +154 -0
  132. package/dist/queries/reactions.js +56 -0
  133. package/dist/queries/statistics.js +39 -0
  134. package/dist/queries/subscriptions.js +44 -0
  135. package/dist/queries/tags.js +75 -0
  136. package/dist/queries/users.js +64 -0
  137. package/dist/templates/email/layout.js +302 -0
  138. package/dist/templates/email/passwordForgot.js +38 -0
  139. package/dist/templates/email/passwordRecovery.js +35 -0
  140. package/dist/templates/email/verifyEmail.js +38 -0
  141. package/dist/templates/email/welcome.js +38 -0
  142. package/dist/templates/sms/passwordForgot.js +24 -0
  143. package/dist/templates/sms/passwordRecovery.js +24 -0
  144. package/dist/templates/sms/verifyEmail.js +24 -0
  145. package/dist/templates/sms/verifyPhone.js +24 -0
  146. package/dist/templates/sms/welcome.js +24 -0
  147. package/dist/types/apps.js +32 -0
  148. package/dist/types/arangodb.js +16 -0
  149. package/{lib → dist}/types/auth.js +1 -1
  150. package/{lib → dist}/types/connections.js +1 -1
  151. package/{lib → dist}/types/conversations.js +1 -1
  152. package/{lib → dist}/types/email.js +1 -1
  153. package/dist/types/error.js +44 -0
  154. package/{lib → dist}/types/files.js +1 -1
  155. package/dist/types/google.js +16 -0
  156. package/{lib → dist}/types/groups.js +1 -1
  157. package/dist/types/images.js +16 -0
  158. package/dist/types/index.js +60 -0
  159. package/{lib → dist}/types/locations.js +1 -1
  160. package/dist/types/messages.js +16 -0
  161. package/{lib → dist}/types/notifications.js +1 -1
  162. package/dist/types/payments.js +16 -0
  163. package/dist/types/personas.js +16 -0
  164. package/dist/types/posts.js +16 -0
  165. package/{lib → dist}/types/statistics.js +1 -1
  166. package/{lib → dist}/types/tags.js +1 -1
  167. package/dist/types/users.js +16 -0
  168. package/dist/types/websockets.js +16 -0
  169. package/dist/utils/adapterUtils.js +45 -0
  170. package/dist/utils/analyticsUtils.js +72 -0
  171. package/dist/utils/arangodbUtils.js +165 -0
  172. package/dist/utils/auth.js +57 -0
  173. package/dist/utils/index.js +30 -0
  174. package/dist/utils/session.js +60 -0
  175. package/jest.setup.js +0 -0
  176. package/jpg:- +0 -0
  177. package/lex.config.cjs +13 -0
  178. package/lib/actions/apps.d.ts +25 -0
  179. package/lib/actions/apps.js +242 -0
  180. package/lib/actions/connections.d.ts +4 -0
  181. package/lib/actions/connections.js +90 -0
  182. package/lib/actions/conversations.d.ts +12 -12
  183. package/lib/actions/conversations.js +147 -131
  184. package/lib/actions/dynamodb.d.ts +8 -8
  185. package/lib/actions/dynamodb.js +35 -32
  186. package/lib/actions/email.d.ts +3 -5
  187. package/lib/actions/email.js +33 -63
  188. package/lib/actions/files.d.ts +17 -14
  189. package/lib/actions/files.js +184 -202
  190. package/lib/actions/groups.d.ts +4 -4
  191. package/lib/actions/groups.js +47 -45
  192. package/lib/actions/images.d.ts +17 -13
  193. package/lib/actions/images.js +325 -264
  194. package/lib/actions/index.d.ts +3 -0
  195. package/lib/actions/index.js +7 -1
  196. package/lib/actions/ios.js +11 -10
  197. package/lib/actions/locations.d.ts +5 -2
  198. package/lib/actions/locations.js +41 -37
  199. package/lib/actions/messages.d.ts +4 -3
  200. package/lib/actions/messages.js +35 -32
  201. package/lib/actions/notifications.d.ts +2 -2
  202. package/lib/actions/notifications.js +1 -1
  203. package/lib/actions/payments.d.ts +2 -2
  204. package/lib/actions/payments.js +87 -83
  205. package/lib/actions/personas.d.ts +3 -0
  206. package/lib/actions/personas.js +110 -0
  207. package/lib/actions/posts.d.ts +11 -10
  208. package/lib/actions/posts.js +186 -152
  209. package/lib/actions/reactions.d.ts +5 -5
  210. package/lib/actions/reactions.js +30 -28
  211. package/lib/actions/s3.d.ts +7 -7
  212. package/lib/actions/s3.js +37 -32
  213. package/lib/actions/search.d.ts +3 -3
  214. package/lib/actions/search.js +13 -11
  215. package/lib/actions/sms.d.ts +9 -3
  216. package/lib/actions/sms.js +60 -34
  217. package/lib/actions/statistics.d.ts +3 -2
  218. package/lib/actions/statistics.js +21 -18
  219. package/lib/actions/subscription.d.ts +2 -2
  220. package/lib/actions/subscription.js +32 -39
  221. package/lib/actions/tags.d.ts +23 -20
  222. package/lib/actions/tags.js +161 -205
  223. package/lib/actions/users.d.ts +50 -22
  224. package/lib/actions/users.js +441 -217
  225. package/lib/actions/websockets.d.ts +19 -5
  226. package/lib/actions/websockets.js +89 -61
  227. package/lib/adapters/arangoAdapter.d.ts +2 -0
  228. package/lib/adapters/arangoAdapter.js +46 -0
  229. package/lib/adapters/fileAdapter.d.ts +3 -0
  230. package/lib/adapters/fileAdapter.js +76 -0
  231. package/lib/adapters/imageAdapter.d.ts +2 -0
  232. package/lib/adapters/imageAdapter.js +40 -0
  233. package/lib/adapters/messageAdapter.d.ts +2 -0
  234. package/lib/adapters/messageAdapter.js +49 -0
  235. package/lib/adapters/postAdapter.d.ts +2 -0
  236. package/lib/adapters/postAdapter.js +70 -0
  237. package/lib/adapters/reaktorAdapter.d.ts +6 -0
  238. package/lib/adapters/reaktorAdapter.js +44 -0
  239. package/lib/adapters/tagAdapter.d.ts +2 -0
  240. package/lib/adapters/tagAdapter.js +50 -0
  241. package/lib/adapters/userAdapter.d.ts +2 -0
  242. package/lib/adapters/userAdapter.js +115 -0
  243. package/lib/config.js +16 -17
  244. package/lib/index.d.ts +7 -0
  245. package/lib/index.js +44 -8
  246. package/lib/lambdas/actions/websockets.d.ts +7 -6
  247. package/lib/lambdas/actions/websockets.js +15 -11
  248. package/lib/lambdas/authorizer.js +4 -4
  249. package/lib/lambdas/connection.js +20 -20
  250. package/lib/lambdas/utils/message.js +1 -1
  251. package/lib/lambdas/utils/websocket.js +8 -7
  252. package/lib/mocks/conversation.d.ts +8 -0
  253. package/lib/mocks/conversation.js +35 -0
  254. package/lib/mocks/file.d.ts +11 -0
  255. package/lib/mocks/file.js +38 -0
  256. package/lib/mocks/group.d.ts +17 -0
  257. package/lib/mocks/group.js +47 -0
  258. package/lib/mocks/image.d.ts +3 -0
  259. package/lib/mocks/image.js +44 -0
  260. package/lib/mocks/nlabs.png +0 -0
  261. package/lib/mocks/post.d.ts +38 -0
  262. package/lib/mocks/post.js +55 -0
  263. package/lib/mocks/tag.d.ts +2 -0
  264. package/lib/mocks/tag.js +37 -0
  265. package/lib/mocks/user.d.ts +4 -0
  266. package/lib/mocks/user.js +88 -0
  267. package/lib/mutations/index.d.ts +3 -0
  268. package/lib/mutations/index.js +26 -0
  269. package/lib/mutations/locations.d.ts +2 -0
  270. package/lib/mutations/locations.js +44 -0
  271. package/lib/mutations/messages.d.ts +2 -0
  272. package/lib/mutations/messages.js +86 -0
  273. package/lib/mutations/personas.d.ts +2 -0
  274. package/lib/mutations/personas.js +100 -0
  275. package/lib/mutations/posts.d.ts +2 -0
  276. package/lib/mutations/posts.js +53 -0
  277. package/lib/mutations/reactions.d.ts +2 -0
  278. package/lib/mutations/reactions.js +51 -0
  279. package/lib/mutations/statistics.d.ts +2 -0
  280. package/lib/mutations/statistics.js +39 -0
  281. package/lib/mutations/subscriptions.d.ts +2 -0
  282. package/lib/mutations/subscriptions.js +56 -0
  283. package/lib/mutations/tags.d.ts +2 -0
  284. package/lib/mutations/tags.js +120 -0
  285. package/lib/mutations/users.d.ts +1 -0
  286. package/lib/mutations/users.js +116 -0
  287. package/lib/objectTypes/app.d.ts +3 -0
  288. package/lib/objectTypes/app.js +173 -0
  289. package/lib/objectTypes/bankAccount.d.ts +1 -0
  290. package/lib/objectTypes/bankAccount.js +76 -0
  291. package/lib/objectTypes/connection.d.ts +1 -0
  292. package/lib/objectTypes/connection.js +48 -0
  293. package/lib/objectTypes/conversation.d.ts +2 -0
  294. package/lib/objectTypes/conversation.js +77 -0
  295. package/lib/objectTypes/creditCard.d.ts +1 -0
  296. package/lib/objectTypes/creditCard.js +86 -0
  297. package/lib/objectTypes/document.d.ts +1 -0
  298. package/lib/objectTypes/document.js +46 -0
  299. package/lib/objectTypes/error.d.ts +1 -0
  300. package/lib/objectTypes/error.js +46 -0
  301. package/lib/objectTypes/external.d.ts +1 -0
  302. package/lib/objectTypes/external.js +74 -0
  303. package/lib/objectTypes/file.d.ts +2 -0
  304. package/lib/objectTypes/file.js +100 -0
  305. package/lib/objectTypes/filter.d.ts +1 -0
  306. package/lib/objectTypes/filter.js +43 -0
  307. package/lib/objectTypes/group.d.ts +3 -0
  308. package/lib/objectTypes/group.js +123 -0
  309. package/lib/objectTypes/iapSubscription.d.ts +1 -0
  310. package/lib/objectTypes/iapSubscription.js +40 -0
  311. package/lib/objectTypes/image.d.ts +2 -0
  312. package/lib/objectTypes/image.js +129 -0
  313. package/lib/objectTypes/index.d.ts +24 -0
  314. package/lib/objectTypes/index.js +68 -0
  315. package/lib/objectTypes/location.d.ts +2 -0
  316. package/lib/objectTypes/location.js +109 -0
  317. package/lib/objectTypes/message.d.ts +2 -0
  318. package/lib/objectTypes/message.js +96 -0
  319. package/lib/objectTypes/passcode.d.ts +1 -0
  320. package/lib/objectTypes/passcode.js +42 -0
  321. package/lib/objectTypes/persona.d.ts +3 -0
  322. package/lib/objectTypes/persona.js +87 -0
  323. package/lib/objectTypes/plan.d.ts +2 -0
  324. package/lib/objectTypes/plan.js +95 -0
  325. package/lib/objectTypes/post.d.ts +2 -0
  326. package/lib/objectTypes/post.js +125 -0
  327. package/lib/objectTypes/reaction.d.ts +2 -0
  328. package/lib/objectTypes/reaction.js +61 -0
  329. package/lib/objectTypes/relation.d.ts +1 -0
  330. package/lib/objectTypes/relation.js +49 -0
  331. package/lib/objectTypes/search.d.ts +1 -0
  332. package/lib/objectTypes/search.js +72 -0
  333. package/lib/objectTypes/statistics.d.ts +1 -0
  334. package/lib/objectTypes/statistics.js +39 -0
  335. package/lib/objectTypes/subscription.d.ts +2 -0
  336. package/lib/objectTypes/subscription.js +117 -0
  337. package/lib/objectTypes/tag.d.ts +2 -0
  338. package/lib/objectTypes/tag.js +65 -0
  339. package/lib/objectTypes/user.d.ts +4 -0
  340. package/lib/objectTypes/user.js +144 -0
  341. package/lib/queries/index.d.ts +3 -0
  342. package/lib/queries/index.js +33 -0
  343. package/lib/queries/locations.d.ts +2 -0
  344. package/lib/queries/locations.js +45 -0
  345. package/lib/queries/messages.d.ts +2 -0
  346. package/lib/queries/messages.js +52 -0
  347. package/lib/queries/posts.d.ts +2 -0
  348. package/lib/queries/posts.js +154 -0
  349. package/lib/queries/reactions.d.ts +2 -0
  350. package/lib/queries/reactions.js +56 -0
  351. package/lib/queries/statistics.d.ts +2 -0
  352. package/lib/queries/statistics.js +39 -0
  353. package/lib/queries/subscriptions.d.ts +2 -0
  354. package/lib/queries/subscriptions.js +44 -0
  355. package/lib/queries/tags.d.ts +2 -0
  356. package/lib/queries/tags.js +75 -0
  357. package/lib/queries/users.d.ts +1 -0
  358. package/lib/queries/users.js +64 -0
  359. package/lib/types/{apps.d.ts → apps.types.d.ts} +19 -17
  360. package/lib/types/apps.types.js +32 -0
  361. package/lib/types/arangodb.types.d.ts +34 -0
  362. package/lib/types/arangodb.types.js +16 -0
  363. package/lib/types/auth.types.d.ts +9 -0
  364. package/lib/types/auth.types.js +16 -0
  365. package/lib/types/connections.types.d.ts +5 -0
  366. package/lib/types/connections.types.js +16 -0
  367. package/lib/types/conversations.types.d.ts +27 -0
  368. package/lib/types/conversations.types.js +16 -0
  369. package/lib/types/email.types.d.ts +13 -0
  370. package/lib/types/email.types.js +16 -0
  371. package/lib/types/error.types.d.ts +20 -0
  372. package/lib/types/error.types.js +44 -0
  373. package/lib/types/{files.d.ts → files.types.d.ts} +9 -12
  374. package/lib/types/files.types.js +16 -0
  375. package/lib/types/google.types.d.ts +29 -0
  376. package/lib/types/google.types.js +16 -0
  377. package/lib/types/{groups.d.ts → groups.types.d.ts} +6 -10
  378. package/lib/types/groups.types.js +16 -0
  379. package/lib/types/images.types.d.ts +52 -0
  380. package/lib/types/images.types.js +16 -0
  381. package/lib/types/index.d.ts +20 -18
  382. package/lib/types/index.js +41 -37
  383. package/lib/types/{locations.d.ts → locations.types.d.ts} +4 -6
  384. package/lib/types/locations.types.js +16 -0
  385. package/lib/types/messages.types.d.ts +16 -0
  386. package/lib/types/messages.types.js +16 -0
  387. package/lib/types/notifications.types.d.ts +19 -0
  388. package/lib/types/notifications.types.js +16 -0
  389. package/lib/types/{payments.d.ts → payments.types.d.ts} +13 -19
  390. package/lib/types/payments.types.js +16 -0
  391. package/lib/types/personas.types.d.ts +32 -0
  392. package/lib/types/personas.types.js +16 -0
  393. package/lib/types/posts.types.d.ts +28 -0
  394. package/lib/types/posts.types.js +16 -0
  395. package/lib/types/statistics.types.d.ts +3 -0
  396. package/lib/types/statistics.types.js +16 -0
  397. package/lib/types/tags.types.d.ts +15 -0
  398. package/lib/types/tags.types.js +16 -0
  399. package/lib/types/{users.d.ts → users.types.d.ts} +21 -22
  400. package/lib/types/users.types.js +16 -0
  401. package/lib/types/{websocket.d.ts → websockets.types.d.ts} +7 -3
  402. package/lib/types/websockets.types.js +16 -0
  403. package/lib/utils/adapterUtils.d.ts +1 -0
  404. package/lib/utils/adapterUtils.js +45 -0
  405. package/lib/utils/analyticsUtils.d.ts +21 -0
  406. package/lib/utils/analyticsUtils.js +72 -0
  407. package/lib/utils/arangodbUtils.d.ts +66 -0
  408. package/lib/utils/arangodbUtils.js +165 -0
  409. package/lib/utils/auth.d.ts +19 -3
  410. package/lib/utils/auth.js +20 -30
  411. package/lib/utils/index.d.ts +3 -4
  412. package/lib/utils/index.js +7 -9
  413. package/lib/utils/session.d.ts +10 -10
  414. package/lib/utils/session.js +15 -3
  415. package/lib/utils/stripeUtils.d.ts +3 -0
  416. package/lib/utils/{graphql.js → stripeUtils.js} +12 -15
  417. package/package.json +38 -30
  418. package/lib/types/apps.js +0 -16
  419. package/lib/types/arangodb.d.ts +0 -17
  420. package/lib/types/arangodb.js +0 -16
  421. package/lib/types/auth.d.ts +0 -7
  422. package/lib/types/connections.d.ts +0 -8
  423. package/lib/types/conversations.d.ts +0 -16
  424. package/lib/types/email.d.ts +0 -12
  425. package/lib/types/google.d.ts +0 -27
  426. package/lib/types/google.js +0 -16
  427. package/lib/types/images.d.ts +0 -42
  428. package/lib/types/images.js +0 -16
  429. package/lib/types/messages.d.ts +0 -27
  430. package/lib/types/messages.js +0 -16
  431. package/lib/types/notifications.d.ts +0 -19
  432. package/lib/types/payments.js +0 -16
  433. package/lib/types/posts.d.ts +0 -47
  434. package/lib/types/posts.js +0 -16
  435. package/lib/types/statistics.d.ts +0 -3
  436. package/lib/types/tags.d.ts +0 -15
  437. package/lib/types/users.js +0 -16
  438. package/lib/types/websocket.js +0 -16
  439. package/lib/utils/analytics.d.ts +0 -14
  440. package/lib/utils/analytics.js +0 -88
  441. package/lib/utils/arangodb.d.ts +0 -9
  442. package/lib/utils/arangodb.js +0 -118
  443. package/lib/utils/graphql.d.ts +0 -1
  444. package/lib/utils/objects.d.ts +0 -3
  445. package/lib/utils/objects.js +0 -59
@@ -0,0 +1,28 @@
1
+ import type { DocumentType } from './arangodb.types';
2
+ import type { FileType } from './files.types';
3
+ import type { TagType } from './tags.types';
4
+ export interface PostType extends DocumentType {
5
+ content?: string;
6
+ readonly endDate?: number;
7
+ files?: FileType[];
8
+ readonly groupId?: string;
9
+ readonly postId?: string;
10
+ readonly latitude?: number;
11
+ readonly location?: string;
12
+ readonly longitude?: number;
13
+ readonly name?: string;
14
+ parentId?: string;
15
+ privacy?: string;
16
+ readonly startDate?: number;
17
+ tags?: TagType[];
18
+ type?: string;
19
+ readonly userId?: string;
20
+ }
21
+ export type PostInputType = Pick<PostType, 'content' | 'endDate' | 'files' | 'groupId' | 'postId' | 'latitude' | 'location' | 'longitude' | 'name' | 'parentId' | 'privacy' | 'startDate' | 'tags' | 'type' | 'userId'>;
22
+ export type PostOptions = {
23
+ readonly latitude?: number;
24
+ readonly longitude?: number;
25
+ readonly from?: number;
26
+ readonly to?: number;
27
+ readonly type?: string;
28
+ };
@@ -0,0 +1,16 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __copyProps = (to, from, except, desc) => {
6
+ if (from && typeof from === "object" || typeof from === "function") {
7
+ for (let key of __getOwnPropNames(from))
8
+ if (!__hasOwnProp.call(to, key) && key !== except)
9
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
10
+ }
11
+ return to;
12
+ };
13
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
14
+ var posts_types_exports = {};
15
+ module.exports = __toCommonJS(posts_types_exports);
16
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3R5cGVzL3Bvc3RzLnR5cGVzLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxOS1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHR5cGUge0RvY3VtZW50VHlwZX0gZnJvbSAnLi9hcmFuZ29kYi50eXBlcyc7XG5pbXBvcnQgdHlwZSB7RmlsZVR5cGV9IGZyb20gJy4vZmlsZXMudHlwZXMnO1xuaW1wb3J0IHR5cGUge1RhZ1R5cGV9IGZyb20gJy4vdGFncy50eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUG9zdFR5cGUgZXh0ZW5kcyBEb2N1bWVudFR5cGUge1xuICBjb250ZW50Pzogc3RyaW5nO1xuICByZWFkb25seSBlbmREYXRlPzogbnVtYmVyO1xuICBmaWxlcz86IEZpbGVUeXBlW107XG4gIHJlYWRvbmx5IGdyb3VwSWQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHBvc3RJZD86IHN0cmluZztcbiAgcmVhZG9ubHkgbGF0aXR1ZGU/OiBudW1iZXI7XG4gIHJlYWRvbmx5IGxvY2F0aW9uPzogc3RyaW5nO1xuICByZWFkb25seSBsb25naXR1ZGU/OiBudW1iZXI7XG4gIHJlYWRvbmx5IG5hbWU/OiBzdHJpbmc7XG4gIHBhcmVudElkPzogc3RyaW5nO1xuICBwcml2YWN5Pzogc3RyaW5nO1xuICByZWFkb25seSBzdGFydERhdGU/OiBudW1iZXI7XG4gIHRhZ3M/OiBUYWdUeXBlW107XG4gIHR5cGU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHVzZXJJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgUG9zdElucHV0VHlwZSA9IFBpY2s8XG4gIFBvc3RUeXBlLFxuJ2NvbnRlbnQnIHxcbidlbmREYXRlJyB8XG4nZmlsZXMnIHxcbidncm91cElkJyB8XG4ncG9zdElkJyB8XG4nbGF0aXR1ZGUnIHxcbidsb2NhdGlvbicgfFxuJ2xvbmdpdHVkZScgfFxuJ25hbWUnIHxcbidwYXJlbnRJZCcgfFxuJ3ByaXZhY3knIHxcbidzdGFydERhdGUnIHxcbid0YWdzJyB8XG4ndHlwZScgfFxuJ3VzZXJJZCdcbj47XG5cbmV4cG9ydCB0eXBlIFBvc3RPcHRpb25zID0ge1xuICByZWFkb25seSBsYXRpdHVkZT86IG51bWJlcjtcbiAgcmVhZG9ubHkgbG9uZ2l0dWRlPzogbnVtYmVyO1xuICByZWFkb25seSBmcm9tPzogbnVtYmVyO1xuICByZWFkb25seSB0bz86IG51bWJlcjtcbiAgcmVhZG9ubHkgdHlwZT86IHN0cmluZztcbn07XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTsiLAogICJuYW1lcyI6IFtdCn0K
@@ -0,0 +1,3 @@
1
+ export type StatisticsType = {
2
+ readonly activeUsers: number;
3
+ };
@@ -0,0 +1,16 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __copyProps = (to, from, except, desc) => {
6
+ if (from && typeof from === "object" || typeof from === "function") {
7
+ for (let key of __getOwnPropNames(from))
8
+ if (!__hasOwnProp.call(to, key) && key !== except)
9
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
10
+ }
11
+ return to;
12
+ };
13
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
14
+ var statistics_types_exports = {};
15
+ module.exports = __toCommonJS(statistics_types_exports);
16
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3R5cGVzL3N0YXRpc3RpY3MudHlwZXMudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImV4cG9ydCB0eXBlIFN0YXRpc3RpY3NUeXBlID0ge1xuICByZWFkb25seSBhY3RpdmVVc2VyczogbnVtYmVyO1xufTtcbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -0,0 +1,15 @@
1
+ import type { DocumentType } from './arangodb.types';
2
+ export interface TagType extends DocumentType {
3
+ readonly description?: string;
4
+ readonly category?: string;
5
+ readonly name?: string;
6
+ readonly tagBy?: string;
7
+ readonly tagId?: string;
8
+ readonly userId?: string;
9
+ }
10
+ export type TagInputType = Pick<TagType, 'description' | 'category' | 'name' | 'tagBy' | 'tagId'>;
11
+ export interface IsTaggedType extends DocumentType {
12
+ readonly _from: string;
13
+ readonly _to: string;
14
+ readonly name: string;
15
+ }
@@ -0,0 +1,16 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __copyProps = (to, from, except, desc) => {
6
+ if (from && typeof from === "object" || typeof from === "function") {
7
+ for (let key of __getOwnPropNames(from))
8
+ if (!__hasOwnProp.call(to, key) && key !== except)
9
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
10
+ }
11
+ return to;
12
+ };
13
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
14
+ var tags_types_exports = {};
15
+ module.exports = __toCommonJS(tags_types_exports);
16
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3R5cGVzL3RhZ3MudHlwZXMudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE5LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQgdHlwZSB7RG9jdW1lbnRUeXBlfSBmcm9tICcuL2FyYW5nb2RiLnR5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBUYWdUeXBlIGV4dGVuZHMgRG9jdW1lbnRUeXBlIHtcbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGNhdGVnb3J5Pzogc3RyaW5nO1xuICByZWFkb25seSBuYW1lPzogc3RyaW5nO1xuICByZWFkb25seSB0YWdCeT86IHN0cmluZztcbiAgcmVhZG9ubHkgdGFnSWQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHVzZXJJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgVGFnSW5wdXRUeXBlID0gUGljazxcbiAgVGFnVHlwZSxcbidkZXNjcmlwdGlvbicgfFxuJ2NhdGVnb3J5JyB8XG4nbmFtZScgfFxuJ3RhZ0J5JyB8XG4ndGFnSWQnXG4+O1xuXG5leHBvcnQgaW50ZXJmYWNlIElzVGFnZ2VkVHlwZSBleHRlbmRzIERvY3VtZW50VHlwZSB7XG4gIHJlYWRvbmx5IF9mcm9tOiBzdHJpbmc7XG4gIHJlYWRvbmx5IF90bzogc3RyaW5nO1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTsiLAogICJuYW1lcyI6IFtdCn0K
@@ -1,11 +1,9 @@
1
- import { Reaction, UserAccess } from '../actions';
2
- import { QueryFilter } from './apps';
3
- import { TagType } from './tags';
4
- export interface User {
5
- readonly _id?: string;
6
- readonly _key?: string;
1
+ import type { Reaction, UserAccess } from '../actions';
2
+ import type { QueryFilter } from './apps.types';
3
+ import type { DocumentType } from './arangodb.types';
4
+ import type { TagType } from './tags.types';
5
+ export interface UserType extends DocumentType {
7
6
  readonly active?: boolean;
8
- readonly added?: number;
9
7
  readonly bankAccount?: string;
10
8
  readonly bankFullName?: string;
11
9
  readonly bankId?: string;
@@ -16,15 +14,15 @@ export interface User {
16
14
  readonly deviceToken?: string;
17
15
  readonly dob?: number;
18
16
  readonly email?: string;
17
+ readonly expires?: number;
19
18
  readonly first?: string;
20
19
  readonly gender?: string;
21
- readonly id?: string;
22
20
  readonly imageId?: string;
21
+ readonly imageUrl?: string;
23
22
  readonly last?: string;
24
23
  readonly lastActive?: number;
25
24
  readonly locale?: string;
26
- readonly mailing?: boolean;
27
- readonly modified?: number;
25
+ readonly mailingList?: boolean;
28
26
  readonly name?: string;
29
27
  readonly password?: string;
30
28
  readonly phone?: string;
@@ -34,23 +32,27 @@ export interface User {
34
32
  readonly street2?: string;
35
33
  readonly stripeAccountId?: string;
36
34
  readonly stripeCustomerId?: string;
37
- readonly sub?: string;
38
35
  readonly tags?: TagType[];
36
+ readonly thumbId?: string;
37
+ readonly thumbUrl?: string;
39
38
  readonly timezone?: string;
39
+ readonly token?: string;
40
40
  readonly type?: string;
41
41
  readonly userAccess?: UserAccess;
42
42
  readonly userId?: string;
43
43
  readonly username?: string;
44
44
  readonly verifiedEmail?: boolean;
45
45
  readonly verifiedEmailCode?: number;
46
+ readonly verifiedEmailExpires?: number;
46
47
  readonly verifiedPhone?: boolean;
47
48
  readonly verifiedPhoneCode?: number;
49
+ readonly verifiedPhoneExpires?: number;
48
50
  readonly zip?: string;
49
51
  }
50
- export interface UserPaymentType extends User {
52
+ export type UserPaymentType = {
51
53
  readonly ssn?: string;
52
- }
53
- export interface AddUser {
54
+ };
55
+ export type AddUser = {
54
56
  readonly confirm?: string;
55
57
  readonly country?: string;
56
58
  readonly deviceToken?: string;
@@ -66,15 +68,12 @@ export interface AddUser {
66
68
  readonly timezone?: string;
67
69
  readonly userAccess?: string;
68
70
  readonly username?: string;
69
- }
70
- export interface UserRelationType {
71
- readonly _key?: string;
72
- }
73
- export interface UserReactionQuery extends Reaction {
71
+ };
72
+ export type UserReactionQuery = Reaction & {
74
73
  readonly filters?: QueryFilter[];
75
- }
76
- export interface PasscodeType {
74
+ };
75
+ export type PasscodeType = {
77
76
  readonly passAttempt?: number;
78
77
  readonly passExpires?: number;
79
78
  readonly passcode?: string;
80
- }
79
+ };
@@ -0,0 +1,16 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __copyProps = (to, from, except, desc) => {
6
+ if (from && typeof from === "object" || typeof from === "function") {
7
+ for (let key of __getOwnPropNames(from))
8
+ if (!__hasOwnProp.call(to, key) && key !== except)
9
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
10
+ }
11
+ return to;
12
+ };
13
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
14
+ var users_types_exports = {};
15
+ module.exports = __toCommonJS(users_types_exports);
16
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3R5cGVzL3VzZXJzLnR5cGVzLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxOS1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHR5cGUge1JlYWN0aW9uLCBVc2VyQWNjZXNzfSBmcm9tICcuLi9hY3Rpb25zJztcbmltcG9ydCB0eXBlIHtRdWVyeUZpbHRlcn0gZnJvbSAnLi9hcHBzLnR5cGVzJztcbmltcG9ydCB0eXBlIHtEb2N1bWVudFR5cGV9IGZyb20gJy4vYXJhbmdvZGIudHlwZXMnO1xuaW1wb3J0IHR5cGUge1RhZ1R5cGV9IGZyb20gJy4vdGFncy50eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlclR5cGUgZXh0ZW5kcyBEb2N1bWVudFR5cGUge1xuICByZWFkb25seSBhY3RpdmU/OiBib29sZWFuO1xuICByZWFkb25seSBiYW5rQWNjb3VudD86IHN0cmluZztcbiAgcmVhZG9ubHkgYmFua0Z1bGxOYW1lPzogc3RyaW5nO1xuICByZWFkb25seSBiYW5rSWQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGJhbmtSb3V0aW5nPzogc3RyaW5nO1xuICByZWFkb25seSBjaXR5Pzogc3RyaW5nO1xuICByZWFkb25seSBjb3VudHJ5Pzogc3RyaW5nO1xuICByZWFkb25seSBjdXJyZW5jeT86IHN0cmluZztcbiAgcmVhZG9ubHkgZGV2aWNlVG9rZW4/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGRvYj86IG51bWJlcjtcbiAgcmVhZG9ubHkgZW1haWw/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGV4cGlyZXM/OiBudW1iZXI7XG4gIHJlYWRvbmx5IGZpcnN0Pzogc3RyaW5nO1xuICByZWFkb25seSBnZW5kZXI/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGltYWdlSWQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGltYWdlVXJsPzogc3RyaW5nO1xuICByZWFkb25seSBsYXN0Pzogc3RyaW5nO1xuICByZWFkb25seSBsYXN0QWN0aXZlPzogbnVtYmVyO1xuICByZWFkb25seSBsb2NhbGU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IG1haWxpbmdMaXN0PzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgbmFtZT86IHN0cmluZztcbiAgcmVhZG9ubHkgcGFzc3dvcmQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHBob25lPzogc3RyaW5nO1xuICByZWFkb25seSBzYWx0Pzogc3RyaW5nO1xuICByZWFkb25seSBzdGF0ZT86IHN0cmluZztcbiAgcmVhZG9ubHkgc3RyZWV0MT86IHN0cmluZztcbiAgcmVhZG9ubHkgc3RyZWV0Mj86IHN0cmluZztcbiAgcmVhZG9ubHkgc3RyaXBlQWNjb3VudElkPzogc3RyaW5nO1xuICByZWFkb25seSBzdHJpcGVDdXN0b21lcklkPzogc3RyaW5nO1xuICByZWFkb25seSB0YWdzPzogVGFnVHlwZVtdO1xuICByZWFkb25seSB0aHVtYklkPzogc3RyaW5nO1xuICByZWFkb25seSB0aHVtYlVybD86IHN0cmluZztcbiAgcmVhZG9ubHkgdGltZXpvbmU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHRva2VuPzogc3RyaW5nO1xuICByZWFkb25seSB0eXBlPzogc3RyaW5nO1xuICByZWFkb25seSB1c2VyQWNjZXNzPzogVXNlckFjY2VzcztcbiAgcmVhZG9ubHkgdXNlcklkPzogc3RyaW5nO1xuICByZWFkb25seSB1c2VybmFtZT86IHN0cmluZztcbiAgcmVhZG9ubHkgdmVyaWZpZWRFbWFpbD86IGJvb2xlYW47XG4gIHJlYWRvbmx5IHZlcmlmaWVkRW1haWxDb2RlPzogbnVtYmVyO1xuICByZWFkb25seSB2ZXJpZmllZEVtYWlsRXhwaXJlcz86IG51bWJlcjtcbiAgcmVhZG9ubHkgdmVyaWZpZWRQaG9uZT86IGJvb2xlYW47XG4gIHJlYWRvbmx5IHZlcmlmaWVkUGhvbmVDb2RlPzogbnVtYmVyO1xuICByZWFkb25seSB2ZXJpZmllZFBob25lRXhwaXJlcz86IG51bWJlcjtcbiAgcmVhZG9ubHkgemlwPzogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBVc2VyUGF5bWVudFR5cGUgPSB7XG4gIHJlYWRvbmx5IHNzbj86IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgQWRkVXNlciA9IHtcbiAgcmVhZG9ubHkgY29uZmlybT86IHN0cmluZztcbiAgcmVhZG9ubHkgY291bnRyeT86IHN0cmluZztcbiAgcmVhZG9ubHkgZGV2aWNlVG9rZW4/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGVtYWlsPzogc3RyaW5nO1xuICByZWFkb25seSBmaXJzdD86IHN0cmluZztcbiAgcmVhZG9ubHkgaXA/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGxhc3Q/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IG1haWxpbmc/OiBib29sZWFuO1xuICByZWFkb25seSBwYXNzd29yZD86IHN0cmluZztcbiAgcmVhZG9ubHkgcGhvbmU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IG5hbWU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHJlY2FwdGNoYT86IHN0cmluZztcbiAgcmVhZG9ubHkgdGltZXpvbmU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHVzZXJBY2Nlc3M/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHVzZXJuYW1lPzogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgVXNlclJlYWN0aW9uUXVlcnkgPSBSZWFjdGlvbiAmIHtcbiAgcmVhZG9ubHkgZmlsdGVycz86IFF1ZXJ5RmlsdGVyW107XG59O1xuXG5leHBvcnQgdHlwZSBQYXNzY29kZVR5cGUgPSB7XG4gIHJlYWRvbmx5IHBhc3NBdHRlbXB0PzogbnVtYmVyO1xuICByZWFkb25seSBwYXNzRXhwaXJlcz86IG51bWJlcjtcbiAgcmVhZG9ubHkgcGFzc2NvZGU/OiBzdHJpbmc7XG59OyJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -1,6 +1,10 @@
1
- export interface WebsocketMessageType {
2
- readonly _id?: string;
3
- readonly _key?: string;
1
+ import type { DocumentType } from './arangodb.types';
2
+ export interface WebsocketConnection {
3
+ _key: string;
4
+ socketId: string;
5
+ userId: string;
6
+ }
7
+ export interface WebsocketMessageType extends DocumentType {
4
8
  readonly added?: number;
5
9
  readonly content?: string;
6
10
  readonly conversationId?: string;
@@ -0,0 +1,16 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __copyProps = (to, from, except, desc) => {
6
+ if (from && typeof from === "object" || typeof from === "function") {
7
+ for (let key of __getOwnPropNames(from))
8
+ if (!__hasOwnProp.call(to, key) && key !== except)
9
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
10
+ }
11
+ return to;
12
+ };
13
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
14
+ var websockets_types_exports = {};
15
+ module.exports = __toCommonJS(websockets_types_exports);
16
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3R5cGVzL3dlYnNvY2tldHMudHlwZXMudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE5LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQgdHlwZSB7RG9jdW1lbnRUeXBlfSBmcm9tICcuL2FyYW5nb2RiLnR5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBXZWJzb2NrZXRDb25uZWN0aW9uIHtcbiAgX2tleTogc3RyaW5nO1xuICBzb2NrZXRJZDogc3RyaW5nO1xuICB1c2VySWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXZWJzb2NrZXRNZXNzYWdlVHlwZSBleHRlbmRzIERvY3VtZW50VHlwZSB7XG4gIHJlYWRvbmx5IGFkZGVkPzogbnVtYmVyO1xuICByZWFkb25seSBjb250ZW50Pzogc3RyaW5nO1xuICByZWFkb25seSBjb252ZXJzYXRpb25JZD86IHN0cmluZztcbiAgcmVhZG9ubHkgZmlsZXM/OiBzdHJpbmdbXTtcbiAgcmVhZG9ubHkgaW1hZ2VzPzogc3RyaW5nW107XG4gIHJlYWRvbmx5IG1lc3NhZ2VJZD86IHN0cmluZztcbiAgcmVhZG9ubHkgbW9kaWZpZWQ/OiBudW1iZXI7XG4gIHJlYWRvbmx5IHJlYWQ/OiBib29sZWFuO1xuICByZWFkb25seSBzYXZlZD86IGJvb2xlYW47XG4gIHJlYWRvbmx5IHVzZXJJZD86IHN0cmluZztcbn0iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTsiLAogICJuYW1lcyI6IFtdCn0K
@@ -0,0 +1 @@
1
+ export declare const removeEmptyKeys: (obj: any) => any;
@@ -0,0 +1,45 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var adapterUtils_exports = {};
19
+ __export(adapterUtils_exports, {
20
+ removeEmptyKeys: () => removeEmptyKeys
21
+ });
22
+ module.exports = __toCommonJS(adapterUtils_exports);
23
+ const removeEmptyKeys = (obj) => {
24
+ if (Array.isArray(obj)) {
25
+ return obj.filter((item) => item !== void 0);
26
+ } else if (obj !== Object(obj)) {
27
+ return obj;
28
+ }
29
+ const newObj = {};
30
+ Object.keys(obj).forEach((key) => {
31
+ if (Array.isArray(obj[key])) {
32
+ newObj[key] = obj[key].map((item) => removeEmptyKeys(item)).filter((item) => item !== void 0);
33
+ } else if (obj[key] === Object(obj[key])) {
34
+ newObj[key] = removeEmptyKeys(obj[key]);
35
+ } else if (obj[key] !== void 0) {
36
+ newObj[key] = obj[key];
37
+ }
38
+ });
39
+ return newObj;
40
+ };
41
+ // Annotate the CommonJS export names for ESM import in node:
42
+ 0 && (module.exports = {
43
+ removeEmptyKeys
44
+ });
45
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3V0aWxzL2FkYXB0ZXJVdGlscy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiZXhwb3J0IGNvbnN0IHJlbW92ZUVtcHR5S2V5cyA9IChvYmopID0+IHtcbiAgaWYoQXJyYXkuaXNBcnJheShvYmopKSB7XG4gICAgcmV0dXJuIG9iai5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0gIT09IHVuZGVmaW5lZCk7XG4gIH0gZWxzZSBpZihvYmogIT09IE9iamVjdChvYmopKSB7XG4gICAgcmV0dXJuIG9iajtcbiAgfVxuXG4gIGNvbnN0IG5ld09iaiA9IHt9O1xuXG4gIE9iamVjdC5rZXlzKG9iaikuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgaWYoQXJyYXkuaXNBcnJheShvYmpba2V5XSkpIHtcbiAgICAgIG5ld09ialtrZXldID0gb2JqW2tleV1cbiAgICAgICAgLm1hcCgoaXRlbSkgPT4gcmVtb3ZlRW1wdHlLZXlzKGl0ZW0pKVxuICAgICAgICAuZmlsdGVyKChpdGVtKSA9PiBpdGVtICE9PSB1bmRlZmluZWQpO1xuICAgIH0gZWxzZSBpZihvYmpba2V5XSA9PT0gT2JqZWN0KG9ialtrZXldKSkge1xuICAgICAgbmV3T2JqW2tleV0gPSByZW1vdmVFbXB0eUtleXMob2JqW2tleV0pO1xuICAgIH0gZWxzZSBpZihvYmpba2V5XSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBuZXdPYmpba2V5XSA9IG9ialtrZXldO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIG5ld09iajtcbn07Il0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQU8sTUFBTSxrQkFBa0IsQ0FBQyxRQUFRO0FBQ3RDLE1BQUcsTUFBTSxRQUFRLEdBQUcsR0FBRztBQUNyQixXQUFPLElBQUksT0FBTyxDQUFDLFNBQVMsU0FBUyxNQUFTO0FBQUEsRUFDaEQsV0FBVSxRQUFRLE9BQU8sR0FBRyxHQUFHO0FBQzdCLFdBQU87QUFBQSxFQUNUO0FBRUEsUUFBTSxTQUFTLENBQUM7QUFFaEIsU0FBTyxLQUFLLEdBQUcsRUFBRSxRQUFRLENBQUMsUUFBUTtBQUNoQyxRQUFHLE1BQU0sUUFBUSxJQUFJLEdBQUcsQ0FBQyxHQUFHO0FBQzFCLGFBQU8sR0FBRyxJQUFJLElBQUksR0FBRyxFQUNsQixJQUFJLENBQUMsU0FBUyxnQkFBZ0IsSUFBSSxDQUFDLEVBQ25DLE9BQU8sQ0FBQyxTQUFTLFNBQVMsTUFBUztBQUFBLElBQ3hDLFdBQVUsSUFBSSxHQUFHLE1BQU0sT0FBTyxJQUFJLEdBQUcsQ0FBQyxHQUFHO0FBQ3ZDLGFBQU8sR0FBRyxJQUFJLGdCQUFnQixJQUFJLEdBQUcsQ0FBQztBQUFBLElBQ3hDLFdBQVUsSUFBSSxHQUFHLE1BQU0sUUFBVztBQUNoQyxhQUFPLEdBQUcsSUFBSSxJQUFJLEdBQUc7QUFBQSxJQUN2QjtBQUFBLEVBQ0YsQ0FBQztBQUVELFNBQU87QUFDVDsiLAogICJuYW1lcyI6IFtdCn0K
@@ -0,0 +1,21 @@
1
+ import { ApiContext } from '../types';
2
+ export type ReaktorError = Error & {
3
+ readonly column?: number;
4
+ readonly line?: number;
5
+ readonly message?: string;
6
+ readonly source?: string;
7
+ };
8
+ export type ReaktorLogParams = {
9
+ readonly action?: string;
10
+ readonly category?: string;
11
+ readonly label?: string;
12
+ readonly params?: Record<string, unknown>;
13
+ readonly value?: string;
14
+ };
15
+ export declare const IsUserError: unique symbol;
16
+ export declare class UserError extends Error {
17
+ constructor(...args: any[]);
18
+ }
19
+ export declare const logError: (params: ReaktorLogParams, error?: ReaktorError, context?: ApiContext) => Promise<unknown>;
20
+ export declare const logException: (params: ReaktorLogParams, context: ApiContext) => Promise<unknown>;
21
+ export declare const logInfo: (params: any) => void;
@@ -0,0 +1,72 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var analyticsUtils_exports = {};
19
+ __export(analyticsUtils_exports, {
20
+ IsUserError: () => IsUserError,
21
+ UserError: () => UserError,
22
+ logError: () => logError,
23
+ logException: () => logException,
24
+ logInfo: () => logInfo
25
+ });
26
+ module.exports = __toCommonJS(analyticsUtils_exports);
27
+ const IsUserError = Symbol();
28
+ class UserError extends Error {
29
+ constructor(...args) {
30
+ super(...args);
31
+ this.name = "Error";
32
+ this.message = args[0];
33
+ this[IsUserError] = true;
34
+ }
35
+ }
36
+ const logError = (params, error, context) => {
37
+ const {
38
+ column,
39
+ line,
40
+ message,
41
+ source
42
+ } = error || {};
43
+ const { database, ...updatedContext } = context || {};
44
+ console.error("Reaktor Error:", {
45
+ column,
46
+ line,
47
+ message,
48
+ source,
49
+ type: "error",
50
+ ...params,
51
+ ...updatedContext,
52
+ error
53
+ });
54
+ throw error || new UserError(params?.value);
55
+ };
56
+ const logException = (params, context) => {
57
+ const { database, ...updatedContext } = context;
58
+ console.error("Reaktor Exception:", { type: "exception", ...params, ...updatedContext });
59
+ throw new UserError(params?.value);
60
+ };
61
+ const logInfo = (params) => {
62
+ console.info("Reaktor Log:", { type: "log", ...params });
63
+ };
64
+ // Annotate the CommonJS export names for ESM import in node:
65
+ 0 && (module.exports = {
66
+ IsUserError,
67
+ UserError,
68
+ logError,
69
+ logException,
70
+ logInfo
71
+ });
72
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3V0aWxzL2FuYWx5dGljc1V0aWxzLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxOS1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHtBcGlDb250ZXh0fSBmcm9tICcuLi90eXBlcyc7XG5cbmV4cG9ydCB0eXBlIFJlYWt0b3JFcnJvciA9IEVycm9yICYge1xuICByZWFkb25seSBjb2x1bW4/OiBudW1iZXI7XG4gIHJlYWRvbmx5IGxpbmU/OiBudW1iZXI7XG4gIHJlYWRvbmx5IG1lc3NhZ2U/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHNvdXJjZT86IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIFJlYWt0b3JMb2dQYXJhbXMgPSB7XG4gIHJlYWRvbmx5IGFjdGlvbj86IHN0cmluZztcbiAgcmVhZG9ubHkgY2F0ZWdvcnk/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGxhYmVsPzogc3RyaW5nO1xuICByZWFkb25seSBwYXJhbXM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgcmVhZG9ubHkgdmFsdWU/OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgY29uc3QgSXNVc2VyRXJyb3IgPSBTeW1ib2woKTtcbmV4cG9ydCBjbGFzcyBVc2VyRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKC4uLmFyZ3MpIHtcbiAgICBzdXBlciguLi5hcmdzKTtcbiAgICB0aGlzLm5hbWUgPSAnRXJyb3InO1xuICAgIHRoaXMubWVzc2FnZSA9IGFyZ3NbMF07XG4gICAgdGhpc1tJc1VzZXJFcnJvcl0gPSB0cnVlO1xuXG4gICAgLy8gRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UodGhpcyk7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGxvZ0Vycm9yID0gKHBhcmFtczogUmVha3RvckxvZ1BhcmFtcywgZXJyb3I/OiBSZWFrdG9yRXJyb3IsIGNvbnRleHQ/OiBBcGlDb250ZXh0KTogUHJvbWlzZTx1bmtub3duPiA9PiB7XG4gIGNvbnN0IHtcbiAgICBjb2x1bW4sXG4gICAgbGluZSxcbiAgICBtZXNzYWdlLFxuICAgIHNvdXJjZVxuICB9ID0gZXJyb3IgfHwge307XG5cbiAgY29uc3Qge2RhdGFiYXNlLCAuLi51cGRhdGVkQ29udGV4dH0gPSBjb250ZXh0IHx8IHt9O1xuXG4gIGNvbnNvbGUuZXJyb3IoJ1JlYWt0b3IgRXJyb3I6Jywge1xuICAgIGNvbHVtbixcbiAgICBsaW5lLFxuICAgIG1lc3NhZ2UsXG4gICAgc291cmNlLFxuICAgIHR5cGU6ICdlcnJvcicsXG4gICAgLi4ucGFyYW1zLFxuICAgIC4uLnVwZGF0ZWRDb250ZXh0LFxuICAgIGVycm9yXG4gIH0pO1xuXG4gIHRocm93IGVycm9yIHx8IG5ldyBVc2VyRXJyb3IocGFyYW1zPy52YWx1ZSk7XG59O1xuXG5leHBvcnQgY29uc3QgbG9nRXhjZXB0aW9uID0gKHBhcmFtczogUmVha3RvckxvZ1BhcmFtcywgY29udGV4dDogQXBpQ29udGV4dCk6IFByb21pc2U8dW5rbm93bj4gPT4ge1xuICBjb25zdCB7ZGF0YWJhc2UsIC4uLnVwZGF0ZWRDb250ZXh0fSA9IGNvbnRleHQ7XG5cbiAgY29uc29sZS5lcnJvcignUmVha3RvciBFeGNlcHRpb246Jywge3R5cGU6ICdleGNlcHRpb24nLCAuLi5wYXJhbXMsIC4uLnVwZGF0ZWRDb250ZXh0fSk7XG4gIHRocm93IG5ldyBVc2VyRXJyb3IocGFyYW1zPy52YWx1ZSk7XG59O1xuXG5leHBvcnQgY29uc3QgbG9nSW5mbyA9IChwYXJhbXMpOiB2b2lkID0+IHtcbiAgY29uc29sZS5pbmZvKCdSZWFrdG9yIExvZzonLCB7dHlwZTogJ2xvZycsIC4uLnBhcmFtc30pO1xufTtcbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBcUJPLE1BQU0sY0FBYyxPQUFPO0FBQzNCLE1BQU0sa0JBQWtCLE1BQU07QUFBQSxFQUNuQyxlQUFlLE1BQU07QUFDbkIsVUFBTSxHQUFHLElBQUk7QUFDYixTQUFLLE9BQU87QUFDWixTQUFLLFVBQVUsS0FBSyxDQUFDO0FBQ3JCLFNBQUssV0FBVyxJQUFJO0FBQUEsRUFHdEI7QUFDRjtBQUVPLE1BQU0sV0FBVyxDQUFDLFFBQTBCLE9BQXNCLFlBQTJDO0FBQ2xILFFBQU07QUFBQSxJQUNKO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsRUFDRixJQUFJLFNBQVMsQ0FBQztBQUVkLFFBQU0sRUFBQyxVQUFVLEdBQUcsZUFBYyxJQUFJLFdBQVcsQ0FBQztBQUVsRCxVQUFRLE1BQU0sa0JBQWtCO0FBQUEsSUFDOUI7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBLE1BQU07QUFBQSxJQUNOLEdBQUc7QUFBQSxJQUNILEdBQUc7QUFBQSxJQUNIO0FBQUEsRUFDRixDQUFDO0FBRUQsUUFBTSxTQUFTLElBQUksVUFBVSxRQUFRLEtBQUs7QUFDNUM7QUFFTyxNQUFNLGVBQWUsQ0FBQyxRQUEwQixZQUEwQztBQUMvRixRQUFNLEVBQUMsVUFBVSxHQUFHLGVBQWMsSUFBSTtBQUV0QyxVQUFRLE1BQU0sc0JBQXNCLEVBQUMsTUFBTSxhQUFhLEdBQUcsUUFBUSxHQUFHLGVBQWMsQ0FBQztBQUNyRixRQUFNLElBQUksVUFBVSxRQUFRLEtBQUs7QUFDbkM7QUFFTyxNQUFNLFVBQVUsQ0FBQyxXQUFpQjtBQUN2QyxVQUFRLEtBQUssZ0JBQWdCLEVBQUMsTUFBTSxPQUFPLEdBQUcsT0FBTSxDQUFDO0FBQ3ZEOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -0,0 +1,66 @@
1
+ import { Database } from 'arangojs';
2
+ import type { ArangoDbCollection, ArangoDbLimit } from '../types/arangodb.types';
3
+ export declare const useDb: (databaseName: string) => Database;
4
+ export declare const collectionDetails: {
5
+ apps: {
6
+ collection: string;
7
+ key: string;
8
+ };
9
+ conversations: {
10
+ collection: string;
11
+ key: string;
12
+ };
13
+ files: {
14
+ collection: string;
15
+ key: string;
16
+ };
17
+ groups: {
18
+ collection: string;
19
+ key: string;
20
+ };
21
+ images: {
22
+ collection: string;
23
+ key: string;
24
+ };
25
+ locations: {
26
+ collection: string;
27
+ key: string;
28
+ };
29
+ messages: {
30
+ collection: string;
31
+ key: string;
32
+ };
33
+ notifications: {
34
+ collection: string;
35
+ key: string;
36
+ };
37
+ payments: {
38
+ collection: string;
39
+ key: string;
40
+ };
41
+ posts: {
42
+ collection: string;
43
+ key: string;
44
+ };
45
+ reactions: {
46
+ collection: string;
47
+ key: string;
48
+ };
49
+ subscriptions: {
50
+ collection: string;
51
+ key: string;
52
+ };
53
+ tags: {
54
+ collection: string;
55
+ key: string;
56
+ };
57
+ users: {
58
+ collection: string;
59
+ key: string;
60
+ };
61
+ };
62
+ export declare const getDocId: (collection: ArangoDbCollection, item: any) => string;
63
+ export declare const getLimit: (start?: number, to?: number) => ArangoDbLimit;
64
+ export declare const selectReactionCountByType: (objectType: string, objectKey: string, field: string, selects: any) => any;
65
+ export declare const sortIds: (ids: string[], sort?: string) => string[];
66
+ export declare const getGqlFields: (info: any) => string[];
@@ -0,0 +1,165 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+ var arangodbUtils_exports = {};
29
+ __export(arangodbUtils_exports, {
30
+ collectionDetails: () => collectionDetails,
31
+ getDocId: () => getDocId,
32
+ getGqlFields: () => getGqlFields,
33
+ getLimit: () => getLimit,
34
+ selectReactionCountByType: () => selectReactionCountByType,
35
+ sortIds: () => sortIds,
36
+ useDb: () => useDb
37
+ });
38
+ module.exports = __toCommonJS(arangodbUtils_exports);
39
+ var import_utils = require("@nlabs/utils");
40
+ var import_arangojs = require("arangojs");
41
+ var import_graphql_fields = __toESM(require("graphql-fields"), 1);
42
+ const useDb = (databaseName) => new import_arangojs.Database({
43
+ auth: {
44
+ password: process.env.ARANGODB_PASSWORD,
45
+ username: process.env.ARANGODB_USERNAME
46
+ },
47
+ databaseName,
48
+ url: `${process.env.ARANGODB_URL}:${process.env.ARANGODB_PORT}`
49
+ });
50
+ const collectionDetails = {
51
+ apps: {
52
+ collection: "apps",
53
+ key: "appId"
54
+ },
55
+ conversations: {
56
+ collection: "conversations",
57
+ key: "conversationId"
58
+ },
59
+ files: {
60
+ collection: "files",
61
+ key: "fileId"
62
+ },
63
+ groups: {
64
+ collection: "groups",
65
+ key: "groupId"
66
+ },
67
+ images: {
68
+ collection: "images",
69
+ key: "imageId"
70
+ },
71
+ locations: {
72
+ collection: "locations",
73
+ key: "locationId"
74
+ },
75
+ messages: {
76
+ collection: "messages",
77
+ key: "messageId"
78
+ },
79
+ notifications: {
80
+ collection: "notifications",
81
+ key: "notificationId"
82
+ },
83
+ payments: {
84
+ collection: "payments",
85
+ key: "paymentId"
86
+ },
87
+ posts: {
88
+ collection: "posts",
89
+ key: "postId"
90
+ },
91
+ reactions: {
92
+ collection: "reactions",
93
+ key: "reactionId"
94
+ },
95
+ subscriptions: {
96
+ collection: "subscriptions",
97
+ key: "subscriptionId"
98
+ },
99
+ tags: {
100
+ collection: "tags",
101
+ key: "tagId"
102
+ },
103
+ users: {
104
+ collection: "users",
105
+ key: "userId"
106
+ }
107
+ };
108
+ const getDocId = (collection, item) => {
109
+ const { _id, _key, id } = item;
110
+ const itemId = (0, import_utils.parseArangoId)(_id || id);
111
+ if (itemId) {
112
+ const idParts = itemId.split("/");
113
+ if (collectionDetails[idParts[0]]) {
114
+ return itemId;
115
+ }
116
+ }
117
+ let itemKey = (0, import_utils.parseId)(_key);
118
+ if (!itemKey) {
119
+ itemKey = item[collectionDetails[collection].key];
120
+ }
121
+ return itemKey ? `${collection}/${itemKey}` : "";
122
+ };
123
+ const getLimit = (start = 0, to = 30) => {
124
+ let num = (0, import_utils.parseNum)(to) - (0, import_utils.parseNum)(start);
125
+ if (num > 50) {
126
+ num = 50;
127
+ }
128
+ return { aql: to >= 0 ? `LIMIT ${start}, ${num}` : "", num, start };
129
+ };
130
+ const selectReactionCountByType = (objectType, objectKey, field, selects) => {
131
+ const reactionType = field.substring(0, field.indexOf("Count"));
132
+ selects.queries.push(`LET ${field} = FIRST(
133
+ FOR obj, r IN INBOUND ${objectKey}._id hasReaction
134
+ FILTER r.name == "${reactionType}" && r.type == "${objectType}"
135
+ COLLECT WITH COUNT INTO count
136
+ RETURN count
137
+ )`);
138
+ selects.objects.push(`${field}:${field}`);
139
+ return selects;
140
+ };
141
+ const sortIds = (ids, sort = "ASC") => ids.sort((a, b) => {
142
+ if (sort.toUpperCase() === "ASC") {
143
+ return a.localeCompare(b);
144
+ }
145
+ return b.localeCompare(a);
146
+ });
147
+ const getGqlFields = (info) => {
148
+ const fields = (0, import_graphql_fields.default)(info) || {};
149
+ const methodName = Object.keys(fields)[0];
150
+ if (methodName) {
151
+ return Object.keys(fields[methodName]);
152
+ }
153
+ return [];
154
+ };
155
+ // Annotate the CommonJS export names for ESM import in node:
156
+ 0 && (module.exports = {
157
+ collectionDetails,
158
+ getDocId,
159
+ getGqlFields,
160
+ getLimit,
161
+ selectReactionCountByType,
162
+ sortIds,
163
+ useDb
164
+ });
165
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3V0aWxzL2FyYW5nb2RiVXRpbHMudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE5LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQge3BhcnNlQXJhbmdvSWQsIHBhcnNlSWQsIHBhcnNlTnVtfSBmcm9tICdAbmxhYnMvdXRpbHMnO1xuaW1wb3J0IHtEYXRhYmFzZX0gZnJvbSAnYXJhbmdvanMnO1xuaW1wb3J0IGdyYXBocWxGaWVsZHMgZnJvbSAnZ3JhcGhxbC1maWVsZHMnO1xuXG5pbXBvcnQgdHlwZSB7QXJhbmdvRGJDb2xsZWN0aW9uLCBBcmFuZ29EYkxpbWl0fSBmcm9tICcuLi90eXBlcy9hcmFuZ29kYi50eXBlcyc7XG5cbmV4cG9ydCBjb25zdCB1c2VEYiA9IChkYXRhYmFzZU5hbWU6IHN0cmluZyk6IERhdGFiYXNlID0+IG5ldyBEYXRhYmFzZSh7XG4gIGF1dGg6IHtcbiAgICBwYXNzd29yZDogcHJvY2Vzcy5lbnYuQVJBTkdPREJfUEFTU1dPUkQsXG4gICAgdXNlcm5hbWU6IHByb2Nlc3MuZW52LkFSQU5HT0RCX1VTRVJOQU1FXG4gIH0sXG4gIGRhdGFiYXNlTmFtZSxcbiAgdXJsOiBgJHtwcm9jZXNzLmVudi5BUkFOR09EQl9VUkx9OiR7cHJvY2Vzcy5lbnYuQVJBTkdPREJfUE9SVH1gXG59KTtcblxuZXhwb3J0IGNvbnN0IGNvbGxlY3Rpb25EZXRhaWxzID0ge1xuICBhcHBzOiB7XG4gICAgY29sbGVjdGlvbjogJ2FwcHMnLFxuICAgIGtleTogJ2FwcElkJ1xuICB9LFxuICBjb252ZXJzYXRpb25zOiB7XG4gICAgY29sbGVjdGlvbjogJ2NvbnZlcnNhdGlvbnMnLFxuICAgIGtleTogJ2NvbnZlcnNhdGlvbklkJ1xuICB9LFxuICBmaWxlczoge1xuICAgIGNvbGxlY3Rpb246ICdmaWxlcycsXG4gICAga2V5OiAnZmlsZUlkJ1xuICB9LFxuICBncm91cHM6IHtcbiAgICBjb2xsZWN0aW9uOiAnZ3JvdXBzJyxcbiAgICBrZXk6ICdncm91cElkJ1xuICB9LFxuICBpbWFnZXM6IHtcbiAgICBjb2xsZWN0aW9uOiAnaW1hZ2VzJyxcbiAgICBrZXk6ICdpbWFnZUlkJ1xuICB9LFxuICBsb2NhdGlvbnM6IHtcbiAgICBjb2xsZWN0aW9uOiAnbG9jYXRpb25zJyxcbiAgICBrZXk6ICdsb2NhdGlvbklkJ1xuICB9LFxuICBtZXNzYWdlczoge1xuICAgIGNvbGxlY3Rpb246ICdtZXNzYWdlcycsXG4gICAga2V5OiAnbWVzc2FnZUlkJ1xuICB9LFxuICBub3RpZmljYXRpb25zOiB7XG4gICAgY29sbGVjdGlvbjogJ25vdGlmaWNhdGlvbnMnLFxuICAgIGtleTogJ25vdGlmaWNhdGlvbklkJ1xuICB9LFxuICBwYXltZW50czoge1xuICAgIGNvbGxlY3Rpb246ICdwYXltZW50cycsXG4gICAga2V5OiAncGF5bWVudElkJ1xuICB9LFxuICBwb3N0czoge1xuICAgIGNvbGxlY3Rpb246ICdwb3N0cycsXG4gICAga2V5OiAncG9zdElkJ1xuICB9LFxuICByZWFjdGlvbnM6IHtcbiAgICBjb2xsZWN0aW9uOiAncmVhY3Rpb25zJyxcbiAgICBrZXk6ICdyZWFjdGlvbklkJ1xuICB9LFxuICBzdWJzY3JpcHRpb25zOiB7XG4gICAgY29sbGVjdGlvbjogJ3N1YnNjcmlwdGlvbnMnLFxuICAgIGtleTogJ3N1YnNjcmlwdGlvbklkJ1xuICB9LFxuICB0YWdzOiB7XG4gICAgY29sbGVjdGlvbjogJ3RhZ3MnLFxuICAgIGtleTogJ3RhZ0lkJ1xuICB9LFxuICB1c2Vyczoge1xuICAgIGNvbGxlY3Rpb246ICd1c2VycycsXG4gICAga2V5OiAndXNlcklkJ1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0RG9jSWQgPSAoY29sbGVjdGlvbjogQXJhbmdvRGJDb2xsZWN0aW9uLCBpdGVtKTogc3RyaW5nID0+IHtcbiAgY29uc3Qge19pZCwgX2tleSwgaWR9ID0gaXRlbTtcbiAgY29uc3QgaXRlbUlkID0gcGFyc2VBcmFuZ29JZChfaWQgfHwgaWQpO1xuXG4gIGlmKGl0ZW1JZCkge1xuICAgIGNvbnN0IGlkUGFydHMgPSBpdGVtSWQuc3BsaXQoJy8nKTtcblxuICAgIGlmKGNvbGxlY3Rpb25EZXRhaWxzW2lkUGFydHNbMF1dKSB7XG4gICAgICByZXR1cm4gaXRlbUlkO1xuICAgIH1cbiAgfVxuXG4gIGxldCBpdGVtS2V5ID0gcGFyc2VJZChfa2V5KTtcblxuICBpZighaXRlbUtleSkge1xuICAgIGl0ZW1LZXkgPSBpdGVtW2NvbGxlY3Rpb25EZXRhaWxzW2NvbGxlY3Rpb25dLmtleV07XG4gIH1cblxuICByZXR1cm4gaXRlbUtleSA/IGAke2NvbGxlY3Rpb259LyR7aXRlbUtleX1gIDogJyc7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0TGltaXQgPSAoc3RhcnQ6IG51bWJlciA9IDAsIHRvOiBudW1iZXIgPSAzMCk6IEFyYW5nb0RiTGltaXQgPT4ge1xuICBsZXQgbnVtID0gcGFyc2VOdW0odG8pIC0gcGFyc2VOdW0oc3RhcnQpO1xuXG4gIGlmKG51bSA+IDUwKSB7XG4gICAgbnVtID0gNTA7XG4gIH1cblxuICByZXR1cm4ge2FxbDogdG8gPj0gMCA/IGBMSU1JVCAke3N0YXJ0fSwgJHtudW19YCA6ICcnLCBudW0sIHN0YXJ0fTtcbn07XG5cbmV4cG9ydCBjb25zdCBzZWxlY3RSZWFjdGlvbkNvdW50QnlUeXBlID0gKG9iamVjdFR5cGU6IHN0cmluZywgb2JqZWN0S2V5OiBzdHJpbmcsIGZpZWxkOiBzdHJpbmcsIHNlbGVjdHMpID0+IHtcbiAgY29uc3QgcmVhY3Rpb25UeXBlOiBzdHJpbmcgPSBmaWVsZC5zdWJzdHJpbmcoMCwgZmllbGQuaW5kZXhPZignQ291bnQnKSk7XG4gIHNlbGVjdHMucXVlcmllcy5wdXNoKGBMRVQgJHtmaWVsZH0gPSBGSVJTVChcbiAgICAgIEZPUiBvYmosIHIgSU4gSU5CT1VORCAke29iamVjdEtleX0uX2lkIGhhc1JlYWN0aW9uXG4gICAgICBGSUxURVIgci5uYW1lID09IFwiJHtyZWFjdGlvblR5cGV9XCIgJiYgci50eXBlID09IFwiJHtvYmplY3RUeXBlfVwiXG4gICAgICBDT0xMRUNUIFdJVEggQ09VTlQgSU5UTyBjb3VudFxuICAgICAgUkVUVVJOIGNvdW50XG4gICAgKWApO1xuICBzZWxlY3RzLm9iamVjdHMucHVzaChgJHtmaWVsZH06JHtmaWVsZH1gKTtcbiAgcmV0dXJuIHNlbGVjdHM7XG59O1xuXG5leHBvcnQgY29uc3Qgc29ydElkcyA9IChpZHM6IHN0cmluZ1tdLCBzb3J0OiBzdHJpbmcgPSAnQVNDJyk6IHN0cmluZ1tdID0+IGlkcy5zb3J0KChhLCBiKSA9PiB7XG4gIGlmKHNvcnQudG9VcHBlckNhc2UoKSA9PT0gJ0FTQycpIHtcbiAgICByZXR1cm4gYS5sb2NhbGVDb21wYXJlKGIpO1xuICB9XG5cbiAgcmV0dXJuIGIubG9jYWxlQ29tcGFyZShhKTtcbn0pO1xuXG5leHBvcnQgY29uc3QgZ2V0R3FsRmllbGRzID0gKGluZm8pID0+IHtcbiAgY29uc3QgZmllbGRzID0gZ3JhcGhxbEZpZWxkcyhpbmZvKSB8fCB7fTtcbiAgY29uc3QgbWV0aG9kTmFtZTogc3RyaW5nID0gT2JqZWN0LmtleXMoZmllbGRzKVswXTtcblxuICBpZihtZXRob2ROYW1lKSB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKGZpZWxkc1ttZXRob2ROYW1lXSk7XG4gIH1cblxuICByZXR1cm4gW107XG59OyJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFJQSxtQkFBK0M7QUFDL0Msc0JBQXVCO0FBQ3ZCLDRCQUEwQjtBQUluQixNQUFNLFFBQVEsQ0FBQyxpQkFBbUMsSUFBSSx5QkFBUztBQUFBLEVBQ3BFLE1BQU07QUFBQSxJQUNKLFVBQVUsUUFBUSxJQUFJO0FBQUEsSUFDdEIsVUFBVSxRQUFRLElBQUk7QUFBQSxFQUN4QjtBQUFBLEVBQ0E7QUFBQSxFQUNBLEtBQUssR0FBRyxRQUFRLElBQUksWUFBWSxJQUFJLFFBQVEsSUFBSSxhQUFhO0FBQy9ELENBQUM7QUFFTSxNQUFNLG9CQUFvQjtBQUFBLEVBQy9CLE1BQU07QUFBQSxJQUNKLFlBQVk7QUFBQSxJQUNaLEtBQUs7QUFBQSxFQUNQO0FBQUEsRUFDQSxlQUFlO0FBQUEsSUFDYixZQUFZO0FBQUEsSUFDWixLQUFLO0FBQUEsRUFDUDtBQUFBLEVBQ0EsT0FBTztBQUFBLElBQ0wsWUFBWTtBQUFBLElBQ1osS0FBSztBQUFBLEVBQ1A7QUFBQSxFQUNBLFFBQVE7QUFBQSxJQUNOLFlBQVk7QUFBQSxJQUNaLEtBQUs7QUFBQSxFQUNQO0FBQUEsRUFDQSxRQUFRO0FBQUEsSUFDTixZQUFZO0FBQUEsSUFDWixLQUFLO0FBQUEsRUFDUDtBQUFBLEVBQ0EsV0FBVztBQUFBLElBQ1QsWUFBWTtBQUFBLElBQ1osS0FBSztBQUFBLEVBQ1A7QUFBQSxFQUNBLFVBQVU7QUFBQSxJQUNSLFlBQVk7QUFBQSxJQUNaLEtBQUs7QUFBQSxFQUNQO0FBQUEsRUFDQSxlQUFlO0FBQUEsSUFDYixZQUFZO0FBQUEsSUFDWixLQUFLO0FBQUEsRUFDUDtBQUFBLEVBQ0EsVUFBVTtBQUFBLElBQ1IsWUFBWTtBQUFBLElBQ1osS0FBSztBQUFBLEVBQ1A7QUFBQSxFQUNBLE9BQU87QUFBQSxJQUNMLFlBQVk7QUFBQSxJQUNaLEtBQUs7QUFBQSxFQUNQO0FBQUEsRUFDQSxXQUFXO0FBQUEsSUFDVCxZQUFZO0FBQUEsSUFDWixLQUFLO0FBQUEsRUFDUDtBQUFBLEVBQ0EsZUFBZTtBQUFBLElBQ2IsWUFBWTtBQUFBLElBQ1osS0FBSztBQUFBLEVBQ1A7QUFBQSxFQUNBLE1BQU07QUFBQSxJQUNKLFlBQVk7QUFBQSxJQUNaLEtBQUs7QUFBQSxFQUNQO0FBQUEsRUFDQSxPQUFPO0FBQUEsSUFDTCxZQUFZO0FBQUEsSUFDWixLQUFLO0FBQUEsRUFDUDtBQUNGO0FBRU8sTUFBTSxXQUFXLENBQUMsWUFBZ0MsU0FBaUI7QUFDeEUsUUFBTSxFQUFDLEtBQUssTUFBTSxHQUFFLElBQUk7QUFDeEIsUUFBTSxhQUFTLDRCQUFjLE9BQU8sRUFBRTtBQUV0QyxNQUFHLFFBQVE7QUFDVCxVQUFNLFVBQVUsT0FBTyxNQUFNLEdBQUc7QUFFaEMsUUFBRyxrQkFBa0IsUUFBUSxDQUFDLENBQUMsR0FBRztBQUNoQyxhQUFPO0FBQUEsSUFDVDtBQUFBLEVBQ0Y7QUFFQSxNQUFJLGNBQVUsc0JBQVEsSUFBSTtBQUUxQixNQUFHLENBQUMsU0FBUztBQUNYLGNBQVUsS0FBSyxrQkFBa0IsVUFBVSxFQUFFLEdBQUc7QUFBQSxFQUNsRDtBQUVBLFNBQU8sVUFBVSxHQUFHLFVBQVUsSUFBSSxPQUFPLEtBQUs7QUFDaEQ7QUFFTyxNQUFNLFdBQVcsQ0FBQyxRQUFnQixHQUFHLEtBQWEsT0FBc0I7QUFDN0UsTUFBSSxVQUFNLHVCQUFTLEVBQUUsUUFBSSx1QkFBUyxLQUFLO0FBRXZDLE1BQUcsTUFBTSxJQUFJO0FBQ1gsVUFBTTtBQUFBLEVBQ1I7QUFFQSxTQUFPLEVBQUMsS0FBSyxNQUFNLElBQUksU0FBUyxLQUFLLEtBQUssR0FBRyxLQUFLLElBQUksS0FBSyxNQUFLO0FBQ2xFO0FBRU8sTUFBTSw0QkFBNEIsQ0FBQyxZQUFvQixXQUFtQixPQUFlLFlBQVk7QUFDMUcsUUFBTSxlQUF1QixNQUFNLFVBQVUsR0FBRyxNQUFNLFFBQVEsT0FBTyxDQUFDO0FBQ3RFLFVBQVEsUUFBUSxLQUFLLE9BQU8sS0FBSztBQUFBLDhCQUNMLFNBQVM7QUFBQSwwQkFDYixZQUFZLG1CQUFtQixVQUFVO0FBQUE7QUFBQTtBQUFBLE1BRzdEO0FBQ0osVUFBUSxRQUFRLEtBQUssR0FBRyxLQUFLLElBQUksS0FBSyxFQUFFO0FBQ3hDLFNBQU87QUFDVDtBQUVPLE1BQU0sVUFBVSxDQUFDLEtBQWUsT0FBZSxVQUFvQixJQUFJLEtBQUssQ0FBQyxHQUFHLE1BQU07QUFDM0YsTUFBRyxLQUFLLFlBQVksTUFBTSxPQUFPO0FBQy9CLFdBQU8sRUFBRSxjQUFjLENBQUM7QUFBQSxFQUMxQjtBQUVBLFNBQU8sRUFBRSxjQUFjLENBQUM7QUFDMUIsQ0FBQztBQUVNLE1BQU0sZUFBZSxDQUFDLFNBQVM7QUFDcEMsUUFBTSxhQUFTLHNCQUFBQSxTQUFjLElBQUksS0FBSyxDQUFDO0FBQ3ZDLFFBQU0sYUFBcUIsT0FBTyxLQUFLLE1BQU0sRUFBRSxDQUFDO0FBRWhELE1BQUcsWUFBWTtBQUNiLFdBQU8sT0FBTyxLQUFLLE9BQU8sVUFBVSxDQUFDO0FBQUEsRUFDdkM7QUFFQSxTQUFPLENBQUM7QUFDVjsiLAogICJuYW1lcyI6IFsiZ3JhcGhxbEZpZWxkcyJdCn0K