@nlabs/reaktor 0.10.2 → 0.10.6

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 (472) hide show
  1. package/coverage/block-navigation.js +1 -1
  2. package/coverage/index.html +23 -23
  3. package/coverage/sorter.js +21 -7
  4. package/lib/actions/apps.d.ts +1 -0
  5. package/lib/actions/apps.d.ts.map +1 -0
  6. package/lib/actions/apps.js +218 -17
  7. package/lib/actions/connections.d.ts +1 -0
  8. package/lib/actions/connections.d.ts.map +1 -0
  9. package/lib/actions/connections.js +61 -6
  10. package/lib/actions/content.d.ts +1 -0
  11. package/lib/actions/content.d.ts.map +1 -0
  12. package/lib/actions/content.js +232 -9
  13. package/lib/actions/conversations.d.ts +1 -0
  14. package/lib/actions/conversations.d.ts.map +1 -0
  15. package/lib/actions/conversations.js +321 -19
  16. package/lib/actions/dynamodb.d.ts +1 -0
  17. package/lib/actions/dynamodb.d.ts.map +1 -0
  18. package/lib/actions/dynamodb.js +119 -2
  19. package/lib/actions/email.d.ts +1 -0
  20. package/lib/actions/email.d.ts.map +1 -0
  21. package/lib/actions/email.js +56 -2
  22. package/lib/actions/files.d.ts +1 -0
  23. package/lib/actions/files.d.ts.map +1 -0
  24. package/lib/actions/files.js +226 -5
  25. package/lib/actions/groups.d.ts +1 -0
  26. package/lib/actions/groups.d.ts.map +1 -0
  27. package/lib/actions/groups.js +234 -19
  28. package/lib/actions/images.d.ts +1 -0
  29. package/lib/actions/images.d.ts.map +1 -0
  30. package/lib/actions/images.js +688 -31
  31. package/lib/actions/index.d.ts +2 -0
  32. package/lib/actions/index.d.ts.map +1 -0
  33. package/lib/actions/index.js +29 -2
  34. package/lib/actions/ios.d.ts +1 -0
  35. package/lib/actions/ios.d.ts.map +1 -0
  36. package/lib/actions/ios.js +228 -9
  37. package/lib/actions/locations.d.ts +1 -0
  38. package/lib/actions/locations.d.ts.map +1 -0
  39. package/lib/actions/locations.js +111 -7
  40. package/lib/actions/messages.d.ts +1 -0
  41. package/lib/actions/messages.d.ts.map +1 -0
  42. package/lib/actions/messages.js +155 -21
  43. package/lib/actions/notifications.d.ts +1 -0
  44. package/lib/actions/notifications.d.ts.map +1 -0
  45. package/lib/actions/notifications.js +37 -2
  46. package/lib/actions/payments.d.ts +1 -0
  47. package/lib/actions/payments.d.ts.map +1 -0
  48. package/lib/actions/payments.js +428 -11
  49. package/lib/actions/posts.d.ts +1 -0
  50. package/lib/actions/posts.d.ts.map +1 -0
  51. package/lib/actions/posts.js +540 -75
  52. package/lib/actions/profiles.d.ts +1 -0
  53. package/lib/actions/profiles.d.ts.map +1 -0
  54. package/lib/actions/profiles.js +58 -8
  55. package/lib/actions/reactions.d.ts +1 -0
  56. package/lib/actions/reactions.d.ts.map +1 -0
  57. package/lib/actions/reactions.js +276 -25
  58. package/lib/actions/s3.d.ts +1 -0
  59. package/lib/actions/s3.d.ts.map +1 -0
  60. package/lib/actions/s3.js +102 -2
  61. package/lib/actions/search.d.ts +1 -0
  62. package/lib/actions/search.d.ts.map +1 -0
  63. package/lib/actions/search.js +81 -5
  64. package/lib/actions/sms.d.ts +1 -0
  65. package/lib/actions/sms.d.ts.map +1 -0
  66. package/lib/actions/sms.js +52 -2
  67. package/lib/actions/statistics.d.ts +1 -0
  68. package/lib/actions/statistics.d.ts.map +1 -0
  69. package/lib/actions/statistics.js +41 -6
  70. package/lib/actions/subscriptions.d.ts +1 -0
  71. package/lib/actions/subscriptions.d.ts.map +1 -0
  72. package/lib/actions/subscriptions.js +196 -6
  73. package/lib/actions/tags.d.ts +1 -0
  74. package/lib/actions/tags.d.ts.map +1 -0
  75. package/lib/actions/tags.js +258 -19
  76. package/lib/actions/users.d.ts +1 -0
  77. package/lib/actions/users.d.ts.map +1 -0
  78. package/lib/actions/users.js +781 -66
  79. package/lib/actions/videos.d.ts +26 -0
  80. package/lib/actions/videos.d.ts.map +1 -0
  81. package/lib/actions/videos.js +423 -0
  82. package/lib/actions/websockets.d.ts +1 -0
  83. package/lib/actions/websockets.d.ts.map +1 -0
  84. package/lib/actions/websockets.js +148 -14
  85. package/lib/adapters/arangoAdapter.d.ts +1 -0
  86. package/lib/adapters/arangoAdapter.d.ts.map +1 -0
  87. package/lib/adapters/arangoAdapter.js +70 -2
  88. package/lib/adapters/contentAdapter.d.ts +1 -0
  89. package/lib/adapters/contentAdapter.d.ts.map +1 -0
  90. package/lib/adapters/contentAdapter.js +108 -2
  91. package/lib/adapters/fileAdapter.d.ts +1 -0
  92. package/lib/adapters/fileAdapter.d.ts.map +1 -0
  93. package/lib/adapters/fileAdapter.js +119 -2
  94. package/lib/adapters/imageAdapter.d.ts +1 -0
  95. package/lib/adapters/imageAdapter.d.ts.map +1 -0
  96. package/lib/adapters/imageAdapter.js +112 -2
  97. package/lib/adapters/index.d.ts +1 -0
  98. package/lib/adapters/index.d.ts.map +1 -0
  99. package/lib/adapters/index.js +11 -2
  100. package/lib/adapters/messageAdapter.d.ts +1 -0
  101. package/lib/adapters/messageAdapter.d.ts.map +1 -0
  102. package/lib/adapters/messageAdapter.js +82 -2
  103. package/lib/adapters/postAdapter.d.ts +1 -0
  104. package/lib/adapters/postAdapter.d.ts.map +1 -0
  105. package/lib/adapters/postAdapter.js +117 -2
  106. package/lib/adapters/reaktorAdapter.d.ts +1 -0
  107. package/lib/adapters/reaktorAdapter.d.ts.map +1 -0
  108. package/lib/adapters/reaktorAdapter.js +59 -2
  109. package/lib/adapters/tagAdapter.d.ts +1 -0
  110. package/lib/adapters/tagAdapter.d.ts.map +1 -0
  111. package/lib/adapters/tagAdapter.js +99 -2
  112. package/lib/adapters/userAdapter.d.ts +1 -0
  113. package/lib/adapters/userAdapter.d.ts.map +1 -0
  114. package/lib/adapters/userAdapter.js +264 -2
  115. package/lib/config.d.ts +1 -0
  116. package/lib/config.d.ts.map +1 -0
  117. package/lib/config.js +161 -2
  118. package/lib/handlers/graphqlHandler.d.ts +1 -0
  119. package/lib/handlers/graphqlHandler.d.ts.map +1 -0
  120. package/lib/handlers/graphqlHandler.js +118 -2
  121. package/lib/index.d.ts +1 -0
  122. package/lib/index.d.ts.map +1 -0
  123. package/lib/index.js +18 -2
  124. package/lib/lambdas/actions/websockets.d.ts +1 -0
  125. package/lib/lambdas/actions/websockets.d.ts.map +1 -0
  126. package/lib/lambdas/actions/websockets.js +89 -14
  127. package/lib/lambdas/authorizer.d.ts +1 -0
  128. package/lib/lambdas/authorizer.d.ts.map +1 -0
  129. package/lib/lambdas/authorizer.js +41 -2
  130. package/lib/lambdas/connection.d.ts +1 -0
  131. package/lib/lambdas/connection.d.ts.map +1 -0
  132. package/lib/lambdas/connection.js +85 -2
  133. package/lib/lambdas/utils/message.d.ts +1 -0
  134. package/lib/lambdas/utils/message.d.ts.map +1 -0
  135. package/lib/lambdas/utils/message.js +20 -2
  136. package/lib/lambdas/utils/websocket.d.ts +1 -0
  137. package/lib/lambdas/utils/websocket.d.ts.map +1 -0
  138. package/lib/lambdas/utils/websocket.js +78 -2
  139. package/lib/mocks/conversation.d.ts +1 -0
  140. package/lib/mocks/conversation.d.ts.map +1 -0
  141. package/lib/mocks/conversation.js +10 -2
  142. package/lib/mocks/file.d.ts +1 -0
  143. package/lib/mocks/file.d.ts.map +1 -0
  144. package/lib/mocks/file.js +13 -2
  145. package/lib/mocks/group.d.ts +1 -0
  146. package/lib/mocks/group.d.ts.map +1 -0
  147. package/lib/mocks/group.js +20 -2
  148. package/lib/mocks/image.d.ts +1 -0
  149. package/lib/mocks/image.d.ts.map +1 -0
  150. package/lib/mocks/image.js +17 -2
  151. package/lib/mocks/post.d.ts +1 -0
  152. package/lib/mocks/post.d.ts.map +1 -0
  153. package/lib/mocks/post.js +28 -2
  154. package/lib/mocks/tag.d.ts +1 -0
  155. package/lib/mocks/tag.d.ts.map +1 -0
  156. package/lib/mocks/tag.js +12 -2
  157. package/lib/mocks/user.d.ts +1 -0
  158. package/lib/mocks/user.d.ts.map +1 -0
  159. package/lib/mocks/user.js +61 -2
  160. package/lib/mocks/video.d.ts +4 -0
  161. package/lib/mocks/video.d.ts.map +1 -0
  162. package/lib/mocks/video.js +17 -0
  163. package/lib/mutations/content.d.ts +1 -0
  164. package/lib/mutations/content.d.ts.map +1 -0
  165. package/lib/mutations/content.js +27 -2
  166. package/lib/mutations/index.d.ts +1 -0
  167. package/lib/mutations/index.d.ts.map +1 -0
  168. package/lib/mutations/index.js +29 -2
  169. package/lib/mutations/locations.d.ts +1 -0
  170. package/lib/mutations/locations.d.ts.map +1 -0
  171. package/lib/mutations/locations.js +22 -2
  172. package/lib/mutations/messages.d.ts +1 -0
  173. package/lib/mutations/messages.d.ts.map +1 -0
  174. package/lib/mutations/messages.js +75 -2
  175. package/lib/mutations/posts.d.ts +1 -0
  176. package/lib/mutations/posts.d.ts.map +1 -0
  177. package/lib/mutations/posts.js +31 -2
  178. package/lib/mutations/profiles.d.ts +1 -0
  179. package/lib/mutations/profiles.d.ts.map +1 -0
  180. package/lib/mutations/profiles.js +78 -2
  181. package/lib/mutations/reactions.d.ts +1 -0
  182. package/lib/mutations/reactions.d.ts.map +1 -0
  183. package/lib/mutations/reactions.js +29 -2
  184. package/lib/mutations/statistics.d.ts +1 -0
  185. package/lib/mutations/statistics.d.ts.map +1 -0
  186. package/lib/mutations/statistics.js +17 -2
  187. package/lib/mutations/subscriptions.d.ts +1 -0
  188. package/lib/mutations/subscriptions.d.ts.map +1 -0
  189. package/lib/mutations/subscriptions.js +38 -2
  190. package/lib/mutations/tags.d.ts +1 -0
  191. package/lib/mutations/tags.d.ts.map +1 -0
  192. package/lib/mutations/tags.js +109 -2
  193. package/lib/mutations/users.d.ts +1 -0
  194. package/lib/mutations/users.d.ts.map +1 -0
  195. package/lib/mutations/users.js +129 -2
  196. package/lib/objectTypes/app.d.ts +1 -0
  197. package/lib/objectTypes/app.d.ts.map +1 -0
  198. package/lib/objectTypes/app.js +147 -2
  199. package/lib/objectTypes/bankAccount.d.ts +1 -0
  200. package/lib/objectTypes/bankAccount.d.ts.map +1 -0
  201. package/lib/objectTypes/bankAccount.js +54 -2
  202. package/lib/objectTypes/connection.d.ts +1 -0
  203. package/lib/objectTypes/connection.d.ts.map +1 -0
  204. package/lib/objectTypes/connection.js +26 -2
  205. package/lib/objectTypes/content.d.ts +1 -0
  206. package/lib/objectTypes/content.d.ts.map +1 -0
  207. package/lib/objectTypes/content.js +79 -2
  208. package/lib/objectTypes/conversation.d.ts +1 -0
  209. package/lib/objectTypes/conversation.d.ts.map +1 -0
  210. package/lib/objectTypes/conversation.js +53 -2
  211. package/lib/objectTypes/creditCard.d.ts +1 -0
  212. package/lib/objectTypes/creditCard.d.ts.map +1 -0
  213. package/lib/objectTypes/creditCard.js +64 -2
  214. package/lib/objectTypes/document.d.ts +1 -0
  215. package/lib/objectTypes/document.d.ts.map +1 -0
  216. package/lib/objectTypes/document.js +21 -2
  217. package/lib/objectTypes/error.d.ts +1 -0
  218. package/lib/objectTypes/error.d.ts.map +1 -0
  219. package/lib/objectTypes/error.js +24 -2
  220. package/lib/objectTypes/external.d.ts +1 -0
  221. package/lib/objectTypes/external.d.ts.map +1 -0
  222. package/lib/objectTypes/external.js +52 -2
  223. package/lib/objectTypes/file.d.ts +1 -0
  224. package/lib/objectTypes/file.d.ts.map +1 -0
  225. package/lib/objectTypes/file.js +76 -2
  226. package/lib/objectTypes/filter.d.ts +1 -0
  227. package/lib/objectTypes/filter.d.ts.map +1 -0
  228. package/lib/objectTypes/filter.js +21 -2
  229. package/lib/objectTypes/group.d.ts +1 -0
  230. package/lib/objectTypes/group.d.ts.map +1 -0
  231. package/lib/objectTypes/group.js +97 -2
  232. package/lib/objectTypes/iapSubscription.d.ts +1 -0
  233. package/lib/objectTypes/iapSubscription.d.ts.map +1 -0
  234. package/lib/objectTypes/iapSubscription.js +18 -2
  235. package/lib/objectTypes/image.d.ts +1 -0
  236. package/lib/objectTypes/image.d.ts.map +1 -0
  237. package/lib/objectTypes/image.js +105 -2
  238. package/lib/objectTypes/index.d.ts +1 -0
  239. package/lib/objectTypes/index.d.ts.map +1 -0
  240. package/lib/objectTypes/index.js +28 -2
  241. package/lib/objectTypes/location.d.ts +1 -0
  242. package/lib/objectTypes/location.d.ts.map +1 -0
  243. package/lib/objectTypes/location.js +85 -2
  244. package/lib/objectTypes/message.d.ts +1 -0
  245. package/lib/objectTypes/message.d.ts.map +1 -0
  246. package/lib/objectTypes/message.js +72 -2
  247. package/lib/objectTypes/passcode.d.ts +1 -0
  248. package/lib/objectTypes/passcode.d.ts.map +1 -0
  249. package/lib/objectTypes/passcode.js +20 -2
  250. package/lib/objectTypes/plan.d.ts +1 -0
  251. package/lib/objectTypes/plan.d.ts.map +1 -0
  252. package/lib/objectTypes/plan.js +71 -2
  253. package/lib/objectTypes/post.d.ts +1 -0
  254. package/lib/objectTypes/post.d.ts.map +1 -0
  255. package/lib/objectTypes/post.js +101 -2
  256. package/lib/objectTypes/profile.d.ts +1 -0
  257. package/lib/objectTypes/profile.d.ts.map +1 -0
  258. package/lib/objectTypes/profile.js +68 -2
  259. package/lib/objectTypes/reaction.d.ts +1 -0
  260. package/lib/objectTypes/reaction.d.ts.map +1 -0
  261. package/lib/objectTypes/reaction.js +37 -2
  262. package/lib/objectTypes/relation.d.ts +1 -0
  263. package/lib/objectTypes/relation.d.ts.map +1 -0
  264. package/lib/objectTypes/relation.js +27 -2
  265. package/lib/objectTypes/search.d.ts +1 -0
  266. package/lib/objectTypes/search.d.ts.map +1 -0
  267. package/lib/objectTypes/search.js +50 -2
  268. package/lib/objectTypes/statistics.d.ts +1 -0
  269. package/lib/objectTypes/statistics.d.ts.map +1 -0
  270. package/lib/objectTypes/statistics.js +17 -2
  271. package/lib/objectTypes/subscription.d.ts +1 -0
  272. package/lib/objectTypes/subscription.d.ts.map +1 -0
  273. package/lib/objectTypes/subscription.js +102 -2
  274. package/lib/objectTypes/tag.d.ts +1 -0
  275. package/lib/objectTypes/tag.d.ts.map +1 -0
  276. package/lib/objectTypes/tag.js +41 -2
  277. package/lib/objectTypes/user.d.ts +1 -0
  278. package/lib/objectTypes/user.d.ts.map +1 -0
  279. package/lib/objectTypes/user.js +111 -2
  280. package/lib/queries/content.d.ts +1 -0
  281. package/lib/queries/content.d.ts.map +1 -0
  282. package/lib/queries/content.js +50 -2
  283. package/lib/queries/index.d.ts +1 -0
  284. package/lib/queries/index.d.ts.map +1 -0
  285. package/lib/queries/index.js +27 -2
  286. package/lib/queries/locations.d.ts +1 -0
  287. package/lib/queries/locations.d.ts.map +1 -0
  288. package/lib/queries/locations.js +23 -2
  289. package/lib/queries/messages.d.ts +1 -0
  290. package/lib/queries/messages.d.ts.map +1 -0
  291. package/lib/queries/messages.js +35 -2
  292. package/lib/queries/posts.d.ts +1 -0
  293. package/lib/queries/posts.d.ts.map +1 -0
  294. package/lib/queries/posts.js +154 -2
  295. package/lib/queries/reactions.d.ts +1 -0
  296. package/lib/queries/reactions.d.ts.map +1 -0
  297. package/lib/queries/reactions.js +34 -2
  298. package/lib/queries/statistics.d.ts +1 -0
  299. package/lib/queries/statistics.d.ts.map +1 -0
  300. package/lib/queries/statistics.js +17 -2
  301. package/lib/queries/subscriptions.d.ts +1 -0
  302. package/lib/queries/subscriptions.d.ts.map +1 -0
  303. package/lib/queries/subscriptions.js +21 -2
  304. package/lib/queries/tags.d.ts +1 -0
  305. package/lib/queries/tags.d.ts.map +1 -0
  306. package/lib/queries/tags.js +56 -2
  307. package/lib/queries/users.d.ts +1 -0
  308. package/lib/queries/users.d.ts.map +1 -0
  309. package/lib/queries/users.js +39 -2
  310. package/lib/templates/email/layout.d.ts +1 -0
  311. package/lib/templates/email/layout.d.ts.map +1 -0
  312. package/lib/templates/email/layout.js +4 -3
  313. package/lib/templates/email/passwordForgot.d.ts +1 -0
  314. package/lib/templates/email/passwordForgot.d.ts.map +1 -0
  315. package/lib/templates/email/passwordForgot.js +4 -3
  316. package/lib/templates/email/passwordRecovery.d.ts +1 -0
  317. package/lib/templates/email/passwordRecovery.d.ts.map +1 -0
  318. package/lib/templates/email/passwordRecovery.js +4 -3
  319. package/lib/templates/email/verifyEmail.d.ts +1 -0
  320. package/lib/templates/email/verifyEmail.d.ts.map +1 -0
  321. package/lib/templates/email/verifyEmail.js +4 -3
  322. package/lib/templates/email/welcome.d.ts +1 -0
  323. package/lib/templates/email/welcome.d.ts.map +1 -0
  324. package/lib/templates/email/welcome.js +4 -3
  325. package/lib/templates/sms/passwordForgot.d.ts +1 -0
  326. package/lib/templates/sms/passwordForgot.d.ts.map +1 -0
  327. package/lib/templates/sms/passwordForgot.js +3 -2
  328. package/lib/templates/sms/passwordRecovery.d.ts +1 -0
  329. package/lib/templates/sms/passwordRecovery.d.ts.map +1 -0
  330. package/lib/templates/sms/passwordRecovery.js +3 -2
  331. package/lib/templates/sms/verifyEmail.d.ts +1 -0
  332. package/lib/templates/sms/verifyEmail.d.ts.map +1 -0
  333. package/lib/templates/sms/verifyEmail.js +3 -2
  334. package/lib/templates/sms/verifyPhone.d.ts +1 -0
  335. package/lib/templates/sms/verifyPhone.d.ts.map +1 -0
  336. package/lib/templates/sms/verifyPhone.js +3 -2
  337. package/lib/templates/sms/welcome.d.ts +1 -0
  338. package/lib/templates/sms/welcome.d.ts.map +1 -0
  339. package/lib/templates/sms/welcome.js +3 -2
  340. package/lib/types/apps.types.d.ts +1 -0
  341. package/lib/types/apps.types.d.ts.map +1 -0
  342. package/lib/types/apps.types.js +10 -2
  343. package/lib/types/arangodb.types.d.ts +2 -1
  344. package/lib/types/arangodb.types.d.ts.map +1 -0
  345. package/lib/types/arangodb.types.js +6 -1
  346. package/lib/types/auth.types.d.ts +1 -0
  347. package/lib/types/auth.types.d.ts.map +1 -0
  348. package/lib/types/auth.types.js +6 -1
  349. package/lib/types/connections.types.d.ts +1 -0
  350. package/lib/types/connections.types.d.ts.map +1 -0
  351. package/lib/types/connections.types.js +6 -1
  352. package/lib/types/content.types.d.ts +1 -0
  353. package/lib/types/content.types.d.ts.map +1 -0
  354. package/lib/types/content.types.js +6 -1
  355. package/lib/types/conversations.types.d.ts +1 -0
  356. package/lib/types/conversations.types.d.ts.map +1 -0
  357. package/lib/types/conversations.types.js +6 -1
  358. package/lib/types/email.types.d.ts +1 -0
  359. package/lib/types/email.types.d.ts.map +1 -0
  360. package/lib/types/email.types.js +6 -1
  361. package/lib/types/error.types.d.ts +1 -0
  362. package/lib/types/error.types.d.ts.map +1 -0
  363. package/lib/types/error.types.js +20 -2
  364. package/lib/types/files.types.d.ts +1 -0
  365. package/lib/types/files.types.d.ts.map +1 -0
  366. package/lib/types/files.types.js +6 -1
  367. package/lib/types/google.types.d.ts +1 -0
  368. package/lib/types/google.types.d.ts.map +1 -0
  369. package/lib/types/google.types.js +6 -1
  370. package/lib/types/groups.types.d.ts +1 -0
  371. package/lib/types/groups.types.d.ts.map +1 -0
  372. package/lib/types/groups.types.js +6 -1
  373. package/lib/types/images.types.d.ts +1 -0
  374. package/lib/types/images.types.d.ts.map +1 -0
  375. package/lib/types/images.types.js +6 -1
  376. package/lib/types/index.d.ts +2 -0
  377. package/lib/types/index.d.ts.map +1 -0
  378. package/lib/types/index.js +28 -2
  379. package/lib/types/locations.types.d.ts +1 -0
  380. package/lib/types/locations.types.d.ts.map +1 -0
  381. package/lib/types/locations.types.js +6 -1
  382. package/lib/types/messages.types.d.ts +1 -0
  383. package/lib/types/messages.types.d.ts.map +1 -0
  384. package/lib/types/messages.types.js +6 -1
  385. package/lib/types/notifications.types.d.ts +1 -0
  386. package/lib/types/notifications.types.d.ts.map +1 -0
  387. package/lib/types/notifications.types.js +6 -1
  388. package/lib/types/payments.types.d.ts +1 -0
  389. package/lib/types/payments.types.d.ts.map +1 -0
  390. package/lib/types/payments.types.js +6 -1
  391. package/lib/types/posts.types.d.ts +1 -0
  392. package/lib/types/posts.types.d.ts.map +1 -0
  393. package/lib/types/posts.types.js +6 -1
  394. package/lib/types/profiles.types.d.ts +1 -0
  395. package/lib/types/profiles.types.d.ts.map +1 -0
  396. package/lib/types/profiles.types.js +3 -1
  397. package/lib/types/statistics.types.d.ts +1 -0
  398. package/lib/types/statistics.types.d.ts.map +1 -0
  399. package/lib/types/statistics.types.js +3 -1
  400. package/lib/types/tags.types.d.ts +1 -0
  401. package/lib/types/tags.types.d.ts.map +1 -0
  402. package/lib/types/tags.types.js +6 -1
  403. package/lib/types/users.types.d.ts +1 -0
  404. package/lib/types/users.types.d.ts.map +1 -0
  405. package/lib/types/users.types.js +6 -1
  406. package/lib/types/videos.types.d.ts +47 -0
  407. package/lib/types/videos.types.d.ts.map +1 -0
  408. package/lib/types/videos.types.js +6 -0
  409. package/lib/types/websockets.types.d.ts +1 -0
  410. package/lib/types/websockets.types.d.ts.map +1 -0
  411. package/lib/types/websockets.types.js +6 -1
  412. package/lib/utils/adapterUtils.d.ts +1 -0
  413. package/lib/utils/adapterUtils.d.ts.map +1 -0
  414. package/lib/utils/adapterUtils.js +23 -2
  415. package/lib/utils/analyticsUtils.d.ts +1 -0
  416. package/lib/utils/analyticsUtils.d.ts.map +1 -0
  417. package/lib/utils/analyticsUtils.js +45 -2
  418. package/lib/utils/arangodbUtils.d.ts +1 -0
  419. package/lib/utils/arangodbUtils.d.ts.map +1 -0
  420. package/lib/utils/arangodbUtils.js +128 -5
  421. package/lib/utils/authUtils.d.ts +1 -0
  422. package/lib/utils/authUtils.d.ts.map +1 -0
  423. package/lib/utils/authUtils.js +54 -2
  424. package/lib/utils/contextUtils.d.ts +1 -0
  425. package/lib/utils/contextUtils.d.ts.map +1 -0
  426. package/lib/utils/contextUtils.js +10 -2
  427. package/lib/utils/dbI18n.d.ts +1 -0
  428. package/lib/utils/dbI18n.d.ts.map +1 -0
  429. package/lib/utils/dbI18n.example.d.ts +1 -0
  430. package/lib/utils/dbI18n.example.d.ts.map +1 -0
  431. package/lib/utils/dbI18n.example.js +92 -5
  432. package/lib/utils/dbI18n.js +28 -2
  433. package/lib/utils/googleTranslate.d.ts +1 -0
  434. package/lib/utils/googleTranslate.d.ts.map +1 -0
  435. package/lib/utils/googleTranslate.js +70 -2
  436. package/lib/utils/graphqlUtils.d.ts +1 -0
  437. package/lib/utils/graphqlUtils.d.ts.map +1 -0
  438. package/lib/utils/graphqlUtils.js +11 -2
  439. package/lib/utils/index.d.ts +1 -0
  440. package/lib/utils/index.d.ts.map +1 -0
  441. package/lib/utils/index.js +19 -2
  442. package/lib/utils/languageDetection.d.ts +1 -0
  443. package/lib/utils/languageDetection.d.ts.map +1 -0
  444. package/lib/utils/languageDetection.js +120 -2
  445. package/lib/utils/localeUtils.d.ts +1 -0
  446. package/lib/utils/localeUtils.d.ts.map +1 -0
  447. package/lib/utils/localeUtils.example.d.ts +1 -0
  448. package/lib/utils/localeUtils.example.d.ts.map +1 -0
  449. package/lib/utils/localeUtils.example.js +124 -2
  450. package/lib/utils/localeUtils.js +71 -2
  451. package/lib/utils/middlewareUtils.d.ts +1 -0
  452. package/lib/utils/middlewareUtils.d.ts.map +1 -0
  453. package/lib/utils/middlewareUtils.js +10 -2
  454. package/lib/utils/sessionUtils.d.ts +1 -0
  455. package/lib/utils/sessionUtils.d.ts.map +1 -0
  456. package/lib/utils/sessionUtils.js +26 -2
  457. package/lib/utils/stripeUtils.d.ts +2 -1
  458. package/lib/utils/stripeUtils.d.ts.map +1 -0
  459. package/lib/utils/stripeUtils.js +12 -2
  460. package/lib/utils/templateUtils.d.ts +1 -0
  461. package/lib/utils/templateUtils.d.ts.map +1 -0
  462. package/lib/utils/templateUtils.js +11 -2
  463. package/lib/utils/testUtils.d.ts +1 -0
  464. package/lib/utils/testUtils.d.ts.map +1 -0
  465. package/lib/utils/testUtils.js +292 -2
  466. package/lib/utils/translationQueue.d.ts +1 -0
  467. package/lib/utils/translationQueue.d.ts.map +1 -0
  468. package/lib/utils/translationQueue.example.d.ts +1 -0
  469. package/lib/utils/translationQueue.example.d.ts.map +1 -0
  470. package/lib/utils/translationQueue.example.js +340 -2
  471. package/lib/utils/translationQueue.js +113 -2
  472. package/package.json +47 -29
@@ -1,2 +1,118 @@
1
- import{graphql as m}from"graphql";import{schemaComposer as d}from"graphql-compose";import{Config as y}from"../config.js";import{extractLanguageContext as g}from"../utils/contextUtils.js";import{createContext as f,getGqlFields as h,getLambdaData as C}from"../utils/index.js";const k=(i,o,r,n,t)=>{const a={...n,fields:h(t)};return i(o,r,a,t)},N=i=>async o=>{try{const r=await f(i,o),n=g(o),t={config:y.get(),...r,languageContext:n,request:o},a=e=>{Object.keys(e.getFields()).forEach(s=>{try{e.hasResolver(s)&&e.wrapResolver(s,k)}catch{}})};a(d.Query),a(d.Mutation);const u=C(o),l=d.buildSchema(),{body:c}=u;if(!c?.query)return{body:JSON.stringify({data:null,errors:[{message:"No GraphQL query found in request body"}]}),headers:{"Content-Type":"application/json"},statusCode:200};try{const e=await Promise.resolve(m({contextValue:t,schema:l,source:c.query,variableValues:c.variables}));return e.errors&&e.errors.length>0,{body:JSON.stringify(e),headers:{"Content-Type":"application/json"},statusCode:200}}catch(e){const s=e instanceof Error?e.message:"GraphQL execution error",p=e instanceof Error?e.stack:void 0;return{body:JSON.stringify({data:null,errors:[{message:s,stack:process.env.NODE_ENV==="development"?p:void 0}]}),headers:{"Content-Type":"application/json"},statusCode:500}}}catch(r){const n=r instanceof Error?r.message:"An unknown error occurred in the handler",t=r instanceof Error?r.stack:void 0;return{body:JSON.stringify({data:null,errors:[{message:n,stack:process.env.NODE_ENV==="development"?t:void 0}]}),headers:{"Content-Type":"application/json"},statusCode:500}}};export{N as createGraphqlHandler};
2
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2hhbmRsZXJzL2dyYXBocWxIYW5kbGVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQge2dyYXBocWx9IGZyb20gJ2dyYXBocWwnO1xuaW1wb3J0IHtPYmplY3RUeXBlQ29tcG9zZXIsIHNjaGVtYUNvbXBvc2VyfSBmcm9tICdncmFwaHFsLWNvbXBvc2UnO1xuXG5pbXBvcnQge0NvbmZpZ30gZnJvbSAnLi4vY29uZmlnLmpzJztcbmltcG9ydCB7ZXh0cmFjdExhbmd1YWdlQ29udGV4dH0gZnJvbSAnLi4vdXRpbHMvY29udGV4dFV0aWxzLmpzJztcbmltcG9ydCB7Y3JlYXRlQ29udGV4dCwgZ2V0R3FsRmllbGRzLCBnZXRMYW1iZGFEYXRhLCB0eXBlIExhbWJkYURhdGF9IGZyb20gJy4uL3V0aWxzL2luZGV4LmpzJztcblxuaW1wb3J0IHR5cGUge0FwaUNvbnRleHR9IGZyb20gJy4uL3R5cGVzL2F1dGgudHlwZXMuanMnO1xuaW1wb3J0IHR5cGUge0FQSUdhdGV3YXlFdmVudH0gZnJvbSAnYXdzLWxhbWJkYSc7XG5pbXBvcnQgdHlwZSB7RXhlY3V0aW9uUmVzdWx0fSBmcm9tICdncmFwaHFsJztcblxuY29uc3QgYWRkRmllbGRzTWlkZGxld2FyZSA9IChyZXNvbHZlLCBzb3VyY2UsIGFyZ3MsIGNvbnRleHQ6IEFwaUNvbnRleHQsIGluZm8pID0+IHtcbiAgY29uc3QgZW5oYW5jZWRDb250ZXh0ID0ge1xuICAgIC4uLmNvbnRleHQsXG4gICAgZmllbGRzOiBnZXRHcWxGaWVsZHMoaW5mbylcbiAgfTtcblxuICByZXR1cm4gcmVzb2x2ZShzb3VyY2UsIGFyZ3MsIGVuaGFuY2VkQ29udGV4dCwgaW5mbyk7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlR3JhcGhxbEhhbmRsZXIgPSAoY29udGV4dDogQXBpQ29udGV4dCkgPT5cbiAgYXN5bmMgKGV2ZW50OiBBUElHYXRld2F5RXZlbnQpOiBQcm9taXNlPEV4ZWN1dGlvblJlc3VsdCB8IFJlY29yZDxzdHJpbmcsIHVua25vd24+PiA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHVwZGF0ZWRDb250ZXh0OiBBcGlDb250ZXh0ID0gYXdhaXQgY3JlYXRlQ29udGV4dChjb250ZXh0LCBldmVudCk7XG4gICAgICBjb25zdCBsYW5ndWFnZUNvbnRleHQgPSBleHRyYWN0TGFuZ3VhZ2VDb250ZXh0KGV2ZW50KTtcblxuICAgICAgY29uc3QgY29udGV4dFdpdGhMYW5ndWFnZSA9IHtcbiAgICAgICAgY29uZmlnOiBDb25maWcuZ2V0KCksXG4gICAgICAgIC4uLnVwZGF0ZWRDb250ZXh0LFxuICAgICAgICBsYW5ndWFnZUNvbnRleHQsXG4gICAgICAgIHJlcXVlc3Q6IGV2ZW50XG4gICAgICB9O1xuXG4gICAgICBjb25zdCBhcHBseUZpZWxkc01pZGRsZXdhcmUgPSAodGM6IE9iamVjdFR5cGVDb21wb3Nlcjx1bmtub3duLCB1bmtub3duPikgPT4ge1xuICAgICAgICBPYmplY3Qua2V5cyh0Yy5nZXRGaWVsZHMoKSkuZm9yRWFjaCgoZmllbGROYW1lKSA9PiB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGlmKHRjLmhhc1Jlc29sdmVyKGZpZWxkTmFtZSkpIHtcbiAgICAgICAgICAgICAgdGMud3JhcFJlc29sdmVyKGZpZWxkTmFtZSwgYWRkRmllbGRzTWlkZGxld2FyZSBhcyBhbnkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gY2F0Y2goZXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihgU2tpcHBpbmcgZmllbGQgJHtmaWVsZE5hbWV9IC0gbm90IGEgcmVzb2x2ZXI6YCwgZXJyb3IubWVzc2FnZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH07XG5cbiAgICAgIGFwcGx5RmllbGRzTWlkZGxld2FyZShzY2hlbWFDb21wb3Nlci5RdWVyeSk7XG4gICAgICBhcHBseUZpZWxkc01pZGRsZXdhcmUoc2NoZW1hQ29tcG9zZXIuTXV0YXRpb24pO1xuXG4gICAgICBjb25zdCBwYXJzZURhdGEgPSBnZXRMYW1iZGFEYXRhKGV2ZW50IGFzIHVua25vd24gYXMgTGFtYmRhRGF0YSk7XG4gICAgICBjb25zdCBzY2hlbWEgPSBzY2hlbWFDb21wb3Nlci5idWlsZFNjaGVtYSgpO1xuICAgICAgY29uc3Qge2JvZHl9ID0gcGFyc2VEYXRhO1xuXG4gICAgICBpZighYm9keT8ucXVlcnkpIHtcbiAgICAgICAgY29uc29sZS53YXJuKCdObyBHcmFwaFFMIHF1ZXJ5IGZvdW5kIGluIHJlcXVlc3QgYm9keScpO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAgZGF0YTogbnVsbCxcbiAgICAgICAgICAgIGVycm9yczogW3tcbiAgICAgICAgICAgICAgbWVzc2FnZTogJ05vIEdyYXBoUUwgcXVlcnkgZm91bmQgaW4gcmVxdWVzdCBib2R5J1xuICAgICAgICAgICAgfV1cbiAgICAgICAgICB9KSxcbiAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICAgICAgfSxcbiAgICAgICAgICBzdGF0dXNDb2RlOiAyMDBcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgUHJvbWlzZS5yZXNvbHZlKGdyYXBocWwoe1xuICAgICAgICAgIGNvbnRleHRWYWx1ZTogY29udGV4dFdpdGhMYW5ndWFnZSxcbiAgICAgICAgICBzY2hlbWEsXG4gICAgICAgICAgc291cmNlOiBib2R5LnF1ZXJ5LFxuICAgICAgICAgIHZhcmlhYmxlVmFsdWVzOiBib2R5LnZhcmlhYmxlc1xuICAgICAgICB9KSk7XG5cbiAgICAgICAgaWYocmVzdWx0LmVycm9ycyAmJiByZXN1bHQuZXJyb3JzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdHcmFwaFFMIGV4ZWN1dGlvbiBlcnJvcnM6JywgcmVzdWx0LmVycm9ycyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHJlc3VsdCksXG4gICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJ1xuICAgICAgICAgIH0sXG4gICAgICAgICAgc3RhdHVzQ29kZTogMjAwXG4gICAgICAgIH07XG4gICAgICB9IGNhdGNoKGdyYXBocWxFcnJvcjogdW5rbm93bikge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBkdXJpbmcgR3JhcGhRTCBleGVjdXRpb246JywgZ3JhcGhxbEVycm9yKTtcblxuICAgICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSBncmFwaHFsRXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGdyYXBocWxFcnJvci5tZXNzYWdlIDogJ0dyYXBoUUwgZXhlY3V0aW9uIGVycm9yJztcbiAgICAgICAgY29uc3QgZXJyb3JTdGFjayA9IGdyYXBocWxFcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZ3JhcGhxbEVycm9yLnN0YWNrIDogdW5kZWZpbmVkO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAgZGF0YTogbnVsbCxcbiAgICAgICAgICAgIGVycm9yczogW3tcbiAgICAgICAgICAgICAgbWVzc2FnZTogZXJyb3JNZXNzYWdlLFxuICAgICAgICAgICAgICBzdGFjazogcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdkZXZlbG9wbWVudCcgPyBlcnJvclN0YWNrIDogdW5kZWZpbmVkXG4gICAgICAgICAgICB9XVxuICAgICAgICAgIH0pLFxuICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbidcbiAgICAgICAgICB9LFxuICAgICAgICAgIHN0YXR1c0NvZGU6IDUwMFxuICAgICAgICB9O1xuICAgICAgfVxuICAgIH0gY2F0Y2goZXJyOiB1bmtub3duKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdIYW5kbGVyIGVycm9yOicsIHtcbiAgICAgICAgbWVzc2FnZTogZXJyIGluc3RhbmNlb2YgRXJyb3IgPyBlcnIubWVzc2FnZSA6ICdVbmtub3duIGVycm9yJyxcbiAgICAgICAgc3RhY2s6IGVyciBpbnN0YW5jZW9mIEVycm9yID8gZXJyLnN0YWNrIDogdW5kZWZpbmVkXG4gICAgICB9KTtcblxuICAgICAgY29uc3QgZXJyb3JNZXNzYWdlID0gZXJyIGluc3RhbmNlb2YgRXJyb3IgPyBlcnIubWVzc2FnZSA6ICdBbiB1bmtub3duIGVycm9yIG9jY3VycmVkIGluIHRoZSBoYW5kbGVyJztcbiAgICAgIGNvbnN0IGVycm9yU3RhY2sgPSBlcnIgaW5zdGFuY2VvZiBFcnJvciA/IGVyci5zdGFjayA6IHVuZGVmaW5lZDtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgIGRhdGE6IG51bGwsXG4gICAgICAgICAgZXJyb3JzOiBbe1xuICAgICAgICAgICAgbWVzc2FnZTogZXJyb3JNZXNzYWdlLFxuICAgICAgICAgICAgc3RhY2s6IHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAnZGV2ZWxvcG1lbnQnID8gZXJyb3JTdGFjayA6IHVuZGVmaW5lZFxuICAgICAgICAgIH1dXG4gICAgICAgIH0pLFxuICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJ1xuICAgICAgICB9LFxuICAgICAgICBzdGF0dXNDb2RlOiA1MDBcbiAgICAgIH07XG4gICAgfVxuICB9OyJdLAogICJtYXBwaW5ncyI6ICJBQUFBLE9BQVEsV0FBQUEsTUFBYyxVQUN0QixPQUE0QixrQkFBQUMsTUFBcUIsa0JBRWpELE9BQVEsVUFBQUMsTUFBYSxlQUNyQixPQUFRLDBCQUFBQyxNQUE2QiwyQkFDckMsT0FBUSxpQkFBQUMsRUFBZSxnQkFBQUMsRUFBYyxpQkFBQUMsTUFBcUMsb0JBTTFFLE1BQU1DLEVBQXNCLENBQUNDLEVBQVNDLEVBQVFDLEVBQU1DLEVBQXFCQyxJQUFTLENBQ2hGLE1BQU1DLEVBQWtCLENBQ3RCLEdBQUdGLEVBQ0gsT0FBUU4sRUFBYU8sQ0FBSSxDQUMzQixFQUVBLE9BQU9KLEVBQVFDLEVBQVFDLEVBQU1HLEVBQWlCRCxDQUFJLENBQ3BELEVBRWFFLEVBQXdCSCxHQUNuQyxNQUFPSSxHQUErRSxDQUNwRixHQUFJLENBQ0YsTUFBTUMsRUFBNkIsTUFBTVosRUFBY08sRUFBU0ksQ0FBSyxFQUMvREUsRUFBa0JkLEVBQXVCWSxDQUFLLEVBRTlDRyxFQUFzQixDQUMxQixPQUFRaEIsRUFBTyxJQUFJLEVBQ25CLEdBQUdjLEVBQ0gsZ0JBQUFDLEVBQ0EsUUFBU0YsQ0FDWCxFQUVNSSxFQUF5QkMsR0FBNkMsQ0FDMUUsT0FBTyxLQUFLQSxFQUFHLFVBQVUsQ0FBQyxFQUFFLFFBQVNDLEdBQWMsQ0FDakQsR0FBSSxDQUNDRCxFQUFHLFlBQVlDLENBQVMsR0FDekJELEVBQUcsYUFBYUMsRUFBV2QsQ0FBMEIsQ0FFekQsTUFBZSxDQUVmLENBQ0YsQ0FBQyxDQUNILEVBRUFZLEVBQXNCbEIsRUFBZSxLQUFLLEVBQzFDa0IsRUFBc0JsQixFQUFlLFFBQVEsRUFFN0MsTUFBTXFCLEVBQVloQixFQUFjUyxDQUE4QixFQUN4RFEsRUFBU3RCLEVBQWUsWUFBWSxFQUNwQyxDQUFDLEtBQUF1QixDQUFJLEVBQUlGLEVBRWYsR0FBRyxDQUFDRSxHQUFNLE1BR1IsTUFBTyxDQUNMLEtBQU0sS0FBSyxVQUFVLENBQ25CLEtBQU0sS0FDTixPQUFRLENBQUMsQ0FDUCxRQUFTLHdDQUNYLENBQUMsQ0FDSCxDQUFDLEVBQ0QsUUFBUyxDQUNQLGVBQWdCLGtCQUNsQixFQUNBLFdBQVksR0FDZCxFQUdGLEdBQUksQ0FDRixNQUFNQyxFQUFTLE1BQU0sUUFBUSxRQUFRekIsRUFBUSxDQUMzQyxhQUFja0IsRUFDZCxPQUFBSyxFQUNBLE9BQVFDLEVBQUssTUFDYixlQUFnQkEsRUFBSyxTQUN2QixDQUFDLENBQUMsRUFFRixPQUFHQyxFQUFPLFFBQVVBLEVBQU8sT0FBTyxPQUFTLEVBSXBDLENBQ0wsS0FBTSxLQUFLLFVBQVVBLENBQU0sRUFDM0IsUUFBUyxDQUNQLGVBQWdCLGtCQUNsQixFQUNBLFdBQVksR0FDZCxDQUNGLE9BQVFDLEVBQXVCLENBRzdCLE1BQU1DLEVBQWVELGFBQXdCLE1BQVFBLEVBQWEsUUFBVSwwQkFDdEVFLEVBQWFGLGFBQXdCLE1BQVFBLEVBQWEsTUFBUSxPQUV4RSxNQUFPLENBQ0wsS0FBTSxLQUFLLFVBQVUsQ0FDbkIsS0FBTSxLQUNOLE9BQVEsQ0FBQyxDQUNQLFFBQVNDLEVBQ1QsTUFBTyxRQUFRLElBQUksV0FBYSxjQUFnQkMsRUFBYSxNQUMvRCxDQUFDLENBQ0gsQ0FBQyxFQUNELFFBQVMsQ0FDUCxlQUFnQixrQkFDbEIsRUFDQSxXQUFZLEdBQ2QsQ0FDRixDQUNGLE9BQVFDLEVBQWMsQ0FNcEIsTUFBTUYsRUFBZUUsYUFBZSxNQUFRQSxFQUFJLFFBQVUsMkNBQ3BERCxFQUFhQyxhQUFlLE1BQVFBLEVBQUksTUFBUSxPQUV0RCxNQUFPLENBQ0wsS0FBTSxLQUFLLFVBQVUsQ0FDbkIsS0FBTSxLQUNOLE9BQVEsQ0FBQyxDQUNQLFFBQVNGLEVBQ1QsTUFBTyxRQUFRLElBQUksV0FBYSxjQUFnQkMsRUFBYSxNQUMvRCxDQUFDLENBQ0gsQ0FBQyxFQUNELFFBQVMsQ0FDUCxlQUFnQixrQkFDbEIsRUFDQSxXQUFZLEdBQ2QsQ0FDRixDQUNGIiwKICAibmFtZXMiOiBbImdyYXBocWwiLCAic2NoZW1hQ29tcG9zZXIiLCAiQ29uZmlnIiwgImV4dHJhY3RMYW5ndWFnZUNvbnRleHQiLCAiY3JlYXRlQ29udGV4dCIsICJnZXRHcWxGaWVsZHMiLCAiZ2V0TGFtYmRhRGF0YSIsICJhZGRGaWVsZHNNaWRkbGV3YXJlIiwgInJlc29sdmUiLCAic291cmNlIiwgImFyZ3MiLCAiY29udGV4dCIsICJpbmZvIiwgImVuaGFuY2VkQ29udGV4dCIsICJjcmVhdGVHcmFwaHFsSGFuZGxlciIsICJldmVudCIsICJ1cGRhdGVkQ29udGV4dCIsICJsYW5ndWFnZUNvbnRleHQiLCAiY29udGV4dFdpdGhMYW5ndWFnZSIsICJhcHBseUZpZWxkc01pZGRsZXdhcmUiLCAidGMiLCAiZmllbGROYW1lIiwgInBhcnNlRGF0YSIsICJzY2hlbWEiLCAiYm9keSIsICJyZXN1bHQiLCAiZ3JhcGhxbEVycm9yIiwgImVycm9yTWVzc2FnZSIsICJlcnJvclN0YWNrIiwgImVyciJdCn0K
1
+ import { graphql } from 'graphql';
2
+ import { schemaComposer } from 'graphql-compose';
3
+ import { Config } from '../config.js';
4
+ import { extractLanguageContext } from '../utils/contextUtils.js';
5
+ import { createContext, getGqlFields, getLambdaData } from '../utils/index.js';
6
+ const addFieldsMiddleware = (resolve, source, args, context, info)=>{
7
+ const enhancedContext = {
8
+ ...context,
9
+ fields: getGqlFields(info)
10
+ };
11
+ return resolve(source, args, enhancedContext, info);
12
+ };
13
+ export const createGraphqlHandler = (context)=>async (event)=>{
14
+ try {
15
+ const updatedContext = await createContext(context, event);
16
+ const languageContext = extractLanguageContext(event);
17
+ const contextWithLanguage = {
18
+ config: Config.get(),
19
+ ...updatedContext,
20
+ languageContext,
21
+ request: event
22
+ };
23
+ const applyFieldsMiddleware = (tc)=>{
24
+ Object.keys(tc.getFields()).forEach((fieldName)=>{
25
+ try {
26
+ if (tc.hasResolver(fieldName)) {
27
+ tc.wrapResolver(fieldName, addFieldsMiddleware);
28
+ }
29
+ } catch (error) {
30
+ console.warn(`Skipping field ${fieldName} - not a resolver:`, error.message);
31
+ }
32
+ });
33
+ };
34
+ applyFieldsMiddleware(schemaComposer.Query);
35
+ applyFieldsMiddleware(schemaComposer.Mutation);
36
+ const parseData = getLambdaData(event);
37
+ const schema = schemaComposer.buildSchema();
38
+ const { body } = parseData;
39
+ if (!body?.query) {
40
+ console.warn('No GraphQL query found in request body');
41
+ return {
42
+ body: JSON.stringify({
43
+ data: null,
44
+ errors: [
45
+ {
46
+ message: 'No GraphQL query found in request body'
47
+ }
48
+ ]
49
+ }),
50
+ headers: {
51
+ 'Content-Type': 'application/json'
52
+ },
53
+ statusCode: 200
54
+ };
55
+ }
56
+ try {
57
+ const result = await Promise.resolve(graphql({
58
+ contextValue: contextWithLanguage,
59
+ schema,
60
+ source: body.query,
61
+ variableValues: body.variables
62
+ }));
63
+ if (result.errors && result.errors.length > 0) {
64
+ console.error('GraphQL execution errors:', result.errors);
65
+ }
66
+ return {
67
+ body: JSON.stringify(result),
68
+ headers: {
69
+ 'Content-Type': 'application/json'
70
+ },
71
+ statusCode: 200
72
+ };
73
+ } catch (graphqlError) {
74
+ console.error('Error during GraphQL execution:', graphqlError);
75
+ const errorMessage = graphqlError instanceof Error ? graphqlError.message : 'GraphQL execution error';
76
+ const errorStack = graphqlError instanceof Error ? graphqlError.stack : undefined;
77
+ return {
78
+ body: JSON.stringify({
79
+ data: null,
80
+ errors: [
81
+ {
82
+ message: errorMessage,
83
+ stack: process.env.NODE_ENV === 'development' ? errorStack : undefined
84
+ }
85
+ ]
86
+ }),
87
+ headers: {
88
+ 'Content-Type': 'application/json'
89
+ },
90
+ statusCode: 500
91
+ };
92
+ }
93
+ } catch (err) {
94
+ console.error('Handler error:', {
95
+ message: err instanceof Error ? err.message : 'Unknown error',
96
+ stack: err instanceof Error ? err.stack : undefined
97
+ });
98
+ const errorMessage = err instanceof Error ? err.message : 'An unknown error occurred in the handler';
99
+ const errorStack = err instanceof Error ? err.stack : undefined;
100
+ return {
101
+ body: JSON.stringify({
102
+ data: null,
103
+ errors: [
104
+ {
105
+ message: errorMessage,
106
+ stack: process.env.NODE_ENV === 'development' ? errorStack : undefined
107
+ }
108
+ ]
109
+ }),
110
+ headers: {
111
+ 'Content-Type': 'application/json'
112
+ },
113
+ statusCode: 500
114
+ };
115
+ }
116
+ };
117
+
118
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3Ivc3JjL2hhbmRsZXJzL2dyYXBocWxIYW5kbGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Z3JhcGhxbH0gZnJvbSAnZ3JhcGhxbCc7XG5pbXBvcnQge09iamVjdFR5cGVDb21wb3Nlciwgc2NoZW1hQ29tcG9zZXJ9IGZyb20gJ2dyYXBocWwtY29tcG9zZSc7XG5cbmltcG9ydCB7Q29uZmlnfSBmcm9tICcuLi9jb25maWcuanMnO1xuaW1wb3J0IHtleHRyYWN0TGFuZ3VhZ2VDb250ZXh0fSBmcm9tICcuLi91dGlscy9jb250ZXh0VXRpbHMuanMnO1xuaW1wb3J0IHtjcmVhdGVDb250ZXh0LCBnZXRHcWxGaWVsZHMsIGdldExhbWJkYURhdGEsIHR5cGUgTGFtYmRhRGF0YX0gZnJvbSAnLi4vdXRpbHMvaW5kZXguanMnO1xuXG5pbXBvcnQgdHlwZSB7QXBpQ29udGV4dH0gZnJvbSAnLi4vdHlwZXMvYXV0aC50eXBlcy5qcyc7XG5pbXBvcnQgdHlwZSB7QVBJR2F0ZXdheUV2ZW50fSBmcm9tICdhd3MtbGFtYmRhJztcbmltcG9ydCB0eXBlIHtFeGVjdXRpb25SZXN1bHR9IGZyb20gJ2dyYXBocWwnO1xuXG5jb25zdCBhZGRGaWVsZHNNaWRkbGV3YXJlID0gKHJlc29sdmUsIHNvdXJjZSwgYXJncywgY29udGV4dDogQXBpQ29udGV4dCwgaW5mbykgPT4ge1xuICBjb25zdCBlbmhhbmNlZENvbnRleHQgPSB7XG4gICAgLi4uY29udGV4dCxcbiAgICBmaWVsZHM6IGdldEdxbEZpZWxkcyhpbmZvKVxuICB9O1xuXG4gIHJldHVybiByZXNvbHZlKHNvdXJjZSwgYXJncywgZW5oYW5jZWRDb250ZXh0LCBpbmZvKTtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVHcmFwaHFsSGFuZGxlciA9IChjb250ZXh0OiBBcGlDb250ZXh0KSA9PlxuICBhc3luYyAoZXZlbnQ6IEFQSUdhdGV3YXlFdmVudCk6IFByb21pc2U8RXhlY3V0aW9uUmVzdWx0IHwgUmVjb3JkPHN0cmluZywgdW5rbm93bj4+ID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgdXBkYXRlZENvbnRleHQ6IEFwaUNvbnRleHQgPSBhd2FpdCBjcmVhdGVDb250ZXh0KGNvbnRleHQsIGV2ZW50KTtcbiAgICAgIGNvbnN0IGxhbmd1YWdlQ29udGV4dCA9IGV4dHJhY3RMYW5ndWFnZUNvbnRleHQoZXZlbnQpO1xuXG4gICAgICBjb25zdCBjb250ZXh0V2l0aExhbmd1YWdlID0ge1xuICAgICAgICBjb25maWc6IENvbmZpZy5nZXQoKSxcbiAgICAgICAgLi4udXBkYXRlZENvbnRleHQsXG4gICAgICAgIGxhbmd1YWdlQ29udGV4dCxcbiAgICAgICAgcmVxdWVzdDogZXZlbnRcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IGFwcGx5RmllbGRzTWlkZGxld2FyZSA9ICh0YzogT2JqZWN0VHlwZUNvbXBvc2VyPHVua25vd24sIHVua25vd24+KSA9PiB7XG4gICAgICAgIE9iamVjdC5rZXlzKHRjLmdldEZpZWxkcygpKS5mb3JFYWNoKChmaWVsZE5hbWUpID0+IHtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgaWYodGMuaGFzUmVzb2x2ZXIoZmllbGROYW1lKSkge1xuICAgICAgICAgICAgICB0Yy53cmFwUmVzb2x2ZXIoZmllbGROYW1lLCBhZGRGaWVsZHNNaWRkbGV3YXJlIGFzIGFueSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBjYXRjaChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKGBTa2lwcGluZyBmaWVsZCAke2ZpZWxkTmFtZX0gLSBub3QgYSByZXNvbHZlcjpgLCBlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfTtcblxuICAgICAgYXBwbHlGaWVsZHNNaWRkbGV3YXJlKHNjaGVtYUNvbXBvc2VyLlF1ZXJ5KTtcbiAgICAgIGFwcGx5RmllbGRzTWlkZGxld2FyZShzY2hlbWFDb21wb3Nlci5NdXRhdGlvbik7XG5cbiAgICAgIGNvbnN0IHBhcnNlRGF0YSA9IGdldExhbWJkYURhdGEoZXZlbnQgYXMgdW5rbm93biBhcyBMYW1iZGFEYXRhKTtcbiAgICAgIGNvbnN0IHNjaGVtYSA9IHNjaGVtYUNvbXBvc2VyLmJ1aWxkU2NoZW1hKCk7XG4gICAgICBjb25zdCB7Ym9keX0gPSBwYXJzZURhdGE7XG5cbiAgICAgIGlmKCFib2R5Py5xdWVyeSkge1xuICAgICAgICBjb25zb2xlLndhcm4oJ05vIEdyYXBoUUwgcXVlcnkgZm91bmQgaW4gcmVxdWVzdCBib2R5Jyk7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICBkYXRhOiBudWxsLFxuICAgICAgICAgICAgZXJyb3JzOiBbe1xuICAgICAgICAgICAgICBtZXNzYWdlOiAnTm8gR3JhcGhRTCBxdWVyeSBmb3VuZCBpbiByZXF1ZXN0IGJvZHknXG4gICAgICAgICAgICB9XVxuICAgICAgICAgIH0pLFxuICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbidcbiAgICAgICAgICB9LFxuICAgICAgICAgIHN0YXR1c0NvZGU6IDIwMFxuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBQcm9taXNlLnJlc29sdmUoZ3JhcGhxbCh7XG4gICAgICAgICAgY29udGV4dFZhbHVlOiBjb250ZXh0V2l0aExhbmd1YWdlLFxuICAgICAgICAgIHNjaGVtYSxcbiAgICAgICAgICBzb3VyY2U6IGJvZHkucXVlcnksXG4gICAgICAgICAgdmFyaWFibGVWYWx1ZXM6IGJvZHkudmFyaWFibGVzXG4gICAgICAgIH0pKTtcblxuICAgICAgICBpZihyZXN1bHQuZXJyb3JzICYmIHJlc3VsdC5lcnJvcnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0dyYXBoUUwgZXhlY3V0aW9uIGVycm9yczonLCByZXN1bHQuZXJyb3JzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkocmVzdWx0KSxcbiAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICAgICAgfSxcbiAgICAgICAgICBzdGF0dXNDb2RlOiAyMDBcbiAgICAgICAgfTtcbiAgICAgIH0gY2F0Y2goZ3JhcGhxbEVycm9yOiB1bmtub3duKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGR1cmluZyBHcmFwaFFMIGV4ZWN1dGlvbjonLCBncmFwaHFsRXJyb3IpO1xuXG4gICAgICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IGdyYXBocWxFcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZ3JhcGhxbEVycm9yLm1lc3NhZ2UgOiAnR3JhcGhRTCBleGVjdXRpb24gZXJyb3InO1xuICAgICAgICBjb25zdCBlcnJvclN0YWNrID0gZ3JhcGhxbEVycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBncmFwaHFsRXJyb3Iuc3RhY2sgOiB1bmRlZmluZWQ7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICBkYXRhOiBudWxsLFxuICAgICAgICAgICAgZXJyb3JzOiBbe1xuICAgICAgICAgICAgICBtZXNzYWdlOiBlcnJvck1lc3NhZ2UsXG4gICAgICAgICAgICAgIHN0YWNrOiBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ2RldmVsb3BtZW50JyA/IGVycm9yU3RhY2sgOiB1bmRlZmluZWRcbiAgICAgICAgICAgIH1dXG4gICAgICAgICAgfSksXG4gICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJ1xuICAgICAgICAgIH0sXG4gICAgICAgICAgc3RhdHVzQ29kZTogNTAwXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfSBjYXRjaChlcnI6IHVua25vd24pIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0hhbmRsZXIgZXJyb3I6Jywge1xuICAgICAgICBtZXNzYWdlOiBlcnIgaW5zdGFuY2VvZiBFcnJvciA/IGVyci5tZXNzYWdlIDogJ1Vua25vd24gZXJyb3InLFxuICAgICAgICBzdGFjazogZXJyIGluc3RhbmNlb2YgRXJyb3IgPyBlcnIuc3RhY2sgOiB1bmRlZmluZWRcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSBlcnIgaW5zdGFuY2VvZiBFcnJvciA/IGVyci5tZXNzYWdlIDogJ0FuIHVua25vd24gZXJyb3Igb2NjdXJyZWQgaW4gdGhlIGhhbmRsZXInO1xuICAgICAgY29uc3QgZXJyb3JTdGFjayA9IGVyciBpbnN0YW5jZW9mIEVycm9yID8gZXJyLnN0YWNrIDogdW5kZWZpbmVkO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgZGF0YTogbnVsbCxcbiAgICAgICAgICBlcnJvcnM6IFt7XG4gICAgICAgICAgICBtZXNzYWdlOiBlcnJvck1lc3NhZ2UsXG4gICAgICAgICAgICBzdGFjazogcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdkZXZlbG9wbWVudCcgPyBlcnJvclN0YWNrIDogdW5kZWZpbmVkXG4gICAgICAgICAgfV1cbiAgICAgICAgfSksXG4gICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nXG4gICAgICAgIH0sXG4gICAgICAgIHN0YXR1c0NvZGU6IDUwMFxuICAgICAgfTtcbiAgICB9XG4gIH07Il0sIm5hbWVzIjpbImdyYXBocWwiLCJzY2hlbWFDb21wb3NlciIsIkNvbmZpZyIsImV4dHJhY3RMYW5ndWFnZUNvbnRleHQiLCJjcmVhdGVDb250ZXh0IiwiZ2V0R3FsRmllbGRzIiwiZ2V0TGFtYmRhRGF0YSIsImFkZEZpZWxkc01pZGRsZXdhcmUiLCJyZXNvbHZlIiwic291cmNlIiwiYXJncyIsImNvbnRleHQiLCJpbmZvIiwiZW5oYW5jZWRDb250ZXh0IiwiZmllbGRzIiwiY3JlYXRlR3JhcGhxbEhhbmRsZXIiLCJldmVudCIsInVwZGF0ZWRDb250ZXh0IiwibGFuZ3VhZ2VDb250ZXh0IiwiY29udGV4dFdpdGhMYW5ndWFnZSIsImNvbmZpZyIsImdldCIsInJlcXVlc3QiLCJhcHBseUZpZWxkc01pZGRsZXdhcmUiLCJ0YyIsIk9iamVjdCIsImtleXMiLCJnZXRGaWVsZHMiLCJmb3JFYWNoIiwiZmllbGROYW1lIiwiaGFzUmVzb2x2ZXIiLCJ3cmFwUmVzb2x2ZXIiLCJlcnJvciIsImNvbnNvbGUiLCJ3YXJuIiwibWVzc2FnZSIsIlF1ZXJ5IiwiTXV0YXRpb24iLCJwYXJzZURhdGEiLCJzY2hlbWEiLCJidWlsZFNjaGVtYSIsImJvZHkiLCJxdWVyeSIsIkpTT04iLCJzdHJpbmdpZnkiLCJkYXRhIiwiZXJyb3JzIiwiaGVhZGVycyIsInN0YXR1c0NvZGUiLCJyZXN1bHQiLCJQcm9taXNlIiwiY29udGV4dFZhbHVlIiwidmFyaWFibGVWYWx1ZXMiLCJ2YXJpYWJsZXMiLCJsZW5ndGgiLCJncmFwaHFsRXJyb3IiLCJlcnJvck1lc3NhZ2UiLCJFcnJvciIsImVycm9yU3RhY2siLCJzdGFjayIsInVuZGVmaW5lZCIsInByb2Nlc3MiLCJlbnYiLCJOT0RFX0VOViIsImVyciJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBUUEsT0FBTyxRQUFPLFVBQVU7QUFDaEMsU0FBNEJDLGNBQWMsUUFBTyxrQkFBa0I7QUFFbkUsU0FBUUMsTUFBTSxRQUFPLGVBQWU7QUFDcEMsU0FBUUMsc0JBQXNCLFFBQU8sMkJBQTJCO0FBQ2hFLFNBQVFDLGFBQWEsRUFBRUMsWUFBWSxFQUFFQyxhQUFhLFFBQXdCLG9CQUFvQjtBQU05RixNQUFNQyxzQkFB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
package/lib/index.d.ts CHANGED
@@ -17,3 +17,4 @@ export * from './objectTypes/index.js';
17
17
  export * from './queries/index.js';
18
18
  export * from './types/index.js';
19
19
  export * from './utils/index.js';
20
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EACL,OAAO,EAAE,cAAc,EACvB,YAAY,EACZ,SAAS,EACT,UAAU,EACV,WAAW,EAAE,cAAc,EAAE,iBAAiB,EAAE,aAAa,EAAE,WAAW,EAC3E,MAAM,SAAS,CAAC;AACjB,OAAO,EAAC,cAAc,EAAC,MAAM,iBAAiB,CAAC;AAE/C,YAAY,EAAC,eAAe,EAAC,MAAM,SAAS,CAAC;AAC7C,YAAY,EAAC,iBAAiB,EAAE,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AAE3E,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC"}
package/lib/index.js CHANGED
@@ -1,2 +1,18 @@
1
- import{graphql as p,GraphQLBoolean as e,GraphQLFloat as t,GraphQLID as m,GraphQLInt as x,GraphQLList as a,GraphQLNonNull as f,GraphQLObjectType as h,GraphQLString as l,graphqlSync as L}from"graphql";import{schemaComposer as Q}from"graphql-compose";export*from"./actions/index.js";export*from"./adapters/index.js";export*from"./config.js";export*from"./handlers/graphqlHandler.js";export*from"./lambdas/authorizer.js";export*from"./lambdas/connection.js";export*from"./mutations/index.js";export*from"./objectTypes/index.js";export*from"./queries/index.js";export*from"./types/index.js";export*from"./utils/index.js";export{e as GraphQLBoolean,t as GraphQLFloat,m as GraphQLID,x as GraphQLInt,a as GraphQLList,f as GraphQLNonNull,h as GraphQLObjectType,l as GraphQLString,p as graphql,L as graphqlSync,Q as schemaComposer};
2
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2luZGV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxOS1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuZXhwb3J0IHtcbiAgZ3JhcGhxbCwgR3JhcGhRTEJvb2xlYW4sXG4gIEdyYXBoUUxGbG9hdCxcbiAgR3JhcGhRTElELFxuICBHcmFwaFFMSW50LFxuICBHcmFwaFFMTGlzdCwgR3JhcGhRTE5vbk51bGwsIEdyYXBoUUxPYmplY3RUeXBlLCBHcmFwaFFMU3RyaW5nLCBncmFwaHFsU3luY1xufSBmcm9tICdncmFwaHFsJztcbmV4cG9ydCB7c2NoZW1hQ29tcG9zZXJ9IGZyb20gJ2dyYXBocWwtY29tcG9zZSc7XG5cbmV4cG9ydCB0eXBlIHtFeGVjdXRpb25SZXN1bHR9IGZyb20gJ2dyYXBocWwnO1xuZXhwb3J0IHR5cGUge0lucHV0VHlwZUNvbXBvc2VyLCBPYmplY3RUeXBlQ29tcG9zZXJ9IGZyb20gJ2dyYXBocWwtY29tcG9zZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9ucy9pbmRleC5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2FkYXB0ZXJzL2luZGV4LmpzJztcbmV4cG9ydCAqIGZyb20gJy4vY29uZmlnLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vaGFuZGxlcnMvZ3JhcGhxbEhhbmRsZXIuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9sYW1iZGFzL2F1dGhvcml6ZXIuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9sYW1iZGFzL2Nvbm5lY3Rpb24uanMnO1xuZXhwb3J0ICogZnJvbSAnLi9tdXRhdGlvbnMvaW5kZXguanMnO1xuZXhwb3J0ICogZnJvbSAnLi9vYmplY3RUeXBlcy9pbmRleC5qcyc7XG5leHBvcnQgKiBmcm9tICcuL3F1ZXJpZXMvaW5kZXguanMnO1xuZXhwb3J0ICogZnJvbSAnLi90eXBlcy9pbmRleC5qcyc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWxzL2luZGV4LmpzJztcblxuIl0sCiAgIm1hcHBpbmdzIjogIkFBSUEsT0FDRSxXQUFBQSxFQUFTLGtCQUFBQyxFQUNULGdCQUFBQyxFQUNBLGFBQUFDLEVBQ0EsY0FBQUMsRUFDQSxlQUFBQyxFQUFhLGtCQUFBQyxFQUFnQixxQkFBQUMsRUFBbUIsaUJBQUFDLEVBQWUsZUFBQUMsTUFDMUQsVUFDUCxPQUFRLGtCQUFBQyxNQUFxQixrQkFLN0IsV0FBYyxxQkFDZCxXQUFjLHNCQUNkLFdBQWMsY0FDZCxXQUFjLCtCQUNkLFdBQWMsMEJBQ2QsV0FBYywwQkFDZCxXQUFjLHVCQUNkLFdBQWMseUJBQ2QsV0FBYyxxQkFDZCxXQUFjLG1CQUNkLFdBQWMiLAogICJuYW1lcyI6IFsiZ3JhcGhxbCIsICJHcmFwaFFMQm9vbGVhbiIsICJHcmFwaFFMRmxvYXQiLCAiR3JhcGhRTElEIiwgIkdyYXBoUUxJbnQiLCAiR3JhcGhRTExpc3QiLCAiR3JhcGhRTE5vbk51bGwiLCAiR3JhcGhRTE9iamVjdFR5cGUiLCAiR3JhcGhRTFN0cmluZyIsICJncmFwaHFsU3luYyIsICJzY2hlbWFDb21wb3NlciJdCn0K
1
+ /**
2
+ * Copyright (c) 2019-Present, Nitrogen Labs, Inc.
3
+ * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
4
+ */ export { graphql, GraphQLBoolean, GraphQLFloat, GraphQLID, GraphQLInt, GraphQLList, GraphQLNonNull, GraphQLObjectType, GraphQLString, graphqlSync } from 'graphql';
5
+ export { schemaComposer } from 'graphql-compose';
6
+ export * from './actions/index.js';
7
+ export * from './adapters/index.js';
8
+ export * from './config.js';
9
+ export * from './handlers/graphqlHandler.js';
10
+ export * from './lambdas/authorizer.js';
11
+ export * from './lambdas/connection.js';
12
+ export * from './mutations/index.js';
13
+ export * from './objectTypes/index.js';
14
+ export * from './queries/index.js';
15
+ export * from './types/index.js';
16
+ export * from './utils/index.js';
17
+
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3Ivc3JjL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE5LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5leHBvcnQge1xuICBncmFwaHFsLCBHcmFwaFFMQm9vbGVhbixcbiAgR3JhcGhRTEZsb2F0LFxuICBHcmFwaFFMSUQsXG4gIEdyYXBoUUxJbnQsXG4gIEdyYXBoUUxMaXN0LCBHcmFwaFFMTm9uTnVsbCwgR3JhcGhRTE9iamVjdFR5cGUsIEdyYXBoUUxTdHJpbmcsIGdyYXBocWxTeW5jXG59IGZyb20gJ2dyYXBocWwnO1xuZXhwb3J0IHtzY2hlbWFDb21wb3Nlcn0gZnJvbSAnZ3JhcGhxbC1jb21wb3NlJztcblxuZXhwb3J0IHR5cGUge0V4ZWN1dGlvblJlc3VsdH0gZnJvbSAnZ3JhcGhxbCc7XG5leHBvcnQgdHlwZSB7SW5wdXRUeXBlQ29tcG9zZXIsIE9iamVjdFR5cGVDb21wb3Nlcn0gZnJvbSAnZ3JhcGhxbC1jb21wb3NlJztcblxuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb25zL2luZGV4LmpzJztcbmV4cG9ydCAqIGZyb20gJy4vYWRhcHRlcnMvaW5kZXguanMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb25maWcuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9oYW5kbGVycy9ncmFwaHFsSGFuZGxlci5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2xhbWJkYXMvYXV0aG9yaXplci5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2xhbWJkYXMvY29ubmVjdGlvbi5qcyc7XG5leHBvcnQgKiBmcm9tICcuL211dGF0aW9ucy9pbmRleC5qcyc7XG5leHBvcnQgKiBmcm9tICcuL29iamVjdFR5cGVzL2luZGV4LmpzJztcbmV4cG9ydCAqIGZyb20gJy4vcXVlcmllcy9pbmRleC5qcyc7XG5leHBvcnQgKiBmcm9tICcuL3R5cGVzL2luZGV4LmpzJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMvaW5kZXguanMnO1xuXG4iXSwibmFtZXMiOlsiZ3JhcGhxbCIsIkdyYXBoUUxCb29sZWFuIiwiR3JhcGhRTEZsb2F0IiwiR3JhcGhRTElEIiwiR3JhcGhRTEludCIsIkdyYXBoUUxMaXN0IiwiR3JhcGhRTE5vbk51bGwiLCJHcmFwaFFMT2JqZWN0VHlwZSIsIkdyYXBoUUxTdHJpbmciLCJncmFwaHFsU3luYyIsInNjaGVtYUNvbXBvc2VyIl0sIm1hcHBpbmdzIjoiQUFBQTs7O0NBR0MsR0FDRCxTQUNFQSxPQUFPLEVBQUVDLGNBQWMsRUFDdkJDLFlBQVksRUFDWkMsU0FBUyxFQUNUQyxVQUFVLEVBQ1ZDLFdBQVcsRUFBRUMsY0FBYyxFQUFFQyxpQkFBaUIsRUFBRUMsYUFBYSxFQUFFQyxXQUFXLFFBQ3JFLFVBQVU7QUFDakIsU0FBUUMsY0FBYyxRQUFPLGtCQUFrQjtBQUsvQyxjQUFjLHFCQUFxQjtBQUNuQyxjQUFjLHNCQUFzQjtBQUNwQyxjQUFjLGNBQWM7QUFDNUIsY0FBYywrQkFBK0I7QUFDN0MsY0FBYywwQkFBMEI7QUFDeEMsY0FBYywwQkFBMEI7QUFDeEMsY0FBYyx1QkFBdUI7QUFDckMsY0FBYyx5QkFBeUI7QUFDdkMsY0FBYyxxQkFBcUI7QUFDbkMsY0FBYyxtQkFBbUI7QUFDakMsY0FBYyxtQkFBbUIifQ==
@@ -5,3 +5,4 @@ export declare const getConnectionByUserId: (userId?: string) => Promise<Websock
5
5
  export declare const getConnectionById: (socketId: string) => Promise<WebsocketConnection>;
6
6
  export declare const getConnectionByConvo: (context: ApiContext, convoId: string) => Promise<WebsocketConnection[]>;
7
7
  export declare const removeConnection: (connectionId: string) => Promise<WebsocketConnection>;
8
+ //# sourceMappingURL=websockets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websockets.d.ts","sourceRoot":"","sources":["../../../src/lambdas/actions/websockets.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,2BAA2B,CAAC;AAC1D,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,iCAAiC,CAAC;AAGzE,eAAO,MAAM,aAAa,GAAU,cAAc,MAAM,EAAE,OAAO,MAAM,KAAG,OAAO,CAAC,mBAAmB,CAwCpG,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,SAAS,MAAM,KAAG,OAAO,CAAC,mBAAmB,CAalF,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,UAAU,MAAM,KAAG,OAAO,CAAC,mBAAmB,CAmB/E,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,SAAS,UAAU,EAAE,SAAS,MAAM,KAAG,OAAO,CAAC,mBAAmB,EAAE,CAqBxG,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,cAAc,MAAM,KAAG,OAAO,CAAC,mBAAmB,CAelF,CAAC"}
@@ -1,11 +1,62 @@
1
- import{aql as c}from"arangojs";import{createHash as m,parseId as R,parseString as E}from"@nlabs/utils/parsers/strings";import{useDb as i}from"../../utils/arangodbUtils.js";import{getSession as p}from"../../utils/sessionUtils.js";const{ARANGODB_DATABASE:a}=process.env,g=async(e,r)=>{const o=E(e,32),{userId:t}=p(r);if(!t)return{_key:"",socketId:"",userId:""};try{const n=i(a),I={connectionId:o,modified:Date.now()},d={...I,_key:m(`connection-${o}`),userId:t},s=c`UPSERT {userId: ${d.userId}}
2
- INSERT ${d}
3
- UPDATE ${I}
4
- IN connections RETURN NEW`;return n.query(s).then(u=>u.next()).catch(u=>{throw u})}catch{throw new Error("Unauthorized Context")}},C=e=>{const r=R(e),o=i(a),t=c`FOR c IN connections
5
- FILTER c.userId == ${r}
1
+ /**
2
+ * Copyright (c) 2021-Present, Nitrogen Labs, Inc.
3
+ * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
4
+ */ import { aql } from 'arangojs';
5
+ import { createHash, parseId, parseString } from '@nlabs/utils/parsers/strings';
6
+ import { useDb } from '../../utils/arangodbUtils.js';
7
+ import { getSession } from '../../utils/sessionUtils.js';
8
+ const { ARANGODB_DATABASE: databaseName } = process.env;
9
+ export const addConnection = async (connectionId, token)=>{
10
+ // const action: string = 'delete';
11
+ const formatConnId = parseString(connectionId, 32);
12
+ // Verifies token
13
+ const { userId } = getSession(token);
14
+ if (!userId) {
15
+ return {
16
+ _key: '',
17
+ socketId: '',
18
+ userId: ''
19
+ };
20
+ }
21
+ try {
22
+ const db = useDb(databaseName);
23
+ const update = {
24
+ connectionId: formatConnId,
25
+ modified: Date.now()
26
+ };
27
+ const insert = {
28
+ ...update,
29
+ _key: createHash(`connection-${formatConnId}`),
30
+ userId
31
+ };
32
+ const aqlQry = aql`UPSERT {userId: ${insert.userId}}
33
+ INSERT ${insert}
34
+ UPDATE ${update}
35
+ IN connections RETURN NEW`;
36
+ return db.query(aqlQry).then((cursor)=>cursor.next()).catch((error)=>{
37
+ throw error;
38
+ });
39
+ } catch (error) {
40
+ console.log('parseContext::error', error);
41
+ throw new Error('Unauthorized Context');
42
+ }
43
+ };
44
+ export const getConnectionByUserId = (userId)=>{
45
+ const formatUserId = parseId(userId);
46
+ const db = useDb(databaseName);
47
+ const aqlQry = aql`FOR c IN connections
48
+ FILTER c.userId == ${formatUserId}
6
49
  LIMIT 1
7
- RETURN c`;return o.query(t).then(n=>n.next()).catch(n=>{throw n})},U=e=>{const r=E(e,32),o=i(a),t=c`FOR c IN connections
8
- FILTER c.connectionId == ${r}
50
+ RETURN c`;
51
+ return db.query(aqlQry).then((cursor)=>cursor.next()).catch((error)=>{
52
+ throw error;
53
+ });
54
+ };
55
+ export const getConnectionById = (socketId)=>{
56
+ const formatSocketId = parseString(socketId, 32);
57
+ const db = useDb(databaseName);
58
+ const aqlQry = aql`FOR c IN connections
59
+ FILTER c.connectionId == ${formatSocketId}
9
60
  LET user = FIRST(
10
61
  FOR u IN users
11
62
  FILTER u.userId == c.userId
@@ -13,18 +64,42 @@ import{aql as c}from"arangojs";import{createHash as m,parseId as R,parseString a
13
64
  RETURN u;
14
65
  )
15
66
  LIMIT 1
16
- RETURN MERGE(c, {user:user}`;return o.query(t).then(n=>n.next()).catch(n=>{throw n})},D=(e,r)=>{const{session:{userId:o=""}={}}=e,t=`users/${R(o)}`,n=`conversations/${R(r)}`,I=i(a),d=c`FOR c, e IN 1..1 OUTBOUND ${t} hasConversation
17
- FILTER c._id == ${n}
67
+ RETURN MERGE(c, {user:user}`;
68
+ return db.query(aqlQry).then((cursor)=>cursor.next()).catch((error)=>{
69
+ throw error;
70
+ });
71
+ };
72
+ export const getConnectionByConvo = (context, convoId)=>{
73
+ const { session: { userId: sessionId = '' } = {} } = context;
74
+ const sessionDocId = `users/${parseId(sessionId)}`;
75
+ const convoDocId = `conversations/${parseId(convoId)}`;
76
+ const db = useDb(databaseName);
77
+ const aqlQry = aql`FOR c, e IN 1..1 OUTBOUND ${sessionDocId} hasConversation
78
+ FILTER c._id == ${convoDocId}
18
79
  LIMIT 1
19
80
  LET u = (
20
- FOR inUser, inEdge IN 1..1 INBOUND ${n} hasConversation
81
+ FOR inUser, inEdge IN 1..1 INBOUND ${convoDocId} hasConversation
21
82
  FOR n IN connections
22
83
  FILTER inUser.userId == n.userId
23
84
  RETURN n.connectionId
24
85
  )
25
- RETURN u`;return I.query(d).then(s=>s.all()).catch(s=>{throw s})},q=e=>{const r=E(e,32),o=i(a),t=c`FOR c IN connections
26
- FILTER c.connectionId == ${r}
86
+ RETURN u`;
87
+ return db.query(aqlQry).then((cursor)=>cursor.all()).catch((error)=>{
88
+ throw error;
89
+ });
90
+ };
91
+ export const removeConnection = (connectionId)=>{
92
+ // const action: string = 'delete';
93
+ const formatConnId = parseString(connectionId, 32);
94
+ const db = useDb(databaseName);
95
+ const aqlQry = aql`FOR c IN connections
96
+ FILTER c.connectionId == ${formatConnId}
27
97
  LIMIT 1
28
98
  REMOVE c IN connections
29
- RETURN OLD`;return o.query(t).then(n=>n.next()).catch(n=>{throw n})};export{g as addConnection,D as getConnectionByConvo,U as getConnectionById,C as getConnectionByUserId,q as removeConnection};
30
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2xhbWJkYXMvYWN0aW9ucy93ZWJzb2NrZXRzLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAyMS1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHthcWwsIERhdGFiYXNlfSBmcm9tICdhcmFuZ29qcyc7XG5cbmltcG9ydCB7Y3JlYXRlSGFzaCwgcGFyc2VJZCwgcGFyc2VTdHJpbmd9IGZyb20gJ0BubGFicy91dGlscy9wYXJzZXJzL3N0cmluZ3MnO1xuaW1wb3J0IHt1c2VEYn0gZnJvbSAnLi4vLi4vdXRpbHMvYXJhbmdvZGJVdGlscy5qcyc7XG5pbXBvcnQge2dldFNlc3Npb259IGZyb20gJy4uLy4uL3V0aWxzL3Nlc3Npb25VdGlscy5qcyc7XG5cbmltcG9ydCB0eXBlIHtBcWxRdWVyeX0gZnJvbSAnYXJhbmdvanMvYXFsJztcbmltcG9ydCB0eXBlIHtBcGlDb250ZXh0fSBmcm9tICcuLi8uLi90eXBlcy9hdXRoLnR5cGVzLmpzJztcbmltcG9ydCB0eXBlIHtXZWJzb2NrZXRDb25uZWN0aW9ufSBmcm9tICcuLi8uLi90eXBlcy93ZWJzb2NrZXRzLnR5cGVzLmpzJztcbmNvbnN0IHtBUkFOR09EQl9EQVRBQkFTRTogZGF0YWJhc2VOYW1lfSA9IHByb2Nlc3MuZW52O1xuXG5leHBvcnQgY29uc3QgYWRkQ29ubmVjdGlvbiA9IGFzeW5jIChjb25uZWN0aW9uSWQ6IHN0cmluZywgdG9rZW46IHN0cmluZyk6IFByb21pc2U8V2Vic29ja2V0Q29ubmVjdGlvbj4gPT4ge1xuICAvLyBjb25zdCBhY3Rpb246IHN0cmluZyA9ICdkZWxldGUnO1xuICBjb25zdCBmb3JtYXRDb25uSWQ6IHN0cmluZyA9IHBhcnNlU3RyaW5nKGNvbm5lY3Rpb25JZCwgMzIpO1xuXG4gIC8vIFZlcmlmaWVzIHRva2VuXG4gIGNvbnN0IHt1c2VySWR9ID0gZ2V0U2Vzc2lvbih0b2tlbik7XG5cbiAgaWYoIXVzZXJJZCkge1xuICAgIHJldHVybiB7XG4gICAgICBfa2V5OiAnJyxcbiAgICAgIHNvY2tldElkOiAnJyxcbiAgICAgIHVzZXJJZDogJydcbiAgICB9O1xuICB9XG5cbiAgdHJ5IHtcbiAgICBjb25zdCBkYjogRGF0YWJhc2UgPSB1c2VEYihkYXRhYmFzZU5hbWUpO1xuICAgIGNvbnN0IHVwZGF0ZSA9IHtcbiAgICAgIGNvbm5lY3Rpb25JZDogZm9ybWF0Q29ubklkLFxuICAgICAgbW9kaWZpZWQ6IERhdGUubm93KClcbiAgICB9O1xuICAgIGNvbnN0IGluc2VydCA9IHtcbiAgICAgIC4uLnVwZGF0ZSxcbiAgICAgIF9rZXk6IGNyZWF0ZUhhc2goYGNvbm5lY3Rpb24tJHtmb3JtYXRDb25uSWR9YCksXG4gICAgICB1c2VySWRcbiAgICB9O1xuICAgIGNvbnN0IGFxbFFyeTogQXFsUXVlcnkgPSBhcWxgVVBTRVJUIHt1c2VySWQ6ICR7aW5zZXJ0LnVzZXJJZH19XG4gICAgICBJTlNFUlQgJHtpbnNlcnR9XG4gICAgICBVUERBVEUgJHt1cGRhdGV9XG4gICAgICBJTiBjb25uZWN0aW9ucyBSRVRVUk4gTkVXYDtcblxuICAgIHJldHVybiBkYi5xdWVyeShhcWxRcnkpXG4gICAgICAudGhlbigoY3Vyc29yKSA9PiBjdXJzb3IubmV4dCgpKVxuICAgICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IHtcbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICB9KTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIGNvbnNvbGUubG9nKCdwYXJzZUNvbnRleHQ6OmVycm9yJywgZXJyb3IpO1xuICAgIHRocm93IG5ldyBFcnJvcignVW5hdXRob3JpemVkIENvbnRleHQnKTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGdldENvbm5lY3Rpb25CeVVzZXJJZCA9ICh1c2VySWQ/OiBzdHJpbmcpOiBQcm9taXNlPFdlYnNvY2tldENvbm5lY3Rpb24+ID0+IHtcbiAgY29uc3QgZm9ybWF0VXNlcklkOiBzdHJpbmcgPSBwYXJzZUlkKHVzZXJJZCk7XG4gIGNvbnN0IGRiOiBEYXRhYmFzZSA9IHVzZURiKGRhdGFiYXNlTmFtZSk7XG4gIGNvbnN0IGFxbFFyeSA9IGFxbGBGT1IgYyBJTiBjb25uZWN0aW9uc1xuICAgIEZJTFRFUiBjLnVzZXJJZCA9PSAke2Zvcm1hdFVzZXJJZH1cbiAgICBMSU1JVCAxXG4gICAgUkVUVVJOIGNgO1xuXG4gIHJldHVybiBkYi5xdWVyeShhcWxRcnkpXG4gICAgLnRoZW4oKGN1cnNvcikgPT4gY3Vyc29yLm5leHQoKSlcbiAgICAuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4ge1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0Q29ubmVjdGlvbkJ5SWQgPSAoc29ja2V0SWQ6IHN0cmluZyk6IFByb21pc2U8V2Vic29ja2V0Q29ubmVjdGlvbj4gPT4ge1xuICBjb25zdCBmb3JtYXRTb2NrZXRJZDogc3RyaW5nID0gcGFyc2VTdHJpbmcoc29ja2V0SWQsIDMyKTtcbiAgY29uc3QgZGI6IERhdGFiYXNlID0gdXNlRGIoZGF0YWJhc2VOYW1lKTtcbiAgY29uc3QgYXFsUXJ5ID0gYXFsYEZPUiBjIElOIGNvbm5lY3Rpb25zXG4gICAgRklMVEVSIGMuY29ubmVjdGlvbklkID09ICR7Zm9ybWF0U29ja2V0SWR9XG4gICAgTEVUIHVzZXIgPSBGSVJTVChcbiAgICAgIEZPUiB1IElOIHVzZXJzXG4gICAgICBGSUxURVIgdS51c2VySWQgPT0gYy51c2VySWRcbiAgICAgIExJTUlUIDFcbiAgICAgIFJFVFVSTiB1O1xuICAgIClcbiAgICBMSU1JVCAxXG4gICAgUkVUVVJOIE1FUkdFKGMsIHt1c2VyOnVzZXJ9YDtcblxuICByZXR1cm4gZGIucXVlcnkoYXFsUXJ5KVxuICAgIC50aGVuKChjdXJzb3IpID0+IGN1cnNvci5uZXh0KCkpXG4gICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IHtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldENvbm5lY3Rpb25CeUNvbnZvID0gKGNvbnRleHQ6IEFwaUNvbnRleHQsIGNvbnZvSWQ6IHN0cmluZyk6IFByb21pc2U8V2Vic29ja2V0Q29ubmVjdGlvbltdPiA9PiB7XG4gIGNvbnN0IHtzZXNzaW9uOiB7dXNlcklkOiBzZXNzaW9uSWQgPSAnJ30gPSB7fX0gPSBjb250ZXh0O1xuICBjb25zdCBzZXNzaW9uRG9jSWQ6IHN0cmluZyA9IGB1c2Vycy8ke3BhcnNlSWQoc2Vzc2lvbklkKX1gO1xuICBjb25zdCBjb252b0RvY0lkOiBzdHJpbmcgPSBgY29udmVyc2F0aW9ucy8ke3BhcnNlSWQoY29udm9JZCl9YDtcbiAgY29uc3QgZGI6IERhdGFiYXNlID0gdXNlRGIoZGF0YWJhc2VOYW1lKTtcbiAgY29uc3QgYXFsUXJ5ID0gYXFsYEZPUiBjLCBlIElOIDEuLjEgT1VUQk9VTkQgJHtzZXNzaW9uRG9jSWR9IGhhc0NvbnZlcnNhdGlvblxuICBGSUxURVIgYy5faWQgPT0gJHtjb252b0RvY0lkfVxuICBMSU1JVCAxXG4gIExFVCB1ID0gKFxuICAgIEZPUiBpblVzZXIsIGluRWRnZSBJTiAxLi4xIElOQk9VTkQgJHtjb252b0RvY0lkfSBoYXNDb252ZXJzYXRpb25cbiAgICBGT1IgbiBJTiBjb25uZWN0aW9uc1xuICAgIEZJTFRFUiBpblVzZXIudXNlcklkID09IG4udXNlcklkXG4gICAgUkVUVVJOIG4uY29ubmVjdGlvbklkXG4gIClcbiAgUkVUVVJOIHVgO1xuXG4gIHJldHVybiBkYi5xdWVyeShhcWxRcnkpXG4gICAgLnRoZW4oKGN1cnNvcikgPT4gY3Vyc29yLmFsbCgpKVxuICAgIC5jYXRjaCgoZXJyb3I6IEVycm9yKSA9PiB7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCByZW1vdmVDb25uZWN0aW9uID0gKGNvbm5lY3Rpb25JZDogc3RyaW5nKTogUHJvbWlzZTxXZWJzb2NrZXRDb25uZWN0aW9uPiA9PiB7XG4gIC8vIGNvbnN0IGFjdGlvbjogc3RyaW5nID0gJ2RlbGV0ZSc7XG4gIGNvbnN0IGZvcm1hdENvbm5JZDogc3RyaW5nID0gcGFyc2VTdHJpbmcoY29ubmVjdGlvbklkLCAzMik7XG4gIGNvbnN0IGRiOiBEYXRhYmFzZSA9IHVzZURiKGRhdGFiYXNlTmFtZSk7XG4gIGNvbnN0IGFxbFFyeSA9IGFxbGBGT1IgYyBJTiBjb25uZWN0aW9uc1xuICAgICAgRklMVEVSIGMuY29ubmVjdGlvbklkID09ICR7Zm9ybWF0Q29ubklkfVxuICAgICAgTElNSVQgMVxuICAgICAgUkVNT1ZFIGMgSU4gY29ubmVjdGlvbnNcbiAgICAgIFJFVFVSTiBPTERgO1xuXG4gIHJldHVybiBkYi5xdWVyeShhcWxRcnkpXG4gICAgLnRoZW4oKGN1cnNvcikgPT4gY3Vyc29yLm5leHQoKSlcbiAgICAuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4ge1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfSk7XG59O1xuIl0sCiAgIm1hcHBpbmdzIjogIkFBSUEsT0FBUSxPQUFBQSxNQUFvQixXQUU1QixPQUFRLGNBQUFDLEVBQVksV0FBQUMsRUFBUyxlQUFBQyxNQUFrQiwrQkFDL0MsT0FBUSxTQUFBQyxNQUFZLCtCQUNwQixPQUFRLGNBQUFDLE1BQWlCLDhCQUt6QixLQUFNLENBQUMsa0JBQW1CQyxDQUFZLEVBQUksUUFBUSxJQUVyQ0MsRUFBZ0IsTUFBT0MsRUFBc0JDLElBQWdELENBRXhHLE1BQU1DLEVBQXVCUCxFQUFZSyxFQUFjLEVBQUUsRUFHbkQsQ0FBQyxPQUFBRyxDQUFNLEVBQUlOLEVBQVdJLENBQUssRUFFakMsR0FBRyxDQUFDRSxFQUNGLE1BQU8sQ0FDTCxLQUFNLEdBQ04sU0FBVSxHQUNWLE9BQVEsRUFDVixFQUdGLEdBQUksQ0FDRixNQUFNQyxFQUFlUixFQUFNRSxDQUFZLEVBQ2pDTyxFQUFTLENBQ2IsYUFBY0gsRUFDZCxTQUFVLEtBQUssSUFBSSxDQUNyQixFQUNNSSxFQUFTLENBQ2IsR0FBR0QsRUFDSCxLQUFNWixFQUFXLGNBQWNTLENBQVksRUFBRSxFQUM3QyxPQUFBQyxDQUNGLEVBQ01JLEVBQW1CZixvQkFBc0JjLEVBQU8sTUFBTTtBQUFBLGVBQ2pEQSxDQUFNO0FBQUEsZUFDTkQsQ0FBTTtBQUFBLGlDQUdqQixPQUFPRCxFQUFHLE1BQU1HLENBQU0sRUFDbkIsS0FBTUMsR0FBV0EsRUFBTyxLQUFLLENBQUMsRUFDOUIsTUFBT0MsR0FBaUIsQ0FDdkIsTUFBTUEsQ0FDUixDQUFDLENBQ0wsTUFBZSxDQUViLE1BQU0sSUFBSSxNQUFNLHNCQUFzQixDQUN4QyxDQUNGLEVBRWFDLEVBQXlCUCxHQUFrRCxDQUN0RixNQUFNUSxFQUF1QmpCLEVBQVFTLENBQU0sRUFDckNDLEVBQWVSLEVBQU1FLENBQVksRUFDakNTLEVBQVNmO0FBQUEseUJBQ1FtQixDQUFZO0FBQUE7QUFBQSxjQUluQyxPQUFPUCxFQUFHLE1BQU1HLENBQU0sRUFDbkIsS0FBTUMsR0FBV0EsRUFBTyxLQUFLLENBQUMsRUFDOUIsTUFBT0MsR0FBaUIsQ0FDdkIsTUFBTUEsQ0FDUixDQUFDLENBQ0wsRUFFYUcsRUFBcUJDLEdBQW1ELENBQ25GLE1BQU1DLEVBQXlCbkIsRUFBWWtCLEVBQVUsRUFBRSxFQUNqRFQsRUFBZVIsRUFBTUUsQ0FBWSxFQUNqQ1MsRUFBU2Y7QUFBQSwrQkFDY3NCLENBQWM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLGlDQVUzQyxPQUFPVixFQUFHLE1BQU1HLENBQU0sRUFDbkIsS0FBTUMsR0FBV0EsRUFBTyxLQUFLLENBQUMsRUFDOUIsTUFBT0MsR0FBaUIsQ0FDdkIsTUFBTUEsQ0FDUixDQUFDLENBQ0wsRUFFYU0sRUFBdUIsQ0FBQ0MsRUFBcUJDLElBQW9ELENBQzVHLEtBQU0sQ0FBQyxRQUFTLENBQUMsT0FBUUMsRUFBWSxFQUFFLEVBQUksQ0FBQyxDQUFDLEVBQUlGLEVBQzNDRyxFQUF1QixTQUFTekIsRUFBUXdCLENBQVMsQ0FBQyxHQUNsREUsRUFBcUIsaUJBQWlCMUIsRUFBUXVCLENBQU8sQ0FBQyxHQUN0RGIsRUFBZVIsRUFBTUUsQ0FBWSxFQUNqQ1MsRUFBU2YsOEJBQWdDMkIsQ0FBWTtBQUFBLG9CQUN6Q0MsQ0FBVTtBQUFBO0FBQUE7QUFBQSx5Q0FHV0EsQ0FBVTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsWUFPakQsT0FBT2hCLEVBQUcsTUFBTUcsQ0FBTSxFQUNuQixLQUFNQyxHQUFXQSxFQUFPLElBQUksQ0FBQyxFQUM3QixNQUFPQyxHQUFpQixDQUN2QixNQUFNQSxDQUNSLENBQUMsQ0FDTCxFQUVhWSxFQUFvQnJCLEdBQXVELENBRXRGLE1BQU1FLEVBQXVCUCxFQUFZSyxFQUFjLEVBQUUsRUFDbkRJLEVBQWVSLEVBQU1FLENBQVksRUFDakNTLEVBQVNmO0FBQUEsaUNBQ2dCVSxDQUFZO0FBQUE7QUFBQTtBQUFBLGtCQUszQyxPQUFPRSxFQUFHLE1BQU1HLENBQU0sRUFDbkIsS0FBTUMsR0FBV0EsRUFBTyxLQUFLLENBQUMsRUFDOUIsTUFBT0MsR0FBaUIsQ0FDdkIsTUFBTUEsQ0FDUixDQUFDLENBQ0wiLAogICJuYW1lcyI6IFsiYXFsIiwgImNyZWF0ZUhhc2giLCAicGFyc2VJZCIsICJwYXJzZVN0cmluZyIsICJ1c2VEYiIsICJnZXRTZXNzaW9uIiwgImRhdGFiYXNlTmFtZSIsICJhZGRDb25uZWN0aW9uIiwgImNvbm5lY3Rpb25JZCIsICJ0b2tlbiIsICJmb3JtYXRDb25uSWQiLCAidXNlcklkIiwgImRiIiwgInVwZGF0ZSIsICJpbnNlcnQiLCAiYXFsUXJ5IiwgImN1cnNvciIsICJlcnJvciIsICJnZXRDb25uZWN0aW9uQnlVc2VySWQiLCAiZm9ybWF0VXNlcklkIiwgImdldENvbm5lY3Rpb25CeUlkIiwgInNvY2tldElkIiwgImZvcm1hdFNvY2tldElkIiwgImdldENvbm5lY3Rpb25CeUNvbnZvIiwgImNvbnRleHQiLCAiY29udm9JZCIsICJzZXNzaW9uSWQiLCAic2Vzc2lvbkRvY0lkIiwgImNvbnZvRG9jSWQiLCAicmVtb3ZlQ29ubmVjdGlvbiJdCn0K
99
+ RETURN OLD`;
100
+ return db.query(aqlQry).then((cursor)=>cursor.next()).catch((error)=>{
101
+ throw error;
102
+ });
103
+ };
104
+
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3Ivc3JjL2xhbWJkYXMvYWN0aW9ucy93ZWJzb2NrZXRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDIxLVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQge2FxbCwgRGF0YWJhc2V9IGZyb20gJ2FyYW5nb2pzJztcblxuaW1wb3J0IHtjcmVhdGVIYXNoLCBwYXJzZUlkLCBwYXJzZVN0cmluZ30gZnJvbSAnQG5sYWJzL3V0aWxzL3BhcnNlcnMvc3RyaW5ncyc7XG5pbXBvcnQge3VzZURifSBmcm9tICcuLi8uLi91dGlscy9hcmFuZ29kYlV0aWxzLmpzJztcbmltcG9ydCB7Z2V0U2Vzc2lvbn0gZnJvbSAnLi4vLi4vdXRpbHMvc2Vzc2lvblV0aWxzLmpzJztcblxuaW1wb3J0IHR5cGUge0FxbFF1ZXJ5fSBmcm9tICdhcmFuZ29qcy9hcWwnO1xuaW1wb3J0IHR5cGUge0FwaUNvbnRleHR9IGZyb20gJy4uLy4uL3R5cGVzL2F1dGgudHlwZXMuanMnO1xuaW1wb3J0IHR5cGUge1dlYnNvY2tldENvbm5lY3Rpb259IGZyb20gJy4uLy4uL3R5cGVzL3dlYnNvY2tldHMudHlwZXMuanMnO1xuY29uc3Qge0FSQU5HT0RCX0RBVEFCQVNFOiBkYXRhYmFzZU5hbWV9ID0gcHJvY2Vzcy5lbnY7XG5cbmV4cG9ydCBjb25zdCBhZGRDb25uZWN0aW9uID0gYXN5bmMgKGNvbm5lY3Rpb25JZDogc3RyaW5nLCB0b2tlbjogc3RyaW5nKTogUHJvbWlzZTxXZWJzb2NrZXRDb25uZWN0aW9uPiA9PiB7XG4gIC8vIGNvbnN0IGFjdGlvbjogc3RyaW5nID0gJ2RlbGV0ZSc7XG4gIGNvbnN0IGZvcm1hdENvbm5JZDogc3RyaW5nID0gcGFyc2VTdHJpbmcoY29ubmVjdGlvbklkLCAzMik7XG5cbiAgLy8gVmVyaWZpZXMgdG9rZW5cbiAgY29uc3Qge3VzZXJJZH0gPSBnZXRTZXNzaW9uKHRva2VuKTtcblxuICBpZighdXNlcklkKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIF9rZXk6ICcnLFxuICAgICAgc29ja2V0SWQ6ICcnLFxuICAgICAgdXNlcklkOiAnJ1xuICAgIH07XG4gIH1cblxuICB0cnkge1xuICAgIGNvbnN0IGRiOiBEYXRhYmFzZSA9IHVzZURiKGRhdGFiYXNlTmFtZSk7XG4gICAgY29uc3QgdXBkYXRlID0ge1xuICAgICAgY29ubmVjdGlvbklkOiBmb3JtYXRDb25uSWQsXG4gICAgICBtb2RpZmllZDogRGF0ZS5ub3coKVxuICAgIH07XG4gICAgY29uc3QgaW5zZXJ0ID0ge1xuICAgICAgLi4udXBkYXRlLFxuICAgICAgX2tleTogY3JlYXRlSGFzaChgY29ubmVjdGlvbi0ke2Zvcm1hdENvbm5JZH1gKSxcbiAgICAgIHVzZXJJZFxuICAgIH07XG4gICAgY29uc3QgYXFsUXJ5OiBBcWxRdWVyeSA9IGFxbGBVUFNFUlQge3VzZXJJZDogJHtpbnNlcnQudXNlcklkfX1cbiAgICAgIElOU0VSVCAke2luc2VydH1cbiAgICAgIFVQREFURSAke3VwZGF0ZX1cbiAgICAgIElOIGNvbm5lY3Rpb25zIFJFVFVSTiBORVdgO1xuXG4gICAgcmV0dXJuIGRiLnF1ZXJ5KGFxbFFyeSlcbiAgICAgIC50aGVuKChjdXJzb3IpID0+IGN1cnNvci5uZXh0KCkpXG4gICAgICAuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4ge1xuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgIH0pO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgY29uc29sZS5sb2coJ3BhcnNlQ29udGV4dDo6ZXJyb3InLCBlcnJvcik7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdVbmF1dGhvcml6ZWQgQ29udGV4dCcpO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0Q29ubmVjdGlvbkJ5VXNlcklkID0gKHVzZXJJZD86IHN0cmluZyk6IFByb21pc2U8V2Vic29ja2V0Q29ubmVjdGlvbj4gPT4ge1xuICBjb25zdCBmb3JtYXRVc2VySWQ6IHN0cmluZyA9IHBhcnNlSWQodXNlcklkKTtcbiAgY29uc3QgZGI6IERhdGFiYXNlID0gdXNlRGIoZGF0YWJhc2VOYW1lKTtcbiAgY29uc3QgYXFsUXJ5ID0gYXFsYEZPUiBjIElOIGNvbm5lY3Rpb25zXG4gICAgRklMVEVSIGMudXNlcklkID09ICR7Zm9ybWF0VXNlcklkfVxuICAgIExJTUlUIDFcbiAgICBSRVRVUk4gY2A7XG5cbiAgcmV0dXJuIGRiLnF1ZXJ5KGFxbFFyeSlcbiAgICAudGhlbigoY3Vyc29yKSA9PiBjdXJzb3IubmV4dCgpKVxuICAgIC5jYXRjaCgoZXJyb3I6IEVycm9yKSA9PiB7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRDb25uZWN0aW9uQnlJZCA9IChzb2NrZXRJZDogc3RyaW5nKTogUHJvbWlzZTxXZWJzb2NrZXRDb25uZWN0aW9uPiA9PiB7XG4gIGNvbnN0IGZvcm1hdFNvY2tldElkOiBzdHJpbmcgPSBwYXJzZVN0cmluZyhzb2NrZXRJZCwgMzIpO1xuICBjb25zdCBkYjogRGF0YWJhc2UgPSB1c2VEYihkYXRhYmFzZU5hbWUpO1xuICBjb25zdCBhcWxRcnkgPSBhcWxgRk9SIGMgSU4gY29ubmVjdGlvbnNcbiAgICBGSUxURVIgYy5jb25uZWN0aW9uSWQgPT0gJHtmb3JtYXRTb2NrZXRJZH1cbiAgICBMRVQgdXNlciA9IEZJUlNUKFxuICAgICAgRk9SIHUgSU4gdXNlcnNcbiAgICAgIEZJTFRFUiB1LnVzZXJJZCA9PSBjLnVzZXJJZFxuICAgICAgTElNSVQgMVxuICAgICAgUkVUVVJOIHU7XG4gICAgKVxuICAgIExJTUlUIDFcbiAgICBSRVRVUk4gTUVSR0UoYywge3VzZXI6dXNlcn1gO1xuXG4gIHJldHVybiBkYi5xdWVyeShhcWxRcnkpXG4gICAgLnRoZW4oKGN1cnNvcikgPT4gY3Vyc29yLm5leHQoKSlcbiAgICAuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4ge1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0Q29ubmVjdGlvbkJ5Q29udm8gPSAoY29udGV4dDogQXBpQ29udGV4dCwgY29udm9JZDogc3RyaW5nKTogUHJvbWlzZTxXZWJzb2NrZXRDb25uZWN0aW9uW10+ID0+IHtcbiAgY29uc3Qge3Nlc3Npb246IHt1c2VySWQ6IHNlc3Npb25JZCA9ICcnfSA9IHt9fSA9IGNvbnRleHQ7XG4gIGNvbnN0IHNlc3Npb25Eb2NJZDogc3RyaW5nID0gYHVzZXJzLyR7cGFyc2VJZChzZXNzaW9uSWQpfWA7XG4gIGNvbnN0IGNvbnZvRG9jSWQ6IHN0cmluZyA9IGBjb252ZXJzYXRpb25zLyR7cGFyc2VJZChjb252b0lkKX1gO1xuICBjb25zdCBkYjogRGF0YWJhc2UgPSB1c2VEYihkYXRhYmFzZU5hbWUpO1xuICBjb25zdCBhcWxRcnkgPSBhcWxgRk9SIGMsIGUgSU4gMS4uMSBPVVRCT1VORCAke3Nlc3Npb25Eb2NJZH0gaGFzQ29udmVyc2F0aW9uXG4gIEZJTFRFUiBjLl9pZCA9PSAke2NvbnZvRG9jSWR9XG4gIExJTUlUIDFcbiAgTEVUIHUgPSAoXG4gICAgRk9SIGluVXNlciwgaW5FZGdlIElOIDEuLjEgSU5CT1VORCAke2NvbnZvRG9jSWR9IGhhc0NvbnZlcnNhdGlvblxuICAgIEZPUiBuIElOIGNvbm5lY3Rpb25zXG4gICAgRklMVEVSIGluVXNlci51c2VySWQgPT0gbi51c2VySWRcbiAgICBSRVRVUk4gbi5jb25uZWN0aW9uSWRcbiAgKVxuICBSRVRVUk4gdWA7XG5cbiAgcmV0dXJuIGRiLnF1ZXJ5KGFxbFFyeSlcbiAgICAudGhlbigoY3Vyc29yKSA9PiBjdXJzb3IuYWxsKCkpXG4gICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IHtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IHJlbW92ZUNvbm5lY3Rpb24gPSAoY29ubmVjdGlvbklkOiBzdHJpbmcpOiBQcm9taXNlPFdlYnNvY2tldENvbm5lY3Rpb24+ID0+IHtcbiAgLy8gY29uc3QgYWN0aW9uOiBzdHJpbmcgPSAnZGVsZXRlJztcbiAgY29uc3QgZm9ybWF0Q29ubklkOiBzdHJpbmcgPSBwYXJzZVN0cmluZyhjb25uZWN0aW9uSWQsIDMyKTtcbiAgY29uc3QgZGI6IERhdGFiYXNlID0gdXNlRGIoZGF0YWJhc2VOYW1lKTtcbiAgY29uc3QgYXFsUXJ5ID0gYXFsYEZPUiBjIElOIGNvbm5lY3Rpb25zXG4gICAgICBGSUxURVIgYy5jb25uZWN0aW9uSWQgPT0gJHtmb3JtYXRDb25uSWR9XG4gICAgICBMSU1JVCAxXG4gICAgICBSRU1PVkUgYyBJTiBjb25uZWN0aW9uc1xuICAgICAgUkVUVVJOIE9MRGA7XG5cbiAgcmV0dXJuIGRiLnF1ZXJ5KGFxbFFyeSlcbiAgICAudGhlbigoY3Vyc29yKSA9PiBjdXJzb3IubmV4dCgpKVxuICAgIC5jYXRjaCgoZXJyb3I6IEVycm9yKSA9PiB7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9KTtcbn07XG4iXSwibmFtZXMiOlsiYXFsIiwiY3JlYXRlSGFzaCIsInBhcnNlSWQiLCJwYXJzZVN0cmluZyIsInVzZURiIiwiZ2V0U2Vzc2lvbiIsIkFSQU5HT0RCX0RBVEFCQVNFIiwiZGF0YWJhc2VOYW1lIiwicHJvY2VzcyIsImVudiIsImFkZENvbm5lY3Rpb24iLCJjb25uZWN0aW9uSWQiLCJ0b2tlbiIsImZvcm1hdENvbm5JZCIsInVzZXJJZCIsIl9rZXkiLCJzb2NrZXRJZCIsImRiIiwidXBkYXRlIiwibW9kaWZpZWQiLCJEYXRlIiwibm93IiwiaW5zZXJ0IiwiYXFsUXJ5IiwicXVlcnkiLCJ0aGVuIiwiY3Vyc29yIiwibmV4dCIsImNhdGNoIiwiZXJyb3IiLCJjb25zb2xlIiwibG9nIiwiRXJyb3IiLCJnZXRDb25uZWN0aW9uQnlVc2VySWQiLCJmb3JtYXRVc2VySWQiLCJnZXRDb25uZWN0aW9uQnlJZCIsImZvcm1hdFNvY2tldElkIiwiZ2V0Q29ubmVjdGlvbkJ5Q29udm8iLCJjb250ZXh0IiwiY29udm9JZCIsInNlc3Npb24iLCJzZXNzaW9uSWQiLCJzZXNzaW9uRG9jSWQiLCJjb252b0RvY0lkIiwiYWxsIiwicmVtb3ZlQ29ubmVjdGlvbiJdLCJtYXBwaW5ncyI6IkFBQUE7OztDQUdDLEdBQ0QsU0FBUUEsR0FBRyxRQUFpQixXQUFXO0FBRXZDLFNBQVFDLFVBQVUsRUFBRUMsT0FBTyxFQUFFQyxXQUFXLFFBQU8sK0JBQStCO0FBQzlFLFNBQVFDLEtBQUssUUFBTywrQkFBK0I7QUFDbkQsU0FBUUMsVUFBVSxRQUFPLDhCQUE4QjtBQUt2RCxNQUFNLEVBQUNDLG1CQUFtQkMsWUFBWSxFQUFDLEdBQUdDLFFBQVFDLEdBQUc7QUFFckQsT0FBTyxNQUFNQyxnQkFBZ0IsT0FBT0MsY0FBc0JDO0lBQ3hELG1DQUFtQztJQUNuQyxNQUFNQyxlQUF1QlYsWUFBWVEsY0FBYztJQUV2RCxpQkFBaUI7SUFDakIsTUFBTSxFQUFDRyxNQUFNLEVBQUMsR0FBR1QsV0FBV087SUFFNUIsSUFBRyxDQUFDRSxRQUFRO1FBQ1YsT0FBTztZQUNMQyxNQUFNO1lBQ05DLFVBQVU7WUFDVkYsUUFBUTtRQUNWO0lBQ0Y7SUFFQSxJQUFJO1FBQ0YsTUFBTUcsS0FBZWIsTUFBTUc7UUFDM0IsTUFBTVcsU0FBUztZQUNiUCxjQUFjRTtZQUNkTSxVQUFVQyxLQUFLQyxHQUFHO1FBQ3BCO1FBQ0EsTUFBTUMsU0FBUztZQUNiLEdBQUdKLE1BQU07WUFDVEgsTUFBTWQsV0FBVyxDQUFDLFdBQVcsRUFBRVksY0FBYztZQUM3Q0M7UUFDRjtRQUNBLE1BQU1TLFNBQW1CdkIsR0FBRyxDQUFDLGdCQUFnQixFQUFFc0IsT0FBT1IsTUFBTSxDQUFDO2FBQ3BELEVBQUVRLE9BQU87YUFDVCxFQUFFSixPQUFPOytCQUNTLENBQUM7UUFFNUIsT0FBT0QsR0FBR08sS0FBSyxDQUFDRCxRQUNiRSxJQUFJLENBQUMsQ0FBQ0MsU0FBV0EsT0FBT0MsSUFBSSxJQUM1QkMsS0FBSyxDQUFDLENBQUNDO1lBQ04sTUFBTUE7UUFDUjtJQUNKLEVBQUUsT0FBTUEsT0FBTztRQUNiQyxRQUFRQyxHQUFHLENBQUMsdUJBQXVCRjtRQUNuQyxNQUFNLElBQUlHLE1BQU07SUFDbEI7QUFDRixFQUFFO0FBRUYsT0FBTyxNQUFNQyx3QkFBd0IsQ0FBQ25CO0lBQ3BDLE1BQU1vQixlQUF1QmhDLFFBQVFZO0lBQ3JDLE1BQU1HLEtBQWViLE1BQU1HO0lBQzNCLE1BQU1nQixTQUFTdkIsR0FBRyxDQUFDO3VCQUNFLEVBQUVrQyxhQUFhOztZQUUxQixDQUFDO0lBRVgsT0FBT2pCLEdBQUdPLEtBQUssQ0FBQ0QsUUFDYkUsSUFBSSxDQUFDLENBQUNDLFNBQVdBLE9BQU9DLElBQUksSUFDNUJDLEtBQUssQ0FBQyxDQUFDQztRQUNOLE1BQU1BO0lBQ1I7QUFDSixFQUFFO0FBRUYsT0FBTyxNQUFNTSxvQkFBb0IsQ0FBQ25CO0lBQ2hDLE1BQU1vQixpQkFBeUJqQyxZQUFZYSxVQUFVO0lBQ3JELE1BQU1DLEtBQWViLE1BQU1HO0lBQzNCLE1BQU1nQixTQUFTdkIsR0FBRyxDQUFDOzZCQUNRLEVBQUVvQyxlQUFlOzs7Ozs7OzsrQkFRZixDQUFDO0lBRTlCLE9BQU9uQixHQUFHTyxLQUFLLENBQUNELFFBQ2JFLElBQUksQ0FBQyxDQUFDQyxTQUFXQSxPQUFPQyxJQUFJLElBQzVCQyxLQUFLLENBQUMsQ0FBQ0M7UUFDTixNQUFNQTtJQUNSO0FBQ0osRUFBRTtBQUVGLE9BQU8sTUFBTVEsdUJBQXVCLENBQUNDLFNBQXFCQztJQUN4RCxNQUFNLEVBQUNDLFNBQVMsRUFBQzFCLFFBQVEyQixZQUFZLEVBQUUsRUFBQyxHQUFHLENBQUMsQ0FBQyxFQUFDLEdBQUdIO0lBQ2pELE1BQU1JLGVBQXVCLENBQUMsTUFBTSxFQUFFeEMsUUFBUXVDLFlBQVk7SUFDMUQsTUFBTUUsYUFBcUIsQ0FBQyxjQUFjLEVBQUV6QyxRQUFRcUMsVUFBVTtJQUM5RCxNQUFNdEIsS0FBZWIsTUFBTUc7SUFDM0IsTUFBTWdCLFNBQVN2QixHQUFHLENBQUMsMEJBQTBCLEVBQUUwQyxhQUFhO2tCQUM1QyxFQUFFQyxXQUFXOzs7dUNBR1EsRUFBRUEsV0FBVzs7Ozs7VUFLMUMsQ0FBQztJQUVULE9BQU8xQixHQUFHTyxLQUFLLENBQUNELFFBQ2JFLElBQUksQ0FBQyxDQUFDQyxTQUFXQSxPQUFPa0IsR0FBRyxJQUMzQmhCLEtBQUssQ0FBQyxDQUFDQztRQUNOLE1BQU1BO0lBQ1I7QUFDSixFQUFFO0FBRUYsT0FBTyxNQUFNZ0IsbUJBQW1CLENBQUNsQztJQUMvQixtQ0FBbUM7SUFDbkMsTUFBTUUsZUFBdUJWLFlBQVlRLGNBQWM7SUFDdkQsTUFBTU0sS0FBZWIsTUFBTUc7SUFDM0IsTUFBTWdCLFNBQVN2QixHQUFHLENBQUM7K0JBQ1UsRUFBRWEsYUFBYTs7O2dCQUc5QixDQUFDO0lBRWYsT0FBT0ksR0FBR08sS0FBSyxDQUFDRCxRQUNiRSxJQUFJLENBQUMsQ0FBQ0MsU0FBV0EsT0FBT0MsSUFBSSxJQUM1QkMsS0FBSyxDQUFDLENBQUNDO1FBQ04sTUFBTUE7SUFDUjtBQUNKLEVBQUUifQ==
@@ -18,3 +18,4 @@ export declare const generateAuthResponse: (principalId: any, effect: any, metho
18
18
  };
19
19
  };
20
20
  export declare const authorizer: (event: any, context: any, callback: any) => any;
21
+ //# sourceMappingURL=authorizer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authorizer.d.ts","sourceRoot":"","sources":["../../src/lambdas/authorizer.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,sBAAsB,GAAI,WAAM,EAAE,cAAS;;;;;;;CAiBvD,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,gBAAW,EAAE,WAAM,EAAE,cAAS;;;;;;;;;;CAOlE,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,UAAK,EAAE,YAAO,EAAE,aAAQ,QAelD,CAAC"}
@@ -1,2 +1,41 @@
1
- import{getSession as c}from"../utils/sessionUtils.js";const l=(e,n)=>!e||!n?null:{Version:"2012-10-17",Statement:[{Action:"execute-api:Invoke",Effect:e,Resource:n}]},i=(e,n,t)=>{const o=l(n,t);return{principalId:e,policyDocument:o}},m=(e,n,t)=>{const{authorizationToken:o="",methodArn:r}=e,s=o.replace(/bearer/i,"").trim();if(!s||!r)return t(null,"Unauthorized");const u=c(s);return u?.userId?t(null,i(u.userId,"Allow",r)):t(null,i(u?.userId,"Deny",r))};export{m as authorizer,i as generateAuthResponse,l as generatePolicyDocument};
2
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2xhbWJkYXMvYXV0aG9yaXplci50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjEtUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cbmltcG9ydCB7Z2V0U2Vzc2lvbn0gZnJvbSAnLi4vdXRpbHMvc2Vzc2lvblV0aWxzLmpzJztcblxuZXhwb3J0IGNvbnN0IGdlbmVyYXRlUG9saWN5RG9jdW1lbnQgPSAoZWZmZWN0LCBtZXRob2RBcm4pID0+IHtcbiAgaWYoIWVmZmVjdCB8fCAhbWV0aG9kQXJuKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBwb2xpY3lEb2N1bWVudCA9IHtcbiAgICBWZXJzaW9uOiAnMjAxMi0xMC0xNycsXG4gICAgU3RhdGVtZW50OiBbXG4gICAgICB7XG4gICAgICAgIEFjdGlvbjogJ2V4ZWN1dGUtYXBpOkludm9rZScsXG4gICAgICAgIEVmZmVjdDogZWZmZWN0LFxuICAgICAgICBSZXNvdXJjZTogbWV0aG9kQXJuXG4gICAgICB9XG4gICAgXVxuICB9O1xuXG4gIHJldHVybiBwb2xpY3lEb2N1bWVudDtcbn07XG5cbmV4cG9ydCBjb25zdCBnZW5lcmF0ZUF1dGhSZXNwb25zZSA9IChwcmluY2lwYWxJZCwgZWZmZWN0LCBtZXRob2RBcm4pID0+IHtcbiAgY29uc3QgcG9saWN5RG9jdW1lbnQgPSBnZW5lcmF0ZVBvbGljeURvY3VtZW50KGVmZmVjdCwgbWV0aG9kQXJuKTtcblxuICByZXR1cm4ge1xuICAgIHByaW5jaXBhbElkLFxuICAgIHBvbGljeURvY3VtZW50XG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgYXV0aG9yaXplciA9IChldmVudCwgY29udGV4dCwgY2FsbGJhY2spID0+IHtcbiAgY29uc3Qge2F1dGhvcml6YXRpb25Ub2tlbiA9ICcnLCBtZXRob2RBcm59ID0gZXZlbnQ7XG4gIGNvbnN0IHRva2VuID0gYXV0aG9yaXphdGlvblRva2VuLnJlcGxhY2UoL2JlYXJlci9pLCAnJykudHJpbSgpO1xuXG4gIGlmKCF0b2tlbiB8fCAhbWV0aG9kQXJuKSB7XG4gICAgcmV0dXJuIGNhbGxiYWNrKG51bGwsICdVbmF1dGhvcml6ZWQnKTtcbiAgfVxuXG4gIGNvbnN0IHNlc3Npb24gPSBnZXRTZXNzaW9uKHRva2VuKTtcblxuICBpZihzZXNzaW9uPy51c2VySWQpIHtcbiAgICByZXR1cm4gY2FsbGJhY2sobnVsbCwgZ2VuZXJhdGVBdXRoUmVzcG9uc2Uoc2Vzc2lvbi51c2VySWQsICdBbGxvdycsIG1ldGhvZEFybikpO1xuICB9XG5cbiAgcmV0dXJuIGNhbGxiYWNrKG51bGwsIGdlbmVyYXRlQXV0aFJlc3BvbnNlKHNlc3Npb24/LnVzZXJJZCwgJ0RlbnknLCBtZXRob2RBcm4pKTtcbn07XG4iXSwKICAibWFwcGluZ3MiOiAiQUFJQSxPQUFRLGNBQUFBLE1BQWlCLDJCQUVsQixNQUFNQyxFQUF5QixDQUFDQyxFQUFRQyxJQUMxQyxDQUFDRCxHQUFVLENBQUNDLEVBQ04sS0FHYyxDQUNyQixRQUFTLGFBQ1QsVUFBVyxDQUNULENBQ0UsT0FBUSxxQkFDUixPQUFRRCxFQUNSLFNBQVVDLENBQ1osQ0FDRixDQUNGLEVBS1dDLEVBQXVCLENBQUNDLEVBQWFILEVBQVFDLElBQWMsQ0FDdEUsTUFBTUcsRUFBaUJMLEVBQXVCQyxFQUFRQyxDQUFTLEVBRS9ELE1BQU8sQ0FDTCxZQUFBRSxFQUNBLGVBQUFDLENBQ0YsQ0FDRixFQUVhQyxFQUFhLENBQUNDLEVBQU9DLEVBQVNDLElBQWEsQ0FDdEQsS0FBTSxDQUFDLG1CQUFBQyxFQUFxQixHQUFJLFVBQUFSLENBQVMsRUFBSUssRUFDdkNJLEVBQVFELEVBQW1CLFFBQVEsVUFBVyxFQUFFLEVBQUUsS0FBSyxFQUU3RCxHQUFHLENBQUNDLEdBQVMsQ0FBQ1QsRUFDWixPQUFPTyxFQUFTLEtBQU0sY0FBYyxFQUd0QyxNQUFNRyxFQUFVYixFQUFXWSxDQUFLLEVBRWhDLE9BQUdDLEdBQVMsT0FDSEgsRUFBUyxLQUFNTixFQUFxQlMsRUFBUSxPQUFRLFFBQVNWLENBQVMsQ0FBQyxFQUd6RU8sRUFBUyxLQUFNTixFQUFxQlMsR0FBUyxPQUFRLE9BQVFWLENBQVMsQ0FBQyxDQUNoRiIsCiAgIm5hbWVzIjogWyJnZXRTZXNzaW9uIiwgImdlbmVyYXRlUG9saWN5RG9jdW1lbnQiLCAiZWZmZWN0IiwgIm1ldGhvZEFybiIsICJnZW5lcmF0ZUF1dGhSZXNwb25zZSIsICJwcmluY2lwYWxJZCIsICJwb2xpY3lEb2N1bWVudCIsICJhdXRob3JpemVyIiwgImV2ZW50IiwgImNvbnRleHQiLCAiY2FsbGJhY2siLCAiYXV0aG9yaXphdGlvblRva2VuIiwgInRva2VuIiwgInNlc3Npb24iXQp9Cg==
1
+ /**
2
+ * Copyright (c) 2021-Present, Nitrogen Labs, Inc.
3
+ * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
4
+ */ import { getSession } from '../utils/sessionUtils.js';
5
+ export const generatePolicyDocument = (effect, methodArn)=>{
6
+ if (!effect || !methodArn) {
7
+ return null;
8
+ }
9
+ const policyDocument = {
10
+ Version: '2012-10-17',
11
+ Statement: [
12
+ {
13
+ Action: 'execute-api:Invoke',
14
+ Effect: effect,
15
+ Resource: methodArn
16
+ }
17
+ ]
18
+ };
19
+ return policyDocument;
20
+ };
21
+ export const generateAuthResponse = (principalId, effect, methodArn)=>{
22
+ const policyDocument = generatePolicyDocument(effect, methodArn);
23
+ return {
24
+ principalId,
25
+ policyDocument
26
+ };
27
+ };
28
+ export const authorizer = (event, context, callback)=>{
29
+ const { authorizationToken = '', methodArn } = event;
30
+ const token = authorizationToken.replace(/bearer/i, '').trim();
31
+ if (!token || !methodArn) {
32
+ return callback(null, 'Unauthorized');
33
+ }
34
+ const session = getSession(token);
35
+ if (session?.userId) {
36
+ return callback(null, generateAuthResponse(session.userId, 'Allow', methodArn));
37
+ }
38
+ return callback(null, generateAuthResponse(session?.userId, 'Deny', methodArn));
39
+ };
40
+
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3Ivc3JjL2xhbWJkYXMvYXV0aG9yaXplci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAyMS1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHtnZXRTZXNzaW9ufSBmcm9tICcuLi91dGlscy9zZXNzaW9uVXRpbHMuanMnO1xuXG5leHBvcnQgY29uc3QgZ2VuZXJhdGVQb2xpY3lEb2N1bWVudCA9IChlZmZlY3QsIG1ldGhvZEFybikgPT4ge1xuICBpZighZWZmZWN0IHx8ICFtZXRob2RBcm4pIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IHBvbGljeURvY3VtZW50ID0ge1xuICAgIFZlcnNpb246ICcyMDEyLTEwLTE3JyxcbiAgICBTdGF0ZW1lbnQ6IFtcbiAgICAgIHtcbiAgICAgICAgQWN0aW9uOiAnZXhlY3V0ZS1hcGk6SW52b2tlJyxcbiAgICAgICAgRWZmZWN0OiBlZmZlY3QsXG4gICAgICAgIFJlc291cmNlOiBtZXRob2RBcm5cbiAgICAgIH1cbiAgICBdXG4gIH07XG5cbiAgcmV0dXJuIHBvbGljeURvY3VtZW50O1xufTtcblxuZXhwb3J0IGNvbnN0IGdlbmVyYXRlQXV0aFJlc3BvbnNlID0gKHByaW5jaXBhbElkLCBlZmZlY3QsIG1ldGhvZEFybikgPT4ge1xuICBjb25zdCBwb2xpY3lEb2N1bWVudCA9IGdlbmVyYXRlUG9saWN5RG9jdW1lbnQoZWZmZWN0LCBtZXRob2RBcm4pO1xuXG4gIHJldHVybiB7XG4gICAgcHJpbmNpcGFsSWQsXG4gICAgcG9saWN5RG9jdW1lbnRcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBhdXRob3JpemVyID0gKGV2ZW50LCBjb250ZXh0LCBjYWxsYmFjaykgPT4ge1xuICBjb25zdCB7YXV0aG9yaXphdGlvblRva2VuID0gJycsIG1ldGhvZEFybn0gPSBldmVudDtcbiAgY29uc3QgdG9rZW4gPSBhdXRob3JpemF0aW9uVG9rZW4ucmVwbGFjZSgvYmVhcmVyL2ksICcnKS50cmltKCk7XG5cbiAgaWYoIXRva2VuIHx8ICFtZXRob2RBcm4pIHtcbiAgICByZXR1cm4gY2FsbGJhY2sobnVsbCwgJ1VuYXV0aG9yaXplZCcpO1xuICB9XG5cbiAgY29uc3Qgc2Vzc2lvbiA9IGdldFNlc3Npb24odG9rZW4pO1xuXG4gIGlmKHNlc3Npb24/LnVzZXJJZCkge1xuICAgIHJldHVybiBjYWxsYmFjayhudWxsLCBnZW5lcmF0ZUF1dGhSZXNwb25zZShzZXNzaW9uLnVzZXJJZCwgJ0FsbG93JywgbWV0aG9kQXJuKSk7XG4gIH1cblxuICByZXR1cm4gY2FsbGJhY2sobnVsbCwgZ2VuZXJhdGVBdXRoUmVzcG9uc2Uoc2Vzc2lvbj8udXNlcklkLCAnRGVueScsIG1ldGhvZEFybikpO1xufTtcbiJdLCJuYW1lcyI6WyJnZXRTZXNzaW9uIiwiZ2VuZXJhdGVQb2xpY3lEb2N1bWVudCIsImVmZmVjdCIsIm1ldGhvZEFybiIsInBvbGljeURvY3VtZW50IiwiVmVyc2lvbiIsIlN0YXRlbWVudCIsIkFjdGlvbiIsIkVmZmVjdCIsIlJlc291cmNlIiwiZ2VuZXJhdGVBdXRoUmVzcG9uc2UiLCJwcmluY2lwYWxJZCIsImF1dGhvcml6ZXIiLCJldmVudCIsImNvbnRleHQiLCJjYWxsYmFjayIsImF1dGhvcml6YXRpb25Ub2tlbiIsInRva2VuIiwicmVwbGFjZSIsInRyaW0iLCJzZXNzaW9uIiwidXNlcklkIl0sIm1hcHBpbmdzIjoiQUFBQTs7O0NBR0MsR0FDRCxTQUFRQSxVQUFVLFFBQU8sMkJBQTJCO0FBRXBELE9BQU8sTUFBTUMseUJBQXlCLENBQUNDLFFBQVFDO0lBQzdDLElBQUcsQ0FBQ0QsVUFBVSxDQUFDQyxXQUFXO1FBQ3hCLE9BQU87SUFDVDtJQUVBLE1BQU1DLGlCQUFpQjtRQUNyQkMsU0FBUztRQUNUQyxXQUFXO1lBQ1Q7Z0JBQ0VDLFFBQVE7Z0JBQ1JDLFFBQVFOO2dCQUNSTyxVQUFVTjtZQUNaO1NBQ0Q7SUFDSDtJQUVBLE9BQU9DO0FBQ1QsRUFBRTtBQUVGLE9BQU8sTUFBTU0sdUJBQXVCLENBQUNDLGFBQWFULFFBQVFDO0lBQ3hELE1BQU1DLGlCQUFpQkgsdUJBQXVCQyxRQUFRQztJQUV0RCxPQUFPO1FBQ0xRO1FBQ0FQO0lBQ0Y7QUFDRixFQUFFO0FBRUYsT0FBTyxNQUFNUSxhQUFhLENBQUNDLE9BQU9DLFNBQVNDO0lBQ3pDLE1BQU0sRUFBQ0MscUJBQXFCLEVBQUUsRUFBRWIsU0FBUyxFQUFDLEdBQUdVO0lBQzdDLE1BQU1JLFFBQVFELG1CQUFtQkUsT0FBTyxDQUFDLFdBQVcsSUFBSUMsSUFBSTtJQUU1RCxJQUFHLENBQUNGLFNBQVMsQ0FBQ2QsV0FBVztRQUN2QixPQUFPWSxTQUFTLE1BQU07SUFDeEI7SUFFQSxNQUFNSyxVQUFVcEIsV0FBV2lCO0lBRTNCLElBQUdHLFNBQVNDLFFBQVE7UUFDbEIsT0FBT04sU0FBUyxNQUFNTCxxQkFBcUJVLFFBQVFDLE1BQU0sRUFBRSxTQUFTbEI7SUFDdEU7SUFFQSxPQUFPWSxTQUFTLE1BQU1MLHFCQUFxQlUsU0FBU0MsUUFBUSxRQUFRbEI7QUFDdEUsRUFBRSJ9
@@ -10,3 +10,4 @@ export declare const defaultHandler: (event: any) => Promise<{
10
10
  export declare const messageHandler: (event: any) => Promise<{
11
11
  statusCode: number;
12
12
  }>;
13
+ //# sourceMappingURL=connection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/lambdas/connection.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,cAAc,GAAU,UAAK;;;;;EAqBzC,CAAC;AAEF,eAAO,MAAM,cAAc,GAAU,UAAK;;EAOzC,CAAC;AAEF,eAAO,MAAM,cAAc,GAAU,UAAK;;EA+BzC,CAAC"}
@@ -1,2 +1,85 @@
1
- import{getConversation as k}from"../actions/conversations.js";import{Config as b}from"../config.js";import{useDb as v}from"../utils/arangodbUtils.js";import{addConnection as x,getConnectionById as N,getConnectionByUserId as S,removeConnection as T}from"./actions/websockets.js";import{parseMessage as A}from"./utils/message.js";import{wsClient as i}from"./utils/websocket.js";const n={statusCode:200},p={statusCode:500},{ARANGODB_DATABASE:B}=process.env,D=t=>({config:b.get(),database:v(B),session:{userId:t}}),P=async t=>{i.setupClient(t);const{queryStringParameters:o={},requestContext:a}=t,{connectionId:e,eventType:s}=a,{token:r}=o;try{return s==="CONNECT"?(await x(e,r),n):s==="DISCONNECT"?(await T(e),n):{...p,message:"Unknown type"}}catch(c){return{...p,message:c.message}}},U=async t=>(await i.send(t,{event:"error",message:"invalid action type"}),n),W=async t=>{const{body:o,requestContext:a}=t,{socketId:e}=a,s=JSON.parse(o).data,{conversationId:r="",content:c=""}=s,u=A(c),g=await N(e),{userId:C}=g,y=D(C),f=await k(y,r),{users:l=[]}=f;return await Promise.all(l.map(async w=>{const{userId:I}=w,m=await S(I);if(m){const{socketId:d}=m;d&&i.send(d,{action:"reaktorMessage",data:u})}})),n};export{P as connectHandler,U as defaultHandler,W as messageHandler};
2
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2xhbWJkYXMvY29ubmVjdGlvbi50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjEtUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cbmltcG9ydCB7Z2V0Q29udmVyc2F0aW9ufSBmcm9tICcuLi9hY3Rpb25zL2NvbnZlcnNhdGlvbnMuanMnO1xuaW1wb3J0IHtDb25maWd9IGZyb20gJy4uL2NvbmZpZy5qcyc7XG5pbXBvcnQge3VzZURifSBmcm9tICcuLi91dGlscy9hcmFuZ29kYlV0aWxzLmpzJztcbmltcG9ydCB7YWRkQ29ubmVjdGlvbiwgZ2V0Q29ubmVjdGlvbkJ5SWQsIGdldENvbm5lY3Rpb25CeVVzZXJJZCwgcmVtb3ZlQ29ubmVjdGlvbn0gZnJvbSAnLi9hY3Rpb25zL3dlYnNvY2tldHMuanMnO1xuaW1wb3J0IHtwYXJzZU1lc3NhZ2V9IGZyb20gJy4vdXRpbHMvbWVzc2FnZS5qcyc7XG5pbXBvcnQge3dzQ2xpZW50fSBmcm9tICcuL3V0aWxzL3dlYnNvY2tldC5qcyc7XG5cbmltcG9ydCB0eXBlIHtXZWJzb2NrZXRNZXNzYWdlVHlwZX0gZnJvbSAnLi4vdHlwZXMvd2Vic29ja2V0cy50eXBlcy5qcyc7XG5cbmNvbnN0IHN1Y2Nlc3NTdGF0dXMgPSB7c3RhdHVzQ29kZTogMjAwfTtcbmNvbnN0IGVycm9yU3RhdHVzID0ge3N0YXR1c0NvZGU6IDUwMH07XG5jb25zdCB7QVJBTkdPREJfREFUQUJBU0U6IGRhdGFiYXNlTmFtZX0gPSBwcm9jZXNzLmVudjtcbmNvbnN0IGdldEJhc2ljQ29udGV4dCA9ICh1c2VySWQ6IHN0cmluZykgPT4gKHtjb25maWc6IENvbmZpZy5nZXQoKSwgZGF0YWJhc2U6IHVzZURiKGRhdGFiYXNlTmFtZSksIHNlc3Npb246IHt1c2VySWR9fSk7XG5cbmV4cG9ydCBjb25zdCBjb25uZWN0SGFuZGxlciA9IGFzeW5jIChldmVudCkgPT4ge1xuICAvLyBXZSBkbyB0aGlzIHNvIGZpcnN0IGNvbm5lY3QgRVZFUiBzZXRzIHVwIHNvbWUgbmVlZGVkIGNvbmZpZyBzdGF0ZSBpbiBkYlxuICAvLyB0aGlzIGdvZXMgYXdheSBhZnRlciBDbG91ZEZvcm1hdGlvbiBzdXBwb3J0IGlzIGFkZGVkIGZvciB3ZWIgc29ja2V0c1xuICB3c0NsaWVudC5zZXR1cENsaWVudChldmVudCk7XG4gIGNvbnN0IHtxdWVyeVN0cmluZ1BhcmFtZXRlcnMgPSB7fSwgcmVxdWVzdENvbnRleHR9ID0gZXZlbnQ7XG4gIGNvbnN0IHtjb25uZWN0aW9uSWQsIGV2ZW50VHlwZX0gPSByZXF1ZXN0Q29udGV4dDtcbiAgY29uc3Qge3Rva2VufSA9IHF1ZXJ5U3RyaW5nUGFyYW1ldGVycztcblxuICB0cnkge1xuICAgIGlmKGV2ZW50VHlwZSA9PT0gJ0NPTk5FQ1QnKSB7XG4gICAgICBhd2FpdCBhZGRDb25uZWN0aW9uKGNvbm5lY3Rpb25JZCwgdG9rZW4pO1xuICAgICAgcmV0dXJuIHN1Y2Nlc3NTdGF0dXM7XG4gICAgfSBlbHNlIGlmKGV2ZW50VHlwZSA9PT0gJ0RJU0NPTk5FQ1QnKSB7XG4gICAgICBhd2FpdCByZW1vdmVDb25uZWN0aW9uKGNvbm5lY3Rpb25JZCk7XG4gICAgICByZXR1cm4gc3VjY2Vzc1N0YXR1cztcbiAgICB9XG5cbiAgICByZXR1cm4gey4uLmVycm9yU3RhdHVzLCBtZXNzYWdlOiAnVW5rbm93biB0eXBlJ307XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICByZXR1cm4gey4uLmVycm9yU3RhdHVzLCBtZXNzYWdlOiBlcnJvci5tZXNzYWdlfTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRIYW5kbGVyID0gYXN5bmMgKGV2ZW50KSA9PiB7XG4gIGF3YWl0IHdzQ2xpZW50LnNlbmQoZXZlbnQsIHtcbiAgICBldmVudDogJ2Vycm9yJyxcbiAgICBtZXNzYWdlOiAnaW52YWxpZCBhY3Rpb24gdHlwZSdcbiAgfSk7XG5cbiAgcmV0dXJuIHN1Y2Nlc3NTdGF0dXM7XG59O1xuXG5leHBvcnQgY29uc3QgbWVzc2FnZUhhbmRsZXIgPSBhc3luYyAoZXZlbnQpID0+IHtcbiAgY29uc3Qge2JvZHksIHJlcXVlc3RDb250ZXh0fSA9IGV2ZW50O1xuICBjb25zdCB7c29ja2V0SWR9ID0gcmVxdWVzdENvbnRleHQ7XG4gIGNvbnN0IG1lc3NhZ2U6IFdlYnNvY2tldE1lc3NhZ2VUeXBlID0gSlNPTi5wYXJzZShib2R5KS5kYXRhO1xuICBjb25zdCB7Y29udmVyc2F0aW9uSWQgPSAnJywgY29udGVudCA9ICcnfSA9IG1lc3NhZ2U7XG4gIGNvbnN0IGZvcm1hdENvbnRlbnQ6IHN0cmluZyA9IHBhcnNlTWVzc2FnZShjb250ZW50KTtcblxuICAvLyBHZXQgY3VycmVudCB1c2VyIGJ5IGNvbm5lY3Rpb25cbiAgY29uc3QgY29ubmVjdGlvbiA9IGF3YWl0IGdldENvbm5lY3Rpb25CeUlkKHNvY2tldElkKTtcbiAgY29uc3Qge3VzZXJJZH0gPSBjb25uZWN0aW9uO1xuICBjb25zdCBhdXRoQ29udGV4dCA9IGdldEJhc2ljQ29udGV4dCh1c2VySWQpO1xuICBjb25zdCBjb252ZXJzYXRpb24gPSBhd2FpdCBnZXRDb252ZXJzYXRpb24oYXV0aENvbnRleHQsIGNvbnZlcnNhdGlvbklkKTtcbiAgY29uc3Qge3VzZXJzID0gW119ID0gY29udmVyc2F0aW9uO1xuXG4gIGF3YWl0IFByb21pc2UuYWxsKHVzZXJzLm1hcChhc3luYyAodXNlcikgPT4ge1xuICAgIGNvbnN0IHt1c2VySWR9ID0gdXNlcjtcbiAgICBjb25zdCBjb25uZWN0aW9uID0gYXdhaXQgZ2V0Q29ubmVjdGlvbkJ5VXNlcklkKHVzZXJJZCk7XG5cbiAgICBpZihjb25uZWN0aW9uKSB7XG4gICAgICBjb25zdCB7c29ja2V0SWR9ID0gY29ubmVjdGlvbjtcblxuICAgICAgaWYoc29ja2V0SWQpIHtcbiAgICAgICAgd3NDbGllbnQuc2VuZChzb2NrZXRJZCwge1xuICAgICAgICAgIGFjdGlvbjogJ3JlYWt0b3JNZXNzYWdlJyxcbiAgICAgICAgICBkYXRhOiBmb3JtYXRDb250ZW50XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfSkpO1xuXG4gIHJldHVybiBzdWNjZXNzU3RhdHVzO1xufTtcbiJdLAogICJtYXBwaW5ncyI6ICJBQUlBLE9BQVEsbUJBQUFBLE1BQXNCLDhCQUM5QixPQUFRLFVBQUFDLE1BQWEsZUFDckIsT0FBUSxTQUFBQyxNQUFZLDRCQUNwQixPQUFRLGlCQUFBQyxFQUFlLHFCQUFBQyxFQUFtQix5QkFBQUMsRUFBdUIsb0JBQUFDLE1BQXVCLDBCQUN4RixPQUFRLGdCQUFBQyxNQUFtQixxQkFDM0IsT0FBUSxZQUFBQyxNQUFlLHVCQUl2QixNQUFNQyxFQUFnQixDQUFDLFdBQVksR0FBRyxFQUNoQ0MsRUFBYyxDQUFDLFdBQVksR0FBRyxFQUM5QixDQUFDLGtCQUFtQkMsQ0FBWSxFQUFJLFFBQVEsSUFDNUNDLEVBQW1CQyxJQUFvQixDQUFDLE9BQVFaLEVBQU8sSUFBSSxFQUFHLFNBQVVDLEVBQU1TLENBQVksRUFBRyxRQUFTLENBQUMsT0FBQUUsQ0FBTSxDQUFDLEdBRXZHQyxFQUFpQixNQUFPQyxHQUFVLENBRzdDUCxFQUFTLFlBQVlPLENBQUssRUFDMUIsS0FBTSxDQUFDLHNCQUFBQyxFQUF3QixDQUFDLEVBQUcsZUFBQUMsQ0FBYyxFQUFJRixFQUMvQyxDQUFDLGFBQUFHLEVBQWMsVUFBQUMsQ0FBUyxFQUFJRixFQUM1QixDQUFDLE1BQUFHLENBQUssRUFBSUosRUFFaEIsR0FBSSxDQUNGLE9BQUdHLElBQWMsV0FDZixNQUFNaEIsRUFBY2UsRUFBY0UsQ0FBSyxFQUNoQ1gsR0FDQ1UsSUFBYyxjQUN0QixNQUFNYixFQUFpQlksQ0FBWSxFQUM1QlQsR0FHRixDQUFDLEdBQUdDLEVBQWEsUUFBUyxjQUFjLENBQ2pELE9BQVFXLEVBQU8sQ0FDYixNQUFPLENBQUMsR0FBR1gsRUFBYSxRQUFTVyxFQUFNLE9BQU8sQ0FDaEQsQ0FDRixFQUVhQyxFQUFpQixNQUFPUCxJQUNuQyxNQUFNUCxFQUFTLEtBQUtPLEVBQU8sQ0FDekIsTUFBTyxRQUNQLFFBQVMscUJBQ1gsQ0FBQyxFQUVNTixHQUdJYyxFQUFpQixNQUFPUixHQUFVLENBQzdDLEtBQU0sQ0FBQyxLQUFBUyxFQUFNLGVBQUFQLENBQWMsRUFBSUYsRUFDekIsQ0FBQyxTQUFBVSxDQUFRLEVBQUlSLEVBQ2JTLEVBQWdDLEtBQUssTUFBTUYsQ0FBSSxFQUFFLEtBQ2pELENBQUMsZUFBQUcsRUFBaUIsR0FBSSxRQUFBQyxFQUFVLEVBQUUsRUFBSUYsRUFDdENHLEVBQXdCdEIsRUFBYXFCLENBQU8sRUFHNUNFLEVBQWEsTUFBTTFCLEVBQWtCcUIsQ0FBUSxFQUM3QyxDQUFDLE9BQUFaLENBQU0sRUFBSWlCLEVBQ1hDLEVBQWNuQixFQUFnQkMsQ0FBTSxFQUNwQ21CLEVBQWUsTUFBTWhDLEVBQWdCK0IsRUFBYUosQ0FBYyxFQUNoRSxDQUFDLE1BQUFNLEVBQVEsQ0FBQyxDQUFDLEVBQUlELEVBRXJCLGFBQU0sUUFBUSxJQUFJQyxFQUFNLElBQUksTUFBT0MsR0FBUyxDQUMxQyxLQUFNLENBQUMsT0FBQXJCLENBQU0sRUFBSXFCLEVBQ1hKLEVBQWEsTUFBTXpCLEVBQXNCUSxDQUFNLEVBRXJELEdBQUdpQixFQUFZLENBQ2IsS0FBTSxDQUFDLFNBQUFMLENBQVEsRUFBSUssRUFFaEJMLEdBQ0RqQixFQUFTLEtBQUtpQixFQUFVLENBQ3RCLE9BQVEsaUJBQ1IsS0FBTUksQ0FDUixDQUFDLENBRUwsQ0FDRixDQUFDLENBQUMsRUFFS3BCLENBQ1QiLAogICJuYW1lcyI6IFsiZ2V0Q29udmVyc2F0aW9uIiwgIkNvbmZpZyIsICJ1c2VEYiIsICJhZGRDb25uZWN0aW9uIiwgImdldENvbm5lY3Rpb25CeUlkIiwgImdldENvbm5lY3Rpb25CeVVzZXJJZCIsICJyZW1vdmVDb25uZWN0aW9uIiwgInBhcnNlTWVzc2FnZSIsICJ3c0NsaWVudCIsICJzdWNjZXNzU3RhdHVzIiwgImVycm9yU3RhdHVzIiwgImRhdGFiYXNlTmFtZSIsICJnZXRCYXNpY0NvbnRleHQiLCAidXNlcklkIiwgImNvbm5lY3RIYW5kbGVyIiwgImV2ZW50IiwgInF1ZXJ5U3RyaW5nUGFyYW1ldGVycyIsICJyZXF1ZXN0Q29udGV4dCIsICJjb25uZWN0aW9uSWQiLCAiZXZlbnRUeXBlIiwgInRva2VuIiwgImVycm9yIiwgImRlZmF1bHRIYW5kbGVyIiwgIm1lc3NhZ2VIYW5kbGVyIiwgImJvZHkiLCAic29ja2V0SWQiLCAibWVzc2FnZSIsICJjb252ZXJzYXRpb25JZCIsICJjb250ZW50IiwgImZvcm1hdENvbnRlbnQiLCAiY29ubmVjdGlvbiIsICJhdXRoQ29udGV4dCIsICJjb252ZXJzYXRpb24iLCAidXNlcnMiLCAidXNlciJdCn0K
1
+ /**
2
+ * Copyright (c) 2021-Present, Nitrogen Labs, Inc.
3
+ * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
4
+ */ import { getConversation } from '../actions/conversations.js';
5
+ import { Config } from '../config.js';
6
+ import { useDb } from '../utils/arangodbUtils.js';
7
+ import { addConnection, getConnectionById, getConnectionByUserId, removeConnection } from './actions/websockets.js';
8
+ import { parseMessage } from './utils/message.js';
9
+ import { wsClient } from './utils/websocket.js';
10
+ const successStatus = {
11
+ statusCode: 200
12
+ };
13
+ const errorStatus = {
14
+ statusCode: 500
15
+ };
16
+ const { ARANGODB_DATABASE: databaseName } = process.env;
17
+ const getBasicContext = (userId)=>({
18
+ config: Config.get(),
19
+ database: useDb(databaseName),
20
+ session: {
21
+ userId
22
+ }
23
+ });
24
+ export const connectHandler = async (event)=>{
25
+ // We do this so first connect EVER sets up some needed config state in db
26
+ // this goes away after CloudFormation support is added for web sockets
27
+ wsClient.setupClient(event);
28
+ const { queryStringParameters = {}, requestContext } = event;
29
+ const { connectionId, eventType } = requestContext;
30
+ const { token } = queryStringParameters;
31
+ try {
32
+ if (eventType === 'CONNECT') {
33
+ await addConnection(connectionId, token);
34
+ return successStatus;
35
+ } else if (eventType === 'DISCONNECT') {
36
+ await removeConnection(connectionId);
37
+ return successStatus;
38
+ }
39
+ return {
40
+ ...errorStatus,
41
+ message: 'Unknown type'
42
+ };
43
+ } catch (error) {
44
+ return {
45
+ ...errorStatus,
46
+ message: error.message
47
+ };
48
+ }
49
+ };
50
+ export const defaultHandler = async (event)=>{
51
+ await wsClient.send(event, {
52
+ event: 'error',
53
+ message: 'invalid action type'
54
+ });
55
+ return successStatus;
56
+ };
57
+ export const messageHandler = async (event)=>{
58
+ const { body, requestContext } = event;
59
+ const { socketId } = requestContext;
60
+ const message = JSON.parse(body).data;
61
+ const { conversationId = '', content = '' } = message;
62
+ const formatContent = parseMessage(content);
63
+ // Get current user by connection
64
+ const connection = await getConnectionById(socketId);
65
+ const { userId } = connection;
66
+ const authContext = getBasicContext(userId);
67
+ const conversation = await getConversation(authContext, conversationId);
68
+ const { users = [] } = conversation;
69
+ await Promise.all(users.map(async (user)=>{
70
+ const { userId } = user;
71
+ const connection = await getConnectionByUserId(userId);
72
+ if (connection) {
73
+ const { socketId } = connection;
74
+ if (socketId) {
75
+ wsClient.send(socketId, {
76
+ action: 'reaktorMessage',
77
+ data: formatContent
78
+ });
79
+ }
80
+ }
81
+ }));
82
+ return successStatus;
83
+ };
84
+
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3Ivc3JjL2xhbWJkYXMvY29ubmVjdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAyMS1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHtnZXRDb252ZXJzYXRpb259IGZyb20gJy4uL2FjdGlvbnMvY29udmVyc2F0aW9ucy5qcyc7XG5pbXBvcnQge0NvbmZpZ30gZnJvbSAnLi4vY29uZmlnLmpzJztcbmltcG9ydCB7dXNlRGJ9IGZyb20gJy4uL3V0aWxzL2FyYW5nb2RiVXRpbHMuanMnO1xuaW1wb3J0IHthZGRDb25uZWN0aW9uLCBnZXRDb25uZWN0aW9uQnlJZCwgZ2V0Q29ubmVjdGlvbkJ5VXNlcklkLCByZW1vdmVDb25uZWN0aW9ufSBmcm9tICcuL2FjdGlvbnMvd2Vic29ja2V0cy5qcyc7XG5pbXBvcnQge3BhcnNlTWVzc2FnZX0gZnJvbSAnLi91dGlscy9tZXNzYWdlLmpzJztcbmltcG9ydCB7d3NDbGllbnR9IGZyb20gJy4vdXRpbHMvd2Vic29ja2V0LmpzJztcblxuaW1wb3J0IHR5cGUge1dlYnNvY2tldE1lc3NhZ2VUeXBlfSBmcm9tICcuLi90eXBlcy93ZWJzb2NrZXRzLnR5cGVzLmpzJztcblxuY29uc3Qgc3VjY2Vzc1N0YXR1cyA9IHtzdGF0dXNDb2RlOiAyMDB9O1xuY29uc3QgZXJyb3JTdGF0dXMgPSB7c3RhdHVzQ29kZTogNTAwfTtcbmNvbnN0IHtBUkFOR09EQl9EQVRBQkFTRTogZGF0YWJhc2VOYW1lfSA9IHByb2Nlc3MuZW52O1xuY29uc3QgZ2V0QmFzaWNDb250ZXh0ID0gKHVzZXJJZDogc3RyaW5nKSA9PiAoe2NvbmZpZzogQ29uZmlnLmdldCgpLCBkYXRhYmFzZTogdXNlRGIoZGF0YWJhc2VOYW1lKSwgc2Vzc2lvbjoge3VzZXJJZH19KTtcblxuZXhwb3J0IGNvbnN0IGNvbm5lY3RIYW5kbGVyID0gYXN5bmMgKGV2ZW50KSA9PiB7XG4gIC8vIFdlIGRvIHRoaXMgc28gZmlyc3QgY29ubmVjdCBFVkVSIHNldHMgdXAgc29tZSBuZWVkZWQgY29uZmlnIHN0YXRlIGluIGRiXG4gIC8vIHRoaXMgZ29lcyBhd2F5IGFmdGVyIENsb3VkRm9ybWF0aW9uIHN1cHBvcnQgaXMgYWRkZWQgZm9yIHdlYiBzb2NrZXRzXG4gIHdzQ2xpZW50LnNldHVwQ2xpZW50KGV2ZW50KTtcbiAgY29uc3Qge3F1ZXJ5U3RyaW5nUGFyYW1ldGVycyA9IHt9LCByZXF1ZXN0Q29udGV4dH0gPSBldmVudDtcbiAgY29uc3Qge2Nvbm5lY3Rpb25JZCwgZXZlbnRUeXBlfSA9IHJlcXVlc3RDb250ZXh0O1xuICBjb25zdCB7dG9rZW59ID0gcXVlcnlTdHJpbmdQYXJhbWV0ZXJzO1xuXG4gIHRyeSB7XG4gICAgaWYoZXZlbnRUeXBlID09PSAnQ09OTkVDVCcpIHtcbiAgICAgIGF3YWl0IGFkZENvbm5lY3Rpb24oY29ubmVjdGlvbklkLCB0b2tlbik7XG4gICAgICByZXR1cm4gc3VjY2Vzc1N0YXR1cztcbiAgICB9IGVsc2UgaWYoZXZlbnRUeXBlID09PSAnRElTQ09OTkVDVCcpIHtcbiAgICAgIGF3YWl0IHJlbW92ZUNvbm5lY3Rpb24oY29ubmVjdGlvbklkKTtcbiAgICAgIHJldHVybiBzdWNjZXNzU3RhdHVzO1xuICAgIH1cblxuICAgIHJldHVybiB7Li4uZXJyb3JTdGF0dXMsIG1lc3NhZ2U6ICdVbmtub3duIHR5cGUnfTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIHJldHVybiB7Li4uZXJyb3JTdGF0dXMsIG1lc3NhZ2U6IGVycm9yLm1lc3NhZ2V9O1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgZGVmYXVsdEhhbmRsZXIgPSBhc3luYyAoZXZlbnQpID0+IHtcbiAgYXdhaXQgd3NDbGllbnQuc2VuZChldmVudCwge1xuICAgIGV2ZW50OiAnZXJyb3InLFxuICAgIG1lc3NhZ2U6ICdpbnZhbGlkIGFjdGlvbiB0eXBlJ1xuICB9KTtcblxuICByZXR1cm4gc3VjY2Vzc1N0YXR1cztcbn07XG5cbmV4cG9ydCBjb25zdCBtZXNzYWdlSGFuZGxlciA9IGFzeW5jIChldmVudCkgPT4ge1xuICBjb25zdCB7Ym9keSwgcmVxdWVzdENvbnRleHR9ID0gZXZlbnQ7XG4gIGNvbnN0IHtzb2NrZXRJZH0gPSByZXF1ZXN0Q29udGV4dDtcbiAgY29uc3QgbWVzc2FnZTogV2Vic29ja2V0TWVzc2FnZVR5cGUgPSBKU09OLnBhcnNlKGJvZHkpLmRhdGE7XG4gIGNvbnN0IHtjb252ZXJzYXRpb25JZCA9ICcnLCBjb250ZW50ID0gJyd9ID0gbWVzc2FnZTtcbiAgY29uc3QgZm9ybWF0Q29udGVudDogc3RyaW5nID0gcGFyc2VNZXNzYWdlKGNvbnRlbnQpO1xuXG4gIC8vIEdldCBjdXJyZW50IHVzZXIgYnkgY29ubmVjdGlvblxuICBjb25zdCBjb25uZWN0aW9uID0gYXdhaXQgZ2V0Q29ubmVjdGlvbkJ5SWQoc29ja2V0SWQpO1xuICBjb25zdCB7dXNlcklkfSA9IGNvbm5lY3Rpb247XG4gIGNvbnN0IGF1dGhDb250ZXh0ID0gZ2V0QmFzaWNDb250ZXh0KHVzZXJJZCk7XG4gIGNvbnN0IGNvbnZlcnNhdGlvbiA9IGF3YWl0IGdldENvbnZlcnNhdGlvbihhdXRoQ29udGV4dCwgY29udmVyc2F0aW9uSWQpO1xuICBjb25zdCB7dXNlcnMgPSBbXX0gPSBjb252ZXJzYXRpb247XG5cbiAgYXdhaXQgUHJvbWlzZS5hbGwodXNlcnMubWFwKGFzeW5jICh1c2VyKSA9PiB7XG4gICAgY29uc3Qge3VzZXJJZH0gPSB1c2VyO1xuICAgIGNvbnN0IGNvbm5lY3Rpb24gPSBhd2FpdCBnZXRDb25uZWN0aW9uQnlVc2VySWQodXNlcklkKTtcblxuICAgIGlmKGNvbm5lY3Rpb24pIHtcbiAgICAgIGNvbnN0IHtzb2NrZXRJZH0gPSBjb25uZWN0aW9uO1xuXG4gICAgICBpZihzb2NrZXRJZCkge1xuICAgICAgICB3c0NsaWVudC5zZW5kKHNvY2tldElkLCB7XG4gICAgICAgICAgYWN0aW9uOiAncmVha3Rvck1lc3NhZ2UnLFxuICAgICAgICAgIGRhdGE6IGZvcm1hdENvbnRlbnRcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9KSk7XG5cbiAgcmV0dXJuIHN1Y2Nlc3NTdGF0dXM7XG59O1xuIl0sIm5hbWVzIjpbImdldENvbnZlcnNhdGlvbiIsIkNvbmZpZyIsInVzZURiIiwiYWRkQ29ubmVjdGlvbiIsImdldENvbm5lY3Rpb25CeUlkIiwiZ2V0Q29ubmVjdGlvbkJ5VXNlcklkIiwicmVtb3ZlQ29ubmVjdGlvbiIsInBhcnNlTWVzc2FnZSIsIndzQ2xpZW50Iiwic3VjY2Vzc1N0YXR1cyIsInN0YXR1c0NvZGUiLCJlcnJvclN0YXR1cyIsIkFSQU5HT0RCX0RBVEFCQVNFIiwiZGF0YWJhc2VOYW1lIiwicHJvY2VzcyIsImVudiIsImdldEJhc2ljQ29udGV4dCIsInVzZXJJZCIsImNvbmZpZyIsImdldCIsImRhdGFiYXNlIiwic2Vzc2lvbiIsImNvbm5lY3RIYW5kbGVyIiwiZXZlbnQiLCJzZXR1cENsaWVudCIsInF1ZXJ5U3RyaW5nUGFyYW1ldGVycyIsInJlcXVlc3RDb250ZXh0IiwiY29ubmVjdGlvbklkIiwiZXZlbnRUeXBlIiwidG9rZW4iLCJtZXNzYWdlIiwiZXJyb3IiLCJkZWZhdWx0SGFuZGxlciIsInNlbmQiLCJtZXNzYWdlSGFuZGxlciIsImJvZHkiLCJzb2NrZXRJZCIsIkpTT04iLCJwYXJzZSIsImRhdGEiLCJjb252ZXJzYXRpb25JZCIsImNvbnRlbnQiLCJmb3JtYXRDb250ZW50IiwiY29ubmVjdGlvbiIsImF1dGhDb250ZXh0IiwiY29udmVyc2F0aW9uIiwidXNlcnMiLCJQcm9taXNlIiwiYWxsIiwibWFwIiwidXNlciIsImFjdGlvbiJdLCJtYXBwaW5ncyI6IkFBQUE7OztDQUdDLEdB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
@@ -1 +1,2 @@
1
1
  export declare const parseMessage: (content: string) => string;
2
+ //# sourceMappingURL=message.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../../src/lambdas/utils/message.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,YAAY,GAAI,SAAS,MAAM,KAAG,MAG7C,CAAC"}
@@ -1,2 +1,20 @@
1
- import s from"sanitize-html";const r=e=>s(e,{allowedAttributes:{},allowedTags:["ul","ol","b","i","em","strike","pre","strong","li"]});export{r as parseMessage};
2
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2xhbWJkYXMvdXRpbHMvbWVzc2FnZS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjEtUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cbmltcG9ydCBzYW5pdGl6ZSBmcm9tICdzYW5pdGl6ZS1odG1sJztcblxuZXhwb3J0IGNvbnN0IHBhcnNlTWVzc2FnZSA9IChjb250ZW50OiBzdHJpbmcpOiBzdHJpbmcgPT4gc2FuaXRpemUoY29udGVudCwge1xuICBhbGxvd2VkQXR0cmlidXRlczoge30sXG4gIGFsbG93ZWRUYWdzOiBbJ3VsJywgJ29sJywgJ2InLCAnaScsICdlbScsICdzdHJpa2UnLCAncHJlJywgJ3N0cm9uZycsICdsaSddXG59KTtcbiJdLAogICJtYXBwaW5ncyI6ICJBQUlBLE9BQU9BLE1BQWMsZ0JBRWQsTUFBTUMsRUFBZ0JDLEdBQTRCRixFQUFTRSxFQUFTLENBQ3pFLGtCQUFtQixDQUFDLEVBQ3BCLFlBQWEsQ0FBQyxLQUFNLEtBQU0sSUFBSyxJQUFLLEtBQU0sU0FBVSxNQUFPLFNBQVUsSUFBSSxDQUMzRSxDQUFDIiwKICAibmFtZXMiOiBbInNhbml0aXplIiwgInBhcnNlTWVzc2FnZSIsICJjb250ZW50Il0KfQo=
1
+ /**
2
+ * Copyright (c) 2021-Present, Nitrogen Labs, Inc.
3
+ * Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
4
+ */ import sanitize from 'sanitize-html';
5
+ export const parseMessage = (content)=>sanitize(content, {
6
+ allowedAttributes: {},
7
+ allowedTags: [
8
+ 'ul',
9
+ 'ol',
10
+ 'b',
11
+ 'i',
12
+ 'em',
13
+ 'strike',
14
+ 'pre',
15
+ 'strong',
16
+ 'li'
17
+ ]
18
+ });
19
+
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3Ivc3JjL2xhbWJkYXMvdXRpbHMvbWVzc2FnZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAyMS1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHNhbml0aXplIGZyb20gJ3Nhbml0aXplLWh0bWwnO1xuXG5leHBvcnQgY29uc3QgcGFyc2VNZXNzYWdlID0gKGNvbnRlbnQ6IHN0cmluZyk6IHN0cmluZyA9PiBzYW5pdGl6ZShjb250ZW50LCB7XG4gIGFsbG93ZWRBdHRyaWJ1dGVzOiB7fSxcbiAgYWxsb3dlZFRhZ3M6IFsndWwnLCAnb2wnLCAnYicsICdpJywgJ2VtJywgJ3N0cmlrZScsICdwcmUnLCAnc3Ryb25nJywgJ2xpJ11cbn0pO1xuIl0sIm5hbWVzIjpbInNhbml0aXplIiwicGFyc2VNZXNzYWdlIiwiY29udGVudCIsImFsbG93ZWRBdHRyaWJ1dGVzIiwiYWxsb3dlZFRhZ3MiXSwibWFwcGluZ3MiOiJBQUFBOzs7Q0FHQyxHQUNELE9BQU9BLGNBQWMsZ0JBQWdCO0FBRXJDLE9BQU8sTUFBTUMsZUFBZSxDQUFDQyxVQUE0QkYsU0FBU0UsU0FBUztRQUN6RUMsbUJBQW1CLENBQUM7UUFDcEJDLGFBQWE7WUFBQztZQUFNO1lBQU07WUFBSztZQUFLO1lBQU07WUFBVTtZQUFPO1lBQVU7U0FBSztJQUM1RSxHQUFHIn0=
@@ -5,3 +5,4 @@ export declare class WebsocketClient {
5
5
  send(connections: any, payload: any): Promise<boolean>;
6
6
  }
7
7
  export declare const wsClient: WebsocketClient;
8
+ //# sourceMappingURL=websocket.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../../src/lambdas/utils/websocket.ts"],"names":[],"mappings":"AAYA,qBAAa,eAAe;IAC1B,MAAM,MAAC;gBAEK,MAAM,CAAC,KAAA;IASnB,WAAW,CAAC,MAAM,KAAA;IA+BZ,IAAI,CAAC,WAAW,KAAA,EAAE,OAAO,KAAA;CA8BhC;AAED,eAAO,MAAM,QAAQ,iBAAwB,CAAC"}