@nlabs/reaktor 0.10.0 → 0.10.2

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 (448) hide show
  1. package/.env +1 -0
  2. package/.env.example +1 -0
  3. package/DATABASE_I18N_GUIDE.md +434 -0
  4. package/TEST_UTILITIES_GUIDE.md +360 -0
  5. package/coverage/actions/index.html +21 -36
  6. package/coverage/actions/notifications.ts.html +223 -0
  7. package/coverage/actions/posts.ts.html +2356 -0
  8. package/coverage/adapters/arangoAdapter.ts.html +170 -20
  9. package/coverage/adapters/fileAdapter.ts.html +445 -0
  10. package/coverage/adapters/index.html +72 -42
  11. package/coverage/adapters/postAdapter.ts.html +436 -0
  12. package/coverage/adapters/reaktorAdapter.ts.html +201 -18
  13. package/coverage/adapters/tagAdapter.ts.html +274 -25
  14. package/coverage/adapters/userAdapter.ts.html +829 -0
  15. package/coverage/analyticsUtils.ts.html +286 -0
  16. package/coverage/config.ts.html +766 -0
  17. package/coverage/index.html +77 -77
  18. package/coverage/mocks/group.ts.html +5 -5
  19. package/coverage/mocks/image.ts.html +18 -12
  20. package/coverage/mocks/index.html +37 -7
  21. package/coverage/mocks/post.ts.html +8 -8
  22. package/coverage/mocks/tag.ts.html +2 -2
  23. package/coverage/mocks/user.ts.html +18 -15
  24. package/coverage/testUtils.ts.html +1309 -0
  25. package/coverage/translationQueue.ts.html +592 -0
  26. package/coverage/types/error.types.ts.html +148 -0
  27. package/coverage/types/index.html +2 -2
  28. package/coverage/utils/adapterUtils.ts.html +39 -27
  29. package/coverage/utils/analyticsUtils.ts.html +35 -41
  30. package/coverage/utils/authUtils.ts.html +328 -0
  31. package/coverage/utils/dbI18n.ts.html +280 -0
  32. package/coverage/utils/googleTranslate.ts.html +385 -0
  33. package/coverage/utils/index.html +29 -44
  34. package/coverage/utils/localeUtils.ts.html +193 -0
  35. package/coverage/utils/sessionUtils.ts.html +211 -0
  36. package/coverage/utils/testUtils.ts.html +1309 -0
  37. package/index.js +1 -1
  38. package/lex.config.mjs +34 -0
  39. package/lib/actions/apps.d.ts +4 -4
  40. package/lib/actions/apps.js +17 -239
  41. package/lib/actions/connections.d.ts +2 -1
  42. package/lib/actions/connections.js +6 -89
  43. package/lib/actions/content.d.ts +13 -0
  44. package/lib/actions/content.js +17 -0
  45. package/lib/actions/conversations.d.ts +4 -2
  46. package/lib/actions/conversations.js +19 -336
  47. package/lib/actions/dynamodb.d.ts +4 -0
  48. package/lib/actions/dynamodb.js +2 -150
  49. package/lib/actions/email.d.ts +5 -2
  50. package/lib/actions/email.js +2 -152
  51. package/lib/actions/files.d.ts +3 -3
  52. package/lib/actions/files.js +5 -283
  53. package/lib/actions/groups.d.ts +4 -5
  54. package/lib/actions/groups.js +19 -259
  55. package/lib/actions/images.d.ts +8 -1
  56. package/lib/actions/images.js +31 -700
  57. package/lib/actions/index.d.ts +27 -23
  58. package/lib/actions/index.js +2 -66
  59. package/lib/actions/ios.d.ts +3 -3
  60. package/lib/actions/ios.js +9 -162
  61. package/lib/actions/locations.d.ts +3 -3
  62. package/lib/actions/locations.js +7 -122
  63. package/lib/actions/messages.d.ts +3 -4
  64. package/lib/actions/messages.js +21 -196
  65. package/lib/actions/notifications.d.ts +5 -1
  66. package/lib/actions/notifications.js +2 -59
  67. package/lib/actions/payments.d.ts +3 -1
  68. package/lib/actions/payments.js +11 -464
  69. package/lib/actions/posts.d.ts +7 -4
  70. package/lib/actions/posts.js +75 -527
  71. package/lib/actions/profiles.d.ts +4 -0
  72. package/lib/actions/profiles.js +8 -0
  73. package/lib/actions/reactions.d.ts +3 -1
  74. package/lib/actions/reactions.js +25 -312
  75. package/lib/actions/s3.d.ts +4 -0
  76. package/lib/actions/s3.js +2 -133
  77. package/lib/actions/search.d.ts +2 -2
  78. package/lib/actions/search.js +5 -90
  79. package/lib/actions/sms.d.ts +2 -9
  80. package/lib/actions/sms.js +2 -108
  81. package/lib/actions/statistics.d.ts +2 -1
  82. package/lib/actions/statistics.js +6 -60
  83. package/lib/actions/{subscription.d.ts → subscriptions.d.ts} +2 -2
  84. package/lib/actions/subscriptions.js +12 -0
  85. package/lib/actions/tags.d.ts +3 -3
  86. package/lib/actions/tags.js +19 -287
  87. package/lib/actions/users.d.ts +13 -12
  88. package/lib/actions/users.js +66 -763
  89. package/lib/actions/websockets.d.ts +2 -2
  90. package/lib/actions/websockets.js +14 -158
  91. package/lib/adapters/arangoAdapter.d.ts +7 -1
  92. package/lib/adapters/arangoAdapter.js +2 -46
  93. package/lib/adapters/contentAdapter.d.ts +8 -0
  94. package/lib/adapters/contentAdapter.js +2 -0
  95. package/lib/adapters/fileAdapter.d.ts +8 -2
  96. package/lib/adapters/fileAdapter.js +2 -76
  97. package/lib/adapters/imageAdapter.d.ts +7 -1
  98. package/lib/adapters/imageAdapter.js +2 -40
  99. package/lib/adapters/index.d.ts +9 -0
  100. package/lib/adapters/index.js +2 -0
  101. package/lib/adapters/messageAdapter.d.ts +7 -1
  102. package/lib/adapters/messageAdapter.js +2 -49
  103. package/lib/adapters/postAdapter.d.ts +7 -1
  104. package/lib/adapters/postAdapter.js +2 -70
  105. package/lib/adapters/reaktorAdapter.d.ts +16 -6
  106. package/lib/adapters/reaktorAdapter.js +2 -44
  107. package/lib/adapters/tagAdapter.d.ts +8 -1
  108. package/lib/adapters/tagAdapter.js +2 -50
  109. package/lib/adapters/userAdapter.d.ts +12 -1
  110. package/lib/adapters/userAdapter.js +2 -115
  111. package/lib/config.d.ts +43 -6
  112. package/lib/config.js +2 -125
  113. package/lib/handlers/graphqlHandler.d.ts +4 -0
  114. package/lib/handlers/graphqlHandler.js +2 -0
  115. package/lib/index.d.ts +17 -10
  116. package/lib/index.js +2 -66
  117. package/lib/lambdas/actions/websockets.d.ts +3 -3
  118. package/lib/lambdas/actions/websockets.js +14 -116
  119. package/lib/lambdas/authorizer.js +2 -67
  120. package/lib/lambdas/connection.js +2 -91
  121. package/lib/lambdas/utils/message.js +2 -42
  122. package/lib/lambdas/utils/websocket.js +2 -105
  123. package/lib/mocks/conversation.js +2 -35
  124. package/lib/mocks/file.js +2 -38
  125. package/lib/mocks/group.js +2 -47
  126. package/lib/mocks/image.d.ts +1 -1
  127. package/lib/mocks/image.js +2 -44
  128. package/lib/mocks/post.js +2 -55
  129. package/lib/mocks/tag.d.ts +1 -1
  130. package/lib/mocks/tag.js +2 -37
  131. package/lib/mocks/user.d.ts +1 -1
  132. package/lib/mocks/user.js +2 -88
  133. package/lib/mutations/content.d.ts +2 -0
  134. package/lib/mutations/content.js +2 -0
  135. package/lib/mutations/index.d.ts +11 -3
  136. package/lib/mutations/index.js +2 -26
  137. package/lib/mutations/locations.d.ts +1 -1
  138. package/lib/mutations/locations.js +2 -44
  139. package/lib/mutations/messages.d.ts +1 -1
  140. package/lib/mutations/messages.js +2 -86
  141. package/lib/mutations/posts.d.ts +1 -1
  142. package/lib/mutations/posts.js +2 -53
  143. package/lib/mutations/profiles.d.ts +2 -0
  144. package/lib/mutations/profiles.js +2 -0
  145. package/lib/mutations/reactions.d.ts +1 -1
  146. package/lib/mutations/reactions.js +2 -51
  147. package/lib/mutations/statistics.d.ts +1 -1
  148. package/lib/mutations/statistics.js +2 -39
  149. package/lib/mutations/subscriptions.d.ts +1 -1
  150. package/lib/mutations/subscriptions.js +2 -56
  151. package/lib/mutations/tags.d.ts +1 -1
  152. package/lib/mutations/tags.js +2 -120
  153. package/lib/mutations/users.js +2 -116
  154. package/lib/objectTypes/app.js +2 -173
  155. package/lib/objectTypes/bankAccount.js +2 -76
  156. package/lib/objectTypes/connection.js +2 -48
  157. package/lib/objectTypes/content.d.ts +2 -0
  158. package/lib/objectTypes/content.js +2 -0
  159. package/lib/objectTypes/conversation.js +2 -77
  160. package/lib/objectTypes/creditCard.js +2 -86
  161. package/lib/objectTypes/document.js +2 -46
  162. package/lib/objectTypes/error.js +2 -46
  163. package/lib/objectTypes/external.js +2 -74
  164. package/lib/objectTypes/file.js +2 -100
  165. package/lib/objectTypes/filter.js +2 -43
  166. package/lib/objectTypes/group.js +2 -123
  167. package/lib/objectTypes/iapSubscription.js +2 -40
  168. package/lib/objectTypes/image.d.ts +4 -0
  169. package/lib/objectTypes/image.js +2 -129
  170. package/lib/objectTypes/index.d.ts +26 -24
  171. package/lib/objectTypes/index.js +2 -68
  172. package/lib/objectTypes/location.js +2 -109
  173. package/lib/objectTypes/message.js +2 -96
  174. package/lib/objectTypes/passcode.js +2 -42
  175. package/lib/objectTypes/plan.js +2 -95
  176. package/lib/objectTypes/post.js +2 -125
  177. package/lib/objectTypes/profile.d.ts +3 -0
  178. package/lib/objectTypes/profile.js +2 -0
  179. package/lib/objectTypes/reaction.js +2 -61
  180. package/lib/objectTypes/relation.js +2 -49
  181. package/lib/objectTypes/search.js +2 -72
  182. package/lib/objectTypes/statistics.js +2 -39
  183. package/lib/objectTypes/subscription.js +2 -117
  184. package/lib/objectTypes/tag.js +2 -65
  185. package/lib/objectTypes/user.js +2 -144
  186. package/lib/queries/content.d.ts +2 -0
  187. package/lib/queries/content.js +2 -0
  188. package/lib/queries/index.d.ts +10 -3
  189. package/lib/queries/index.js +2 -33
  190. package/lib/queries/locations.d.ts +1 -1
  191. package/lib/queries/locations.js +2 -45
  192. package/lib/queries/messages.d.ts +1 -1
  193. package/lib/queries/messages.js +2 -52
  194. package/lib/queries/posts.d.ts +1 -1
  195. package/lib/queries/posts.js +2 -154
  196. package/lib/queries/reactions.d.ts +1 -1
  197. package/lib/queries/reactions.js +2 -56
  198. package/lib/queries/statistics.d.ts +1 -1
  199. package/lib/queries/statistics.js +2 -39
  200. package/lib/queries/subscriptions.d.ts +1 -1
  201. package/lib/queries/subscriptions.js +2 -44
  202. package/lib/queries/tags.d.ts +1 -1
  203. package/lib/queries/tags.js +2 -75
  204. package/lib/queries/users.js +2 -64
  205. package/lib/templates/email/layout.js +3 -25
  206. package/lib/templates/email/passwordForgot.js +3 -25
  207. package/lib/templates/email/passwordRecovery.js +3 -25
  208. package/lib/templates/email/verifyEmail.js +3 -25
  209. package/lib/templates/email/welcome.js +3 -25
  210. package/lib/templates/sms/passwordForgot.js +2 -24
  211. package/lib/templates/sms/passwordRecovery.js +2 -24
  212. package/lib/templates/sms/verifyEmail.js +2 -24
  213. package/lib/templates/sms/verifyPhone.js +2 -24
  214. package/lib/templates/sms/welcome.js +2 -24
  215. package/lib/types/apps.types.d.ts +6 -2
  216. package/lib/types/apps.types.js +2 -32
  217. package/lib/types/arangodb.types.d.ts +8 -4
  218. package/lib/types/arangodb.types.js +1 -16
  219. package/lib/types/auth.types.d.ts +11 -5
  220. package/lib/types/auth.types.js +1 -16
  221. package/lib/types/connections.types.d.ts +5 -1
  222. package/lib/types/connections.types.js +1 -16
  223. package/lib/types/content.types.d.ts +31 -0
  224. package/lib/types/content.types.js +1 -0
  225. package/lib/types/conversations.types.d.ts +6 -2
  226. package/lib/types/conversations.types.js +1 -16
  227. package/lib/types/email.types.d.ts +9 -5
  228. package/lib/types/email.types.js +1 -16
  229. package/lib/types/error.types.d.ts +1 -0
  230. package/lib/types/error.types.js +2 -44
  231. package/lib/types/files.types.d.ts +5 -1
  232. package/lib/types/files.types.js +1 -16
  233. package/lib/types/google.types.d.ts +4 -0
  234. package/lib/types/google.types.js +1 -16
  235. package/lib/types/groups.types.d.ts +5 -1
  236. package/lib/types/groups.types.js +1 -16
  237. package/lib/types/images.types.d.ts +6 -2
  238. package/lib/types/images.types.js +1 -16
  239. package/lib/types/index.d.ts +26 -20
  240. package/lib/types/index.js +2 -60
  241. package/lib/types/locations.types.d.ts +5 -1
  242. package/lib/types/locations.types.js +1 -16
  243. package/lib/types/messages.types.d.ts +7 -3
  244. package/lib/types/messages.types.js +1 -16
  245. package/lib/types/notifications.types.d.ts +9 -5
  246. package/lib/types/notifications.types.js +1 -16
  247. package/lib/types/payments.types.d.ts +5 -1
  248. package/lib/types/payments.types.js +1 -16
  249. package/lib/types/posts.types.d.ts +7 -3
  250. package/lib/types/posts.types.js +1 -16
  251. package/lib/types/{personas.types.d.ts → profiles.types.d.ts} +3 -15
  252. package/lib/types/profiles.types.js +1 -0
  253. package/lib/types/statistics.types.js +1 -16
  254. package/lib/types/tags.types.d.ts +5 -1
  255. package/lib/types/tags.types.js +1 -16
  256. package/lib/types/users.types.d.ts +41 -10
  257. package/lib/types/users.types.js +1 -16
  258. package/lib/types/websockets.types.d.ts +5 -1
  259. package/lib/types/websockets.types.js +1 -16
  260. package/lib/utils/adapterUtils.d.ts +4 -0
  261. package/lib/utils/adapterUtils.js +2 -45
  262. package/lib/utils/analyticsUtils.d.ts +5 -1
  263. package/lib/utils/analyticsUtils.js +2 -72
  264. package/lib/utils/arangodbUtils.d.ts +6 -2
  265. package/lib/utils/arangodbUtils.js +5 -163
  266. package/lib/utils/{auth.d.ts → authUtils.d.ts} +3 -1
  267. package/lib/utils/authUtils.js +2 -0
  268. package/lib/utils/contextUtils.d.ts +3 -0
  269. package/lib/utils/contextUtils.js +2 -0
  270. package/lib/utils/dbI18n.d.ts +10 -0
  271. package/lib/utils/dbI18n.example.d.ts +20 -0
  272. package/lib/utils/dbI18n.example.js +6 -0
  273. package/lib/utils/dbI18n.js +2 -0
  274. package/lib/utils/googleTranslate.d.ts +6 -0
  275. package/lib/utils/googleTranslate.js +2 -0
  276. package/lib/utils/graphqlUtils.d.ts +10 -0
  277. package/lib/utils/graphqlUtils.js +2 -0
  278. package/lib/utils/index.d.ts +18 -5
  279. package/lib/utils/index.js +2 -30
  280. package/lib/utils/languageDetection.d.ts +8 -0
  281. package/lib/utils/languageDetection.js +2 -0
  282. package/lib/utils/localeUtils.d.ts +11 -0
  283. package/lib/utils/localeUtils.example.d.ts +5 -0
  284. package/lib/utils/localeUtils.example.js +2 -0
  285. package/lib/utils/localeUtils.js +2 -0
  286. package/lib/utils/middlewareUtils.d.ts +2 -0
  287. package/lib/utils/middlewareUtils.js +2 -0
  288. package/lib/utils/{session.d.ts → sessionUtils.d.ts} +1 -1
  289. package/lib/utils/sessionUtils.js +2 -0
  290. package/lib/utils/stripeUtils.d.ts +7 -3
  291. package/lib/utils/stripeUtils.js +2 -43
  292. package/lib/utils/templateUtils.d.ts +3 -0
  293. package/lib/utils/templateUtils.js +2 -0
  294. package/lib/utils/testUtils.d.ts +95 -0
  295. package/lib/utils/testUtils.js +2 -0
  296. package/lib/utils/translationQueue.d.ts +29 -0
  297. package/lib/utils/translationQueue.example.d.ts +33 -0
  298. package/lib/utils/translationQueue.example.js +2 -0
  299. package/lib/utils/translationQueue.js +2 -0
  300. package/package.json +32 -28
  301. package/tsconfig.build.json +21 -0
  302. package/tsconfig.lint.json +33 -0
  303. package/tsconfig.test.json +31 -0
  304. package/.prettierrc.js +0 -4
  305. package/dist/actions/apps.js +0 -242
  306. package/dist/actions/connections.js +0 -90
  307. package/dist/actions/conversations.js +0 -350
  308. package/dist/actions/dynamodb.js +0 -150
  309. package/dist/actions/email.js +0 -152
  310. package/dist/actions/files.js +0 -283
  311. package/dist/actions/groups.js +0 -292
  312. package/dist/actions/images.js +0 -735
  313. package/dist/actions/index.js +0 -66
  314. package/dist/actions/ios.js +0 -164
  315. package/dist/actions/locations.js +0 -122
  316. package/dist/actions/messages.js +0 -208
  317. package/dist/actions/notifications.js +0 -59
  318. package/dist/actions/payments.js +0 -497
  319. package/dist/actions/personas.js +0 -110
  320. package/dist/actions/posts.js +0 -595
  321. package/dist/actions/reactions.js +0 -322
  322. package/dist/actions/s3.js +0 -133
  323. package/dist/actions/search.js +0 -90
  324. package/dist/actions/sms.js +0 -108
  325. package/dist/actions/statistics.js +0 -62
  326. package/dist/actions/subscription.js +0 -220
  327. package/dist/actions/tags.js +0 -292
  328. package/dist/actions/users.js +0 -784
  329. package/dist/actions/websockets.js +0 -174
  330. package/dist/adapters/arangoAdapter.js +0 -46
  331. package/dist/adapters/fileAdapter.js +0 -76
  332. package/dist/adapters/imageAdapter.js +0 -40
  333. package/dist/adapters/messageAdapter.js +0 -49
  334. package/dist/adapters/postAdapter.js +0 -70
  335. package/dist/adapters/reaktorAdapter.js +0 -44
  336. package/dist/adapters/tagAdapter.js +0 -50
  337. package/dist/adapters/userAdapter.js +0 -115
  338. package/dist/config.js +0 -125
  339. package/dist/index.js +0 -66
  340. package/dist/lambdas/actions/websockets.js +0 -132
  341. package/dist/lambdas/authorizer.js +0 -67
  342. package/dist/lambdas/connection.js +0 -91
  343. package/dist/lambdas/utils/message.js +0 -42
  344. package/dist/lambdas/utils/websocket.js +0 -105
  345. package/dist/mocks/conversation.js +0 -35
  346. package/dist/mocks/file.js +0 -38
  347. package/dist/mocks/group.js +0 -47
  348. package/dist/mocks/image.js +0 -44
  349. package/dist/mocks/nlabs.png +0 -0
  350. package/dist/mocks/post.js +0 -55
  351. package/dist/mocks/tag.js +0 -37
  352. package/dist/mocks/user.js +0 -88
  353. package/dist/mutations/index.js +0 -26
  354. package/dist/mutations/locations.js +0 -44
  355. package/dist/mutations/messages.js +0 -86
  356. package/dist/mutations/personas.js +0 -100
  357. package/dist/mutations/posts.js +0 -53
  358. package/dist/mutations/reactions.js +0 -51
  359. package/dist/mutations/statistics.js +0 -39
  360. package/dist/mutations/subscriptions.js +0 -56
  361. package/dist/mutations/tags.js +0 -120
  362. package/dist/mutations/users.js +0 -116
  363. package/dist/objectTypes/app.js +0 -173
  364. package/dist/objectTypes/bankAccount.js +0 -76
  365. package/dist/objectTypes/connection.js +0 -48
  366. package/dist/objectTypes/conversation.js +0 -77
  367. package/dist/objectTypes/creditCard.js +0 -86
  368. package/dist/objectTypes/document.js +0 -46
  369. package/dist/objectTypes/error.js +0 -46
  370. package/dist/objectTypes/external.js +0 -74
  371. package/dist/objectTypes/file.js +0 -100
  372. package/dist/objectTypes/filter.js +0 -43
  373. package/dist/objectTypes/group.js +0 -123
  374. package/dist/objectTypes/iapSubscription.js +0 -40
  375. package/dist/objectTypes/image.js +0 -129
  376. package/dist/objectTypes/index.js +0 -68
  377. package/dist/objectTypes/location.js +0 -109
  378. package/dist/objectTypes/message.js +0 -96
  379. package/dist/objectTypes/passcode.js +0 -42
  380. package/dist/objectTypes/persona.js +0 -87
  381. package/dist/objectTypes/plan.js +0 -95
  382. package/dist/objectTypes/post.js +0 -125
  383. package/dist/objectTypes/reaction.js +0 -61
  384. package/dist/objectTypes/relation.js +0 -49
  385. package/dist/objectTypes/search.js +0 -72
  386. package/dist/objectTypes/statistics.js +0 -39
  387. package/dist/objectTypes/subscription.js +0 -117
  388. package/dist/objectTypes/tag.js +0 -65
  389. package/dist/objectTypes/user.js +0 -144
  390. package/dist/queries/index.js +0 -33
  391. package/dist/queries/locations.js +0 -45
  392. package/dist/queries/messages.js +0 -52
  393. package/dist/queries/posts.js +0 -154
  394. package/dist/queries/reactions.js +0 -56
  395. package/dist/queries/statistics.js +0 -39
  396. package/dist/queries/subscriptions.js +0 -44
  397. package/dist/queries/tags.js +0 -75
  398. package/dist/queries/users.js +0 -64
  399. package/dist/templates/email/layout.js +0 -302
  400. package/dist/templates/email/passwordForgot.js +0 -38
  401. package/dist/templates/email/passwordRecovery.js +0 -35
  402. package/dist/templates/email/verifyEmail.js +0 -38
  403. package/dist/templates/email/welcome.js +0 -38
  404. package/dist/templates/sms/passwordForgot.js +0 -24
  405. package/dist/templates/sms/passwordRecovery.js +0 -24
  406. package/dist/templates/sms/verifyEmail.js +0 -24
  407. package/dist/templates/sms/verifyPhone.js +0 -24
  408. package/dist/templates/sms/welcome.js +0 -24
  409. package/dist/types/apps.js +0 -32
  410. package/dist/types/arangodb.js +0 -16
  411. package/dist/types/auth.js +0 -16
  412. package/dist/types/connections.js +0 -16
  413. package/dist/types/conversations.js +0 -16
  414. package/dist/types/email.js +0 -16
  415. package/dist/types/error.js +0 -44
  416. package/dist/types/files.js +0 -16
  417. package/dist/types/google.js +0 -16
  418. package/dist/types/groups.js +0 -16
  419. package/dist/types/images.js +0 -16
  420. package/dist/types/index.js +0 -60
  421. package/dist/types/locations.js +0 -16
  422. package/dist/types/messages.js +0 -16
  423. package/dist/types/notifications.js +0 -16
  424. package/dist/types/payments.js +0 -16
  425. package/dist/types/personas.js +0 -16
  426. package/dist/types/posts.js +0 -16
  427. package/dist/types/statistics.js +0 -16
  428. package/dist/types/tags.js +0 -16
  429. package/dist/types/users.js +0 -16
  430. package/dist/types/websockets.js +0 -16
  431. package/dist/utils/adapterUtils.js +0 -45
  432. package/dist/utils/analyticsUtils.js +0 -72
  433. package/dist/utils/arangodbUtils.js +0 -165
  434. package/dist/utils/auth.js +0 -57
  435. package/dist/utils/index.js +0 -30
  436. package/dist/utils/session.js +0 -60
  437. package/jest.setup.js +0 -0
  438. package/lex.config.cjs +0 -13
  439. package/lib/actions/personas.d.ts +0 -3
  440. package/lib/actions/personas.js +0 -110
  441. package/lib/actions/subscription.js +0 -208
  442. package/lib/mutations/personas.d.ts +0 -2
  443. package/lib/mutations/personas.js +0 -100
  444. package/lib/objectTypes/persona.d.ts +0 -3
  445. package/lib/objectTypes/persona.js +0 -87
  446. package/lib/types/personas.types.js +0 -16
  447. package/lib/utils/auth.js +0 -57
  448. package/lib/utils/session.js +0 -60
@@ -1,23 +1,27 @@
1
- export * from './apps';
2
- export * from './connections';
3
- export * from './conversations';
4
- export * from './dynamodb';
5
- export * from './email';
6
- export * from './files';
7
- export * from './groups';
8
- export * from './images';
9
- export * from './ios';
10
- export * from './locations';
11
- export * from './messages';
12
- export * from './notifications';
13
- export * from './payments';
14
- export * from './posts';
15
- export * from './reactions';
16
- export * from './s3';
17
- export * from './search';
18
- export * from './sms';
19
- export * from './statistics';
20
- export * from './subscription';
21
- export * from './tags';
22
- export * from './users';
23
- export * from './websockets';
1
+ /**
2
+ * Copyright (c) 2019-Present, Nitrogen Labs, Inc.
3
+ * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
4
+ */
5
+ export * from './apps.js';
6
+ export * from './connections.js';
7
+ export * from './conversations.js';
8
+ export * from './dynamodb.js';
9
+ export * from './email.js';
10
+ export * from './files.js';
11
+ export * from './groups.js';
12
+ export * from './images.js';
13
+ export * from './ios.js';
14
+ export * from './locations.js';
15
+ export * from './messages.js';
16
+ export * from './notifications.js';
17
+ export * from './payments.js';
18
+ export * from './posts.js';
19
+ export * from './reactions.js';
20
+ export * from './s3.js';
21
+ export * from './search.js';
22
+ export * from './sms.js';
23
+ export * from './statistics.js';
24
+ export * from './subscriptions.js';
25
+ export * from './tags.js';
26
+ export * from './users.js';
27
+ export * from './websockets.js';
@@ -1,66 +1,2 @@
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 __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
14
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
- var actions_exports = {};
16
- module.exports = __toCommonJS(actions_exports);
17
- __reExport(actions_exports, require("./apps"), module.exports);
18
- __reExport(actions_exports, require("./connections"), module.exports);
19
- __reExport(actions_exports, require("./conversations"), module.exports);
20
- __reExport(actions_exports, require("./dynamodb"), module.exports);
21
- __reExport(actions_exports, require("./email"), module.exports);
22
- __reExport(actions_exports, require("./files"), module.exports);
23
- __reExport(actions_exports, require("./groups"), module.exports);
24
- __reExport(actions_exports, require("./images"), module.exports);
25
- __reExport(actions_exports, require("./ios"), module.exports);
26
- __reExport(actions_exports, require("./locations"), module.exports);
27
- __reExport(actions_exports, require("./messages"), module.exports);
28
- __reExport(actions_exports, require("./notifications"), module.exports);
29
- __reExport(actions_exports, require("./payments"), module.exports);
30
- __reExport(actions_exports, require("./posts"), module.exports);
31
- __reExport(actions_exports, require("./reactions"), module.exports);
32
- __reExport(actions_exports, require("./s3"), module.exports);
33
- __reExport(actions_exports, require("./search"), module.exports);
34
- __reExport(actions_exports, require("./sms"), module.exports);
35
- __reExport(actions_exports, require("./statistics"), module.exports);
36
- __reExport(actions_exports, require("./subscription"), module.exports);
37
- __reExport(actions_exports, require("./tags"), module.exports);
38
- __reExport(actions_exports, require("./users"), module.exports);
39
- __reExport(actions_exports, require("./websockets"), module.exports);
40
- // Annotate the CommonJS export names for ESM import in node:
41
- 0 && (module.exports = {
42
- ...require("./apps"),
43
- ...require("./connections"),
44
- ...require("./conversations"),
45
- ...require("./dynamodb"),
46
- ...require("./email"),
47
- ...require("./files"),
48
- ...require("./groups"),
49
- ...require("./images"),
50
- ...require("./ios"),
51
- ...require("./locations"),
52
- ...require("./messages"),
53
- ...require("./notifications"),
54
- ...require("./payments"),
55
- ...require("./posts"),
56
- ...require("./reactions"),
57
- ...require("./s3"),
58
- ...require("./search"),
59
- ...require("./sms"),
60
- ...require("./statistics"),
61
- ...require("./subscription"),
62
- ...require("./tags"),
63
- ...require("./users"),
64
- ...require("./websockets")
65
- });
66
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FjdGlvbnMvaW5kZXgudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE5LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5leHBvcnQgKiBmcm9tICcuL2FwcHMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb25uZWN0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnZlcnNhdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9keW5hbW9kYic7XG5leHBvcnQgKiBmcm9tICcuL2VtYWlsJztcbmV4cG9ydCAqIGZyb20gJy4vZmlsZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9ncm91cHMnO1xuZXhwb3J0ICogZnJvbSAnLi9pbWFnZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9pb3MnO1xuZXhwb3J0ICogZnJvbSAnLi9sb2NhdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9tZXNzYWdlcyc7XG5leHBvcnQgKiBmcm9tICcuL25vdGlmaWNhdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9wYXltZW50cyc7XG5leHBvcnQgKiBmcm9tICcuL3Bvc3RzJztcbmV4cG9ydCAqIGZyb20gJy4vcmVhY3Rpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vczMnO1xuZXhwb3J0ICogZnJvbSAnLi9zZWFyY2gnO1xuZXhwb3J0ICogZnJvbSAnLi9zbXMnO1xuZXhwb3J0ICogZnJvbSAnLi9zdGF0aXN0aWNzJztcbmV4cG9ydCAqIGZyb20gJy4vc3Vic2NyaXB0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vdGFncyc7XG5leHBvcnQgKiBmcm9tICcuL3VzZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vd2Vic29ja2V0cyc7XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFJQSw0QkFBYyxtQkFKZDtBQUtBLDRCQUFjLDBCQUxkO0FBTUEsNEJBQWMsNEJBTmQ7QUFPQSw0QkFBYyx1QkFQZDtBQVFBLDRCQUFjLG9CQVJkO0FBU0EsNEJBQWMsb0JBVGQ7QUFVQSw0QkFBYyxxQkFWZDtBQVdBLDRCQUFjLHFCQVhkO0FBWUEsNEJBQWMsa0JBWmQ7QUFhQSw0QkFBYyx3QkFiZDtBQWNBLDRCQUFjLHVCQWRkO0FBZUEsNEJBQWMsNEJBZmQ7QUFnQkEsNEJBQWMsdUJBaEJkO0FBaUJBLDRCQUFjLG9CQWpCZDtBQWtCQSw0QkFBYyx3QkFsQmQ7QUFtQkEsNEJBQWMsaUJBbkJkO0FBb0JBLDRCQUFjLHFCQXBCZDtBQXFCQSw0QkFBYyxrQkFyQmQ7QUFzQkEsNEJBQWMseUJBdEJkO0FBdUJBLDRCQUFjLDJCQXZCZDtBQXdCQSw0QkFBYyxtQkF4QmQ7QUF5QkEsNEJBQWMsb0JBekJkO0FBMEJBLDRCQUFjLHlCQTFCZDsiLAogICJuYW1lcyI6IFtdCn0K
1
+ export*from"./apps.js";export*from"./connections.js";export*from"./conversations.js";export*from"./dynamodb.js";export*from"./email.js";export*from"./files.js";export*from"./groups.js";export*from"./images.js";export*from"./ios.js";export*from"./locations.js";export*from"./messages.js";export*from"./notifications.js";export*from"./payments.js";export*from"./posts.js";export*from"./reactions.js";export*from"./s3.js";export*from"./search.js";export*from"./sms.js";export*from"./statistics.js";export*from"./subscriptions.js";export*from"./tags.js";export*from"./users.js";export*from"./websockets.js";
2
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FjdGlvbnMvaW5kZXgudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE5LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5leHBvcnQgKiBmcm9tICcuL2FwcHMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb25uZWN0aW9ucy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnZlcnNhdGlvbnMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9keW5hbW9kYi5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2VtYWlsLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vZmlsZXMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9ncm91cHMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9pbWFnZXMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9pb3MuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9sb2NhdGlvbnMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9tZXNzYWdlcy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL25vdGlmaWNhdGlvbnMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9wYXltZW50cy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL3Bvc3RzLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vcmVhY3Rpb25zLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vczMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9zZWFyY2guanMnO1xuZXhwb3J0ICogZnJvbSAnLi9zbXMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9zdGF0aXN0aWNzLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vc3Vic2NyaXB0aW9ucy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL3RhZ3MuanMnO1xuZXhwb3J0ICogZnJvbSAnLi91c2Vycy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL3dlYnNvY2tldHMuanMnO1xuXG4iXSwKICAibWFwcGluZ3MiOiAiQUFJQSxXQUFjLFlBQ2QsV0FBYyxtQkFDZCxXQUFjLHFCQUNkLFdBQWMsZ0JBQ2QsV0FBYyxhQUNkLFdBQWMsYUFDZCxXQUFjLGNBQ2QsV0FBYyxjQUNkLFdBQWMsV0FDZCxXQUFjLGlCQUNkLFdBQWMsZ0JBQ2QsV0FBYyxxQkFDZCxXQUFjLGdCQUNkLFdBQWMsYUFDZCxXQUFjLGlCQUNkLFdBQWMsVUFDZCxXQUFjLGNBQ2QsV0FBYyxXQUNkLFdBQWMsa0JBQ2QsV0FBYyxxQkFDZCxXQUFjLFlBQ2QsV0FBYyxhQUNkLFdBQWMiLAogICJuYW1lcyI6IFtdCn0K
@@ -1,7 +1,7 @@
1
- import { Database } from 'arangojs';
2
- import { ApiContext, PaymentIOSInAppError, PaymentIOSSubscriptionUpdate, PaymentSubscription } from '../types';
1
+ import { ApiContext } from '../types/auth.types.js';
2
+ import { PaymentIOSInAppError, PaymentIOSSubscriptionUpdate, PaymentSubscription } from '../types/payments.types.js';
3
3
  export declare const getIosInAppError: (statusCode: string) => PaymentIOSInAppError;
4
- export declare const iosSubscriptionUpdate: (database: Database, subscriptionUpdate: PaymentIOSSubscriptionUpdate) => Promise<void>;
4
+ export declare const iosSubscriptionUpdate: (databaseName: string, subscriptionUpdate: PaymentIOSSubscriptionUpdate) => Promise<void>;
5
5
  export declare const getIosSubscription: (context: ApiContext) => Promise<PaymentSubscription>;
6
6
  export declare const addIosInApp: (context: ApiContext, subscription: PaymentSubscription) => Promise<PaymentSubscription>;
7
7
  export declare const getIosInApp: (context: ApiContext) => Promise<PaymentSubscription>;
@@ -1,164 +1,11 @@
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 ios_exports = {};
19
- __export(ios_exports, {
20
- addIosInApp: () => addIosInApp,
21
- getIosInApp: () => getIosInApp,
22
- getIosInAppError: () => getIosInAppError,
23
- getIosSubscription: () => getIosSubscription,
24
- iosSubscriptionUpdate: () => iosSubscriptionUpdate
25
- });
26
- module.exports = __toCommonJS(ios_exports);
27
- var import_utils = require("@nlabs/utils");
28
- var import_arangojs = require("arangojs");
29
- var import_error = require("../types/error.types");
30
- var import_analyticsUtils = require("../utils/analyticsUtils");
31
- const eventCategory = "ios";
32
- const getIosInAppError = (statusCode) => {
33
- const codes = {
34
- [0]: { error: false, message: "Active", valid: true },
35
- [21e3]: { error: true, id: "payment_receipt_unreadable", message: "App store could not read", valid: false },
36
- [21002]: { error: true, id: "payment_data_malformed", message: "Data was malformed", valid: false },
37
- [21003]: { error: true, id: "payment_receipt_unauthorized", message: "Receipt not authenticated", valid: false },
38
- [21004]: { error: true, id: "payment_invalid_secret", message: "Shared secret does not match", valid: false },
39
- [21005]: { error: true, id: "payment_server_unavailable", message: "Receipt server unavailable", valid: false },
40
- [21006]: {
41
- error: false,
42
- id: "payment_subscription_expired",
43
- message: "Receipt valid but sub expired",
44
- valid: true
45
- },
46
- /**
47
- * special case for app review handling - forward any request that is intended for the Sandbox but was sent to
48
- * Production, this is what the app review team does
49
- */
50
- [21007]: {
51
- error: true,
52
- id: "payment_invalid_server",
53
- message: "Sandbox receipt sent to Production environment",
54
- redirect: true,
55
- valid: false
56
- },
57
- [21008]: {
58
- error: true,
59
- id: "payment_invalid_server",
60
- message: "Production receipt sent to Sandbox environment",
61
- valid: false
62
- }
63
- };
64
- return codes[statusCode] || {};
65
- };
66
- const iosSubscriptionUpdate = (database, subscriptionUpdate) => {
67
- const action = "iosSubscriptionUpdate";
68
- const {
69
- auto_renew_adam_id: planId,
70
- cancellation_date: cancelDate,
71
- notification_type: status,
72
- latest_receipt: latestReceipt,
73
- latest_receipt_info: latestInfo,
74
- latest_expired_receipt: expiredReceipt,
75
- latest_expired_receipt_info: expiredInfo,
76
- original_transaction_id: transactionId
77
- } = subscriptionUpdate;
78
- const formatStatus = (status || "").toLowerCase();
79
- const now = Date.now();
80
- const receiptInfo = latestInfo || expiredInfo;
81
- const id = (0, import_utils.createHash)(`payment-${transactionId}`);
82
- const update = {
83
- cancelDate,
84
- isValid: receiptInfo[0].expires_date_ms > now,
85
- modified: now,
86
- planId,
87
- receipt: latestReceipt || expiredReceipt,
88
- status: formatStatus
89
- };
90
- const insert = {
91
- ...update,
92
- _key: id,
93
- added: now,
94
- type: "ios_payment"
95
- };
96
- const aqlQry = import_arangojs.aql`UPSERT {transactionId: ${transactionId}}
97
- INSERT ${insert}
98
- UPDATE ${update} IN subscriptions
99
- LIMIT 1`;
100
- return database.query(aqlQry).then(() => null).catch((dbError) => (0, import_analyticsUtils.logError)({
101
- action,
102
- category: eventCategory,
103
- label: import_error.ErrorTypes.DATABASE_ERROR
104
- }, dbError, {}).then(() => null));
105
- };
106
- const getIosSubscription = (context) => {
107
- const action = "getIosSubscription";
108
- const { database, session: { userId: sessionId } } = context;
109
- const aqlQry = import_arangojs.aql`FOR s IN subscriptions
110
- FILTER s.userId == ${sessionId} && s.type == "ios_payment"
1
+ import{createHash as f}from"@nlabs/utils/parsers/strings";import{aql as d}from"arangojs";import{ErrorTypes as u}from"../types/error.types.js";import{logError as m}from"../utils/analyticsUtils.js";import{useDb as l}from"../utils/arangodbUtils.js";const I="ios",N=t=>({0:{error:!1,message:"Active",valid:!0},21e3:{error:!0,id:"payment_receipt_unreadable",message:"App store could not read",valid:!1},21002:{error:!0,id:"payment_data_malformed",message:"Data was malformed",valid:!1},21003:{error:!0,id:"payment_receipt_unauthorized",message:"Receipt not authenticated",valid:!1},21004:{error:!0,id:"payment_invalid_secret",message:"Shared secret does not match",valid:!1},21005:{error:!0,id:"payment_server_unavailable",message:"Receipt server unavailable",valid:!1},21006:{error:!1,id:"payment_subscription_expired",message:"Receipt valid but sub expired",valid:!0},21007:{error:!0,id:"payment_invalid_server",message:"Sandbox receipt sent to Production environment",redirect:!0,valid:!1},21008:{error:!0,id:"payment_invalid_server",message:"Production receipt sent to Sandbox environment",valid:!1}})[t]||{},O=(t,r)=>{const s="iosSubscriptionUpdate",{auto_renew_adam_id:n,cancellation_date:i,notification_type:e,latest_receipt:y,latest_receipt_info:b,latest_expired_receipt:_,latest_expired_receipt_info:p,original_transaction_id:c}=r,g=(e||"").toLowerCase(),a=Date.now(),S=b||p,o=f(`payment-${c}`),A={cancelDate:i,isValid:S[0].expires_date_ms>a,modified:a,planId:n,receipt:y||_,status:g},R={...A,_key:o,added:a,type:"ios_payment"},E=d`UPSERT {transactionId: ${c}}
2
+ INSERT ${R}
3
+ UPDATE ${A} IN subscriptions
4
+ LIMIT 1`;return l(t).query(E).then(()=>null).catch(P=>m({action:s,category:I,label:u.DATABASE_ERROR},P,{}).then(()=>null))},D=t=>{const r="getIosSubscription",{databaseName:s,session:{userId:n}}=t,i=d`FOR s IN subscriptions
5
+ FILTER s.userId == ${n} && s.type == "ios_payment"
111
6
  LIMIT 1
112
- RETURN s`;
113
- return database.query(aqlQry).then((cursor) => cursor.next()).then((subscription) => subscription).catch((error) => (0, import_analyticsUtils.logError)({
114
- action,
115
- category: eventCategory,
116
- label: import_error.ErrorTypes.DATABASE_ERROR
117
- }, error, context).then(() => null));
118
- };
119
- const addIosInApp = (context, subscription) => {
120
- const action = "addIosInApp";
121
- const { database, session: { userId: sessionId } } = context;
122
- const now = Date.now();
123
- const { added = now, planId, receipt, transactionId, trialEnd } = subscription;
124
- const subscriptionId = (0, import_utils.createHash)(`subscription-${transactionId}`);
125
- const insert = {
126
- _key: subscriptionId,
127
- added,
128
- modified: now,
129
- planId,
130
- receipt,
131
- transactionId,
132
- trialEnd,
133
- type: "ios_subscription",
134
- userId: sessionId
135
- };
136
- const aqlQry = import_arangojs.aql`INSERT ${insert} IN subscriptions RETURN NEW`;
137
- return database.query(aqlQry).then((cursor) => cursor.next()).then((updatedSubscription) => updatedSubscription).catch((error) => (0, import_analyticsUtils.logError)({
138
- action,
139
- category: eventCategory,
140
- label: import_error.ErrorTypes.DATABASE_ERROR
141
- }, error, context).then(() => null));
142
- };
143
- const getIosInApp = (context) => {
144
- const action = "getIosInApp";
145
- const { database, session: { userId: sessionId } } = context;
146
- const aqlQry = import_arangojs.aql`FOR s IN subscription
147
- FILTER s.userId == ${sessionId} && s.type == "ios"
7
+ RETURN s`;return l(s).query(i).then(e=>e.next()).then(e=>e).catch(e=>m({action:r,category:I,label:u.DATABASE_ERROR},e,t).then(()=>null))},Q=(t,r)=>{const s="addIosInApp",{databaseName:n,session:{userId:i}}=t,e=Date.now(),{added:y=e,planId:b,receipt:_,transactionId:p,trialEnd:c}=r,a={_key:f(`subscription-${p}`),added:y,modified:e,planId:b,receipt:_,transactionId:p,trialEnd:c,type:"ios_subscription",userId:i},S=d`INSERT ${a} IN subscriptions RETURN NEW`;return l(n).query(S).then(o=>o.next()).then(o=>o).catch(o=>m({action:s,category:I,label:u.DATABASE_ERROR},o,t).then(()=>null))},U=t=>{const r="getIosInApp",{databaseName:s,session:{userId:n}}=t,i=d`FOR s IN subscription
8
+ FILTER s.userId == ${n} && s.type == "ios"
148
9
  LIMIT 1
149
- RETURN s`;
150
- return database.query(aqlQry).then((cursor) => cursor.next()).then((subscription) => subscription).catch((error) => (0, import_analyticsUtils.logError)({
151
- action,
152
- category: eventCategory,
153
- label: import_error.ErrorTypes.DATABASE_ERROR
154
- }, error, context).then(() => null));
155
- };
156
- // Annotate the CommonJS export names for ESM import in node:
157
- 0 && (module.exports = {
158
- addIosInApp,
159
- getIosInApp,
160
- getIosInAppError,
161
- getIosSubscription,
162
- iosSubscriptionUpdate
163
- });
164
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FjdGlvbnMvaW9zLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQge2NyZWF0ZUhhc2h9IGZyb20gJ0BubGFicy91dGlscyc7XG5pbXBvcnQge2FxbCwgRGF0YWJhc2V9IGZyb20gJ2FyYW5nb2pzJztcbmltcG9ydCB7QXFsUXVlcnl9IGZyb20gJ2FyYW5nb2pzL2FxbCc7XG5cbmltcG9ydCB7XG4gIEFwaUNvbnRleHQsXG4gIFBheW1lbnRJT1NJbkFwcEVycm9yLFxuICBQYXltZW50SU9TU3Vic2NyaXB0aW9uSW5mbyxcbiAgUGF5bWVudElPU1N1YnNjcmlwdGlvblVwZGF0ZSxcbiAgUGF5bWVudFN1YnNjcmlwdGlvblxufSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQge0Vycm9yVHlwZXN9IGZyb20gJy4uL3R5cGVzL2Vycm9yLnR5cGVzJztcbmltcG9ydCB7bG9nRXJyb3J9IGZyb20gJy4uL3V0aWxzL2FuYWx5dGljc1V0aWxzJztcblxuY29uc3QgZXZlbnRDYXRlZ29yeTogc3RyaW5nID0gJ2lvcyc7XG5cbmV4cG9ydCBjb25zdCBnZXRJb3NJbkFwcEVycm9yID0gKHN0YXR1c0NvZGU6IHN0cmluZyk6IFBheW1lbnRJT1NJbkFwcEVycm9yID0+IHtcbiAgY29uc3QgY29kZXMgPSB7XG4gICAgWzBdOiB7ZXJyb3I6IGZhbHNlLCBtZXNzYWdlOiAnQWN0aXZlJywgdmFsaWQ6IHRydWV9LFxuICAgIFsyMTAwMF06IHtlcnJvcjogdHJ1ZSwgaWQ6ICdwYXltZW50X3JlY2VpcHRfdW5yZWFkYWJsZScsIG1lc3NhZ2U6ICdBcHAgc3RvcmUgY291bGQgbm90IHJlYWQnLCB2YWxpZDogZmFsc2V9LFxuICAgIFsyMTAwMl06IHtlcnJvcjogdHJ1ZSwgaWQ6ICdwYXltZW50X2RhdGFfbWFsZm9ybWVkJywgbWVzc2FnZTogJ0RhdGEgd2FzIG1hbGZvcm1lZCcsIHZhbGlkOiBmYWxzZX0sXG4gICAgWzIxMDAzXToge2Vycm9yOiB0cnVlLCBpZDogJ3BheW1lbnRfcmVjZWlwdF91bmF1dGhvcml6ZWQnLCBtZXNzYWdlOiAnUmVjZWlwdCBub3QgYXV0aGVudGljYXRlZCcsIHZhbGlkOiBmYWxzZX0sXG4gICAgWzIxMDA0XToge2Vycm9yOiB0cnVlLCBpZDogJ3BheW1lbnRfaW52YWxpZF9zZWNyZXQnLCBtZXNzYWdlOiAnU2hhcmVkIHNlY3JldCBkb2VzIG5vdCBtYXRjaCcsIHZhbGlkOiBmYWxzZX0sXG4gICAgWzIxMDA1XToge2Vycm9yOiB0cnVlLCBpZDogJ3BheW1lbnRfc2VydmVyX3VuYXZhaWxhYmxlJywgbWVzc2FnZTogJ1JlY2VpcHQgc2VydmVyIHVuYXZhaWxhYmxlJywgdmFsaWQ6IGZhbHNlfSxcbiAgICBbMjEwMDZdOiB7XG4gICAgICBlcnJvcjogZmFsc2UsXG4gICAgICBpZDogJ3BheW1lbnRfc3Vic2NyaXB0aW9uX2V4cGlyZWQnLFxuICAgICAgbWVzc2FnZTogJ1JlY2VpcHQgdmFsaWQgYnV0IHN1YiBleHBpcmVkJyxcbiAgICAgIHZhbGlkOiB0cnVlXG4gICAgfSxcbiAgICAvKipcbiAgICAgKiBzcGVjaWFsIGNhc2UgZm9yIGFwcCByZXZpZXcgaGFuZGxpbmcgLSBmb3J3YXJkIGFueSByZXF1ZXN0IHRoYXQgaXMgaW50ZW5kZWQgZm9yIHRoZSBTYW5kYm94IGJ1dCB3YXMgc2VudCB0b1xuICAgICAqIFByb2R1Y3Rpb24sIHRoaXMgaXMgd2hhdCB0aGUgYXBwIHJldmlldyB0ZWFtIGRvZXNcbiAgICAgKi9cbiAgICBbMjEwMDddOiB7XG4gICAgICBlcnJvcjogdHJ1ZSxcbiAgICAgIGlkOiAncGF5bWVudF9pbnZhbGlkX3NlcnZlcicsXG4gICAgICBtZXNzYWdlOiAnU2FuZGJveCByZWNlaXB0IHNlbnQgdG8gUHJvZHVjdGlvbiBlbnZpcm9ubWVudCcsXG4gICAgICByZWRpcmVjdDogdHJ1ZSxcbiAgICAgIHZhbGlkOiBmYWxzZVxuICAgIH0sXG4gICAgWzIxMDA4XToge1xuICAgICAgZXJyb3I6IHRydWUsXG4gICAgICBpZDogJ3BheW1lbnRfaW52YWxpZF9zZXJ2ZXInLFxuICAgICAgbWVzc2FnZTogJ1Byb2R1Y3Rpb24gcmVjZWlwdCBzZW50IHRvIFNhbmRib3ggZW52aXJvbm1lbnQnLFxuICAgICAgdmFsaWQ6IGZhbHNlXG4gICAgfVxuICB9O1xuXG4gIHJldHVybiBjb2Rlc1tzdGF0dXNDb2RlXSB8fCB7fTtcbn07XG5cbmV4cG9ydCBjb25zdCBpb3NTdWJzY3JpcHRpb25VcGRhdGUgPSAoXG4gIGRhdGFiYXNlOiBEYXRhYmFzZSxcbiAgc3Vic2NyaXB0aW9uVXBkYXRlOiBQYXltZW50SU9TU3Vic2NyaXB0aW9uVXBkYXRlXG4pOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgY29uc3QgYWN0aW9uOiBzdHJpbmcgPSAnaW9zU3Vic2NyaXB0aW9uVXBkYXRlJztcbiAgY29uc3Qge1xuICAgIGF1dG9fcmVuZXdfYWRhbV9pZDogcGxhbklkLFxuICAgIGNhbmNlbGxhdGlvbl9kYXRlOiBjYW5jZWxEYXRlLFxuICAgIG5vdGlmaWNhdGlvbl90eXBlOiBzdGF0dXMsXG4gICAgbGF0ZXN0X3JlY2VpcHQ6IGxhdGVzdFJlY2VpcHQsXG4gICAgbGF0ZXN0X3JlY2VpcHRfaW5mbzogbGF0ZXN0SW5mbyxcbiAgICBsYXRlc3RfZXhwaXJlZF9yZWNlaXB0OiBleHBpcmVkUmVjZWlwdCxcbiAgICBsYXRlc3RfZXhwaXJlZF9yZWNlaXB0X2luZm86IGV4cGlyZWRJbmZvLFxuICAgIG9yaWdpbmFsX3RyYW5zYWN0aW9uX2lkOiB0cmFuc2FjdGlvbklkXG4gIH0gPSBzdWJzY3JpcHRpb25VcGRhdGU7XG4gIGNvbnN0IGZvcm1hdFN0YXR1czogc3RyaW5nID0gKHN0YXR1cyB8fCAnJykudG9Mb3dlckNhc2UoKTtcbiAgY29uc3Qgbm93OiBudW1iZXIgPSBEYXRlLm5vdygpO1xuICBjb25zdCByZWNlaXB0SW5mbzogUGF5bWVudElPU1N1YnNjcmlwdGlvbkluZm9bXSA9IGxhdGVzdEluZm8gfHwgZXhwaXJlZEluZm87XG4gIGNvbnN0IGlkOiBzdHJpbmcgPSBjcmVhdGVIYXNoKGBwYXltZW50LSR7dHJhbnNhY3Rpb25JZH1gKTtcblxuICBjb25zdCB1cGRhdGU6IFBheW1lbnRTdWJzY3JpcHRpb24gPSB7XG4gICAgY2FuY2VsRGF0ZSxcbiAgICBpc1ZhbGlkOiByZWNlaXB0SW5mb1swXS5leHBpcmVzX2RhdGVfbXMgPiBub3csXG4gICAgbW9kaWZpZWQ6IG5vdyxcbiAgICBwbGFuSWQsXG4gICAgcmVjZWlwdDogbGF0ZXN0UmVjZWlwdCB8fCBleHBpcmVkUmVjZWlwdCxcbiAgICBzdGF0dXM6IGZvcm1hdFN0YXR1c1xuICB9O1xuICBjb25zdCBpbnNlcnQ6IFBheW1lbnRTdWJzY3JpcHRpb24gPSB7XG4gICAgLi4udXBkYXRlLFxuICAgIF9rZXk6IGlkLFxuICAgIGFkZGVkOiBub3csXG4gICAgdHlwZTogJ2lvc19wYXltZW50J1xuICB9O1xuICBjb25zdCBhcWxRcnk6IEFxbFF1ZXJ5ID0gYXFsYFVQU0VSVCB7dHJhbnNhY3Rpb25JZDogJHt0cmFuc2FjdGlvbklkfX1cbiAgICAgSU5TRVJUICR7aW5zZXJ0fVxuICAgICBVUERBVEUgJHt1cGRhdGV9IElOIHN1YnNjcmlwdGlvbnNcbiAgICAgTElNSVQgMWA7XG5cbiAgcmV0dXJuIGRhdGFiYXNlLnF1ZXJ5KGFxbFFyeSlcbiAgICAudGhlbigoKSA9PiBudWxsKVxuICAgIC5jYXRjaCgoZGJFcnJvcjogRXJyb3IpID0+IGxvZ0Vycm9yKHtcbiAgICAgIGFjdGlvbixcbiAgICAgIGNhdGVnb3J5OiBldmVudENhdGVnb3J5LFxuICAgICAgbGFiZWw6IEVycm9yVHlwZXMuREFUQUJBU0VfRVJST1JcbiAgICB9LCBkYkVycm9yLCB7fSkudGhlbigoKSA9PiBudWxsKSk7XG59O1xuXG4vLyBleHBvcnQgY29uc3QgYWRkSW9zSW5BcHAgPSAoXG4vLyAgIGNvbnRleHQ6IEFwaUNvbnRleHQsXG4vLyAgIGFwcCxcbi8vICAgc3Vic2NyaXB0aW9uOiBQYXltZW50U3Vic2NyaXB0aW9uXG4vLyApOiBQcm9taXNlPFBheW1lbnRTdWJzY3JpcHRpb24+ID0+IHtcbi8vICAgY29uc3QgYWN0aW9uOiBzdHJpbmcgPSAnYWRkSW9zSW5BcHAnO1xuLy8gICBjb25zdCB7aXNQcm9kdWN0aW9uLCByZWNlaXB0fSA9IHN1YnNjcmlwdGlvbjtcbi8vICAgY29uc3Qge2RhdGFiYXNlLCB1c2VySWQ6IHNlc3Npb25JZH0gPSBjb250ZXh0O1xuXG4vLyAgIGNvbnN0IHByb2R1Y3Rpb25Ib3N0OiBzdHJpbmcgPSAnYnV5Lml0dW5lcy5hcHBsZS5jb20nO1xuLy8gICBjb25zdCBzYW5kYm94SG9zdDogc3RyaW5nID0gJ3NhbmRib3guaXR1bmVzLmFwcGxlLmNvbSc7XG4vLyAgIGNvbnN0IGVuZHBvaW50OiBzdHJpbmcgPSBpc1Byb2R1Y3Rpb24gPyBwcm9kdWN0aW9uSG9zdCA6IHNhbmRib3hIb3N0O1xuLy8gICBjb25zdCB2ZXJpZnlVcmw6IHN0cmluZyA9IGBodHRwczovLyR7ZW5kcG9pbnR9L3ZlcmlmeVJlY2VpcHRgO1xuLy8gICBjb25zdCBwYXlsb2FkOiBvYmplY3QgPSB7XG4vLyAgICAgcGFzc3dvcmQ6IGFwcC5pYXAsXG4vLyAgICAgJ3JlY2VpcHQtZGF0YSc6IGRlY29kZVVSSUNvbXBvbmVudChyZWNlaXB0KVxuLy8gICB9O1xuLy8gICBjb25zdCBvcHRpb25zOiBvYmplY3QgPSB7XG4vLyAgICAgaGVhZGVyczoge1xuLy8gICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQnXG4vLyAgICAgfVxuLy8gICB9O1xuXG4vLyAgIHJldHVybiBwb3N0KHZlcmlmeVVybCwgcGF5bG9hZCwgb3B0aW9ucylcbi8vICAgICAudGhlbigocmVzdWx0cykgPT4ge1xuLy8gICAgICAgY29uc3QganNvbiA9IEpTT04ucGFyc2UocmVzdWx0cyk7XG4vLyAgICAgICBjb25zdCB7XG4vLyAgICAgICAgIGxhdGVzdF9yZWNlaXB0OiBsYXRlc3RSZWNlaXB0LFxuLy8gICAgICAgICBsYXRlc3RfcmVjZWlwdF9pbmZvOiBsYXRlc3RJbmZvLFxuLy8gICAgICAgICBzdGF0dXNcbi8vICAgICAgIH0gPSBqc29uO1xuXG4vLyAgICAgICBjb25zdCB7XG4vLyAgICAgICAgIGlzX3RyaWFsX3BlcmlvZDogdHJpYWxQZXJpb2QsXG4vLyAgICAgICAgIG9yaWdpbmFsX3B1cmNoYXNlX2RhdGVfbXM6IGFkZGVkLFxuLy8gICAgICAgICBleHBpcmVzX2RhdGU6IGV4cGlyZXMsXG4vLyAgICAgICAgIHByb2R1Y3RfaWQ6IHBsYW5JZCxcbi8vICAgICAgICAgdHJhbnNhY3Rpb25faWQ6IHRyYW5zYWN0aW9uSWRcbi8vICAgICAgIH0gPSBsYXRlc3RJbmZvO1xuXG4vLyAgICAgICBpZihzdGF0dXMgPT09IDAgfHwgc3RhdHVzID09PSAyMTAwNikge1xuLy8gICAgICAgICBjb25zdCBpZDogc3RyaW5nID0gY3JlYXRlSGFzaChgcGF5bWVudC0ke3RyYW5zYWN0aW9uSWR9YCk7XG4vLyAgICAgICAgIGNvbnN0IG5vdzogbnVtYmVyID0gRGF0ZS5ub3coKTtcbi8vICAgICAgICAgY29uc3QgdXBkYXRlOiBQYXltZW50U3Vic2NyaXB0aW9uID0ge1xuLy8gICAgICAgICAgIGV4cGlyZXMsXG4vLyAgICAgICAgICAgaXNUcmlhbDogdHJpYWxQZXJpb2QgPT09ICd0cnVlJyxcbi8vICAgICAgICAgICBpc1ZhbGlkOiBleHBpcmVzID4gbm93LFxuLy8gICAgICAgICAgIG1vZGlmaWVkOiBub3csXG4vLyAgICAgICAgICAgcGxhbklkLFxuLy8gICAgICAgICAgIHJlY2VpcHQ6IGxhdGVzdFJlY2VpcHQsXG4vLyAgICAgICAgICAgdHJhbnNhY3Rpb25JZCxcbi8vICAgICAgICAgICB1c2VySWQ6IHNlc3Npb25JZFxuLy8gICAgICAgICB9O1xuLy8gICAgICAgICBjb25zdCBpbnNlcnQ6IFBheW1lbnRTdWJzY3JpcHRpb24gPSB7XG4vLyAgICAgICAgICAgLi4udXBkYXRlLFxuLy8gICAgICAgICAgIF9rZXk6IGlkLFxuLy8gICAgICAgICAgIGFkZGVkLFxuLy8gICAgICAgICAgIHR5cGU6ICdpb3NfcGF5bWVudCdcbi8vICAgICAgICAgfTtcblxuLy8gICAgICAgICBjb25zdCBhcWxRcnk6IEFxbFF1ZXJ5ID0gYXFsYFVQU0VSVCB7dHJhbnNhY3Rpb25JZDogJHt0cmFuc2FjdGlvbklkfX1cbi8vICAgICAgICAgICAgICAgSU5TRVJUICR7aW5zZXJ0fVxuLy8gICAgICAgICAgICAgICBVUERBVEUgJHt1cGRhdGV9IElOIHN1YnNjcmlwdGlvbnNcbi8vICAgICAgICAgICAgICAgUkVUVVJOIE5FV2A7XG5cbi8vICAgICAgICAgcmV0dXJuIGRhdGFiYXNlLnF1ZXJ5KGFxbFFyeSlcbi8vICAgICAgICAgICAudGhlbigoY3Vyc29yKSA9PiBjdXJzb3IubmV4dCgpKVxuLy8gICAgICAgICAgIC50aGVuKCh1cGRhdGVkU3Vic2NyaXB0aW9uOiBQYXltZW50U3Vic2NyaXB0aW9uID0ge30pID0+IHVwZGF0ZWRTdWJzY3JpcHRpb24pXG4vLyAgICAgICAgICAgLmNhdGNoKChkYkVycm9yOiBFcnJvcikgPT4gbG9nRXJyb3Ioe1xuLy8gICAgICAgICAgICAgYWN0aW9uLFxuLy8gICAgICAgICAgICAgY2F0ZWdvcnk6IGV2ZW50Q2F0ZWdvcnksXG4vLyAgICAgICAgICAgICBsYWJlbDogRXJyb3JUeXBlcy5EQVRBQkFTRV9FUlJPUlxuLy8gICAgICAgICAgIH0sIGRiRXJyb3IsIGNvbnRleHQpLnRoZW4oKCkgPT4gbnVsbCkpO1xuLy8gICAgICAgfVxuXG4vLyAgICAgICAvLyBFcnJvcnNcbi8vICAgICAgIGNvbnN0IGVycm9yOiBQYXltZW50SU9TSW5BcHBFcnJvciA9IGdldElvc0luQXBwRXJyb3IocmVzdWx0cy5zdGF0dXMpO1xuXG4vLyAgICAgICByZXR1cm4gbG9nRXhjZXB0aW9uKHtcbi8vICAgICAgICAgYWN0aW9uLFxuLy8gICAgICAgICBjYXRlZ29yeTogZXZlbnRDYXRlZ29yeSxcbi8vICAgICAgICAgbGFiZWw6ICdwYXltZW50X2Vycm9yJyxcbi8vICAgICAgICAgbWVzc2FnZTogZXJyb3IubWVzc2FnZSxcbi8vICAgICAgICAgdmFsdWU6IGVycm9yLmlkXG4vLyAgICAgICB9LCBjb250ZXh0KS50aGVuKCgpID0+IG51bGwpO1xuLy8gICAgIH0pO1xuLy8gfTtcblxuZXhwb3J0IGNvbnN0IGdldElvc1N1YnNjcmlwdGlvbiA9IChjb250ZXh0OiBBcGlDb250ZXh0KTogUHJvbWlzZTxQYXltZW50U3Vic2NyaXB0aW9uPiA9PiB7XG4gIGNvbnN0IGFjdGlvbjogc3RyaW5nID0gJ2dldElvc1N1YnNjcmlwdGlvbic7XG4gIGNvbnN0IHtkYXRhYmFzZSwgc2Vzc2lvbjoge3VzZXJJZDogc2Vzc2lvbklkfX0gPSBjb250ZXh0O1xuICBjb25zdCBhcWxRcnk6IEFxbFF1ZXJ5ID0gYXFsYEZPUiBzIElOIHN1YnNjcmlwdGlvbnNcbiAgICAgIEZJTFRFUiBzLnVzZXJJZCA9PSAke3Nlc3Npb25JZH0gJiYgcy50eXBlID09IFwiaW9zX3BheW1lbnRcIlxuICAgICAgTElNSVQgMVxuICAgICAgUkVUVVJOIHNgO1xuXG4gIHJldHVybiBkYXRhYmFzZS5xdWVyeShhcWxRcnkpXG4gICAgLnRoZW4oKGN1cnNvcikgPT4gY3Vyc29yLm5leHQoKSlcbiAgICAudGhlbigoc3Vic2NyaXB0aW9uOiBQYXltZW50U3Vic2NyaXB0aW9uKSA9PiBzdWJzY3JpcHRpb24pXG4gICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IGxvZ0Vycm9yKHtcbiAgICAgIGFjdGlvbixcbiAgICAgIGNhdGVnb3J5OiBldmVudENhdGVnb3J5LFxuICAgICAgbGFiZWw6IEVycm9yVHlwZXMuREFUQUJBU0VfRVJST1JcbiAgICB9LCBlcnJvciwgY29udGV4dCkudGhlbigoKSA9PiBudWxsKSk7XG59O1xuXG5leHBvcnQgY29uc3QgYWRkSW9zSW5BcHAgPSAoY29udGV4dDogQXBpQ29udGV4dCwgc3Vic2NyaXB0aW9uOiBQYXltZW50U3Vic2NyaXB0aW9uKTogUHJvbWlzZTxQYXltZW50U3Vic2NyaXB0aW9uPiA9PiB7XG4gIGNvbnN0IGFjdGlvbjogc3RyaW5nID0gJ2FkZElvc0luQXBwJztcbiAgY29uc3Qge2RhdGFiYXNlLCBzZXNzaW9uOiB7dXNlcklkOiBzZXNzaW9uSWR9fSA9IGNvbnRleHQ7XG4gIGNvbnN0IG5vdzogbnVtYmVyID0gRGF0ZS5ub3coKTtcbiAgY29uc3Qge2FkZGVkID0gbm93LCBwbGFuSWQsIHJlY2VpcHQsIHRyYW5zYWN0aW9uSWQsIHRyaWFsRW5kfSA9IHN1YnNjcmlwdGlvbjtcbiAgY29uc3Qgc3Vic2NyaXB0aW9uSWQ6IHN0cmluZyA9IGNyZWF0ZUhhc2goYHN1YnNjcmlwdGlvbi0ke3RyYW5zYWN0aW9uSWR9YCk7XG4gIGNvbnN0IGluc2VydDogUGF5bWVudFN1YnNjcmlwdGlvbiA9IHtcbiAgICBfa2V5OiBzdWJzY3JpcHRpb25JZCxcbiAgICBhZGRlZCxcbiAgICBtb2RpZmllZDogbm93LFxuICAgIHBsYW5JZCxcbiAgICByZWNlaXB0LFxuICAgIHRyYW5zYWN0aW9uSWQsXG4gICAgdHJpYWxFbmQsXG4gICAgdHlwZTogJ2lvc19zdWJzY3JpcHRpb24nLFxuICAgIHVzZXJJZDogc2Vzc2lvbklkXG4gIH07XG4gIGNvbnN0IGFxbFFyeTogQXFsUXVlcnkgPSBhcWxgSU5TRVJUICR7aW5zZXJ0fSBJTiBzdWJzY3JpcHRpb25zIFJFVFVSTiBORVdgO1xuXG4gIHJldHVybiBkYXRhYmFzZS5xdWVyeShhcWxRcnkpXG4gICAgLnRoZW4oKGN1cnNvcikgPT4gY3Vyc29yLm5leHQoKSlcbiAgICAudGhlbigodXBkYXRlZFN1YnNjcmlwdGlvbjogUGF5bWVudFN1YnNjcmlwdGlvbikgPT4gdXBkYXRlZFN1YnNjcmlwdGlvbilcbiAgICAuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4gbG9nRXJyb3Ioe1xuICAgICAgYWN0aW9uLFxuICAgICAgY2F0ZWdvcnk6IGV2ZW50Q2F0ZWdvcnksXG4gICAgICBsYWJlbDogRXJyb3JUeXBlcy5EQVRBQkFTRV9FUlJPUlxuICAgIH0sIGVycm9yLCBjb250ZXh0KS50aGVuKCgpID0+IG51bGwpKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRJb3NJbkFwcCA9IChjb250ZXh0OiBBcGlDb250ZXh0KTogUHJvbWlzZTxQYXltZW50U3Vic2NyaXB0aW9uPiA9PiB7XG4gIGNvbnN0IGFjdGlvbjogc3RyaW5nID0gJ2dldElvc0luQXBwJztcbiAgY29uc3Qge2RhdGFiYXNlLCBzZXNzaW9uOiB7dXNlcklkOiBzZXNzaW9uSWR9fSA9IGNvbnRleHQ7XG4gIGNvbnN0IGFxbFFyeTogQXFsUXVlcnkgPSBhcWxgRk9SIHMgSU4gc3Vic2NyaXB0aW9uXG4gICAgICBGSUxURVIgcy51c2VySWQgPT0gJHtzZXNzaW9uSWR9ICYmIHMudHlwZSA9PSBcImlvc1wiXG4gICAgICBMSU1JVCAxXG4gICAgICBSRVRVUk4gc2A7XG5cbiAgcmV0dXJuIGRhdGFiYXNlLnF1ZXJ5KGFxbFFyeSlcbiAgICAudGhlbigoY3Vyc29yKSA9PiBjdXJzb3IubmV4dCgpKVxuICAgIC50aGVuKChzdWJzY3JpcHRpb246IFBheW1lbnRTdWJzY3JpcHRpb24pID0+IHN1YnNjcmlwdGlvbilcbiAgICAuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4gbG9nRXJyb3Ioe1xuICAgICAgYWN0aW9uLFxuICAgICAgY2F0ZWdvcnk6IGV2ZW50Q2F0ZWdvcnksXG4gICAgICBsYWJlbDogRXJyb3JUeXBlcy5EQVRBQkFTRV9FUlJPUlxuICAgIH0sIGVycm9yLCBjb250ZXh0KS50aGVuKCgpID0+IG51bGwpKTtcbn07XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLG1CQUF5QjtBQUN6QixzQkFBNEI7QUFVNUIsbUJBQXlCO0FBQ3pCLDRCQUF1QjtBQUV2QixNQUFNLGdCQUF3QjtBQUV2QixNQUFNLG1CQUFtQixDQUFDLGVBQTZDO0FBQzVF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
10
+ RETURN s`;return l(s).query(i).then(e=>e.next()).then(e=>e).catch(e=>m({action:r,category:I,label:u.DATABASE_ERROR},e,t).then(()=>null))};export{Q as addIosInApp,U as getIosInApp,N as getIosInAppError,D as getIosSubscription,O as iosSubscriptionUpdate};
11
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FjdGlvbnMvaW9zLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQge2NyZWF0ZUhhc2h9IGZyb20gJ0BubGFicy91dGlscy9wYXJzZXJzL3N0cmluZ3MnO1xuaW1wb3J0IHthcWx9IGZyb20gJ2FyYW5nb2pzJztcbmltcG9ydCB7QXFsUXVlcnl9IGZyb20gJ2FyYW5nb2pzL2FxbCc7XG5cbmltcG9ydCB7QXBpQ29udGV4dH0gZnJvbSAnLi4vdHlwZXMvYXV0aC50eXBlcy5qcyc7XG5pbXBvcnQge0Vycm9yVHlwZXN9IGZyb20gJy4uL3R5cGVzL2Vycm9yLnR5cGVzLmpzJztcbmltcG9ydCB7XG4gIFBheW1lbnRJT1NJbkFwcEVycm9yLFxuICBQYXltZW50SU9TU3Vic2NyaXB0aW9uSW5mbyxcbiAgUGF5bWVudElPU1N1YnNjcmlwdGlvblVwZGF0ZSxcbiAgUGF5bWVudFN1YnNjcmlwdGlvblxufSBmcm9tICcuLi90eXBlcy9wYXltZW50cy50eXBlcy5qcyc7XG5pbXBvcnQge2xvZ0Vycm9yfSBmcm9tICcuLi91dGlscy9hbmFseXRpY3NVdGlscy5qcyc7XG5pbXBvcnQge3VzZURifSBmcm9tICcuLi91dGlscy9hcmFuZ29kYlV0aWxzLmpzJztcblxuY29uc3QgZXZlbnRDYXRlZ29yeTogc3RyaW5nID0gJ2lvcyc7XG5cbmV4cG9ydCBjb25zdCBnZXRJb3NJbkFwcEVycm9yID0gKHN0YXR1c0NvZGU6IHN0cmluZyk6IFBheW1lbnRJT1NJbkFwcEVycm9yID0+IHtcbiAgY29uc3QgY29kZXMgPSB7XG4gICAgWzBdOiB7ZXJyb3I6IGZhbHNlLCBtZXNzYWdlOiAnQWN0aXZlJywgdmFsaWQ6IHRydWV9LFxuICAgIFsyMTAwMF06IHtlcnJvcjogdHJ1ZSwgaWQ6ICdwYXltZW50X3JlY2VpcHRfdW5yZWFkYWJsZScsIG1lc3NhZ2U6ICdBcHAgc3RvcmUgY291bGQgbm90IHJlYWQnLCB2YWxpZDogZmFsc2V9LFxuICAgIFsyMTAwMl06IHtlcnJvcjogdHJ1ZSwgaWQ6ICdwYXltZW50X2RhdGFfbWFsZm9ybWVkJywgbWVzc2FnZTogJ0RhdGEgd2FzIG1hbGZvcm1lZCcsIHZhbGlkOiBmYWxzZX0sXG4gICAgWzIxMDAzXToge2Vycm9yOiB0cnVlLCBpZDogJ3BheW1lbnRfcmVjZWlwdF91bmF1dGhvcml6ZWQnLCBtZXNzYWdlOiAnUmVjZWlwdCBub3QgYXV0aGVudGljYXRlZCcsIHZhbGlkOiBmYWxzZX0sXG4gICAgWzIxMDA0XToge2Vycm9yOiB0cnVlLCBpZDogJ3BheW1lbnRfaW52YWxpZF9zZWNyZXQnLCBtZXNzYWdlOiAnU2hhcmVkIHNlY3JldCBkb2VzIG5vdCBtYXRjaCcsIHZhbGlkOiBmYWxzZX0sXG4gICAgWzIxMDA1XToge2Vycm9yOiB0cnVlLCBpZDogJ3BheW1lbnRfc2VydmVyX3VuYXZhaWxhYmxlJywgbWVzc2FnZTogJ1JlY2VpcHQgc2VydmVyIHVuYXZhaWxhYmxlJywgdmFsaWQ6IGZhbHNlfSxcbiAgICBbMjEwMDZdOiB7XG4gICAgICBlcnJvcjogZmFsc2UsXG4gICAgICBpZDogJ3BheW1lbnRfc3Vic2NyaXB0aW9uX2V4cGlyZWQnLFxuICAgICAgbWVzc2FnZTogJ1JlY2VpcHQgdmFsaWQgYnV0IHN1YiBleHBpcmVkJyxcbiAgICAgIHZhbGlkOiB0cnVlXG4gICAgfSxcbiAgICAvKipcbiAgICAgKiBzcGVjaWFsIGNhc2UgZm9yIGFwcCByZXZpZXcgaGFuZGxpbmcgLSBmb3J3YXJkIGFueSByZXF1ZXN0IHRoYXQgaXMgaW50ZW5kZWQgZm9yIHRoZSBTYW5kYm94IGJ1dCB3YXMgc2VudCB0b1xuICAgICAqIFByb2R1Y3Rpb24sIHRoaXMgaXMgd2hhdCB0aGUgYXBwIHJldmlldyB0ZWFtIGRvZXNcbiAgICAgKi9cbiAgICBbMjEwMDddOiB7XG4gICAgICBlcnJvcjogdHJ1ZSxcbiAgICAgIGlkOiAncGF5bWVudF9pbnZhbGlkX3NlcnZlcicsXG4gICAgICBtZXNzYWdlOiAnU2FuZGJveCByZWNlaXB0IHNlbnQgdG8gUHJvZHVjdGlvbiBlbnZpcm9ubWVudCcsXG4gICAgICByZWRpcmVjdDogdHJ1ZSxcbiAgICAgIHZhbGlkOiBmYWxzZVxuICAgIH0sXG4gICAgWzIxMDA4XToge1xuICAgICAgZXJyb3I6IHRydWUsXG4gICAgICBpZDogJ3BheW1lbnRfaW52YWxpZF9zZXJ2ZXInLFxuICAgICAgbWVzc2FnZTogJ1Byb2R1Y3Rpb24gcmVjZWlwdCBzZW50IHRvIFNhbmRib3ggZW52aXJvbm1lbnQnLFxuICAgICAgdmFsaWQ6IGZhbHNlXG4gICAgfVxuICB9O1xuXG4gIHJldHVybiBjb2Rlc1tzdGF0dXNDb2RlXSB8fCB7fTtcbn07XG5cbmV4cG9ydCBjb25zdCBpb3NTdWJzY3JpcHRpb25VcGRhdGUgPSAoXG4gIGRhdGFiYXNlTmFtZTogc3RyaW5nLFxuICBzdWJzY3JpcHRpb25VcGRhdGU6IFBheW1lbnRJT1NTdWJzY3JpcHRpb25VcGRhdGVcbik6IFByb21pc2U8dm9pZD4gPT4ge1xuICBjb25zdCBhY3Rpb246IHN0cmluZyA9ICdpb3NTdWJzY3JpcHRpb25VcGRhdGUnO1xuICBjb25zdCB7XG4gICAgYXV0b19yZW5ld19hZGFtX2lkOiBwbGFuSWQsXG4gICAgY2FuY2VsbGF0aW9uX2RhdGU6IGNhbmNlbERhdGUsXG4gICAgbm90aWZpY2F0aW9uX3R5cGU6IHN0YXR1cyxcbiAgICBsYXRlc3RfcmVjZWlwdDogbGF0ZXN0UmVjZWlwdCxcbiAgICBsYXRlc3RfcmVjZWlwdF9pbmZvOiBsYXRlc3RJbmZvLFxuICAgIGxhdGVzdF9leHBpcmVkX3JlY2VpcHQ6IGV4cGlyZWRSZWNlaXB0LFxuICAgIGxhdGVzdF9leHBpcmVkX3JlY2VpcHRfaW5mbzogZXhwaXJlZEluZm8sXG4gICAgb3JpZ2luYWxfdHJhbnNhY3Rpb25faWQ6IHRyYW5zYWN0aW9uSWRcbiAgfSA9IHN1YnNjcmlwdGlvblVwZGF0ZTtcbiAgY29uc3QgZm9ybWF0U3RhdHVzOiBzdHJpbmcgPSAoc3RhdHVzIHx8ICcnKS50b0xvd2VyQ2FzZSgpO1xuICBjb25zdCBub3c6IG51bWJlciA9IERhdGUubm93KCk7XG4gIGNvbnN0IHJlY2VpcHRJbmZvOiBQYXltZW50SU9TU3Vic2NyaXB0aW9uSW5mb1tdID0gbGF0ZXN0SW5mbyB8fCBleHBpcmVkSW5mbztcbiAgY29uc3QgaWQ6IHN0cmluZyA9IGNyZWF0ZUhhc2goYHBheW1lbnQtJHt0cmFuc2FjdGlvbklkfWApO1xuXG4gIGNvbnN0IHVwZGF0ZTogUGF5bWVudFN1YnNjcmlwdGlvbiA9IHtcbiAgICBjYW5jZWxEYXRlLFxuICAgIGlzVmFsaWQ6IHJlY2VpcHRJbmZvWzBdLmV4cGlyZXNfZGF0ZV9tcyA+IG5vdyxcbiAgICBtb2RpZmllZDogbm93LFxuICAgIHBsYW5JZCxcbiAgICByZWNlaXB0OiBsYXRlc3RSZWNlaXB0IHx8IGV4cGlyZWRSZWNlaXB0LFxuICAgIHN0YXR1czogZm9ybWF0U3RhdHVzXG4gIH07XG4gIGNvbnN0IGluc2VydDogUGF5bWVudFN1YnNjcmlwdGlvbiA9IHtcbiAgICAuLi51cGRhdGUsXG4gICAgX2tleTogaWQsXG4gICAgYWRkZWQ6IG5vdyxcbiAgICB0eXBlOiAnaW9zX3BheW1lbnQnXG4gIH07XG4gIGNvbnN0IGFxbFFyeTogQXFsUXVlcnkgPSBhcWxgVVBTRVJUIHt0cmFuc2FjdGlvbklkOiAke3RyYW5zYWN0aW9uSWR9fVxuICAgICBJTlNFUlQgJHtpbnNlcnR9XG4gICAgIFVQREFURSAke3VwZGF0ZX0gSU4gc3Vic2NyaXB0aW9uc1xuICAgICBMSU1JVCAxYDtcblxuICByZXR1cm4gdXNlRGIoZGF0YWJhc2VOYW1lKS5xdWVyeShhcWxRcnkpXG4gICAgLnRoZW4oKCkgPT4gbnVsbClcbiAgICAuY2F0Y2goKGRiRXJyb3I6IEVycm9yKSA9PiBsb2dFcnJvcih7XG4gICAgICBhY3Rpb24sXG4gICAgICBjYXRlZ29yeTogZXZlbnRDYXRlZ29yeSxcbiAgICAgIGxhYmVsOiBFcnJvclR5cGVzLkRBVEFCQVNFX0VSUk9SXG4gICAgfSwgZGJFcnJvciwge30pLnRoZW4oKCkgPT4gbnVsbCkpO1xufTtcblxuLy8gZXhwb3J0IGNvbnN0IGFkZElvc0luQXBwID0gKFxuLy8gICBjb250ZXh0OiBBcGlDb250ZXh0LFxuLy8gICBhcHAsXG4vLyAgIHN1YnNjcmlwdGlvbjogUGF5bWVudFN1YnNjcmlwdGlvblxuLy8gKTogUHJvbWlzZTxQYXltZW50U3Vic2NyaXB0aW9uPiA9PiB7XG4vLyAgIGNvbnN0IGFjdGlvbjogc3RyaW5nID0gJ2FkZElvc0luQXBwJztcbi8vICAgY29uc3Qge2lzUHJvZHVjdGlvbiwgcmVjZWlwdH0gPSBzdWJzY3JpcHRpb247XG4vLyAgIGNvbnN0IHtkYXRhYmFzZSwgdXNlcklkOiBzZXNzaW9uSWR9ID0gY29udGV4dDtcblxuLy8gICBjb25zdCBwcm9kdWN0aW9uSG9zdDogc3RyaW5nID0gJ2J1eS5pdHVuZXMuYXBwbGUuY29tJztcbi8vICAgY29uc3Qgc2FuZGJveEhvc3Q6IHN0cmluZyA9ICdzYW5kYm94Lml0dW5lcy5hcHBsZS5jb20nO1xuLy8gICBjb25zdCBlbmRwb2ludDogc3RyaW5nID0gaXNQcm9kdWN0aW9uID8gcHJvZHVjdGlvbkhvc3QgOiBzYW5kYm94SG9zdDtcbi8vICAgY29uc3QgdmVyaWZ5VXJsOiBzdHJpbmcgPSBgaHR0cHM6Ly8ke2VuZHBvaW50fS92ZXJpZnlSZWNlaXB0YDtcbi8vICAgY29uc3QgcGF5bG9hZDogb2JqZWN0ID0ge1xuLy8gICAgIHBhc3N3b3JkOiBhcHAuaWFwLFxuLy8gICAgICdyZWNlaXB0LWRhdGEnOiBkZWNvZGVVUklDb21wb25lbnQocmVjZWlwdClcbi8vICAgfTtcbi8vICAgY29uc3Qgb3B0aW9uczogb2JqZWN0ID0ge1xuLy8gICAgIGhlYWRlcnM6IHtcbi8vICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJ1xuLy8gICAgIH1cbi8vICAgfTtcblxuLy8gICByZXR1cm4gcG9zdCh2ZXJpZnlVcmwsIHBheWxvYWQsIG9wdGlvbnMpXG4vLyAgICAgLnRoZW4oKHJlc3VsdHMpID0+IHtcbi8vICAgICAgIGNvbnN0IGpzb24gPSBKU09OLnBhcnNlKHJlc3VsdHMpO1xuLy8gICAgICAgY29uc3Qge1xuLy8gICAgICAgICBsYXRlc3RfcmVjZWlwdDogbGF0ZXN0UmVjZWlwdCxcbi8vICAgICAgICAgbGF0ZXN0X3JlY2VpcHRfaW5mbzogbGF0ZXN0SW5mbyxcbi8vICAgICAgICAgc3RhdHVzXG4vLyAgICAgICB9ID0ganNvbjtcblxuLy8gICAgICAgY29uc3Qge1xuLy8gICAgICAgICBpc190cmlhbF9wZXJpb2Q6IHRyaWFsUGVyaW9kLFxuLy8gICAgICAgICBvcmlnaW5hbF9wdXJjaGFzZV9kYXRlX21zOiBhZGRlZCxcbi8vICAgICAgICAgZXhwaXJlc19kYXRlOiBleHBpcmVzLFxuLy8gICAgICAgICBwcm9kdWN0X2lkOiBwbGFuSWQsXG4vLyAgICAgICAgIHRyYW5zYWN0aW9uX2lkOiB0cmFuc2FjdGlvbklkXG4vLyAgICAgICB9ID0gbGF0ZXN0SW5mbztcblxuLy8gICAgICAgaWYoc3RhdHVzID09PSAwIHx8IHN0YXR1cyA9PT0gMjEwMDYpIHtcbi8vICAgICAgICAgY29uc3QgaWQ6IHN0cmluZyA9IGNyZWF0ZUhhc2goYHBheW1lbnQtJHt0cmFuc2FjdGlvbklkfWApO1xuLy8gICAgICAgICBjb25zdCBub3c6IG51bWJlciA9IERhdGUubm93KCk7XG4vLyAgICAgICAgIGNvbnN0IHVwZGF0ZTogUGF5bWVudFN1YnNjcmlwdGlvbiA9IHtcbi8vICAgICAgICAgICBleHBpcmVzLFxuLy8gICAgICAgICAgIGlzVHJpYWw6IHRyaWFsUGVyaW9kID09PSAndHJ1ZScsXG4vLyAgICAgICAgICAgaXNWYWxpZDogZXhwaXJlcyA+IG5vdyxcbi8vICAgICAgICAgICBtb2RpZmllZDogbm93LFxuLy8gICAgICAgICAgIHBsYW5JZCxcbi8vICAgICAgICAgICByZWNlaXB0OiBsYXRlc3RSZWNlaXB0LFxuLy8gICAgICAgICAgIHRyYW5zYWN0aW9uSWQsXG4vLyAgICAgICAgICAgdXNlcklkOiBzZXNzaW9uSWRcbi8vICAgICAgICAgfTtcbi8vICAgICAgICAgY29uc3QgaW5zZXJ0OiBQYXltZW50U3Vic2NyaXB0aW9uID0ge1xuLy8gICAgICAgICAgIC4uLnVwZGF0ZSxcbi8vICAgICAgICAgICBfa2V5OiBpZCxcbi8vICAgICAgICAgICBhZGRlZCxcbi8vICAgICAgICAgICB0eXBlOiAnaW9zX3BheW1lbnQnXG4vLyAgICAgICAgIH07XG5cbi8vICAgICAgICAgY29uc3QgYXFsUXJ5OiBBcWxRdWVyeSA9IGFxbGBVUFNFUlQge3RyYW5zYWN0aW9uSWQ6ICR7dHJhbnNhY3Rpb25JZH19XG4vLyAgICAgICAgICAgICAgIElOU0VSVCAke2luc2VydH1cbi8vICAgICAgICAgICAgICAgVVBEQVRFICR7dXBkYXRlfSBJTiBzdWJzY3JpcHRpb25zXG4vLyAgICAgICAgICAgICAgIFJFVFVSTiBORVdgO1xuXG4vLyAgICAgICAgIHJldHVybiBkYXRhYmFzZS5xdWVyeShhcWxRcnkpXG4vLyAgICAgICAgICAgLnRoZW4oKGN1cnNvcikgPT4gY3Vyc29yLm5leHQoKSlcbi8vICAgICAgICAgICAudGhlbigodXBkYXRlZFN1YnNjcmlwdGlvbjogUGF5bWVudFN1YnNjcmlwdGlvbiA9IHt9KSA9PiB1cGRhdGVkU3Vic2NyaXB0aW9uKVxuLy8gICAgICAgICAgIC5jYXRjaCgoZGJFcnJvcjogRXJyb3IpID0+IGxvZ0Vycm9yKHtcbi8vICAgICAgICAgICAgIGFjdGlvbixcbi8vICAgICAgICAgICAgIGNhdGVnb3J5OiBldmVudENhdGVnb3J5LFxuLy8gICAgICAgICAgICAgbGFiZWw6IEVycm9yVHlwZXMuREFUQUJBU0VfRVJST1Jcbi8vICAgICAgICAgICB9LCBkYkVycm9yLCBjb250ZXh0KS50aGVuKCgpID0+IG51bGwpKTtcbi8vICAgICAgIH1cblxuLy8gICAgICAgLy8gRXJyb3JzXG4vLyAgICAgICBjb25zdCBlcnJvcjogUGF5bWVudElPU0luQXBwRXJyb3IgPSBnZXRJb3NJbkFwcEVycm9yKHJlc3VsdHMuc3RhdHVzKTtcblxuLy8gICAgICAgcmV0dXJuIGxvZ0V4Y2VwdGlvbih7XG4vLyAgICAgICAgIGFjdGlvbixcbi8vICAgICAgICAgY2F0ZWdvcnk6IGV2ZW50Q2F0ZWdvcnksXG4vLyAgICAgICAgIGxhYmVsOiAncGF5bWVudF9lcnJvcicsXG4vLyAgICAgICAgIG1lc3NhZ2U6IGVycm9yLm1lc3NhZ2UsXG4vLyAgICAgICAgIHZhbHVlOiBlcnJvci5pZFxuLy8gICAgICAgfSwgY29udGV4dCkudGhlbigoKSA9PiBudWxsKTtcbi8vICAgICB9KTtcbi8vIH07XG5cbmV4cG9ydCBjb25zdCBnZXRJb3NTdWJzY3JpcHRpb24gPSAoY29udGV4dDogQXBpQ29udGV4dCk6IFByb21pc2U8UGF5bWVudFN1YnNjcmlwdGlvbj4gPT4ge1xuICBjb25zdCBhY3Rpb246IHN0cmluZyA9ICdnZXRJb3NTdWJzY3JpcHRpb24nO1xuICBjb25zdCB7ZGF0YWJhc2VOYW1lLCBzZXNzaW9uOiB7dXNlcklkOiBzZXNzaW9uSWR9fSA9IGNvbnRleHQ7XG4gIGNvbnN0IGFxbFFyeTogQXFsUXVlcnkgPSBhcWxgRk9SIHMgSU4gc3Vic2NyaXB0aW9uc1xuICAgICAgRklMVEVSIHMudXNlcklkID09ICR7c2Vzc2lvbklkfSAmJiBzLnR5cGUgPT0gXCJpb3NfcGF5bWVudFwiXG4gICAgICBMSU1JVCAxXG4gICAgICBSRVRVUk4gc2A7XG5cbiAgcmV0dXJuIHVzZURiKGRhdGFiYXNlTmFtZSkucXVlcnkoYXFsUXJ5KVxuICAgIC50aGVuKChjdXJzb3IpID0+IGN1cnNvci5uZXh0KCkpXG4gICAgLnRoZW4oKHN1YnNjcmlwdGlvbjogUGF5bWVudFN1YnNjcmlwdGlvbikgPT4gc3Vic2NyaXB0aW9uKVxuICAgIC5jYXRjaCgoZXJyb3I6IEVycm9yKSA9PiBsb2dFcnJvcih7XG4gICAgICBhY3Rpb24sXG4gICAgICBjYXRlZ29yeTogZXZlbnRDYXRlZ29yeSxcbiAgICAgIGxhYmVsOiBFcnJvclR5cGVzLkRBVEFCQVNFX0VSUk9SXG4gICAgfSwgZXJyb3IsIGNvbnRleHQpLnRoZW4oKCkgPT4gbnVsbCkpO1xufTtcblxuZXhwb3J0IGNvbnN0IGFkZElvc0luQXBwID0gKGNvbnRleHQ6IEFwaUNvbnRleHQsIHN1YnNjcmlwdGlvbjogUGF5bWVudFN1YnNjcmlwdGlvbik6IFByb21pc2U8UGF5bWVudFN1YnNjcmlwdGlvbj4gPT4ge1xuICBjb25zdCBhY3Rpb246IHN0cmluZyA9ICdhZGRJb3NJbkFwcCc7XG4gIGNvbnN0IHtkYXRhYmFzZU5hbWUsIHNlc3Npb246IHt1c2VySWQ6IHNlc3Npb25JZH19ID0gY29udGV4dDtcbiAgY29uc3Qgbm93OiBudW1iZXIgPSBEYXRlLm5vdygpO1xuICBjb25zdCB7YWRkZWQgPSBub3csIHBsYW5JZCwgcmVjZWlwdCwgdHJhbnNhY3Rpb25JZCwgdHJpYWxFbmR9ID0gc3Vic2NyaXB0aW9uO1xuICBjb25zdCBzdWJzY3JpcHRpb25JZDogc3RyaW5nID0gY3JlYXRlSGFzaChgc3Vic2NyaXB0aW9uLSR7dHJhbnNhY3Rpb25JZH1gKTtcbiAgY29uc3QgaW5zZXJ0OiBQYXltZW50U3Vic2NyaXB0aW9uID0ge1xuICAgIF9rZXk6IHN1YnNjcmlwdGlvbklkLFxuICAgIGFkZGVkLFxuICAgIG1vZGlmaWVkOiBub3csXG4gICAgcGxhbklkLFxuICAgIHJlY2VpcHQsXG4gICAgdHJhbnNhY3Rpb25JZCxcbiAgICB0cmlhbEVuZCxcbiAgICB0eXBlOiAnaW9zX3N1YnNjcmlwdGlvbicsXG4gICAgdXNlcklkOiBzZXNzaW9uSWRcbiAgfTtcbiAgY29uc3QgYXFsUXJ5OiBBcWxRdWVyeSA9IGFxbGBJTlNFUlQgJHtpbnNlcnR9IElOIHN1YnNjcmlwdGlvbnMgUkVUVVJOIE5FV2A7XG5cbiAgcmV0dXJuIHVzZURiKGRhdGFiYXNlTmFtZSkucXVlcnkoYXFsUXJ5KVxuICAgIC50aGVuKChjdXJzb3IpID0+IGN1cnNvci5uZXh0KCkpXG4gICAgLnRoZW4oKHVwZGF0ZWRTdWJzY3JpcHRpb246IFBheW1lbnRTdWJzY3JpcHRpb24pID0+IHVwZGF0ZWRTdWJzY3JpcHRpb24pXG4gICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IGxvZ0Vycm9yKHtcbiAgICAgIGFjdGlvbixcbiAgICAgIGNhdGVnb3J5OiBldmVudENhdGVnb3J5LFxuICAgICAgbGFiZWw6IEVycm9yVHlwZXMuREFUQUJBU0VfRVJST1JcbiAgICB9LCBlcnJvciwgY29udGV4dCkudGhlbigoKSA9PiBudWxsKSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0SW9zSW5BcHAgPSAoY29udGV4dDogQXBpQ29udGV4dCk6IFByb21pc2U8UGF5bWVudFN1YnNjcmlwdGlvbj4gPT4ge1xuICBjb25zdCBhY3Rpb246IHN0cmluZyA9ICdnZXRJb3NJbkFwcCc7XG4gIGNvbnN0IHtkYXRhYmFzZU5hbWUsIHNlc3Npb246IHt1c2VySWQ6IHNlc3Npb25JZH19ID0gY29udGV4dDtcbiAgY29uc3QgYXFsUXJ5OiBBcWxRdWVyeSA9IGFxbGBGT1IgcyBJTiBzdWJzY3JpcHRpb25cbiAgICAgIEZJTFRFUiBzLnVzZXJJZCA9PSAke3Nlc3Npb25JZH0gJiYgcy50eXBlID09IFwiaW9zXCJcbiAgICAgIExJTUlUIDFcbiAgICAgIFJFVFVSTiBzYDtcblxuICByZXR1cm4gdXNlRGIoZGF0YWJhc2VOYW1lKS5xdWVyeShhcWxRcnkpXG4gICAgLnRoZW4oKGN1cnNvcikgPT4gY3Vyc29yLm5leHQoKSlcbiAgICAudGhlbigoc3Vic2NyaXB0aW9uOiBQYXltZW50U3Vic2NyaXB0aW9uKSA9PiBzdWJzY3JpcHRpb24pXG4gICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IGxvZ0Vycm9yKHtcbiAgICAgIGFjdGlvbixcbiAgICAgIGNhdGVnb3J5OiBldmVudENhdGVnb3J5LFxuICAgICAgbGFiZWw6IEVycm9yVHlwZXMuREFUQUJBU0VfRVJST1JcbiAgICB9LCBlcnJvciwgY29udGV4dCkudGhlbigoKSA9PiBudWxsKSk7XG59O1xuIl0sCiAgIm1h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T0osQ0FBTyxFQUFFLEtBQUssSUFBTSxJQUFJLENBQUMsQ0FDdkMiLAogICJuYW1lcyI6IFsiY3JlYXRlSGFzaCIsICJhcWwiLCAiRXJyb3JUeXBlcyIsICJsb2dFcnJvciIsICJ1c2VEYiIsICJldmVudENhdGVnb3J5IiwgImdldElvc0luQXBwRXJyb3IiLCAic3RhdHVzQ29kZSIsICJpb3NTdWJzY3JpcHRpb25VcGRhdGUiLCAiZGF0YWJhc2VOYW1lIiwgInN1YnNjcmlwdGlvblVwZGF0ZSIsICJhY3Rpb24iLCAicGxhbklkIiwgImNhbmNlbERhdGUiLCAic3RhdHVzIiwgImxhdGVzdFJlY2VpcHQiLCAibGF0ZXN0SW5mbyIsICJleHBpcmVkUmVjZWlwdCIsICJleHBpcmVkSW5mbyIsICJ0cmFuc2FjdGlvbklkIiwgImZvcm1hdFN0YXR1cyIsICJub3ciLCAicmVjZWlwdEluZm8iLCAiaWQiLCAidXBkYXRlIiwgImluc2VydCIsICJhcWxRcnkiLCAiZGJFcnJvciIsICJnZXRJb3NTdWJzY3JpcHRpb24iLCAiY29udGV4dCIsICJzZXNzaW9uSWQiLCAiY3Vyc29yIiwgInN1YnNjcmlwdGlvbiIsICJlcnJvciIsICJhZGRJb3NJbkFwcCIsICJhZGRlZCIsICJyZWNlaXB0IiwgInRyaWFsRW5kIiwgInVwZGF0ZWRTdWJzY3JpcHRpb24iLCAiZ2V0SW9zSW5BcHAiXQp9Cg==
@@ -1,6 +1,6 @@
1
- import { ApiContext } from '../types/auth.types';
2
- import { GoogleMapsAddressType } from '../types/google.types';
3
- import { LocationType } from '../types/locations.types';
1
+ import { ApiContext } from '../types/auth.types.js';
2
+ import { GoogleMapsAddressType } from '../types/google.types.js';
3
+ import { LocationType } from '../types/locations.types.js';
4
4
  export declare const getFieldVal: (addressComponents: GoogleMapsAddressType[], name: string) => string;
5
5
  export declare const addLocation: (context: ApiContext, location: LocationType) => Promise<LocationType>;
6
6
  export declare const getLocation: (context: ApiContext, locationId: string) => Promise<LocationType>;
@@ -1,122 +1,7 @@
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 locations_exports = {};
19
- __export(locations_exports, {
20
- addLocation: () => addLocation,
21
- getFieldVal: () => getFieldVal,
22
- getLocation: () => getLocation
23
- });
24
- module.exports = __toCommonJS(locations_exports);
25
- var import_rip_hunter = require("@nlabs/rip-hunter");
26
- var import_utils = require("@nlabs/utils");
27
- var import_arangojs = require("arangojs");
28
- var import_config = require("../config");
29
- var import_error = require("../types/error.types");
30
- var import_analyticsUtils = require("../utils/analyticsUtils");
31
- const eventCategory = "locations";
32
- const getFieldVal = (addressComponents, name) => {
33
- const { short_name: shortName = "" } = addressComponents.find((addressField) => {
34
- const types = addressField.types || [];
35
- return types.findIndex((fieldType) => fieldType === name) >= 0;
36
- }) || {};
37
- return shortName;
38
- };
39
- const addLocation = (context, location) => {
40
- const action = "add";
41
- const { database, session: { userId: sessionId } } = context;
42
- const { address, itemId, itemType } = location;
43
- const geocodeUrl = import_config.Config.get("google.geocode.url");
44
- const params = {
45
- address,
46
- key: import_config.Config.get("google.geocode.key")
47
- };
48
- const url = `${geocodeUrl}?${(0, import_rip_hunter.queryString)(params)}`;
49
- return (0, import_rip_hunter.get)(url).then((json) => {
50
- const { results = [], status = "" } = json;
51
- if (status === "OK" && results.length) {
52
- const geodata = results[0];
53
- const addressComponents = geodata?.address_components || [];
54
- const streetNumber = getFieldVal(addressComponents, "street_number");
55
- const route = getFieldVal(addressComponents, "route");
56
- const now = Date.now();
57
- const formatItemType = (0, import_utils.parseChar)(itemType).toLowerCase();
58
- const formatItemId = (0, import_utils.parseId)(itemId);
59
- const googleId = geodata?.place_id || "";
60
- const update = {};
61
- const insert = {
62
- _key: (0, import_utils.createHash)(`post-${sessionId}`),
63
- added: now,
64
- city: getFieldVal(addressComponents, "locality"),
65
- country: getFieldVal(addressComponents, "country"),
66
- formatted: geodata?.formatted_address,
67
- googleId,
68
- latitude: geodata?.geometry.location.lat,
69
- longitude: geodata?.geometry.location.lng,
70
- state: getFieldVal(addressComponents, "administrative_area_level_1"),
71
- street: [streetNumber, route].filter((obj) => obj).join(" "),
72
- zip: getFieldVal(addressComponents, "postal_code")
73
- };
74
- const aqlQry = import_arangojs.aql`UPSERT {googleId: ${googleId}}
75
- INSERT ${insert}
76
- UPDATE ${update}
77
- IN locations RETURN NEW`;
78
- return database.query(aqlQry).then((cursor) => cursor.next()).then((updatedLocation) => {
79
- let itemDocId;
80
- const { _key: updatedLocationKey } = updatedLocation;
81
- switch (formatItemType) {
82
- case "posts":
83
- itemDocId = `posts/${formatItemId}`;
84
- break;
85
- default:
86
- itemDocId = "";
87
- }
88
- if (itemDocId) {
89
- const edgeCollection = database.collection("hasLocation");
90
- const locationId = updatedLocationKey;
91
- const locationDocId = `locations/${locationId}`;
92
- const edgeId = (0, import_utils.createHash)(`hasLocation-${locationId}-${sessionId}`);
93
- const edge = { _from: itemDocId, _key: edgeId, _to: locationDocId };
94
- return edgeCollection.save(edge, { returnNew: true }).then(() => updatedLocation);
95
- }
96
- return updatedLocation;
97
- }).catch((error) => (0, import_analyticsUtils.logError)({
98
- action,
99
- category: eventCategory,
100
- label: import_error.ErrorTypes.DATABASE_ERROR
101
- }, error, context).then(() => null));
102
- }
103
- return null;
104
- });
105
- };
106
- const getLocation = (context, locationId) => {
107
- const { database } = context;
108
- const formatId = (0, import_utils.parseId)(locationId);
109
- const aqlQry = import_arangojs.aql`FOR l IN locations
110
- FILTER l._key == ${formatId}
111
- RETURN l`;
112
- return database.query(aqlQry).then((cursor) => cursor.next()).catch((error) => {
113
- throw error;
114
- });
115
- };
116
- // Annotate the CommonJS export names for ESM import in node:
117
- 0 && (module.exports = {
118
- addLocation,
119
- getFieldVal,
120
- getLocation
121
- });
122
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FjdGlvbnMvbG9jYXRpb25zLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxOS1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHtnZXQgYXMgaHR0cEdldCwgcXVlcnlTdHJpbmd9IGZyb20gJ0BubGFicy9yaXAtaHVudGVyJztcbmltcG9ydCB7Y3JlYXRlSGFzaCwgcGFyc2VDaGFyLCBwYXJzZUlkfSBmcm9tICdAbmxhYnMvdXRpbHMnO1xuaW1wb3J0IHthcWx9IGZyb20gJ2FyYW5nb2pzJztcbmltcG9ydCB7QXFsUXVlcnl9IGZyb20gJ2FyYW5nb2pzL2FxbCc7XG5cbmltcG9ydCB7Q29uZmlnfSBmcm9tICcuLi9jb25maWcnO1xuaW1wb3J0IHtBcGlDb250ZXh0fSBmcm9tICcuLi90eXBlcy9hdXRoLnR5cGVzJztcbmltcG9ydCB7RXJyb3JUeXBlc30gZnJvbSAnLi4vdHlwZXMvZXJyb3IudHlwZXMnO1xuaW1wb3J0IHtHb29nbGVNYXBzQWRkcmVzc1R5cGUsIEdvb2dsZU1hcHNSZXN1bHRUeXBlfSBmcm9tICcuLi90eXBlcy9nb29nbGUudHlwZXMnO1xuaW1wb3J0IHtMb2NhdGlvblR5cGV9IGZyb20gJy4uL3R5cGVzL2xvY2F0aW9ucy50eXBlcyc7XG5pbXBvcnQge2xvZ0Vycm9yfSBmcm9tICcuLi91dGlscy9hbmFseXRpY3NVdGlscyc7XG5cbmltcG9ydCB0eXBlIHtFZGdlVHlwZX0gZnJvbSAnLi4vdHlwZXMvYXJhbmdvZGIudHlwZXMnO1xuaW1wb3J0IHR5cGUge0VkZ2VDb2xsZWN0aW9ufSBmcm9tICdhcmFuZ29qcy9jb2xsZWN0aW9ucyc7XG5cbmNvbnN0IGV2ZW50Q2F0ZWdvcnk6IHN0cmluZyA9ICdsb2NhdGlvbnMnO1xuXG5leHBvcnQgY29uc3QgZ2V0RmllbGRWYWwgPSAoYWRkcmVzc0NvbXBvbmVudHM6IEdvb2dsZU1hcHNBZGRyZXNzVHlwZVtdLCBuYW1lOiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuICBjb25zdCB7c2hvcnRfbmFtZTogc2hvcnROYW1lID0gJyd9ID0gYWRkcmVzc0NvbXBvbmVudHMuZmluZCgoYWRkcmVzc0ZpZWxkOiBHb29nbGVNYXBzQWRkcmVzc1R5cGUpID0+IHtcbiAgICBjb25zdCB0eXBlcyA9IGFkZHJlc3NGaWVsZC50eXBlcyB8fCBbXTtcbiAgICByZXR1cm4gdHlwZXMuZmluZEluZGV4KChmaWVsZFR5cGU6IHN0cmluZykgPT4gZmllbGRUeXBlID09PSBuYW1lKSA+PSAwO1xuICB9KSB8fCB7fTtcblxuICByZXR1cm4gc2hvcnROYW1lO1xufTtcblxuZXhwb3J0IGNvbnN0IGFkZExvY2F0aW9uID0gKGNvbnRleHQ6IEFwaUNvbnRleHQsIGxvY2F0aW9uOiBMb2NhdGlvblR5cGUpOiBQcm9taXNlPExvY2F0aW9uVHlwZT4gPT4ge1xuICBjb25zdCBhY3Rpb246IHN0cmluZyA9ICdhZGQnO1xuICBjb25zdCB7ZGF0YWJhc2UsIHNlc3Npb246IHt1c2VySWQ6IHNlc3Npb25JZH19ID0gY29udGV4dDtcbiAgY29uc3Qge2FkZHJlc3MsIGl0ZW1JZCwgaXRlbVR5cGV9ID0gbG9jYXRpb247XG4gIGNvbnN0IGdlb2NvZGVVcmw6IHN0cmluZyA9IENvbmZpZy5nZXQoJ2dvb2dsZS5nZW9jb2RlLnVybCcpO1xuICBjb25zdCBwYXJhbXM6IG9iamVjdCA9IHtcbiAgICBhZGRyZXNzLFxuICAgIGtleTogQ29uZmlnLmdldCgnZ29vZ2xlLmdlb2NvZGUua2V5JylcbiAgfTtcbiAgY29uc3QgdXJsOiBzdHJpbmcgPSBgJHtnZW9jb2RlVXJsfT8ke3F1ZXJ5U3RyaW5nKHBhcmFtcyl9YDtcblxuICByZXR1cm4gaHR0cEdldCh1cmwpXG4gICAgLnRoZW4oKGpzb24pID0+IHtcbiAgICAgIGNvbnN0IHtyZXN1bHRzID0gW10sIHN0YXR1cyA9ICcnfSA9IGpzb247XG5cbiAgICAgIGlmKHN0YXR1cyA9PT0gJ09LJyAmJiByZXN1bHRzLmxlbmd0aCkge1xuICAgICAgICBjb25zdCBnZW9kYXRhOiBHb29nbGVNYXBzUmVzdWx0VHlwZSA9IHJlc3VsdHNbMF07XG4gICAgICAgIGNvbnN0IGFkZHJlc3NDb21wb25lbnRzOiBHb29nbGVNYXBzQWRkcmVzc1R5cGVbXSA9IGdlb2RhdGE/LmFkZHJlc3NfY29tcG9uZW50cyB8fCBbXTtcblxuICAgICAgICAvLyBTdHJlZXRcbiAgICAgICAgY29uc3Qgc3RyZWV0TnVtYmVyOiBzdHJpbmcgPSBnZXRGaWVsZFZhbChhZGRyZXNzQ29tcG9uZW50cywgJ3N0cmVldF9udW1iZXInKTtcbiAgICAgICAgY29uc3Qgcm91dGU6IHN0cmluZyA9IGdldEZpZWxkVmFsKGFkZHJlc3NDb21wb25lbnRzLCAncm91dGUnKTtcblxuICAgICAgICAvLyBMb2NhdGlvblxuICAgICAgICBjb25zdCBub3c6IG51bWJlciA9IERhdGUubm93KCk7XG5cbiAgICAgICAgLy8gSXRlbVxuICAgICAgICBjb25zdCBmb3JtYXRJdGVtVHlwZTogc3RyaW5nID0gcGFyc2VDaGFyKGl0ZW1UeXBlKS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICBjb25zdCBmb3JtYXRJdGVtSWQ6IHN0cmluZyA9IHBhcnNlSWQoaXRlbUlkKTtcbiAgICAgICAgY29uc3QgZ29vZ2xlSWQ6IHN0cmluZyA9IGdlb2RhdGE/LnBsYWNlX2lkIHx8ICcnO1xuICAgICAgICBjb25zdCB1cGRhdGU6IExvY2F0aW9uVHlwZSA9IHt9O1xuICAgICAgICBjb25zdCBpbnNlcnQ6IExvY2F0aW9uVHlwZSA9IHtcbiAgICAgICAgICBfa2V5OiBjcmVhdGVIYXNoKGBwb3N0LSR7c2Vzc2lvbklkfWApLFxuICAgICAgICAgIGFkZGVkOiBub3csXG4gICAgICAgICAgY2l0eTogZ2V0RmllbGRWYWwoYWRkcmVzc0NvbXBvbmVudHMsICdsb2NhbGl0eScpLFxuICAgICAgICAgIGNvdW50cnk6IGdldEZpZWxkVmFsKGFkZHJlc3NDb21wb25lbnRzLCAnY291bnRyeScpLFxuICAgICAgICAgIGZvcm1hdHRlZDogZ2VvZGF0YT8uZm9ybWF0dGVkX2FkZHJlc3MsXG4gICAgICAgICAgZ29vZ2xlSWQsXG4gICAgICAgICAgbGF0aXR1ZGU6IGdlb2RhdGE/Lmdlb21ldHJ5LmxvY2F0aW9uLmxhdCxcbiAgICAgICAgICBsb25naXR1ZGU6IGdlb2RhdGE/Lmdlb21ldHJ5LmxvY2F0aW9uLmxuZyxcbiAgICAgICAgICBzdGF0ZTogZ2V0RmllbGRWYWwoYWRkcmVzc0NvbXBvbmVudHMsICdhZG1pbmlzdHJhdGl2ZV9hcmVhX2xldmVsXzEnKSxcbiAgICAgICAgICBzdHJlZXQ6IFtzdHJlZXROdW1iZXIsIHJvdXRlXS5maWx0ZXIoKG9iaikgPT4gb2JqKS5qb2luKCcgJyksXG4gICAgICAgICAgemlwOiBnZXRGaWVsZFZhbChhZGRyZXNzQ29tcG9uZW50cywgJ3Bvc3RhbF9jb2RlJylcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgYXFsUXJ5OiBBcWxRdWVyeSA9IGFxbGBVUFNFUlQge2dvb2dsZUlkOiAke2dvb2dsZUlkfX1cbiAgICAgICAgICAgIElOU0VSVCAke2luc2VydH1cbiAgICAgICAgICAgIFVQREFURSAke3VwZGF0ZX1cbiAgICAgICAgICAgIElOIGxvY2F0aW9ucyBSRVRVUk4gTkVXYDtcblxuICAgICAgICByZXR1cm4gZGF0YWJhc2UucXVlcnkoYXFsUXJ5KVxuICAgICAgICAgIC50aGVuKChjdXJzb3IpID0+IGN1cnNvci5uZXh0KCkpXG4gICAgICAgICAgLnRoZW4oKHVwZGF0ZWRMb2NhdGlvbjogTG9jYXRpb25UeXBlKSA9PiB7XG4gICAgICAgICAgICBsZXQgaXRlbURvY0lkOiBzdHJpbmc7XG4gICAgICAgICAgICBjb25zdCB7X2tleTogdXBkYXRlZExvY2F0aW9uS2V5fSA9IHVwZGF0ZWRMb2NhdGlvbjtcblxuICAgICAgICAgICAgc3dpdGNoKGZvcm1hdEl0ZW1UeXBlKSB7XG4gICAgICAgICAgICAgIGNhc2UgJ3Bvc3RzJzpcbiAgICAgICAgICAgICAgICBpdGVtRG9jSWQgPSBgcG9zdHMvJHtmb3JtYXRJdGVtSWR9YDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBpdGVtRG9jSWQgPSAnJztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gSWYgdGhlcmUgaXMgYSB2YWxpZCBpdGVtIGRvYyBpZCwgY3JlYXRlIGFuIGVkZ2VcbiAgICAgICAgICAgIGlmKGl0ZW1Eb2NJZCkge1xuICAgICAgICAgICAgICBjb25zdCBlZGdlQ29sbGVjdGlvbjogRWRnZUNvbGxlY3Rpb24gPSBkYXRhYmFzZS5jb2xsZWN0aW9uKCdoYXNMb2NhdGlvbicpO1xuICAgICAgICAgICAgICBjb25zdCBsb2NhdGlvbklkOiBzdHJpbmcgPSB1cGRhdGVkTG9jYXRpb25LZXk7XG4gICAgICAgICAgICAgIGNvbnN0IGxvY2F0aW9uRG9jSWQ6IHN0cmluZyA9IGBsb2NhdGlvbnMvJHtsb2NhdGlvbklkfWA7XG4gICAgICAgICAgICAgIGNvbnN0IGVkZ2VJZCA9IGNyZWF0ZUhhc2goYGhhc0xvY2F0aW9uLSR7bG9jYXRpb25JZH0tJHtzZXNzaW9uSWR9YCk7XG4gICAgICAgICAgICAgIGNvbnN0IGVkZ2U6IEVkZ2VUeXBlID0ge19mcm9tOiBpdGVtRG9jSWQsIF9rZXk6IGVkZ2VJZCwgX3RvOiBsb2NhdGlvbkRvY0lkfTtcblxuICAgICAgICAgICAgICByZXR1cm4gZWRnZUNvbGxlY3Rpb24uc2F2ZShlZGdlLCB7cmV0dXJuTmV3OiB0cnVlfSkudGhlbigoKSA9PiB1cGRhdGVkTG9jYXRpb24pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBPdGhlcndpc2UganVzdCByZXR1cm4gdGhlIG5ldyBsb2NhdGlvblxuICAgICAgICAgICAgcmV0dXJuIHVwZGF0ZWRMb2NhdGlvbjtcbiAgICAgICAgICB9KVxuICAgICAgICAgIC5jYXRjaCgoZXJyb3I6IEVycm9yKSA9PiBsb2dFcnJvcih7XG4gICAgICAgICAgICBhY3Rpb24sXG4gICAgICAgICAgICBjYXRlZ29yeTogZXZlbnRDYXRlZ29yeSxcbiAgICAgICAgICAgIGxhYmVsOiBFcnJvclR5cGVzLkRBVEFCQVNFX0VSUk9SXG4gICAgICAgICAgfSwgZXJyb3IsIGNvbnRleHQpLnRoZW4oKCkgPT4gbnVsbCkpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRMb2NhdGlvbiA9IChjb250ZXh0OiBBcGlDb250ZXh0LCBsb2NhdGlvbklkOiBzdHJpbmcpOiBQcm9taXNlPExvY2F0aW9uVHlwZT4gPT4ge1xuICBjb25zdCB7ZGF0YWJhc2V9ID0gY29udGV4dDtcbiAgY29uc3QgZm9ybWF0SWQ6IHN0cmluZyA9IHBhcnNlSWQobG9jYXRpb25JZCk7XG5cbiAgY29uc3QgYXFsUXJ5OiBBcWxRdWVyeSA9IGFxbGBGT1IgbCBJTiBsb2NhdGlvbnNcbiAgICBGSUxURVIgbC5fa2V5ID09ICR7Zm9ybWF0SWR9XG4gICAgUkVUVVJOIGxgO1xuXG4gIHJldHVybiBkYXRhYmFzZS5xdWVyeShhcWxRcnkpXG4gICAgLnRoZW4oKGN1cnNvcikgPT4gY3Vyc29yLm5leHQoKSlcbiAgICAuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4ge1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfSk7XG59O1xuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUlBLHdCQUEwQztBQUMxQyxtQkFBNkM7QUFDN0Msc0JBQWtCO0FBR2xCLG9CQUFxQjtBQUVyQixtQkFBeUI7QUFHekIsNEJBQXVCO0FBS3ZCLE1BQU0sZ0JBQXdCO0FBRXZCLE1BQU0sY0FBYyxDQUFDLG1C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
1
+ import{get as v,queryString as P}from"@nlabs/rip-hunter";import{createHash as u,parseChar as S,parseId as T}from"@nlabs/utils/parsers/strings";import{aql as I}from"arangojs";import{Config as f}from"../config.js";import{ErrorTypes as F}from"../types/error.types.js";import{logError as O}from"../utils/analyticsUtils.js";import{useDb as d}from"../utils/arangodbUtils.js";const K="locations",n=(e,a)=>{const{short_name:l=""}=e.find(r=>(r.types||[]).findIndex(o=>o===a)>=0)||{};return l},Y=(e,a)=>{const{databaseName:r,session:{userId:i}}=e,{address:o,itemId:h,itemType:E}=a,_=f.get("google.geocode.url"),A={address:o,key:f.get("google.geocode.key")},R=`${_}?${P(A)}`;return v(R).then(L=>{const{results:g=[],status:C=""}=L;if(C==="OK"&&g.length){const c=g[0],s=c?.address_components||[],N=n(s,"street_number"),$=n(s,"route"),b=Date.now(),q=S(E).toLowerCase(),x=T(h),m=c?.place_id||"",k={},G={_key:u(`post-${i}`),added:b,city:n(s,"locality"),country:n(s,"country"),formatted:c?.formatted_address,googleId:m,latitude:c?.geometry.location.lat,longitude:c?.geometry.location.lng,state:n(s,"administrative_area_level_1"),street:[N,$].filter(t=>t).join(" "),zip:n(s,"postal_code")},w=I`UPSERT {googleId: ${m}}
2
+ INSERT ${G}
3
+ UPDATE ${k}
4
+ IN locations RETURN NEW`;return d(r).query(w).then(t=>t.next()).then(t=>{let p;const{_key:D}=t;switch(q){case"posts":p=`posts/${x}`;break;default:p=""}if(p){const M=d(r).collection("hasLocation"),y=D,Q=`locations/${y}`,U=u(`hasLocation-${y}-${i}`),j={_from:p,_key:U,_to:Q};return M.save(j,{returnNew:!0}).then(()=>t)}return t}).catch(t=>O({action:"add",category:K,label:F.DATABASE_ERROR},t,e).then(()=>null))}return null})},Z=(e,a)=>{const{databaseName:l}=e,r=T(a),i=I`FOR l IN locations
5
+ FILTER l._key == ${r}
6
+ RETURN l`;return d(l).query(i).then(o=>o.next()).catch(o=>{throw o})};export{Y as addLocation,n as getFieldVal,Z as getLocation};
7
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FjdGlvbnMvbG9jYXRpb25zLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxOS1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHtnZXQgYXMgaHR0cEdldCwgcXVlcnlTdHJpbmd9IGZyb20gJ0BubGFicy9yaXAtaHVudGVyJztcbmltcG9ydCB7Y3JlYXRlSGFzaCwgcGFyc2VDaGFyLCBwYXJzZUlkfSBmcm9tICdAbmxhYnMvdXRpbHMvcGFyc2Vycy9zdHJpbmdzJztcbmltcG9ydCB7YXFsfSBmcm9tICdhcmFuZ29qcyc7XG5pbXBvcnQge0FxbFF1ZXJ5fSBmcm9tICdhcmFuZ29qcy9hcWwnO1xuXG5pbXBvcnQge0NvbmZpZ30gZnJvbSAnLi4vY29uZmlnLmpzJztcbmltcG9ydCB7QXBpQ29udGV4dH0gZnJvbSAnLi4vdHlwZXMvYXV0aC50eXBlcy5qcyc7XG5pbXBvcnQge0Vycm9yVHlwZXN9IGZyb20gJy4uL3R5cGVzL2Vycm9yLnR5cGVzLmpzJztcbmltcG9ydCB7R29vZ2xlTWFwc0FkZHJlc3NUeXBlLCBHb29nbGVNYXBzUmVzdWx0VHlwZX0gZnJvbSAnLi4vdHlwZXMvZ29vZ2xlLnR5cGVzLmpzJztcbmltcG9ydCB7TG9jYXRpb25UeXBlfSBmcm9tICcuLi90eXBlcy9sb2NhdGlvbnMudHlwZXMuanMnO1xuaW1wb3J0IHtsb2dFcnJvcn0gZnJvbSAnLi4vdXRpbHMvYW5hbHl0aWNzVXRpbHMuanMnO1xuaW1wb3J0IHt1c2VEYn0gZnJvbSAnLi4vdXRpbHMvYXJhbmdvZGJVdGlscy5qcyc7XG5cbmltcG9ydCB0eXBlIHtFZGdlQ29sbGVjdGlvbn0gZnJvbSAnYXJhbmdvanMvY29sbGVjdGlvbnMnO1xuaW1wb3J0IHR5cGUge0VkZ2VUeXBlfSBmcm9tICcuLi90eXBlcy9hcmFuZ29kYi50eXBlcy5qcyc7XG5cbmNvbnN0IGV2ZW50Q2F0ZWdvcnk6IHN0cmluZyA9ICdsb2NhdGlvbnMnO1xuXG5leHBvcnQgY29uc3QgZ2V0RmllbGRWYWwgPSAoYWRkcmVzc0NvbXBvbmVudHM6IEdvb2dsZU1hcHNBZGRyZXNzVHlwZVtdLCBuYW1lOiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuICBjb25zdCB7c2hvcnRfbmFtZTogc2hvcnROYW1lID0gJyd9ID0gYWRkcmVzc0NvbXBvbmVudHMuZmluZCgoYWRkcmVzc0ZpZWxkOiBHb29nbGVNYXBzQWRkcmVzc1R5cGUpID0+IHtcbiAgICBjb25zdCB0eXBlcyA9IGFkZHJlc3NGaWVsZC50eXBlcyB8fCBbXTtcbiAgICByZXR1cm4gdHlwZXMuZmluZEluZGV4KChmaWVsZFR5cGU6IHN0cmluZykgPT4gZmllbGRUeXBlID09PSBuYW1lKSA+PSAwO1xuICB9KSB8fCB7fTtcblxuICByZXR1cm4gc2hvcnROYW1lO1xufTtcblxuZXhwb3J0IGNvbnN0IGFkZExvY2F0aW9uID0gKGNvbnRleHQ6IEFwaUNvbnRleHQsIGxvY2F0aW9uOiBMb2NhdGlvblR5cGUpOiBQcm9taXNlPExvY2F0aW9uVHlwZT4gPT4ge1xuICBjb25zdCBhY3Rpb246IHN0cmluZyA9ICdhZGQnO1xuICBjb25zdCB7ZGF0YWJhc2VOYW1lLCBzZXNzaW9uOiB7dXNlcklkOiBzZXNzaW9uSWR9fSA9IGNvbnRleHQ7XG4gIGNvbnN0IHthZGRyZXNzLCBpdGVtSWQsIGl0ZW1UeXBlfSA9IGxvY2F0aW9uO1xuICBjb25zdCBnZW9jb2RlVXJsOiBzdHJpbmcgPSBDb25maWcuZ2V0KCdnb29nbGUuZ2VvY29kZS51cmwnKTtcbiAgY29uc3QgcGFyYW1zOiBvYmplY3QgPSB7XG4gICAgYWRkcmVzcyxcbiAgICBrZXk6IENvbmZpZy5nZXQoJ2dvb2dsZS5nZW9jb2RlLmtleScpXG4gIH07XG4gIGNvbnN0IHVybDogc3RyaW5nID0gYCR7Z2VvY29kZVVybH0/JHtxdWVyeVN0cmluZyhwYXJhbXMpfWA7XG5cbiAgcmV0dXJuIGh0dHBHZXQodXJsKVxuICAgIC50aGVuKChqc29uKSA9PiB7XG4gICAgICBjb25zdCB7cmVzdWx0cyA9IFtdLCBzdGF0dXMgPSAnJ30gPSBqc29uO1xuXG4gICAgICBpZihzdGF0dXMgPT09ICdPSycgJiYgcmVzdWx0cy5sZW5ndGgpIHtcbiAgICAgICAgY29uc3QgZ2VvZGF0YTogR29vZ2xlTWFwc1Jlc3VsdFR5cGUgPSByZXN1bHRzWzBdO1xuICAgICAgICBjb25zdCBhZGRyZXNzQ29tcG9uZW50czogR29vZ2xlTWFwc0FkZHJlc3NUeXBlW10gPSBnZW9kYXRhPy5hZGRyZXNzX2NvbXBvbmVudHMgfHwgW107XG5cbiAgICAgICAgLy8gU3RyZWV0XG4gICAgICAgIGNvbnN0IHN0cmVldE51bWJlcjogc3RyaW5nID0gZ2V0RmllbGRWYWwoYWRkcmVzc0NvbXBvbmVudHMsICdzdHJlZXRfbnVtYmVyJyk7XG4gICAgICAgIGNvbnN0IHJvdXRlOiBzdHJpbmcgPSBnZXRGaWVsZFZhbChhZGRyZXNzQ29tcG9uZW50cywgJ3JvdXRlJyk7XG5cbiAgICAgICAgLy8gTG9jYXRpb25cbiAgICAgICAgY29uc3Qgbm93OiBudW1iZXIgPSBEYXRlLm5vdygpO1xuXG4gICAgICAgIC8vIEl0ZW1cbiAgICAgICAgY29uc3QgZm9ybWF0SXRlbVR5cGU6IHN0cmluZyA9IHBhcnNlQ2hhcihpdGVtVHlwZSkudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgY29uc3QgZm9ybWF0SXRlbUlkOiBzdHJpbmcgPSBwYXJzZUlkKGl0ZW1JZCk7XG4gICAgICAgIGNvbnN0IGdvb2dsZUlkOiBzdHJpbmcgPSBnZW9kYXRhPy5wbGFjZV9pZCB8fCAnJztcbiAgICAgICAgY29uc3QgdXBkYXRlOiBMb2NhdGlvblR5cGUgPSB7fTtcbiAgICAgICAgY29uc3QgaW5zZXJ0OiBMb2NhdGlvblR5cGUgPSB7XG4gICAgICAgICAgX2tleTogY3JlYXRlSGFzaChgcG9zdC0ke3Nlc3Npb25JZH1gKSxcbiAgICAgICAgICBhZGRlZDogbm93LFxuICAgICAgICAgIGNpdHk6IGdldEZpZWxkVmFsKGFkZHJlc3NDb21wb25lbnRzLCAnbG9jYWxpdHknKSxcbiAgICAgICAgICBjb3VudHJ5OiBnZXRGaWVsZFZhbChhZGRyZXNzQ29tcG9uZW50cywgJ2NvdW50cnknKSxcbiAgICAgICAgICBmb3JtYXR0ZWQ6IGdlb2RhdGE/LmZvcm1hdHRlZF9hZGRyZXNzLFxuICAgICAgICAgIGdvb2dsZUlkLFxuICAgICAgICAgIGxhdGl0dWRlOiBnZW9kYXRhPy5nZW9tZXRyeS5sb2NhdGlvbi5sYXQsXG4gICAgICAgICAgbG9uZ2l0dWRlOiBnZW9kYXRhPy5nZW9tZXRyeS5sb2NhdGlvbi5sbmcsXG4gICAgICAgICAgc3RhdGU6IGdldEZpZWxkVmFsKGFkZHJlc3NDb21wb25lbnRzLCAnYWRtaW5pc3RyYXRpdmVfYXJlYV9sZXZlbF8xJyksXG4gICAgICAgICAgc3RyZWV0OiBbc3RyZWV0TnVtYmVyLCByb3V0ZV0uZmlsdGVyKChvYmopID0+IG9iaikuam9pbignICcpLFxuICAgICAgICAgIHppcDogZ2V0RmllbGRWYWwoYWRkcmVzc0NvbXBvbmVudHMsICdwb3N0YWxfY29kZScpXG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IGFxbFFyeTogQXFsUXVlcnkgPSBhcWxgVVBTRVJUIHtnb29nbGVJZDogJHtnb29nbGVJZH19XG4gICAgICAgICAgICBJTlNFUlQgJHtpbnNlcnR9XG4gICAgICAgICAgICBVUERBVEUgJHt1cGRhdGV9XG4gICAgICAgICAgICBJTiBsb2NhdGlvbnMgUkVUVVJOIE5FV2A7XG5cbiAgICAgICAgcmV0dXJuIHVzZURiKGRhdGFiYXNlTmFtZSkucXVlcnkoYXFsUXJ5KVxuICAgICAgICAgIC50aGVuKChjdXJzb3IpID0+IGN1cnNvci5uZXh0KCkpXG4gICAgICAgICAgLnRoZW4oKHVwZGF0ZWRMb2NhdGlvbjogTG9jYXRpb25UeXBlKSA9PiB7XG4gICAgICAgICAgICBsZXQgaXRlbURvY0lkOiBzdHJpbmc7XG4gICAgICAgICAgICBjb25zdCB7X2tleTogdXBkYXRlZExvY2F0aW9uS2V5fSA9IHVwZGF0ZWRMb2NhdGlvbjtcblxuICAgICAgICAgICAgc3dpdGNoKGZvcm1hdEl0ZW1UeXBlKSB7XG4gICAgICAgICAgICAgIGNhc2UgJ3Bvc3RzJzpcbiAgICAgICAgICAgICAgICBpdGVtRG9jSWQgPSBgcG9zdHMvJHtmb3JtYXRJdGVtSWR9YDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBpdGVtRG9jSWQgPSAnJztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gSWYgdGhlcmUgaXMgYSB2YWxpZCBpdGVtIGRvYyBpZCwgY3JlYXRlIGFuIGVkZ2VcbiAgICAgICAgICAgIGlmKGl0ZW1Eb2NJZCkge1xuICAgICAgICAgICAgICBjb25zdCBlZGdlQ29sbGVjdGlvbjogRWRnZUNvbGxlY3Rpb24gPSB1c2VEYihkYXRhYmFzZU5hbWUpLmNvbGxlY3Rpb24oJ2hhc0xvY2F0aW9uJyk7XG4gICAgICAgICAgICAgIGNvbnN0IGxvY2F0aW9uSWQ6IHN0cmluZyA9IHVwZGF0ZWRMb2NhdGlvbktleTtcbiAgICAgICAgICAgICAgY29uc3QgbG9jYXRpb25Eb2NJZDogc3RyaW5nID0gYGxvY2F0aW9ucy8ke2xvY2F0aW9uSWR9YDtcbiAgICAgICAgICAgICAgY29uc3QgZWRnZUlkID0gY3JlYXRlSGFzaChgaGFzTG9jYXRpb24tJHtsb2NhdGlvbklkfS0ke3Nlc3Npb25JZH1gKTtcbiAgICAgICAgICAgICAgY29uc3QgZWRnZTogRWRnZVR5cGUgPSB7X2Zyb206IGl0ZW1Eb2NJZCwgX2tleTogZWRnZUlkLCBfdG86IGxvY2F0aW9uRG9jSWR9O1xuXG4gICAgICAgICAgICAgIHJldHVybiBlZGdlQ29sbGVjdGlvbi5zYXZlKGVkZ2UsIHtyZXR1cm5OZXc6IHRydWV9KS50aGVuKCgpID0+IHVwZGF0ZWRMb2NhdGlvbik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIE90aGVyd2lzZSBqdXN0IHJldHVybiB0aGUgbmV3IGxvY2F0aW9uXG4gICAgICAgICAgICByZXR1cm4gdXBkYXRlZExvY2F0aW9uO1xuICAgICAgICAgIH0pXG4gICAgICAgICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IGxvZ0Vycm9yKHtcbiAgICAgICAgICAgIGFjdGlvbixcbiAgICAgICAgICAgIGNhdGVnb3J5OiBldmVudENhdGVnb3J5LFxuICAgICAgICAgICAgbGFiZWw6IEVycm9yVHlwZXMuREFUQUJBU0VfRVJST1JcbiAgICAgICAgICB9LCBlcnJvciwgY29udGV4dCkudGhlbigoKSA9PiBudWxsKSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldExvY2F0aW9uID0gKGNvbnRleHQ6IEFwaUNvbnRleHQsIGxvY2F0aW9uSWQ6IHN0cmluZyk6IFByb21pc2U8TG9jYXRpb25UeXBlPiA9PiB7XG4gIGNvbnN0IHtkYXRhYmFzZU5hbWV9ID0gY29udGV4dDtcbiAgY29uc3QgZm9ybWF0SWQ6IHN0cmluZyA9IHBhcnNlSWQobG9jYXRpb25JZCk7XG5cbiAgY29uc3QgYXFsUXJ5OiBBcWxRdWVyeSA9IGFxbGBGT1IgbCBJTiBsb2NhdGlvbnNcbiAgICBGSUxURVIgbC5fa2V5ID09ICR7Zm9ybWF0SWR9XG4gICAgUkVUVVJOIGxgO1xuXG4gIHJldHVybiB1c2VEYihkYXRhYmFzZU5hbWUpLnF1ZXJ5KGFxbFFyeSlcbiAgICAudGhlbigoY3Vyc29yKSA9PiBjdXJzb3IubmV4dCgpKVxuICAgIC5jYXRjaCgoZXJyb3I6IEVycm9yKSA9PiB7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9KTtcbn07XG4iXSwKICAibWFwcGluZ3MiOiAiQUFJQSxPQUFRLE9BQU9BLEVBQVMsZUFBQUMsTUFBa0Isb0JBQzFDLE9BQVEsY0FBQUMsRUFBWSxhQUFBQyxFQUFXLFdBQUFDLE1BQWMsK0JBQzdDLE9BQVEsT0FBQUMsTUFBVSxXQUdsQixPQUFRLFVBQUFDLE1BQWEsZUFFckIsT0FBUSxjQUFBQyxNQUFpQiwwQkFHekIsT0FBUSxZQUFBQyxNQUFlLDZCQUN2QixPQUFRLFNBQUFDLE1BQVksNEJBS3BCLE1BQU1DLEVBQXdCLFlBRWpCQyxFQUFjLENBQUNDLEVBQTRDQyxJQUF5QixDQUMvRixLQUFNLENBQUMsV0FBWUMsRUFBWSxFQUFFLEVBQUlGLEVBQWtCLEtBQU1HLElBQzdDQSxFQUFhLE9BQVMsQ0FBQyxHQUN4QixVQUFXQyxHQUFzQkEsSUFBY0gsQ0FBSSxHQUFLLENBQ3RFLEdBQUssQ0FBQyxFQUVQLE9BQU9DLENBQ1QsRUFFYUcsRUFBYyxDQUFDQyxFQUFxQkMsSUFBa0QsQ0FFakcsS0FBTSxDQUFDLGFBQUFDLEVBQWMsUUFBUyxDQUFDLE9BQVFDLENBQVMsQ0FBQyxFQUFJSCxFQUMvQyxDQUFDLFFBQUFJLEVBQVMsT0FBQUMsRUFBUSxTQUFBQyxDQUFRLEVBQUlMLEVBQzlCTSxFQUFxQm5CLEVBQU8sSUFBSSxvQkFBb0IsRUFDcERvQixFQUFpQixDQUNyQixRQUFBSixFQUNBLElBQUtoQixFQUFPLElBQUksb0JBQW9CLENBQ3RDLEVBQ01xQixFQUFjLEdBQUdGLENBQVUsSUFBSXhCLEVBQVl5QixDQUFNLENBQUMsR0FFeEQsT0FBTzFCLEVBQVEyQixDQUFHLEVBQ2YsS0FBTUMsR0FBUyxDQUNkLEtBQU0sQ0FBQyxRQUFBQyxFQUFVLENBQUMsRUFBRyxPQUFBQyxFQUFTLEVBQUUsRUFBSUYsRUFFcEMsR0FBR0UsSUFBVyxNQUFRRCxFQUFRLE9BQVEsQ0FDcEMsTUFBTUUsRUFBZ0NGLEVBQVEsQ0FBQyxFQUN6Q2pCLEVBQTZDbUIsR0FBUyxvQkFBc0IsQ0FBQyxFQUc3RUMsRUFBdUJyQixFQUFZQyxFQUFtQixlQUFlLEVBQ3JFcUIsRUFBZ0J0QixFQUFZQyxFQUFtQixPQUFPLEVBR3REc0IsRUFBYyxLQUFLLElBQUksRUFHdkJDLEVBQXlCaEMsRUFBVXFCLENBQVEsRUFBRSxZQUFZLEVBQ3pEWSxFQUF1QmhDLEVBQVFtQixDQUFNLEVBQ3JDYyxFQUFtQk4sR0FBUyxVQUFZLEdBQ3hDTyxFQUF1QixDQUFDLEVBQ3hCQyxFQUF1QixDQUMzQixLQUFNckMsRUFBVyxRQUFRbUIsQ0FBUyxFQUFFLEVBQ3BDLE1BQU9hLEVBQ1AsS0FBTXZCLEVBQVlDLEVBQW1CLFVBQVUsRUFDL0MsUUFBU0QsRUFBWUMsRUFBbUIsU0FBUyxFQUNqRCxVQUFXbUIsR0FBUyxrQkFDcEIsU0FBQU0sRUFDQSxTQUFVTixHQUFTLFNBQVMsU0FBUyxJQUNyQyxVQUFXQSxHQUFTLFNBQVMsU0FBUyxJQUN0QyxNQUFPcEIsRUFBWUMsRUFBbUIsNkJBQTZCLEVBQ25FLE9BQVEsQ0FBQ29CLEVBQWNDLENBQUssRUFBRSxPQUFRTyxHQUFRQSxDQUFHLEVBQUUsS0FBSyxHQUFHLEVBQzNELElBQUs3QixFQUFZQyxFQUFtQixhQUFhLENBQ25ELEVBQ002QixFQUFtQnBDLHNCQUF3QmdDLENBQVE7QUFBQSxxQkFDNUNFLENBQU07QUFBQSxxQkFDTkQsQ0FBTTtBQUFBLHFDQUduQixPQUFPN0IsRUFBTVcsQ0FBWSxFQUFFLE1BQU1xQixDQUFNLEVBQ3BDLEtBQU1DLEdBQVdBLEVBQU8sS0FBSyxDQUFDLEVBQzlCLEtBQU1DLEdBQWtDLENBQ3ZDLElBQUlDLEVBQ0osS0FBTSxDQUFDLEtBQU1DLENBQWtCLEVBQUlGLEVBRW5DLE9BQU9SLEVBQWdCLENBQ3JCLElBQUssUUFDSFMsRUFBWSxTQUFTUixDQUFZLEdBQ2pDLE1BQ0YsUUFDRVEsRUFBWSxFQUNoQixDQUdBLEdBQUdBLEVBQVcsQ0FDWixNQUFNRSxFQUFpQ3JDLEVBQU1XLENBQVksRUFBRSxXQUFXLGFBQWEsRUFDN0UyQixFQUFxQkYsRUFDckJHLEVBQXdCLGFBQWFELENBQVUsR0FDL0NFLEVBQVMvQyxFQUFXLGVBQWU2QyxDQUFVLElBQUkxQixDQUFTLEVBQUUsRUFDNUQ2QixFQUFpQixDQUFDLE1BQU9OLEVBQVcsS0FBTUssRUFBUSxJQUFLRCxDQUFhLEVBRTFFLE9BQU9GLEVBQWUsS0FBS0ksRUFBTSxDQUFDLFVBQVcsRUFBSSxDQUFDLEVBQUUsS0FBSyxJQUFNUCxDQUFlLENBQ2hGLENBR0EsT0FBT0EsQ0FDVCxDQUFDLEVBQ0EsTUFBT1EsR0FBaUIzQyxFQUFTLENBQ2hDLGFBQ0EsU0FBVUUsRUFDVixNQUFPSCxFQUFXLGNBQ3BCLEVBQUc0QyxFQUFPakMsQ0FBTyxFQUFFLEtBQUssSUFBTSxJQUFJLENBQUMsQ0FDdkMsQ0FFQSxPQUFPLElBQ1QsQ0FBQyxDQUNMLEVBRWFrQyxFQUFjLENBQUNsQyxFQUFxQjZCLElBQThDLENBQzdGLEtBQU0sQ0FBQyxhQUFBM0IsQ0FBWSxFQUFJRixFQUNqQm1DLEVBQW1CakQsRUFBUTJDLENBQVUsRUFFckNOLEVBQW1CcEM7QUFBQSx1QkFDSmdELENBQVE7QUFBQSxjQUc3QixPQUFPNUMsRUFBTVcsQ0FBWSxFQUFFLE1BQU1xQixDQUFNLEVBQ3BDLEtBQU1DLEdBQVdBLEVBQU8sS0FBSyxDQUFDLEVBQzlCLE1BQU9TLEdBQWlCLENBQ3ZCLE1BQU1BLENBQ1IsQ0FBQyxDQUNMIiwKICAibmFtZXMiOiBbImh0dHBHZXQiLCAicXVlcnlTdHJpbmciLCAiY3JlYXRlSGFzaCIsICJwYXJzZUNoYXIiLCAicGFyc2VJZCIsICJhcWwiLCAiQ29uZmlnIiwgIkVycm9yVHlwZXMiLCAibG9nRXJyb3IiLCAidXNlRGIiLCAiZXZlbnRDYXRlZ29yeSIsICJnZXRGaWVsZFZhbCIsICJhZGRyZXNzQ29tcG9uZW50cyIsICJuYW1lIiwgInNob3J0TmFtZSIsICJhZGRyZXNzRmllbGQiLCAiZmllbGRUeXBlIiwgImFkZExvY2F0aW9uIiwgImNvbnRleHQiLCAibG9jYXRpb24iLCAiZGF0YWJhc2VOYW1lIiwgInNlc3Npb25JZCIsICJhZGRyZXNzIiwgIml0ZW1JZCIsICJpdGVtVHlwZSIsICJnZW9jb2RlVXJsIiwgInBhcmFtcyIsICJ1cmwiLCAianNvbiIsICJyZXN1bHRzIiwgInN0YXR1cyIsICJnZW9kYXRhIiwgInN0cmVldE51bWJlciIsICJyb3V0ZSIsICJub3ciLCAiZm9ybWF0SXRlbVR5cGUiLCAiZm9ybWF0SXRlbUlkIiwgImdvb2dsZUlkIiwgInVwZGF0ZSIsICJpbnNlcnQiLCAib2JqIiwgImFxbFFyeSIsICJjdXJzb3IiLCAidXBkYXRlZExvY2F0aW9uIiwgIml0ZW1Eb2NJZCIsICJ1cGRhdGVkTG9jYXRpb25LZXkiLCAiZWRnZUNvbGxlY3Rpb24iLCAibG9jYXRpb25JZCIsICJsb2NhdGlvbkRvY0lkIiwgImVkZ2VJZCIsICJlZGdlIiwgImVycm9yIiwgImdldExvY2F0aW9uIiwgImZvcm1hdElkIl0KfQo=
@@ -1,6 +1,5 @@
1
- import { Database } from 'arangojs';
2
- import type { ApiContext } from '../types/auth.types';
3
- import type { MessageInputType, MessageType } from '../types/messages.types';
1
+ import type { ApiContext } from '../types/auth.types.js';
2
+ import type { MessageInputType, MessageType } from '../types/messages.types.js';
4
3
  export declare const getMessages: (context: ApiContext, conversationId: string, { from, to }: {
5
4
  from: any;
6
5
  to: any;
@@ -11,4 +10,4 @@ export declare const saveMessage: (context: ApiContext, messageId: string, conve
11
10
  export declare const unsaveMessage: (context: ApiContext, messageId: string, conversationId: string) => Promise<MessageType>;
12
11
  export declare const deleteMessage: (context: ApiContext, messageId: string, conversationId: string) => Promise<MessageType>;
13
12
  export declare const getMessage: (context: ApiContext, messageId: string) => Promise<MessageType>;
14
- export declare const cleanMessages: (database: Database) => Promise<number>;
13
+ export declare const cleanMessages: (databaseName: string) => Promise<number>;