@nlabs/reaktor 0.10.5 → 0.10.7

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 (535) hide show
  1. package/lib/actions/apps.d.ts +1 -0
  2. package/lib/actions/apps.d.ts.map +1 -0
  3. package/lib/actions/apps.js +221 -0
  4. package/lib/actions/connections.d.ts +1 -0
  5. package/lib/actions/connections.d.ts.map +1 -0
  6. package/lib/actions/connections.js +62 -0
  7. package/lib/actions/content.d.ts +1 -0
  8. package/lib/actions/content.d.ts.map +1 -0
  9. package/lib/actions/content.js +240 -0
  10. package/lib/actions/conversations.d.ts +1 -0
  11. package/lib/actions/conversations.d.ts.map +1 -0
  12. package/lib/actions/conversations.js +335 -0
  13. package/lib/actions/dynamodb.d.ts +1 -0
  14. package/lib/actions/dynamodb.d.ts.map +1 -0
  15. package/lib/actions/dynamodb.js +119 -0
  16. package/lib/actions/email.d.ts +1 -0
  17. package/lib/actions/email.d.ts.map +1 -0
  18. package/lib/actions/email.js +56 -0
  19. package/lib/actions/files.d.ts +1 -0
  20. package/lib/actions/files.d.ts.map +1 -0
  21. package/lib/actions/files.js +226 -0
  22. package/lib/actions/groups.d.ts +1 -0
  23. package/lib/actions/groups.d.ts.map +1 -0
  24. package/lib/actions/groups.js +267 -0
  25. package/lib/actions/images.d.ts +1 -0
  26. package/lib/actions/images.d.ts.map +1 -0
  27. package/lib/actions/images.js +723 -0
  28. package/lib/actions/index.d.ts +1 -0
  29. package/lib/actions/index.d.ts.map +1 -0
  30. package/lib/actions/index.js +29 -0
  31. package/lib/actions/ios.d.ts +1 -0
  32. package/lib/actions/ios.d.ts.map +1 -0
  33. package/lib/actions/ios.js +230 -0
  34. package/lib/actions/locations.d.ts +1 -0
  35. package/lib/actions/locations.d.ts.map +1 -0
  36. package/lib/actions/locations.js +111 -0
  37. package/lib/actions/messages.d.ts +1 -0
  38. package/lib/actions/messages.d.ts.map +1 -0
  39. package/lib/actions/messages.js +167 -0
  40. package/lib/actions/notifications.d.ts +3 -2
  41. package/lib/actions/notifications.d.ts.map +1 -0
  42. package/lib/actions/notifications.js +37 -0
  43. package/lib/actions/payments.d.ts +1 -0
  44. package/lib/actions/payments.d.ts.map +1 -0
  45. package/lib/actions/payments.js +449 -0
  46. package/lib/actions/posts.d.ts +1 -0
  47. package/lib/actions/posts.d.ts.map +1 -0
  48. package/lib/actions/posts.js +608 -0
  49. package/lib/actions/profiles.d.ts +1 -0
  50. package/lib/actions/profiles.d.ts.map +1 -0
  51. package/lib/actions/profiles.js +58 -0
  52. package/lib/actions/reactions.d.ts +1 -0
  53. package/lib/actions/reactions.d.ts.map +1 -0
  54. package/lib/actions/reactions.js +286 -0
  55. package/lib/actions/s3.d.ts +1 -0
  56. package/lib/actions/s3.d.ts.map +1 -0
  57. package/lib/actions/s3.js +102 -0
  58. package/lib/actions/search.d.ts +1 -0
  59. package/lib/actions/search.d.ts.map +1 -0
  60. package/lib/actions/search.js +81 -0
  61. package/lib/actions/sms.d.ts +1 -0
  62. package/lib/actions/sms.d.ts.map +1 -0
  63. package/lib/actions/sms.js +52 -0
  64. package/lib/actions/statistics.d.ts +1 -0
  65. package/lib/actions/statistics.d.ts.map +1 -0
  66. package/lib/actions/statistics.js +43 -0
  67. package/lib/actions/subscriptions.d.ts +1 -0
  68. package/lib/actions/subscriptions.d.ts.map +1 -0
  69. package/lib/actions/subscriptions.js +202 -0
  70. package/lib/actions/tags.d.ts +1 -0
  71. package/lib/actions/tags.d.ts.map +1 -0
  72. package/lib/actions/tags.js +263 -0
  73. package/lib/actions/users.d.ts +1 -0
  74. package/lib/actions/users.d.ts.map +1 -0
  75. package/lib/actions/users.js +802 -0
  76. package/lib/actions/videos.d.ts +1 -0
  77. package/lib/actions/videos.d.ts.map +1 -0
  78. package/lib/actions/videos.js +423 -0
  79. package/lib/actions/websockets.d.ts +1 -0
  80. package/lib/actions/websockets.d.ts.map +1 -0
  81. package/lib/actions/websockets.js +164 -0
  82. package/lib/adapters/arangoAdapter.d.ts +1 -0
  83. package/lib/adapters/arangoAdapter.d.ts.map +1 -0
  84. package/lib/adapters/arangoAdapter.js +70 -0
  85. package/lib/adapters/contentAdapter.d.ts +1 -0
  86. package/lib/adapters/contentAdapter.d.ts.map +1 -0
  87. package/lib/adapters/contentAdapter.js +108 -0
  88. package/lib/adapters/fileAdapter.d.ts +1 -0
  89. package/lib/adapters/fileAdapter.d.ts.map +1 -0
  90. package/lib/adapters/fileAdapter.js +119 -0
  91. package/lib/adapters/imageAdapter.d.ts +1 -0
  92. package/lib/adapters/imageAdapter.d.ts.map +1 -0
  93. package/lib/adapters/imageAdapter.js +112 -0
  94. package/lib/adapters/index.d.ts +1 -0
  95. package/lib/adapters/index.d.ts.map +1 -0
  96. package/lib/adapters/index.js +11 -0
  97. package/lib/adapters/messageAdapter.d.ts +1 -0
  98. package/lib/adapters/messageAdapter.d.ts.map +1 -0
  99. package/lib/adapters/messageAdapter.js +82 -0
  100. package/lib/adapters/postAdapter.d.ts +1 -0
  101. package/lib/adapters/postAdapter.d.ts.map +1 -0
  102. package/lib/adapters/postAdapter.js +117 -0
  103. package/lib/adapters/reaktorAdapter.d.ts +1 -0
  104. package/lib/adapters/reaktorAdapter.d.ts.map +1 -0
  105. package/lib/adapters/reaktorAdapter.js +59 -0
  106. package/lib/adapters/tagAdapter.d.ts +1 -0
  107. package/lib/adapters/tagAdapter.d.ts.map +1 -0
  108. package/lib/adapters/tagAdapter.js +99 -0
  109. package/lib/adapters/userAdapter.d.ts +1 -0
  110. package/lib/adapters/userAdapter.d.ts.map +1 -0
  111. package/lib/adapters/userAdapter.js +264 -0
  112. package/lib/config.d.ts +1 -0
  113. package/lib/config.d.ts.map +1 -0
  114. package/lib/config.js +161 -0
  115. package/lib/handlers/graphqlHandler.d.ts +1 -0
  116. package/lib/handlers/graphqlHandler.d.ts.map +1 -0
  117. package/lib/handlers/graphqlHandler.js +118 -0
  118. package/lib/index.d.ts +1 -0
  119. package/lib/index.d.ts.map +1 -0
  120. package/lib/index.js +18 -0
  121. package/lib/lambdas/actions/websockets.d.ts +1 -0
  122. package/lib/lambdas/actions/websockets.d.ts.map +1 -0
  123. package/lib/lambdas/actions/websockets.js +105 -0
  124. package/lib/lambdas/authorizer.d.ts +1 -0
  125. package/lib/lambdas/authorizer.d.ts.map +1 -0
  126. package/lib/lambdas/authorizer.js +41 -0
  127. package/lib/lambdas/connection.d.ts +1 -0
  128. package/lib/lambdas/connection.d.ts.map +1 -0
  129. package/lib/lambdas/connection.js +85 -0
  130. package/lib/lambdas/utils/message.d.ts +1 -0
  131. package/lib/lambdas/utils/message.d.ts.map +1 -0
  132. package/lib/lambdas/utils/message.js +20 -0
  133. package/lib/lambdas/utils/websocket.d.ts +1 -0
  134. package/lib/lambdas/utils/websocket.d.ts.map +1 -0
  135. package/lib/lambdas/utils/websocket.js +78 -0
  136. package/lib/mocks/conversation.d.ts +1 -0
  137. package/lib/mocks/conversation.d.ts.map +1 -0
  138. package/lib/mocks/conversation.js +10 -0
  139. package/lib/mocks/file.d.ts +1 -0
  140. package/lib/mocks/file.d.ts.map +1 -0
  141. package/lib/mocks/file.js +13 -0
  142. package/lib/mocks/group.d.ts +1 -0
  143. package/lib/mocks/group.d.ts.map +1 -0
  144. package/lib/mocks/group.js +20 -0
  145. package/lib/mocks/image.d.ts +1 -0
  146. package/lib/mocks/image.d.ts.map +1 -0
  147. package/lib/mocks/image.js +17 -0
  148. package/lib/mocks/post.d.ts +1 -0
  149. package/lib/mocks/post.d.ts.map +1 -0
  150. package/lib/mocks/post.js +28 -0
  151. package/lib/mocks/tag.d.ts +1 -0
  152. package/lib/mocks/tag.d.ts.map +1 -0
  153. package/lib/mocks/tag.js +12 -0
  154. package/lib/mocks/user.d.ts +1 -0
  155. package/lib/mocks/user.d.ts.map +1 -0
  156. package/lib/mocks/user.js +61 -0
  157. package/lib/mocks/video.d.ts +1 -0
  158. package/lib/mocks/video.d.ts.map +1 -0
  159. package/lib/mocks/video.js +17 -0
  160. package/lib/mutations/content.d.ts +1 -0
  161. package/lib/mutations/content.d.ts.map +1 -0
  162. package/lib/mutations/content.js +27 -0
  163. package/lib/mutations/index.d.ts +1 -0
  164. package/lib/mutations/index.d.ts.map +1 -0
  165. package/lib/mutations/index.js +29 -0
  166. package/lib/mutations/locations.d.ts +1 -0
  167. package/lib/mutations/locations.d.ts.map +1 -0
  168. package/lib/mutations/locations.js +22 -0
  169. package/lib/mutations/messages.d.ts +1 -0
  170. package/lib/mutations/messages.d.ts.map +1 -0
  171. package/lib/mutations/messages.js +75 -0
  172. package/lib/mutations/posts.d.ts +1 -0
  173. package/lib/mutations/posts.d.ts.map +1 -0
  174. package/lib/mutations/posts.js +31 -0
  175. package/lib/mutations/profiles.d.ts +1 -0
  176. package/lib/mutations/profiles.d.ts.map +1 -0
  177. package/lib/mutations/profiles.js +78 -0
  178. package/lib/mutations/reactions.d.ts +1 -0
  179. package/lib/mutations/reactions.d.ts.map +1 -0
  180. package/lib/mutations/reactions.js +29 -0
  181. package/lib/mutations/statistics.d.ts +1 -0
  182. package/lib/mutations/statistics.d.ts.map +1 -0
  183. package/lib/mutations/statistics.js +17 -0
  184. package/lib/mutations/subscriptions.d.ts +1 -0
  185. package/lib/mutations/subscriptions.d.ts.map +1 -0
  186. package/lib/mutations/subscriptions.js +38 -0
  187. package/lib/mutations/tags.d.ts +1 -0
  188. package/lib/mutations/tags.d.ts.map +1 -0
  189. package/lib/mutations/tags.js +109 -0
  190. package/lib/mutations/users.d.ts +1 -0
  191. package/lib/mutations/users.d.ts.map +1 -0
  192. package/lib/mutations/users.js +129 -0
  193. package/lib/objectTypes/app.d.ts +1 -0
  194. package/lib/objectTypes/app.d.ts.map +1 -0
  195. package/lib/objectTypes/app.js +147 -0
  196. package/lib/objectTypes/bankAccount.d.ts +1 -0
  197. package/lib/objectTypes/bankAccount.d.ts.map +1 -0
  198. package/lib/objectTypes/bankAccount.js +54 -0
  199. package/lib/objectTypes/connection.d.ts +1 -0
  200. package/lib/objectTypes/connection.d.ts.map +1 -0
  201. package/lib/objectTypes/connection.js +26 -0
  202. package/lib/objectTypes/content.d.ts +1 -0
  203. package/lib/objectTypes/content.d.ts.map +1 -0
  204. package/lib/objectTypes/content.js +79 -0
  205. package/lib/objectTypes/conversation.d.ts +1 -0
  206. package/lib/objectTypes/conversation.d.ts.map +1 -0
  207. package/lib/objectTypes/conversation.js +53 -0
  208. package/lib/objectTypes/creditCard.d.ts +1 -0
  209. package/lib/objectTypes/creditCard.d.ts.map +1 -0
  210. package/lib/objectTypes/creditCard.js +64 -0
  211. package/lib/objectTypes/document.d.ts +1 -0
  212. package/lib/objectTypes/document.d.ts.map +1 -0
  213. package/lib/objectTypes/document.js +21 -0
  214. package/lib/objectTypes/error.d.ts +1 -0
  215. package/lib/objectTypes/error.d.ts.map +1 -0
  216. package/lib/objectTypes/error.js +24 -0
  217. package/lib/objectTypes/external.d.ts +1 -0
  218. package/lib/objectTypes/external.d.ts.map +1 -0
  219. package/lib/objectTypes/external.js +52 -0
  220. package/lib/objectTypes/file.d.ts +1 -0
  221. package/lib/objectTypes/file.d.ts.map +1 -0
  222. package/lib/objectTypes/file.js +76 -0
  223. package/lib/objectTypes/filter.d.ts +1 -0
  224. package/lib/objectTypes/filter.d.ts.map +1 -0
  225. package/lib/objectTypes/filter.js +21 -0
  226. package/lib/objectTypes/group.d.ts +1 -0
  227. package/lib/objectTypes/group.d.ts.map +1 -0
  228. package/lib/objectTypes/group.js +97 -0
  229. package/lib/objectTypes/iapSubscription.d.ts +1 -0
  230. package/lib/objectTypes/iapSubscription.d.ts.map +1 -0
  231. package/lib/objectTypes/iapSubscription.js +18 -0
  232. package/lib/objectTypes/image.d.ts +1 -0
  233. package/lib/objectTypes/image.d.ts.map +1 -0
  234. package/lib/objectTypes/image.js +105 -0
  235. package/lib/objectTypes/index.d.ts +1 -0
  236. package/lib/objectTypes/index.d.ts.map +1 -0
  237. package/lib/objectTypes/index.js +28 -0
  238. package/lib/objectTypes/location.d.ts +1 -0
  239. package/lib/objectTypes/location.d.ts.map +1 -0
  240. package/lib/objectTypes/location.js +85 -0
  241. package/lib/objectTypes/message.d.ts +1 -0
  242. package/lib/objectTypes/message.d.ts.map +1 -0
  243. package/lib/objectTypes/message.js +72 -0
  244. package/lib/objectTypes/passcode.d.ts +1 -0
  245. package/lib/objectTypes/passcode.d.ts.map +1 -0
  246. package/lib/objectTypes/passcode.js +20 -0
  247. package/lib/objectTypes/plan.d.ts +1 -0
  248. package/lib/objectTypes/plan.d.ts.map +1 -0
  249. package/lib/objectTypes/plan.js +71 -0
  250. package/lib/objectTypes/post.d.ts +1 -0
  251. package/lib/objectTypes/post.d.ts.map +1 -0
  252. package/lib/objectTypes/post.js +101 -0
  253. package/lib/objectTypes/profile.d.ts +1 -0
  254. package/lib/objectTypes/profile.d.ts.map +1 -0
  255. package/lib/objectTypes/profile.js +68 -0
  256. package/lib/objectTypes/reaction.d.ts +1 -0
  257. package/lib/objectTypes/reaction.d.ts.map +1 -0
  258. package/lib/objectTypes/reaction.js +37 -0
  259. package/lib/objectTypes/relation.d.ts +1 -0
  260. package/lib/objectTypes/relation.d.ts.map +1 -0
  261. package/lib/objectTypes/relation.js +27 -0
  262. package/lib/objectTypes/search.d.ts +1 -0
  263. package/lib/objectTypes/search.d.ts.map +1 -0
  264. package/lib/objectTypes/search.js +50 -0
  265. package/lib/objectTypes/statistics.d.ts +1 -0
  266. package/lib/objectTypes/statistics.d.ts.map +1 -0
  267. package/lib/objectTypes/statistics.js +17 -0
  268. package/lib/objectTypes/subscription.d.ts +1 -0
  269. package/lib/objectTypes/subscription.d.ts.map +1 -0
  270. package/lib/objectTypes/subscription.js +102 -0
  271. package/lib/objectTypes/tag.d.ts +1 -0
  272. package/lib/objectTypes/tag.d.ts.map +1 -0
  273. package/lib/objectTypes/tag.js +41 -0
  274. package/lib/objectTypes/user.d.ts +1 -0
  275. package/lib/objectTypes/user.d.ts.map +1 -0
  276. package/lib/objectTypes/user.js +111 -0
  277. package/lib/queries/content.d.ts +1 -0
  278. package/lib/queries/content.d.ts.map +1 -0
  279. package/lib/queries/content.js +50 -0
  280. package/lib/queries/index.d.ts +1 -0
  281. package/lib/queries/index.d.ts.map +1 -0
  282. package/lib/queries/index.js +27 -0
  283. package/lib/queries/locations.d.ts +1 -0
  284. package/lib/queries/locations.d.ts.map +1 -0
  285. package/lib/queries/locations.js +23 -0
  286. package/lib/queries/messages.d.ts +1 -0
  287. package/lib/queries/messages.d.ts.map +1 -0
  288. package/lib/queries/messages.js +35 -0
  289. package/lib/queries/posts.d.ts +1 -0
  290. package/lib/queries/posts.d.ts.map +1 -0
  291. package/lib/queries/posts.js +154 -0
  292. package/lib/queries/reactions.d.ts +1 -0
  293. package/lib/queries/reactions.d.ts.map +1 -0
  294. package/lib/queries/reactions.js +34 -0
  295. package/lib/queries/statistics.d.ts +1 -0
  296. package/lib/queries/statistics.d.ts.map +1 -0
  297. package/lib/queries/statistics.js +17 -0
  298. package/lib/queries/subscriptions.d.ts +1 -0
  299. package/lib/queries/subscriptions.d.ts.map +1 -0
  300. package/lib/queries/subscriptions.js +21 -0
  301. package/lib/queries/tags.d.ts +1 -0
  302. package/lib/queries/tags.d.ts.map +1 -0
  303. package/lib/queries/tags.js +56 -0
  304. package/lib/queries/users.d.ts +1 -0
  305. package/lib/queries/users.d.ts.map +1 -0
  306. package/lib/queries/users.js +39 -0
  307. package/lib/templates/email/layout.d.ts +1 -0
  308. package/lib/templates/email/layout.d.ts.map +1 -0
  309. package/lib/templates/email/layout.js +281 -0
  310. package/lib/templates/email/passwordForgot.d.ts +1 -0
  311. package/lib/templates/email/passwordForgot.d.ts.map +1 -0
  312. package/lib/templates/email/passwordForgot.js +17 -0
  313. package/lib/templates/email/passwordRecovery.d.ts +1 -0
  314. package/lib/templates/email/passwordRecovery.d.ts.map +1 -0
  315. package/lib/templates/email/passwordRecovery.js +14 -0
  316. package/lib/templates/email/verifyEmail.d.ts +1 -0
  317. package/lib/templates/email/verifyEmail.d.ts.map +1 -0
  318. package/lib/templates/email/verifyEmail.js +17 -0
  319. package/lib/templates/email/welcome.d.ts +1 -0
  320. package/lib/templates/email/welcome.d.ts.map +1 -0
  321. package/lib/templates/email/welcome.js +17 -0
  322. package/lib/templates/sms/passwordForgot.d.ts +1 -0
  323. package/lib/templates/sms/passwordForgot.d.ts.map +1 -0
  324. package/lib/templates/sms/passwordForgot.js +3 -0
  325. package/lib/templates/sms/passwordRecovery.d.ts +1 -0
  326. package/lib/templates/sms/passwordRecovery.d.ts.map +1 -0
  327. package/lib/templates/sms/passwordRecovery.js +3 -0
  328. package/lib/templates/sms/verifyEmail.d.ts +1 -0
  329. package/lib/templates/sms/verifyEmail.d.ts.map +1 -0
  330. package/lib/templates/sms/verifyEmail.js +3 -0
  331. package/lib/templates/sms/verifyPhone.d.ts +1 -0
  332. package/lib/templates/sms/verifyPhone.d.ts.map +1 -0
  333. package/lib/templates/sms/verifyPhone.js +3 -0
  334. package/lib/templates/sms/welcome.d.ts +1 -0
  335. package/lib/templates/sms/welcome.d.ts.map +1 -0
  336. package/lib/templates/sms/welcome.js +3 -0
  337. package/lib/types/apps.types.d.ts +1 -0
  338. package/lib/types/apps.types.d.ts.map +1 -0
  339. package/lib/types/apps.types.js +10 -0
  340. package/lib/types/arangodb.types.d.ts +1 -0
  341. package/lib/types/arangodb.types.d.ts.map +1 -0
  342. package/lib/types/arangodb.types.js +6 -0
  343. package/lib/types/auth.types.d.ts +1 -0
  344. package/lib/types/auth.types.d.ts.map +1 -0
  345. package/lib/types/auth.types.js +6 -0
  346. package/lib/types/connections.types.d.ts +1 -0
  347. package/lib/types/connections.types.d.ts.map +1 -0
  348. package/lib/types/connections.types.js +6 -0
  349. package/lib/types/content.types.d.ts +1 -0
  350. package/lib/types/content.types.d.ts.map +1 -0
  351. package/lib/types/content.types.js +6 -0
  352. package/lib/types/conversations.types.d.ts +1 -0
  353. package/lib/types/conversations.types.d.ts.map +1 -0
  354. package/lib/types/conversations.types.js +6 -0
  355. package/lib/types/email.types.d.ts +1 -0
  356. package/lib/types/email.types.d.ts.map +1 -0
  357. package/lib/types/email.types.js +6 -0
  358. package/lib/types/error.types.d.ts +1 -0
  359. package/lib/types/error.types.d.ts.map +1 -0
  360. package/lib/types/error.types.js +20 -0
  361. package/lib/types/files.types.d.ts +1 -0
  362. package/lib/types/files.types.d.ts.map +1 -0
  363. package/lib/types/files.types.js +6 -0
  364. package/lib/types/google.types.d.ts +1 -0
  365. package/lib/types/google.types.d.ts.map +1 -0
  366. package/lib/types/google.types.js +6 -0
  367. package/lib/types/groups.types.d.ts +1 -0
  368. package/lib/types/groups.types.d.ts.map +1 -0
  369. package/lib/types/groups.types.js +6 -0
  370. package/lib/types/images.types.d.ts +1 -0
  371. package/lib/types/images.types.d.ts.map +1 -0
  372. package/lib/types/images.types.js +6 -0
  373. package/lib/types/index.d.ts +1 -0
  374. package/lib/types/index.d.ts.map +1 -0
  375. package/lib/types/index.js +28 -0
  376. package/lib/types/locations.types.d.ts +1 -0
  377. package/lib/types/locations.types.d.ts.map +1 -0
  378. package/lib/types/locations.types.js +6 -0
  379. package/lib/types/messages.types.d.ts +1 -0
  380. package/lib/types/messages.types.d.ts.map +1 -0
  381. package/lib/types/messages.types.js +6 -0
  382. package/lib/types/notifications.types.d.ts +1 -0
  383. package/lib/types/notifications.types.d.ts.map +1 -0
  384. package/lib/types/notifications.types.js +6 -0
  385. package/lib/types/payments.types.d.ts +1 -0
  386. package/lib/types/payments.types.d.ts.map +1 -0
  387. package/lib/types/payments.types.js +6 -0
  388. package/lib/types/posts.types.d.ts +1 -0
  389. package/lib/types/posts.types.d.ts.map +1 -0
  390. package/lib/types/posts.types.js +6 -0
  391. package/lib/types/profiles.types.d.ts +1 -0
  392. package/lib/types/profiles.types.d.ts.map +1 -0
  393. package/lib/types/profiles.types.js +3 -0
  394. package/lib/types/statistics.types.d.ts +1 -0
  395. package/lib/types/statistics.types.d.ts.map +1 -0
  396. package/lib/types/statistics.types.js +3 -0
  397. package/lib/types/tags.types.d.ts +1 -0
  398. package/lib/types/tags.types.d.ts.map +1 -0
  399. package/lib/types/tags.types.js +6 -0
  400. package/lib/types/users.types.d.ts +1 -0
  401. package/lib/types/users.types.d.ts.map +1 -0
  402. package/lib/types/users.types.js +6 -0
  403. package/lib/types/videos.types.d.ts +1 -0
  404. package/lib/types/videos.types.d.ts.map +1 -0
  405. package/lib/types/videos.types.js +6 -0
  406. package/lib/types/websockets.types.d.ts +1 -0
  407. package/lib/types/websockets.types.d.ts.map +1 -0
  408. package/lib/types/websockets.types.js +6 -0
  409. package/lib/utils/adapterUtils.d.ts +1 -0
  410. package/lib/utils/adapterUtils.d.ts.map +1 -0
  411. package/lib/utils/adapterUtils.js +23 -0
  412. package/lib/utils/analyticsUtils.d.ts +1 -0
  413. package/lib/utils/analyticsUtils.d.ts.map +1 -0
  414. package/lib/utils/analyticsUtils.js +45 -0
  415. package/lib/utils/arangodbUtils.d.ts +1 -0
  416. package/lib/utils/arangodbUtils.d.ts.map +1 -0
  417. package/lib/utils/arangodbUtils.js +130 -0
  418. package/lib/utils/authUtils.d.ts +1 -0
  419. package/lib/utils/authUtils.d.ts.map +1 -0
  420. package/lib/utils/authUtils.js +54 -0
  421. package/lib/utils/contextUtils.d.ts +1 -0
  422. package/lib/utils/contextUtils.d.ts.map +1 -0
  423. package/lib/utils/contextUtils.js +10 -0
  424. package/lib/utils/dbI18n.d.ts +1 -0
  425. package/lib/utils/dbI18n.d.ts.map +1 -0
  426. package/lib/utils/dbI18n.example.d.ts +1 -0
  427. package/lib/utils/dbI18n.example.d.ts.map +1 -0
  428. package/lib/utils/dbI18n.example.js +93 -0
  429. package/lib/utils/dbI18n.js +28 -0
  430. package/lib/utils/googleTranslate.d.ts +1 -0
  431. package/lib/utils/googleTranslate.d.ts.map +1 -0
  432. package/lib/utils/googleTranslate.js +70 -0
  433. package/lib/utils/graphqlUtils.d.ts +1 -0
  434. package/lib/utils/graphqlUtils.d.ts.map +1 -0
  435. package/lib/utils/graphqlUtils.js +11 -0
  436. package/lib/utils/index.d.ts +1 -0
  437. package/lib/utils/index.d.ts.map +1 -0
  438. package/lib/utils/index.js +19 -0
  439. package/lib/utils/languageDetection.d.ts +1 -0
  440. package/lib/utils/languageDetection.d.ts.map +1 -0
  441. package/lib/utils/languageDetection.js +120 -0
  442. package/lib/utils/localeUtils.d.ts +1 -0
  443. package/lib/utils/localeUtils.d.ts.map +1 -0
  444. package/lib/utils/localeUtils.example.d.ts +1 -0
  445. package/lib/utils/localeUtils.example.d.ts.map +1 -0
  446. package/lib/utils/localeUtils.example.js +124 -0
  447. package/lib/utils/localeUtils.js +71 -0
  448. package/lib/utils/middlewareUtils.d.ts +1 -0
  449. package/lib/utils/middlewareUtils.d.ts.map +1 -0
  450. package/lib/utils/middlewareUtils.js +10 -0
  451. package/lib/utils/sessionUtils.d.ts +1 -0
  452. package/lib/utils/sessionUtils.d.ts.map +1 -0
  453. package/lib/utils/sessionUtils.js +26 -0
  454. package/lib/utils/stripeUtils.d.ts +2 -1
  455. package/lib/utils/stripeUtils.d.ts.map +1 -0
  456. package/lib/utils/stripeUtils.js +12 -0
  457. package/lib/utils/templateUtils.d.ts +1 -0
  458. package/lib/utils/templateUtils.d.ts.map +1 -0
  459. package/lib/utils/templateUtils.js +11 -0
  460. package/lib/utils/testUtils.d.ts +1 -0
  461. package/lib/utils/testUtils.d.ts.map +1 -0
  462. package/lib/utils/testUtils.js +292 -0
  463. package/lib/utils/translationQueue.d.ts +1 -0
  464. package/lib/utils/translationQueue.d.ts.map +1 -0
  465. package/lib/utils/translationQueue.example.d.ts +1 -0
  466. package/lib/utils/translationQueue.example.d.ts.map +1 -0
  467. package/lib/utils/translationQueue.example.js +340 -0
  468. package/lib/utils/translationQueue.js +113 -0
  469. package/package.json +54 -24
  470. package/.env +0 -1
  471. package/.env.example +0 -1
  472. package/DATABASE_I18N_GUIDE.md +0 -434
  473. package/TEST_UTILITIES_GUIDE.md +0 -360
  474. package/coverage/actions/groups.ts.html +0 -1039
  475. package/coverage/actions/images.ts.html +0 -2500
  476. package/coverage/actions/index.html +0 -116
  477. package/coverage/actions/notifications.ts.html +0 -223
  478. package/coverage/actions/posts.ts.html +0 -2356
  479. package/coverage/actions/tags.ts.html +0 -1000
  480. package/coverage/adapters/arangoAdapter.ts.html +0 -301
  481. package/coverage/adapters/fileAdapter.ts.html +0 -445
  482. package/coverage/adapters/index.html +0 -176
  483. package/coverage/adapters/postAdapter.ts.html +0 -436
  484. package/coverage/adapters/reaktorAdapter.ts.html +0 -310
  485. package/coverage/adapters/tagAdapter.ts.html +0 -409
  486. package/coverage/adapters/userAdapter.ts.html +0 -829
  487. package/coverage/analyticsUtils.ts.html +0 -286
  488. package/coverage/base.css +0 -224
  489. package/coverage/block-navigation.js +0 -87
  490. package/coverage/clover.xml +0 -6
  491. package/coverage/config.ts.html +0 -766
  492. package/coverage/coverage-final.json +0 -1
  493. package/coverage/favicon.png +0 -0
  494. package/coverage/index.html +0 -221
  495. package/coverage/lcov-report/base.css +0 -224
  496. package/coverage/lcov-report/block-navigation.js +0 -87
  497. package/coverage/lcov-report/favicon.png +0 -0
  498. package/coverage/lcov-report/index.html +0 -101
  499. package/coverage/lcov-report/prettify.css +0 -1
  500. package/coverage/lcov-report/prettify.js +0 -2
  501. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  502. package/coverage/lcov-report/sorter.js +0 -196
  503. package/coverage/lcov.info +0 -0
  504. package/coverage/mocks/file.ts.html +0 -118
  505. package/coverage/mocks/group.ts.html +0 -145
  506. package/coverage/mocks/image.ts.html +0 -142
  507. package/coverage/mocks/index.html +0 -176
  508. package/coverage/mocks/post.ts.html +0 -169
  509. package/coverage/mocks/tag.ts.html +0 -121
  510. package/coverage/mocks/user.ts.html +0 -271
  511. package/coverage/prettify.css +0 -1
  512. package/coverage/prettify.js +0 -2
  513. package/coverage/sort-arrow-sprite.png +0 -0
  514. package/coverage/sorter.js +0 -210
  515. package/coverage/testUtils.ts.html +0 -1309
  516. package/coverage/translationQueue.ts.html +0 -592
  517. package/coverage/types/error.ts.html +0 -145
  518. package/coverage/types/error.types.ts.html +0 -148
  519. package/coverage/types/index.html +0 -116
  520. package/coverage/utils/adapterUtils.ts.html +0 -163
  521. package/coverage/utils/analyticsUtils.ts.html +0 -286
  522. package/coverage/utils/arangodbUtils.ts.html +0 -463
  523. package/coverage/utils/authUtils.ts.html +0 -328
  524. package/coverage/utils/dbI18n.ts.html +0 -280
  525. package/coverage/utils/googleTranslate.ts.html +0 -385
  526. package/coverage/utils/index.html +0 -131
  527. package/coverage/utils/localeUtils.ts.html +0 -193
  528. package/coverage/utils/sessionUtils.ts.html +0 -211
  529. package/coverage/utils/testUtils.ts.html +0 -1309
  530. package/index.js +0 -5
  531. package/jpg:- +0 -0
  532. package/lex.config.mjs +0 -34
  533. package/tsconfig.build.json +0 -21
  534. package/tsconfig.lint.json +0 -33
  535. package/tsconfig.test.json +0 -31
@@ -0,0 +1,118 @@
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 ADDED
@@ -0,0 +1,18 @@
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"}
@@ -0,0 +1,105 @@
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}
49
+ LIMIT 1
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}
60
+ LET user = FIRST(
61
+ FOR u IN users
62
+ FILTER u.userId == c.userId
63
+ LIMIT 1
64
+ RETURN u;
65
+ )
66
+ LIMIT 1
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}
79
+ LIMIT 1
80
+ LET u = (
81
+ FOR inUser, inEdge IN 1..1 INBOUND ${convoDocId} hasConversation
82
+ FOR n IN connections
83
+ FILTER inUser.userId == n.userId
84
+ RETURN n.connectionId
85
+ )
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}
97
+ LIMIT 1
98
+ REMOVE c IN connections
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"}
@@ -0,0 +1,41 @@
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"}
@@ -0,0 +1,85 @@
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"}
@@ -0,0 +1,20 @@
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"}
@@ -0,0 +1,78 @@
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 { ApiGatewayManagementApi } from '@aws-sdk/client-apigatewaymanagementapi';
5
+ import { isPlainObject } from '@nlabs/utils/checks/isPlainObject';
6
+ import { Config } from '../../config.js';
7
+ import { removeConnection } from '../actions/websockets.js';
8
+ const { API_ID, DOMAIN_NAME, stage } = process.env;
9
+ export class WebsocketClient {
10
+ client;
11
+ constructor(config){
12
+ if (config) {
13
+ this.setupClient(config);
14
+ } else {
15
+ this.setupClient({
16
+ requestContext: {
17
+ apiId: API_ID,
18
+ domainName: DOMAIN_NAME,
19
+ stage
20
+ }
21
+ });
22
+ }
23
+ }
24
+ // Allow just passing a single event to setup the client for ease of use
25
+ setupClient(config) {
26
+ if (!this.client) {
27
+ const { requestContext } = config;
28
+ const { apiId, domainName, stage } = requestContext;
29
+ let updatedDomainName = domainName;
30
+ if (apiId) {
31
+ updatedDomainName = `${apiId}.execute-api.${process.env.region}.amazonaws.com`;
32
+ }
33
+ let endpoint;
34
+ switch(stage){
35
+ case 'prod':
36
+ endpoint = `https://${updatedDomainName}/prod`;
37
+ break;
38
+ case 'dev':
39
+ endpoint = `https://${updatedDomainName}/dev`;
40
+ break;
41
+ default:
42
+ endpoint = 'http://local.phantaze.com:3001';
43
+ break;
44
+ }
45
+ this.client = new ApiGatewayManagementApi({
46
+ endpoint,
47
+ region: Config.get('aws.region')
48
+ });
49
+ }
50
+ }
51
+ async send(connections, payload) {
52
+ // Cheat and allow event to be passed in this also lets us default to setupClient too
53
+ const connectionIds = [];
54
+ if (isPlainObject(connections)) {
55
+ await this.setupClient(connections);
56
+ const { connectionId: connId } = connections.requestContext;
57
+ connectionIds.push(connId);
58
+ } else {
59
+ connectionIds.push(...connections);
60
+ }
61
+ if (this.client) {
62
+ await Promise.all(connectionIds.map((connectionId)=>this.client.postToConnection({
63
+ ConnectionId: connectionId,
64
+ Data: JSON.stringify(payload)
65
+ }).catch(async (postError)=>{
66
+ console.log('WebsocketError::postError', JSON.stringify(postError));
67
+ if (postError.statusCode === 410) {
68
+ // Disconnect client
69
+ await removeConnection(connectionId);
70
+ }
71
+ })));
72
+ }
73
+ return true;
74
+ }
75
+ }
76
+ export const wsClient = new WebsocketClient();
77
+
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3Ivc3JjL2xhbWJkYXMvdXRpbHMvd2Vic29ja2V0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDIxLVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQge0FwaUdhdGV3YXlNYW5hZ2VtZW50QXBpfSBmcm9tICdAYXdzLXNkay9jbGllbnQtYXBpZ2F0ZXdheW1hbmFnZW1lbnRhcGknO1xuXG5pbXBvcnQge2lzUGxhaW5PYmplY3R9IGZyb20gJ0BubGFicy91dGlscy9jaGVja3MvaXNQbGFpbk9iamVjdCc7XG5pbXBvcnQge0NvbmZpZ30gZnJvbSAnLi4vLi4vY29uZmlnLmpzJztcbmltcG9ydCB7cmVtb3ZlQ29ubmVjdGlvbn0gZnJvbSAnLi4vYWN0aW9ucy93ZWJzb2NrZXRzLmpzJztcblxuY29uc3Qge0FQSV9JRCwgRE9NQUlOX05BTUUsIHN0YWdlfSA9IHByb2Nlc3MuZW52O1xuXG5leHBvcnQgY2xhc3MgV2Vic29ja2V0Q2xpZW50IHtcbiAgY2xpZW50O1xuXG4gIGNvbnN0cnVjdG9yKGNvbmZpZz8pIHtcbiAgICBpZihjb25maWcpIHtcbiAgICAgIHRoaXMuc2V0dXBDbGllbnQoY29uZmlnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZXR1cENsaWVudCh7cmVxdWVzdENvbnRleHQ6IHthcGlJZDogQVBJX0lELCBkb21haW5OYW1lOiBET01BSU5fTkFNRSwgc3RhZ2V9fSk7XG4gICAgfVxuICB9XG5cbiAgLy8gQWxsb3cganVzdCBwYXNzaW5nIGEgc2luZ2xlIGV2ZW50IHRvIHNldHVwIHRoZSBjbGllbnQgZm9yIGVhc2Ugb2YgdXNlXG4gIHNldHVwQ2xpZW50KGNvbmZpZykge1xuICAgIGlmKCF0aGlzLmNsaWVudCkge1xuICAgICAgY29uc3Qge3JlcXVlc3RDb250ZXh0fSA9IGNvbmZpZztcbiAgICAgIGNvbnN0IHthcGlJZCwgZG9tYWluTmFtZSwgc3RhZ2V9ID0gcmVxdWVzdENvbnRleHQ7XG4gICAgICBsZXQgdXBkYXRlZERvbWFpbk5hbWU6IHN0cmluZyA9IGRvbWFpbk5hbWU7XG5cbiAgICAgIGlmKGFwaUlkKSB7XG4gICAgICAgIHVwZGF0ZWREb21haW5OYW1lID0gYCR7YXBpSWR9LmV4ZWN1dGUtYXBpLiR7cHJvY2Vzcy5lbnYucmVnaW9ufS5hbWF6b25hd3MuY29tYDtcbiAgICAgIH1cblxuICAgICAgbGV0IGVuZHBvaW50OiBzdHJpbmc7XG5cbiAgICAgIHN3aXRjaChzdGFnZSkge1xuICAgICAgICBjYXNlICdwcm9kJzpcbiAgICAgICAgICBlbmRwb2ludCA9IGBodHRwczovLyR7dXBkYXRlZERvbWFpbk5hbWV9L3Byb2RgO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdkZXYnOlxuICAgICAgICAgIGVuZHBvaW50ID0gYGh0dHBzOi8vJHt1cGRhdGVkRG9tYWluTmFtZX0vZGV2YDtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBlbmRwb2ludCA9ICdodHRwOi8vbG9jYWwucGhhbnRhemUuY29tOjMwMDEnO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmNsaWVudCA9IG5ldyBBcGlHYXRld2F5TWFuYWdlbWVudEFwaSh7XG4gICAgICAgIGVuZHBvaW50LFxuICAgICAgICByZWdpb246IENvbmZpZy5nZXQoJ2F3cy5yZWdpb24nKVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgc2VuZChjb25uZWN0aW9ucywgcGF5bG9hZCkge1xuICAgIC8vIENoZWF0IGFuZCBhbGxvdyBldmVudCB0byBiZSBwYXNzZWQgaW4gdGhpcyBhbHNvIGxldHMgdXMgZGVmYXVsdCB0byBzZXR1cENsaWVudCB0b29cbiAgICBjb25zdCBjb25uZWN0aW9uSWRzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgaWYoaXNQbGFpbk9iamVjdChjb25uZWN0aW9ucykpIHtcbiAgICAgIGF3YWl0IHRoaXMuc2V0dXBDbGllbnQoY29ubmVjdGlvbnMpO1xuICAgICAgY29uc3Qge2Nvbm5lY3Rpb25JZDogY29ubklkfSA9IGNvbm5lY3Rpb25zLnJlcXVlc3RDb250ZXh0O1xuICAgICAgY29ubmVjdGlvbklkcy5wdXNoKGNvbm5JZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbm5lY3Rpb25JZHMucHVzaCguLi5jb25uZWN0aW9ucyk7XG4gICAgfVxuXG4gICAgaWYodGhpcy5jbGllbnQpIHtcbiAgICAgIGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgICBjb25uZWN0aW9uSWRzLm1hcCgoY29ubmVjdGlvbklkOiBzdHJpbmcpID0+XG4gICAgICAgICAgdGhpcy5jbGllbnQucG9zdFRvQ29ubmVjdGlvbih7Q29ubmVjdGlvbklkOiBjb25uZWN0aW9uSWQsIERhdGE6IEpTT04uc3RyaW5naWZ5KHBheWxvYWQpfSlcbiAgICAgICAgICAgIC5jYXRjaChhc3luYyAocG9zdEVycm9yKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdXZWJzb2NrZXRFcnJvcjo6cG9zdEVycm9yJywgSlNPTi5zdHJpbmdpZnkocG9zdEVycm9yKSk7XG5cbiAgICAgICAgICAgICAgaWYocG9zdEVycm9yLnN0YXR1c0NvZGUgPT09IDQxMCkge1xuICAgICAgICAgICAgICAgIC8vIERpc2Nvbm5lY3QgY2xpZW50XG4gICAgICAgICAgICAgICAgYXdhaXQgcmVtb3ZlQ29ubmVjdGlvbihjb25uZWN0aW9uSWQpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCB3c0NsaWVudCA9IG5ldyBXZWJzb2NrZXRDbGllbnQoKTtcbiJdLCJuYW1lcyI6WyJBcGlHYXRld2F5TWFuYWdlbWVudEFwaSIsImlzUGxhaW5PYmplY3QiLCJDb25maWciLCJyZW1vdmVDb25uZWN0aW9uIiwiQVBJX0lEIiwiRE9NQUlOX05BTUUiLCJzdGFnZSIsInByb2Nlc3MiLCJlbnYiLCJXZWJzb2NrZXRDbGllbnQiLCJjbGllbnQiLCJjb25maWciLCJzZXR1cENsaWVudCIsInJlcXVlc3RDb250ZXh0IiwiYXBpSWQiLCJkb21haW5OYW1lIiwidXBkYXRlZERvbWFpbk5hbWUiLCJyZWdpb24iLCJlbmRwb2ludCIsImdldCIsInNlbmQiLCJjb25uZWN0aW9ucyIsInBheWxvYWQiLCJjb25uZWN0aW9uSWRzIiwiY29ubmVjdGlvbklkIiwiY29ubklkIiwicHVzaCIsIlByb21pc2UiLCJhbGwiLCJtYXAiLCJwb3N0VG9Db25uZWN0aW9uIiwiQ29ubmVjdGlvbklkIiwiRGF0YSIsIkpTT04iLCJzdHJpbmdpZnkiLCJjYXRjaCIsInBvc3RFcnJvciIsImNvbnNvbGUiLCJsb2ciLCJzdGF0dXNDb2RlIiwid3NDbGllbnQiXSwibWFwcGluZ3MiOiJBQUFBOzs7Q0FHQyxHQUNELFNBQVFBLHVCQUF1QixRQUFPLDBDQUEwQztBQUVoRixTQUFRQyxhQUFhLFFBQU8sb0NBQW9DO0FBQ2hFLFNBQVFDLE1BQU0sUUFBTyxrQkFBa0I7QUFDdkMsU0FBUUMsZ0JBQWdCLFFBQU8sMkJBQTJCO0FBRTFELE1BQU0sRUFBQ0MsTUFBTSxFQUFFQyxXQUFXLEVBQUVDLEtBQUssRUFBQyxHQUFHQyxRQUFRQyxHQUFHO0FBRWhELE9BQU8sTUFBTUM7SUFDWEMsT0FBTztJQUVQLFlBQVlDLE1BQU8sQ0FBRTtRQUNuQixJQUFHQSxRQUFRO1lBQ1QsSUFBSSxDQUFDQyxXQUFXLENBQUNEO1FBQ25CLE9BQU87WUFDTCxJQUFJLENBQUNDLFdBQVcsQ0FBQztnQkFBQ0MsZ0JBQWdCO29CQUFDQyxPQUFPVjtvQkFBUVcsWUFBWVY7b0JBQWFDO2dCQUFLO1lBQUM7UUFDbkY7SUFDRjtJQUVBLHdFQUF3RTtJQUN4RU0sWUFBWUQsTUFBTSxFQUFFO1FBQ2xCLElBQUcsQ0FBQyxJQUFJLENBQUNELE1BQU0sRUFBRTtZQUNmLE1BQU0sRUFBQ0csY0FBYyxFQUFDLEdBQUdGO1lBQ3pCLE1BQU0sRUFBQ0csS0FBSyxFQUFFQyxVQUFVLEVBQUVULEtBQUssRUFBQyxHQUFHTztZQUNuQyxJQUFJRyxvQkFBNEJEO1lBRWhDLElBQUdELE9BQU87Z0JBQ1JFLG9CQUFvQixHQUFHRixNQUFNLGFBQWEsRUFBRVAsUUFBUUMsR0FBRyxDQUFDUyxNQUFNLENBQUMsY0FBYyxDQUFDO1lBQ2hGO1lBRUEsSUFBSUM7WUFFSixPQUFPWjtnQkFDTCxLQUFLO29CQUNIWSxXQUFXLENBQUMsUUFBUSxFQUFFRixrQkFBa0IsS0FBSyxDQUFDO29CQUM5QztnQkFDRixLQUFLO29CQUNIRSxXQUFXLENBQUMsUUFBUSxFQUFFRixrQkFBa0IsSUFBSSxDQUFDO29CQUM3QztnQkFDRjtvQkFDRUUsV0FBVztvQkFDWDtZQUNKO1lBRUEsSUFBSSxDQUFDUixNQUFNLEdBQUcsSUFBSVYsd0JBQXdCO2dCQUN4Q2tCO2dCQUNBRCxRQUFRZixPQUFPaUIsR0FBRyxDQUFDO1lBQ3JCO1FBQ0Y7SUFDRjtJQUVBLE1BQU1DLEtBQUtDLFdBQVcsRUFBRUMsT0FBTyxFQUFFO1FBQy9CLHFGQUFxRjtRQUNyRixNQUFNQyxnQkFBMEIsRUFBRTtRQUVsQyxJQUFHdEIsY0FBY29CLGNBQWM7WUFDN0IsTUFBTSxJQUFJLENBQUNULFdBQVcsQ0FBQ1M7WUFDdkIsTUFBTSxFQUFDRyxjQUFjQyxNQUFNLEVBQUMsR0FBR0osWUFBWVIsY0FBYztZQUN6RFUsY0FBY0csSUFBSSxDQUFDRDtRQUNyQixPQUFPO1lBQ0xGLGNBQWNHLElBQUksSUFBSUw7UUFDeEI7UUFFQSxJQUFHLElBQUksQ0FBQ1gsTUFBTSxFQUFFO1lBQ2QsTUFBTWlCLFFBQVFDLEdBQUcsQ0FDZkwsY0FBY00sR0FBRyxDQUFDLENBQUNMLGVBQ2pCLElBQUksQ0FBQ2QsTUFBTSxDQUFDb0IsZ0JBQWdCLENBQUM7b0JBQUNDLGNBQWNQO29CQUFjUSxNQUFNQyxLQUFLQyxTQUFTLENBQUNaO2dCQUFRLEdBQ3BGYSxLQUFLLENBQUMsT0FBT0M7b0JBQ1pDLFFBQVFDLEdBQUcsQ0FBQyw2QkFBNkJMLEtBQUtDLFNBQVMsQ0FBQ0U7b0JBRXhELElBQUdBLFVBQVVHLFVBQVUsS0FBSyxLQUFLO3dCQUMvQixvQkFBb0I7d0JBQ3BCLE1BQU1wQyxpQkFBaUJxQjtvQkFDekI7Z0JBQ0Y7UUFHUjtRQUVBLE9BQU87SUFDVDtBQUNGO0FBRUEsT0FBTyxNQUFNZ0IsV0FBVyxJQUFJL0Isa0JBQWtCIn0=
@@ -6,3 +6,4 @@ export declare const mockConversation: {
6
6
  userId: string;
7
7
  users: any[];
8
8
  };
9
+ //# sourceMappingURL=conversation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../src/mocks/conversation.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB;;;;;;;CAO5B,CAAC"}
@@ -0,0 +1,10 @@
1
+ export const mockConversation = {
2
+ _id: 'conversations/conversation1',
3
+ _key: 'conversation1',
4
+ id: 'conversations/conversation1',
5
+ added: 1616508107,
6
+ userId: 'user1',
7
+ users: []
8
+ };
9
+
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3Ivc3JjL21vY2tzL2NvbnZlcnNhdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgbW9ja0NvbnZlcnNhdGlvbiA9IHtcbiAgX2lkOiAnY29udmVyc2F0aW9ucy9jb252ZXJzYXRpb24xJyxcbiAgX2tleTogJ2NvbnZlcnNhdGlvbjEnLFxuICBpZDogJ2NvbnZlcnNhdGlvbnMvY29udmVyc2F0aW9uMScsXG4gIGFkZGVkOiAxNjE2NTA4MTA3LFxuICB1c2VySWQ6ICd1c2VyMScsXG4gIHVzZXJzOiBbXVxufTsiXSwibmFtZXMiOlsibW9ja0NvbnZlcnNhdGlvbiIsIl9pZCIsIl9rZXkiLCJpZCIsImFkZGVkIiwidXNlcklkIiwidXNlcnMiXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sTUFBTUEsbUJBQW1CO0lBQzlCQyxLQUFLO0lBQ0xDLE1BQU07SUFDTkMsSUFBSTtJQUNKQyxPQUFPO0lBQ1BDLFFBQVE7SUFDUkMsT0FBTyxFQUFFO0FBQ1gsRUFBRSJ9
@@ -9,3 +9,4 @@ export declare const mockFile: {
9
9
  url: string;
10
10
  userId: string;
11
11
  };
12
+ //# sourceMappingURL=file.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../../src/mocks/file.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ;;;;;;;;;;CAUpB,CAAC"}