@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,119 @@
1
- import{parseNum as h}from"@nlabs/utils/parsers/numbers";import{parseArangoId as I,parseId as a,parseString as F,parseUrl as w}from"@nlabs/utils/parsers/strings";import{z as e}from"zod";import{parseDocument as x}from"./arangoAdapter.js";import{parseReaktorContent as _,parseReaktorType as b}from"./reaktorAdapter.js";class p extends Error{constructor(t,n){super(t);this.field=n;this.name="FileValidationError"}}const j=e.object({_from:e.string().optional(),_id:e.string().optional(),_key:e.string().optional(),_oldRev:e.string().optional(),_rev:e.string().optional(),_to:e.string().optional(),base64:e.string().optional(),buffer:e.any().optional(),description:e.string().optional(),fileId:e.string().optional(),fileSize:e.number().optional(),fileType:e.string().optional(),itemId:e.string().optional(),itemType:e.string().optional(),name:e.string().optional(),url:e.string().optional(),userId:e.string().optional()}).passthrough(),U=i=>{try{return j.parse(i)}catch(r){if(r instanceof e.ZodError){const t=r.issues.map(n=>`${n.path.join(".")}: ${n.message}`).join(", ");throw new p(`File validation failed: ${t}`)}throw r}},V=i=>i,k=i=>{const{fileType:r,name:t}=i;if(r)return F(r,16);const n=t?.split(".")||[];switch(n.length&&n[n.length-1]||""){case"jpeg":case"jpg":return"image/jpeg";case"png":return"image/png";case"zip":return"application/zip";default:return}},C=i=>{try{return v(i)}catch(r){throw r instanceof p?r:new p(`File parsing failed: ${r instanceof Error?r.message:"Unknown error"}`)}},v=i=>{const{_id:r,_key:t,base64:n,buffer:s,description:l,fileId:o,fileSize:d,fileType:T,id:f,itemId:m,itemType:c,name:g,url:u,userId:y}=i;return{...x(i),...n&&{base64:n},...s&&{buffer:s},...l&&{description:_(l)},...(t||o)&&{fileId:a(t||o)},...(r||f||t||o)&&{id:I(r||f||`files/${t||o}`)},...d!==void 0&&{fileSize:h(d)},...T&&{fileType:k(i)},...m&&{itemId:a(m)},...c&&{itemType:b(c)},...g&&{name:F(g,160)},...u&&{url:w(u)},...y&&{userId:a(y)}}};export{p as FileValidationError,V as formatFileOutput,k as getFileType,C as parseFile,U as validateFileInput};
2
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FkYXB0ZXJzL2ZpbGVBZGFwdGVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQge3BhcnNlTnVtfSBmcm9tICdAbmxhYnMvdXRpbHMvcGFyc2Vycy9udW1iZXJzJztcbmltcG9ydCB7cGFyc2VBcmFuZ29JZCwgcGFyc2VJZCwgcGFyc2VTdHJpbmcsIHBhcnNlVXJsfSBmcm9tICdAbmxhYnMvdXRpbHMvcGFyc2Vycy9zdHJpbmdzJztcbmltcG9ydCB7en0gZnJvbSAnem9kJztcblxuaW1wb3J0IHtGaWxlVHlwZX0gZnJvbSAnLi4vdHlwZXMvZmlsZXMudHlwZXMuanMnO1xuaW1wb3J0IHtwYXJzZURvY3VtZW50fSBmcm9tICcuL2FyYW5nb0FkYXB0ZXIuanMnO1xuaW1wb3J0IHtwYXJzZVJlYWt0b3JDb250ZW50LCBwYXJzZVJlYWt0b3JUeXBlfSBmcm9tICcuL3JlYWt0b3JBZGFwdGVyLmpzJztcblxuZXhwb3J0IGNsYXNzIEZpbGVWYWxpZGF0aW9uRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZywgcHVibGljIGZpZWxkPzogc3RyaW5nKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gICAgdGhpcy5uYW1lID0gJ0ZpbGVWYWxpZGF0aW9uRXJyb3InO1xuICB9XG59XG5cbmNvbnN0IEZpbGVJbnB1dFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgX2Zyb206IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX2lkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9rZXk6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX29sZFJldjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfcmV2OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF90bzogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBiYXNlNjQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgYnVmZmVyOiB6LmFueSgpLm9wdGlvbmFsKCksXG4gIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGZpbGVJZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBmaWxlU2l6ZTogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICBmaWxlVHlwZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBpdGVtSWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgaXRlbVR5cGU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgbmFtZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICB1cmw6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgdXNlcklkOiB6LnN0cmluZygpLm9wdGlvbmFsKClcbn0pLnBhc3N0aHJvdWdoKCk7XG5cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZUZpbGVJbnB1dCA9IChmaWxlOiB1bmtub3duKTogRmlsZVR5cGUgPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IHZhbGlkYXRlZCA9IEZpbGVJbnB1dFNjaGVtYS5wYXJzZShmaWxlKTtcbiAgICByZXR1cm4gdmFsaWRhdGVkIGFzIEZpbGVUeXBlO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgaWYoZXJyb3IgaW5zdGFuY2VvZiB6LlpvZEVycm9yKSB7XG4gICAgICBjb25zdCBmaWVsZEVycm9ycyA9IGVycm9yLmlzc3Vlcy5tYXAoKGUpID0+IGAke2UucGF0aC5qb2luKCcuJyl9OiAke2UubWVzc2FnZX1gKS5qb2luKCcsICcpO1xuICAgICAgdGhyb3cgbmV3IEZpbGVWYWxpZGF0aW9uRXJyb3IoYEZpbGUgdmFsaWRhdGlvbiBmYWlsZWQ6ICR7ZmllbGRFcnJvcnN9YCk7XG4gICAgfVxuICAgIHRocm93IGVycm9yO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgZm9ybWF0RmlsZU91dHB1dCA9IChmaWxlOiBGaWxlVHlwZSk6IEZpbGVUeXBlID0+IGZpbGU7XG5cbmV4cG9ydCBjb25zdCBnZXRGaWxlVHlwZSA9IChmaWxlOiBGaWxlVHlwZSk6IHN0cmluZyB8IHVuZGVmaW5lZCA9PiB7XG4gIGNvbnN0IHtmaWxlVHlwZSwgbmFtZX0gPSBmaWxlO1xuXG4gIGlmKGZpbGVUeXBlKSB7XG4gICAgcmV0dXJuIHBhcnNlU3RyaW5nKGZpbGVUeXBlLCAxNik7XG4gIH1cblxuICBjb25zdCBuYW1lQXJyOiBzdHJpbmdbXSA9IG5hbWU/LnNwbGl0KCcuJykgfHwgW107XG4gIGNvbnN0IGV4dDogc3RyaW5nID0gbmFtZUFyci5sZW5ndGggJiYgbmFtZUFycltuYW1lQXJyLmxlbmd0aCAtIDFdIHx8ICcnO1xuXG4gIHN3aXRjaChleHQpIHtcbiAgICBjYXNlICdqcGVnJzpcbiAgICBjYXNlICdqcGcnOlxuICAgICAgcmV0dXJuICdpbWFnZS9qcGVnJztcbiAgICBjYXNlICdwbmcnOlxuICAgICAgcmV0dXJuICdpbWFnZS9wbmcnO1xuICAgIGNhc2UgJ3ppcCc6XG4gICAgICByZXR1cm4gJ2FwcGxpY2F0aW9uL3ppcCc7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBwYXJzZUZpbGUgPSAoZmlsZTogRmlsZVR5cGUpOiBGaWxlVHlwZSA9PiB7XG4gIHRyeSB7XG4gICAgY29uc3QgcGFyc2VkID0gcGVyZm9ybUZpbGVUcmFuc2Zvcm1hdGlvbihmaWxlKTtcbiAgICByZXR1cm4gcGFyc2VkO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgaWYoZXJyb3IgaW5zdGFuY2VvZiBGaWxlVmFsaWRhdGlvbkVycm9yKSB7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gICAgdGhyb3cgbmV3IEZpbGVWYWxpZGF0aW9uRXJyb3IoYEZpbGUgcGFyc2luZyBmYWlsZWQ6ICR7ZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnVW5rbm93biBlcnJvcid9YCk7XG4gIH1cbn07XG5cbmNvbnN0IHBlcmZvcm1GaWxlVHJhbnNmb3JtYXRpb24gPSAoZmlsZTogRmlsZVR5cGUpOiBGaWxlVHlwZSA9PiB7XG4gIGNvbnN0IHtcbiAgICBfaWQsXG4gICAgX2tleSxcbiAgICBiYXNlNjQsXG4gICAgYnVmZmVyLFxuICAgIGRlc2NyaXB0aW9uLFxuICAgIGZpbGVJZCxcbiAgICBmaWxlU2l6ZSxcbiAgICBmaWxlVHlwZSxcbiAgICBpZCxcbiAgICBpdGVtSWQsXG4gICAgaXRlbVR5cGUsXG4gICAgbmFtZSxcbiAgICB1cmwsXG4gICAgdXNlcklkXG4gIH0gPSBmaWxlO1xuXG4gIGNvbnN0IHRyYW5zZm9ybWVkID0ge1xuICAgIC4uLnBhcnNlRG9jdW1lbnQoZmlsZSksXG4gICAgLi4uKGJhc2U2NCAmJiB7YmFzZTY0fSksXG4gICAgLi4uKGJ1ZmZlciAmJiB7YnVmZmVyfSksXG4gICAgLi4uKGRlc2NyaXB0aW9uICYmIHtkZXNjcmlwdGlvbjogcGFyc2VSZWFrdG9yQ29udGVudChkZXNjcmlwdGlvbil9KSxcbiAgICAuLi4oKF9rZXkgfHwgZmlsZUlkKSAmJiB7ZmlsZUlkOiBwYXJzZUlkKF9rZXkgfHwgZmlsZUlkKX0pLFxuICAgIC4uLigoX2lkIHx8IGlkIHx8IF9rZXkgfHwgZmlsZUlkKSAmJiB7aWQ6IHBhcnNlQXJhbmdvSWQoX2lkIHx8IGlkIHx8IGBmaWxlcy8ke19rZXkgfHwgZmlsZUlkfWApfSksXG4gICAgLi4uKGZpbGVTaXplICE9PSB1bmRlZmluZWQgJiYge2ZpbGVTaXplOiBwYXJzZU51bShmaWxlU2l6ZSl9KSxcbiAgICAuLi4oZmlsZVR5cGUgJiYge2ZpbGVUeXBlOiBnZXRGaWxlVHlwZShmaWxlKX0pLFxuICAgIC4uLihpdGVtSWQgJiYge2l0ZW1JZDogcGFyc2VJZChpdGVtSWQpfSksXG4gICAgLi4uKGl0ZW1UeXBlICYmIHtpdGVtVHlwZTogcGFyc2VSZWFrdG9yVHlwZShpdGVtVHlwZSl9KSxcbiAgICAuLi4obmFtZSAmJiB7bmFtZTogcGFyc2VTdHJpbmcobmFtZSwgMTYwKX0pLFxuICAgIC4uLih1cmwgJiYge3VybDogcGFyc2VVcmwodXJsKX0pLFxuICAgIC4uLih1c2VySWQgJiYge3VzZXJJZDogcGFyc2VJZCh1c2VySWQpfSlcbiAgfTtcblxuICByZXR1cm4gdHJhbnNmb3JtZWQ7XG59OyJdLAogICJtYXBwaW5ncyI6ICJBQUFBLE9BQVEsWUFBQUEsTUFBZSwrQkFDdkIsT0FBUSxpQkFBQUMsRUFBZSxXQUFBQyxFQUFTLGVBQUFDLEVBQWEsWUFBQUMsTUFBZSwrQkFDNUQsT0FBUSxLQUFBQyxNQUFRLE1BR2hCLE9BQVEsaUJBQUFDLE1BQW9CLHFCQUM1QixPQUFRLHVCQUFBQyxFQUFxQixvQkFBQUMsTUFBdUIsc0JBRTdDLE1BQU1DLFVBQTRCLEtBQU0sQ0FDN0MsWUFBWUMsRUFBd0JDLEVBQWdCLENBQ2xELE1BQU1ELENBQU8sRUFEcUIsV0FBQUMsRUFFbEMsS0FBSyxLQUFPLHFCQUNkLENBQ0YsQ0FFQSxNQUFNQyxFQUFrQlAsRUFBRSxPQUFPLENBQy9CLE1BQU9BLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDM0IsSUFBS0EsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUN6QixLQUFNQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzFCLFFBQVNBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDN0IsS0FBTUEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUMxQixJQUFLQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQ3pCLE9BQVFBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDNUIsT0FBUUEsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUN6QixZQUFhQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQ2pDLE9BQVFBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDNUIsU0FBVUEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUM5QixTQUFVQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzlCLE9BQVFBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDNUIsU0FBVUEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUM5QixLQUFNQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzFCLElBQUtBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDekIsT0FBUUEsRUFBRSxPQUFPLEVBQUUsU0FBUyxDQUM5QixDQUFDLEVBQUUsWUFBWSxFQUVGUSxFQUFxQkMsR0FBNEIsQ0FDNUQsR0FBSSxDQUVGLE9BRGtCRixFQUFnQixNQUFNRSxDQUFJLENBRTlDLE9BQVFDLEVBQU8sQ0FDYixHQUFHQSxhQUFpQlYsRUFBRSxTQUFVLENBQzlCLE1BQU1XLEVBQWNELEVBQU0sT0FBTyxJQUFLRSxHQUFNLEdBQUdBLEVBQUUsS0FBSyxLQUFLLEdBQUcsQ0FBQyxLQUFLQSxFQUFFLE9BQU8sRUFBRSxFQUFFLEtBQUssSUFBSSxFQUMxRixNQUFNLElBQUlSLEVBQW9CLDJCQUEyQk8sQ0FBVyxFQUFFLENBQ3hFLENBQ0EsTUFBTUQsQ0FDUixDQUNGLEVBRWFHLEVBQW9CSixHQUE2QkEsRUFFakRLLEVBQWVMLEdBQXVDLENBQ2pFLEtBQU0sQ0FBQyxTQUFBTSxFQUFVLEtBQUFDLENBQUksRUFBSVAsRUFFekIsR0FBR00sRUFDRCxPQUFPakIsRUFBWWlCLEVBQVUsRUFBRSxFQUdqQyxNQUFNRSxFQUFvQkQsR0FBTSxNQUFNLEdBQUcsR0FBSyxDQUFDLEVBRy9DLE9BRm9CQyxFQUFRLFFBQVVBLEVBQVFBLEVBQVEsT0FBUyxDQUFDLEdBQUssR0FFekQsQ0FDVixJQUFLLE9BQ0wsSUFBSyxNQUNILE1BQU8sYUFDVCxJQUFLLE1BQ0gsTUFBTyxZQUNULElBQUssTUFDSCxNQUFPLGtCQUNULFFBQ0UsTUFDSixDQUNGLEVBRWFDLEVBQWFULEdBQTZCLENBQ3JELEdBQUksQ0FFRixPQURlVSxFQUEwQlYsQ0FBSSxDQUUvQyxPQUFRQyxFQUFPLENBQ2IsTUFBR0EsYUFBaUJOLEVBQ1pNLEVBRUYsSUFBSU4sRUFBb0Isd0JBQXdCTSxhQUFpQixNQUFRQSxFQUFNLFFBQVUsZUFBZSxFQUFFLENBQ2xILENBQ0YsRUFFTVMsRUFBNkJWLEdBQTZCLENBQzlELEtBQU0sQ0FDSixJQUFBVyxFQUNBLEtBQUFDLEVBQ0EsT0FBQUMsRUFDQSxPQUFBQyxFQUNBLFlBQUFDLEVBQ0EsT0FBQUMsRUFDQSxTQUFBQyxFQUNBLFNBQUFYLEVBQ0EsR0FBQVksRUFDQSxPQUFBQyxFQUNBLFNBQUFDLEVBQ0EsS0FBQWIsRUFDQSxJQUFBYyxFQUNBLE9BQUFDLENBQ0YsRUFBSXRCLEVBa0JKLE1BaEJvQixDQUNsQixHQUFHUixFQUFjUSxDQUFJLEVBQ3JCLEdBQUlhLEdBQVUsQ0FBQyxPQUFBQSxDQUFNLEVBQ3JCLEdBQUlDLEdBQVUsQ0FBQyxPQUFBQSxDQUFNLEVBQ3JCLEdBQUlDLEdBQWUsQ0FBQyxZQUFhdEIsRUFBb0JzQixDQUFXLENBQUMsRUFDakUsSUFBS0gsR0FBUUksSUFBVyxDQUFDLE9BQVE1QixFQUFRd0IsR0FBUUksQ0FBTSxDQUFDLEVBQ3hELElBQUtMLEdBQU9PLEdBQU1OLEdBQVFJLElBQVcsQ0FBQyxHQUFJN0IsRUFBY3dCLEdBQU9PLEdBQU0sU0FBU04sR0FBUUksQ0FBTSxFQUFFLENBQUMsRUFDL0YsR0FBSUMsSUFBYSxRQUFhLENBQUMsU0FBVS9CLEVBQVMrQixDQUFRLENBQUMsRUFDM0QsR0FBSVgsR0FBWSxDQUFDLFNBQVVELEVBQVlMLENBQUksQ0FBQyxFQUM1QyxHQUFJbUIsR0FBVSxDQUFDLE9BQVEvQixFQUFRK0IsQ0FBTSxDQUFDLEVBQ3RDLEdBQUlDLEdBQVksQ0FBQyxTQUFVMUIsRUFBaUIwQixDQUFRLENBQUMsRUFDckQsR0FBSWIsR0FBUSxDQUFDLEtBQU1sQixFQUFZa0IsRUFBTSxHQUFHLENBQUMsRUFDekMsR0FBSWMsR0FBTyxDQUFDLElBQUsvQixFQUFTK0IsQ0FBRyxDQUFDLEVBQzlCLEdBQUlDLEdBQVUsQ0FBQyxPQUFRbEMsRUFBUWtDLENBQU0sQ0FBQyxDQUN4QyxDQUdGIiwKICAibmFtZXMiOiBbInBhcnNlTnVtIiwgInBhcnNlQXJhbmdvSWQiLCAicGFyc2VJZCIsICJwYXJzZVN0cmluZyIsICJwYXJzZVVybCIsICJ6IiwgInBhcnNlRG9jdW1lbnQiLCAicGFyc2VSZWFrdG9yQ29udGVudCIsICJwYXJzZVJlYWt0b3JUeXBlIiwgIkZpbGVWYWxpZGF0aW9uRXJyb3IiLCAibWVzc2FnZSIsICJmaWVsZCIsICJGaWxlSW5wdXRTY2hlbWEiLCAidmFsaWRhdGVGaWxlSW5wdXQiLCAiZmlsZSIsICJlcnJvciIsICJmaWVsZEVycm9ycyIsICJlIiwgImZvcm1hdEZpbGVPdXRwdXQiLCAiZ2V0RmlsZVR5cGUiLCAiZmlsZVR5cGUiLCAibmFtZSIsICJuYW1lQXJyIiwgInBhcnNlRmlsZSIsICJwZXJmb3JtRmlsZVRyYW5zZm9ybWF0aW9uIiwgIl9pZCIsICJfa2V5IiwgImJhc2U2NCIsICJidWZmZXIiLCAiZGVzY3JpcHRpb24iLCAiZmlsZUlkIiwgImZpbGVTaXplIiwgImlkIiwgIml0ZW1JZCIsICJpdGVtVHlwZSIsICJ1cmwiLCAidXNlcklkIl0KfQo=
1
+ import { parseNum } from '@nlabs/utils/parsers/numbers';
2
+ import { parseArangoId, parseId, parseString, parseUrl } from '@nlabs/utils/parsers/strings';
3
+ import { z } from 'zod';
4
+ import { parseDocument } from './arangoAdapter.js';
5
+ import { parseReaktorContent, parseReaktorType } from './reaktorAdapter.js';
6
+ export class FileValidationError extends Error {
7
+ field;
8
+ constructor(message, field){
9
+ super(message), this.field = field;
10
+ this.name = 'FileValidationError';
11
+ }
12
+ }
13
+ const FileInputSchema = z.object({
14
+ _from: z.string().optional(),
15
+ _id: z.string().optional(),
16
+ _key: z.string().optional(),
17
+ _oldRev: z.string().optional(),
18
+ _rev: z.string().optional(),
19
+ _to: z.string().optional(),
20
+ base64: z.string().optional(),
21
+ buffer: z.any().optional(),
22
+ description: z.string().optional(),
23
+ fileId: z.string().optional(),
24
+ fileSize: z.number().optional(),
25
+ fileType: z.string().optional(),
26
+ itemId: z.string().optional(),
27
+ itemType: z.string().optional(),
28
+ name: z.string().optional(),
29
+ url: z.string().optional(),
30
+ userId: z.string().optional()
31
+ }).passthrough();
32
+ export const validateFileInput = (file)=>{
33
+ try {
34
+ const validated = FileInputSchema.parse(file);
35
+ return validated;
36
+ } catch (error) {
37
+ if (error instanceof z.ZodError) {
38
+ const fieldErrors = error.issues.map((e)=>`${e.path.join('.')}: ${e.message}`).join(', ');
39
+ throw new FileValidationError(`File validation failed: ${fieldErrors}`);
40
+ }
41
+ throw error;
42
+ }
43
+ };
44
+ export const formatFileOutput = (file)=>file;
45
+ export const getFileType = (file)=>{
46
+ const { fileType, name } = file;
47
+ if (fileType) {
48
+ return parseString(fileType, 16);
49
+ }
50
+ const nameArr = name?.split('.') || [];
51
+ const ext = nameArr.length && nameArr[nameArr.length - 1] || '';
52
+ switch(ext){
53
+ case 'jpeg':
54
+ case 'jpg':
55
+ return 'image/jpeg';
56
+ case 'png':
57
+ return 'image/png';
58
+ case 'zip':
59
+ return 'application/zip';
60
+ default:
61
+ return undefined;
62
+ }
63
+ };
64
+ export const parseFile = (file)=>{
65
+ try {
66
+ const parsed = performFileTransformation(file);
67
+ return parsed;
68
+ } catch (error) {
69
+ if (error instanceof FileValidationError) {
70
+ throw error;
71
+ }
72
+ throw new FileValidationError(`File parsing failed: ${error instanceof Error ? error.message : 'Unknown error'}`);
73
+ }
74
+ };
75
+ const performFileTransformation = (file)=>{
76
+ const { _id, _key, base64, buffer, description, fileId, fileSize, fileType, id, itemId, itemType, name, url, userId } = file;
77
+ const transformed = {
78
+ ...parseDocument(file),
79
+ ...base64 && {
80
+ base64
81
+ },
82
+ ...buffer && {
83
+ buffer
84
+ },
85
+ ...description && {
86
+ description: parseReaktorContent(description)
87
+ },
88
+ ...(_key || fileId) && {
89
+ fileId: parseId(_key || fileId)
90
+ },
91
+ ...(_id || id || _key || fileId) && {
92
+ id: parseArangoId(_id || id || `files/${_key || fileId}`)
93
+ },
94
+ ...fileSize !== undefined && {
95
+ fileSize: parseNum(fileSize)
96
+ },
97
+ ...fileType && {
98
+ fileType: getFileType(file)
99
+ },
100
+ ...itemId && {
101
+ itemId: parseId(itemId)
102
+ },
103
+ ...itemType && {
104
+ itemType: parseReaktorType(itemType)
105
+ },
106
+ ...name && {
107
+ name: parseString(name, 160)
108
+ },
109
+ ...url && {
110
+ url: parseUrl(url)
111
+ },
112
+ ...userId && {
113
+ userId: parseId(userId)
114
+ }
115
+ };
116
+ return transformed;
117
+ };
118
+
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3Ivc3JjL2FkYXB0ZXJzL2ZpbGVBZGFwdGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7cGFyc2VOdW19IGZyb20gJ0BubGFicy91dGlscy9wYXJzZXJzL251bWJlcnMnO1xuaW1wb3J0IHtwYXJzZUFyYW5nb0lkLCBwYXJzZUlkLCBwYXJzZVN0cmluZywgcGFyc2VVcmx9IGZyb20gJ0BubGFicy91dGlscy9wYXJzZXJzL3N0cmluZ3MnO1xuaW1wb3J0IHt6fSBmcm9tICd6b2QnO1xuXG5pbXBvcnQge0ZpbGVUeXBlfSBmcm9tICcuLi90eXBlcy9maWxlcy50eXBlcy5qcyc7XG5pbXBvcnQge3BhcnNlRG9jdW1lbnR9IGZyb20gJy4vYXJhbmdvQWRhcHRlci5qcyc7XG5pbXBvcnQge3BhcnNlUmVha3RvckNvbnRlbnQsIHBhcnNlUmVha3RvclR5cGV9IGZyb20gJy4vcmVha3RvckFkYXB0ZXIuanMnO1xuXG5leHBvcnQgY2xhc3MgRmlsZVZhbGlkYXRpb25FcnJvciBleHRlbmRzIEVycm9yIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nLCBwdWJsaWMgZmllbGQ/OiBzdHJpbmcpIHtcbiAgICBzdXBlcihtZXNzYWdlKTtcbiAgICB0aGlzLm5hbWUgPSAnRmlsZVZhbGlkYXRpb25FcnJvcic7XG4gIH1cbn1cblxuY29uc3QgRmlsZUlucHV0U2NoZW1hID0gei5vYmplY3Qoe1xuICBfZnJvbTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfaWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX2tleTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfb2xkUmV2OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9yZXY6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX3RvOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGJhc2U2NDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBidWZmZXI6IHouYW55KCkub3B0aW9uYWwoKSxcbiAgZGVzY3JpcHRpb246IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgZmlsZUlkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGZpbGVTaXplOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIGZpbGVUeXBlOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGl0ZW1JZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBpdGVtVHlwZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBuYW1lOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHVybDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICB1c2VySWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKVxufSkucGFzc3Rocm91Z2goKTtcblxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlRmlsZUlucHV0ID0gKGZpbGU6IHVua25vd24pOiBGaWxlVHlwZSA9PiB7XG4gIHRyeSB7XG4gICAgY29uc3QgdmFsaWRhdGVkID0gRmlsZUlucHV0U2NoZW1hLnBhcnNlKGZpbGUpO1xuICAgIHJldHVybiB2YWxpZGF0ZWQgYXMgRmlsZVR5cGU7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICBpZihlcnJvciBpbnN0YW5jZW9mIHouWm9kRXJyb3IpIHtcbiAgICAgIGNvbnN0IGZpZWxkRXJyb3JzID0gZXJyb3IuaXNzdWVzLm1hcCgoZSkgPT4gYCR7ZS5wYXRoLmpvaW4oJy4nKX06ICR7ZS5tZXNzYWdlfWApLmpvaW4oJywgJyk7XG4gICAgICB0aHJvdyBuZXcgRmlsZVZhbGlkYXRpb25FcnJvcihgRmlsZSB2YWxpZGF0aW9uIGZhaWxlZDogJHtmaWVsZEVycm9yc31gKTtcbiAgICB9XG4gICAgdGhyb3cgZXJyb3I7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBmb3JtYXRGaWxlT3V0cHV0ID0gKGZpbGU6IEZpbGVUeXBlKTogRmlsZVR5cGUgPT4gZmlsZTtcblxuZXhwb3J0IGNvbnN0IGdldEZpbGVUeXBlID0gKGZpbGU6IEZpbGVUeXBlKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcbiAgY29uc3Qge2ZpbGVUeXBlLCBuYW1lfSA9IGZpbGU7XG5cbiAgaWYoZmlsZVR5cGUpIHtcbiAgICByZXR1cm4gcGFyc2VTdHJpbmcoZmlsZVR5cGUsIDE2KTtcbiAgfVxuXG4gIGNvbnN0IG5hbWVBcnI6IHN0cmluZ1tdID0gbmFtZT8uc3BsaXQoJy4nKSB8fCBbXTtcbiAgY29uc3QgZXh0OiBzdHJpbmcgPSBuYW1lQXJyLmxlbmd0aCAmJiBuYW1lQXJyW25hbWVBcnIubGVuZ3RoIC0gMV0gfHwgJyc7XG5cbiAgc3dpdGNoKGV4dCkge1xuICAgIGNhc2UgJ2pwZWcnOlxuICAgIGNhc2UgJ2pwZyc6XG4gICAgICByZXR1cm4gJ2ltYWdlL2pwZWcnO1xuICAgIGNhc2UgJ3BuZyc6XG4gICAgICByZXR1cm4gJ2ltYWdlL3BuZyc7XG4gICAgY2FzZSAnemlwJzpcbiAgICAgIHJldHVybiAnYXBwbGljYXRpb24vemlwJztcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHBhcnNlRmlsZSA9IChmaWxlOiBGaWxlVHlwZSk6IEZpbGVUeXBlID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBwYXJzZWQgPSBwZXJmb3JtRmlsZVRyYW5zZm9ybWF0aW9uKGZpbGUpO1xuICAgIHJldHVybiBwYXJzZWQ7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICBpZihlcnJvciBpbnN0YW5jZW9mIEZpbGVWYWxpZGF0aW9uRXJyb3IpIHtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgRmlsZVZhbGlkYXRpb25FcnJvcihgRmlsZSBwYXJzaW5nIGZhaWxlZDogJHtlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdVbmtub3duIGVycm9yJ31gKTtcbiAgfVxufTtcblxuY29uc3QgcGVyZm9ybUZpbGVUcmFuc2Zvcm1hdGlvbiA9IChmaWxlOiBGaWxlVHlwZSk6IEZpbGVUeXBlID0+IHtcbiAgY29uc3Qge1xuICAgIF9pZCxcbiAgICBfa2V5LFxuICAgIGJhc2U2NCxcbiAgICBidWZmZXIsXG4gICAgZGVzY3JpcHRpb24sXG4gICAgZmlsZUlkLFxuICAgIGZpbGVTaXplLFxuICAgIGZpbGVUeXBlLFxuICAgIGlkLFxuICAgIGl0ZW1JZCxcbiAgICBpdGVtVHlwZSxcbiAgICBuYW1lLFxuICAgIHVybCxcbiAgICB1c2VySWRcbiAgfSA9IGZpbGU7XG5cbiAgY29uc3QgdHJhbnNmb3JtZWQgPSB7XG4gICAgLi4ucGFyc2VEb2N1bWVudChmaWxlKSxcbiAgICAuLi4oYmFzZTY0ICYmIHtiYXNlNjR9KSxcbiAgICAuLi4oYnVmZmVyICYmIHtidWZmZXJ9KSxcbiAgICAuLi4oZGVzY3JpcHRpb24gJiYge2Rlc2NyaXB0aW9uOiBwYXJzZVJlYWt0b3JDb250ZW50KGRlc2NyaXB0aW9uKX0pLFxuICAgIC4uLigoX2tleSB8fCBmaWxlSWQpICYmIHtmaWxlSWQ6IHBhcnNlSWQoX2tleSB8fCBmaWxlSWQpfSksXG4gICAgLi4uKChfaWQgfHwgaWQgfHwgX2tleSB8fCBmaWxlSWQpICYmIHtpZDogcGFyc2VBcmFuZ29JZChfaWQgfHwgaWQgfHwgYGZpbGVzLyR7X2tleSB8fCBmaWxlSWR9YCl9KSxcbiAgICAuLi4oZmlsZVNpemUgIT09IHVuZGVmaW5lZCAmJiB7ZmlsZVNpemU6IHBhcnNlTnVtKGZpbGVTaXplKX0pLFxuICAgIC4uLihmaWxlVHlwZSAmJiB7ZmlsZVR5cGU6IGdldEZpbGVUeXBlKGZpbGUpfSksXG4gICAgLi4uKGl0ZW1JZCAmJiB7aXRlbUlkOiBwYXJzZUlkKGl0ZW1JZCl9KSxcbiAgICAuLi4oaXRlbVR5cGUgJiYge2l0ZW1UeXBlOiBwYXJzZVJlYWt0b3JUeXBlKGl0ZW1UeXBlKX0pLFxuICAgIC4uLihuYW1lICYmIHtuYW1lOiBwYXJzZVN0cmluZyhuYW1lLCAxNjApfSksXG4gICAgLi4uKHVybCAmJiB7dXJsOiBwYXJzZVVybCh1cmwpfSksXG4gICAgLi4uKHVzZXJJZCAmJiB7dXNlcklkOiBwYXJzZUlkKHVzZXJJZCl9KVxuICB9O1xuXG4gIHJldHVybiB0cmFuc2Zvcm1lZDtcbn07Il0sIm5hbWVzIjpbInBhcnNlTnVtIiwicGFyc2VBcmFuZ29JZCIsInBhcnNlSWQiLCJwYXJzZVN0cmluZyIsInBhcnNlVXJsIiwieiIsInBhcnNlRG9jdW1lbnQiLCJwYXJzZVJlYWt0b3JDb250ZW50IiwicGFyc2VSZWFrdG9yVHlwZSIsIkZpbGVWYWxpZGF0aW9uRXJyb3IiLCJFcnJvciIsIm1lc3NhZ2UiLCJmaWVsZCIsIm5hbWUiLCJGaWxlSW5wdXRTY2hlbWEiLCJvYmplY3QiLCJfZnJvbSIsInN0cmluZyIsIm9wdGlvbmFsIiwiX2lkIiwiX2tleSIsIl9vbGRSZXYiLCJfcmV2IiwiX3RvIiwiYmFzZTY0IiwiYnVmZmVyIiwiYW55IiwiZGVzY3JpcHRpb24iLCJmaWxlSWQiLCJmaWxlU2l6ZSIsIm51bWJlciIsImZpbGVUeXBlIiwiaXRlbUlkIiwiaXRlbVR5cGUiLCJ1cmwiLCJ1c2VySWQiLCJwYXNzdGhyb3VnaCIsInZhbGlkYXRlRmlsZUlucHV0IiwiZmlsZSIsInZhbGlkYXRlZCIsInBhcnNlIiwiZXJyb3IiLCJab2RFcnJvciIsImZpZWxkRXJyb3JzIiwiaXNzdWVzIiwibWFwIiwiZSIsInBhdGgiLCJqb2luIiwiZm9ybWF0RmlsZU91dHB1dCIsImdldEZpbGVUeXBlIiwibmFtZUFyciIsInNwbGl0IiwiZXh0IiwibGVuZ3RoIiwidW5kZWZpbmVkIiwicGFyc2VGaWxlIiwicGFyc2VkIiwicGVyZm9ybUZpbGVUcmFuc2Zvcm1hdGlvbiIsImlkIiwidHJhbnNmb3JtZWQiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVFBLFFBQVEsUUFBTywrQkFBK0I7QUFDdEQsU0FBUUMsYUFBYSxFQUFFQyxPQUFPLEVBQUVDLFdBQVcsRUFBRUMsUUFBUSxRQUFPLCtCQUErQjtBQUMzRixTQUFRQyxDQUFDLFFBQU8sTUFBTTtBQUd0QixTQUFR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
@@ -6,3 +6,4 @@ export declare class ImageValidationError extends Error {
6
6
  export declare const validateImageInput: (image: unknown) => ImageType;
7
7
  export declare const formatImageOutput: (image: ImageType) => ImageType;
8
8
  export declare const parseImage: (image: ImageType) => ImageType;
9
+ //# sourceMappingURL=imageAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"imageAdapter.d.ts","sourceRoot":"","sources":["../../src/adapters/imageAdapter.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,0BAA0B,CAAC;AAExD,qBAAa,oBAAqB,SAAQ,KAAK;IACT,KAAK,CAAC,EAAE,MAAM;gBAAtC,OAAO,EAAE,MAAM,EAAS,KAAK,CAAC,EAAE,MAAM;CAInD;AAyBD,eAAO,MAAM,kBAAkB,GAAI,OAAO,OAAO,KAAG,SAWnD,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,OAAO,SAAS,KAAG,SAAkB,CAAC;AAExE,eAAO,MAAM,UAAU,GAAI,OAAO,SAAS,KAAG,SAU7C,CAAC"}
@@ -1,2 +1,112 @@
1
- import{z as e}from"zod";import{removeEmptyKeys as _}from"../utils/adapterUtils.js";import{parseDocument as v}from"./arangoAdapter.js";import{parseNum as i}from"@nlabs/utils/parsers/numbers";import{parseArangoId as b,parseString as a,parseUrl as E}from"@nlabs/utils/parsers/strings";class s extends Error{constructor(r,n){super(r);this.field=n;this.name="ImageValidationError"}}const x=e.object({bucket:e.string().optional(),color:e.string().optional(),imageId:e.string().optional(),height:e.number().optional(),model:e.string().optional(),make:e.string().optional(),s3Options:e.any().optional(),taken:e.number().optional(),thumb:e.string().optional(),fileType:e.string().optional(),type:e.string().optional(),url:e.string().optional(),width:e.number().optional(),name:e.string().optional(),_id:e.string().optional(),_key:e.string().optional(),_rev:e.string().optional(),_oldRev:e.string().optional(),_from:e.string().optional(),_to:e.string().optional()}).passthrough(),A=o=>{try{return x.parse(o)}catch(t){if(t instanceof e.ZodError){const r=t.issues.map(n=>`${n.path.join(".")}: ${n.message}`).join(", ");throw new s(`Image validation failed: ${r}`)}throw t}},D=o=>o,K=o=>{try{return $(o)}catch(t){throw t instanceof s?t:new s(`Image parsing failed: ${t instanceof Error?t.message:"Unknown error"}`)}},$=o=>{const{_id:t,_key:r,bucket:n,color:p,id:m,imageId:g,height:l,model:d,make:c,s3Options:u,taken:f,thumb:y,fileType:I,type:h,url:T,width:k,name:w}=o;return _({...v(o),...r&&{imageId:b(r)},...n&&{bucket:n},...p&&{color:p},...(t||m||r||g)&&{imageId:b(t||m||`images/${r||g}`)},...l!==void 0&&{height:i(l)},...d&&{model:a(d,160)},...c&&{make:a(c,160)},...u&&{s3Options:u},...f!==void 0&&{taken:i(f)},...y&&{thumb:y},...I&&{fileType:a(I,16)},...h&&{type:a(h,16)},...T&&{url:E(T)},...k!==void 0&&{width:i(k)},...w&&{name:a(w,160)}})};export{s as ImageValidationError,D as formatImageOutput,K as parseImage,A as validateImageInput};
2
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FkYXB0ZXJzL2ltYWdlQWRhcHRlci50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiaW1wb3J0IHt6fSBmcm9tICd6b2QnO1xuXG5pbXBvcnQge3JlbW92ZUVtcHR5S2V5c30gZnJvbSAnLi4vdXRpbHMvYWRhcHRlclV0aWxzLmpzJztcbmltcG9ydCB7cGFyc2VEb2N1bWVudH0gZnJvbSAnLi9hcmFuZ29BZGFwdGVyLmpzJztcblxuaW1wb3J0IHtwYXJzZU51bX0gZnJvbSAnQG5sYWJzL3V0aWxzL3BhcnNlcnMvbnVtYmVycyc7XG5pbXBvcnQge3BhcnNlQXJhbmdvSWQsIHBhcnNlU3RyaW5nLCBwYXJzZVVybH0gZnJvbSAnQG5sYWJzL3V0aWxzL3BhcnNlcnMvc3RyaW5ncyc7XG5pbXBvcnQgdHlwZSB7SW1hZ2VUeXBlfSBmcm9tICcuLi90eXBlcy9pbWFnZXMudHlwZXMuanMnO1xuXG5leHBvcnQgY2xhc3MgSW1hZ2VWYWxpZGF0aW9uRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZywgcHVibGljIGZpZWxkPzogc3RyaW5nKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gICAgdGhpcy5uYW1lID0gJ0ltYWdlVmFsaWRhdGlvbkVycm9yJztcbiAgfVxufVxuXG5jb25zdCBJbWFnZUlucHV0U2NoZW1hID0gei5vYmplY3Qoe1xuICBidWNrZXQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgY29sb3I6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgaW1hZ2VJZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBoZWlnaHQ6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgbW9kZWw6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgbWFrZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBzM09wdGlvbnM6IHouYW55KCkub3B0aW9uYWwoKSxcbiAgdGFrZW46IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgdGh1bWI6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgZmlsZVR5cGU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgdHlwZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICB1cmw6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgd2lkdGg6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgbmFtZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfaWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX2tleTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfcmV2OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9vbGRSZXY6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX2Zyb206IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX3RvOiB6LnN0cmluZygpLm9wdGlvbmFsKClcbn0pLnBhc3N0aHJvdWdoKCk7XG5cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZUltYWdlSW5wdXQgPSAoaW1hZ2U6IHVua25vd24pOiBJbWFnZVR5cGUgPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IHZhbGlkYXRlZCA9IEltYWdlSW5wdXRTY2hlbWEucGFyc2UoaW1hZ2UpO1xuICAgIHJldHVybiB2YWxpZGF0ZWQgYXMgSW1hZ2VUeXBlO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgaWYoZXJyb3IgaW5zdGFuY2VvZiB6LlpvZEVycm9yKSB7XG4gICAgICBjb25zdCBmaWVsZEVycm9ycyA9IGVycm9yLmlzc3Vlcy5tYXAoKGUpID0+IGAke2UucGF0aC5qb2luKCcuJyl9OiAke2UubWVzc2FnZX1gKS5qb2luKCcsICcpO1xuICAgICAgdGhyb3cgbmV3IEltYWdlVmFsaWRhdGlvbkVycm9yKGBJbWFnZSB2YWxpZGF0aW9uIGZhaWxlZDogJHtmaWVsZEVycm9yc31gKTtcbiAgICB9XG4gICAgdGhyb3cgZXJyb3I7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBmb3JtYXRJbWFnZU91dHB1dCA9IChpbWFnZTogSW1hZ2VUeXBlKTogSW1hZ2VUeXBlID0+IGltYWdlO1xuXG5leHBvcnQgY29uc3QgcGFyc2VJbWFnZSA9IChpbWFnZTogSW1hZ2VUeXBlKTogSW1hZ2VUeXBlID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBwYXJzZWQgPSBwZXJmb3JtSW1hZ2VUcmFuc2Zvcm1hdGlvbihpbWFnZSk7XG4gICAgcmV0dXJuIHBhcnNlZDtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIGlmKGVycm9yIGluc3RhbmNlb2YgSW1hZ2VWYWxpZGF0aW9uRXJyb3IpIHtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgSW1hZ2VWYWxpZGF0aW9uRXJyb3IoYEltYWdlIHBhcnNpbmcgZmFpbGVkOiAke2Vycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ1Vua25vd24gZXJyb3InfWApO1xuICB9XG59O1xuXG5jb25zdCBwZXJmb3JtSW1hZ2VUcmFuc2Zvcm1hdGlvbiA9IChpbWFnZTogSW1hZ2VUeXBlKTogSW1hZ2VUeXBlID0+IHtcbiAgY29uc3Qge1xuICAgIF9pZCxcbiAgICBfa2V5LFxuICAgIGJ1Y2tldCxcbiAgICBjb2xvcixcbiAgICBpZCxcbiAgICBpbWFnZUlkLFxuICAgIGhlaWdodCxcbiAgICBtb2RlbCxcbiAgICBtYWtlLFxuICAgIHMzT3B0aW9ucyxcbiAgICB0YWtlbixcbiAgICB0aHVtYixcbiAgICBmaWxlVHlwZSxcbiAgICB0eXBlLFxuICAgIHVybCxcbiAgICB3aWR0aCxcbiAgICBuYW1lXG4gIH0gPSBpbWFnZTtcblxuICBjb25zdCB0cmFuc2Zvcm1lZCA9IHJlbW92ZUVtcHR5S2V5cyh7XG4gICAgLi4ucGFyc2VEb2N1bWVudChpbWFnZSksXG4gICAgLi4uKF9rZXkgJiYge2ltYWdlSWQ6IHBhcnNlQXJhbmdvSWQoX2tleSl9KSxcbiAgICAuLi4oYnVja2V0ICYmIHtidWNrZXR9KSxcbiAgICAuLi4oY29sb3IgJiYge2NvbG9yfSksXG4gICAgLi4uKChfaWQgfHwgaWQgfHwgX2tleSB8fCBpbWFnZUlkKSAmJiB7aW1hZ2VJZDogcGFyc2VBcmFuZ29JZChfaWQgfHwgaWQgfHwgYGltYWdlcy8ke19rZXkgfHwgaW1hZ2VJZH1gKX0pLFxuICAgIC4uLihoZWlnaHQgIT09IHVuZGVmaW5lZCAmJiB7aGVpZ2h0OiBwYXJzZU51bShoZWlnaHQpfSksXG4gICAgLi4uKG1vZGVsICYmIHttb2RlbDogcGFyc2VTdHJpbmcobW9kZWwsIDE2MCl9KSxcbiAgICAuLi4obWFrZSAmJiB7bWFrZTogcGFyc2VTdHJpbmcobWFrZSwgMTYwKX0pLFxuICAgIC4uLihzM09wdGlvbnMgJiYge3MzT3B0aW9uc30pLFxuICAgIC4uLih0YWtlbiAhPT0gdW5kZWZpbmVkICYmIHt0YWtlbjogcGFyc2VOdW0odGFrZW4pfSksXG4gICAgLi4uKHRodW1iICYmIHt0aHVtYn0pLFxuICAgIC4uLihmaWxlVHlwZSAmJiB7ZmlsZVR5cGU6IHBhcnNlU3RyaW5nKGZpbGVUeXBlLCAxNil9KSxcbiAgICAuLi4odHlwZSAmJiB7dHlwZTogcGFyc2VTdHJpbmcodHlwZSwgMTYpfSksXG4gICAgLi4uKHVybCAmJiB7dXJsOiBwYXJzZVVybCh1cmwpfSksXG4gICAgLi4uKHdpZHRoICE9PSB1bmRlZmluZWQgJiYge3dpZHRoOiBwYXJzZU51bSh3aWR0aCl9KSxcbiAgICAuLi4obmFtZSAmJiB7bmFtZTogcGFyc2VTdHJpbmcobmFtZSwgMTYwKX0pXG4gIH0pO1xuXG4gIHJldHVybiB0cmFuc2Zvcm1lZDtcbn07XG5cbiJdLAogICJtYXBwaW5ncyI6ICJBQUFBLE9BQVEsS0FBQUEsTUFBUSxNQUVoQixPQUFRLG1CQUFBQyxNQUFzQiwyQkFDOUIsT0FBUSxpQkFBQUMsTUFBb0IscUJBRTVCLE9BQVEsWUFBQUMsTUFBZSwrQkFDdkIsT0FBUSxpQkFBQUMsRUFBZSxlQUFBQyxFQUFhLFlBQUFDLE1BQWUsK0JBRzVDLE1BQU1DLFVBQTZCLEtBQU0sQ0FDOUMsWUFBWUMsRUFBd0JDLEVB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QVEsQ0FBQyxLQUFNdEIsRUFBWXNCLEVBQU0sR0FBRyxDQUFDLEVBQ3pDLEdBQUlDLEdBQWEsQ0FBQyxVQUFBQSxDQUFTLEVBQzNCLEdBQUlDLElBQVUsUUFBYSxDQUFDLE1BQU8xQixFQUFTMEIsQ0FBSyxDQUFDLEVBQ2xELEdBQUlDLEdBQVMsQ0FBQyxNQUFBQSxDQUFLLEVBQ25CLEdBQUlDLEdBQVksQ0FBQyxTQUFVMUIsRUFBWTBCLEVBQVUsRUFBRSxDQUFDLEVBQ3BELEdBQUlDLEdBQVEsQ0FBQyxLQUFNM0IsRUFBWTJCLEVBQU0sRUFBRSxDQUFDLEVBQ3hDLEdBQUlDLEdBQU8sQ0FBQyxJQUFLM0IsRUFBUzJCLENBQUcsQ0FBQyxFQUM5QixHQUFJQyxJQUFVLFFBQWEsQ0FBQyxNQUFPL0IsRUFBUytCLENBQUssQ0FBQyxFQUNsRCxHQUFJQyxHQUFRLENBQUMsS0FBTTlCLEVBQVk4QixFQUFNLEdBQUcsQ0FBQyxDQUMzQyxDQUFDLENBR0giLAogICJuYW1lcyI6IFsieiIsICJyZW1vdmVFbXB0eUtleXMiLCAicGFyc2VEb2N1bWVudCIsICJwYXJzZU51bSIsICJwYXJzZUFyYW5nb0lkIiwgInBhcnNlU3RyaW5nIiwgInBhcnNlVXJsIiwgIkltYWdlVmFsaWRhdGlvbkVycm9yIiwgIm1lc3NhZ2UiLCAiZmllbGQiLCAiSW1hZ2VJbnB1dFNjaGVtYSIsICJ2YWxpZGF0ZUltYWdlSW5wdXQiLCAiaW1hZ2UiLCAiZXJyb3IiLCAiZmllbGRFcnJvcnMiLCAiZSIsICJmb3JtYXRJbWFnZU91dHB1dCIsICJwYXJzZUltYWdlIiwgInBlcmZvcm1JbWFnZVRyYW5zZm9ybWF0aW9uIiwgIl9pZCIsICJfa2V5IiwgImJ1Y2tldCIsICJjb2xvciIsICJpZCIsICJpbWFnZUlkIiwgImhlaWdodCIsICJtb2RlbCIsICJtYWtlIiwgInMzT3B0aW9ucyIsICJ0YWtlbiIsICJ0aHVtYiIsICJmaWxlVHlwZSIsICJ0eXBlIiwgInVybCIsICJ3aWR0aCIsICJuYW1lIl0KfQo=
1
+ import { z } from 'zod';
2
+ import { removeEmptyKeys } from '../utils/adapterUtils.js';
3
+ import { parseDocument } from './arangoAdapter.js';
4
+ import { parseNum } from '@nlabs/utils/parsers/numbers';
5
+ import { parseArangoId, parseString, parseUrl } from '@nlabs/utils/parsers/strings';
6
+ export class ImageValidationError extends Error {
7
+ field;
8
+ constructor(message, field){
9
+ super(message), this.field = field;
10
+ this.name = 'ImageValidationError';
11
+ }
12
+ }
13
+ const ImageInputSchema = z.object({
14
+ bucket: z.string().optional(),
15
+ color: z.string().optional(),
16
+ imageId: z.string().optional(),
17
+ height: z.number().optional(),
18
+ model: z.string().optional(),
19
+ make: z.string().optional(),
20
+ s3Options: z.any().optional(),
21
+ taken: z.number().optional(),
22
+ thumb: z.string().optional(),
23
+ fileType: z.string().optional(),
24
+ type: z.string().optional(),
25
+ url: z.string().optional(),
26
+ width: z.number().optional(),
27
+ name: z.string().optional(),
28
+ _id: z.string().optional(),
29
+ _key: z.string().optional(),
30
+ _rev: z.string().optional(),
31
+ _oldRev: z.string().optional(),
32
+ _from: z.string().optional(),
33
+ _to: z.string().optional()
34
+ }).passthrough();
35
+ export const validateImageInput = (image)=>{
36
+ try {
37
+ const validated = ImageInputSchema.parse(image);
38
+ return validated;
39
+ } catch (error) {
40
+ if (error instanceof z.ZodError) {
41
+ const fieldErrors = error.issues.map((e)=>`${e.path.join('.')}: ${e.message}`).join(', ');
42
+ throw new ImageValidationError(`Image validation failed: ${fieldErrors}`);
43
+ }
44
+ throw error;
45
+ }
46
+ };
47
+ export const formatImageOutput = (image)=>image;
48
+ export const parseImage = (image)=>{
49
+ try {
50
+ const parsed = performImageTransformation(image);
51
+ return parsed;
52
+ } catch (error) {
53
+ if (error instanceof ImageValidationError) {
54
+ throw error;
55
+ }
56
+ throw new ImageValidationError(`Image parsing failed: ${error instanceof Error ? error.message : 'Unknown error'}`);
57
+ }
58
+ };
59
+ const performImageTransformation = (image)=>{
60
+ const { _id, _key, bucket, color, id, imageId, height, model, make, s3Options, taken, thumb, fileType, type, url, width, name } = image;
61
+ const transformed = removeEmptyKeys({
62
+ ...parseDocument(image),
63
+ ..._key && {
64
+ imageId: parseArangoId(_key)
65
+ },
66
+ ...bucket && {
67
+ bucket
68
+ },
69
+ ...color && {
70
+ color
71
+ },
72
+ ...(_id || id || _key || imageId) && {
73
+ imageId: parseArangoId(_id || id || `images/${_key || imageId}`)
74
+ },
75
+ ...height !== undefined && {
76
+ height: parseNum(height)
77
+ },
78
+ ...model && {
79
+ model: parseString(model, 160)
80
+ },
81
+ ...make && {
82
+ make: parseString(make, 160)
83
+ },
84
+ ...s3Options && {
85
+ s3Options
86
+ },
87
+ ...taken !== undefined && {
88
+ taken: parseNum(taken)
89
+ },
90
+ ...thumb && {
91
+ thumb
92
+ },
93
+ ...fileType && {
94
+ fileType: parseString(fileType, 16)
95
+ },
96
+ ...type && {
97
+ type: parseString(type, 16)
98
+ },
99
+ ...url && {
100
+ url: parseUrl(url)
101
+ },
102
+ ...width !== undefined && {
103
+ width: parseNum(width)
104
+ },
105
+ ...name && {
106
+ name: parseString(name, 160)
107
+ }
108
+ });
109
+ return transformed;
110
+ };
111
+
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3Ivc3JjL2FkYXB0ZXJzL2ltYWdlQWRhcHRlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3p9IGZyb20gJ3pvZCc7XG5cbmltcG9ydCB7cmVtb3ZlRW1wdHlLZXlzfSBmcm9tICcuLi91dGlscy9hZGFwdGVyVXRpbHMuanMnO1xuaW1wb3J0IHtwYXJzZURvY3VtZW50fSBmcm9tICcuL2FyYW5nb0FkYXB0ZXIuanMnO1xuXG5pbXBvcnQge3BhcnNlTnVtfSBmcm9tICdAbmxhYnMvdXRpbHMvcGFyc2Vycy9udW1iZXJzJztcbmltcG9ydCB7cGFyc2VBcmFuZ29JZCwgcGFyc2VTdHJpbmcsIHBhcnNlVXJsfSBmcm9tICdAbmxhYnMvdXRpbHMvcGFyc2Vycy9zdHJpbmdzJztcbmltcG9ydCB0eXBlIHtJbWFnZVR5cGV9IGZyb20gJy4uL3R5cGVzL2ltYWdlcy50eXBlcy5qcyc7XG5cbmV4cG9ydCBjbGFzcyBJbWFnZVZhbGlkYXRpb25FcnJvciBleHRlbmRzIEVycm9yIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nLCBwdWJsaWMgZmllbGQ/OiBzdHJpbmcpIHtcbiAgICBzdXBlcihtZXNzYWdlKTtcbiAgICB0aGlzLm5hbWUgPSAnSW1hZ2VWYWxpZGF0aW9uRXJyb3InO1xuICB9XG59XG5cbmNvbnN0IEltYWdlSW5wdXRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIGJ1Y2tldDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBjb2xvcjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBpbWFnZUlkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGhlaWdodDogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICBtb2RlbDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBtYWtlOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHMzT3B0aW9uczogei5hbnkoKS5vcHRpb25hbCgpLFxuICB0YWtlbjogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICB0aHVtYjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBmaWxlVHlwZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICB0eXBlOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHVybDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICB3aWR0aDogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICBuYW1lOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9pZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfa2V5OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9yZXY6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX29sZFJldjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfZnJvbTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfdG86IHouc3RyaW5nKCkub3B0aW9uYWwoKVxufSkucGFzc3Rocm91Z2goKTtcblxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlSW1hZ2VJbnB1dCA9IChpbWFnZTogdW5rbm93bik6IEltYWdlVHlwZSA9PiB7XG4gIHRyeSB7XG4gICAgY29uc3QgdmFsaWRhdGVkID0gSW1hZ2VJbnB1dFNjaGVtYS5wYXJzZShpbWFnZSk7XG4gICAgcmV0dXJuIHZhbGlkYXRlZCBhcyBJbWFnZVR5cGU7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICBpZihlcnJvciBpbnN0YW5jZW9mIHouWm9kRXJyb3IpIHtcbiAgICAgIGNvbnN0IGZpZWxkRXJyb3JzID0gZXJyb3IuaXNzdWVzLm1hcCgoZSkgPT4gYCR7ZS5wYXRoLmpvaW4oJy4nKX06ICR7ZS5tZXNzYWdlfWApLmpvaW4oJywgJyk7XG4gICAgICB0aHJvdyBuZXcgSW1hZ2VWYWxpZGF0aW9uRXJyb3IoYEltYWdlIHZhbGlkYXRpb24gZmFpbGVkOiAke2ZpZWxkRXJyb3JzfWApO1xuICAgIH1cbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGZvcm1hdEltYWdlT3V0cHV0ID0gKGltYWdlOiBJbWFnZVR5cGUpOiBJbWFnZVR5cGUgPT4gaW1hZ2U7XG5cbmV4cG9ydCBjb25zdCBwYXJzZUltYWdlID0gKGltYWdlOiBJbWFnZVR5cGUpOiBJbWFnZVR5cGUgPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IHBhcnNlZCA9IHBlcmZvcm1JbWFnZVRyYW5zZm9ybWF0aW9uKGltYWdlKTtcbiAgICByZXR1cm4gcGFyc2VkO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgaWYoZXJyb3IgaW5zdGFuY2VvZiBJbWFnZVZhbGlkYXRpb25FcnJvcikge1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICAgIHRocm93IG5ldyBJbWFnZVZhbGlkYXRpb25FcnJvcihgSW1hZ2UgcGFyc2luZyBmYWlsZWQ6ICR7ZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnVW5rbm93biBlcnJvcid9YCk7XG4gIH1cbn07XG5cbmNvbnN0IHBlcmZvcm1JbWFnZVRyYW5zZm9ybWF0aW9uID0gKGltYWdlOiBJbWFnZVR5cGUpOiBJbWFnZVR5cGUgPT4ge1xuICBjb25zdCB7XG4gICAgX2lkLFxuICAgIF9rZXksXG4gICAgYnVja2V0LFxuICAgIGNvbG9yLFxuICAgIGlkLFxuICAgIGltYWdlSWQsXG4gICAgaGVpZ2h0LFxuICAgIG1vZGVsLFxuICAgIG1ha2UsXG4gICAgczNPcHRpb25zLFxuICAgIHRha2VuLFxuICAgIHRodW1iLFxuICAgIGZpbGVUeXBlLFxuICAgIHR5cGUsXG4gICAgdXJsLFxuICAgIHdpZHRoLFxuICAgIG5hbWVcbiAgfSA9IGltYWdlO1xuXG4gIGNvbnN0IHRyYW5zZm9ybWVkID0gcmVtb3ZlRW1wdHlLZXlzKHtcbiAgICAuLi5wYXJzZURvY3VtZW50KGltYWdlKSxcbiAgICAuLi4oX2tleSAmJiB7aW1hZ2VJZDogcGFyc2VBcmFuZ29JZChfa2V5KX0pLFxuICAgIC4uLihidWNrZXQgJiYge2J1Y2tldH0pLFxuICAgIC4uLihjb2xvciAmJiB7Y29sb3J9KSxcbiAgICAuLi4oKF9pZCB8fCBpZCB8fCBfa2V5IHx8IGltYWdlSWQpICYmIHtpbWFnZUlkOiBwYXJzZUFyYW5nb0lkKF9pZCB8fCBpZCB8fCBgaW1hZ2VzLyR7X2tleSB8fCBpbWFnZUlkfWApfSksXG4gICAgLi4uKGhlaWdodCAhPT0gdW5kZWZpbmVkICYmIHtoZWlnaHQ6IHBhcnNlTnVtKGhlaWdodCl9KSxcbiAgICAuLi4obW9kZWwgJiYge21vZGVsOiBwYXJzZVN0cmluZyhtb2RlbCwgMTYwKX0pLFxuICAgIC4uLihtYWtlICYmIHttYWtlOiBwYXJzZVN0cmluZyhtYWtlLCAxNjApfSksXG4gICAgLi4uKHMzT3B0aW9ucyAmJiB7czNPcHRpb25zfSksXG4gICAgLi4uKHRha2VuICE9PSB1bmRlZmluZWQgJiYge3Rha2VuOiBwYXJzZU51bSh0YWtlbil9KSxcbiAgICAuLi4odGh1bWIgJiYge3RodW1ifSksXG4gICAgLi4uKGZpbGVUeXBlICYmIHtmaWxlVHlwZTogcGFyc2VTdHJpbmcoZmlsZVR5cGUsIDE2KX0pLFxuICAgIC4uLih0eXBlICYmIHt0eXBlOiBwYXJzZVN0cmluZyh0eXBlLCAxNil9KSxcbiAgICAuLi4odXJsICYmIHt1cmw6IHBhcnNlVXJsKHVybCl9KSxcbiAgICAuLi4od2lkdGggIT09IHVuZGVmaW5lZCAmJiB7d2lkdGg6IHBhcnNlTnVtKHdpZHRoKX0pLFxuICAgIC4uLihuYW1lICYmIHtuYW1lOiBwYXJzZVN0cmluZyhuYW1lLCAxNjApfSlcbiAgfSk7XG5cbiAgcmV0dXJuIHRyYW5zZm9ybWVkO1xufTtcblxuIl0sIm5hbWVzIjpbInoiLCJyZW1vdmVFbXB0eUtleXMiLCJwYXJzZURvY3VtZW50IiwicGFyc2VOdW0iLCJwYXJzZUFyYW5nb0lkIiwicGFyc2VTdHJpbmciLCJwYXJzZVVybCIsIkltYWdlVmFsaWRhdGlvbkVycm9yIiwiRXJyb3IiLCJtZXNzYWdlIiwiZmllbGQiLCJuYW1lIiwiSW1hZ2VJbnB1dFNjaGVtYSIsIm9iamVjdCIsImJ1Y2tldCIsInN0cmluZyIsIm9wdGlvbmFsIiwiY29sb3IiLCJpbWFnZUlkIiwiaGVpZ2h0IiwibnVtYmVyIiwibW9kZWwiLCJtYWtlIiwiczNPcHRpb25zIiwiYW55IiwidGFrZW4iLCJ0aHVtYiIsImZpbGVUeXBlIiwidHlwZSIsInVybCIsIndpZHRoIiwiX2lkIiwiX2tleSIsIl9yZXYiLCJfb2xkUmV2IiwiX2Zyb20iLCJfdG8iLCJwYXNzdGhyb3VnaCIsInZhbGlkYXRlSW1hZ2VJbnB1dCIsImltYWdlIiwidmFsaWRhdGVkIiwicGFyc2UiLCJlcnJvciIsIlpvZEVycm9yIiwiZmllbGRFcnJvcnMiLCJpc3N1ZXMiLCJtYXAiLCJlIiwicGF0aCIsImpvaW4iLCJmb3JtYXRJbWFnZU91dHB1dCIsInBhcnNlSW1hZ2UiLCJwYXJzZWQiLCJwZXJmb3JtSW1hZ2VUcmFuc2Zvcm1hdGlvbiIsImlkIiwidHJhbnNmb3JtZWQiLCJ1bmRlZmluZWQiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVFBLENBQUMsUUFBTyxNQUFNO0FBRXRCLFNBQVFDLGVBQWUsUUFBTywyQkFBMkI7QUFDekQsU0FBUUMsYUFBYSxRQUFPLHFCQUFxQjtBQUVqRCxTQUFRQyxRQUFRLFFBQU8sK0JBQStCO0FBQ3RELFNBQVFDLGFBQWEsRUFBRUMsV0FBVyxFQUFFQyxRQUFRLFFBQU8sK0JBQStCO0FBR2xGLE9BQU8sTUFBTUMsNkJBQTZCQzs7SUFDeEMsWUFBWUMsT0FBZSxFQUFFLEFBQU9DLEtBQWMsQ0FBRTtRQUNsRCxLQUFLLENBQUNELGVBRDRCQyxRQUFBQTtRQUVsQyxJQUFJLENBQUNDLElBQUksR0FBRztJQUNkO0FBQ0Y7QUFFQSxNQUFNQyxtQkFBbUJaLEVBQUVhLE1BQU0sQ0FBQztJQUNoQ0MsUUFBUWQsRUFBRWUsTUFBTSxHQUFHQyxRQUFRO0lBQzNCQyxPQUFPakIsRUFBRWUsTUFBTSxHQUFHQyxRQUFRO0lBQzFCRSxTQUFTbEIsRUFBRWUsTUFBTSxHQUFHQyxRQUFRO0lBQzVCRyxRQUFRbkIsRUFBRW9CLE1BQU0sR0FB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
@@ -7,3 +7,4 @@ export * from './postAdapter.js';
7
7
  export * from './reaktorAdapter.js';
8
8
  export * from './tagAdapter.js';
9
9
  export * from './userAdapter.js';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC"}
@@ -1,2 +1,11 @@
1
- export*from"./arangoAdapter.js";export*from"./contentAdapter.js";export*from"./fileAdapter.js";export*from"./imageAdapter.js";export*from"./messageAdapter.js";export*from"./postAdapter.js";export*from"./reaktorAdapter.js";export*from"./tagAdapter.js";export*from"./userAdapter.js";
2
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FkYXB0ZXJzL2luZGV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJleHBvcnQgKiBmcm9tICcuL2FyYW5nb0FkYXB0ZXIuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb250ZW50QWRhcHRlci5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2ZpbGVBZGFwdGVyLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vaW1hZ2VBZGFwdGVyLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vbWVzc2FnZUFkYXB0ZXIuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9wb3N0QWRhcHRlci5qcyc7XG5leHBvcnQgKiBmcm9tICcuL3JlYWt0b3JBZGFwdGVyLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vdGFnQWRhcHRlci5qcyc7XG5leHBvcnQgKiBmcm9tICcuL3VzZXJBZGFwdGVyLmpzJztcbiJdLAogICJtYXBwaW5ncyI6ICJBQUFBLFdBQWMscUJBQ2QsV0FBYyxzQkFDZCxXQUFjLG1CQUNkLFdBQWMsb0JBQ2QsV0FBYyxzQkFDZCxXQUFjLG1CQUNkLFdBQWMsc0JBQ2QsV0FBYyxrQkFDZCxXQUFjIiwKICAibmFtZXMiOiBbXQp9Cg==
1
+ export * from './arangoAdapter.js';
2
+ export * from './contentAdapter.js';
3
+ export * from './fileAdapter.js';
4
+ export * from './imageAdapter.js';
5
+ export * from './messageAdapter.js';
6
+ export * from './postAdapter.js';
7
+ export * from './reaktorAdapter.js';
8
+ export * from './tagAdapter.js';
9
+ export * from './userAdapter.js';
10
+
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3Ivc3JjL2FkYXB0ZXJzL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYXJhbmdvQWRhcHRlci5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnRlbnRBZGFwdGVyLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vZmlsZUFkYXB0ZXIuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9pbWFnZUFkYXB0ZXIuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9tZXNzYWdlQWRhcHRlci5qcyc7XG5leHBvcnQgKiBmcm9tICcuL3Bvc3RBZGFwdGVyLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vcmVha3RvckFkYXB0ZXIuanMnO1xuZXhwb3J0ICogZnJvbSAnLi90YWdBZGFwdGVyLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vdXNlckFkYXB0ZXIuanMnO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUJBQXFCO0FBQ25DLGNBQWMsc0JBQXNCO0FBQ3BDLGNBQWMsbUJBQW1CO0FBQ2pDLGNBQWMsb0JBQW9CO0FBQ2xDLGNBQWMsc0JBQXNCO0FBQ3BDLGNBQWMsbUJBQW1CO0FBQ2pDLGNBQWMsc0JBQXNCO0FBQ3BDLGNBQWMsa0JBQWtCO0FBQ2hDLGNBQWMsbUJBQW1CIn0=
@@ -6,3 +6,4 @@ export declare class MessageValidationError extends Error {
6
6
  export declare const validateMessageInput: (message: unknown) => MessageType;
7
7
  export declare const formatMessageOutput: (message: MessageType) => MessageType;
8
8
  export declare const parseMessage: (message: MessageType) => MessageType;
9
+ //# sourceMappingURL=messageAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messageAdapter.d.ts","sourceRoot":"","sources":["../../src/adapters/messageAdapter.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,4BAA4B,CAAC;AAE5D,qBAAa,sBAAuB,SAAQ,KAAK;IACX,KAAK,CAAC,EAAE,MAAM;gBAAtC,OAAO,EAAE,MAAM,EAAS,KAAK,CAAC,EAAE,MAAM;CAInD;AAqBD,eAAO,MAAM,oBAAoB,GAAI,SAAS,OAAO,KAAG,WAWvD,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,SAAS,WAAW,KAAG,WAAsB,CAAC;AAElF,eAAO,MAAM,YAAY,GAAI,SAAS,WAAW,KAAG,WAUnD,CAAC"}
@@ -1,2 +1,82 @@
1
- import{parseArangoId as d,parseId as l}from"@nlabs/utils/parsers/strings";import{z as e}from"zod";import{removeEmptyKeys as c}from"../utils/adapterUtils.js";import{parseDocument as y}from"./arangoAdapter.js";import{parseFile as f}from"./fileAdapter.js";import{parseImage as M}from"./imageAdapter.js";class t extends Error{constructor(o,a){super(o);this.field=a;this.name="MessageValidationError"}}const u=e.object({content:e.string().optional(),conversationId:e.string().optional(),files:e.array(e.any()).optional(),images:e.array(e.any()).optional(),itemId:e.string().optional(),itemType:e.string().optional(),messageId:e.string().optional(),read:e.boolean().optional(),saved:e.boolean().optional(),userId:e.string().optional(),_id:e.string().optional(),_key:e.string().optional(),_rev:e.string().optional(),_oldRev:e.string().optional(),_from:e.string().optional(),_to:e.string().optional()}).passthrough(),A=r=>{try{return u.parse(r)}catch(s){if(s instanceof e.ZodError){const o=s.issues.map(a=>`${a.path.join(".")}: ${a.message}`).join(", ");throw new t(`Message validation failed: ${o}`)}throw s}},$=r=>r,b=r=>{try{return I(r)}catch(s){throw s instanceof t?s:new t(`Message parsing failed: ${s instanceof Error?s.message:"Unknown error"}`)}},I=r=>{const{_id:s,_key:o,content:a,files:n,id:i,images:p,messageId:g,saved:m}=r;return c({...y(r),...a&&{content:a},...Array.isArray(n)&&{files:n.map(f)},...Array.isArray(p)&&{images:p.map(M)},...o&&{messageId:l(o)},...(s||i||o||g)&&{messageId:d(s||i||`messages/${o||g}`)},...m!==void 0&&{saved:!!m}})};export{t as MessageValidationError,$ as formatMessageOutput,b as parseMessage,A as validateMessageInput};
2
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FkYXB0ZXJzL21lc3NhZ2VBZGFwdGVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQge3BhcnNlQXJhbmdvSWQsIHBhcnNlSWR9IGZyb20gJ0BubGFicy91dGlscy9wYXJzZXJzL3N0cmluZ3MnO1xuaW1wb3J0IHt6fSBmcm9tICd6b2QnO1xuXG5pbXBvcnQge3JlbW92ZUVtcHR5S2V5c30gZnJvbSAnLi4vdXRpbHMvYWRhcHRlclV0aWxzLmpzJztcbmltcG9ydCB7cGFyc2VEb2N1bWVudH0gZnJvbSAnLi9hcmFuZ29BZGFwdGVyLmpzJztcbmltcG9ydCB7cGFyc2VGaWxlfSBmcm9tICcuL2ZpbGVBZGFwdGVyLmpzJztcbmltcG9ydCB7cGFyc2VJbWFnZX0gZnJvbSAnLi9pbWFnZUFkYXB0ZXIuanMnO1xuXG5pbXBvcnQgdHlwZSB7TWVzc2FnZVR5cGV9IGZyb20gJy4uL3R5cGVzL21lc3NhZ2VzLnR5cGVzLmpzJztcblxuZXhwb3J0IGNsYXNzIE1lc3NhZ2VWYWxpZGF0aW9uRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZywgcHVibGljIGZpZWxkPzogc3RyaW5nKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gICAgdGhpcy5uYW1lID0gJ01lc3NhZ2VWYWxpZGF0aW9uRXJyb3InO1xuICB9XG59XG5cbmNvbnN0IE1lc3NhZ2VJbnB1dFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgY29udGVudDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBjb252ZXJzYXRpb25JZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBmaWxlczogei5hcnJheSh6LmFueSgpKS5vcHRpb25hbCgpLFxuICBpbWFnZXM6IHouYXJyYXkoei5hbnkoKSkub3B0aW9uYWwoKSxcbiAgaXRlbUlkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGl0ZW1UeXBlOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIG1lc3NhZ2VJZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICByZWFkOiB6LmJvb2xlYW4oKS5vcHRpb25hbCgpLFxuICBzYXZlZDogei5ib29sZWFuKCkub3B0aW9uYWwoKSxcbiAgdXNlcklkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9pZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfa2V5OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9yZXY6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX29sZFJldjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfZnJvbTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfdG86IHouc3RyaW5nKCkub3B0aW9uYWwoKVxufSkucGFzc3Rocm91Z2goKTtcblxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlTWVzc2FnZUlucHV0ID0gKG1lc3NhZ2U6IHVua25vd24pOiBNZXNzYWdlVHlwZSA9PiB7XG4gIHRyeSB7XG4gICAgY29uc3QgdmFsaWRhdGVkID0gTWVzc2FnZUlucHV0U2NoZW1hLnBhcnNlKG1lc3NhZ2UpO1xuICAgIHJldHVybiB2YWxpZGF0ZWQgYXMgTWVzc2FnZVR5cGU7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICBpZihlcnJvciBpbnN0YW5jZW9mIHouWm9kRXJyb3IpIHtcbiAgICAgIGNvbnN0IGZpZWxkRXJyb3JzID0gZXJyb3IuaXNzdWVzLm1hcCgoZSkgPT4gYCR7ZS5wYXRoLmpvaW4oJy4nKX06ICR7ZS5tZXNzYWdlfWApLmpvaW4oJywgJyk7XG4gICAgICB0aHJvdyBuZXcgTWVzc2FnZVZhbGlkYXRpb25FcnJvcihgTWVzc2FnZSB2YWxpZGF0aW9uIGZhaWxlZDogJHtmaWVsZEVycm9yc31gKTtcbiAgICB9XG4gICAgdGhyb3cgZXJyb3I7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBmb3JtYXRNZXNzYWdlT3V0cHV0ID0gKG1lc3NhZ2U6IE1lc3NhZ2VUeXBlKTogTWVzc2FnZVR5cGUgPT4gbWVzc2FnZTtcblxuZXhwb3J0IGNvbnN0IHBhcnNlTWVzc2FnZSA9IChtZXNzYWdlOiBNZXNzYWdlVHlwZSk6IE1lc3NhZ2VUeXBlID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBwYXJzZWQgPSBwZXJmb3JtTWVzc2FnZVRyYW5zZm9ybWF0aW9uKG1lc3NhZ2UpO1xuICAgIHJldHVybiBwYXJzZWQ7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICBpZihlcnJvciBpbnN0YW5jZW9mIE1lc3NhZ2VWYWxpZGF0aW9uRXJyb3IpIHtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgTWVzc2FnZVZhbGlkYXRpb25FcnJvcihgTWVzc2FnZSBwYXJzaW5nIGZhaWxlZDogJHtlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdVbmtub3duIGVycm9yJ31gKTtcbiAgfVxufTtcblxuY29uc3QgcGVyZm9ybU1lc3NhZ2VUcmFuc2Zvcm1hdGlvbiA9IChtZXNzYWdlOiBNZXNzYWdlVHlwZSk6IE1lc3NhZ2VUeXBlID0+IHtcbiAgY29uc3Qge1xuICAgIF9pZCxcbiAgICBfa2V5LFxuICAgIGNvbnRlbnQsXG4gICAgZmlsZXMsXG4gICAgaWQsXG4gICAgaW1hZ2VzLFxuICAgIG1lc3NhZ2VJZCxcbiAgICBzYXZlZFxuICB9ID0gbWVzc2FnZTtcblxuICBjb25zdCB0cmFuc2Zvcm1lZCA9IHJlbW92ZUVtcHR5S2V5cyh7XG4gICAgLi4ucGFyc2VEb2N1bWVudChtZXNzYWdlKSxcbiAgICAuLi4oY29udGVudCAmJiB7Y29udGVudH0pLFxuICAgIC4uLihBcnJheS5pc0FycmF5KGZpbGVzKSAmJiB7ZmlsZXM6IGZpbGVzLm1hcChwYXJzZUZpbGUpfSksXG4gICAgLi4uKEFycmF5LmlzQXJyYXkoaW1hZ2VzKSAmJiB7aW1hZ2VzOiBpbWFnZXMubWFwKHBhcnNlSW1hZ2UpfSksXG4gICAgLi4uKF9rZXkgJiYge21lc3NhZ2VJZDogcGFyc2VJZChfa2V5KX0pLFxuICAgIC4uLigoX2lkIHx8IGlkIHx8IF9rZXkgfHwgbWVzc2FnZUlkKSAmJiB7bWVzc2FnZUlkOiBwYXJzZUFyYW5nb0lkKF9pZCB8fCBpZCB8fCBgbWVzc2FnZXMvJHtfa2V5IHx8IG1lc3NhZ2VJZH1gKX0pLFxuICAgIC4uLihzYXZlZCAhPT0gdW5kZWZpbmVkICYmIHtzYXZlZDogISFzYXZlZH0pXG4gIH0pO1xuXG4gIHJldHVybiB0cmFuc2Zvcm1lZDtcbn07XG5cbiJdLAogICJtYXBwaW5ncyI6ICJBQUFBLE9BQVEsaUJBQUFBLEVBQWUsV0FBQUMsTUFBYywrQkFDckMsT0FBUSxLQUFBQyxNQUFRLE1BRWhCLE9BQVEsbUJBQUFDLE1BQXNCLDJCQUM5QixPQUFRLGlCQUFBQyxNQUFvQixxQkFDNUIsT0FBUSxhQUFBQyxNQUFnQixtQkFDeEIsT0FBUSxjQUFBQyxNQUFpQixvQkFJbEIsTUFBTUMsVUFBK0IsS0FBTSxDQUNoRCxZQUFZQyxFQUF3QkMsRUFBZ0IsQ0FDbEQsTUFBTUQsQ0FBTyxFQURxQixXQUFBQyxFQUVsQyxLQUFLLEtBQU8sd0JBQ2QsQ0FDRixDQUVBLE1BQU1DLEVBQXFCUixFQUFFLE9BQU8sQ0FDbEMsUUFBU0EsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUM3QixlQUFnQkEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUNwQyxNQUFPQSxFQUFFLE1BQU1BLEVBQUUsSUFBSSxDQUFDLEVBQUUsU0FBUyxFQUNqQyxPQUFRQSxFQUFFLE1BQU1BLEVBQUUsSUFBSSxDQUFDLEVBQUUsU0FBUyxFQUNsQyxPQUFRQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzVCLFNBQVVBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDOUIsVUFBV0EsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUMvQixLQUFNQSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQzNCLE1BQU9BLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFDNUIsT0FBUUEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUM1QixJQUFLQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQ3pCLEtBQU1BLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDMUIsS0FBTUEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUMxQixRQUFTQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzdCLE1BQU9BLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDM0IsSUFBS0EsRUFBRSxPQUFPLEVBQUUsU0FBUyxDQUMzQixDQUFDLEVBQUUsWUFBWSxFQUVGUyxFQUF3QkgsR0FBa0MsQ0FDckUsR0FBSSxDQUVGLE9BRGtCRSxFQUFtQixNQUFNRixDQUFPLENBRXBELE9BQVFJLEVBQU8sQ0FDYixHQUFHQSxhQUFpQlYsRUFBRSxTQUFVLENBQzlCLE1BQU1XLEVBQWNELEVBQU0sT0FBTyxJQUFLRSxHQUFNLEdBQUdBLEVBQUUsS0FBSyxLQUFLLEdBQUcsQ0FBQyxLQUFLQSxFQUFFLE9BQU8sRUFBRSxFQUFFLEtBQUssSUFBSSxFQUMxRixNQUFNLElBQUlQLEVBQXVCLDhCQUE4Qk0sQ0FBVyxFQUFFLENBQzlFLENBQ0EsTUFBTUQsQ0FDUixDQUNGLEVBRWFHLEVBQXVCUCxHQUFzQ0EsRUFFN0RRLEVBQWdCUixHQUFzQyxDQUNqRSxHQUFJLENBRUYsT0FEZVMsRUFBNkJULENBQU8sQ0FFckQsT0FBUUksRUFBTyxDQUNiLE1BQUdBLGFBQWlCTCxFQUNaSyxFQUVGLElBQUlMLEVBQXVCLDJCQUEyQkssYUFBaUIsTUFBUUEsRUFBTSxRQUFVLGVBQWUsRUFBRSxDQUN4SCxDQUNGLEVBRU1LLEVBQWdDVCxHQUFzQyxDQUMxRSxLQUFNLENBQ0osSUFBQVUsRUFDQSxLQUFBQyxFQUNBLFFBQUFDLEVBQ0EsTUFBQUMsRUFDQSxHQUFBQyxFQUNBLE9BQUFDLEVBQ0EsVUFBQUMsRUFDQSxNQUFBQyxDQUNGLEVBQUlqQixFQVlKLE9BVm9CTCxFQUFnQixDQUNsQyxHQUFHQyxFQUFjSSxDQUFPLEVBQ3hCLEdBQUlZLEdBQVcsQ0FBQyxRQUFBQSxDQUFPLEVBQ3ZCLEdBQUksTUFBTSxRQUFRQyxDQUFLLEdBQUssQ0FBQyxNQUFPQSxFQUFNLElBQUloQixDQUFTLENBQUMsRUFDeEQsR0FBSSxNQUFNLFFBQVFrQixDQUFNLEdBQUssQ0FBQyxPQUFRQSxFQUFPLElBQUlqQixDQUFVLENBQUMsRUFDNUQsR0FBSWEsR0FBUSxDQUFDLFVBQVdsQixFQUFRa0IsQ0FBSSxDQUFDLEVBQ3JDLElBQUtELEdBQU9JLEdBQU1ILEdBQVFLLElBQWMsQ0FBQyxVQUFXeEIsRUFBY2tCLEdBQU9JLEdBQU0sWUFBWUgsR0FBUUssQ0FBUyxFQUFFLENBQUMsRUFDL0csR0FBSUMsSUFBVSxRQUFhLENBQUMsTUFBTyxDQUFDLENBQUNBLENBQUssQ0FDNUMsQ0FBQyxDQUdIIiwKICAibmFtZXMiOiBbInBhcnNlQXJhbmdvSWQiLCAicGFyc2VJZCIsICJ6IiwgInJlbW92ZUVtcHR5S2V5cyIsICJwYXJzZURvY3VtZW50IiwgInBhcnNlRmlsZSIsICJwYXJzZUltYWdlIiwgIk1lc3NhZ2VWYWxpZGF0aW9uRXJyb3IiLCAibWVzc2FnZSIsICJmaWVsZCIsICJNZXNzYWdlSW5wdXRTY2hlbWEiLCAidmFsaWRhdGVNZXNzYWdlSW5wdXQiLCAiZXJyb3IiLCAiZmllbGRFcnJvcnMiLCAiZSIsICJmb3JtYXRNZXNzYWdlT3V0cHV0IiwgInBhcnNlTWVzc2FnZSIsICJwZXJmb3JtTWVzc2FnZVRyYW5zZm9ybWF0aW9uIiwgIl9pZCIsICJfa2V5IiwgImNvbnRlbnQiLCAiZmlsZXMiLCAiaWQiLCAiaW1hZ2VzIiwgIm1lc3NhZ2VJZCIsICJzYXZlZCJdCn0K
1
+ import { parseArangoId, parseId } from '@nlabs/utils/parsers/strings';
2
+ import { z } from 'zod';
3
+ import { removeEmptyKeys } from '../utils/adapterUtils.js';
4
+ import { parseDocument } from './arangoAdapter.js';
5
+ import { parseFile } from './fileAdapter.js';
6
+ import { parseImage } from './imageAdapter.js';
7
+ export class MessageValidationError extends Error {
8
+ field;
9
+ constructor(message, field){
10
+ super(message), this.field = field;
11
+ this.name = 'MessageValidationError';
12
+ }
13
+ }
14
+ const MessageInputSchema = z.object({
15
+ content: z.string().optional(),
16
+ conversationId: z.string().optional(),
17
+ files: z.array(z.any()).optional(),
18
+ images: z.array(z.any()).optional(),
19
+ itemId: z.string().optional(),
20
+ itemType: z.string().optional(),
21
+ messageId: z.string().optional(),
22
+ read: z.boolean().optional(),
23
+ saved: z.boolean().optional(),
24
+ userId: z.string().optional(),
25
+ _id: z.string().optional(),
26
+ _key: z.string().optional(),
27
+ _rev: z.string().optional(),
28
+ _oldRev: z.string().optional(),
29
+ _from: z.string().optional(),
30
+ _to: z.string().optional()
31
+ }).passthrough();
32
+ export const validateMessageInput = (message)=>{
33
+ try {
34
+ const validated = MessageInputSchema.parse(message);
35
+ return validated;
36
+ } catch (error) {
37
+ if (error instanceof z.ZodError) {
38
+ const fieldErrors = error.issues.map((e)=>`${e.path.join('.')}: ${e.message}`).join(', ');
39
+ throw new MessageValidationError(`Message validation failed: ${fieldErrors}`);
40
+ }
41
+ throw error;
42
+ }
43
+ };
44
+ export const formatMessageOutput = (message)=>message;
45
+ export const parseMessage = (message)=>{
46
+ try {
47
+ const parsed = performMessageTransformation(message);
48
+ return parsed;
49
+ } catch (error) {
50
+ if (error instanceof MessageValidationError) {
51
+ throw error;
52
+ }
53
+ throw new MessageValidationError(`Message parsing failed: ${error instanceof Error ? error.message : 'Unknown error'}`);
54
+ }
55
+ };
56
+ const performMessageTransformation = (message)=>{
57
+ const { _id, _key, content, files, id, images, messageId, saved } = message;
58
+ const transformed = removeEmptyKeys({
59
+ ...parseDocument(message),
60
+ ...content && {
61
+ content
62
+ },
63
+ ...Array.isArray(files) && {
64
+ files: files.map(parseFile)
65
+ },
66
+ ...Array.isArray(images) && {
67
+ images: images.map(parseImage)
68
+ },
69
+ ..._key && {
70
+ messageId: parseId(_key)
71
+ },
72
+ ...(_id || id || _key || messageId) && {
73
+ messageId: parseArangoId(_id || id || `messages/${_key || messageId}`)
74
+ },
75
+ ...saved !== undefined && {
76
+ saved: !!saved
77
+ }
78
+ });
79
+ return transformed;
80
+ };
81
+
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L3JlYWt0b3Ivc3JjL2FkYXB0ZXJzL21lc3NhZ2VBZGFwdGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7cGFyc2VBcmFuZ29JZCwgcGFyc2VJZH0gZnJvbSAnQG5sYWJzL3V0aWxzL3BhcnNlcnMvc3RyaW5ncyc7XG5pbXBvcnQge3p9IGZyb20gJ3pvZCc7XG5cbmltcG9ydCB7cmVtb3ZlRW1wdHlLZXlzfSBmcm9tICcuLi91dGlscy9hZGFwdGVyVXRpbHMuanMnO1xuaW1wb3J0IHtwYXJzZURvY3VtZW50fSBmcm9tICcuL2FyYW5nb0FkYXB0ZXIuanMnO1xuaW1wb3J0IHtwYXJzZUZpbGV9IGZyb20gJy4vZmlsZUFkYXB0ZXIuanMnO1xuaW1wb3J0IHtwYXJzZUltYWdlfSBmcm9tICcuL2ltYWdlQWRhcHRlci5qcyc7XG5cbmltcG9ydCB0eXBlIHtNZXNzYWdlVHlwZX0gZnJvbSAnLi4vdHlwZXMvbWVzc2FnZXMudHlwZXMuanMnO1xuXG5leHBvcnQgY2xhc3MgTWVzc2FnZVZhbGlkYXRpb25FcnJvciBleHRlbmRzIEVycm9yIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nLCBwdWJsaWMgZmllbGQ/OiBzdHJpbmcpIHtcbiAgICBzdXBlcihtZXNzYWdlKTtcbiAgICB0aGlzLm5hbWUgPSAnTWVzc2FnZVZhbGlkYXRpb25FcnJvcic7XG4gIH1cbn1cblxuY29uc3QgTWVzc2FnZUlucHV0U2NoZW1hID0gei5vYmplY3Qoe1xuICBjb250ZW50OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGNvbnZlcnNhdGlvbklkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGZpbGVzOiB6LmFycmF5KHouYW55KCkpLm9wdGlvbmFsKCksXG4gIGltYWdlczogei5hcnJheSh6LmFueSgpKS5vcHRpb25hbCgpLFxuICBpdGVtSWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgaXRlbVR5cGU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgbWVzc2FnZUlkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHJlYWQ6IHouYm9vbGVhbigpLm9wdGlvbmFsKCksXG4gIHNhdmVkOiB6LmJvb2xlYW4oKS5vcHRpb25hbCgpLFxuICB1c2VySWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX2lkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9rZXk6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX3Jldjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfb2xkUmV2OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9mcm9tOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF90bzogei5zdHJpbmcoKS5vcHRpb25hbCgpXG59KS5wYXNzdGhyb3VnaCgpO1xuXG5leHBvcnQgY29uc3QgdmFsaWRhdGVNZXNzYWdlSW5wdXQgPSAobWVzc2FnZTogdW5rbm93bik6IE1lc3NhZ2VUeXBlID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCB2YWxpZGF0ZWQgPSBNZXNzYWdlSW5wdXRTY2hlbWEucGFyc2UobWVzc2FnZSk7XG4gICAgcmV0dXJuIHZhbGlkYXRlZCBhcyBNZXNzYWdlVHlwZTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIGlmKGVycm9yIGluc3RhbmNlb2Ygei5ab2RFcnJvcikge1xuICAgICAgY29uc3QgZmllbGRFcnJvcnMgPSBlcnJvci5pc3N1ZXMubWFwKChlKSA9PiBgJHtlLnBhdGguam9pbignLicpfTogJHtlLm1lc3NhZ2V9YCkuam9pbignLCAnKTtcbiAgICAgIHRocm93IG5ldyBNZXNzYWdlVmFsaWRhdGlvbkVycm9yKGBNZXNzYWdlIHZhbGlkYXRpb24gZmFpbGVkOiAke2ZpZWxkRXJyb3JzfWApO1xuICAgIH1cbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGZvcm1hdE1lc3NhZ2VPdXRwdXQgPSAobWVzc2FnZTogTWVzc2FnZVR5cGUpOiBNZXNzYWdlVHlwZSA9PiBtZXNzYWdlO1xuXG5leHBvcnQgY29uc3QgcGFyc2VNZXNzYWdlID0gKG1lc3NhZ2U6IE1lc3NhZ2VUeXBlKTogTWVzc2FnZVR5cGUgPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IHBhcnNlZCA9IHBlcmZvcm1NZXNzYWdlVHJhbnNmb3JtYXRpb24obWVzc2FnZSk7XG4gICAgcmV0dXJuIHBhcnNlZDtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIGlmKGVycm9yIGluc3RhbmNlb2YgTWVzc2FnZVZhbGlkYXRpb25FcnJvcikge1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICAgIHRocm93IG5ldyBNZXNzYWdlVmFsaWRhdGlvbkVycm9yKGBNZXNzYWdlIHBhcnNpbmcgZmFpbGVkOiAke2Vycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ1Vua25vd24gZXJyb3InfWApO1xuICB9XG59O1xuXG5jb25zdCBwZXJmb3JtTWVzc2FnZVRyYW5zZm9ybWF0aW9uID0gKG1lc3NhZ2U6IE1lc3NhZ2VUeXBlKTogTWVzc2FnZVR5cGUgPT4ge1xuICBjb25zdCB7XG4gICAgX2lkLFxuICAgIF9rZXksXG4gICAgY29udGVudCxcbiAgICBmaWxlcyxcbiAgICBpZCxcbiAgICBpbWFnZXMsXG4gICAgbWVzc2FnZUlkLFxuICAgIHNhdmVkXG4gIH0gPSBtZXNzYWdlO1xuXG4gIGNvbnN0IHRyYW5zZm9ybWVkID0gcmVtb3ZlRW1wdHlLZXlzKHtcbiAgICAuLi5wYXJzZURvY3VtZW50KG1lc3NhZ2UpLFxuICAgIC4uLihjb250ZW50ICYmIHtjb250ZW50fSksXG4gICAgLi4uKEFycmF5LmlzQXJyYXkoZmlsZXMpICYmIHtmaWxlczogZmlsZXMubWFwKHBhcnNlRmlsZSl9KSxcbiAgICAuLi4oQXJyYXkuaXNBcnJheShpbWFnZXMpICYmIHtpbWFnZXM6IGltYWdlcy5tYXAocGFyc2VJbWFnZSl9KSxcbiAgICAuLi4oX2tleSAmJiB7bWVzc2FnZUlkOiBwYXJzZUlkKF9rZXkpfSksXG4gICAgLi4uKChfaWQgfHwgaWQgfHwgX2tleSB8fCBtZXNzYWdlSWQpICYmIHttZXNzYWdlSWQ6IHBhcnNlQXJhbmdvSWQoX2lkIHx8IGlkIHx8IGBtZXNzYWdlcy8ke19rZXkgfHwgbWVzc2FnZUlkfWApfSksXG4gICAgLi4uKHNhdmVkICE9PSB1bmRlZmluZWQgJiYge3NhdmVkOiAhIXNhdmVkfSlcbiAgfSk7XG5cbiAgcmV0dXJuIHRyYW5zZm9ybWVkO1xufTtcblxuIl0sIm5hbWVzIjpbInBhcnNlQXJhbmdvSWQiLCJwYXJzZUlkIiwieiIsInJlbW92ZUVtcHR5S2V5cyIsInBhcnNlRG9jdW1lbnQiLCJwYXJzZUZpbGUiLCJwYXJzZUltYWdlIiwiTWVzc2FnZVZhbGlkYXRpb25FcnJvciIsIkVycm9yIiwibWVzc2FnZSIsImZpZWxkIiwibmFtZSIsIk1lc3NhZ2VJbnB1dFNjaGVtYSIsIm9iamVjdCIsImNvbnRlbnQiLCJzdHJpbmciLCJvcHRpb25hbCIsImNvbnZlcnNhdGlvbklkIiwiZmlsZXMiLCJhcnJheSIsImFueSIsImltYWdlcyIsIml0ZW1JZCIsIml0ZW1UeXBlIiwibWVzc2FnZUlkIiwicmVhZCIsImJvb2xlYW4iLCJzYXZlZCIsInVzZXJJZCIsIl9pZCIsIl9rZXkiLCJfcmV2IiwiX29sZFJldiIsIl9mcm9tIiwiX3RvIiwicGFzc3Rocm91Z2giLCJ2YWxpZGF0ZU1lc3NhZ2VJbnB1dCIsInZhbGlkYXRlZCIsInBhcnNlIiwiZXJyb3IiLCJab2RFcnJvciIsImZpZWxkRXJyb3JzIiwiaXNzdWVzIiwibWFwIiwiZSIsInBhdGgiLCJqb2luIiwiZm9ybWF0TWVzc2FnZU91dHB1dCIsInBhcnNlTWVzc2FnZSIsInBhcnNlZCIsInBlcmZvcm1NZXNzYWdlVHJhbnNmb3JtYXRpb24iLCJpZCIsInRyYW5zZm9ybWVkIiwiQXJyYXkiLCJpc0FycmF5IiwidW5kZWZpbmVkIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFRQSxhQUFhLEVBQUVDLE9BQU8sUUFBTywrQkFBK0I7QUFDcEUsU0FB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
@@ -6,3 +6,4 @@ export declare class PostValidationError extends Error {
6
6
  export declare const validatePostInput: (post: unknown) => PostType;
7
7
  export declare const formatPostOutput: (post: PostType) => PostType;
8
8
  export declare const parsePost: (post: PostType) => PostType;
9
+ //# sourceMappingURL=postAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postAdapter.d.ts","sourceRoot":"","sources":["../../src/adapters/postAdapter.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,yBAAyB,CAAC;AAItD,qBAAa,mBAAoB,SAAQ,KAAK;IACR,KAAK,CAAC,EAAE,MAAM;gBAAtC,OAAO,EAAE,MAAM,EAAS,KAAK,CAAC,EAAE,MAAM;CAInD;AA0BD,eAAO,MAAM,iBAAiB,GAAI,MAAM,OAAO,KAAG,QAWjD,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,MAAM,QAAQ,KAAG,QAAgB,CAAC;AAEnE,eAAO,MAAM,SAAS,GAAI,MAAM,QAAQ,KAAG,QAU1C,CAAC"}