@nlabs/reaktor 0.8.1 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (445) hide show
  1. package/.prettierrc.js +4 -0
  2. package/README.md +10 -1
  3. package/coverage/actions/groups.ts.html +1039 -0
  4. package/coverage/actions/images.ts.html +2500 -0
  5. package/coverage/actions/index.html +131 -0
  6. package/coverage/actions/tags.ts.html +1000 -0
  7. package/coverage/adapters/arangoAdapter.ts.html +151 -0
  8. package/coverage/adapters/index.html +146 -0
  9. package/coverage/adapters/reaktorAdapter.ts.html +127 -0
  10. package/coverage/adapters/tagAdapter.ts.html +160 -0
  11. package/coverage/base.css +224 -0
  12. package/coverage/block-navigation.js +87 -0
  13. package/coverage/clover.xml +6 -0
  14. package/coverage/coverage-final.json +1 -0
  15. package/coverage/favicon.png +0 -0
  16. package/coverage/index.html +221 -0
  17. package/coverage/lcov-report/base.css +224 -0
  18. package/coverage/lcov-report/block-navigation.js +87 -0
  19. package/coverage/lcov-report/favicon.png +0 -0
  20. package/coverage/lcov-report/index.html +101 -0
  21. package/coverage/lcov-report/prettify.css +1 -0
  22. package/coverage/lcov-report/prettify.js +2 -0
  23. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  24. package/coverage/lcov-report/sorter.js +196 -0
  25. package/coverage/lcov.info +0 -0
  26. package/coverage/mocks/file.ts.html +118 -0
  27. package/coverage/mocks/group.ts.html +145 -0
  28. package/coverage/mocks/image.ts.html +136 -0
  29. package/coverage/mocks/index.html +146 -0
  30. package/coverage/mocks/post.ts.html +169 -0
  31. package/coverage/mocks/tag.ts.html +121 -0
  32. package/coverage/mocks/user.ts.html +268 -0
  33. package/coverage/prettify.css +1 -0
  34. package/coverage/prettify.js +2 -0
  35. package/coverage/sort-arrow-sprite.png +0 -0
  36. package/coverage/sorter.js +196 -0
  37. package/coverage/types/error.ts.html +145 -0
  38. package/coverage/types/index.html +116 -0
  39. package/coverage/utils/adapterUtils.ts.html +151 -0
  40. package/coverage/utils/analyticsUtils.ts.html +292 -0
  41. package/coverage/utils/arangodbUtils.ts.html +463 -0
  42. package/coverage/utils/index.html +146 -0
  43. package/dist/actions/apps.js +242 -0
  44. package/dist/actions/connections.js +90 -0
  45. package/dist/actions/conversations.js +350 -0
  46. package/dist/actions/dynamodb.js +150 -0
  47. package/dist/actions/email.js +152 -0
  48. package/dist/actions/files.js +283 -0
  49. package/dist/actions/groups.js +292 -0
  50. package/dist/actions/images.js +735 -0
  51. package/dist/actions/index.js +66 -0
  52. package/dist/actions/ios.js +164 -0
  53. package/dist/actions/locations.js +122 -0
  54. package/dist/actions/messages.js +208 -0
  55. package/dist/actions/notifications.js +59 -0
  56. package/dist/actions/payments.js +497 -0
  57. package/dist/actions/personas.js +110 -0
  58. package/dist/actions/posts.js +595 -0
  59. package/dist/actions/reactions.js +322 -0
  60. package/dist/actions/s3.js +133 -0
  61. package/dist/actions/search.js +90 -0
  62. package/dist/actions/sms.js +108 -0
  63. package/dist/actions/statistics.js +62 -0
  64. package/dist/actions/subscription.js +220 -0
  65. package/dist/actions/tags.js +292 -0
  66. package/dist/actions/users.js +784 -0
  67. package/dist/actions/websockets.js +174 -0
  68. package/dist/adapters/arangoAdapter.js +46 -0
  69. package/dist/adapters/fileAdapter.js +76 -0
  70. package/dist/adapters/imageAdapter.js +40 -0
  71. package/dist/adapters/messageAdapter.js +49 -0
  72. package/dist/adapters/postAdapter.js +70 -0
  73. package/dist/adapters/reaktorAdapter.js +44 -0
  74. package/dist/adapters/tagAdapter.js +50 -0
  75. package/dist/adapters/userAdapter.js +115 -0
  76. package/dist/config.js +125 -0
  77. package/dist/index.js +66 -0
  78. package/dist/lambdas/actions/websockets.js +132 -0
  79. package/dist/lambdas/authorizer.js +67 -0
  80. package/dist/lambdas/connection.js +91 -0
  81. package/dist/lambdas/utils/message.js +42 -0
  82. package/dist/lambdas/utils/websocket.js +105 -0
  83. package/dist/mocks/conversation.js +35 -0
  84. package/dist/mocks/file.js +38 -0
  85. package/dist/mocks/group.js +47 -0
  86. package/dist/mocks/image.js +44 -0
  87. package/dist/mocks/nlabs.png +0 -0
  88. package/dist/mocks/post.js +55 -0
  89. package/dist/mocks/tag.js +37 -0
  90. package/dist/mocks/user.js +88 -0
  91. package/dist/mutations/index.js +26 -0
  92. package/dist/mutations/locations.js +44 -0
  93. package/dist/mutations/messages.js +86 -0
  94. package/dist/mutations/personas.js +100 -0
  95. package/dist/mutations/posts.js +53 -0
  96. package/dist/mutations/reactions.js +51 -0
  97. package/dist/mutations/statistics.js +39 -0
  98. package/dist/mutations/subscriptions.js +56 -0
  99. package/dist/mutations/tags.js +120 -0
  100. package/dist/mutations/users.js +116 -0
  101. package/dist/objectTypes/app.js +173 -0
  102. package/dist/objectTypes/bankAccount.js +76 -0
  103. package/dist/objectTypes/connection.js +48 -0
  104. package/dist/objectTypes/conversation.js +77 -0
  105. package/dist/objectTypes/creditCard.js +86 -0
  106. package/dist/objectTypes/document.js +46 -0
  107. package/dist/objectTypes/error.js +46 -0
  108. package/dist/objectTypes/external.js +74 -0
  109. package/dist/objectTypes/file.js +100 -0
  110. package/dist/objectTypes/filter.js +43 -0
  111. package/dist/objectTypes/group.js +123 -0
  112. package/dist/objectTypes/iapSubscription.js +40 -0
  113. package/dist/objectTypes/image.js +129 -0
  114. package/dist/objectTypes/index.js +68 -0
  115. package/dist/objectTypes/location.js +109 -0
  116. package/dist/objectTypes/message.js +96 -0
  117. package/dist/objectTypes/passcode.js +42 -0
  118. package/dist/objectTypes/persona.js +87 -0
  119. package/dist/objectTypes/plan.js +95 -0
  120. package/dist/objectTypes/post.js +125 -0
  121. package/dist/objectTypes/reaction.js +61 -0
  122. package/dist/objectTypes/relation.js +49 -0
  123. package/dist/objectTypes/search.js +72 -0
  124. package/dist/objectTypes/statistics.js +39 -0
  125. package/dist/objectTypes/subscription.js +117 -0
  126. package/dist/objectTypes/tag.js +65 -0
  127. package/dist/objectTypes/user.js +144 -0
  128. package/dist/queries/index.js +33 -0
  129. package/dist/queries/locations.js +45 -0
  130. package/dist/queries/messages.js +52 -0
  131. package/dist/queries/posts.js +154 -0
  132. package/dist/queries/reactions.js +56 -0
  133. package/dist/queries/statistics.js +39 -0
  134. package/dist/queries/subscriptions.js +44 -0
  135. package/dist/queries/tags.js +75 -0
  136. package/dist/queries/users.js +64 -0
  137. package/dist/templates/email/layout.js +302 -0
  138. package/dist/templates/email/passwordForgot.js +38 -0
  139. package/dist/templates/email/passwordRecovery.js +35 -0
  140. package/dist/templates/email/verifyEmail.js +38 -0
  141. package/dist/templates/email/welcome.js +38 -0
  142. package/dist/templates/sms/passwordForgot.js +24 -0
  143. package/dist/templates/sms/passwordRecovery.js +24 -0
  144. package/dist/templates/sms/verifyEmail.js +24 -0
  145. package/dist/templates/sms/verifyPhone.js +24 -0
  146. package/dist/templates/sms/welcome.js +24 -0
  147. package/dist/types/apps.js +32 -0
  148. package/dist/types/arangodb.js +16 -0
  149. package/{lib → dist}/types/auth.js +1 -1
  150. package/{lib → dist}/types/connections.js +1 -1
  151. package/{lib → dist}/types/conversations.js +1 -1
  152. package/{lib → dist}/types/email.js +1 -1
  153. package/dist/types/error.js +44 -0
  154. package/{lib → dist}/types/files.js +1 -1
  155. package/dist/types/google.js +16 -0
  156. package/{lib → dist}/types/groups.js +1 -1
  157. package/dist/types/images.js +16 -0
  158. package/dist/types/index.js +60 -0
  159. package/{lib → dist}/types/locations.js +1 -1
  160. package/dist/types/messages.js +16 -0
  161. package/{lib → dist}/types/notifications.js +1 -1
  162. package/dist/types/payments.js +16 -0
  163. package/dist/types/personas.js +16 -0
  164. package/dist/types/posts.js +16 -0
  165. package/{lib → dist}/types/statistics.js +1 -1
  166. package/{lib → dist}/types/tags.js +1 -1
  167. package/dist/types/users.js +16 -0
  168. package/dist/types/websockets.js +16 -0
  169. package/dist/utils/adapterUtils.js +45 -0
  170. package/dist/utils/analyticsUtils.js +72 -0
  171. package/dist/utils/arangodbUtils.js +165 -0
  172. package/dist/utils/auth.js +57 -0
  173. package/dist/utils/index.js +30 -0
  174. package/dist/utils/session.js +60 -0
  175. package/jest.setup.js +0 -0
  176. package/jpg:- +0 -0
  177. package/lex.config.cjs +13 -0
  178. package/lib/actions/apps.d.ts +25 -0
  179. package/lib/actions/apps.js +242 -0
  180. package/lib/actions/connections.d.ts +4 -0
  181. package/lib/actions/connections.js +90 -0
  182. package/lib/actions/conversations.d.ts +12 -12
  183. package/lib/actions/conversations.js +147 -131
  184. package/lib/actions/dynamodb.d.ts +8 -8
  185. package/lib/actions/dynamodb.js +35 -32
  186. package/lib/actions/email.d.ts +3 -5
  187. package/lib/actions/email.js +33 -63
  188. package/lib/actions/files.d.ts +17 -14
  189. package/lib/actions/files.js +184 -202
  190. package/lib/actions/groups.d.ts +4 -4
  191. package/lib/actions/groups.js +47 -45
  192. package/lib/actions/images.d.ts +17 -13
  193. package/lib/actions/images.js +325 -264
  194. package/lib/actions/index.d.ts +3 -0
  195. package/lib/actions/index.js +7 -1
  196. package/lib/actions/ios.js +11 -10
  197. package/lib/actions/locations.d.ts +5 -2
  198. package/lib/actions/locations.js +41 -37
  199. package/lib/actions/messages.d.ts +4 -3
  200. package/lib/actions/messages.js +35 -32
  201. package/lib/actions/notifications.d.ts +2 -2
  202. package/lib/actions/notifications.js +1 -1
  203. package/lib/actions/payments.d.ts +2 -2
  204. package/lib/actions/payments.js +87 -83
  205. package/lib/actions/personas.d.ts +3 -0
  206. package/lib/actions/personas.js +110 -0
  207. package/lib/actions/posts.d.ts +11 -10
  208. package/lib/actions/posts.js +186 -152
  209. package/lib/actions/reactions.d.ts +5 -5
  210. package/lib/actions/reactions.js +30 -28
  211. package/lib/actions/s3.d.ts +7 -7
  212. package/lib/actions/s3.js +37 -32
  213. package/lib/actions/search.d.ts +3 -3
  214. package/lib/actions/search.js +13 -11
  215. package/lib/actions/sms.d.ts +9 -3
  216. package/lib/actions/sms.js +60 -34
  217. package/lib/actions/statistics.d.ts +3 -2
  218. package/lib/actions/statistics.js +21 -18
  219. package/lib/actions/subscription.d.ts +2 -2
  220. package/lib/actions/subscription.js +32 -39
  221. package/lib/actions/tags.d.ts +23 -20
  222. package/lib/actions/tags.js +161 -205
  223. package/lib/actions/users.d.ts +50 -22
  224. package/lib/actions/users.js +441 -217
  225. package/lib/actions/websockets.d.ts +19 -5
  226. package/lib/actions/websockets.js +89 -61
  227. package/lib/adapters/arangoAdapter.d.ts +2 -0
  228. package/lib/adapters/arangoAdapter.js +46 -0
  229. package/lib/adapters/fileAdapter.d.ts +3 -0
  230. package/lib/adapters/fileAdapter.js +76 -0
  231. package/lib/adapters/imageAdapter.d.ts +2 -0
  232. package/lib/adapters/imageAdapter.js +40 -0
  233. package/lib/adapters/messageAdapter.d.ts +2 -0
  234. package/lib/adapters/messageAdapter.js +49 -0
  235. package/lib/adapters/postAdapter.d.ts +2 -0
  236. package/lib/adapters/postAdapter.js +70 -0
  237. package/lib/adapters/reaktorAdapter.d.ts +6 -0
  238. package/lib/adapters/reaktorAdapter.js +44 -0
  239. package/lib/adapters/tagAdapter.d.ts +2 -0
  240. package/lib/adapters/tagAdapter.js +50 -0
  241. package/lib/adapters/userAdapter.d.ts +2 -0
  242. package/lib/adapters/userAdapter.js +115 -0
  243. package/lib/config.js +16 -17
  244. package/lib/index.d.ts +7 -0
  245. package/lib/index.js +44 -8
  246. package/lib/lambdas/actions/websockets.d.ts +7 -6
  247. package/lib/lambdas/actions/websockets.js +15 -11
  248. package/lib/lambdas/authorizer.js +4 -4
  249. package/lib/lambdas/connection.js +20 -20
  250. package/lib/lambdas/utils/message.js +1 -1
  251. package/lib/lambdas/utils/websocket.js +8 -7
  252. package/lib/mocks/conversation.d.ts +8 -0
  253. package/lib/mocks/conversation.js +35 -0
  254. package/lib/mocks/file.d.ts +11 -0
  255. package/lib/mocks/file.js +38 -0
  256. package/lib/mocks/group.d.ts +17 -0
  257. package/lib/mocks/group.js +47 -0
  258. package/lib/mocks/image.d.ts +3 -0
  259. package/lib/mocks/image.js +44 -0
  260. package/lib/mocks/nlabs.png +0 -0
  261. package/lib/mocks/post.d.ts +38 -0
  262. package/lib/mocks/post.js +55 -0
  263. package/lib/mocks/tag.d.ts +2 -0
  264. package/lib/mocks/tag.js +37 -0
  265. package/lib/mocks/user.d.ts +4 -0
  266. package/lib/mocks/user.js +88 -0
  267. package/lib/mutations/index.d.ts +3 -0
  268. package/lib/mutations/index.js +26 -0
  269. package/lib/mutations/locations.d.ts +2 -0
  270. package/lib/mutations/locations.js +44 -0
  271. package/lib/mutations/messages.d.ts +2 -0
  272. package/lib/mutations/messages.js +86 -0
  273. package/lib/mutations/personas.d.ts +2 -0
  274. package/lib/mutations/personas.js +100 -0
  275. package/lib/mutations/posts.d.ts +2 -0
  276. package/lib/mutations/posts.js +53 -0
  277. package/lib/mutations/reactions.d.ts +2 -0
  278. package/lib/mutations/reactions.js +51 -0
  279. package/lib/mutations/statistics.d.ts +2 -0
  280. package/lib/mutations/statistics.js +39 -0
  281. package/lib/mutations/subscriptions.d.ts +2 -0
  282. package/lib/mutations/subscriptions.js +56 -0
  283. package/lib/mutations/tags.d.ts +2 -0
  284. package/lib/mutations/tags.js +120 -0
  285. package/lib/mutations/users.d.ts +1 -0
  286. package/lib/mutations/users.js +116 -0
  287. package/lib/objectTypes/app.d.ts +3 -0
  288. package/lib/objectTypes/app.js +173 -0
  289. package/lib/objectTypes/bankAccount.d.ts +1 -0
  290. package/lib/objectTypes/bankAccount.js +76 -0
  291. package/lib/objectTypes/connection.d.ts +1 -0
  292. package/lib/objectTypes/connection.js +48 -0
  293. package/lib/objectTypes/conversation.d.ts +2 -0
  294. package/lib/objectTypes/conversation.js +77 -0
  295. package/lib/objectTypes/creditCard.d.ts +1 -0
  296. package/lib/objectTypes/creditCard.js +86 -0
  297. package/lib/objectTypes/document.d.ts +1 -0
  298. package/lib/objectTypes/document.js +46 -0
  299. package/lib/objectTypes/error.d.ts +1 -0
  300. package/lib/objectTypes/error.js +46 -0
  301. package/lib/objectTypes/external.d.ts +1 -0
  302. package/lib/objectTypes/external.js +74 -0
  303. package/lib/objectTypes/file.d.ts +2 -0
  304. package/lib/objectTypes/file.js +100 -0
  305. package/lib/objectTypes/filter.d.ts +1 -0
  306. package/lib/objectTypes/filter.js +43 -0
  307. package/lib/objectTypes/group.d.ts +3 -0
  308. package/lib/objectTypes/group.js +123 -0
  309. package/lib/objectTypes/iapSubscription.d.ts +1 -0
  310. package/lib/objectTypes/iapSubscription.js +40 -0
  311. package/lib/objectTypes/image.d.ts +2 -0
  312. package/lib/objectTypes/image.js +129 -0
  313. package/lib/objectTypes/index.d.ts +24 -0
  314. package/lib/objectTypes/index.js +68 -0
  315. package/lib/objectTypes/location.d.ts +2 -0
  316. package/lib/objectTypes/location.js +109 -0
  317. package/lib/objectTypes/message.d.ts +2 -0
  318. package/lib/objectTypes/message.js +96 -0
  319. package/lib/objectTypes/passcode.d.ts +1 -0
  320. package/lib/objectTypes/passcode.js +42 -0
  321. package/lib/objectTypes/persona.d.ts +3 -0
  322. package/lib/objectTypes/persona.js +87 -0
  323. package/lib/objectTypes/plan.d.ts +2 -0
  324. package/lib/objectTypes/plan.js +95 -0
  325. package/lib/objectTypes/post.d.ts +2 -0
  326. package/lib/objectTypes/post.js +125 -0
  327. package/lib/objectTypes/reaction.d.ts +2 -0
  328. package/lib/objectTypes/reaction.js +61 -0
  329. package/lib/objectTypes/relation.d.ts +1 -0
  330. package/lib/objectTypes/relation.js +49 -0
  331. package/lib/objectTypes/search.d.ts +1 -0
  332. package/lib/objectTypes/search.js +72 -0
  333. package/lib/objectTypes/statistics.d.ts +1 -0
  334. package/lib/objectTypes/statistics.js +39 -0
  335. package/lib/objectTypes/subscription.d.ts +2 -0
  336. package/lib/objectTypes/subscription.js +117 -0
  337. package/lib/objectTypes/tag.d.ts +2 -0
  338. package/lib/objectTypes/tag.js +65 -0
  339. package/lib/objectTypes/user.d.ts +4 -0
  340. package/lib/objectTypes/user.js +144 -0
  341. package/lib/queries/index.d.ts +3 -0
  342. package/lib/queries/index.js +33 -0
  343. package/lib/queries/locations.d.ts +2 -0
  344. package/lib/queries/locations.js +45 -0
  345. package/lib/queries/messages.d.ts +2 -0
  346. package/lib/queries/messages.js +52 -0
  347. package/lib/queries/posts.d.ts +2 -0
  348. package/lib/queries/posts.js +154 -0
  349. package/lib/queries/reactions.d.ts +2 -0
  350. package/lib/queries/reactions.js +56 -0
  351. package/lib/queries/statistics.d.ts +2 -0
  352. package/lib/queries/statistics.js +39 -0
  353. package/lib/queries/subscriptions.d.ts +2 -0
  354. package/lib/queries/subscriptions.js +44 -0
  355. package/lib/queries/tags.d.ts +2 -0
  356. package/lib/queries/tags.js +75 -0
  357. package/lib/queries/users.d.ts +1 -0
  358. package/lib/queries/users.js +64 -0
  359. package/lib/types/{apps.d.ts → apps.types.d.ts} +19 -17
  360. package/lib/types/apps.types.js +32 -0
  361. package/lib/types/arangodb.types.d.ts +34 -0
  362. package/lib/types/arangodb.types.js +16 -0
  363. package/lib/types/auth.types.d.ts +9 -0
  364. package/lib/types/auth.types.js +16 -0
  365. package/lib/types/connections.types.d.ts +5 -0
  366. package/lib/types/connections.types.js +16 -0
  367. package/lib/types/conversations.types.d.ts +27 -0
  368. package/lib/types/conversations.types.js +16 -0
  369. package/lib/types/email.types.d.ts +13 -0
  370. package/lib/types/email.types.js +16 -0
  371. package/lib/types/error.types.d.ts +20 -0
  372. package/lib/types/error.types.js +44 -0
  373. package/lib/types/{files.d.ts → files.types.d.ts} +9 -12
  374. package/lib/types/files.types.js +16 -0
  375. package/lib/types/google.types.d.ts +29 -0
  376. package/lib/types/google.types.js +16 -0
  377. package/lib/types/{groups.d.ts → groups.types.d.ts} +6 -10
  378. package/lib/types/groups.types.js +16 -0
  379. package/lib/types/images.types.d.ts +52 -0
  380. package/lib/types/images.types.js +16 -0
  381. package/lib/types/index.d.ts +20 -18
  382. package/lib/types/index.js +41 -37
  383. package/lib/types/{locations.d.ts → locations.types.d.ts} +4 -6
  384. package/lib/types/locations.types.js +16 -0
  385. package/lib/types/messages.types.d.ts +16 -0
  386. package/lib/types/messages.types.js +16 -0
  387. package/lib/types/notifications.types.d.ts +19 -0
  388. package/lib/types/notifications.types.js +16 -0
  389. package/lib/types/{payments.d.ts → payments.types.d.ts} +13 -19
  390. package/lib/types/payments.types.js +16 -0
  391. package/lib/types/personas.types.d.ts +32 -0
  392. package/lib/types/personas.types.js +16 -0
  393. package/lib/types/posts.types.d.ts +28 -0
  394. package/lib/types/posts.types.js +16 -0
  395. package/lib/types/statistics.types.d.ts +3 -0
  396. package/lib/types/statistics.types.js +16 -0
  397. package/lib/types/tags.types.d.ts +15 -0
  398. package/lib/types/tags.types.js +16 -0
  399. package/lib/types/{users.d.ts → users.types.d.ts} +21 -22
  400. package/lib/types/users.types.js +16 -0
  401. package/lib/types/{websocket.d.ts → websockets.types.d.ts} +7 -3
  402. package/lib/types/websockets.types.js +16 -0
  403. package/lib/utils/adapterUtils.d.ts +1 -0
  404. package/lib/utils/adapterUtils.js +45 -0
  405. package/lib/utils/analyticsUtils.d.ts +21 -0
  406. package/lib/utils/analyticsUtils.js +72 -0
  407. package/lib/utils/arangodbUtils.d.ts +66 -0
  408. package/lib/utils/arangodbUtils.js +165 -0
  409. package/lib/utils/auth.d.ts +19 -3
  410. package/lib/utils/auth.js +20 -30
  411. package/lib/utils/index.d.ts +3 -4
  412. package/lib/utils/index.js +7 -9
  413. package/lib/utils/session.d.ts +10 -10
  414. package/lib/utils/session.js +15 -3
  415. package/lib/utils/stripeUtils.d.ts +3 -0
  416. package/lib/utils/{graphql.js → stripeUtils.js} +12 -15
  417. package/package.json +38 -30
  418. package/lib/types/apps.js +0 -16
  419. package/lib/types/arangodb.d.ts +0 -17
  420. package/lib/types/arangodb.js +0 -16
  421. package/lib/types/auth.d.ts +0 -7
  422. package/lib/types/connections.d.ts +0 -8
  423. package/lib/types/conversations.d.ts +0 -16
  424. package/lib/types/email.d.ts +0 -12
  425. package/lib/types/google.d.ts +0 -27
  426. package/lib/types/google.js +0 -16
  427. package/lib/types/images.d.ts +0 -42
  428. package/lib/types/images.js +0 -16
  429. package/lib/types/messages.d.ts +0 -27
  430. package/lib/types/messages.js +0 -16
  431. package/lib/types/notifications.d.ts +0 -19
  432. package/lib/types/payments.js +0 -16
  433. package/lib/types/posts.d.ts +0 -47
  434. package/lib/types/posts.js +0 -16
  435. package/lib/types/statistics.d.ts +0 -3
  436. package/lib/types/tags.d.ts +0 -15
  437. package/lib/types/users.js +0 -16
  438. package/lib/types/websocket.js +0 -16
  439. package/lib/utils/analytics.d.ts +0 -14
  440. package/lib/utils/analytics.js +0 -88
  441. package/lib/utils/arangodb.d.ts +0 -9
  442. package/lib/utils/arangodb.js +0 -118
  443. package/lib/utils/graphql.d.ts +0 -1
  444. package/lib/utils/objects.d.ts +0 -3
  445. package/lib/utils/objects.js +0 -59
@@ -1,8 +1,6 @@
1
- var __create = Object.create;
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
5
  var __export = (target, all) => {
8
6
  for (var name in all)
@@ -16,14 +14,6 @@ var __copyProps = (to, from, except, desc) => {
16
14
  }
17
15
  return to;
18
16
  };
19
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
- // If the importer is in node compatibility mode or this is not an ESM
21
- // file that has been converted to a CommonJS file using a Babel-
22
- // compatible transform (i.e. "__esModule" has not been set), then set
23
- // "default" to the CommonJS "module.exports" for node compatibility.
24
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
- mod
26
- ));
27
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
18
  var dynamodb_exports = {};
29
19
  __export(dynamodb_exports, {
@@ -33,14 +23,16 @@ __export(dynamodb_exports, {
33
23
  dynamoPut: () => dynamoPut,
34
24
  dynamoPutList: () => dynamoPutList,
35
25
  dynamoUpdate: () => dynamoUpdate,
36
- parseDynamo: () => parseDynamo
26
+ parseDynamoList: () => parseDynamoList
37
27
  });
38
28
  module.exports = __toCommonJS(dynamodb_exports);
39
- var import_aws_sdk = __toESM(require("aws-sdk"));
29
+ var import_client_dynamodb = require("@aws-sdk/client-dynamodb");
40
30
  var import_config = require("../config");
41
31
  const dynamoGet = (params) => new Promise((resolve, reject) => {
42
- import_aws_sdk.default.config.update(import_config.Config.get("aws"));
43
- const dynamodb = new import_aws_sdk.DynamoDB();
32
+ const dynamodb = new import_client_dynamodb.DynamoDB({
33
+ credentials: import_config.Config.get("aws.credentials"),
34
+ region: import_config.Config.get("aws.region")
35
+ });
44
36
  params.ConsistentRead = false;
45
37
  dynamodb.getItem(params, (error, results) => {
46
38
  if (error) {
@@ -49,8 +41,8 @@ const dynamoGet = (params) => new Promise((resolve, reject) => {
49
41
  return resolve(results);
50
42
  });
51
43
  });
52
- const parseDynamo = (results) => {
53
- const { Items: items } = results;
44
+ const parseDynamoList = (results) => {
45
+ const { Items: items = [] } = results;
54
46
  const data = [];
55
47
  for (let idx = 0, len = items.length; idx < len; idx++) {
56
48
  const tmp = items[idx];
@@ -71,22 +63,25 @@ const parseDynamo = (results) => {
71
63
  }
72
64
  return data;
73
65
  };
74
- const dynamoGetList = (params, index) => new Promise((resolve, reject) => {
75
- import_aws_sdk.default.config.update(import_config.Config.get("aws"));
76
- const dynamodb = new import_aws_sdk.DynamoDB();
66
+ const dynamoGetList = (params, startItem) => new Promise((resolve, reject) => {
67
+ const dynamodb = new import_client_dynamodb.DynamoDB({
68
+ credentials: import_config.Config.get("aws.credentials"),
69
+ region: import_config.Config.get("aws.region")
70
+ });
77
71
  const { ConsistentRead: consistentRead } = params;
78
72
  const updatedParams = { ...params };
79
- if (index) {
80
- updatedParams.ExclusiveStartKey = index;
73
+ if (startItem) {
74
+ updatedParams.ExclusiveStartKey = startItem;
81
75
  }
82
76
  if (!consistentRead) {
83
77
  updatedParams.ConsistentRead = false;
84
78
  }
79
+ const list = [];
85
80
  dynamodb.query(updatedParams, (error, output) => {
86
81
  if (error) {
87
82
  return reject(error);
88
83
  }
89
- const list = parseDynamo(output);
84
+ list.push(...parseDynamoList(output) || []);
90
85
  const { LastEvaluatedKey: lastKey } = output;
91
86
  if (lastKey !== void 0) {
92
87
  return dynamoGetList(params, lastKey);
@@ -95,8 +90,10 @@ const dynamoGetList = (params, index) => new Promise((resolve, reject) => {
95
90
  });
96
91
  });
97
92
  const dynamoPut = (params) => new Promise((resolve, reject) => {
98
- import_aws_sdk.default.config.update(import_config.Config.get("aws"));
99
- const dynamodb = new import_aws_sdk.DynamoDB();
93
+ const dynamodb = new import_client_dynamodb.DynamoDB({
94
+ credentials: import_config.Config.get("aws.credentials"),
95
+ region: import_config.Config.get("aws.region")
96
+ });
100
97
  dynamodb.putItem(params, (error, output) => {
101
98
  if (error) {
102
99
  return reject(error);
@@ -105,8 +102,10 @@ const dynamoPut = (params) => new Promise((resolve, reject) => {
105
102
  });
106
103
  });
107
104
  const dynamoUpdate = (params) => new Promise((resolve, reject) => {
108
- import_aws_sdk.default.config.update(import_config.Config.get("aws"));
109
- const dynamodb = new import_aws_sdk.DynamoDB();
105
+ const dynamodb = new import_client_dynamodb.DynamoDB({
106
+ credentials: import_config.Config.get("aws.credentials"),
107
+ region: import_config.Config.get("aws.region")
108
+ });
110
109
  dynamodb.updateItem(params, (error, output) => {
111
110
  if (error) {
112
111
  return reject(error);
@@ -115,8 +114,10 @@ const dynamoUpdate = (params) => new Promise((resolve, reject) => {
115
114
  });
116
115
  });
117
116
  const dynamoPutList = (params) => new Promise((resolve, reject) => {
118
- import_aws_sdk.default.config.update(import_config.Config.get("aws"));
119
- const dynamodb = new import_aws_sdk.DynamoDB();
117
+ const dynamodb = new import_client_dynamodb.DynamoDB({
118
+ credentials: import_config.Config.get("aws.credentials"),
119
+ region: import_config.Config.get("aws.region")
120
+ });
120
121
  dynamodb.batchWriteItem(params, (error, output) => {
121
122
  if (error) {
122
123
  return reject(error);
@@ -125,8 +126,10 @@ const dynamoPutList = (params) => new Promise((resolve, reject) => {
125
126
  });
126
127
  });
127
128
  const dynamoDel = (params) => new Promise((resolve, reject) => {
128
- import_aws_sdk.default.config.update(import_config.Config.get("aws"));
129
- const dynamodb = new import_aws_sdk.DynamoDB();
129
+ const dynamodb = new import_client_dynamodb.DynamoDB({
130
+ credentials: import_config.Config.get("aws.credentials"),
131
+ region: import_config.Config.get("aws.region")
132
+ });
130
133
  dynamodb.deleteItem(params, (error, output) => {
131
134
  if (error) {
132
135
  return reject(error);
@@ -142,6 +145,6 @@ const dynamoDel = (params) => new Promise((resolve, reject) => {
142
145
  dynamoPut,
143
146
  dynamoPutList,
144
147
  dynamoUpdate,
145
- parseDynamo
148
+ parseDynamoList
146
149
  });
147
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FjdGlvbnMvZHluYW1vZGIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE5LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQgYXdzLCB7RHluYW1vREJ9IGZyb20gJ2F3cy1zZGsnO1xuaW1wb3J0IHtcbiAgQmF0Y2hXcml0ZUl0ZW1JbnB1dCxcbiAgQmF0Y2hXcml0ZUl0ZW1PdXRwdXQsXG4gIERlbGV0ZUl0ZW1JbnB1dCxcbiAgRGVsZXRlSXRlbU91dHB1dCxcbiAgR2V0SXRlbUlucHV0LFxuICBHZXRJdGVtT3V0cHV0LFxuICBQdXRJdGVtSW5wdXQsXG4gIFB1dEl0ZW1PdXRwdXQsXG4gIFF1ZXJ5SW5wdXQsXG4gIFF1ZXJ5T3V0cHV0LFxuICBVcGRhdGVJdGVtSW5wdXQsXG4gIFVwZGF0ZUl0ZW1PdXRwdXRcbn0gZnJvbSAnYXdzLXNkay9jbGllbnRzL2R5bmFtb2RiJztcblxuaW1wb3J0IHtDb25maWd9IGZyb20gJy4uL2NvbmZpZyc7XG5cbi8vIGNvbnN0IGV2ZW50Q2F0ZWdvcnk6IHN0cmluZyA9ICdkeW5hbW9kYic7XG5cbmV4cG9ydCBjb25zdCBkeW5hbW9HZXQgPSAocGFyYW1zOiBHZXRJdGVtSW5wdXQpOiBQcm9taXNlPEdldEl0ZW1PdXRwdXQ+ID0+IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgYXdzLmNvbmZpZy51cGRhdGUoQ29uZmlnLmdldCgnYXdzJykpO1xuICBjb25zdCBkeW5hbW9kYjogRHluYW1vREIgPSBuZXcgRHluYW1vREIoKTtcbiAgcGFyYW1zLkNvbnNpc3RlbnRSZWFkID0gZmFsc2U7XG5cbiAgZHluYW1vZGIuZ2V0SXRlbShwYXJhbXMsIChlcnJvcjogRXJyb3IsIHJlc3VsdHM6IEdldEl0ZW1PdXRwdXQpID0+IHtcbiAgICBpZihlcnJvcikge1xuICAgICAgcmV0dXJuIHJlamVjdChlcnJvcik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc29sdmUocmVzdWx0cyk7XG4gIH0pO1xufSk7XG5cbmV4cG9ydCBjb25zdCBwYXJzZUR5bmFtbyA9IChyZXN1bHRzOiBRdWVyeU91dHB1dCk6IGFueVtdID0+IHtcbiAgY29uc3Qge0l0ZW1zOiBpdGVtc30gPSByZXN1bHRzO1xuICBjb25zdCBkYXRhOiBhbnlbXSA9IFtdO1xuXG4gIGZvcihsZXQgaWR4OiBudW1iZXIgPSAwLCBsZW4gPSBpdGVtcy5sZW5ndGg7IGlkeCA8IGxlbjsgaWR4KyspIHtcbiAgICBjb25zdCB0bXAgPSBpdGVtc1tpZHhdO1xuICAgIGNvbnN0IG9iaiA9IHt9O1xuICAgIGxldCBrZXk7XG5cbiAgICBmb3Ioa2V5IGluIHRtcCkge1xuICAgICAgaWYodG1wLmhhc093blByb3BlcnR5KGtleSkpIHtcbiAgICAgICAgaWYodG1wW2tleV0uUykge1xuICAgICAgICAgIG9ialtrZXldID0gdG1wW2tleV0uUy50b1N0cmluZygpO1xuICAgICAgICB9IGVsc2UgaWYodG1wW2tleV0uTikge1xuICAgICAgICAgIG9ialtrZXldID0gcGFyc2VGbG9hdCh0bXBba2V5XS5OKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBvYmpba2V5XSA9IHRtcFtrZXldLkI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBkYXRhLnB1c2gob2JqKTtcbiAgfVxuXG4gIHJldHVybiBkYXRhO1xufTtcblxuZXhwb3J0IGNvbnN0IGR5bmFtb0dldExpc3QgPSAocGFyYW1zOiBRdWVyeUlucHV0LCBpbmRleCk6IFByb21pc2U8R2V0SXRlbU91dHB1dFtdPiA9PiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gIGF3cy5jb25maWcudXBkYXRlKENvbmZpZy5nZXQoJ2F3cycpKTtcbiAgY29uc3QgZHluYW1vZGI6IER5bmFtb0RCID0gbmV3IER5bmFtb0RCKCk7XG4gIGNvbnN0IHtDb25zaXN0ZW50UmVhZDogY29uc2lzdGVudFJlYWR9ID0gcGFyYW1zO1xuICBjb25zdCB1cGRhdGVkUGFyYW1zID0gey4uLnBhcmFtc307XG5cbiAgaWYoaW5kZXgpIHtcbiAgICB1cGRhdGVkUGFyYW1zLkV4Y2x1c2l2ZVN0YXJ0S2V5ID0gaW5kZXg7XG4gIH1cblxuICBpZighY29uc2lzdGVudFJlYWQpIHtcbiAgICB1cGRhdGVkUGFyYW1zLkNvbnNpc3RlbnRSZWFkID0gZmFsc2U7XG4gIH1cblxuICBkeW5hbW9kYi5xdWVyeSh1cGRhdGVkUGFyYW1zLCAoZXJyb3I6IEVycm9yLCBvdXRwdXQ6IFF1ZXJ5T3V0cHV0KSA9PiB7XG4gICAgaWYoZXJyb3IpIHtcbiAgICAgIHJldHVybiByZWplY3QoZXJyb3IpO1xuICAgIH1cbiAgICAvLyBTYXZlIGxpc3Qgb2YgaXRlbXNcbiAgICBjb25zdCBsaXN0OiBhbnlbXSA9IHBhcnNlRHluYW1vKG91dHB1dCk7XG4gICAgY29uc3Qge0xhc3RFdmFsdWF0ZWRLZXk6IGxhc3RLZXl9ID0gb3V0cHV0O1xuXG4gICAgaWYobGFzdEtleSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAvLyBTYXZlIGxhc3QgaW5kZXggYmVmb3JlIGxvb3BpbmdcbiAgICAgIHJldHVybiBkeW5hbW9HZXRMaXN0KHBhcmFtcywgbGFzdEtleSk7XG4gICAgfVxuXG4gICAgLy8gUXVlcnkgY29tcGxldGUsIHJldHVybiBmaW5hbCBsaXN0XG4gICAgcmV0dXJuIHJlc29sdmUobGlzdCk7XG4gIH0pO1xufSk7XG5cbmV4cG9ydCBjb25zdCBkeW5hbW9QdXQgPSAocGFyYW1zOiBQdXRJdGVtSW5wdXQpOiBQcm9taXNlPFB1dEl0ZW1PdXRwdXQ+ID0+IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgYXdzLmNvbmZpZy51cGRhdGUoQ29uZmlnLmdldCgnYXdzJykpO1xuICBjb25zdCBkeW5hbW9kYjogRHluYW1vREIgPSBuZXcgRHluYW1vREIoKTtcblxuICBkeW5hbW9kYi5wdXRJdGVtKHBhcmFtcywgKGVycm9yLCBvdXRwdXQ6IFB1dEl0ZW1PdXRwdXQpID0+IHtcbiAgICBpZihlcnJvcikge1xuICAgICAgcmV0dXJuIHJlamVjdChlcnJvcik7XG4gICAgfVxuICAgIHJldHVybiByZXNvbHZlKG91dHB1dCk7XG4gIH0pO1xufSk7XG5cbmV4cG9ydCBjb25zdCBkeW5hbW9VcGRhdGUgPSAocGFyYW1zOiBVcGRhdGVJdGVtSW5wdXQpOiBQcm9taXNlPFVwZGF0ZUl0ZW1PdXRwdXQ+ID0+IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgYXdzLmNvbmZpZy51cGRhdGUoQ29uZmlnLmdldCgnYXdzJykpO1xuICBjb25zdCBkeW5hbW9kYjogRHluYW1vREIgPSBuZXcgRHluYW1vREIoKTtcblxuICBkeW5hbW9kYi51cGRhdGVJdGVtKHBhcmFtcywgKGVycm9yOiBFcnJvciwgb3V0cHV0OiBVcGRhdGVJdGVtT3V0cHV0KSA9PiB7XG4gICAgaWYoZXJyb3IpIHtcbiAgICAgIHJldHVybiByZWplY3QoZXJyb3IpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzb2x2ZShvdXRwdXQpO1xuICB9KTtcbn0pO1xuXG5leHBvcnQgY29uc3QgZHluYW1vUHV0TGlzdCA9IChwYXJhbXM6IEJhdGNoV3JpdGVJdGVtSW5wdXQpOiBQcm9taXNlPEJhdGNoV3JpdGVJdGVtT3V0cHV0PiA9PlxuICBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgYXdzLmNvbmZpZy51cGRhdGUoQ29uZmlnLmdldCgnYXdzJykpO1xuICAgIGNvbnN0IGR5bmFtb2RiOiBEeW5hbW9EQiA9IG5ldyBEeW5hbW9EQigpO1xuXG4gICAgZHluYW1vZGIuYmF0Y2hXcml0ZUl0ZW0ocGFyYW1zLCAoZXJyb3I6IEVycm9yLCBvdXRwdXQ6IEJhdGNoV3JpdGVJdGVtT3V0cHV0KSA9PiB7XG4gICAgICBpZihlcnJvcikge1xuICAgICAgICByZXR1cm4gcmVqZWN0KGVycm9yKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXNvbHZlKG91dHB1dCk7XG4gICAgfSk7XG4gIH0pO1xuXG5leHBvcnQgY29uc3QgZHluYW1vRGVsID0gKHBhcmFtczogRGVsZXRlSXRlbUlucHV0KTogUHJvbWlzZTxEZWxldGVJdGVtT3V0cHV0PiA9PiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gIGF3cy5jb25maWcudXBkYXRlKENvbmZpZy5nZXQoJ2F3cycpKTtcbiAgY29uc3QgZHluYW1vZGI6IER5bmFtb0RCID0gbmV3IER5bmFtb0RCKCk7XG5cbiAgZHluYW1vZGIuZGVsZXRlSXRlbShwYXJhbXMsIChlcnJvciwgb3V0cHV0OiBEZWxldGVJdGVtT3V0cHV0KSA9PiB7XG4gICAgaWYoZXJyb3IpIHtcbiAgICAgIHJldHVybiByZWplY3QoZXJyb3IpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzb2x2ZShvdXRwdXQpO1xuICB9KTtcbn0pO1xuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUlBLHFCQUE0QjtBQWdCNUIsb0JBQXFCO0FBSWQsTUFBTSxZQUFZLENBQUMsV0FBaUQsSUFBSSxRQUFRLENBQUMsU0FBUyxXQUFXO0FBQzFHLGlCQUFBQSxRQUFJLE9BQU8sT0FBTyxxQkFBTyxJQUFJLEtBQUssQ0FBQztBQUNuQyxRQUFNLFdBQXFCLElBQUksd0JBQVM7QUFDeEMsU0FBTyxpQkFBaUI7QUFFeEIsV0FBUyxRQUFRLFFBQVEsQ0FBQyxPQUFjLFlBQTJCO0FBQ2pFLFFBQUcsT0FBTztBQUNSLGFBQU8sT0FBTyxLQUFLO0FBQUEsSUFDckI7QUFFQSxXQUFPLFFBQVEsT0FBTztBQUFBLEVBQ3hCLENBQUM7QUFDSCxDQUFDO0FBRU0s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
150
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FjdGlvbnMvZHluYW1vZGIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE5LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQge1xuICBCYXRjaFdyaXRlSXRlbUNvbW1hbmRJbnB1dCxcbiAgQmF0Y2hXcml0ZUl0ZW1Db21tYW5kT3V0cHV0LFxuICBEZWxldGVJdGVtQ29tbWFuZElucHV0LFxuICBEZWxldGVJdGVtQ29tbWFuZE91dHB1dCxcbiAgRHluYW1vREIsXG4gIEdldEl0ZW1Db21tYW5kSW5wdXQsXG4gIEdldEl0ZW1Db21tYW5kT3V0cHV0LFxuICBQdXRJdGVtQ29tbWFuZElucHV0LFxuICBQdXRJdGVtQ29tbWFuZE91dHB1dCxcbiAgUXVlcnlDb21tYW5kSW5wdXQsXG4gIFF1ZXJ5Q29tbWFuZE91dHB1dCxcbiAgVXBkYXRlSXRlbUNvbW1hbmRJbnB1dCxcbiAgVXBkYXRlSXRlbUNvbW1hbmRPdXRwdXRcbn0gZnJvbSAnQGF3cy1zZGsvY2xpZW50LWR5bmFtb2RiJztcblxuaW1wb3J0IHtDb25maWd9IGZyb20gJy4uL2NvbmZpZyc7XG5cbi8vIGNvbnN0IGV2ZW50Q2F0ZWdvcnk6IHN0cmluZyA9ICdkeW5hbW9kYic7XG5leHBvcnQgY29uc3QgZHluYW1vR2V0ID0gKHBhcmFtczogR2V0SXRlbUNvbW1hbmRJbnB1dCk6IFByb21pc2U8R2V0SXRlbUNvbW1hbmRPdXRwdXQ+ID0+XG4gIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBjb25zdCBkeW5hbW9kYiA9IG5ldyBEeW5hbW9EQih7XG4gICAgICBjcmVkZW50aWFsczogQ29uZmlnLmdldCgnYXdzLmNyZWRlbnRpYWxzJyksXG4gICAgICByZWdpb246IENvbmZpZy5nZXQoJ2F3cy5yZWdpb24nKVxuICAgIH0pO1xuICAgIHBhcmFtcy5Db25zaXN0ZW50UmVhZCA9IGZhbHNlO1xuXG4gICAgZHluYW1vZGIuZ2V0SXRlbShwYXJhbXMsIChlcnJvcjogRXJyb3IsIHJlc3VsdHM6IEdldEl0ZW1Db21tYW5kT3V0cHV0KSA9PiB7XG4gICAgICBpZihlcnJvcikge1xuICAgICAgICByZXR1cm4gcmVqZWN0KGVycm9yKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHJlc29sdmUocmVzdWx0cyk7XG4gICAgfSk7XG4gIH0pO1xuXG5leHBvcnQgY29uc3QgcGFyc2VEeW5hbW9MaXN0ID0gKHJlc3VsdHM6IFF1ZXJ5Q29tbWFuZE91dHB1dCk6IGFueVtdID0+IHtcbiAgY29uc3Qge0l0ZW1zOiBpdGVtcyA9IFtdfSA9IHJlc3VsdHM7XG4gIGNvbnN0IGRhdGE6IGFueVtdID0gW107XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gIGZvcihsZXQgaWR4OiBudW1iZXIgPSAwLCBsZW4gPSBpdGVtcy5sZW5ndGg7IGlkeCA8IGxlbjsgaWR4KyspIHtcbiAgICBjb25zdCB0bXAgPSBpdGVtc1tpZHhdO1xuICAgIGNvbnN0IG9iaiA9IHt9O1xuICAgIGxldCBrZXk7XG5cbiAgICBmb3Ioa2V5IGluIHRtcCkge1xuICAgICAgaWYodG1wLmhhc093blByb3BlcnR5KGtleSkpIHtcbiAgICAgICAgaWYodG1wW2tleV0uUykge1xuICAgICAgICAgIG9ialtrZXldID0gdG1wW2tleV0uUy50b1N0cmluZygpO1xuICAgICAgICB9IGVsc2UgaWYodG1wW2tleV0uTikge1xuICAgICAgICAgIG9ialtrZXldID0gcGFyc2VGbG9hdCh0bXBba2V5XS5OKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBvYmpba2V5XSA9IHRtcFtrZXldLkI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBkYXRhLnB1c2gob2JqKTtcbiAgfVxuXG4gIHJldHVybiBkYXRhO1xufTtcblxuZXhwb3J0IGNvbnN0IGR5bmFtb0dldExpc3QgPSAocGFyYW1zOiBRdWVyeUNvbW1hbmRJbnB1dCwgc3RhcnRJdGVtPyk6IFByb21pc2U8R2V0SXRlbUNvbW1hbmRPdXRwdXRbXT4gPT5cbiAgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGNvbnN0IGR5bmFtb2RiID0gbmV3IER5bmFtb0RCKHtcbiAgICAgIGNyZWRlbnRpYWxzOiBDb25maWcuZ2V0KCdhd3MuY3JlZGVudGlhbHMnKSxcbiAgICAgIHJlZ2lvbjogQ29uZmlnLmdldCgnYXdzLnJlZ2lvbicpXG4gICAgfSk7XG4gICAgY29uc3Qge0NvbnNpc3RlbnRSZWFkOiBjb25zaXN0ZW50UmVhZH0gPSBwYXJhbXM7XG4gICAgY29uc3QgdXBkYXRlZFBhcmFtcyA9IHsuLi5wYXJhbXN9O1xuXG4gICAgaWYoc3RhcnRJdGVtKSB7XG4gICAgICB1cGRhdGVkUGFyYW1zLkV4Y2x1c2l2ZVN0YXJ0S2V5ID0gc3RhcnRJdGVtO1xuICAgIH1cblxuICAgIGlmKCFjb25zaXN0ZW50UmVhZCkge1xuICAgICAgdXBkYXRlZFBhcmFtcy5Db25zaXN0ZW50UmVhZCA9IGZhbHNlO1xuICAgIH1cblxuICAgIGNvbnN0IGxpc3QgPSBbXTtcblxuICAgIGR5bmFtb2RiLnF1ZXJ5KHVwZGF0ZWRQYXJhbXMsIChlcnJvcjogRXJyb3IsIG91dHB1dDogUXVlcnlDb21tYW5kT3V0cHV0KSA9PiB7XG4gICAgICBpZihlcnJvcikge1xuICAgICAgICByZXR1cm4gcmVqZWN0KGVycm9yKTtcbiAgICAgIH1cblxuICAgICAgbGlzdC5wdXNoKC4uLihwYXJzZUR5bmFtb0xpc3Qob3V0cHV0KSB8fCBbXSkpO1xuXG4gICAgICBjb25zdCB7TGFzdEV2YWx1YXRlZEtleTogbGFzdEtleX0gPSBvdXRwdXQ7XG5cbiAgICAgIGlmKGxhc3RLZXkgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICByZXR1cm4gZHluYW1vR2V0TGlzdChwYXJhbXMsIGxhc3RLZXkpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzb2x2ZShsaXN0KTtcbiAgICB9KTtcbiAgfSk7XG5cbmV4cG9ydCBjb25zdCBkeW5hbW9QdXQgPSAocGFyYW1zOiBQdXRJdGVtQ29tbWFuZElucHV0KTogUHJvbWlzZTxQdXRJdGVtQ29tbWFuZE91dHB1dD4gPT5cbiAgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGNvbnN0IGR5bmFtb2RiID0gbmV3IER5bmFtb0RCKHtcbiAgICAgIGNyZWRlbnRpYWxzOiBDb25maWcuZ2V0KCdhd3MuY3JlZGVudGlhbHMnKSxcbiAgICAgIHJlZ2lvbjogQ29uZmlnLmdldCgnYXdzLnJlZ2lvbicpXG4gICAgfSk7XG5cbiAgICBkeW5hbW9kYi5wdXRJdGVtKHBhcmFtcywgKGVycm9yLCBvdXRwdXQ6IFB1dEl0ZW1Db21tYW5kT3V0cHV0KSA9PiB7XG4gICAgICBpZihlcnJvcikge1xuICAgICAgICByZXR1cm4gcmVqZWN0KGVycm9yKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXNvbHZlKG91dHB1dCk7XG4gICAgfSk7XG4gIH0pO1xuXG5leHBvcnQgY29uc3QgZHluYW1vVXBkYXRlID0gKHBhcmFtczogVXBkYXRlSXRlbUNvbW1hbmRJbnB1dCk6IFByb21pc2U8VXBkYXRlSXRlbUNvbW1hbmRPdXRwdXQ+ID0+XG4gIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBjb25zdCBkeW5hbW9kYiA9IG5ldyBEeW5hbW9EQih7XG4gICAgICBjcmVkZW50aWFsczogQ29uZmlnLmdldCgnYXdzLmNyZWRlbnRpYWxzJyksXG4gICAgICByZWdpb246IENvbmZpZy5nZXQoJ2F3cy5yZWdpb24nKVxuICAgIH0pO1xuXG4gICAgZHluYW1vZGIudXBkYXRlSXRlbShwYXJhbXMsIChlcnJvcjogRXJyb3IsIG91dHB1dDogVXBkYXRlSXRlbUNvbW1hbmRPdXRwdXQpID0+IHtcbiAgICAgIGlmKGVycm9yKSB7XG4gICAgICAgIHJldHVybiByZWplY3QoZXJyb3IpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc29sdmUob3V0cHV0KTtcbiAgICB9KTtcbiAgfSk7XG5cbmV4cG9ydCBjb25zdCBkeW5hbW9QdXRMaXN0ID0gKHBhcmFtczogQmF0Y2hXcml0ZUl0ZW1Db21tYW5kSW5wdXQpOiBQcm9taXNlPEJhdGNoV3JpdGVJdGVtQ29tbWFuZE91dHB1dD4gPT5cbiAgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGNvbnN0IGR5bmFtb2RiID0gbmV3IER5bmFtb0RCKHtcbiAgICAgIGNyZWRlbnRpYWxzOiBDb25maWcuZ2V0KCdhd3MuY3JlZGVudGlhbHMnKSxcbiAgICAgIHJlZ2lvbjogQ29uZmlnLmdldCgnYXdzLnJlZ2lvbicpXG4gICAgfSk7XG5cbiAgICBkeW5hbW9kYi5iYXRjaFdyaXRlSXRlbShwYXJhbXMsIChlcnJvcjogRXJyb3IsIG91dHB1dDogQmF0Y2hXcml0ZUl0ZW1Db21tYW5kT3V0cHV0KSA9PiB7XG4gICAgICBpZihlcnJvcikge1xuICAgICAgICByZXR1cm4gcmVqZWN0KGVycm9yKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXNvbHZlKG91dHB1dCk7XG4gICAgfSk7XG4gIH0pO1xuXG5leHBvcnQgY29uc3QgZHluYW1vRGVsID0gKHBhcmFtczogRGVsZXRlSXRlbUNvbW1hbmRJbnB1dCk6IFByb21pc2U8RGVsZXRlSXRlbUNvbW1hbmRPdXRwdXQ+ID0+XG4gIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBjb25zdCBkeW5hbW9kYiA9IG5ldyBEeW5hbW9EQih7XG4gICAgICBjcmVkZW50aWFsczogQ29uZmlnLmdldCgnYXdzLmNyZWRlbnRpYWxzJyksXG4gICAgICByZWdpb246IENvbmZpZy5nZXQoJ2F3cy5yZWdpb24nKVxuICAgIH0pO1xuXG4gICAgZHluYW1vZGIuZGVsZXRlSXRlbShwYXJhbXMsIChlcnJvciwgb3V0cHV0OiBEZWxldGVJdGVtQ29tbWFuZE91dHB1dCkgPT4ge1xuICAgICAgaWYoZXJyb3IpIHtcbiAgICAgICAgcmV0dXJuIHJlamVjdChlcnJvcik7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzb2x2ZShvdXRwdXQpO1xuICAgIH0pO1xuICB9KTtcbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUlBLDZCQWNPO0FBRVAsb0JBQXFCO0FBR2QsTUFBTSxZQUFZLENBQUMsV0FDeEIsSUFBSSxRQUFRLENBQUMsU0FBUyxXQUFXO0FBQy9CLFFBQU0sV0FBVyxJQUFJLGdDQUFTO0FBQUEsSUFDNUIsYUFBYSxxQkFBTyxJQUFJLGlCQUFpQjtBQUFBLElBQ3pDLFFBQVEscUJBQU8sSUFBSSxZQUFZO0FBQUEsRUFDakMsQ0FBQztBQUNELFNBQU8saUJBQWlCO0FBRXhCLFdBQVMsUUFBUSxRQUFRLENBQUMsT0FBYyxZQUFrQztBQUN4RSxRQUFHLE9BQU87QUFDUixhQUFPLE9BQU8sS0FBSztBQUFBLElBQ3JCO0FBRUEsV0FBTyxRQUFRLE9BQU87QUFBQSxFQUN4QixDQUFDO0FBQ0gsQ0FBQztBQUVJLE1BQU0sa0JBQWtCLENBQUMsWUFBdUM7QUFDckUsUUFBTSxFQUFDLE9BQU8sUUFBUSxDQUFDLEVBQUMsSUFBSTtBQUM1QixRQUFNLE9BQWMsQ0FBQztBQUdyQixXQUFRLE1BQWMsR0FBRyxNQUFNLE1BQU0sUUFBUSxNQUFNLEtBQUssT0FBTztBQUM3RCxVQUFNLE1BQU0sTUFBTSxHQUFHO0FBQ3JCLFVBQU0sTUFBTSxDQUFDO0FBQ2IsUUFBSTtBQUVKLFNBQUksT0FBTyxLQUFLO0FBQ2QsVUFBRyxJQUFJLGVBQWUsR0FBRyxHQUFHO0FBQzFCLFlBQUcsSUFBSSxHQUFHLEVBQUUsR0FBRztBQUNiLGNBQUksR0FBRyxJQUFJLElBQUksR0FBRyxFQUFF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
@@ -1,7 +1,5 @@
1
- import { SendEmailRequest, SendEmailResponse } from 'aws-sdk/clients/ses';
2
- import { AppType } from '../types/apps';
3
- import { EmailType } from '../types/email';
4
- export declare const appTemplate: (app: AppType, message?: string, vars?: {}) => string;
5
- export declare const sesSend: (params: SendEmailRequest) => Promise<SendEmailResponse>;
1
+ import { SendEmailCommandInput, SendEmailCommandOutput } from '@aws-sdk/client-ses';
2
+ import { EmailType } from '../types/email.types';
3
+ export declare const sesSend: (params: SendEmailCommandInput) => Promise<SendEmailCommandOutput>;
6
4
  export declare const sendEmail: (params: EmailType) => Promise<boolean>;
7
5
  export declare const sendTemplate: (templateName: string, emailParams: EmailType) => Promise<boolean>;
@@ -27,39 +27,29 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
27
27
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
28
  var email_exports = {};
29
29
  __export(email_exports, {
30
- appTemplate: () => appTemplate,
31
30
  sendEmail: () => sendEmail,
32
31
  sendTemplate: () => sendTemplate,
33
32
  sesSend: () => sesSend
34
33
  });
35
34
  module.exports = __toCommonJS(email_exports);
36
- var import_aws_sdk = __toESM(require("aws-sdk"));
35
+ var import_client_ses = require("@aws-sdk/client-ses");
36
+ var import_utils = require("@nlabs/utils");
37
+ var import_s3 = require("./s3");
37
38
  var import_config = require("../config");
38
- var import_layout = __toESM(require("../templates/email/layout"));
39
- var import_passwordForgot = __toESM(require("../templates/email/passwordForgot"));
40
- var import_passwordRecovery = __toESM(require("../templates/email/passwordRecovery"));
41
- var import_verifyEmail = __toESM(require("../templates/email/verifyEmail"));
42
- var import_welcome = __toESM(require("../templates/email/welcome"));
43
- var import_passwordForgot2 = __toESM(require("../templates/sms/passwordForgot"));
44
- var import_passwordRecovery2 = __toESM(require("../templates/sms/passwordRecovery"));
45
- var import_verifyEmail2 = __toESM(require("../templates/sms/verifyEmail"));
46
- var import_welcome2 = __toESM(require("../templates/sms/welcome"));
47
- var import_s32 = require("./s3");
48
- const appTemplate = (app, message = "", vars = {}) => {
49
- let updatedMessage = "";
50
- if (app) {
51
- updatedMessage = message.replace(/\[appName\]/g, app.name).replace(/\[appUrl\]/g, app.url).replace(/\[appEmail\]/g, app.email);
52
- }
53
- Object.keys(vars).forEach((key) => {
54
- if (vars[key]) {
55
- updatedMessage = message.replace(new RegExp(`\\[${key}\\]`, "g"), vars[key]);
56
- }
57
- });
58
- return updatedMessage;
59
- };
39
+ var import_layout = __toESM(require("../templates/email/layout"), 1);
40
+ var import_passwordForgot = __toESM(require("../templates/email/passwordForgot"), 1);
41
+ var import_passwordRecovery = __toESM(require("../templates/email/passwordRecovery"), 1);
42
+ var import_verifyEmail = __toESM(require("../templates/email/verifyEmail"), 1);
43
+ var import_welcome = __toESM(require("../templates/email/welcome"), 1);
44
+ var import_passwordForgot2 = __toESM(require("../templates/sms/passwordForgot"), 1);
45
+ var import_passwordRecovery2 = __toESM(require("../templates/sms/passwordRecovery"), 1);
46
+ var import_verifyEmail2 = __toESM(require("../templates/sms/verifyEmail"), 1);
47
+ var import_welcome2 = __toESM(require("../templates/sms/welcome"), 1);
60
48
  const sesSend = (params) => new Promise((resolve, reject) => {
61
- import_aws_sdk.default.config.update(import_config.Config.get("aws"));
62
- const ses = new import_aws_sdk.SES();
49
+ const ses = new import_client_ses.SES({
50
+ credentials: import_config.Config.get("aws.credentials"),
51
+ region: import_config.Config.get("aws.region")
52
+ });
63
53
  ses.sendEmail(params, (error, response) => {
64
54
  if (error) {
65
55
  return reject(error);
@@ -69,45 +59,25 @@ const sesSend = (params) => new Promise((resolve, reject) => {
69
59
  });
70
60
  const sendEmail = (params) => {
71
61
  const {
72
- app = {},
73
- html,
62
+ app,
63
+ // html,
74
64
  subject,
75
- subTitle = "",
65
+ // subTitle = '',
76
66
  text,
77
- title = "",
78
- user = {}
67
+ // title = '',
68
+ user
79
69
  } = params;
80
70
  const to = [user.email];
81
71
  let promise;
82
- const formatSubject = appTemplate(app, subject);
83
- const formatSubTitle = appTemplate(app, subTitle);
84
- const formatTitle = appTemplate(app, title);
85
- const formatText = appTemplate(app, text);
86
- const formatHtml = appTemplate(app, html);
87
- const { _key: hasCustomEmail, urlFacebook, urlTwitter } = app;
88
- const parseTemplate = (body) => {
89
- const templateBody = appTemplate(app, body || "");
90
- let links = "";
91
- const spacer = '<td width="5"><img width="1" height="1" border="0" title="" alt="" src="https://box.reaktor.io/images/email/spacer.gif"/></td>';
92
- if (urlFacebook) {
93
- links = `<td width="30"><a href="${urlFacebook}"><img width="30" height="30" border="0" title="Facebook" alt="Facebook" src="https://box.reaktor.io/images/email/icon-facebook.png"/></a></td>`;
94
- }
95
- if (urlTwitter) {
96
- if (urlFacebook) {
97
- links += spacer;
98
- }
99
- links += `<td width="30"><a href="${urlTwitter}"><img width="30" height="30" border="0" title="Twitter" alt="Twitter" src="https://box.reaktor.io/images/email/icon-twitter.png"/></a></td>`;
100
- }
101
- if (!links.length) {
102
- links += spacer;
103
- }
104
- return templateBody.replace(/\[title\]/g, formatTitle).replace(/\[subTitle\]/g, formatSubTitle).replace(/\[subject\]/g, formatSubject).replace(/\[message\]/g, formatHtml).replace(/\[links\]/g, links);
105
- };
72
+ const { _key: hasCustomEmail } = app;
73
+ const variables = { ...app, ...user };
74
+ const formatSubject = (0, import_utils.parseTemplate)(subject, variables);
75
+ const formatText = (0, import_utils.parseTemplate)(text, variables);
106
76
  if (hasCustomEmail) {
107
77
  const s3Params = { Bucket: null, Key: "apps/templates/email.html" };
108
- promise = (0, import_s32.s3Get)(s3Params).then((results) => parseTemplate(results.Body.toString()));
78
+ promise = (0, import_s3.s3Get)(s3Params).then((results) => (0, import_utils.parseTemplate)(results.Body.toString(), variables));
109
79
  } else {
110
- promise = Promise.resolve(parseTemplate(import_layout.default));
80
+ promise = Promise.resolve((0, import_utils.parseTemplate)(import_layout.default, variables));
111
81
  }
112
82
  return promise.then((parsedHtml) => {
113
83
  const emailParams = {
@@ -119,13 +89,13 @@ const sendEmail = (params) => {
119
89
  },
120
90
  Subject: { Data: formatSubject }
121
91
  },
122
- Source: `"${app.supportName}" <noreply@${import_config.Config.get("app.url")}>`
92
+ Source: `"${app.supportName}" <noreply@${app.url}>`
123
93
  };
124
94
  return sesSend(emailParams);
125
95
  });
126
96
  };
127
97
  const sendTemplate = (templateName, emailParams) => {
128
- const { app, user, subject, subTitle, title, vars } = emailParams;
98
+ const { app, user, subject, subTitle, title } = emailParams;
129
99
  let html;
130
100
  let text;
131
101
  try {
@@ -156,8 +126,9 @@ const sendTemplate = (templateName, emailParams) => {
156
126
  break;
157
127
  }
158
128
  }
159
- const templateHtml = appTemplate(app, html, vars);
160
- const templateText = appTemplate(app, text, vars);
129
+ const variables = { ...app, ...user };
130
+ const templateHtml = (0, import_utils.parseTemplate)(html, variables);
131
+ const templateText = (0, import_utils.parseTemplate)(text, variables);
161
132
  const params = {
162
133
  app,
163
134
  html: templateHtml,
@@ -174,9 +145,8 @@ const sendTemplate = (templateName, emailParams) => {
174
145
  };
175
146
  // Annotate the CommonJS export names for ESM import in node:
176
147
  0 && (module.exports = {
177
- appTemplate,
178
148
  sendEmail,
179
149
  sendTemplate,
180
150
  sesSend
181
151
  });
182
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FjdGlvbnMvZW1haWwudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE5LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQgYXdzLCB7U0VTfSBmcm9tICdhd3Mtc2RrJztcbmltcG9ydCB7R2V0T2JqZWN0UmVxdWVzdH0gZnJvbSAnYXdzLXNkay9jbGllbnRzL3MzJztcbmltcG9ydCB7U2VuZEVtYWlsUmVxdWVzdCwgU2VuZEVtYWlsUmVzcG9uc2V9IGZyb20gJ2F3cy1zZGsvY2xpZW50cy9zZXMnO1xuXG5pbXBvcnQge0NvbmZpZ30gZnJvbSAnLi4vY29uZmlnJztcbmltcG9ydCBsYXlvdXRUZW1wbGF0ZSBmcm9tICcuLi90ZW1wbGF0ZXMvZW1haWwvbGF5b3V0JztcbmltcG9ydCBmb3Jnb3RFbWFpbFRlbXBsYXRlIGZyb20gJy4uL3RlbXBsYXRlcy9lbWFpbC9wYXNzd29yZEZvcmdvdCc7XG5pbXBvcnQgcmVjb3ZlcnlFbWFpbFRlbXBsYXRlIGZyb20gJy4uL3RlbXBsYXRlcy9lbWFpbC9wYXNzd29yZFJlY292ZXJ5JztcbmltcG9ydCB2ZXJpZnlFbWFpbFRlbXBsYXRlIGZyb20gJy4uL3RlbXBsYXRlcy9lbWFpbC92ZXJpZnlFbWFpbCc7XG5pbXBvcnQgd2VsY29tZUVtYWlsVGVtcGxhdGUgZnJvbSAnLi4vdGVtcGxhdGVzL2VtYWlsL3dlbGNvbWUnO1xuaW1wb3J0IGZvcmdvdFNtc1RlbXBsYXRlIGZyb20gJy4uL3RlbXBsYXRlcy9zbXMvcGFzc3dvcmRGb3Jnb3QnO1xuaW1wb3J0IHJlY292ZXJ5U21zVGVtcGxhdGUgZnJvbSAnLi4vdGVtcGxhdGVzL3Ntcy9wYXNzd29yZFJlY292ZXJ5JztcbmltcG9ydCB2ZXJpZnlTbXNUZW1wbGF0ZSBmcm9tICcuLi90ZW1wbGF0ZXMvc21zL3ZlcmlmeUVtYWlsJztcbmltcG9ydCB3ZWxjb21lU21zVGVtcGxhdGUgZnJvbSAnLi4vdGVtcGxhdGVzL3Ntcy93ZWxjb21lJztcbmltcG9ydCB7QXBwVHlwZX0gZnJvbSAnLi4vdHlwZXMvYXBwcyc7XG5pbXBvcnQge0VtYWlsVHlwZX0gZnJvbSAnLi4vdHlwZXMvZW1haWwnO1xuaW1wb3J0IHtzM0dldH0gZnJvbSAnLi9zMyc7XG5cbi8vIGNvbnN0IGV2ZW50Q2F0ZWdvcnk6IHN0cmluZyA9ICdlbWFpbCc7XG5cbmV4cG9ydCBjb25zdCBhcHBUZW1wbGF0ZSA9IChhcHA6IEFwcFR5cGUsIG1lc3NhZ2U6IHN0cmluZyA9ICcnLCB2YXJzID0ge30pOiBzdHJpbmcgPT4ge1xuICBsZXQgdXBkYXRlZE1lc3NhZ2U6IHN0cmluZyA9ICcnO1xuXG4gIGlmKGFwcCkge1xuICAgIHVwZGF0ZWRNZXNzYWdlID0gbWVzc2FnZS5yZXBsYWNlKC9cXFthcHBOYW1lXFxdL2csIGFwcC5uYW1lKVxuICAgICAgLnJlcGxhY2UoL1xcW2FwcFVybFxcXS9nLCBhcHAudXJsKVxuICAgICAgLnJlcGxhY2UoL1xcW2FwcEVtYWlsXFxdL2csIGFwcC5lbWFpbCk7XG4gIH1cblxuICBPYmplY3Qua2V5cyh2YXJzKS5mb3JFYWNoKChrZXk6IHN0cmluZykgPT4ge1xuICAgIGlmKHZhcnNba2V5XSkge1xuICAgICAgdXBkYXRlZE1lc3NhZ2UgPSBtZXNzYWdlLnJlcGxhY2UobmV3IFJlZ0V4cChgXFxcXFske2tleX1cXFxcXWAsICdnJyksIHZhcnNba2V5XSk7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gdXBkYXRlZE1lc3NhZ2U7XG59O1xuXG4vLyBBV1M6OlNFU1xuZXhwb3J0IGNvbnN0IHNlc1NlbmQgPSAocGFyYW1zOiBTZW5kRW1haWxSZXF1ZXN0KTogUHJvbWlzZTxTZW5kRW1haWxSZXNwb25zZT4gPT4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICBhd3MuY29uZmlnLnVwZGF0ZShDb25maWcuZ2V0KCdhd3MnKSk7XG4gIGNvbnN0IHNlczogU0VTID0gbmV3IFNFUygpO1xuXG4gIHNlcy5zZW5kRW1haWwocGFyYW1zLCAoZXJyb3I6IEVycm9yLCByZXNwb25zZTogU2VuZEVtYWlsUmVzcG9uc2UpID0+IHtcbiAgICBpZihlcnJvcikge1xuICAgICAgcmV0dXJuIHJlamVjdChlcnJvcik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc29sdmUocmVzcG9uc2UpO1xuICB9KTtcbn0pO1xuXG5leHBvcnQgY29uc3Qgc2VuZEVtYWlsID0gKHBhcmFtczogRW1haWxUeXBlKTogUHJvbWlzZTxib29sZWFuPiA9PiB7XG4gIGNvbnN0IHtcbiAgICBhcHAgPSB7fSxcbiAgICBodG1sLFxuICAgIHN1YmplY3QsXG4gICAgc3ViVGl0bGUgPSAnJyxcbiAgICB0ZXh0LFxuICAgIHRpdGxlID0gJycsXG4gICAgdXNlciA9IHt9XG4gIH0gPSBwYXJhbXM7XG5cbiAgY29uc3QgdG8gPSBbdXNlci5lbWFpbF07XG4gIGxldCBwcm9taXNlO1xuXG4gIGNvbnN0IGZvcm1hdFN1YmplY3Q6IHN0cmluZyA9IGFwcFRlbXBsYXRlKGFwcCwgc3ViamVjdCk7XG4gIGNvbnN0IGZvcm1hdFN1YlRpdGxlOiBzdHJpbmcgPSBhcHBUZW1wbGF0ZShhcHAsIHN1YlRpdGxlKTtcbiAgY29uc3QgZm9ybWF0VGl0bGU6IHN0cmluZyA9IGFwcFRlbXBsYXRlKGFwcCwgdGl0bGUpO1xuICBjb25zdCBmb3JtYXRUZXh0OiBzdHJpbmcgPSBhcHBUZW1wbGF0ZShhcHAsIHRleHQpO1xuICBjb25zdCBmb3JtYXRIdG1sOiBzdHJpbmcgPSBhcHBUZW1wbGF0ZShhcHAsIGh0bWwpO1xuICBjb25zdCB7X2tleTogaGFzQ3VzdG9tRW1haWwsIHVybEZhY2Vib29rLCB1cmxUd2l0dGVyfSA9IGFwcDtcblxuICBjb25zdCBwYXJzZVRlbXBsYXRlID0gKGJvZHk6IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IHRlbXBsYXRlQm9keTogc3RyaW5nID0gYXBwVGVtcGxhdGUoYXBwLCBib2R5IHx8ICcnKTtcblxuICAgIC8vIExpbmtzXG4gICAgbGV0IGxpbmtzOiBzdHJpbmcgPSAnJztcbiAgICBjb25zdCBzcGFjZXIgPSAnPHRkIHdpZHRoPVwiNVwiPjxpbWcgd2lkdGg9XCIxXCIgaGVpZ2h0PVwiMVwiIGJvcmRlcj1cIjBcIiB0aXRsZT1cIlwiIGFsdD1cIlwiICcgK1xuICAgICAgJ3NyYz1cImh0dHBzOi8vYm94LnJlYWt0b3IuaW8vaW1hZ2VzL2VtYWlsL3NwYWNlci5naWZcIi8+PC90ZD4nO1xuXG4gICAgaWYodXJsRmFjZWJvb2spIHtcbiAgICAgIGxpbmtzID0gYDx0ZCB3aWR0aD1cIjMwXCI+PGEgaHJlZj1cIiR7dXJsRmFjZWJvb2t9XCI+PGltZyB3aWR0aD1cIjMwXCIgaGVpZ2h0PVwiMzBcIiBib3JkZXI9XCIwXCIgYCArXG4gICAgICAgICd0aXRsZT1cIkZhY2Vib29rXCIgYWx0PVwiRmFjZWJvb2tcIiBzcmM9XCJodHRwczovL2JveC5yZWFrdG9yLmlvL2ltYWdlcy9lbWFpbC9pY29uLWZhY2Vib29rLnBuZ1wiLz48L2E+PC90ZD4nO1xuICAgIH1cblxuICAgIGlmKHVybFR3aXR0ZXIpIHtcbiAgICAgIGlmKHVybEZhY2Vib29rKSB7XG4gICAgICAgIGxpbmtzICs9IHNwYWNlcjtcbiAgICAgIH1cblxuICAgICAgbGlua3MgKz0gYDx0ZCB3aWR0aD1cIjMwXCI+PGEgaHJlZj1cIiR7dXJsVHdpdHRlcn1cIj48aW1nIHdpZHRoPVwiMzBcIiBoZWlnaHQ9XCIzMFwiIGJvcmRlcj1cIjBcIiBgICtcbiAgICAgICAgJ3RpdGxlPVwiVHdpdHRlclwiIGFsdD1cIlR3aXR0ZXJcIiBzcmM9XCJodHRwczovL2JveC5yZWFrdG9yLmlvL2ltYWdlcy9lbWFpbC9pY29uLXR3aXR0ZXIucG5nXCIvPjwvYT48L3RkPic7XG4gICAgfVxuXG4gICAgaWYoIWxpbmtzLmxlbmd0aCkge1xuICAgICAgbGlua3MgKz0gc3BhY2VyO1xuICAgIH1cblxuICAgIHJldHVybiB0ZW1wbGF0ZUJvZHkucmVwbGFjZSgvXFxbdGl0bGVcXF0vZywgZm9ybWF0VGl0bGUpXG4gICAgICAucmVwbGFjZSgvXFxbc3ViVGl0bGVcXF0vZywgZm9ybWF0U3ViVGl0bGUpXG4gICAgICAucmVwbGFjZSgvXFxbc3ViamVjdFxcXS9nLCBmb3JtYXRTdWJqZWN0KVxuICAgICAgLnJlcGxhY2UoL1xcW21lc3NhZ2VcXF0vZywgZm9ybWF0SHRtbClcbiAgICAgIC5yZXBsYWNlKC9cXFtsaW5rc1xcXS9nLCBsaW5rcyk7XG4gIH07XG5cbiAgaWYoaGFzQ3VzdG9tRW1haWwpIHtcbiAgICBjb25zdCBzM1BhcmFtczogR2V0T2JqZWN0UmVxdWVzdCA9IHtCdWNrZXQ6IG51bGwsIEtleTogJ2FwcHMvdGVtcGxhdGVzL2VtYWlsLmh0bWwnfTtcbiAgICBwcm9taXNlID0gczNHZXQoczNQYXJhbXMpLnRoZW4oKHJlc3VsdHMpID0+IHBhcnNlVGVtcGxhdGUocmVzdWx0cy5Cb2R5LnRvU3RyaW5nKCkpKTtcbiAgfSBlbHNlIHtcbiAgICBwcm9taXNlID0gUHJvbWlzZS5yZXNvbHZlKHBhcnNlVGVtcGxhdGUobGF5b3V0VGVtcGxhdGUpKTtcbiAgfVxuXG4gIHJldHVybiBwcm9taXNlLnRoZW4oKHBhcnNlZEh0bWw6IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IGVtYWlsUGFyYW1zOiBTZW5kRW1haWxSZXF1ZXN0ID0ge1xuICAgICAgRGVzdGluYXRpb246IHtUb0FkZHJlc3NlczogdG99LFxuICAgICAgTWVzc2FnZToge1xuICAgICAgICBCb2R5OiB7XG4gICAgICAgICAgSHRtbDoge0RhdGE6IHBhcnNlZEh0bWx9LFxuICAgICAgICAgIFRleHQ6IHtEYXRhOiBmb3JtYXRUZXh0fVxuICAgICAgICB9LFxuICAgICAgICBTdWJqZWN0OiB7RGF0YTogZm9ybWF0U3ViamVjdH1cbiAgICAgIH0sXG4gICAgICBTb3VyY2U6IGBcIiR7YXBwLnN1cHBvcnROYW1lfVwiIDxub3JlcGx5QCR7Q29uZmlnLmdldCgnYXBwLnVybCcpfT5gXG4gICAgfTtcblxuICAgIHJldHVybiBzZXNTZW5kKGVtYWlsUGFyYW1zKTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3Qgc2VuZFRlbXBsYXRlID0gKHRlbXBsYXRlTmFtZTogc3RyaW5nLCBlbWFpbFBhcmFtczogRW1haWxUeXBlKTogUHJvbWlzZTxib29sZWFuPiA9PiB7XG4gIGNvbnN0IHthcHAsIHVzZXIsIHN1YmplY3QsIHN1YlRpdGxlLCB0aXRsZSwgdmFyc306IEVtYWlsVHlwZSA9IGVtYWlsUGFyYW1zO1xuICBsZXQgaHRtbDogc3RyaW5nO1xuICBsZXQgdGV4dDogc3RyaW5nO1xuXG4gIHRyeSB7XG4gICAgc3dpdGNoKHRlbXBsYXRlTmFtZSkge1xuICAgICAgY2FzZSAncGFzc3dvcmRGb3Jnb3QnOiB7XG4gICAgICAgIGh0bWwgPSBmb3Jnb3RFbWFpbFRlbXBsYXRlO1xuICAgICAgICB0ZXh0ID0gZm9yZ290U21zVGVtcGxhdGU7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAncGFzc3dvcmRSZWNvdmVyeSc6IHtcbiAgICAgICAgaHRtbCA9IHJlY292ZXJ5RW1haWxUZW1wbGF0ZTtcbiAgICAgICAgdGV4dCA9IHJlY292ZXJ5U21zVGVtcGxhdGU7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAndmVyaWZ5UmVjb3ZlcnknOiB7XG4gICAgICAgIGh0bWwgPSB2ZXJpZnlFbWFpbFRlbXBsYXRlO1xuICAgICAgICB0ZXh0ID0gdmVyaWZ5U21zVGVtcGxhdGU7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAndmVyaWZ5RW1haWwnOiB7XG4gICAgICAgIGh0bWwgPSB2ZXJpZnlFbWFpbFRlbXBsYXRlO1xuICAgICAgICB0ZXh0ID0gdmVyaWZ5U21zVGVtcGxhdGU7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnd2VsY29tZSc6IHtcbiAgICAgICAgaHRtbCA9IHdlbGNvbWVFbWFpbFRlbXBsYXRlO1xuICAgICAgICB0ZXh0ID0gd2VsY29tZVNtc1RlbXBsYXRlO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCB0ZW1wbGF0ZUh0bWw6IHN0cmluZyA9IGFwcFRlbXBsYXRlKGFwcCwgaHRtbCwgdmFycyk7XG4gICAgY29uc3QgdGVtcGxhdGVUZXh0OiBzdHJpbmcgPSBhcHBUZW1wbGF0ZShhcHAsIHRleHQsIHZhcnMpO1xuXG4gICAgY29uc3QgcGFyYW1zID0ge1xuICAgICAgYXBwLFxuICAgICAgaHRtbDogdGVtcGxhdGVIdG1sLFxuICAgICAgc3ViVGl0bGUsXG4gICAgICBzdWJqZWN0LFxuICAgICAgdGV4dDogdGVtcGxhdGVUZXh0LFxuICAgICAgdGl0bGUsXG4gICAgICB1c2VyXG4gICAgfTtcblxuICAgIHJldHVybiBzZW5kRW1haWwocGFyYW1zKVxuICAgICAgLnRoZW4oKCkgPT4gdHJ1ZSlcbiAgICAgIC5jYXRjaCgoKSA9PiBmYWxzZSk7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoZXJyb3IpO1xuICB9XG59O1xuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUlBLHFCQUF1QjtBQUl2QixvQkFBcUI7QUFDckIsb0JBQTJCO0FBQzNCLDRCQUFnQztBQUNoQyw4QkFBa0M7QUFDbEMseUJBQWdDO0FBQ2hDLHFCQUFpQztBQUNqQyxJQUFBQSx5QkFBOEI7QUFDOUIsSUFBQUMsMkJBQWdDO0FBQ2hDLElBQUFDLHNCQUE4QjtBQUM5QixJQUFBQyxrQkFBK0I7QUFHL0IsSUFBQUMsYUFBb0I7QUFJYixNQUFNLGNBQWMsQ0FBQyxLQUFjLFVBQWtCLElBQUksT0FBTyxDQUFDLE1BQWM7QUFDcEYsTUFBSSxp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Q0EsUUFBUSxJQUFJLElBQUksV0FBVyxjQUFjLHFCQUFPLElBQUksU0FBUyxDQUFDO0FBQUEsSUFDaEU7QUFFQSxXQUFPLFFBQVEsV0FBVztBQUFBLEVBQzVCLENBQUM7QUFDSDtBQUVPLE1BQU0sZUFBZSxDQUFDLGNBQXNCLGdCQUE2QztBQUM5RixRQUFNLEVBQUMsS0FBSyxNQUFNLFNBQVMsVUFBVSxPQUFPLEtBQUksSUFBZTtBQUMvRCxNQUFJO0FBQ0osTUFBSTtBQUVKLE1BQUk7QUFDRixZQUFPLGNBQWM7QUFBQSxNQUNuQixLQUFLLGtCQUFrQjtBQUNyQixlQUFPLHNCQUFBQztBQUNQLGVBQU8sdUJBQUFDO0FBQ1A7QUFBQSxNQUNGO0FBQUEsTUFDQSxLQUFLLG9CQUFvQjtBQUN2QixlQUFPLHdCQUFBQztBQUNQLGVBQU8seUJBQUFDO0FBQ1A7QUFBQSxNQUNGO0FBQUEsTUFDQSxLQUFLLGtCQUFrQjtBQUNyQixlQUFPLG1CQUFBQztBQUNQLGVBQU8sb0JBQUFDO0FBQ1A7QUFBQSxNQUNGO0FBQUEsTUFDQSxLQUFLLGVBQWU7QUFDbEIsZUFBTyxtQkFBQUQ7QUFDUCxlQUFPLG9CQUFBQztBQUNQO0FBQUEsTUFDRjtBQUFBLE1BQ0EsS0FBSyxXQUFXO0FBQ2QsZUFBTyxlQUFBQztBQUNQLGVBQU8sZ0JBQUFDO0FBQ1A7QUFBQSxNQUNGO0FBQUEsSUFDRjtBQUVBLFVBQU0sZUFBdUIsWUFBWSxLQUFLLE1BQU0sSUFBSTtBQUN4RCxVQUFNLGVBQXVCLFlBQVksS0FBSyxNQUFNLElBQUk7QUFFeEQsVUFBTSxTQUFTO0FBQUEsTUFDYjtBQUFBLE1BQ0EsTUFBTTtBQUFBLE1BQ047QUFBQSxNQUNBO0FBQUEsTUFDQSxNQUFNO0FBQUEsTUFDTjtBQUFBLE1BQ0E7QUFBQSxJQUNGO0FBRUEsV0FBTyxVQUFVLE1BQU0sRUFDcEIsS0FBSyxNQUFNLElBQUksRUFDZixNQUFNLE1BQU0sS0FBSztBQUFBLEVBQ3RCLFNBQVEsT0FBTztBQUNiLFdBQU8sUUFBUSxPQUFPLEtBQUs7QUFBQSxFQUM3QjtBQUNGOyIsCiAgIm5hbWVzIjogWyJpbXBvcnRfcGFzc3dvcmRGb3Jnb3QiLCAiaW1wb3J0X3Bhc3N3b3JkUmVjb3ZlcnkiLCAiaW1wb3J0X3ZlcmlmeUVtYWlsIiwgImltcG9ydF93ZWxjb21lIiwgImltcG9ydF9zMyIsICJhd3MiLCAibGF5b3V0VGVtcGxhdGUiLCAiZm9yZ290RW1haWxUZW1wbGF0ZSIsICJmb3Jnb3RTbXNUZW1wbGF0ZSIsICJyZWNvdmVyeUVtYWlsVGVtcGxhdGUiLCAicmVjb3ZlcnlTbXNUZW1wbGF0ZSIsICJ2ZXJpZnlFbWFpbFRlbXBsYXRlIiwgInZlcmlmeVNtc1RlbXBsYXRlIiwgIndlbGNvbWVFbWFpbFRlbXBsYXRlIiwgIndlbGNvbWVTbXNUZW1wbGF0ZSJdCn0K
152
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FjdGlvbnMvZW1haWwudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE5LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQge0dldE9iamVjdENvbW1hbmRJbnB1dH0gZnJvbSAnQGF3cy1zZGsvY2xpZW50LXMzJztcbmltcG9ydCB7U2VuZEVtYWlsQ29tbWFuZElucHV0LCBTZW5kRW1haWxDb21tYW5kT3V0cHV0LCBTRVN9IGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1zZXMnO1xuaW1wb3J0IHtwYXJzZVRlbXBsYXRlfSBmcm9tICdAbmxhYnMvdXRpbHMnO1xuXG5pbXBvcnQge3MzR2V0fSBmcm9tICcuL3MzJztcbmltcG9ydCB7Q29uZmlnfSBmcm9tICcuLi9jb25maWcnO1xuaW1wb3J0IGxheW91dFRlbXBsYXRlIGZyb20gJy4uL3RlbXBsYXRlcy9lbWFpbC9sYXlvdXQnO1xuaW1wb3J0IGZvcmdvdEVtYWlsVGVtcGxhdGUgZnJvbSAnLi4vdGVtcGxhdGVzL2VtYWlsL3Bhc3N3b3JkRm9yZ290JztcbmltcG9ydCByZWNvdmVyeUVtYWlsVGVtcGxhdGUgZnJvbSAnLi4vdGVtcGxhdGVzL2VtYWlsL3Bhc3N3b3JkUmVjb3ZlcnknO1xuaW1wb3J0IHZlcmlmeUVtYWlsVGVtcGxhdGUgZnJvbSAnLi4vdGVtcGxhdGVzL2VtYWlsL3ZlcmlmeUVtYWlsJztcbmltcG9ydCB3ZWxjb21lRW1haWxUZW1wbGF0ZSBmcm9tICcuLi90ZW1wbGF0ZXMvZW1haWwvd2VsY29tZSc7XG5pbXBvcnQgZm9yZ290U21zVGVtcGxhdGUgZnJvbSAnLi4vdGVtcGxhdGVzL3Ntcy9wYXNzd29yZEZvcmdvdCc7XG5pbXBvcnQgcmVjb3ZlcnlTbXNUZW1wbGF0ZSBmcm9tICcuLi90ZW1wbGF0ZXMvc21zL3Bhc3N3b3JkUmVjb3ZlcnknO1xuaW1wb3J0IHZlcmlmeVNtc1RlbXBsYXRlIGZyb20gJy4uL3RlbXBsYXRlcy9zbXMvdmVyaWZ5RW1haWwnO1xuaW1wb3J0IHdlbGNvbWVTbXNUZW1wbGF0ZSBmcm9tICcuLi90ZW1wbGF0ZXMvc21zL3dlbGNvbWUnO1xuaW1wb3J0IHtFbWFpbFR5cGV9IGZyb20gJy4uL3R5cGVzL2VtYWlsLnR5cGVzJztcblxuLy8gY29uc3QgZXZlbnRDYXRlZ29yeTogc3RyaW5nID0gJ2VtYWlsJztcblxuLy8gQVdTOjpTRVNcbmV4cG9ydCBjb25zdCBzZXNTZW5kID0gKHBhcmFtczogU2VuZEVtYWlsQ29tbWFuZElucHV0KTogUHJvbWlzZTxTZW5kRW1haWxDb21tYW5kT3V0cHV0PiA9PlxuICBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgY29uc3Qgc2VzID0gbmV3IFNFUyh7XG4gICAgICBjcmVkZW50aWFsczogQ29uZmlnLmdldCgnYXdzLmNyZWRlbnRpYWxzJyksXG4gICAgICByZWdpb246IENvbmZpZy5nZXQoJ2F3cy5yZWdpb24nKVxuICAgIH0pO1xuXG4gICAgc2VzLnNlbmRFbWFpbChwYXJhbXMsIChlcnJvcjogRXJyb3IsIHJlc3BvbnNlOiBTZW5kRW1haWxDb21tYW5kT3V0cHV0KSA9PiB7XG4gICAgICBpZihlcnJvcikge1xuICAgICAgICByZXR1cm4gcmVqZWN0KGVycm9yKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHJlc29sdmUocmVzcG9uc2UpO1xuICAgIH0pO1xuICB9KTtcblxuZXhwb3J0IGNvbnN0IHNlbmRFbWFpbCA9IChwYXJhbXM6IEVtYWlsVHlwZSk6IFByb21pc2U8Ym9vbGVhbj4gPT4ge1xuICBjb25zdCB7XG4gICAgYXBwLFxuICAgIC8vIGh0bWwsXG4gICAgc3ViamVjdCxcbiAgICAvLyBzdWJUaXRsZSA9ICcnLFxuICAgIHRleHQsXG4gICAgLy8gdGl0bGUgPSAnJyxcbiAgICB1c2VyXG4gIH0gPSBwYXJhbXM7XG5cbiAgY29uc3QgdG8gPSBbdXNlci5lbWFpbF07XG4gIGxldCBwcm9taXNlO1xuICAvLyBjb25zdCB7X2tleTogaGFzQ3VzdG9tRW1haWwsIHVybEZhY2Vib29rLCB1cmxUd2l0dGVyfSA9IGFwcDtcbiAgY29uc3Qge19rZXk6IGhhc0N1c3RvbUVtYWlsfSA9IGFwcDtcbiAgY29uc3QgdmFyaWFibGVzID0gey4uLmFwcCwgLi4udXNlcn07XG5cbiAgY29uc3QgZm9ybWF0U3ViamVjdDogc3RyaW5nID0gcGFyc2VUZW1wbGF0ZShzdWJqZWN0LCB2YXJpYWJsZXMpO1xuICAvLyBjb25zdCBmb3JtYXRTdWJUaXRsZTogc3RyaW5nID0gcGFyc2VUZW1wbGF0ZShzdWJUaXRsZSwgdmFyaWFibGVzKTtcbiAgLy8gY29uc3QgZm9ybWF0VGl0bGU6IHN0cmluZyA9IHBhcnNlVGVtcGxhdGUodGl0bGUsIHZhcmlhYmxlcyk7XG4gIGNvbnN0IGZvcm1hdFRleHQ6IHN0cmluZyA9IHBhcnNlVGVtcGxhdGUodGV4dCwgdmFyaWFibGVzKTtcbiAgLy8gY29uc3QgZm9ybWF0SHRtbDogc3RyaW5nID0gcGFyc2VUZW1wbGF0ZShodG1sLCB2YXJpYWJsZXMpO1xuXG4gIC8vIGNvbnN0IHBhcnNlVGVtcGxhdGUyID0gKGJvZHk6IHN0cmluZykgPT4ge1xuICAvLyAgIGNvbnN0IHRlbXBsYXRlQm9keTogc3RyaW5nID0gcGFyc2VUZW1wbGF0ZShib2R5IHx8ICcnLCB2YXJpYWJsZXMpO1xuXG4gIC8vICAgLy8gTGlua3NcbiAgLy8gICBsZXQgbGlua3M6IHN0cmluZyA9ICcnO1xuICAvLyAgIGNvbnN0IHNwYWNlciA9ICc8dGQgd2lkdGg9XCI1XCI+PGltZyB3aWR0aD1cIjFcIiBoZWlnaHQ9XCIxXCIgYm9yZGVyPVwiMFwiIHRpdGxlPVwiXCIgYWx0PVwiXCIgJyArXG4gIC8vICAgICAnc3JjPVwiaHR0cHM6Ly9ib3gucmVha3Rvci5pby9pbWFnZXMvZW1haWwvc3BhY2VyLmdpZlwiLz48L3RkPic7XG5cbiAgLy8gICBpZih1cmxGYWNlYm9vaykge1xuICAvLyAgICAgbGlua3MgPSBgPHRkIHdpZHRoPVwiMzBcIj48YSBocmVmPVwiJHt1cmxGYWNlYm9va31cIj48aW1nIHdpZHRoPVwiMzBcIiBoZWlnaHQ9XCIzMFwiIGJvcmRlcj1cIjBcIiBgICtcbiAgLy8gICAgICAgJ3RpdGxlPVwiRmFjZWJvb2tcIiBhbHQ9XCJGYWNlYm9va1wiIHNyYz1cImh0dHBzOi8vYm94LnJlYWt0b3IuaW8vaW1hZ2VzL2VtYWlsL2ljb24tZmFjZWJvb2sucG5nXCIvPjwvYT48L3RkPic7XG4gIC8vICAgfVxuXG4gIC8vICAgaWYodXJsVHdpdHRlcikge1xuICAvLyAgICAgaWYodXJsRmFjZWJvb2spIHtcbiAgLy8gICAgICAgbGlua3MgKz0gc3BhY2VyO1xuICAvLyAgICAgfVxuXG4gIC8vICAgICBsaW5rcyArPSBgPHRkIHdpZHRoPVwiMzBcIj48YSBocmVmPVwiJHt1cmxUd2l0dGVyfVwiPjxpbWcgd2lkdGg9XCIzMFwiIGhlaWdodD1cIjMwXCIgYm9yZGVyPVwiMFwiIGAgK1xuICAvLyAgICAgICAndGl0bGU9XCJUd2l0dGVyXCIgYWx0PVwiVHdpdHRlclwiIHNyYz1cImh0dHBzOi8vYm94LnJlYWt0b3IuaW8vaW1hZ2VzL2VtYWlsL2ljb24tdHdpdHRlci5wbmdcIi8+PC9hPjwvdGQ+JztcbiAgLy8gICB9XG5cbiAgLy8gICBpZighbGlua3MubGVuZ3RoKSB7XG4gIC8vICAgICBsaW5rcyArPSBzcGFjZXI7XG4gIC8vICAgfVxuXG4gIC8vICAgcmV0dXJuIHRlbXBsYXRlQm9keS5yZXBsYWNlKC9cXFt0aXRsZVxcXS9nLCBmb3JtYXRUaXRsZSlcbiAgLy8gICAgIC5yZXBsYWNlKC9cXFtzdWJUaXRsZVxcXS9nLCBmb3JtYXRTdWJUaXRsZSlcbiAgLy8gICAgIC5yZXBsYWNlKC9cXFtzdWJqZWN0XFxdL2csIGZvcm1hdFN1YmplY3QpXG4gIC8vICAgICAucmVwbGFjZSgvXFxbbWVzc2FnZVxcXS9nLCBmb3JtYXRIdG1sKVxuICAvLyAgICAgLnJlcGxhY2UoL1xcW2xpbmtzXFxdL2csIGxpbmtzKTtcbiAgLy8gfTtcblxuICBpZihoYXNDdXN0b21FbWFpbCkge1xuICAgIGNvbnN0IHMzUGFyYW1zOiBHZXRPYmplY3RDb21tYW5kSW5wdXQgPSB7QnVja2V0OiBudWxsLCBLZXk6ICdhcHBzL3RlbXBsYXRlcy9lbWFpbC5odG1sJ307XG4gICAgcHJvbWlzZSA9IHMzR2V0KHMzUGFyYW1zKS50aGVuKChyZXN1bHRzKSA9PiBwYXJzZVRlbXBsYXRlKHJlc3VsdHMuQm9keS50b1N0cmluZygpLCB2YXJpYWJsZXMpKTtcbiAgfSBlbHNlIHtcbiAgICBwcm9taXNlID0gUHJvbWlzZS5yZXNvbHZlKHBhcnNlVGVtcGxhdGUobGF5b3V0VGVtcGxhdGUsIHZhcmlhYmxlcykpO1xuICB9XG5cbiAgcmV0dXJuIHByb21pc2UudGhlbigocGFyc2VkSHRtbDogc3RyaW5nKSA9PiB7XG4gICAgY29uc3QgZW1haWxQYXJhbXM6IFNlbmRFbWFpbENvbW1hbmRJbnB1dCA9IHtcbiAgICAgIERlc3RpbmF0aW9uOiB7VG9BZGRyZXNzZXM6IHRvfSxcbiAgICAgIE1lc3NhZ2U6IHtcbiAgICAgICAgQm9keToge1xuICAgICAgICAgIEh0bWw6IHtEYXRhOiBwYXJzZWRIdG1sfSxcbiAgICAgICAgICBUZXh0OiB7RGF0YTogZm9ybWF0VGV4dH1cbiAgICAgICAgfSxcbiAgICAgICAgU3ViamVjdDoge0RhdGE6IGZvcm1hdFN1YmplY3R9XG4gICAgICB9LFxuICAgICAgU291cmNlOiBgXCIke2FwcC5zdXBwb3J0TmFtZX1cIiA8bm9yZXBseUAke2FwcC51cmx9PmBcbiAgICB9O1xuXG4gICAgcmV0dXJuIHNlc1NlbmQoZW1haWxQYXJhbXMpO1xuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBzZW5kVGVtcGxhdGUgPSAodGVtcGxhdGVOYW1lOiBzdHJpbmcsIGVtYWlsUGFyYW1zOiBFbWFpbFR5cGUpOiBQcm9taXNlPGJvb2xlYW4+ID0+IHtcbiAgY29uc3Qge2FwcCwgdXNlciwgc3ViamVjdCwgc3ViVGl0bGUsIHRpdGxlfTogRW1haWxUeXBlID0gZW1haWxQYXJhbXM7XG4gIGxldCBodG1sOiBzdHJpbmc7XG4gIGxldCB0ZXh0OiBzdHJpbmc7XG5cbiAgdHJ5IHtcbiAgICBzd2l0Y2godGVtcGxhdGVOYW1lKSB7XG4gICAgICBjYXNlICdwYXNzd29yZEZvcmdvdCc6IHtcbiAgICAgICAgaHRtbCA9IGZvcmdvdEVtYWlsVGVtcGxhdGU7XG4gICAgICAgIHRleHQgPSBmb3Jnb3RTbXNUZW1wbGF0ZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdwYXNzd29yZFJlY292ZXJ5Jzoge1xuICAgICAgICBodG1sID0gcmVjb3ZlcnlFbWFpbFRlbXBsYXRlO1xuICAgICAgICB0ZXh0ID0gcmVjb3ZlcnlTbXNUZW1wbGF0ZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICd2ZXJpZnlSZWNvdmVyeSc6IHtcbiAgICAgICAgaHRtbCA9IHZlcmlmeUVtYWlsVGVtcGxhdGU7XG4gICAgICAgIHRleHQgPSB2ZXJpZnlTbXNUZW1wbGF0ZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICd2ZXJpZnlFbWFpbCc6IHtcbiAgICAgICAgaHRtbCA9IHZlcmlmeUVtYWlsVGVtcGxhdGU7XG4gICAgICAgIHRleHQgPSB2ZXJpZnlTbXNUZW1wbGF0ZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICd3ZWxjb21lJzoge1xuICAgICAgICBodG1sID0gd2VsY29tZUVtYWlsVGVtcGxhdGU7XG4gICAgICAgIHRleHQgPSB3ZWxjb21lU21zVGVtcGxhdGU7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHZhcmlhYmxlcyA9IHsuLi5hcHAsIC4uLnVzZXJ9O1xuICAgIGNvbnN0IHRlbXBsYXRlSHRtbDogc3RyaW5nID0gcGFyc2VUZW1wbGF0ZShodG1sLCB2YXJpYWJsZXMpO1xuICAgIGNvbnN0IHRlbXBsYXRlVGV4dDogc3RyaW5nID0gcGFyc2VUZW1wbGF0ZSh0ZXh0LCB2YXJpYWJsZXMpO1xuXG4gICAgY29uc3QgcGFyYW1zID0ge1xuICAgICAgYXBwLFxuICAgICAgaHRtbDogdGVtcGxhdGVIdG1sLFxuICAgICAgc3ViVGl0bGUsXG4gICAgICBzdWJqZWN0LFxuICAgICAgdGV4dDogdGVtcGxhdGVUZXh0LFxuICAgICAgdGl0bGUsXG4gICAgICB1c2VyXG4gICAgfTtcblxuICAgIHJldHVybiBzZW5kRW1haWwocGFyYW1zIGFzIEVtYWlsVHlwZSlcbiAgICAgIC50aGVuKCgpID0+IHRydWUpXG4gICAgICAuY2F0Y2goKCkgPT4gZmFsc2UpO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgcmV0dXJuIFByb21pc2UucmVqZWN0KGVycm9yKTtcbiAgfVxufTtcbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBS0Esd0JBQWlFO0FBQ2pFLG1CQUE0QjtBQUU1QixnQkFBb0I7QUFDcEIsb0JBQXFCO0FBQ3JCLG9CQUEyQjtBQUMzQiw0QkFBZ0M7QUFDaEMsOEJBQWtDO0FBQ2xDLHlCQUFnQztBQUNoQyxxQkFBaUM7QUFDakMsSUFBQUEseUJBQThCO0FBQzlCLElBQUFDLDJCQUFnQztBQUNoQyxJQUFBQyxzQkFBOEI7QUFDOUIsSUFBQUMsa0JBQStCO0FBTXhCLE1BQU0sVUFBVSxDQUFDLFdBQ3RCLElBQUksUUFBUSxDQUFDLFNBQVMsV0FBVztBQUMvQixRQUFNLE1BQU0sSUFBSSxzQkFBSTtBQUFBLElBQ2xCLGFBQWEscUJBQU8sSUFBSSxpQkFBaUI7QUFBQSxJQUN6QyxRQUFRLHFCQUFPLElBQUksWUFBWTtBQUFBLEVBQ2pDLENBQUM7QUFFRCxNQUFJLFVBQVUsUUFBUSxDQUFDLE9BQWMsYUFBcUM7QUFDeEUsUUFBRyxPQUFPO0FBQ1IsYUFBTyxPQUFPLEtBQUs7QUFBQSxJQUNyQjtBQUVBLFdBQU8sUUFBUSxRQUFRO0FBQUEsRUFDekIsQ0FBQztBQUNILENBQUM7QUFFSSxNQUFNLFlBQVksQ0FBQyxXQUF3QztBQUNoRSxRQUFNO0FBQUEsSUFDSjtBQUFBO0FBQUEsSUFFQTtBQUFBO0FBQUEsSUFFQTtBQUFBO0FBQUEsSUFFQTtBQUFBLEVBQ0YsSUFBSTtBQUVKLFFBQU0sS0FBSyxDQUFDLEtBQUssS0FBSztBQUN0QixNQUFJO0FBRUosUUFBTSxFQUFDLE1BQU0sZUFBYyxJQUFJO0FBQy9CLFFBQU0sWUFBWSxFQUFDLEdBQUcsS0FBSyxHQUFHLEtBQUk7QUFFbEMsUUFBTSxvQkFBd0IsNEJBQWMsU0FBUyxTQUFTO0FBRzlELFFBQU0saUJBQXFCLDRCQUFjLE1BQU0sU0FBUztBQW9DeEQsTUFBRyxnQkFBZ0I7QUFDakIsVUFBTSxXQUFrQyxFQUFDLFFBQVEsTUFBTSxLQUFLLDRCQUEyQjtBQUN2RixrQkFBVSxpQkFBTSxRQUFRLEVBQUUsS0FBSyxDQUFDLGdCQUFZLDRCQUFjLFFBQVEsS0FBSyxTQUFTLEdBQUcsU0FBUyxDQUFDO0FBQUEsRUFDL0YsT0FBTztBQUNMLGNBQVUsUUFBUSxZQUFRLDRCQUFjLGNBQUFDLFNBQWdCLFNBQVMsQ0FBQztBQUFBLEVBQ3BFO0FBRUEsU0FBTyxRQUFRLEtBQUssQ0FBQyxlQUF1QjtBQUMxQyxVQUFNLGNBQXFDO0FBQUEsTUFDekMsYUFBYSxFQUFDLGFBQWEsR0FBRTtBQUFBLE1BQzdCLFNBQVM7QUFBQSxRQUNQLE1BQU07QUFBQSxVQUNKLE1BQU0sRUFBQyxNQUFNLFdBQVU7QUFBQSxVQUN2QixNQUFNLEVBQUMsTUFBTSxXQUFVO0FBQUEsUUFDekI7QUFBQSxRQUNBLFNBQVMsRUFBQyxNQUFNLGNBQWE7QUFBQSxNQUMvQjtBQUFBLE1BQ0EsUUFBUSxJQUFJLElBQUksV0FBVyxjQUFjLElBQUksR0FBRztBQUFBLElBQ2xEO0FBRUEsV0FBTyxRQUFRLFdBQVc7QUFBQSxFQUM1QixDQUFDO0FBQ0g7QUFFTyxNQUFNLGVBQWUsQ0FBQyxjQUFzQixnQkFBNkM7QUFDOUYsUUFBTSxFQUFDLEtBQUssTUFBTSxTQUFTLFVBQVUsTUFBSyxJQUFlO0FBQ3pELE1BQUk7QUFDSixNQUFJO0FBRUosTUFBSTtBQUNGLFlBQU8sY0FBYztBQUFBLE1BQ25CLEtBQUssa0JBQWtCO0FBQ3JCLGVBQU8sc0JBQUFDO0FBQ1AsZUFBTyx1QkFBQUM7QUFDUDtBQUFBLE1BQ0Y7QUFBQSxNQUNBLEtBQUssb0JBQW9CO0FBQ3ZCLGVBQU8sd0JBQUFDO0FBQ1AsZUFBTyx5QkFBQUM7QUFDUDtBQUFBLE1BQ0Y7QUFBQSxNQUNBLEtBQUssa0JBQWtCO0FBQ3JCLGVBQU8sbUJBQUFDO0FBQ1AsZUFBTyxvQkFBQUM7QUFDUDtBQUFBLE1BQ0Y7QUFBQSxNQUNBLEtBQUssZUFBZTtBQUNsQixlQUFPLG1CQUFBRDtBQUNQLGVBQU8sb0JBQUFDO0FBQ1A7QUFBQSxNQUNGO0FBQUEsTUFDQSxLQUFLLFdBQVc7QUFDZCxlQUFPLGVBQUFDO0FBQ1AsZUFBTyxnQkFBQUM7QUFDUDtBQUFBLE1BQ0Y7QUFBQSxJQUNGO0FBRUEsVUFBTSxZQUFZLEVBQUMsR0FBRyxLQUFLLEdBQUcsS0FBSTtBQUNsQyxVQUFNLG1CQUF1Qiw0QkFBYyxNQUFNLFNBQVM7QUFDMUQsVUFBTSxtQkFBdUIsNEJBQWMsTUFBTSxTQUFTO0FBRTFELFVBQU0sU0FBUztBQUFBLE1BQ2I7QUFBQSxNQUNBLE1BQU07QUFBQSxNQUNOO0FBQUEsTUFDQTtBQUFBLE1BQ0EsTUFBTTtBQUFBLE1BQ047QUFBQSxNQUNBO0FBQUEsSUFDRjtBQUVBLFdBQU8sVUFBVSxNQUFtQixFQUNqQyxLQUFLLE1BQU0sSUFBSSxFQUNmLE1BQU0sTUFBTSxLQUFLO0FBQUEsRUFDdEIsU0FBUSxPQUFPO0FBQ2IsV0FBTyxRQUFRLE9BQU8sS0FBSztBQUFBLEVBQzdCO0FBQ0Y7IiwKICAibmFtZXMiOiBbImltcG9ydF9wYXNzd29yZEZvcmdvdCIsICJpbXBvcnRfcGFzc3dvcmRSZWNvdmVyeSIsICJpbXBvcnRfdmVyaWZ5RW1haWwiLCAiaW1wb3J0X3dlbGNvbWUiLCAibGF5b3V0VGVtcGxhdGUiLCAiZm9yZ290RW1haWxUZW1wbGF0ZSIsICJmb3Jnb3RTbXNUZW1wbGF0ZSIsICJyZWNvdmVyeUVtYWlsVGVtcGxhdGUiLCAicmVjb3ZlcnlTbXNUZW1wbGF0ZSIsICJ2ZXJpZnlFbWFpbFRlbXBsYXRlIiwgInZlcmlmeVNtc1RlbXBsYXRlIiwgIndlbGNvbWVFbWFpbFRlbXBsYXRlIiwgIndlbGNvbWVTbXNUZW1wbGF0ZSJdCn0K
@@ -1,16 +1,19 @@
1
- /// <reference types="node" />
2
- import { Database } from 'arangojs';
3
- import { ApiContext } from '../types/auth';
4
- import { FileType } from '../types/files';
5
- export declare const addFile: (context: ApiContext, item?: FileType) => Promise<FileType>;
6
- export declare const getGiphyTrends: (context: ApiContext, limit?: number) => Promise<any[]>;
7
- export declare const getGiphySearch: (context: ApiContext, query: string, limit?: number) => Promise<any[]>;
8
- export declare const getYouTubeTrends: (context: ApiContext, limit?: number) => Promise<any[]>;
9
- export declare const getYouTubeSearch: (context: ApiContext, query: string, limit?: number) => Promise<any[]>;
1
+ import { ImageType } from '../types';
2
+ import { ApiContext } from '../types/auth.types';
3
+ import { FileType } from '../types/files.types';
4
+ export declare const GIPHY_URL: string;
5
+ export declare const getYouTube: () => import("googleapis").youtube_v3.Youtube;
6
+ export declare const insertFile: (context: ApiContext, file: FileType) => Promise<any>;
7
+ export declare const upsertFile: (context: ApiContext, file: FileType) => Promise<FileType>;
8
+ export declare const uploadFile: (context: any, file: FileType, buffer: Buffer) => Promise<any>;
9
+ export declare const addFile: (context: ApiContext, file: FileType) => Promise<FileType>;
10
+ export declare const parseGiphyItem: (gifImage: any) => ImageType;
11
+ export declare const getGiphyTrends: (limit?: number) => Promise<ImageType[]>;
12
+ export declare const getGiphySearch: (query: string, limit?: number) => Promise<ImageType[]>;
13
+ export declare const getYouTubeTrends: (limit?: number) => Promise<any[]>;
14
+ export declare const getYouTubeSearch: (query: string, limit?: number) => Promise<any[]>;
10
15
  export declare const getPathUserFiles: (userId: string, filename: string) => string;
11
- export declare const getUrlUserFiles: (userId: string, filename: string, dir?: string, type?: string) => string;
12
- export declare const createFile: (db: Database, file: FileType) => Promise<FileType>;
13
- export declare const linkFiles: (db: Database, files: FileType[], postId: string) => Promise<any>;
14
- export declare const updateFiles: (db: Database, postId: string, files: FileType[]) => Promise<any>;
16
+ export declare const linkFiles: (context: ApiContext, postDocId: string, files: FileType[]) => Promise<any>;
17
+ export declare const updateFiles: (context: ApiContext, postDocId: string, files: FileType[]) => Promise<any>;
15
18
  export declare const encodeBase64: (buffer: Buffer) => string;
16
- export declare const decodeBase64: (dataString: string) => object;
19
+ export declare const decodeBase64: (dataString: string) => any;