@nlabs/reaktor 0.10.1 → 0.10.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (451) hide show
  1. package/coverage/actions/index.html +21 -36
  2. package/coverage/actions/notifications.ts.html +223 -0
  3. package/coverage/actions/posts.ts.html +2356 -0
  4. package/coverage/adapters/arangoAdapter.ts.html +170 -20
  5. package/coverage/adapters/fileAdapter.ts.html +445 -0
  6. package/coverage/adapters/index.html +72 -42
  7. package/coverage/adapters/postAdapter.ts.html +436 -0
  8. package/coverage/adapters/reaktorAdapter.ts.html +201 -18
  9. package/coverage/adapters/tagAdapter.ts.html +274 -25
  10. package/coverage/adapters/userAdapter.ts.html +829 -0
  11. package/coverage/analyticsUtils.ts.html +286 -0
  12. package/coverage/config.ts.html +766 -0
  13. package/coverage/index.html +81 -51
  14. package/coverage/mocks/group.ts.html +5 -5
  15. package/coverage/mocks/image.ts.html +18 -12
  16. package/coverage/mocks/index.html +37 -7
  17. package/coverage/mocks/post.ts.html +8 -8
  18. package/coverage/mocks/tag.ts.html +2 -2
  19. package/coverage/mocks/user.ts.html +18 -15
  20. package/coverage/testUtils.ts.html +1309 -0
  21. package/coverage/translationQueue.ts.html +592 -0
  22. package/coverage/types/error.types.ts.html +148 -0
  23. package/coverage/types/index.html +2 -2
  24. package/coverage/utils/adapterUtils.ts.html +39 -27
  25. package/coverage/utils/analyticsUtils.ts.html +35 -41
  26. package/coverage/utils/authUtils.ts.html +328 -0
  27. package/coverage/utils/dbI18n.ts.html +280 -0
  28. package/coverage/utils/googleTranslate.ts.html +385 -0
  29. package/coverage/utils/index.html +29 -44
  30. package/coverage/utils/localeUtils.ts.html +193 -0
  31. package/coverage/utils/sessionUtils.ts.html +211 -0
  32. package/coverage/utils/testUtils.ts.html +1309 -0
  33. package/lex.config.mjs +34 -0
  34. package/lib/actions/apps.d.ts +25 -0
  35. package/lib/actions/apps.js +11 -11
  36. package/lib/actions/connections.d.ts +5 -0
  37. package/lib/actions/connections.js +6 -6
  38. package/lib/actions/content.d.ts +13 -0
  39. package/lib/actions/content.js +9 -9
  40. package/lib/actions/conversations.d.ts +16 -0
  41. package/lib/actions/conversations.js +17 -17
  42. package/lib/actions/dynamodb.d.ts +12 -0
  43. package/lib/actions/dynamodb.js +2 -2
  44. package/lib/actions/email.d.ts +8 -0
  45. package/lib/actions/email.js +2 -2
  46. package/lib/actions/files.d.ts +19 -0
  47. package/lib/actions/files.js +3 -3
  48. package/lib/actions/groups.d.ts +13 -0
  49. package/lib/actions/groups.js +15 -15
  50. package/lib/actions/images.d.ts +33 -0
  51. package/lib/actions/images.js +22 -22
  52. package/lib/actions/index.d.ts +27 -0
  53. package/lib/actions/index.js +2 -2
  54. package/lib/actions/ios.d.ts +7 -0
  55. package/lib/actions/ios.js +4 -4
  56. package/lib/actions/locations.d.ts +6 -0
  57. package/lib/actions/locations.js +3 -3
  58. package/lib/actions/messages.d.ts +13 -0
  59. package/lib/actions/messages.js +3 -3
  60. package/lib/actions/notifications.d.ts +9 -0
  61. package/lib/actions/notifications.js +2 -2
  62. package/lib/actions/payments.d.ts +12 -0
  63. package/lib/actions/payments.js +6 -6
  64. package/lib/actions/posts.d.ts +25 -0
  65. package/lib/actions/posts.js +30 -30
  66. package/lib/actions/profiles.d.ts +4 -0
  67. package/lib/actions/profiles.js +4 -4
  68. package/lib/actions/reactions.d.ts +32 -0
  69. package/lib/actions/reactions.js +16 -16
  70. package/lib/actions/s3.d.ts +11 -0
  71. package/lib/actions/s3.js +2 -2
  72. package/lib/actions/search.d.ts +3 -0
  73. package/lib/actions/search.js +3 -3
  74. package/lib/actions/sms.d.ts +2 -0
  75. package/lib/actions/sms.js +2 -2
  76. package/lib/actions/statistics.d.ts +4 -0
  77. package/lib/actions/statistics.js +4 -4
  78. package/lib/actions/subscriptions.d.ts +7 -0
  79. package/lib/actions/subscriptions.js +6 -6
  80. package/lib/actions/tags.d.ts +34 -0
  81. package/lib/actions/tags.js +6 -6
  82. package/lib/actions/users.d.ts +73 -0
  83. package/lib/actions/users.js +45 -42
  84. package/lib/actions/websockets.d.ts +20 -0
  85. package/lib/actions/websockets.js +8 -8
  86. package/lib/adapters/arangoAdapter.d.ts +8 -0
  87. package/lib/adapters/arangoAdapter.js +2 -2
  88. package/lib/adapters/contentAdapter.d.ts +8 -0
  89. package/lib/adapters/contentAdapter.js +2 -2
  90. package/lib/adapters/fileAdapter.d.ts +9 -0
  91. package/lib/adapters/fileAdapter.js +2 -2
  92. package/lib/adapters/imageAdapter.d.ts +8 -0
  93. package/lib/adapters/imageAdapter.js +2 -2
  94. package/lib/adapters/index.d.ts +9 -0
  95. package/lib/adapters/index.js +2 -0
  96. package/lib/adapters/messageAdapter.d.ts +8 -0
  97. package/lib/adapters/messageAdapter.js +2 -2
  98. package/lib/adapters/postAdapter.d.ts +8 -0
  99. package/lib/adapters/postAdapter.js +2 -2
  100. package/lib/adapters/reaktorAdapter.d.ts +16 -0
  101. package/lib/adapters/reaktorAdapter.js +2 -2
  102. package/lib/adapters/tagAdapter.d.ts +9 -0
  103. package/lib/adapters/tagAdapter.js +2 -2
  104. package/lib/adapters/userAdapter.d.ts +13 -0
  105. package/lib/adapters/userAdapter.js +2 -2
  106. package/lib/config.d.ts +57 -0
  107. package/lib/config.js +2 -2
  108. package/lib/handlers/graphqlHandler.d.ts +4 -0
  109. package/lib/handlers/graphqlHandler.js +2 -2
  110. package/lib/index.d.ts +19 -0
  111. package/lib/index.js +2 -2
  112. package/lib/lambdas/actions/websockets.d.ts +7 -0
  113. package/lib/lambdas/actions/websockets.js +6 -6
  114. package/lib/lambdas/authorizer.d.ts +20 -0
  115. package/lib/lambdas/authorizer.js +2 -2
  116. package/lib/lambdas/connection.d.ts +12 -0
  117. package/lib/lambdas/connection.js +2 -2
  118. package/lib/lambdas/utils/message.d.ts +1 -0
  119. package/lib/lambdas/utils/websocket.d.ts +7 -0
  120. package/lib/lambdas/utils/websocket.js +2 -2
  121. package/lib/mocks/conversation.d.ts +8 -0
  122. package/lib/mocks/file.d.ts +11 -0
  123. package/lib/mocks/group.d.ts +17 -0
  124. package/lib/mocks/group.js +2 -2
  125. package/lib/mocks/image.d.ts +3 -0
  126. package/lib/mocks/image.js +2 -2
  127. package/lib/mocks/post.d.ts +38 -0
  128. package/lib/mocks/post.js +2 -2
  129. package/lib/mocks/tag.d.ts +2 -0
  130. package/lib/mocks/tag.js +1 -1
  131. package/lib/mocks/user.d.ts +4 -0
  132. package/lib/mocks/user.js +2 -2
  133. package/lib/mutations/content.d.ts +2 -0
  134. package/lib/mutations/content.js +2 -0
  135. package/lib/mutations/index.d.ts +11 -0
  136. package/lib/mutations/index.js +2 -2
  137. package/lib/mutations/locations.d.ts +2 -0
  138. package/lib/mutations/locations.js +2 -2
  139. package/lib/mutations/messages.d.ts +2 -0
  140. package/lib/mutations/messages.js +2 -2
  141. package/lib/mutations/posts.d.ts +2 -0
  142. package/lib/mutations/posts.js +2 -2
  143. package/lib/mutations/profiles.d.ts +2 -0
  144. package/lib/mutations/profiles.js +2 -2
  145. package/lib/mutations/reactions.d.ts +2 -0
  146. package/lib/mutations/reactions.js +2 -2
  147. package/lib/mutations/statistics.d.ts +2 -0
  148. package/lib/mutations/statistics.js +2 -2
  149. package/lib/mutations/subscriptions.d.ts +2 -0
  150. package/lib/mutations/subscriptions.js +2 -2
  151. package/lib/mutations/tags.d.ts +2 -0
  152. package/lib/mutations/tags.js +2 -2
  153. package/lib/mutations/users.d.ts +1 -0
  154. package/lib/mutations/users.js +2 -2
  155. package/lib/objectTypes/app.d.ts +3 -0
  156. package/lib/objectTypes/app.js +2 -2
  157. package/lib/objectTypes/bankAccount.d.ts +1 -0
  158. package/lib/objectTypes/connection.d.ts +1 -0
  159. package/lib/objectTypes/connection.js +2 -2
  160. package/lib/objectTypes/content.d.ts +2 -0
  161. package/lib/objectTypes/content.js +2 -0
  162. package/lib/objectTypes/conversation.d.ts +2 -0
  163. package/lib/objectTypes/conversation.js +2 -2
  164. package/lib/objectTypes/creditCard.d.ts +1 -0
  165. package/lib/objectTypes/document.d.ts +1 -0
  166. package/lib/objectTypes/error.d.ts +1 -0
  167. package/lib/objectTypes/external.d.ts +1 -0
  168. package/lib/objectTypes/external.js +2 -2
  169. package/lib/objectTypes/file.d.ts +2 -0
  170. package/lib/objectTypes/file.js +2 -2
  171. package/lib/objectTypes/filter.d.ts +1 -0
  172. package/lib/objectTypes/group.d.ts +3 -0
  173. package/lib/objectTypes/group.js +2 -2
  174. package/lib/objectTypes/iapSubscription.d.ts +1 -0
  175. package/lib/objectTypes/image.d.ts +6 -0
  176. package/lib/objectTypes/image.js +2 -2
  177. package/lib/objectTypes/index.d.ts +26 -0
  178. package/lib/objectTypes/index.js +2 -2
  179. package/lib/objectTypes/location.d.ts +2 -0
  180. package/lib/objectTypes/location.js +2 -2
  181. package/lib/objectTypes/message.d.ts +2 -0
  182. package/lib/objectTypes/message.js +2 -2
  183. package/lib/objectTypes/passcode.d.ts +1 -0
  184. package/lib/objectTypes/passcode.js +2 -2
  185. package/lib/objectTypes/plan.d.ts +2 -0
  186. package/lib/objectTypes/plan.js +2 -2
  187. package/lib/objectTypes/post.d.ts +2 -0
  188. package/lib/objectTypes/post.js +2 -2
  189. package/lib/objectTypes/profile.d.ts +3 -0
  190. package/lib/objectTypes/profile.js +2 -2
  191. package/lib/objectTypes/reaction.d.ts +2 -0
  192. package/lib/objectTypes/reaction.js +2 -2
  193. package/lib/objectTypes/relation.d.ts +1 -0
  194. package/lib/objectTypes/relation.js +2 -2
  195. package/lib/objectTypes/search.d.ts +1 -0
  196. package/lib/objectTypes/search.js +2 -2
  197. package/lib/objectTypes/statistics.d.ts +1 -0
  198. package/lib/objectTypes/statistics.js +2 -2
  199. package/lib/objectTypes/subscription.d.ts +2 -0
  200. package/lib/objectTypes/subscription.js +2 -2
  201. package/lib/objectTypes/tag.d.ts +2 -0
  202. package/lib/objectTypes/tag.js +2 -2
  203. package/lib/objectTypes/user.d.ts +4 -0
  204. package/lib/objectTypes/user.js +2 -2
  205. package/lib/queries/content.d.ts +2 -0
  206. package/lib/queries/content.js +2 -0
  207. package/lib/queries/index.d.ts +10 -0
  208. package/lib/queries/index.js +2 -2
  209. package/lib/queries/locations.d.ts +2 -0
  210. package/lib/queries/locations.js +2 -2
  211. package/lib/queries/messages.d.ts +2 -0
  212. package/lib/queries/messages.js +2 -2
  213. package/lib/queries/posts.d.ts +2 -0
  214. package/lib/queries/posts.js +2 -2
  215. package/lib/queries/reactions.d.ts +2 -0
  216. package/lib/queries/reactions.js +2 -2
  217. package/lib/queries/statistics.d.ts +2 -0
  218. package/lib/queries/statistics.js +2 -2
  219. package/lib/queries/subscriptions.d.ts +2 -0
  220. package/lib/queries/subscriptions.js +2 -2
  221. package/lib/queries/tags.d.ts +2 -0
  222. package/lib/queries/tags.js +2 -2
  223. package/lib/queries/users.d.ts +1 -0
  224. package/lib/queries/users.js +2 -2
  225. package/lib/templates/email/layout.d.ts +2 -0
  226. package/lib/templates/email/passwordForgot.d.ts +2 -0
  227. package/lib/templates/email/passwordRecovery.d.ts +2 -0
  228. package/lib/templates/email/verifyEmail.d.ts +2 -0
  229. package/lib/templates/email/welcome.d.ts +2 -0
  230. package/lib/templates/sms/passwordForgot.d.ts +2 -0
  231. package/lib/templates/sms/passwordRecovery.d.ts +2 -0
  232. package/lib/templates/sms/verifyEmail.d.ts +2 -0
  233. package/lib/templates/sms/verifyPhone.d.ts +2 -0
  234. package/lib/templates/sms/welcome.d.ts +2 -0
  235. package/lib/types/apps.types.d.ts +50 -0
  236. package/lib/types/apps.types.js +1 -1
  237. package/lib/types/arangodb.types.d.ts +38 -0
  238. package/lib/types/auth.types.d.ts +15 -0
  239. package/lib/types/connections.types.d.ts +9 -0
  240. package/lib/types/content.types.d.ts +31 -0
  241. package/lib/types/conversations.types.d.ts +31 -0
  242. package/lib/types/email.types.d.ts +17 -0
  243. package/lib/types/error.types.d.ts +21 -0
  244. package/lib/types/files.types.d.ts +27 -0
  245. package/lib/types/google.types.d.ts +33 -0
  246. package/lib/types/groups.types.d.ts +22 -0
  247. package/lib/types/images.types.d.ts +56 -0
  248. package/lib/types/index.d.ts +26 -0
  249. package/lib/types/index.js +2 -2
  250. package/lib/types/locations.types.d.ts +22 -0
  251. package/lib/types/messages.types.d.ts +20 -0
  252. package/lib/types/notifications.types.d.ts +23 -0
  253. package/lib/types/payments.types.d.ts +113 -0
  254. package/lib/types/posts.types.d.ts +32 -0
  255. package/lib/types/profiles.types.d.ts +20 -0
  256. package/lib/types/statistics.types.d.ts +3 -0
  257. package/lib/types/tags.types.d.ts +19 -0
  258. package/lib/types/users.types.d.ts +110 -0
  259. package/lib/types/websockets.types.d.ts +22 -0
  260. package/lib/utils/adapterUtils.d.ts +5 -0
  261. package/lib/utils/analyticsUtils.d.ts +25 -0
  262. package/lib/utils/analyticsUtils.js +2 -2
  263. package/lib/utils/arangodbUtils.d.ts +70 -0
  264. package/lib/utils/arangodbUtils.js +3 -3
  265. package/lib/utils/authUtils.d.ts +23 -0
  266. package/lib/utils/authUtils.js +2 -2
  267. package/lib/utils/contextUtils.d.ts +3 -0
  268. package/lib/utils/contextUtils.js +1 -1
  269. package/lib/utils/dbI18n.d.ts +10 -0
  270. package/lib/utils/dbI18n.example.d.ts +20 -0
  271. package/lib/utils/dbI18n.example.js +3 -3
  272. package/lib/utils/dbI18n.js +2 -2
  273. package/lib/utils/googleTranslate.d.ts +6 -0
  274. package/lib/utils/googleTranslate.js +2 -2
  275. package/lib/utils/graphqlUtils.d.ts +10 -0
  276. package/lib/utils/graphqlUtils.js +2 -2
  277. package/lib/utils/index.d.ts +18 -0
  278. package/lib/utils/index.js +2 -2
  279. package/lib/utils/languageDetection.d.ts +8 -0
  280. package/lib/utils/languageDetection.js +1 -1
  281. package/lib/utils/localeUtils.d.ts +11 -0
  282. package/lib/utils/localeUtils.example.d.ts +5 -0
  283. package/lib/utils/localeUtils.example.js +2 -2
  284. package/lib/utils/localeUtils.js +1 -1
  285. package/lib/utils/middlewareUtils.d.ts +2 -0
  286. package/lib/utils/middlewareUtils.js +2 -2
  287. package/lib/utils/sessionUtils.d.ts +18 -0
  288. package/lib/utils/sessionUtils.js +2 -2
  289. package/lib/utils/stripeUtils.d.ts +7 -0
  290. package/lib/utils/stripeUtils.js +2 -2
  291. package/lib/utils/templateUtils.d.ts +3 -0
  292. package/lib/utils/testUtils.d.ts +95 -0
  293. package/lib/utils/testUtils.js +2 -2
  294. package/lib/utils/translationQueue.d.ts +29 -0
  295. package/lib/utils/translationQueue.example.d.ts +33 -0
  296. package/lib/utils/translationQueue.example.js +2 -2
  297. package/lib/utils/translationQueue.js +2 -2
  298. package/package.json +22 -21
  299. package/tsconfig.build.json +21 -0
  300. package/tsconfig.lint.json +33 -0
  301. package/tsconfig.test.json +31 -0
  302. package/dist/actions/apps.js +0 -242
  303. package/dist/actions/connections.js +0 -90
  304. package/dist/actions/conversations.js +0 -350
  305. package/dist/actions/dynamodb.js +0 -150
  306. package/dist/actions/email.js +0 -152
  307. package/dist/actions/files.js +0 -283
  308. package/dist/actions/groups.js +0 -292
  309. package/dist/actions/images.js +0 -735
  310. package/dist/actions/index.js +0 -66
  311. package/dist/actions/ios.js +0 -164
  312. package/dist/actions/locations.js +0 -122
  313. package/dist/actions/messages.js +0 -208
  314. package/dist/actions/notifications.js +0 -59
  315. package/dist/actions/payments.js +0 -497
  316. package/dist/actions/personas.js +0 -110
  317. package/dist/actions/posts.js +0 -595
  318. package/dist/actions/reactions.js +0 -322
  319. package/dist/actions/s3.js +0 -133
  320. package/dist/actions/search.js +0 -90
  321. package/dist/actions/sms.js +0 -108
  322. package/dist/actions/statistics.js +0 -62
  323. package/dist/actions/subscription.js +0 -220
  324. package/dist/actions/tags.js +0 -292
  325. package/dist/actions/users.js +0 -784
  326. package/dist/actions/websockets.js +0 -174
  327. package/dist/adapters/arangoAdapter.js +0 -46
  328. package/dist/adapters/fileAdapter.js +0 -76
  329. package/dist/adapters/imageAdapter.js +0 -40
  330. package/dist/adapters/messageAdapter.js +0 -49
  331. package/dist/adapters/postAdapter.js +0 -70
  332. package/dist/adapters/reaktorAdapter.js +0 -44
  333. package/dist/adapters/tagAdapter.js +0 -50
  334. package/dist/adapters/userAdapter.js +0 -115
  335. package/dist/config.js +0 -125
  336. package/dist/index.js +0 -66
  337. package/dist/lambdas/actions/websockets.js +0 -132
  338. package/dist/lambdas/authorizer.js +0 -67
  339. package/dist/lambdas/connection.js +0 -91
  340. package/dist/lambdas/utils/message.js +0 -42
  341. package/dist/lambdas/utils/websocket.js +0 -105
  342. package/dist/mocks/conversation.js +0 -35
  343. package/dist/mocks/file.js +0 -38
  344. package/dist/mocks/group.js +0 -47
  345. package/dist/mocks/image.js +0 -44
  346. package/dist/mocks/nlabs.png +0 -0
  347. package/dist/mocks/post.js +0 -55
  348. package/dist/mocks/tag.js +0 -37
  349. package/dist/mocks/user.js +0 -88
  350. package/dist/mutations/index.js +0 -26
  351. package/dist/mutations/locations.js +0 -44
  352. package/dist/mutations/messages.js +0 -86
  353. package/dist/mutations/personas.js +0 -100
  354. package/dist/mutations/posts.js +0 -53
  355. package/dist/mutations/reactions.js +0 -51
  356. package/dist/mutations/statistics.js +0 -39
  357. package/dist/mutations/subscriptions.js +0 -56
  358. package/dist/mutations/tags.js +0 -120
  359. package/dist/mutations/users.js +0 -116
  360. package/dist/objectTypes/app.js +0 -173
  361. package/dist/objectTypes/bankAccount.js +0 -76
  362. package/dist/objectTypes/connection.js +0 -48
  363. package/dist/objectTypes/conversation.js +0 -77
  364. package/dist/objectTypes/creditCard.js +0 -86
  365. package/dist/objectTypes/document.js +0 -46
  366. package/dist/objectTypes/error.js +0 -46
  367. package/dist/objectTypes/external.js +0 -74
  368. package/dist/objectTypes/file.js +0 -100
  369. package/dist/objectTypes/filter.js +0 -43
  370. package/dist/objectTypes/group.js +0 -123
  371. package/dist/objectTypes/iapSubscription.js +0 -40
  372. package/dist/objectTypes/image.js +0 -129
  373. package/dist/objectTypes/index.js +0 -68
  374. package/dist/objectTypes/location.js +0 -109
  375. package/dist/objectTypes/message.js +0 -96
  376. package/dist/objectTypes/passcode.js +0 -42
  377. package/dist/objectTypes/persona.js +0 -87
  378. package/dist/objectTypes/plan.js +0 -95
  379. package/dist/objectTypes/post.js +0 -125
  380. package/dist/objectTypes/reaction.js +0 -61
  381. package/dist/objectTypes/relation.js +0 -49
  382. package/dist/objectTypes/search.js +0 -72
  383. package/dist/objectTypes/statistics.js +0 -39
  384. package/dist/objectTypes/subscription.js +0 -117
  385. package/dist/objectTypes/tag.js +0 -65
  386. package/dist/objectTypes/user.js +0 -144
  387. package/dist/queries/index.js +0 -33
  388. package/dist/queries/locations.js +0 -45
  389. package/dist/queries/messages.js +0 -52
  390. package/dist/queries/posts.js +0 -154
  391. package/dist/queries/reactions.js +0 -56
  392. package/dist/queries/statistics.js +0 -39
  393. package/dist/queries/subscriptions.js +0 -44
  394. package/dist/queries/tags.js +0 -75
  395. package/dist/queries/users.js +0 -64
  396. package/dist/templates/email/layout.js +0 -302
  397. package/dist/templates/email/passwordForgot.js +0 -38
  398. package/dist/templates/email/passwordRecovery.js +0 -35
  399. package/dist/templates/email/verifyEmail.js +0 -38
  400. package/dist/templates/email/welcome.js +0 -38
  401. package/dist/templates/sms/passwordForgot.js +0 -24
  402. package/dist/templates/sms/passwordRecovery.js +0 -24
  403. package/dist/templates/sms/verifyEmail.js +0 -24
  404. package/dist/templates/sms/verifyPhone.js +0 -24
  405. package/dist/templates/sms/welcome.js +0 -24
  406. package/dist/types/apps.js +0 -32
  407. package/dist/types/arangodb.js +0 -16
  408. package/dist/types/auth.js +0 -16
  409. package/dist/types/connections.js +0 -16
  410. package/dist/types/conversations.js +0 -16
  411. package/dist/types/email.js +0 -16
  412. package/dist/types/error.js +0 -44
  413. package/dist/types/files.js +0 -16
  414. package/dist/types/google.js +0 -16
  415. package/dist/types/groups.js +0 -16
  416. package/dist/types/images.js +0 -16
  417. package/dist/types/index.js +0 -60
  418. package/dist/types/locations.js +0 -16
  419. package/dist/types/messages.js +0 -16
  420. package/dist/types/notifications.js +0 -16
  421. package/dist/types/payments.js +0 -16
  422. package/dist/types/personas.js +0 -16
  423. package/dist/types/posts.js +0 -16
  424. package/dist/types/statistics.js +0 -16
  425. package/dist/types/tags.js +0 -16
  426. package/dist/types/users.js +0 -16
  427. package/dist/types/websockets.js +0 -16
  428. package/dist/utils/adapterUtils.js +0 -45
  429. package/dist/utils/analyticsUtils.js +0 -72
  430. package/dist/utils/arangodbUtils.js +0 -165
  431. package/dist/utils/auth.js +0 -57
  432. package/dist/utils/index.js +0 -30
  433. package/dist/utils/session.js +0 -60
  434. package/jest.config.js +0 -17
  435. package/jest.setup.js +0 -36
  436. package/lex.config.cjs +0 -13
  437. package/lib/mutations/locations.integration.js +0 -2
  438. package/lib/mutations/messages.integration.js +0 -2
  439. package/lib/mutations/posts.integration.js +0 -2
  440. package/lib/mutations/profiles.integration.js +0 -2
  441. package/lib/mutations/reactions.integration.js +0 -2
  442. package/lib/mutations/statistics.integration.js +0 -2
  443. package/lib/mutations/subscriptions.integration.js +0 -2
  444. package/lib/mutations/tags.integration.js +0 -2
  445. package/lib/mutations/users.integration.js +0 -2
  446. package/lib/queries/locations.integration.js +0 -2
  447. package/lib/queries/messages.integration.js +0 -2
  448. package/lib/queries/posts.integration.js +0 -2
  449. package/lib/queries/reactions.integration.js +0 -2
  450. package/lib/queries/tags.integration.js +0 -2
  451. package/lib/queries/users.integration.js +0 -2
@@ -1,10 +1,10 @@
1
- import{ApiGatewayManagementApi as R}from"@aws-sdk/client-apigatewaymanagementapi";import{createHash as N,parseId as u,parseString as p}from"@nlabs/utils";import{aql as d}from"arangojs";import{Config as g}from"../config";import{getUserByToken as y}from"./users";import{useDb as I}from"../utils/arangodbUtils";const S=async(r,t)=>{const n="addSocket",s=p(r,32),o=p(t);try{const e=process.env.ARANGODB_DATABASE,a=I(e),i=await y({config:g.get(),databaseName:e,session:null},o);if(!i)throw new Error("Unauthorized");const c={socketId:s,modified:Date.now()},l={...c,_key:N(`socket-${s}`),userId:i.userId},E=d`UPSERT {userId: ${i.userId}}
1
+ import{ApiGatewayManagementApi as N}from"@aws-sdk/client-apigatewaymanagementapi";import{createHash as T,parseId as u,parseString as p}from"@nlabs/utils/parsers/strings";import{aql as d}from"arangojs";import{Config as g}from"../config.js";import{useDb as I}from"../utils/arangodbUtils.js";import{getUserByToken as k}from"./users.js";import{ErrorTypes as E}from"../types/error.types.js";import{logError as R}from"../utils/analyticsUtils.js";const x=async(n,t)=>{const r="addSocket",s=p(n,32),o=p(t);try{const e=process.env.ARANGODB_DATABASE||"",a=I(e),i=await k({config:g.get(),databaseName:e},o);if(!i)throw new Error("Unauthorized");const c={socketId:s,modified:Date.now()},l={...c,_key:T(`socket-${s}`),userId:i.userId},y=d`UPSERT {userId: ${i.userId}}
2
2
  INSERT ${l}
3
3
  UPDATE ${c}
4
- IN sockets RETURN NEW`;return a.query(E).then(m=>m.next()).catch(m=>{throw m})}catch{throw new Error("Unauthorized")}},w=r=>{const t=u(r),n=process.env.ARANGODB_DATABASE,s=I(n),o=d`FOR s IN sockets
4
+ IN sockets RETURN NEW`;return a.query(y).then(m=>m.next()).catch(m=>{throw R({action:r,category:"websockets",value:E.DATABASE_ERROR},m,{})})}catch{throw new Error("Unauthorized")}},B=n=>{const t=u(n),r=process.env.ARANGODB_DATABASE||"",s=I(r),o=d`FOR s IN sockets
5
5
  FILTER s.userId == ${t}
6
6
  LIMIT 1
7
- RETURN s`;return s.query(o).then(e=>e.next()).catch(e=>{throw e})},O=r=>{const t=u(r),n=process.env.ARANGODB_DATABASE,s=I(n),o=d`FOR s IN sockets
7
+ RETURN s`;return s.query(o).then(e=>e.next()).catch(e=>{throw e})},$=n=>{const t=u(n),r=process.env.ARANGODB_DATABASE||"",s=I(r),o=d`FOR s IN sockets
8
8
  FILTER s.socketId == ${t}
9
9
  LET user = FIRST(
10
10
  FOR u IN users
@@ -13,7 +13,7 @@ import{ApiGatewayManagementApi as R}from"@aws-sdk/client-apigatewaymanagementapi
13
13
  RETURN u;
14
14
  )
15
15
  LIMIT 1
16
- RETURN MERGE(c, {user:user}`;return s.query(o).then(e=>e.next()).catch(e=>{throw e})},U=(r,t)=>{const{databaseName:n,session:{userId:s}}=r,o=`users/${u(s)}`,e=`conversations/${u(t)}`,a=I(n),i=d`FOR c, e IN 1..1 OUTBOUND ${o} hasConversation
16
+ RETURN MERGE(c, {user:user}`;return s.query(o).then(e=>e.next()).catch(e=>{throw e})},q=(n,t)=>{const{databaseName:r,session:{userId:s}={}}=n,o=`users/${u(s)}`,e=`conversations/${u(t)}`,a=I(r),i=d`FOR c, e IN 1..1 OUTBOUND ${o} hasConversation
17
17
  FILTER c._id == ${e}
18
18
  LIMIT 1
19
19
  LET u = (
@@ -22,9 +22,9 @@ import{ApiGatewayManagementApi as R}from"@aws-sdk/client-apigatewaymanagementapi
22
22
  FILTER inUser.sub == n.sub
23
23
  RETURN n.connectionId
24
24
  )
25
- RETURN u`;return a.query(i).then(c=>c.all()).catch(c=>{throw c})},k=r=>{const t="removeSocket",n=p(r,32),s=process.env.ARANGODB_DATABASE,o=I(s),e=d`FOR s IN sockets
26
- FILTER s.socketId == ${n}
25
+ RETURN u`;return a.query(i).then(c=>c.all()).catch(c=>{throw c})},A=n=>{const t="removeSocket",r=p(n,32),s=process.env.ARANGODB_DATABASE||"",o=I(s),e=d`FOR s IN sockets
26
+ FILTER s.socketId == ${r}
27
27
  LIMIT 1
28
28
  REMOVE s IN sockets
29
- RETURN OLD`;return o.query(e).then(a=>a.next()).catch(a=>{throw a})};class x{client;constructor(t){t&&this.setupClient(t||{})}async setupClient({requestContext:t}){if(!this.client&&t){const{apiId:n,domainName:s,stage:o}=t;let e=s;n&&(e=`${n}.execute-api.${process.env.API_REGION}.amazonaws.com`),this.client=new R({credentials:g.get("aws.credentials"),endpoint:`https://${e}/${o}`,region:g.get("aws.region")})}}async send(t,n){let s;if(t?.requestContext){await this.setupClient(t);const{socketId:o}=t.requestContext;s=o}else s=t;return await this.client.postToConnection({ConnectionId:s,Data:JSON.stringify(n)}).promise().catch(async o=>{o.statusCode===410&&await k(s)}),!0}}export{x as WebsocketClient,S as addSocket,U as getConnectionByConvo,O as getSocketById,w as getSocketByUser,k as removeSocket};
30
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FjdGlvbnMvd2Vic29ja2V0cy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTktUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cbmltcG9ydCB7QXBpR2F0ZXdheU1hbmFnZW1lbnRBcGl9IGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1hcGlnYXRld2F5bWFuYWdlbWVudGFwaSc7XG5pbXBvcnQge2NyZWF0ZUhhc2gsIHBhcnNlSWQsIHBhcnNlU3RyaW5nfSBmcm9tICdAbmxhYnMvdXRpbHMnO1xuaW1wb3J0IHthcWwsIERhdGFiYXNlfSBmcm9tICdhcmFuZ29qcyc7XG5pbXBvcnQge0FxbFF1ZXJ5fSBmcm9tICdhcmFuZ29qcy9hcWwnO1xuXG5pbXBvcnQge0NvbmZpZ30gZnJvbSAnLi4vY29uZmlnJztcbmltcG9ydCB7Z2V0VXNlckJ5VG9rZW59IGZyb20gJy4vdXNlcnMnO1xuaW1wb3J0IHtBcGlDb250ZXh0fSBmcm9tICcuLi90eXBlcy9hdXRoLnR5cGVzJztcbmltcG9ydCB7dXNlRGJ9IGZyb20gJy4uL3V0aWxzL2FyYW5nb2RiVXRpbHMnO1xuXG5pbXBvcnQgdHlwZSB7V2Vic29ja2V0Q29ubmVjdGlvbn0gZnJvbSAnLi4vdHlwZXMvd2Vic29ja2V0cy50eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBhZGRTb2NrZXQgPSBhc3luYyAoc29ja2V0SWQ6IHN0cmluZywgdG9rZW46IHN0cmluZyk6IFByb21pc2U8V2Vic29ja2V0Q29ubmVjdGlvbj4gPT4ge1xuICBjb25zdCBhY3Rpb246IHN0cmluZyA9ICdhZGRTb2NrZXQnO1xuICBjb25zdCBmb3JtYXRTb2NrZXRJZDogc3RyaW5nID0gcGFyc2VTdHJpbmcoc29ja2V0SWQsIDMyKTtcbiAgY29uc3QgZm9ybWF0VG9rZW46IHN0cmluZyA9IHBhcnNlU3RyaW5nKHRva2VuKTtcblxuICB0cnkge1xuICAgIGNvbnN0IGRhdGFiYXNlTmFtZTogc3RyaW5nID0gcHJvY2Vzcy5lbnYuQVJBTkdPREJfREFUQUJBU0U7XG4gICAgY29uc3QgZGF0YWJhc2U6IERhdGFiYXNlID0gdXNlRGIoZGF0YWJhc2VOYW1lKTtcbiAgICBjb25zdCB1c2VyID0gYXdhaXQgZ2V0VXNlckJ5VG9rZW4oe2NvbmZpZzogQ29uZmlnLmdldCgpLCBkYXRhYmFzZU5hbWUsIHNlc3Npb246IG51bGx9LCBmb3JtYXRUb2tlbik7XG5cbiAgICBpZighdXNlcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmF1dGhvcml6ZWQnKTtcbiAgICB9XG5cbiAgICBjb25zdCB1cGRhdGUgPSB7XG4gICAgICBzb2NrZXRJZDogZm9ybWF0U29ja2V0SWQsXG4gICAgICBtb2RpZmllZDogRGF0ZS5ub3coKVxuICAgIH07XG4gICAgY29uc3QgaW5zZXJ0ID0ge1xuICAgICAgLi4udXBkYXRlLFxuICAgICAgX2tleTogY3JlYXRlSGFzaChgc29ja2V0LSR7Zm9ybWF0U29ja2V0SWR9YCksXG4gICAgICB1c2VySWQ6IHVzZXIudXNlcklkXG4gICAgfTtcbiAgICBjb25zdCBhcWxRcnk6IEFxbFF1ZXJ5ID0gYXFsYFVQU0VSVCB7dXNlcklkOiAke3VzZXIudXNlcklkfX1cbiAgICAgIElOU0VSVCAke2luc2VydH1cbiAgICAgIFVQREFURSAke3VwZGF0ZX1cbiAgICAgIElOIHNvY2tldHMgUkVUVVJOIE5FV2A7XG5cbiAgICByZXR1cm4gZGF0YWJhc2UucXVlcnkoYXFsUXJ5KVxuICAgICAgLnRoZW4oKGN1cnNvcikgPT4gY3Vyc29yLm5leHQoKSlcbiAgICAgIC5jYXRjaCgoZXJyb3I6IEVycm9yKSA9PiB7XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgICAgfSk7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1VuYXV0aG9yaXplZCcpO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0U29ja2V0QnlVc2VyID0gKHVzZXJJZDogc3RyaW5nKTogUHJvbWlzZTxXZWJzb2NrZXRDb25uZWN0aW9uPiA9PiB7XG4gIGNvbnN0IGZvcm1hdFVzZXJJZDogc3RyaW5nID0gcGFyc2VJZCh1c2VySWQpO1xuICBjb25zdCBkYXRhYmFzZU5hbWU6IHN0cmluZyA9IHByb2Nlc3MuZW52LkFSQU5HT0RCX0RBVEFCQVNFO1xuICBjb25zdCBkYXRhYmFzZTogRGF0YWJhc2UgPSB1c2VEYihkYXRhYmFzZU5hbWUpO1xuICBjb25zdCBhcWxRcnkgPSBhcWxgRk9SIHMgSU4gc29ja2V0c1xuICAgIEZJTFRFUiBzLnVzZXJJZCA9PSAke2Zvcm1hdFVzZXJJZH1cbiAgICBMSU1JVCAxXG4gICAgUkVUVVJOIHNgO1xuXG4gIHJldHVybiBkYXRhYmFzZS5xdWVyeShhcWxRcnkpXG4gICAgLnRoZW4oKGN1cnNvcikgPT4gY3Vyc29yLm5leHQoKSlcbiAgICAuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4ge1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0U29ja2V0QnlJZCA9IChzb2NrZXRJZDogc3RyaW5nKTogUHJvbWlzZTxhbnk+ID0+IHtcbiAgY29uc3QgZm9ybWF0U29ja2V0SWQ6IHN0cmluZyA9IHBhcnNlSWQoc29ja2V0SWQpO1xuICBjb25zdCBkYXRhYmFzZU5hbWU6IHN0cmluZyA9IHByb2Nlc3MuZW52LkFSQU5HT0RCX0RBVEFCQVNFO1xuICBjb25zdCBkYXRhYmFzZTogRGF0YWJhc2UgPSB1c2VEYihkYXRhYmFzZU5hbWUpO1xuICBjb25zdCBhcWxRcnkgPSBhcWxgRk9SIHMgSU4gc29ja2V0c1xuICAgIEZJTFRFUiBzLnNvY2tldElkID09ICR7Zm9ybWF0U29ja2V0SWR9XG4gICAgTEVUIHVzZXIgPSBGSVJTVChcbiAgICAgIEZPUiB1IElOIHVzZXJzXG4gICAgICBGSUxURVIgdS5zdWIgPT0gcy5zdWJcbiAgICAgIExJTUlUIDFcbiAgICAgIFJFVFVSTiB1O1xuICAgIClcbiAgICBMSU1JVCAxXG4gICAgUkVUVVJOIE1FUkdFKGMsIHt1c2VyOnVzZXJ9YDtcblxuICByZXR1cm4gZGF0YWJhc2UucXVlcnkoYXFsUXJ5KVxuICAgIC50aGVuKChjdXJzb3IpID0+IGN1cnNvci5uZXh0KCkpXG4gICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IHtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldENvbm5lY3Rpb25CeUNvbnZvID0gKGNvbnRleHQ6IEFwaUNvbnRleHQsIGNvbnZvSWQ6IHN0cmluZyk6IFByb21pc2U8YW55PiA9PiB7XG4gIGNvbnN0IHtkYXRhYmFzZU5hbWUsIHNlc3Npb246IHt1c2VySWQ6IHNlc3Npb25JZH19ID0gY29udGV4dDtcbiAgY29uc3Qgc2Vzc2lvbkRvY0lkOiBzdHJpbmcgPSBgdXNlcnMvJHtwYXJzZUlkKHNlc3Npb25JZCl9YDtcbiAgY29uc3QgY29udm9Eb2NJZDogc3RyaW5nID0gYGNvbnZlcnNhdGlvbnMvJHtwYXJzZUlkKGNvbnZvSWQpfWA7XG4gIGNvbnN0IGRhdGFiYXNlOiBEYXRhYmFzZSA9IHVzZURiKGRhdGFiYXNlTmFtZSk7XG4gIGNvbnN0IGFxbFFyeSA9IGFxbGBGT1IgYywgZSBJTiAxLi4xIE9VVEJPVU5EICR7c2Vzc2lvbkRvY0lkfSBoYXNDb252ZXJzYXRpb25cbiAgRklMVEVSIGMuX2lkID09ICR7Y29udm9Eb2NJZH1cbiAgTElNSVQgMVxuICBMRVQgdSA9IChcbiAgICBGT1IgaW5Vc2VyLCBpbkVkZ2UgSU4gMS4uMSBJTkJPVU5EICR7Y29udm9Eb2NJZH0gaGFzQ29udmVyc2F0aW9uXG4gICAgRk9SIG4gSU4gY29ubmVjdGlvbnNcbiAgICBGSUxURVIgaW5Vc2VyLnN1YiA9PSBuLnN1YlxuICAgIFJFVFVSTiBuLmNvbm5lY3Rpb25JZFxuICApXG4gIFJFVFVSTiB1YDtcblxuICByZXR1cm4gZGF0YWJhc2UucXVlcnkoYXFsUXJ5KVxuICAgIC50aGVuKChjdXJzb3IpID0+IGN1cnNvci5hbGwoKSlcbiAgICAuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4ge1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgcmVtb3ZlU29ja2V0ID0gKHNvY2tldElkOiBzdHJpbmcpOiBQcm9taXNlPFdlYnNvY2tldENvbm5lY3Rpb24+ID0+IHtcbiAgY29uc3QgYWN0aW9uOiBzdHJpbmcgPSAncmVtb3ZlU29ja2V0JztcbiAgY29uc3QgZm9ybWF0U29ja2V0SWQ6IHN0cmluZyA9IHBhcnNlU3RyaW5nKHNvY2tldElkLCAzMik7XG4gIGNvbnN0IGRhdGFiYXNlTmFtZTogc3RyaW5nID0gcHJvY2Vzcy5lbnYuQVJBTkdPREJfREFUQUJBU0U7XG4gIGNvbnN0IGRhdGFiYXNlOiBEYXRhYmFzZSA9IHVzZURiKGRhdGFiYXNlTmFtZSk7XG4gIGNvbnN0IGFxbFFyeSA9IGFxbGBGT1IgcyBJTiBzb2NrZXRzXG4gICAgICBGSUxURVIgcy5zb2NrZXRJZCA9PSAke2Zvcm1hdFNvY2tldElkfVxuICAgICAgTElNSVQgMVxuICAgICAgUkVNT1ZFIHMgSU4gc29ja2V0c1xuICAgICAgUkVUVVJOIE9MRGA7XG5cbiAgcmV0dXJuIGRhdGFiYXNlLnF1ZXJ5KGFxbFFyeSlcbiAgICAudGhlbigoY3Vyc29yKSA9PiBjdXJzb3IubmV4dCgpKVxuICAgIC5jYXRjaCgoZXJyb3I6IEVycm9yKSA9PiB7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9KTtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgV2ViU29ja2V0Q2xpZW50Q29udGV4dCB7XG4gIHJlYWRvbmx5IHJlcXVlc3RDb250ZXh0Pzoge1xuICAgIHJlYWRvbmx5IGFwaUlkOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgZG9tYWluTmFtZTogc3RyaW5nO1xuICAgIHJlYWRvbmx5IHN0YWdlOiBzdHJpbmc7XG4gIH07XG59XG5leHBvcnQgY2xhc3MgV2Vic29ja2V0Q2xpZW50IHtcbiAgY2xpZW50O1xuXG4gIGNvbnN0cnVjdG9yKGNvbmZpZz8pIHtcbiAgICBpZihjb25maWcpIHtcbiAgICAgIHRoaXMuc2V0dXBDbGllbnQoY29uZmlnIHx8IHt9KTtcbiAgICB9XG4gIH1cblxuICAvLyBBbGxvdyBqdXN0IHBhc3NpbmcgYSBzaW5nbGUgZXZlbnQgdG8gc2V0dXAgdGhlIGNsaWVudCBmb3IgZWFzZSBvZiB1c2VcbiAgYXN5bmMgc2V0dXBDbGllbnQoe3JlcXVlc3RDb250ZXh0fTogV2ViU29ja2V0Q2xpZW50Q29udGV4dCkge1xuICAgIGlmKCF0aGlzLmNsaWVudCAmJiByZXF1ZXN0Q29udGV4dCkge1xuICAgICAgY29uc3Qge2FwaUlkLCBkb21haW5OYW1lLCBzdGFnZX0gPSByZXF1ZXN0Q29udGV4dDtcbiAgICAgIGxldCB1cGRhdGVkRG9tYWluTmFtZTogc3RyaW5nID0gZG9tYWluTmFtZTtcblxuICAgICAgaWYoYXBpSWQpIHtcbiAgICAgICAgdXBkYXRlZERvbWFpbk5hbWUgPSBgJHthcGlJZH0uZXhlY3V0ZS1hcGkuJHtwcm9jZXNzLmVudi5BUElfUkVHSU9OfS5hbWF6b25hd3MuY29tYDtcbiAgICAgIH1cblxuICAgICAgdGhpcy5jbGllbnQgPSBuZXcgQXBpR2F0ZXdheU1hbmFnZW1lbnRBcGkoe1xuICAgICAgICBjcmVkZW50aWFsczogQ29uZmlnLmdldCgnYXdzLmNyZWRlbnRpYWxzJyksXG4gICAgICAgIGVuZHBvaW50OiBgaHR0cHM6Ly8ke3VwZGF0ZWREb21haW5OYW1lfS8ke3N0YWdlfWAsXG4gICAgICAgIHJlZ2lvbjogQ29uZmlnLmdldCgnYXdzLnJlZ2lvbicpXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBzZW5kKGNvbm5lY3Rpb24sIHBheWxvYWQpIHtcbiAgICBjb25zb2xlLmxvZyhjb25uZWN0aW9uLCBwYXlsb2FkKTtcblxuICAgIC8vIENoZWF0IGFuZCBhbGxvdyBldmVudCB0byBiZSBwYXNzZWQgaW4gdGhpcyBhbHNvIGxldHMgdXMgZGVmYXVsdCB0byBzZXR1cENsaWVudCB0b29cbiAgICBsZXQgc29ja2V0SWQ7XG5cbiAgICBpZihjb25uZWN0aW9uPy5yZXF1ZXN0Q29udGV4dCkge1xuICAgICAgYXdhaXQgdGhpcy5zZXR1cENsaWVudChjb25uZWN0aW9uKTtcbiAgICAgIGNvbnN0IHtzb2NrZXRJZDogdXBkYXRlZFNvY2tldElkfSA9IGNvbm5lY3Rpb24ucmVxdWVzdENvbnRleHQ7XG4gICAgICBzb2NrZXRJZCA9IHVwZGF0ZWRTb2NrZXRJZDtcbiAgICB9IGVsc2Uge1xuICAgICAgc29ja2V0SWQgPSBjb25uZWN0aW9uO1xuICAgIH1cblxuICAgIGF3YWl0IHRoaXMuY2xpZW50LnBvc3RUb0Nvbm5lY3Rpb24oe0Nvbm5lY3Rpb25JZDogc29ja2V0SWQsIERhdGE6IEpTT04uc3RyaW5naWZ5KHBheWxvYWQpfSlcbiAgICAgIC5wcm9taXNlKClcbiAgICAgIC5jYXRjaChhc3luYyAocG9zdEVycm9yKSA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKEpTT04uc3RyaW5naWZ5KHBvc3RFcnJvcikpO1xuXG4gICAgICAgIGlmKHBvc3RFcnJvci5zdGF0dXNDb2RlID09PSA0MTApIHtcbiAgICAgICAgICAvLyBEaXNjb25uZWN0IGNsaWVudFxuICAgICAgICAgIGF3YWl0IHJlbW92ZVNvY2tldChzb2NrZXRJZCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICJBQUlBLE9BQVEsMkJBQUFBLE1BQThCLDBDQUN0QyxPQUFRLGNBQUFDLEVBQVksV0FBQUMsRUFBUyxlQUFBQyxNQUFrQixlQUMvQyxPQUFRLE9BQUFDLE1BQW9CLFdBRzVCLE9BQVEsVUFBQUMsTUFBYSxZQUNyQixPQUFRLGtCQUFBQyxNQUFxQixVQUU3QixPQUFRLFNBQUFDLE1BQVkseUJBSWIsTUFBTUMsRUFB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LENBQ1IsQ0FBQyxDQUNMLEVBU08sTUFBTVksQ0FBZ0IsQ0FDM0IsT0FFQSxZQUFZQyxFQUFTLENBQ2hCQSxHQUNELEtBQUssWUFBWUEsR0FBVSxDQUFDLENBQUMsQ0FFakMsQ0FHQSxNQUFNLFlBQVksQ0FBQyxlQUFBQyxDQUFjLEVBQTJCLENBQzFELEdBQUcsQ0FBQyxLQUFLLFFBQVVBLEVBQWdCLENBQ2pDLEtBQU0sQ0FBQyxNQUFBQyxFQUFPLFdBQUFDLEVBQVksTUFBQUMsQ0FBSyxFQUFJSCxFQUNuQyxJQUFJSSxFQUE0QkYsRUFFN0JELElBQ0RHLEVBQW9CLEdBQUdILENBQUssZ0JBQWdCLFFBQVEsSUFBSSxVQUFVLGtCQUdwRSxLQUFLLE9BQVMsSUFBSXBDLEVBQXdCLENBQ3hDLFlBQWFLLEVBQU8sSUFBSSxpQkFBaUIsRUFDekMsU0FBVSxXQUFXa0MsQ0FBaUIsSUFBSUQsQ0FBSyxHQUMvQyxPQUFRakMsRUFBTyxJQUFJLFlBQVksQ0FDakMsQ0FBQyxDQUNILENBQ0YsQ0FFQSxNQUFNLEtBQUttQyxFQUFZQyxFQUFTLENBSTlCLElBQUloQyxFQUVKLEdBQUcrQixHQUFZLGVBQWdCLENBQzdCLE1BQU0sS0FBSyxZQUFZQSxDQUFVLEVBQ2pDLEtBQU0sQ0FBQyxTQUFVRSxDQUFlLEVBQUlGLEVBQVcsZUFDL0MvQixFQUFXaUMsQ0FDYixNQUNFakMsRUFBVytCLEVBR2IsYUFBTSxLQUFLLE9BQU8saUJBQWlCLENBQUMsYUFBYy9CLEVBQVUsS0FBTSxLQUFLLFVBQVVnQyxDQUFPLENBQUMsQ0FBQyxFQUN2RixRQUFRLEVBQ1IsTUFBTSxNQUFPRSxHQUFjLENBR3ZCQSxFQUFVLGFBQWUsS0FFMUIsTUFBTVgsRUFBYXZCLENBQVEsQ0FFL0IsQ0FBQyxFQUVJLEVBQ1QsQ0FDRiIsCiAgIm5hbWVzIjogWyJBcGlHYXRld2F5TWFuYWdlbWVudEFwaSIsICJjcmVhdGVIYXNoIiwgInBhcnNlSWQiLCAicGFyc2VTdHJpbmciLCAiYXFsIiwgIkNvbmZpZyIsICJnZXRVc2VyQnlUb2tlbiIsICJ1c2VEYiIsICJhZGRTb2NrZXQiLCAic29ja2V0SWQiLCAidG9rZW4iLCAiYWN0aW9uIiwgImZvcm1hdFNvY2tldElkIiwgImZvcm1hdFRva2VuIiwgImRhdGFiYXNlTmFtZSIsICJkYXRhYmFzZSIsICJ1c2VyIiwgInVwZGF0ZSIsICJpbnNlcnQiLCAiYXFsUXJ5IiwgImN1cnNvciIsICJlcnJvciIsICJnZXRTb2NrZXRCeVVzZXIiLCAidXNlcklkIiwgImZvcm1hdFVzZXJJZCIsICJnZXRTb2NrZXRCeUlkIiwgImdldENvbm5lY3Rpb25CeUNvbnZvIiwgImNvbnRleHQiLCAiY29udm9JZCIsICJzZXNzaW9uSWQiLCAic2Vzc2lvbkRvY0lkIiwgImNvbnZvRG9jSWQiLCAicmVtb3ZlU29ja2V0IiwgIldlYnNvY2tldENsaWVudCIsICJjb25maWciLCAicmVxdWVzdENvbnRleHQiLCAiYXBpSWQiLCAiZG9tYWluTmFtZSIsICJzdGFnZSIsICJ1cGRhdGVkRG9tYWluTmFtZSIsICJjb25uZWN0aW9uIiwgInBheWxvYWQiLCAidXBkYXRlZFNvY2tldElkIiwgInBvc3RFcnJvciJdCn0K
29
+ RETURN OLD`;return o.query(e).then(a=>a.next()).catch(a=>{throw R({action:t,category:"websockets",value:E.DATABASE_ERROR},a,{})})};class v{client;constructor(t){t&&this.setupClient(t||{})}async setupClient({requestContext:t}){if(!this.client&&t){const{apiId:r,domainName:s,stage:o}=t;let e=s;r&&(e=`${r}.execute-api.${process.env.API_REGION}.amazonaws.com`),this.client=new N({credentials:g.get("aws.credentials"),endpoint:`https://${e}/${o}`,region:g.get("aws.region")})}}async send(t,r){let s;if(t?.requestContext){await this.setupClient(t);const{socketId:o}=t.requestContext;s=o}else s=t;return await this.client.postToConnection({ConnectionId:s,Data:JSON.stringify(r)}).promise().catch(async o=>{o.statusCode===410&&await A(s)}),!0}}export{v as WebsocketClient,x as addSocket,q as getConnectionByConvo,$ as getSocketById,B as getSocketByUser,A as removeSocket};
30
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FjdGlvbnMvd2Vic29ja2V0cy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTktUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cbmltcG9ydCB7QXBpR2F0ZXdheU1hbmFnZW1lbnRBcGl9IGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1hcGlnYXRld2F5bWFuYWdlbWVudGFwaSc7XG5pbXBvcnQge2NyZWF0ZUhhc2gsIHBhcnNlSWQsIHBhcnNlU3RyaW5nfSBmcm9tICdAbmxhYnMvdXRpbHMvcGFyc2Vycy9zdHJpbmdzJztcbmltcG9ydCB7YXFsLCBEYXRhYmFzZX0gZnJvbSAnYXJhbmdvanMnO1xuaW1wb3J0IHtBcWxRdWVyeX0gZnJvbSAnYXJhbmdvanMvYXFsJztcblxuaW1wb3J0IHtDb25maWd9IGZyb20gJy4uL2NvbmZpZy5qcyc7XG5pbXBvcnQge0FwaUNvbnRleHR9IGZyb20gJy4uL3R5cGVzL2F1dGgudHlwZXMuanMnO1xuaW1wb3J0IHt1c2VEYn0gZnJvbSAnLi4vdXRpbHMvYXJhbmdvZGJVdGlscy5qcyc7XG5pbXBvcnQge2dldFVzZXJCeVRva2VufSBmcm9tICcuL3VzZXJzLmpzJztcblxuaW1wb3J0IHtFcnJvclR5cGVzfSBmcm9tICcuLi90eXBlcy9lcnJvci50eXBlcy5qcyc7XG5pbXBvcnQgdHlwZSB7V2Vic29ja2V0Q29ubmVjdGlvbn0gZnJvbSAnLi4vdHlwZXMvd2Vic29ja2V0cy50eXBlcy5qcyc7XG5pbXBvcnQge2xvZ0Vycm9yfSBmcm9tICcuLi91dGlscy9hbmFseXRpY3NVdGlscy5qcyc7XG5cbmV4cG9ydCBjb25zdCBhZGRTb2NrZXQgPSBhc3luYyAoc29ja2V0SWQ6IHN0cmluZywgdG9rZW46IHN0cmluZyk6IFByb21pc2U8V2Vic29ja2V0Q29ubmVjdGlvbj4gPT4ge1xuICBjb25zdCBhY3Rpb246IHN0cmluZyA9ICdhZGRTb2NrZXQnO1xuICBjb25zdCBmb3JtYXRTb2NrZXRJZDogc3RyaW5nID0gcGFyc2VTdHJpbmcoc29ja2V0SWQsIDMyKTtcbiAgY29uc3QgZm9ybWF0VG9rZW46IHN0cmluZyA9IHBhcnNlU3RyaW5nKHRva2VuKTtcblxuICB0cnkge1xuICAgIGNvbnN0IGRhdGFiYXNlTmFtZTogc3RyaW5nID0gcHJvY2Vzcy5lbnYuQVJBTkdPREJfREFUQUJBU0UgfHwgJyc7XG4gICAgY29uc3QgZGF0YWJhc2U6IERhdGFiYXNlID0gdXNlRGIoZGF0YWJhc2VOYW1lKTtcbiAgICBjb25zdCB1c2VyID0gYXdhaXQgZ2V0VXNlckJ5VG9rZW4oe2NvbmZpZzogQ29uZmlnLmdldCgpLCBkYXRhYmFzZU5hbWV9LCBmb3JtYXRUb2tlbik7XG5cbiAgICBpZighdXNlcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmF1dGhvcml6ZWQnKTtcbiAgICB9XG5cbiAgICBjb25zdCB1cGRhdGUgPSB7XG4gICAgICBzb2NrZXRJZDogZm9ybWF0U29ja2V0SWQsXG4gICAgICBtb2RpZmllZDogRGF0ZS5ub3coKVxuICAgIH07XG4gICAgY29uc3QgaW5zZXJ0ID0ge1xuICAgICAgLi4udXBkYXRlLFxuICAgICAgX2tleTogY3JlYXRlSGFzaChgc29ja2V0LSR7Zm9ybWF0U29ja2V0SWR9YCksXG4gICAgICB1c2VySWQ6IHVzZXIudXNlcklkXG4gICAgfTtcbiAgICBjb25zdCBhcWxRcnk6IEFxbFF1ZXJ5ID0gYXFsYFVQU0VSVCB7dXNlcklkOiAke3VzZXIudXNlcklkfX1cbiAgICAgIElOU0VSVCAke2luc2VydH1cbiAgICAgIFVQREFURSAke3VwZGF0ZX1cbiAgICAgIElOIHNvY2tldHMgUkVUVVJOIE5FV2A7XG5cbiAgICByZXR1cm4gZGF0YWJhc2UucXVlcnkoYXFsUXJ5KVxuICAgICAgLnRoZW4oKGN1cnNvcikgPT4gY3Vyc29yLm5leHQoKSlcbiAgICAgIC5jYXRjaCgoZXJyb3I6IEVycm9yKSA9PiB7XG4gICAgICAgIHRocm93IGxvZ0Vycm9yKHtcbiAgICAgICAgICBhY3Rpb24sXG4gICAgICAgICAgY2F0ZWdvcnk6ICd3ZWJzb2NrZXRzJyxcbiAgICAgICAgICB2YWx1ZTogRXJyb3JUeXBlcy5EQVRBQkFTRV9FUlJPUlxuICAgICAgICB9LCBlcnJvciwge30pO1xuICAgICAgfSk7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1VuYXV0aG9yaXplZCcpO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0U29ja2V0QnlVc2VyID0gKHVzZXJJZDogc3RyaW5nKTogUHJvbWlzZTxXZWJzb2NrZXRDb25uZWN0aW9uPiA9PiB7XG4gIGNvbnN0IGZvcm1hdFVzZXJJZDogc3RyaW5nID0gcGFyc2VJZCh1c2VySWQpO1xuICBjb25zdCBkYXRhYmFzZU5hbWU6IHN0cmluZyA9IHByb2Nlc3MuZW52LkFSQU5HT0RCX0RBVEFCQVNFIHx8ICcnO1xuICBjb25zdCBkYXRhYmFzZTogRGF0YWJhc2UgPSB1c2VEYihkYXRhYmFzZU5hbWUpO1xuICBjb25zdCBhcWxRcnkgPSBhcWxgRk9SIHMgSU4gc29ja2V0c1xuICAgIEZJTFRFUiBzLnVzZXJJZCA9PSAke2Zvcm1hdFVzZXJJZH1cbiAgICBMSU1JVCAxXG4gICAgUkVUVVJOIHNgO1xuXG4gIHJldHVybiBkYXRhYmFzZS5xdWVyeShhcWxRcnkpXG4gICAgLnRoZW4oKGN1cnNvcikgPT4gY3Vyc29yLm5leHQoKSlcbiAgICAuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4ge1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0U29ja2V0QnlJZCA9IChzb2NrZXRJZDogc3RyaW5nKTogUHJvbWlzZTxhbnk+ID0+IHtcbiAgY29uc3QgZm9ybWF0U29ja2V0SWQ6IHN0cmluZyA9IHBhcnNlSWQoc29ja2V0SWQpO1xuICBjb25zdCBkYXRhYmFzZU5hbWU6IHN0cmluZyA9IHByb2Nlc3MuZW52LkFSQU5HT0RCX0RBVEFCQVNFIHx8ICcnO1xuICBjb25zdCBkYXRhYmFzZTogRGF0YWJhc2UgPSB1c2VEYihkYXRhYmFzZU5hbWUpO1xuICBjb25zdCBhcWxRcnkgPSBhcWxgRk9SIHMgSU4gc29ja2V0c1xuICAgIEZJTFRFUiBzLnNvY2tldElkID09ICR7Zm9ybWF0U29ja2V0SWR9XG4gICAgTEVUIHVzZXIgPSBGSVJTVChcbiAgICAgIEZPUiB1IElOIHVzZXJzXG4gICAgICBGSUxURVIgdS5zdWIgPT0gcy5zdWJcbiAgICAgIExJTUlUIDFcbiAgICAgIFJFVFVSTiB1O1xuICAgIClcbiAgICBMSU1JVCAxXG4gICAgUkVUVVJOIE1FUkdFKGMsIHt1c2VyOnVzZXJ9YDtcblxuICByZXR1cm4gZGF0YWJhc2UucXVlcnkoYXFsUXJ5KVxuICAgIC50aGVuKChjdXJzb3IpID0+IGN1cnNvci5uZXh0KCkpXG4gICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IHtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldENvbm5lY3Rpb25CeUNvbnZvID0gKGNvbnRleHQ6IEFwaUNvbnRleHQsIGNvbnZvSWQ6IHN0cmluZyk6IFByb21pc2U8YW55PiA9PiB7XG4gIGNvbnN0IHtkYXRhYmFzZU5hbWUsIHNlc3Npb246IHt1c2VySWQ6IHNlc3Npb25JZH0gPSB7fX0gPSBjb250ZXh0O1xuICBjb25zdCBzZXNzaW9uRG9jSWQ6IHN0cmluZyA9IGB1c2Vycy8ke3BhcnNlSWQoc2Vzc2lvbklkKX1gO1xuICBjb25zdCBjb252b0RvY0lkOiBzdHJpbmcgPSBgY29udmVyc2F0aW9ucy8ke3BhcnNlSWQoY29udm9JZCl9YDtcbiAgY29uc3QgZGF0YWJhc2U6IERhdGFiYXNlID0gdXNlRGIoZGF0YWJhc2VOYW1lKTtcbiAgY29uc3QgYXFsUXJ5ID0gYXFsYEZPUiBjLCBlIElOIDEuLjEgT1VUQk9VTkQgJHtzZXNzaW9uRG9jSWR9IGhhc0NvbnZlcnNhdGlvblxuICBGSUxURVIgYy5faWQgPT0gJHtjb252b0RvY0lkfVxuICBMSU1JVCAxXG4gIExFVCB1ID0gKFxuICAgIEZPUiBpblVzZXIsIGluRWRnZSBJTiAxLi4xIElOQk9VTkQgJHtjb252b0RvY0lkfSBoYXNDb252ZXJzYXRpb25cbiAgICBGT1IgbiBJTiBjb25uZWN0aW9uc1xuICAgIEZJTFRFUiBpblVzZXIuc3ViID09IG4uc3ViXG4gICAgUkVUVVJOIG4uY29ubmVjdGlvbklkXG4gIClcbiAgUkVUVVJOIHVgO1xuXG4gIHJldHVybiBkYXRhYmFzZS5xdWVyeShhcWxRcnkpXG4gICAgLnRoZW4oKGN1cnNvcikgPT4gY3Vyc29yLmFsbCgpKVxuICAgIC5jYXRjaCgoZXJyb3I6IEVycm9yKSA9PiB7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCByZW1vdmVTb2NrZXQgPSAoc29ja2V0SWQ6IHN0cmluZyk6IFByb21pc2U8V2Vic29ja2V0Q29ubmVjdGlvbj4gPT4ge1xuICBjb25zdCBhY3Rpb246IHN0cmluZyA9ICdyZW1vdmVTb2NrZXQnO1xuICBjb25zdCBmb3JtYXRTb2NrZXRJZDogc3RyaW5nID0gcGFyc2VTdHJpbmcoc29ja2V0SWQsIDMyKTtcbiAgY29uc3QgZGF0YWJhc2VOYW1lOiBzdHJpbmcgPSBwcm9jZXNzLmVudi5BUkFOR09EQl9EQVRBQkFTRSB8fCAnJztcbiAgY29uc3QgZGF0YWJhc2U6IERhdGFiYXNlID0gdXNlRGIoZGF0YWJhc2VOYW1lKTtcbiAgY29uc3QgYXFsUXJ5ID0gYXFsYEZPUiBzIElOIHNvY2tldHNcbiAgICAgIEZJTFRFUiBzLnNvY2tldElkID09ICR7Zm9ybWF0U29ja2V0SWR9XG4gICAgICBMSU1JVCAxXG4gICAgICBSRU1PVkUgcyBJTiBzb2NrZXRzXG4gICAgICBSRVRVUk4gT0xEYDtcblxuICByZXR1cm4gZGF0YWJhc2UucXVlcnkoYXFsUXJ5KVxuICAgIC50aGVuKChjdXJzb3IpID0+IGN1cnNvci5uZXh0KCkpXG4gICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IHtcbiAgICAgIHRocm93IGxvZ0Vycm9yKHtcbiAgICAgICAgYWN0aW9uLFxuICAgICAgICBjYXRlZ29yeTogJ3dlYnNvY2tldHMnLFxuICAgICAgICB2YWx1ZTogRXJyb3JUeXBlcy5EQVRBQkFTRV9FUlJPUlxuICAgICAgfSwgZXJyb3IsIHt9KTtcbiAgICB9KTtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgV2ViU29ja2V0Q2xpZW50Q29udGV4dCB7XG4gIHJlYWRvbmx5IHJlcXVlc3RDb250ZXh0Pzoge1xuICAgIHJlYWRvbmx5IGFwaUlkOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgZG9tYWluTmFtZTogc3RyaW5nO1xuICAgIHJlYWRvbmx5IHN0YWdlOiBzdHJpbmc7XG4gIH07XG59XG5leHBvcnQgY2xhc3MgV2Vic29ja2V0Q2xpZW50IHtcbiAgY2xpZW50O1xuXG4gIGNvbnN0cnVjdG9yKGNvbmZpZz8pIHtcbiAgICBpZihjb25maWcpIHtcbiAgICAgIHRoaXMuc2V0dXBDbGllbnQoY29uZmlnIHx8IHt9KTtcbiAgICB9XG4gIH1cblxuICAvLyBBbGxvdyBqdXN0IHBhc3NpbmcgYSBzaW5nbGUgZXZlbnQgdG8gc2V0dXAgdGhlIGNsaWVudCBmb3IgZWFzZSBvZiB1c2VcbiAgYXN5bmMgc2V0dXBDbGllbnQoe3JlcXVlc3RDb250ZXh0fTogV2ViU29ja2V0Q2xpZW50Q29udGV4dCkge1xuICAgIGlmKCF0aGlzLmNsaWVudCAmJiByZXF1ZXN0Q29udGV4dCkge1xuICAgICAgY29uc3Qge2FwaUlkLCBkb21haW5OYW1lLCBzdGFnZX0gPSByZXF1ZXN0Q29udGV4dDtcbiAgICAgIGxldCB1cGRhdGVkRG9tYWluTmFtZTogc3RyaW5nID0gZG9tYWluTmFtZTtcblxuICAgICAgaWYoYXBpSWQpIHtcbiAgICAgICAgdXBkYXRlZERvbWFpbk5hbWUgPSBgJHthcGlJZH0uZXhlY3V0ZS1hcGkuJHtwcm9jZXNzLmVudi5BUElfUkVHSU9OfS5hbWF6b25hd3MuY29tYDtcbiAgICAgIH1cblxuICAgICAgdGhpcy5jbGllbnQgPSBuZXcgQXBpR2F0ZXdheU1hbmFnZW1lbnRBcGkoe1xuICAgICAgICBjcmVkZW50aWFsczogQ29uZmlnLmdldCgnYXdzLmNyZWRlbnRpYWxzJyksXG4gICAgICAgIGVuZHBvaW50OiBgaHR0cHM6Ly8ke3VwZGF0ZWREb21haW5OYW1lfS8ke3N0YWdlfWAsXG4gICAgICAgIHJlZ2lvbjogQ29uZmlnLmdldCgnYXdzLnJlZ2lvbicpXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBzZW5kKGNvbm5lY3Rpb24sIHBheWxvYWQpIHtcbiAgICBjb25zb2xlLmxvZyhjb25uZWN0aW9uLCBwYXlsb2FkKTtcblxuICAgIC8vIENoZWF0IGFuZCBhbGxvdyBldmVudCB0byBiZSBwYXNzZWQgaW4gdGhpcyBhbHNvIGxldHMgdXMgZGVmYXVsdCB0byBzZXR1cENsaWVudCB0b29cbiAgICBsZXQgc29ja2V0SWQ7XG5cbiAgICBpZihjb25uZWN0aW9uPy5yZXF1ZXN0Q29udGV4dCkge1xuICAgICAgYXdhaXQgdGhpcy5zZXR1cENsaWVudChjb25uZWN0aW9uKTtcbiAgICAgIGNvbnN0IHtzb2NrZXRJZDogdXBkYXRlZFNvY2tldElkfSA9IGNvbm5lY3Rpb24ucmVxdWVzdENvbnRleHQ7XG4gICAgICBzb2NrZXRJZCA9IHVwZGF0ZWRTb2NrZXRJZDtcbiAgICB9IGVsc2Uge1xuICAgICAgc29ja2V0SWQgPSBjb25uZWN0aW9uO1xuICAgIH1cblxuICAgIGF3YWl0IHRoaXMuY2xpZW50LnBvc3RUb0Nvbm5lY3Rpb24oe0Nvbm5lY3Rpb25JZDogc29ja2V0SWQsIERhdGE6IEpTT04uc3RyaW5naWZ5KHBheWxvYWQpfSlcbiAgICAgIC5wcm9taXNlKClcbiAgICAgIC5jYXRjaChhc3luYyAocG9zdEVycm9yKSA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKEpTT04uc3RyaW5naWZ5KHBvc3RFcnJvcikpO1xuXG4gICAgICAgIGlmKHBvc3RFcnJvci5zdGF0dXNDb2RlID09PSA0MTApIHtcbiAgICAgICAgICAvLyBEaXNjb25uZWN0IGNsaWVudFxuICAgICAgICAgIGF3YWl0IHJlbW92ZVNvY2tldChzb2NrZXRJZCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICJBQUlBLE9BQVEsMkJBQUFBLE1BQThCLDBDQUN0QyxPQUFRLGNBQUFDLEVBQVksV0FBQUMsRUFBUyxlQUFBQyxNQUFrQiwrQkFDL0MsT0FBUSxPQUFBQyxNQUFvQixXQUc1QixPQUFRLFVBQUFDLE1BQWEsZUFFckIsT0FBUSxTQUFBQyxNQUFZLDRCQUNwQixPQUFRLGtCQUFBQyxNQUFxQixhQUU3QixPQUFRLGNBQUFDLE1BQWlCLDBCQUV6QixPQUFRLFlBQUFDLE1BQWUsNkJBRWhCLE1BQU1DLEVBQVksTUFBT0MsRUFBa0JDLElBQWdELENBQ2hHLE1BQU1DLEVBQWlCLFlBQ2pCQyxFQUF5QlgsRUFBWVEsRUFBVSxFQUFFLEVBQ2pESSxFQUFzQlosRUFBWVMsQ0FBSyxFQUU3QyxHQUFJLENBQ0YsTUFBTUksRUFBdUIsUUFBUSxJQUFJLG1CQUFxQixHQUN4REMsRUFBcUJYLEVBQU1VLENBQVksRUFDdkNFLEVBQU8sTUFBTVgsRUFBZSxDQUFDLE9BQVFGLEVBQU8sSUFBSSxFQUFHLGFBQUFXLENBQVksRUFBR0QsQ0FBVyxFQUVuRixHQUFHLENBQUNHLEVBQ0YsTUFBTSxJQUFJLE1BQU0sY0FBYyxFQUdoQyxNQUFNQyxFQUFTLENBQ2IsU0FBVUwsRUFDVixTQUFVLEtBQUssSUFBSSxDQUNyQixFQUNNTSxFQUFTLENBQ2IsR0FBR0QsRUFDSCxLQUFNbEIsRUFBVyxVQUFVYSxDQUFjLEVBQUUsRUFDM0MsT0FBUUksRUFBSyxNQUNmLEVBQ01HLEVBQW1CakIsb0JBQXNCYyxFQUFLLE1BQU07QUFBQSxlQUMvQ0UsQ0FBTTtBQUFBLGVBQ05ELENBQU07QUFBQSw2QkFHakIsT0FBT0YsRUFBUyxNQUFNSSxDQUFNLEVBQ3pCLEtBQU1DLEdBQVdBLEVBQU8sS0FBSyxDQUFDLEVBQzlCLE1BQU9DLEdBQWlCLENBQ3ZCLE1BQU1kLEVBQVMsQ0FDYixPQUFBSSxFQUNBLFNBQVUsYUFDVixNQUFPTCxFQUFXLGNBQ3BCLEVBQUdlLEVBQU8sQ0FBQyxDQUFDLENBQ2QsQ0FBQyxDQUNMLE1BQWUsQ0FDYixNQUFNLElBQUksTUFBTSxjQUFjLENBQ2hDLENBQ0YsRUFFYUMsRUFBbUJDLEdBQWlELENBQy9FLE1BQU1DLEVBQXVCeEIsRUFBUXVCLENBQU0sRUFDckNULEVBQXVCLFFBQVEsSUFBSSxtQkFBcUIsR0FDeERDLEVBQXFCWCxFQUFNVSxDQUFZLEVBQ3ZDSyxFQUFTakI7QUFBQSx5QkFDUXNCLENBQVk7QUFBQTtBQUFBLGNBSW5DLE9BQU9ULEVBQVMsTUFBTUksQ0FBTSxFQUN6QixLQUFNQyxHQUFXQSxFQUFPLEtBQUssQ0FBQyxFQUM5QixNQUFPQyxHQUFpQixDQUN2QixNQUFNQSxDQUNSLENBQUMsQ0FDTCxFQUVhSSxFQUFpQmhCLEdBQW1DLENBQy9ELE1BQU1HLEVBQXlCWixFQUFRUyxDQUFRLEVBQ3pDSyxFQUF1QixRQUFRLElBQUksbUJBQXFCLEdBQ3hEQyxFQUFxQlgsRUFBTVUsQ0FBWSxFQUN2Q0ssRUFBU2pCO0FBQUEsMkJBQ1VVLENBQWM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLGlDQVV2QyxPQUFPRyxFQUFTLE1BQU1JLENBQU0sRUFDekIsS0FBTUMsR0FBV0EsRUFBTyxLQUFLLENBQUMsRUFDOUIsTUFBT0MsR0FBaUIsQ0FDdkIsTUFBTUEsQ0FDUixDQUFDLENBQ0wsRUFFYUssRUFBdUIsQ0FBQ0MsRUFBcUJDLElBQWtDLENBQzFGLEtBQU0sQ0FBQyxhQUFBZCxFQUFjLFFBQVMsQ0FBQyxPQUFRZSxDQUFTLEVBQUksQ0FBQyxDQUFDLEVBQUlGLEVBQ3BERyxFQUF1QixTQUFTOUIsRUFBUTZCLENBQVMsQ0FBQyxHQUNsREUsRUFBcUIsaUJBQWlCL0IsRUFBUTRCLENBQU8sQ0FBQyxHQUN0RGIsRUFBcUJYLEVBQU1VLENBQVksRUFDdkNLLEVBQVNqQiw4QkFBZ0M0QixDQUFZO0FBQUEsb0JBQ3pDQyxDQUFVO0FBQUE7QUFBQTtBQUFBLHlDQUdXQSxDQUFVO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxZQU9qRCxPQUFPaEIsRUFBUyxNQUFNSSxDQUFNLEVBQ3pCLEtBQU1DLEdBQVdBLEVBQU8sSUFBSSxDQUFDLEVBQzdCLE1BQU9DLEdBQWlCLENBQ3ZCLE1BQU1BLENBQ1IsQ0FBQyxDQUNMLEVBRWFXLEVBQWdCdkIsR0FBbUQsQ0FDOUUsTUFBTUUsRUFBaUIsZUFDakJDLEVBQXlCWCxFQUFZUSxFQUFVLEVBQUUsRUFDakRLLEVBQXVCLFFBQVEsSUFBSSxtQkFBcUIsR0FDeERDLEVBQXFCWCxFQUFNVSxDQUFZLEVBQ3ZDSyxFQUFTakI7QUFBQSw2QkFDWVUsQ0FBYztBQUFBO0FBQUE7QUFBQSxrQkFLekMsT0FBT0csRUFBUyxNQUFNSSxDQUFNLEVBQ3pCLEtBQU1DLEdBQVdBLEVBQU8sS0FBSyxDQUFDLEVBQzlCLE1BQU9DLEdBQWlCLENBQ3ZCLE1BQU1kLEVBQVMsQ0FDYixPQUFBSSxFQUNBLFNBQVUsYUFDVixNQUFPTCxFQUFXLGNBQ3BCLEVBQUdlLEVBQU8sQ0FBQyxDQUFDLENBQ2QsQ0FBQyxDQUNMLEVBU08sTUFBTVksQ0FBZ0IsQ0FDM0IsT0FFQSxZQUFZQyxFQUFTLENBQ2hCQSxHQUNELEtBQUssWUFBWUEsR0FBVSxDQUFDLENBQUMsQ0FFakMsQ0FHQSxNQUFNLFlBQVksQ0FBQyxlQUFBQyxDQUFjLEVBQTJCLENBQzFELEdBQUcsQ0FBQyxLQUFLLFFBQVVBLEVBQWdCLENBQ2pDLEtBQU0sQ0FBQyxNQUFBQyxFQUFPLFdBQUFDLEVBQVksTUFBQUMsQ0FBSyxFQUFJSCxFQUNuQyxJQUFJSSxFQUE0QkYsRUFFN0JELElBQ0RHLEVBQW9CLEdBQUdILENBQUssZ0JBQWdCLFFBQVEsSUFBSSxVQUFVLGtCQUdwRSxLQUFLLE9BQVMsSUFBSXRDLEVBQXdCLENBQ3hDLFlBQWFLLEVBQU8sSUFBSSxpQkFBaUIsRUFDekMsU0FBVSxXQUFXb0MsQ0FBaUIsSUFBSUQsQ0FBSyxHQUMvQyxPQUFRbkMsRUFBTyxJQUFJLFlBQVksQ0FDakMsQ0FBQyxDQUNILENBQ0YsQ0FFQSxNQUFNLEtBQUtxQyxFQUFZQyxFQUFTLENBSTlCLElBQUloQyxFQUVKLEdBQUcrQixHQUFZLGVBQWdCLENBQzdCLE1BQU0sS0FBSyxZQUFZQSxDQUFVLEVBQ2pDLEtBQU0sQ0FBQyxTQUFVRSxDQUFlLEVBQUlGLEVBQVcsZUFDL0MvQixFQUFXaUMsQ0FDYixNQUNFakMsRUFBVytCLEVBR2IsYUFBTSxLQUFLLE9BQU8saUJBQWlCLENBQUMsYUFBYy9CLEVBQVUsS0FBTSxLQUFLLFVBQVVnQyxDQUFPLENBQUMsQ0FBQyxFQUN2RixRQUFRLEVBQ1IsTUFBTSxNQUFPRSxHQUFjLENBR3ZCQSxFQUFVLGFBQWUsS0FFMUIsTUFBTVgsRUFBYXZCLENBQVEsQ0FFL0IsQ0FBQyxFQUVJLEVBQ1QsQ0FDRiIsCiAgIm5hbWVzIjogWyJBcGlHYXRld2F5TWFuYWdlbWVudEFwaSIsICJjcmVhdGVIYXNoIiwgInBhcnNlSWQiLCAicGFyc2VTdHJpbmciLCAiYXFsIiwgIkNvbmZpZyIsICJ1c2VEYiIsICJnZXRVc2VyQnlUb2tlbiIsICJFcnJvclR5cGVzIiwgImxvZ0Vycm9yIiwgImFkZFNvY2tldCIsICJzb2NrZXRJZCIsICJ0b2tlbiIsICJhY3Rpb24iLCAiZm9ybWF0U29ja2V0SWQiLCAiZm9ybWF0VG9rZW4iLCAiZGF0YWJhc2VOYW1lIiwgImRhdGFiYXNlIiwgInVzZXIiLCAidXBkYXRlIiwgImluc2VydCIsICJhcWxRcnkiLCAiY3Vyc29yIiwgImVycm9yIiwgImdldFNvY2tldEJ5VXNlciIsICJ1c2VySWQiLCAiZm9ybWF0VXNlcklkIiwgImdldFNvY2tldEJ5SWQiLCAiZ2V0Q29ubmVjdGlvbkJ5Q29udm8iLCAiY29udGV4dCIsICJjb252b0lkIiwgInNlc3Npb25JZCIsICJzZXNzaW9uRG9jSWQiLCAiY29udm9Eb2NJZCIsICJyZW1vdmVTb2NrZXQiLCAiV2Vic29ja2V0Q2xpZW50IiwgImNvbmZpZyIsICJyZXF1ZXN0Q29udGV4dCIsICJhcGlJZCIsICJkb21haW5OYW1lIiwgInN0YWdlIiwgInVwZGF0ZWREb21haW5OYW1lIiwgImNvbm5lY3Rpb24iLCAicGF5bG9hZCIsICJ1cGRhdGVkU29ja2V0SWQiLCAicG9zdEVycm9yIl0KfQo=
@@ -0,0 +1,8 @@
1
+ import { DocumentType } from '../types/arangodb.types.js';
2
+ export declare class ArangoValidationError extends Error {
3
+ field?: string;
4
+ constructor(message: string, field?: string);
5
+ }
6
+ export declare const validateDocumentInput: (doc: unknown) => DocumentType;
7
+ export declare const formatDocumentOutput: (doc: DocumentType) => DocumentType;
8
+ export declare const parseDocument: (doc: DocumentType) => DocumentType;
@@ -1,2 +1,2 @@
1
- import{parseArangoId as d,parseId as m,parseNum as p}from"@nlabs/utils";import{z as r}from"zod";import{removeEmptyKeys as c}from"../utils/adapterUtils";class i extends Error{constructor(e,n){super(e);this.field=n;this.name="ArangoValidationError"}}const u=r.object({_from:r.string().optional(),_id:r.string().optional(),_key:r.string().optional(),_oldRev:r.string().optional(),_rev:r.string().optional(),_to:r.string().optional(),added:r.number().optional(),id:r.string().optional(),modified:r.number().optional()}).passthrough(),h=t=>{try{return u.parse(t)}catch(o){if(o instanceof r.ZodError){const e=o.errors.map(n=>`${n.path.join(".")}: ${n.message}`).join(", ");throw new i(`Document validation failed: ${e}`)}throw o}},T=t=>t,_=t=>{try{return f(t)}catch(o){throw o instanceof i?o:new i(`Document parsing failed: ${o instanceof Error?o.message:"Unknown error"}`)}},f=t=>{const{_id:o,_key:e,added:n,id:a,modified:s}=t;return c({...t,...o&&{_id:d(o)},...e&&{_key:m(e)},...n!==void 0&&{added:p(n,13)},...(o||a)&&{id:d(o||a)},...s!==void 0&&{modified:p(s,13)}})};export{i as ArangoValidationError,T as formatDocumentOutput,_ as parseDocument,h as validateDocumentInput};
2
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FkYXB0ZXJzL2FyYW5nb0FkYXB0ZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7cGFyc2VBcmFuZ29JZCwgcGFyc2VJZCwgcGFyc2VOdW19IGZyb20gJ0BubGFicy91dGlscyc7XG5pbXBvcnQge3p9IGZyb20gJ3pvZCc7XG5cbmltcG9ydCB7RG9jdW1lbnRUeXBlfSBmcm9tICcuLi90eXBlcy9hcmFuZ29kYi50eXBlcyc7XG5pbXBvcnQge3JlbW92ZUVtcHR5S2V5c30gZnJvbSAnLi4vdXRpbHMvYWRhcHRlclV0aWxzJztcblxuZXhwb3J0IGNsYXNzIEFyYW5nb1ZhbGlkYXRpb25FcnJvciBleHRlbmRzIEVycm9yIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nLCBwdWJsaWMgZmllbGQ/OiBzdHJpbmcpIHtcbiAgICBzdXBlcihtZXNzYWdlKTtcbiAgICB0aGlzLm5hbWUgPSAnQXJhbmdvVmFsaWRhdGlvbkVycm9yJztcbiAgfVxufVxuXG5jb25zdCBEb2N1bWVudElucHV0U2NoZW1hID0gei5vYmplY3Qoe1xuICBfZnJvbTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfaWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX2tleTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfb2xkUmV2OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9yZXY6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX3RvOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGFkZGVkOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIGlkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIG1vZGlmaWVkOiB6Lm51bWJlcigpLm9wdGlvbmFsKClcbn0pLnBhc3N0aHJvdWdoKCk7XG5cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZURvY3VtZW50SW5wdXQgPSAoZG9jOiB1bmtub3duKTogRG9jdW1lbnRUeXBlID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCB2YWxpZGF0ZWQgPSBEb2N1bWVudElucHV0U2NoZW1hLnBhcnNlKGRvYyk7XG4gICAgcmV0dXJuIHZhbGlkYXRlZCBhcyBEb2N1bWVudFR5cGU7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICBpZihlcnJvciBpbnN0YW5jZW9mIHouWm9kRXJyb3IpIHtcbiAgICAgIGNvbnN0IGZpZWxkRXJyb3JzID0gZXJyb3IuZXJyb3JzLm1hcCgoZSkgPT4gYCR7ZS5wYXRoLmpvaW4oJy4nKX06ICR7ZS5tZXNzYWdlfWApLmpvaW4oJywgJyk7XG4gICAgICB0aHJvdyBuZXcgQXJhbmdvVmFsaWRhdGlvbkVycm9yKGBEb2N1bWVudCB2YWxpZGF0aW9uIGZhaWxlZDogJHtmaWVsZEVycm9yc31gKTtcbiAgICB9XG4gICAgdGhyb3cgZXJyb3I7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBmb3JtYXREb2N1bWVudE91dHB1dCA9IChkb2M6IERvY3VtZW50VHlwZSk6IERvY3VtZW50VHlwZSA9PiBkb2M7XG5cbmV4cG9ydCBjb25zdCBwYXJzZURvY3VtZW50ID0gKGRvYzogRG9jdW1lbnRUeXBlKTogRG9jdW1lbnRUeXBlID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBwYXJzZWQgPSBwZXJmb3JtRG9jdW1lbnRUcmFuc2Zvcm1hdGlvbihkb2MpO1xuICAgIHJldHVybiBwYXJzZWQ7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICBpZihlcnJvciBpbnN0YW5jZW9mIEFyYW5nb1ZhbGlkYXRpb25FcnJvcikge1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICAgIHRocm93IG5ldyBBcmFuZ29WYWxpZGF0aW9uRXJyb3IoYERvY3VtZW50IHBhcnNpbmcgZmFpbGVkOiAke2Vycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ1Vua25vd24gZXJyb3InfWApO1xuICB9XG59O1xuXG5jb25zdCBwZXJmb3JtRG9jdW1lbnRUcmFuc2Zvcm1hdGlvbiA9IChkb2M6IERvY3VtZW50VHlwZSk6IERvY3VtZW50VHlwZSA9PiB7XG4gIGNvbnN0IHtcbiAgICBfaWQsXG4gICAgX2tleSxcbiAgICBhZGRlZCxcbiAgICBpZCxcbiAgICBtb2RpZmllZFxuICB9ID0gZG9jO1xuXG4gIGNvbnN0IHRyYW5zZm9ybWVkID0gcmVtb3ZlRW1wdHlLZXlzKHtcbiAgICAuLi5kb2MsXG4gICAgLi4uKF9pZCAmJiB7X2lkOiBwYXJzZUFyYW5nb0lkKF9pZCl9KSxcbiAgICAuLi4oX2tleSAmJiB7X2tleTogcGFyc2VJZChfa2V5KX0pLFxuICAgIC4uLihhZGRlZCAhPT0gdW5kZWZpbmVkICYmIHthZGRlZDogcGFyc2VOdW0oYWRkZWQsIDEzKX0pLFxuICAgIC4uLigoX2lkIHx8IGlkKSAmJiB7aWQ6IHBhcnNlQXJhbmdvSWQoX2lkIHx8IGlkKX0pLFxuICAgIC4uLihtb2RpZmllZCAhPT0gdW5kZWZpbmVkICYmIHttb2RpZmllZDogcGFyc2VOdW0obW9kaWZpZWQsIDEzKX0pXG4gIH0pO1xuXG4gIHJldHVybiB0cmFuc2Zvcm1lZDtcbn07Il0sCiAgIm1hcHBpbmdzIjogIkFBQUEsT0FBUSxpQkFBQUEsRUFBZSxXQUFBQyxFQUFTLFlBQUFDLE1BQWUsZUFDL0MsT0FBUSxLQUFBQyxNQUFRLE1BR2hCLE9BQVEsbUJBQUFDLE1BQXNCLHdCQUV2QixNQUFNQyxVQUE4QixLQUFNLENBQy9DLFlBQVlDLEVBQXdCQyxFQUFnQixDQUNsRCxNQUFNRCxDQUFPLEVBRHFCLFdBQUFDLEVBRWxDLEtBQUssS0FBTyx1QkFDZCxDQUNGLENBRUEsTUFBTUMsRUFBc0JMLEVBQUUsT0FBTyxDQUNuQyxNQUFPQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzNCLElBQUtBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDekIsS0FBTUEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUMxQixRQUFTQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzdCLEtBQU1BLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDMUIsSUFBS0EsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUN6QixNQUFPQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzNCLEdBQUlBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDeEIsU0FBVUEsRUFBRSxPQUFPLEVBQUUsU0FBUyxDQUNoQyxDQUFDLEVBQUUsWUFBWSxFQUVGTSxFQUF5QkMsR0FBK0IsQ0FDbkUsR0FBSSxDQUVGLE9BRGtCRixFQUFvQixNQUFNRSxDQUFHLENBRWpELE9BQVFDLEVBQU8sQ0FDYixHQUFHQSxhQUFpQlIsRUFBRSxTQUFVLENBQzlCLE1BQU1TLEVBQWNELEVBQU0sT0FBTyxJQUFLRSxHQUFNLEdBQUdBLEVBQUUsS0FBSyxLQUFLLEdBQUcsQ0FBQyxLQUFLQSxFQUFFLE9BQU8sRUFBRSxFQUFFLEtBQUssSUFBSSxFQUMxRixNQUFNLElBQUlSLEVBQXNCLCtCQUErQk8sQ0FBVyxFQUFFLENBQzlFLENBQ0EsTUFBTUQsQ0FDUixDQUNGLEVBRWFHLEVBQXdCSixHQUFvQ0EsRUFFNURLLEVBQWlCTCxHQUFvQyxDQUNoRSxHQUFJLENBRUYsT0FEZU0sRUFBOEJOLENBQUcsQ0FFbEQsT0FBUUMsRUFBTyxDQUNiLE1BQUdBLGFBQWlCTixFQUNaTSxFQUVGLElBQUlOLEVBQXNCLDRCQUE0Qk0sYUFBaUIsTUFBUUEsRUFBTSxRQUFVLGVBQWUsRUFBRSxDQUN4SCxDQUNGLEVBRU1LLEVBQWlDTixHQUFvQyxDQUN6RSxLQUFNLENBQ0osSUFBQU8sRUFDQSxLQUFBQyxFQUNBLE1BQUFDLEVBQ0EsR0FBQUMsRUFDQSxTQUFBQyxDQUNGLEVBQUlYLEVBV0osT0FUb0JOLEVBQWdCLENBQ2xDLEdBQUdNLEVBQ0gsR0FBSU8sR0FBTyxDQUFDLElBQUtqQixFQUFjaUIsQ0FBRyxDQUFDLEVBQ25DLEdBQUlDLEdBQVEsQ0FBQyxLQUFNakIsRUFBUWlCLENBQUksQ0FBQyxFQUNoQyxHQUFJQyxJQUFVLFFBQWEsQ0FBQyxNQUFPakIsRUFBU2lCLEVBQU8sRUFBRSxDQUFDLEVBQ3RELElBQUtGLEdBQU9HLElBQU8sQ0FBQyxHQUFJcEIsRUFBY2lCLEdBQU9HLENBQUUsQ0FBQyxFQUNoRCxHQUFJQyxJQUFhLFFBQWEsQ0FBQyxTQUFVbkIsRUFBU21CLEVBQVUsRUFBRSxDQUFDLENBQ2pFLENBQUMsQ0FHSCIsCiAgIm5hbWVzIjogWyJwYXJzZUFyYW5nb0lkIiwgInBhcnNlSWQiLCAicGFyc2VOdW0iLCAieiIsICJyZW1vdmVFbXB0eUtleXMiLCAiQXJhbmdvVmFsaWRhdGlvbkVycm9yIiwgIm1lc3NhZ2UiLCAiZmllbGQiLCAiRG9jdW1lbnRJbnB1dFNjaGVtYSIsICJ2YWxpZGF0ZURvY3VtZW50SW5wdXQiLCAiZG9jIiwgImVycm9yIiwgImZpZWxkRXJyb3JzIiwgImUiLCAiZm9ybWF0RG9jdW1lbnRPdXRwdXQiLCAicGFyc2VEb2N1bWVudCIsICJwZXJmb3JtRG9jdW1lbnRUcmFuc2Zvcm1hdGlvbiIsICJfaWQiLCAiX2tleSIsICJhZGRlZCIsICJpZCIsICJtb2RpZmllZCJdCn0K
1
+ import{parseNum as d}from"@nlabs/utils/parsers/numbers";import{parseArangoId as m,parseId as p}from"@nlabs/utils/parsers/strings";import{z as r}from"zod";import{removeEmptyKeys as c}from"../utils/adapterUtils.js";class i extends Error{constructor(e,n){super(e);this.field=n;this.name="ArangoValidationError"}}const u=r.object({_from:r.string().optional(),_id:r.string().optional(),_key:r.string().optional(),_oldRev:r.string().optional(),_rev:r.string().optional(),_to:r.string().optional(),added:r.number().optional(),id:r.string().optional(),modified:r.number().optional()}).passthrough(),T=t=>{try{return u.parse(t)}catch(o){if(o instanceof r.ZodError){const e=o.issues.map(n=>`${n.path.join(".")}: ${n.message}`).join(", ");throw new i(`Document validation failed: ${e}`)}throw o}},_=t=>t,w=t=>{try{return f(t)}catch(o){throw o instanceof i?o:new i(`Document parsing failed: ${o instanceof Error?o.message:"Unknown error"}`)}},f=t=>{const{_id:o,_key:e,added:n,id:a,modified:s}=t;return c({...t,...o&&{_id:m(o)},...e&&{_key:p(e)},...n!==void 0&&{added:d(n,13)},...(o||a)&&{id:m(o||a)},...s!==void 0&&{modified:d(s,13)}})};export{i as ArangoValidationError,_ as formatDocumentOutput,w as parseDocument,T as validateDocumentInput};
2
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FkYXB0ZXJzL2FyYW5nb0FkYXB0ZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7cGFyc2VOdW19IGZyb20gJ0BubGFicy91dGlscy9wYXJzZXJzL251bWJlcnMnO1xuaW1wb3J0IHtwYXJzZUFyYW5nb0lkLCBwYXJzZUlkfSBmcm9tICdAbmxhYnMvdXRpbHMvcGFyc2Vycy9zdHJpbmdzJztcbmltcG9ydCB7en0gZnJvbSAnem9kJztcblxuaW1wb3J0IHtEb2N1bWVudFR5cGV9IGZyb20gJy4uL3R5cGVzL2FyYW5nb2RiLnR5cGVzLmpzJztcbmltcG9ydCB7cmVtb3ZlRW1wdHlLZXlzfSBmcm9tICcuLi91dGlscy9hZGFwdGVyVXRpbHMuanMnO1xuXG5leHBvcnQgY2xhc3MgQXJhbmdvVmFsaWRhdGlvbkVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcsIHB1YmxpYyBmaWVsZD86IHN0cmluZykge1xuICAgIHN1cGVyKG1lc3NhZ2UpO1xuICAgIHRoaXMubmFtZSA9ICdBcmFuZ29WYWxpZGF0aW9uRXJyb3InO1xuICB9XG59XG5cbmNvbnN0IERvY3VtZW50SW5wdXRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIF9mcm9tOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9pZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfa2V5OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9vbGRSZXY6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX3Jldjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfdG86IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgYWRkZWQ6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgaWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgbW9kaWZpZWQ6IHoubnVtYmVyKCkub3B0aW9uYWwoKVxufSkucGFzc3Rocm91Z2goKTtcblxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlRG9jdW1lbnRJbnB1dCA9IChkb2M6IHVua25vd24pOiBEb2N1bWVudFR5cGUgPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IHZhbGlkYXRlZCA9IERvY3VtZW50SW5wdXRTY2hlbWEucGFyc2UoZG9jKTtcbiAgICByZXR1cm4gdmFsaWRhdGVkIGFzIERvY3VtZW50VHlwZTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIGlmKGVycm9yIGluc3RhbmNlb2Ygei5ab2RFcnJvcikge1xuICAgICAgY29uc3QgZmllbGRFcnJvcnMgPSBlcnJvci5pc3N1ZXMubWFwKChlKSA9PiBgJHtlLnBhdGguam9pbignLicpfTogJHtlLm1lc3NhZ2V9YCkuam9pbignLCAnKTtcbiAgICAgIHRocm93IG5ldyBBcmFuZ29WYWxpZGF0aW9uRXJyb3IoYERvY3VtZW50IHZhbGlkYXRpb24gZmFpbGVkOiAke2ZpZWxkRXJyb3JzfWApO1xuICAgIH1cbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGZvcm1hdERvY3VtZW50T3V0cHV0ID0gKGRvYzogRG9jdW1lbnRUeXBlKTogRG9jdW1lbnRUeXBlID0+IGRvYztcblxuZXhwb3J0IGNvbnN0IHBhcnNlRG9jdW1lbnQgPSAoZG9jOiBEb2N1bWVudFR5cGUpOiBEb2N1bWVudFR5cGUgPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IHBhcnNlZCA9IHBlcmZvcm1Eb2N1bWVudFRyYW5zZm9ybWF0aW9uKGRvYyk7XG4gICAgcmV0dXJuIHBhcnNlZDtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIGlmKGVycm9yIGluc3RhbmNlb2YgQXJhbmdvVmFsaWRhdGlvbkVycm9yKSB7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gICAgdGhyb3cgbmV3IEFyYW5nb1ZhbGlkYXRpb25FcnJvcihgRG9jdW1lbnQgcGFyc2luZyBmYWlsZWQ6ICR7ZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnVW5rbm93biBlcnJvcid9YCk7XG4gIH1cbn07XG5cbmNvbnN0IHBlcmZvcm1Eb2N1bWVudFRyYW5zZm9ybWF0aW9uID0gKGRvYzogRG9jdW1lbnRUeXBlKTogRG9jdW1lbnRUeXBlID0+IHtcbiAgY29uc3Qge1xuICAgIF9pZCxcbiAgICBfa2V5LFxuICAgIGFkZGVkLFxuICAgIGlkLFxuICAgIG1vZGlmaWVkXG4gIH0gPSBkb2M7XG5cbiAgY29uc3QgdHJhbnNmb3JtZWQgPSByZW1vdmVFbXB0eUtleXMoe1xuICAgIC4uLmRvYyxcbiAgICAuLi4oX2lkICYmIHtfaWQ6IHBhcnNlQXJhbmdvSWQoX2lkKX0pLFxuICAgIC4uLihfa2V5ICYmIHtfa2V5OiBwYXJzZUlkKF9rZXkpfSksXG4gICAgLi4uKGFkZGVkICE9PSB1bmRlZmluZWQgJiYge2FkZGVkOiBwYXJzZU51bShhZGRlZCwgMTMpfSksXG4gICAgLi4uKChfaWQgfHwgaWQpICYmIHtpZDogcGFyc2VBcmFuZ29JZChfaWQgfHwgaWQpfSksXG4gICAgLi4uKG1vZGlmaWVkICE9PSB1bmRlZmluZWQgJiYge21vZGlmaWVkOiBwYXJzZU51bShtb2RpZmllZCwgMTMpfSlcbiAgfSk7XG5cbiAgcmV0dXJuIHRyYW5zZm9ybWVkO1xufTsiXSwKICAibWFwcGluZ3MiOiAiQUFBQSxPQUFRLFlBQUFBLE1BQWUsK0JBQ3ZCLE9BQVEsaUJBQUFDLEVBQWUsV0FBQUMsTUFBYywrQkFDckMsT0FBUSxLQUFBQyxNQUFRLE1BR2hCLE9BQVEsbUJBQUFDLE1BQXNCLDJCQUV2QixNQUFNQyxVQUE4QixLQUFNLENBQy9DLFlBQVlDLEVBQXdCQyxFQUFnQixDQUNsRCxNQUFNRCxDQUFPLEVBRHFCLFdBQUFDLEVBRWxDLEtBQUssS0FBTyx1QkFDZCxDQUNGLENBRUEsTUFBTUMsRUFBc0JMLEVBQUUsT0FBTyxDQUNuQyxNQUFPQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzNCLElBQUtBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDekIsS0FBTUEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUMxQixRQUFTQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzdCLEtBQU1BLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDMUIsSUFBS0EsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUN6QixNQUFPQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzNCLEdBQUlBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDeEIsU0FBVUEsRUFBRSxPQUFPLEVBQUUsU0FBUyxDQUNoQyxDQUFDLEVBQUUsWUFBWSxFQUVGTSxFQUF5QkMsR0FBK0IsQ0FDbkUsR0FBSSxDQUVGLE9BRGtCRixFQUFvQixNQUFNRSxDQUFHLENBRWpELE9BQVFDLEVBQU8sQ0FDYixHQUFHQSxhQUFpQlIsRUFBRSxTQUFVLENBQzlCLE1BQU1TLEVBQWNELEVBQU0sT0FBTyxJQUFLRSxHQUFNLEdBQUdBLEVBQUUsS0FBSyxLQUFLLEdBQUcsQ0FBQyxLQUFLQSxFQUFFLE9BQU8sRUFBRSxFQUFFLEtBQUssSUFBSSxFQUMxRixNQUFNLElBQUlSLEVBQXNCLCtCQUErQk8sQ0FBVyxFQUFFLENBQzlFLENBQ0EsTUFBTUQsQ0FDUixDQUNGLEVBRWFHLEVBQXdCSixHQUFvQ0EsRUFFNURLLEVBQWlCTCxHQUFvQyxDQUNoRSxHQUFJLENBRUYsT0FEZU0sRUFBOEJOLENBQUcsQ0FFbEQsT0FBUUMsRUFBTyxDQUNiLE1BQUdBLGFBQWlCTixFQUNaTSxFQUVGLElBQUlOLEVBQXNCLDRCQUE0Qk0sYUFBaUIsTUFBUUEsRUFBTSxRQUFVLGVBQWUsRUFBRSxDQUN4SCxDQUNGLEVBRU1LLEVBQWlDTixHQUFvQyxDQUN6RSxLQUFNLENBQ0osSUFBQU8sRUFDQSxLQUFBQyxFQUNBLE1BQUFDLEVBQ0EsR0FBQUMsRUFDQSxTQUFBQyxDQUNGLEVBQUlYLEVBV0osT0FUb0JOLEVBQWdCLENBQ2xDLEdBQUdNLEVBQ0gsR0FBSU8sR0FBTyxDQUFDLElBQUtoQixFQUFjZ0IsQ0FBRyxDQUFDLEVBQ25DLEdBQUlDLEdBQVEsQ0FBQyxLQUFNaEIsRUFBUWdCLENBQUksQ0FBQyxFQUNoQyxHQUFJQyxJQUFVLFFBQWEsQ0FBQyxNQUFPbkIsRUFBU21CLEVBQU8sRUFBRSxDQUFDLEVBQ3RELElBQUtGLEdBQU9HLElBQU8sQ0FBQyxHQUFJbkIsRUFBY2dCLEdBQU9HLENBQUUsQ0FBQyxFQUNoRCxHQUFJQyxJQUFhLFFBQWEsQ0FBQyxTQUFVckIsRUFBU3FCLEVBQVUsRUFBRSxDQUFDLENBQ2pFLENBQUMsQ0FHSCIsCiAgIm5hbWVzIjogWyJwYXJzZU51bSIsICJwYXJzZUFyYW5nb0lkIiwgInBhcnNlSWQiLCAieiIsICJyZW1vdmVFbXB0eUtleXMiLCAiQXJhbmdvVmFsaWRhdGlvbkVycm9yIiwgIm1lc3NhZ2UiLCAiZmllbGQiLCAiRG9jdW1lbnRJbnB1dFNjaGVtYSIsICJ2YWxpZGF0ZURvY3VtZW50SW5wdXQiLCAiZG9jIiwgImVycm9yIiwgImZpZWxkRXJyb3JzIiwgImUiLCAiZm9ybWF0RG9jdW1lbnRPdXRwdXQiLCAicGFyc2VEb2N1bWVudCIsICJwZXJmb3JtRG9jdW1lbnRUcmFuc2Zvcm1hdGlvbiIsICJfaWQiLCAiX2tleSIsICJhZGRlZCIsICJpZCIsICJtb2RpZmllZCJdCn0K
@@ -0,0 +1,8 @@
1
+ import { ContentInputType, ContentType } from '../types/content.types.js';
2
+ export declare class ContentValidationError extends Error {
3
+ field?: string;
4
+ constructor(message: string, field?: string);
5
+ }
6
+ export declare const parseContent: (content: ContentType) => ContentType;
7
+ export declare const parseContentInput: (content: ContentInputType) => ContentInputType;
8
+ export declare const parseContentFromDb: (content: ContentType) => ContentType;
@@ -1,2 +1,2 @@
1
- import{parseArangoId as C,parseId as d,parseString as s}from"@nlabs/utils";import{z as t}from"zod";import{parseDocument as f}from"./arangoAdapter";import{removeEmptyKeys as b}from"../utils/adapterUtils";class l extends Error{constructor(n,r){super(n);this.field=r;this.name="ContentValidationError"}}const I=t.object({contentId:t.string().optional(),key:t.string().min(1,"Key is required").max(200,"Key must be less than 200 characters"),locale:t.enum(["en","es","fr","de","pt","it"],{errorMap:()=>({message:"Locale must be one of: en, es, fr, de, pt, it"})}),content:t.string().min(1,"Content is required").max(1e4,"Content must be less than 10000 characters"),description:t.string().max(500,"Description must be less than 500 characters").optional(),category:t.string().max(100,"Category must be less than 100 characters").optional(),isActive:t.boolean().optional(),userId:t.string().optional()}),T=t.object({contentId:t.string().optional(),key:t.string().min(1,"Key is required").max(200,"Key must be less than 200 characters"),locale:t.enum(["en","es","fr","de","pt","it"],{errorMap:()=>({message:"Locale must be one of: en, es, fr, de, pt, it"})}).optional(),content:t.string().min(1,"Content is required").max(1e4,"Content must be less than 10000 characters"),description:t.string().max(500,"Description must be less than 500 characters").optional(),category:t.string().max(100,"Category must be less than 100 characters").optional(),isActive:t.boolean().optional()}),K=o=>{try{return I.parse(o)}catch(e){if(e instanceof t.ZodError){const n=e.errors[0]?.path.join("."),r=e.errors[0]?.message||"Validation failed";throw new l(r,n)}throw e}},j=o=>{try{return T.parse(o)}catch(e){if(e instanceof t.ZodError){const n=e.errors[0]?.path.join("."),r=e.errors[0]?.message||"Validation failed";throw new l(r,n)}throw e}},x=o=>{const{_id:e,_key:n,contentId:r,id:a,key:u,locale:y,content:g,description:i,category:c,isActive:p,userId:m}=o,h={...f(o),...(n||r)&&{contentId:d(n||r)},...(e||a||n||r)&&{id:C(e||a||`content/${n||r}`)},key:s(u,200),locale:y,content:s(g,1e4),...i&&{description:s(i,500)},...c&&{category:s(c,100)},...p!==void 0&&{isActive:p},...m&&{userId:d(m)}};return b(h)},q=o=>x(o);export{l as ContentValidationError,K as parseContent,q as parseContentFromDb,j as parseContentInput};
2
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FkYXB0ZXJzL2NvbnRlbnRBZGFwdGVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAyNS1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHtwYXJzZUFyYW5nb0lkLCBwYXJzZUlkLCBwYXJzZVN0cmluZ30gZnJvbSAnQG5sYWJzL3V0aWxzJztcbmltcG9ydCB7en0gZnJvbSAnem9kJztcblxuaW1wb3J0IHtwYXJzZURvY3VtZW50fSBmcm9tICcuL2FyYW5nb0FkYXB0ZXInO1xuaW1wb3J0IHtDb250ZW50SW5wdXRUeXBlLCBDb250ZW50VHlwZX0gZnJvbSAnLi4vdHlwZXMvY29udGVudC50eXBlcyc7XG5pbXBvcnQge3JlbW92ZUVtcHR5S2V5c30gZnJvbSAnLi4vdXRpbHMvYWRhcHRlclV0aWxzJztcblxuZXhwb3J0IGNsYXNzIENvbnRlbnRWYWxpZGF0aW9uRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZywgcHVibGljIGZpZWxkPzogc3RyaW5nKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gICAgdGhpcy5uYW1lID0gJ0NvbnRlbnRWYWxpZGF0aW9uRXJyb3InO1xuICB9XG59XG5cbmNvbnN0IGNvbnRlbnRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIGNvbnRlbnRJZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBrZXk6IHouc3RyaW5nKCkubWluKDEsICdLZXkgaXMgcmVxdWlyZWQnKS5tYXgoMjAwLCAnS2V5IG11c3QgYmUgbGVzcyB0aGFuIDIwMCBjaGFyYWN0ZXJzJyksXG4gIGxvY2FsZTogei5lbnVtKFsnZW4nLCAnZXMnLCAnZnInLCAnZGUnLCAncHQnLCAnaXQnXSwge1xuICAgIGVycm9yTWFwOiAoKSA9PiAoe21lc3NhZ2U6ICdMb2NhbGUgbXVzdCBiZSBvbmUgb2Y6IGVuLCBlcywgZnIsIGRlLCBwdCwgaXQnfSlcbiAgfSksXG4gIGNvbnRlbnQ6IHouc3RyaW5nKCkubWluKDEsICdDb250ZW50IGlzIHJlcXVpcmVkJykubWF4KDEwMDAwLCAnQ29udGVudCBtdXN0IGJlIGxlc3MgdGhhbiAxMDAwMCBjaGFyYWN0ZXJzJyksXG4gIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLm1heCg1MDAsICdEZXNjcmlwdGlvbiBtdXN0IGJlIGxlc3MgdGhhbiA1MDAgY2hhcmFjdGVycycpLm9wdGlvbmFsKCksXG4gIGNhdGVnb3J5OiB6LnN0cmluZygpLm1heCgxMDAsICdDYXRlZ29yeSBtdXN0IGJlIGxlc3MgdGhhbiAxMDAgY2hhcmFjdGVycycpLm9wdGlvbmFsKCksXG4gIGlzQWN0aXZlOiB6LmJvb2xlYW4oKS5vcHRpb25hbCgpLFxuICB1c2VySWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKVxufSk7XG5cbmNvbnN0IGNvbnRlbnRJbnB1dFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgY29udGVudElkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGtleTogei5zdHJpbmcoKS5taW4oMSwgJ0tleSBpcyByZXF1aXJlZCcpLm1heCgyMDAsICdLZXkgbXVzdCBiZSBsZXNzIHRoYW4gMjAwIGNoYXJhY3RlcnMnKSxcbiAgbG9jYWxlOiB6LmVudW0oWydlbicsICdlcycsICdmcicsICdkZScsICdwdCcsICdpdCddLCB7XG4gICAgZXJyb3JNYXA6ICgpID0+ICh7bWVzc2FnZTogJ0xvY2FsZSBtdXN0IGJlIG9uZSBvZjogZW4sIGVzLCBmciwgZGUsIHB0LCBpdCd9KVxuICB9KS5vcHRpb25hbCgpLFxuICBjb250ZW50OiB6LnN0cmluZygpLm1pbigxLCAnQ29udGVudCBpcyByZXF1aXJlZCcpLm1heCgxMDAwMCwgJ0NvbnRlbnQgbXVzdCBiZSBsZXNzIHRoYW4gMTAwMDAgY2hhcmFjdGVycycpLFxuICBkZXNjcmlwdGlvbjogei5zdHJpbmcoKS5tYXgoNTAwLCAnRGVzY3JpcHRpb24gbXVzdCBiZSBsZXNzIHRoYW4gNTAwIGNoYXJhY3RlcnMnKS5vcHRpb25hbCgpLFxuICBjYXRlZ29yeTogei5zdHJpbmcoKS5tYXgoMTAwLCAnQ2F0ZWdvcnkgbXVzdCBiZSBsZXNzIHRoYW4gMTAwIGNoYXJhY3RlcnMnKS5vcHRpb25hbCgpLFxuICBpc0FjdGl2ZTogei5ib29sZWFuKCkub3B0aW9uYWwoKVxufSk7XG5cbmV4cG9ydCBjb25zdCBwYXJzZUNvbnRlbnQgPSAoY29udGVudDogQ29udGVudFR5cGUpOiBDb250ZW50VHlwZSA9PiB7XG4gIHRyeSB7XG4gICAgY29uc3QgdmFsaWRhdGVkID0gY29udGVudFNjaGVtYS5wYXJzZShjb250ZW50KTtcbiAgICByZXR1cm4gdmFsaWRhdGVkIGFzIENvbnRlbnRUeXBlO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgaWYoZXJyb3IgaW5zdGFuY2VvZiB6LlpvZEVycm9yKSB7XG4gICAgICBjb25zdCBmaWVsZCA9IGVycm9yLmVycm9yc1swXT8ucGF0aC5qb2luKCcuJyk7XG4gICAgICBjb25zdCBtZXNzYWdlID0gZXJyb3IuZXJyb3JzWzBdPy5tZXNzYWdlIHx8ICdWYWxpZGF0aW9uIGZhaWxlZCc7XG4gICAgICB0aHJvdyBuZXcgQ29udGVudFZhbGlkYXRpb25FcnJvcihtZXNzYWdlLCBmaWVsZCk7XG4gICAgfVxuICAgIHRocm93IGVycm9yO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgcGFyc2VDb250ZW50SW5wdXQgPSAoY29udGVudDogQ29udGVudElucHV0VHlwZSk6IENvbnRlbnRJbnB1dFR5cGUgPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IHZhbGlkYXRlZCA9IGNvbnRlbnRJbnB1dFNjaGVtYS5wYXJzZShjb250ZW50KTtcbiAgICByZXR1cm4gdmFsaWRhdGVkIGFzIENvbnRlbnRJbnB1dFR5cGU7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICBpZihlcnJvciBpbnN0YW5jZW9mIHouWm9kRXJyb3IpIHtcbiAgICAgIGNvbnN0IGZpZWxkID0gZXJyb3IuZXJyb3JzWzBdPy5wYXRoLmpvaW4oJy4nKTtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBlcnJvci5lcnJvcnNbMF0/Lm1lc3NhZ2UgfHwgJ1ZhbGlkYXRpb24gZmFpbGVkJztcbiAgICAgIHRocm93IG5ldyBDb250ZW50VmFsaWRhdGlvbkVycm9yKG1lc3NhZ2UsIGZpZWxkKTtcbiAgICB9XG4gICAgdGhyb3cgZXJyb3I7XG4gIH1cbn07XG5cbmNvbnN0IHBlcmZvcm1Db250ZW50VHJhbnNmb3JtYXRpb24gPSAoY29udGVudDogQ29udGVudFR5cGUpOiBDb250ZW50VHlwZSA9PiB7XG4gIGNvbnN0IHtcbiAgICBfaWQsXG4gICAgX2tleSxcbiAgICBjb250ZW50SWQsXG4gICAgaWQsXG4gICAga2V5LFxuICAgIGxvY2FsZSxcbiAgICBjb250ZW50OiBjb250ZW50VGV4dCxcbiAgICBkZXNjcmlwdGlvbixcbiAgICBjYXRlZ29yeSxcbiAgICBpc0FjdGl2ZSxcbiAgICB1c2VySWRcbiAgfSA9IGNvbnRlbnQ7XG5cbiAgY29uc3QgdHJhbnNmb3JtZWQgPSB7XG4gICAgLi4ucGFyc2VEb2N1bWVudChjb250ZW50KSxcbiAgICAuLi4oKF9rZXkgfHwgY29udGVudElkKSAmJiB7Y29udGVudElkOiBwYXJzZUlkKF9rZXkgfHwgY29udGVudElkKX0pLFxuICAgIC4uLigoX2lkIHx8IGlkIHx8IF9rZXkgfHwgY29udGVudElkKSAmJiB7aWQ6IHBhcnNlQXJhbmdvSWQoX2lkIHx8IGlkIHx8IGBjb250ZW50LyR7X2tleSB8fCBjb250ZW50SWR9YCl9KSxcbiAgICBrZXk6IHBhcnNlU3RyaW5nKGtleSwgMjAwKSxcbiAgICBsb2NhbGUsXG4gICAgY29udGVudDogcGFyc2VTdHJpbmcoY29udGVudFRleHQsIDEwMDAwKSxcbiAgICAuLi4oZGVzY3JpcHRpb24gJiYge2Rlc2NyaXB0aW9uOiBwYXJzZVN0cmluZyhkZXNjcmlwdGlvbiwgNTAwKX0pLFxuICAgIC4uLihjYXRlZ29yeSAmJiB7Y2F0ZWdvcnk6IHBhcnNlU3RyaW5nKGNhdGVnb3J5LCAxMDApfSksXG4gICAgLi4uKGlzQWN0aXZlICE9PSB1bmRlZmluZWQgJiYge2lzQWN0aXZlfSksXG4gICAgLi4uKHVzZXJJZCAmJiB7dXNlcklkOiBwYXJzZUlkKHVzZXJJZCl9KVxuICB9O1xuXG4gIHJldHVybiByZW1vdmVFbXB0eUtleXModHJhbnNmb3JtZWQpIGFzIENvbnRlbnRUeXBlO1xufTtcblxuZXhwb3J0IGNvbnN0IHBhcnNlQ29udGVudEZyb21EYiA9IChjb250ZW50OiBDb250ZW50VHlwZSk6IENvbnRlbnRUeXBlID0+IHBlcmZvcm1Db250ZW50VHJhbnNmb3JtYXRpb24oY29udGVudCk7Il0sCiAgIm1hcHBpbmdzIjogIkFBSUEsT0FBUSxpQkFBQUEsRUFBZSxXQUFBQyxFQUFTLGVBQUFDLE1BQWtCLGVBQ2xELE9BQVEsS0FBQUMsTUFBUSxNQUVoQixPQUFRLGlCQUFBQyxNQUFvQixrQkFFNUIsT0FBUSxtQkFBQUMsTUFBc0Isd0JBRXZCLE1BQU1DLFVBQStCLEtBQU0sQ0FDaEQsWUFBWUMsRUFBd0JDLEVBQWdCLENBQ2xELE1BQU1ELENBQU8sRUFEcUIsV0FBQUMsRUFFbEMsS0FBSyxLQUFPLHdCQUNkLENBQ0YsQ0FFQSxNQUFNQyxFQUFnQk4sRUFBRSxPQUFPLENBQzdCLFVBQVdBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDL0IsSUFBS0EsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFHLGlCQUFpQixFQUFFLElBQUksSUFBSyxzQ0FBc0MsRUFDekYsT0FBUUEsRUFBRSxLQUFLLENBQUMsS0FBTSxLQUFNLEtBQU0sS0FBTSxLQUFNLElBQUksRUFBRyxDQUNuRCxTQUFVLEtBQU8sQ0FBQyxRQUFTLCtDQUErQyxFQUM1RSxDQUFDLEVBQ0QsUUFBU0EsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFHLHFCQUFxQixFQUFFLElBQUksSUFBTyw0Q0FBNEMsRUFDekcsWUFBYUEsRUFBRSxPQUFPLEVBQUUsSUFBSSxJQUFLLDhDQUE4QyxFQUFFLFNBQVMsRUFDMUYsU0FBVUEsRUFBRSxPQUFPLEVBQUUsSUFBSSxJQUFLLDJDQUEyQyxFQUFFLFNBQVMsRUFDcEYsU0FBVUEsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUMvQixPQUFRQSxFQUFFLE9BQU8sRUFBRSxTQUFTLENBQzlCLENBQUMsRUFFS08sRUFBcUJQLEVBQUUsT0FBTyxDQUNsQyxVQUFXQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQy9CLElBQUtBLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRyxpQkFBaUIsRUFBRSxJQUFJLElBQUssc0NBQXNDLEVBQ3pGLE9BQVFBLEVBQUUsS0FBSyxDQUFDLEtBQU0sS0FBTSxLQUFNLEtBQU0sS0FBTSxJQUFJLEVBQUcsQ0FDbkQsU0FBVSxLQUFPLENBQUMsUUFBUywrQ0FBK0MsRUFDNUUsQ0FBQyxFQUFFLFNBQVMsRUFDWixRQUFTQSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUcscUJBQXFCLEVBQUUsSUFBSSxJQUFPLDRDQUE0QyxFQUN6RyxZQUFhQSxFQUFFLE9BQU8sRUFBRSxJQUFJLElBQUssOENBQThDLEVBQUUsU0FBUyxFQUMxRixTQUFVQSxFQUFFLE9BQU8sRUFBRSxJQUFJLElBQUssMkNBQTJDLEVBQUUsU0FBUyxFQUNwRixTQUFVQSxFQUFFLFFBQVEsRUFBRSxTQUFTLENBQ2pDLENBQUMsRUFFWVEsRUFBZ0JDLEdBQXNDLENBQ2pFLEdBQUksQ0FFRixPQURrQkgsRUFBYyxNQUFNRyxDQUFPLENBRS9DLE9BQVFDLEVBQU8sQ0FDYixHQUFHQSxhQUFpQlYsRUFBRSxTQUFVLENBQzlCLE1BQU1LLEVBQVFLLEVBQU0sT0FBTyxDQUFDLEdBQUcsS0FBSyxLQUFLLEdBQUcsRUFDdENOLEVBQVVNLEVBQU0sT0FBTyxDQUFDLEdBQUcsU0FBVyxvQkFDNUMsTUFBTSxJQUFJUCxFQUF1QkMsRUFBU0MsQ0FBSyxDQUNqRCxDQUNBLE1BQU1LLENBQ1IsQ0FDRixFQUVhQyxFQUFxQkYsR0FBZ0QsQ0FDaEYsR0FBSSxDQUVGLE9BRGtCRixFQUFtQixNQUFNRSxDQUFPLENBRXBELE9BQVFDLEVBQU8sQ0FDYixHQUFHQSxhQUFpQlYsRUFBRSxTQUFVLENBQzlCLE1BQU1LLEVBQVFLLEVBQU0sT0FBTyxDQUFDLEdBQUcsS0FBSyxLQUFLLEdBQUcsRUFDdENOLEVBQVVNLEVBQU0sT0FBTyxDQUFDLEdBQUcsU0FBVyxvQkFDNUMsTUFBTSxJQUFJUCxFQUF1QkMsRUFBU0MsQ0FBSyxDQUNqRCxDQUNBLE1BQU1LLENBQ1IsQ0FDRixFQUVNRSxFQUFnQ0gsR0FBc0MsQ0FDMUUsS0FBTSxDQUNKLElBQUFJLEVBQ0EsS0FBQUMsRUFDQSxVQUFBQyxFQUNBLEdBQUFDLEVBQ0EsSUFBQUMsRUFDQSxPQUFBQyxFQUNBLFFBQVNDLEVBQ1QsWUFBQUMsRUFDQSxTQUFBQyxFQUNBLFNBQUFDLEVBQ0EsT0FBQUMsQ0FDRixFQUFJZCxFQUVFZSxFQUFjLENBQ2xCLEdBQUd2QixFQUFjUSxDQUFPLEVBQ3hCLElBQUtLLEdBQVFDLElBQWMsQ0FBQyxVQUFXakIsRUFBUWdCLEdBQVFDLENBQVMsQ0FBQyxFQUNqRSxJQUFLRixHQUFPRyxHQUFNRixHQUFRQyxJQUFjLENBQUMsR0FBSWxCLEVBQWNnQixHQUFPRyxHQUFNLFdBQVdGLEdBQVFDLENBQVMsRUFBRSxDQUFDLEVBQ3ZHLElBQUtoQixFQUFZa0IsRUFBSyxHQUFHLEVBQ3pCLE9BQUFDLEVBQ0EsUUFBU25CLEVBQVlvQixFQUFhLEdBQUssRUFDdkMsR0FBSUMsR0FBZSxDQUFDLFlBQWFyQixFQUFZcUIsRUFBYSxHQUFHLENBQUMsRUFDOUQsR0FBSUMsR0FBWSxDQUFDLFNBQVV0QixFQUFZc0IsRUFBVSxHQUFHLENBQUMsRUFDckQsR0FBSUMsSUFBYSxRQUFhLENBQUMsU0FBQUEsQ0FBUSxFQUN2QyxHQUFJQyxHQUFVLENBQUMsT0FBUXpCLEVBQVF5QixDQUFNLENBQUMsQ0FDeEMsRUFFQSxPQUFPckIsRUFBZ0JzQixDQUFXLENBQ3BDLEVBRWFDLEVBQXNCaEIsR0FBc0NHLEVBQTZCSCxDQUFPIiwKICAibmFtZXMiOiBbInBhcnNlQXJhbmdvSWQiLCAicGFyc2VJZCIsICJwYXJzZVN0cmluZyIsICJ6IiwgInBhcnNlRG9jdW1lbnQiLCAicmVtb3ZlRW1wdHlLZXlzIiwgIkNvbnRlbnRWYWxpZGF0aW9uRXJyb3IiLCAibWVzc2FnZSIsICJmaWVsZCIsICJjb250ZW50U2NoZW1hIiwgImNvbnRlbnRJbnB1dFNjaGVtYSIsICJwYXJzZUNvbnRlbnQiLCAiY29udGVudCIsICJlcnJvciIsICJwYXJzZUNvbnRlbnRJbnB1dCIsICJwZXJmb3JtQ29udGVudFRyYW5zZm9ybWF0aW9uIiwgIl9pZCIsICJfa2V5IiwgImNvbnRlbnRJZCIsICJpZCIsICJrZXkiLCAibG9jYWxlIiwgImNvbnRlbnRUZXh0IiwgImRlc2NyaXB0aW9uIiwgImNhdGVnb3J5IiwgImlzQWN0aXZlIiwgInVzZXJJZCIsICJ0cmFuc2Zvcm1lZCIsICJwYXJzZUNvbnRlbnRGcm9tRGIiXQp9Cg==
1
+ import{parseArangoId as C,parseId as d,parseString as r}from"@nlabs/utils/parsers/strings";import{z as t}from"zod";import{removeEmptyKeys as f}from"../utils/adapterUtils.js";import{parseDocument as b}from"./arangoAdapter.js";class l extends Error{constructor(n,s){super(n);this.field=s;this.name="ContentValidationError"}}const I=t.object({contentId:t.string().optional(),key:t.string().min(1,"Key is required").max(200,"Key must be less than 200 characters"),locale:t.enum(["en","es","fr","de","pt","it"],{message:"Locale must be one of: en, es, fr, de, pt, it"}),content:t.string().min(1,"Content is required").max(1e4,"Content must be less than 10000 characters"),description:t.string().max(500,"Description must be less than 500 characters").optional(),category:t.string().max(100,"Category must be less than 100 characters").optional(),isActive:t.boolean().optional(),userId:t.string().optional()}),T=t.object({contentId:t.string().optional(),key:t.string().min(1,"Key is required").max(200,"Key must be less than 200 characters"),locale:t.enum(["en","es","fr","de","pt","it"],{message:"Locale must be one of: en, es, fr, de, pt, it"}).optional(),content:t.string().min(1,"Content is required").max(1e4,"Content must be less than 10000 characters"),description:t.string().max(500,"Description must be less than 500 characters").optional(),category:t.string().max(100,"Category must be less than 100 characters").optional(),isActive:t.boolean().optional()}),K=o=>{try{return I.parse(o)}catch(e){if(e instanceof t.ZodError){const n=e.issues[0]?.path.join("."),s=e.issues[0]?.message||"Validation failed";throw new l(s,n)}throw e}},j=o=>{try{return T.parse(o)}catch(e){if(e instanceof t.ZodError){const n=e.issues[0]?.path.join("."),s=e.issues[0]?.message||"Validation failed";throw new l(s,n)}throw e}},x=o=>{const{_id:e,_key:n,contentId:s,id:a,key:u,locale:y,content:g,description:i,category:c,isActive:p,userId:m}=o,h={...b(o),...(n||s)&&{contentId:d(n||s)},...(e||a||n||s)&&{id:C(e||a||`content/${n||s}`)},key:r(u,200),locale:y,content:r(g,1e4),...i&&{description:r(i,500)},...c&&{category:r(c,100)},...p!==void 0&&{isActive:p},...m&&{userId:d(m)}};return f(h)},q=o=>x(o);export{l as ContentValidationError,K as parseContent,q as parseContentFromDb,j as parseContentInput};
2
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FkYXB0ZXJzL2NvbnRlbnRBZGFwdGVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAyNS1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHtwYXJzZUFyYW5nb0lkLCBwYXJzZUlkLCBwYXJzZVN0cmluZ30gZnJvbSAnQG5sYWJzL3V0aWxzL3BhcnNlcnMvc3RyaW5ncyc7XG5pbXBvcnQge3p9IGZyb20gJ3pvZCc7XG5cbmltcG9ydCB7Q29udGVudElucHV0VHlwZSwgQ29udGVudFR5cGV9IGZyb20gJy4uL3R5cGVzL2NvbnRlbnQudHlwZXMuanMnO1xuaW1wb3J0IHtyZW1vdmVFbXB0eUtleXN9IGZyb20gJy4uL3V0aWxzL2FkYXB0ZXJVdGlscy5qcyc7XG5pbXBvcnQge3BhcnNlRG9jdW1lbnR9IGZyb20gJy4vYXJhbmdvQWRhcHRlci5qcyc7XG5cbmV4cG9ydCBjbGFzcyBDb250ZW50VmFsaWRhdGlvbkVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcsIHB1YmxpYyBmaWVsZD86IHN0cmluZykge1xuICAgIHN1cGVyKG1lc3NhZ2UpO1xuICAgIHRoaXMubmFtZSA9ICdDb250ZW50VmFsaWRhdGlvbkVycm9yJztcbiAgfVxufVxuXG5jb25zdCBjb250ZW50U2NoZW1hID0gei5vYmplY3Qoe1xuICBjb250ZW50SWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAga2V5OiB6LnN0cmluZygpLm1pbigxLCAnS2V5IGlzIHJlcXVpcmVkJykubWF4KDIwMCwgJ0tleSBtdXN0IGJlIGxlc3MgdGhhbiAyMDAgY2hhcmFjdGVycycpLFxuICBsb2NhbGU6IHouZW51bShbJ2VuJywgJ2VzJywgJ2ZyJywgJ2RlJywgJ3B0JywgJ2l0J10sIHtcbiAgICBtZXNzYWdlOiAnTG9jYWxlIG11c3QgYmUgb25lIG9mOiBlbiwgZXMsIGZyLCBkZSwgcHQsIGl0J1xuICB9KSxcbiAgY29udGVudDogei5zdHJpbmcoKS5taW4oMSwgJ0NvbnRlbnQgaXMgcmVxdWlyZWQnKS5tYXgoMTAwMDAsICdDb250ZW50IG11c3QgYmUgbGVzcyB0aGFuIDEwMDAwIGNoYXJhY3RlcnMnKSxcbiAgZGVzY3JpcHRpb246IHouc3RyaW5nKCkubWF4KDUwMCwgJ0Rlc2NyaXB0aW9uIG11c3QgYmUgbGVzcyB0aGFuIDUwMCBjaGFyYWN0ZXJzJykub3B0aW9uYWwoKSxcbiAgY2F0ZWdvcnk6IHouc3RyaW5nKCkubWF4KDEwMCwgJ0NhdGVnb3J5IG11c3QgYmUgbGVzcyB0aGFuIDEwMCBjaGFyYWN0ZXJzJykub3B0aW9uYWwoKSxcbiAgaXNBY3RpdmU6IHouYm9vbGVhbigpLm9wdGlvbmFsKCksXG4gIHVzZXJJZDogei5zdHJpbmcoKS5vcHRpb25hbCgpXG59KTtcblxuY29uc3QgY29udGVudElucHV0U2NoZW1hID0gei5vYmplY3Qoe1xuICBjb250ZW50SWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAga2V5OiB6LnN0cmluZygpLm1pbigxLCAnS2V5IGlzIHJlcXVpcmVkJykubWF4KDIwMCwgJ0tleSBtdXN0IGJlIGxlc3MgdGhhbiAyMDAgY2hhcmFjdGVycycpLFxuICBsb2NhbGU6IHouZW51bShbJ2VuJywgJ2VzJywgJ2ZyJywgJ2RlJywgJ3B0JywgJ2l0J10sIHtcbiAgICBtZXNzYWdlOiAnTG9jYWxlIG11c3QgYmUgb25lIG9mOiBlbiwgZXMsIGZyLCBkZSwgcHQsIGl0J1xuICB9KS5vcHRpb25hbCgpLFxuICBjb250ZW50OiB6LnN0cmluZygpLm1pbigxLCAnQ29udGVudCBpcyByZXF1aXJlZCcpLm1heCgxMDAwMCwgJ0NvbnRlbnQgbXVzdCBiZSBsZXNzIHRoYW4gMTAwMDAgY2hhcmFjdGVycycpLFxuICBkZXNjcmlwdGlvbjogei5zdHJpbmcoKS5tYXgoNTAwLCAnRGVzY3JpcHRpb24gbXVzdCBiZSBsZXNzIHRoYW4gNTAwIGNoYXJhY3RlcnMnKS5vcHRpb25hbCgpLFxuICBjYXRlZ29yeTogei5zdHJpbmcoKS5tYXgoMTAwLCAnQ2F0ZWdvcnkgbXVzdCBiZSBsZXNzIHRoYW4gMTAwIGNoYXJhY3RlcnMnKS5vcHRpb25hbCgpLFxuICBpc0FjdGl2ZTogei5ib29sZWFuKCkub3B0aW9uYWwoKVxufSk7XG5cbmV4cG9ydCBjb25zdCBwYXJzZUNvbnRlbnQgPSAoY29udGVudDogQ29udGVudFR5cGUpOiBDb250ZW50VHlwZSA9PiB7XG4gIHRyeSB7XG4gICAgY29uc3QgdmFsaWRhdGVkID0gY29udGVudFNjaGVtYS5wYXJzZShjb250ZW50KTtcbiAgICByZXR1cm4gdmFsaWRhdGVkIGFzIENvbnRlbnRUeXBlO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgaWYoZXJyb3IgaW5zdGFuY2VvZiB6LlpvZEVycm9yKSB7XG4gICAgICBjb25zdCBmaWVsZCA9IGVycm9yLmlzc3Vlc1swXT8ucGF0aC5qb2luKCcuJyk7XG4gICAgICBjb25zdCBtZXNzYWdlID0gZXJyb3IuaXNzdWVzWzBdPy5tZXNzYWdlIHx8ICdWYWxpZGF0aW9uIGZhaWxlZCc7XG4gICAgICB0aHJvdyBuZXcgQ29udGVudFZhbGlkYXRpb25FcnJvcihtZXNzYWdlLCBmaWVsZCk7XG4gICAgfVxuICAgIHRocm93IGVycm9yO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgcGFyc2VDb250ZW50SW5wdXQgPSAoY29udGVudDogQ29udGVudElucHV0VHlwZSk6IENvbnRlbnRJbnB1dFR5cGUgPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IHZhbGlkYXRlZCA9IGNvbnRlbnRJbnB1dFNjaGVtYS5wYXJzZShjb250ZW50KTtcbiAgICByZXR1cm4gdmFsaWRhdGVkIGFzIENvbnRlbnRJbnB1dFR5cGU7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICBpZihlcnJvciBpbnN0YW5jZW9mIHouWm9kRXJyb3IpIHtcbiAgICAgIGNvbnN0IGZpZWxkID0gZXJyb3IuaXNzdWVzWzBdPy5wYXRoLmpvaW4oJy4nKTtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBlcnJvci5pc3N1ZXNbMF0/Lm1lc3NhZ2UgfHwgJ1ZhbGlkYXRpb24gZmFpbGVkJztcbiAgICAgIHRocm93IG5ldyBDb250ZW50VmFsaWRhdGlvbkVycm9yKG1lc3NhZ2UsIGZpZWxkKTtcbiAgICB9XG4gICAgdGhyb3cgZXJyb3I7XG4gIH1cbn07XG5cbmNvbnN0IHBlcmZvcm1Db250ZW50VHJhbnNmb3JtYXRpb24gPSAoY29udGVudDogQ29udGVudFR5cGUpOiBDb250ZW50VHlwZSA9PiB7XG4gIGNvbnN0IHtcbiAgICBfaWQsXG4gICAgX2tleSxcbiAgICBjb250ZW50SWQsXG4gICAgaWQsXG4gICAga2V5LFxuICAgIGxvY2FsZSxcbiAgICBjb250ZW50OiBjb250ZW50VGV4dCxcbiAgICBkZXNjcmlwdGlvbixcbiAgICBjYXRlZ29yeSxcbiAgICBpc0FjdGl2ZSxcbiAgICB1c2VySWRcbiAgfSA9IGNvbnRlbnQ7XG5cbiAgY29uc3QgdHJhbnNmb3JtZWQgPSB7XG4gICAgLi4ucGFyc2VEb2N1bWVudChjb250ZW50KSxcbiAgICAuLi4oKF9rZXkgfHwgY29udGVudElkKSAmJiB7Y29udGVudElkOiBwYXJzZUlkKF9rZXkgfHwgY29udGVudElkKX0pLFxuICAgIC4uLigoX2lkIHx8IGlkIHx8IF9rZXkgfHwgY29udGVudElkKSAmJiB7aWQ6IHBhcnNlQXJhbmdvSWQoX2lkIHx8IGlkIHx8IGBjb250ZW50LyR7X2tleSB8fCBjb250ZW50SWR9YCl9KSxcbiAgICBrZXk6IHBhcnNlU3RyaW5nKGtleSwgMjAwKSxcbiAgICBsb2NhbGUsXG4gICAgY29udGVudDogcGFyc2VTdHJpbmcoY29udGVudFRleHQsIDEwMDAwKSxcbiAgICAuLi4oZGVzY3JpcHRpb24gJiYge2Rlc2NyaXB0aW9uOiBwYXJzZVN0cmluZyhkZXNjcmlwdGlvbiwgNTAwKX0pLFxuICAgIC4uLihjYXRlZ29yeSAmJiB7Y2F0ZWdvcnk6IHBhcnNlU3RyaW5nKGNhdGVnb3J5LCAxMDApfSksXG4gICAgLi4uKGlzQWN0aXZlICE9PSB1bmRlZmluZWQgJiYge2lzQWN0aXZlfSksXG4gICAgLi4uKHVzZXJJZCAmJiB7dXNlcklkOiBwYXJzZUlkKHVzZXJJZCl9KVxuICB9O1xuXG4gIHJldHVybiByZW1vdmVFbXB0eUtleXModHJhbnNmb3JtZWQpIGFzIENvbnRlbnRUeXBlO1xufTtcblxuZXhwb3J0IGNvbnN0IHBhcnNlQ29udGVudEZyb21EYiA9IChjb250ZW50OiBDb250ZW50VHlwZSk6IENvbnRlbnRUeXBlID0+IHBlcmZvcm1Db250ZW50VHJhbnNmb3JtYXRpb24oY29udGVudCk7Il0sCiAgIm1hcHBpbmdzIjogIkFBSUEsT0FBUSxpQkFBQUEsRUFBZSxXQUFBQyxFQUFTLGVBQUFDLE1BQWtCLCtCQUNsRCxPQUFRLEtBQUFDLE1BQVEsTUFHaEIsT0FBUSxtQkFBQUMsTUFBc0IsMkJBQzlCLE9BQVEsaUJBQUFDLE1BQW9CLHFCQUVyQixNQUFNQyxVQUErQixLQUFNLENBQ2hELFlBQVlDLEVBQXdCQyxFQUFnQixDQUNsRCxNQUFNRCxDQUFPLEVBRHFCLFdBQUFDLEVBRWxDLEtBQUssS0FBTyx3QkFDZCxDQUNGLENBRUEsTUFBTUMsRUFBZ0JOLEVBQUUsT0FBTyxDQUM3QixVQUFXQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQy9CLElBQUtBLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRyxpQkFBaUIsRUFBRSxJQUFJLElBQUssc0NBQXNDLEVBQ3pGLE9BQVFBLEVBQUUsS0FBSyxDQUFDLEtBQU0sS0FBTSxLQUFNLEtBQU0sS0FBTSxJQUFJLEVBQUcsQ0FDbkQsUUFBUywrQ0FDWCxDQUFDLEVBQ0QsUUFBU0EsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFHLHFCQUFxQixFQUFFLElBQUksSUFBTyw0Q0FBNEMsRUFDekcsWUFBYUEsRUFBRSxPQUFPLEVBQUUsSUFBSSxJQUFLLDhDQUE4QyxFQUFFLFNBQVMsRUFDMUYsU0FBVUEsRUFBRSxPQUFPLEVBQUUsSUFBSSxJQUFLLDJDQUEyQyxFQUFFLFNBQVMsRUFDcEYsU0FBVUEsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUMvQixPQUFRQSxFQUFFLE9BQU8sRUFBRSxTQUFTLENBQzlCLENBQUMsRUFFS08sRUFBcUJQLEVBQUUsT0FBTyxDQUNsQyxVQUFXQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQy9CLElBQUtBLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRyxpQkFBaUIsRUFBRSxJQUFJLElBQUssc0NBQXNDLEVBQ3pGLE9BQVFBLEVBQUUsS0FBSyxDQUFDLEtBQU0sS0FBTSxLQUFNLEtBQU0sS0FBTSxJQUFJLEVBQUcsQ0FDbkQsUUFBUywrQ0FDWCxDQUFDLEVBQUUsU0FBUyxFQUNaLFFBQVNBLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRyxxQkFBcUIsRUFBRSxJQUFJLElBQU8sNENBQTRDLEVBQ3pHLFlBQWFBLEVBQUUsT0FBTyxFQUFFLElBQUksSUFBSyw4Q0FBOEMsRUFBRSxTQUFTLEVBQzFGLFNBQVVBLEVBQUUsT0FBTyxFQUFFLElBQUksSUFBSywyQ0FBMkMsRUFBRSxTQUFTLEVBQ3BGLFNBQVVBLEVBQUUsUUFBUSxFQUFFLFNBQVMsQ0FDakMsQ0FBQyxFQUVZUSxFQUFnQkMsR0FBc0MsQ0FDakUsR0FBSSxDQUVGLE9BRGtCSCxFQUFjLE1BQU1HLENBQU8sQ0FFL0MsT0FBUUMsRUFBTyxDQUNiLEdBQUdBLGFBQWlCVixFQUFFLFNBQVUsQ0FDOUIsTUFBTUssRUFBUUssRUFBTSxPQUFPLENBQUMsR0FBRyxLQUFLLEtBQUssR0FBRyxFQUN0Q04sRUFBVU0sRUFBTSxPQUFPLENBQUMsR0FBRyxTQUFXLG9CQUM1QyxNQUFNLElBQUlQLEVBQXVCQyxFQUFTQyxDQUFLLENBQ2pELENBQ0EsTUFBTUssQ0FDUixDQUNGLEVBRWFDLEVBQXFCRixHQUFnRCxDQUNoRixHQUFJLENBRUYsT0FEa0JGLEVBQW1CLE1BQU1FLENBQU8sQ0FFcEQsT0FBUUMsRUFBTyxDQUNiLEdBQUdBLGFBQWlCVixFQUFFLFNBQVUsQ0FDOUIsTUFBTUssRUFBUUssRUFBTSxPQUFPLENBQUMsR0FBRyxLQUFLLEtBQUssR0FBRyxFQUN0Q04sRUFBVU0sRUFBTSxPQUFPLENBQUMsR0FBRyxTQUFXLG9CQUM1QyxNQUFNLElBQUlQLEVBQXVCQyxFQUFTQyxDQUFLLENBQ2pELENBQ0EsTUFBTUssQ0FDUixDQUNGLEVBRU1FLEVBQWdDSCxHQUFzQyxDQUMxRSxLQUFNLENBQ0osSUFBQUksRUFDQSxLQUFBQyxFQUNBLFVBQUFDLEVBQ0EsR0FBQUMsRUFDQSxJQUFBQyxFQUNBLE9BQUFDLEVBQ0EsUUFBU0MsRUFDVCxZQUFBQyxFQUNBLFNBQUFDLEVBQ0EsU0FBQUMsRUFDQSxPQUFBQyxDQUNGLEVBQUlkLEVBRUVlLEVBQWMsQ0FDbEIsR0FBR3RCLEVBQWNPLENBQU8sRUFDeEIsSUFBS0ssR0FBUUMsSUFBYyxDQUFDLFVBQVdqQixFQUFRZ0IsR0FBUUMsQ0FBUyxDQUFDLEVBQ2pFLElBQUtGLEdBQU9HLEdBQU1GLEdBQVFDLElBQWMsQ0FBQyxHQUFJbEIsRUFBY2dCLEdBQU9HLEdBQU0sV0FBV0YsR0FBUUMsQ0FBUyxFQUFFLENBQUMsRUFDdkcsSUFBS2hCLEVBQVlrQixFQUFLLEdBQUcsRUFDekIsT0FBQUMsRUFDQSxRQUFTbkIsRUFBWW9CLEVBQWEsR0FBSyxFQUN2QyxHQUFJQyxHQUFlLENBQUMsWUFBYXJCLEVBQVlxQixFQUFhLEdBQUcsQ0FBQyxFQUM5RCxHQUFJQyxHQUFZLENBQUMsU0FBVXRCLEVBQVlzQixFQUFVLEdBQUcsQ0FBQyxFQUNyRCxHQUFJQyxJQUFhLFFBQWEsQ0FBQyxTQUFBQSxDQUFRLEVBQ3ZDLEdBQUlDLEdBQVUsQ0FBQyxPQUFRekIsRUFBUXlCLENBQU0sQ0FBQyxDQUN4QyxFQUVBLE9BQU90QixFQUFnQnVCLENBQVcsQ0FDcEMsRUFFYUMsRUFBc0JoQixHQUFzQ0csRUFBNkJILENBQU8iLAogICJuYW1lcyI6IFsicGFyc2VBcmFuZ29JZCIsICJwYXJzZUlkIiwgInBhcnNlU3RyaW5nIiwgInoiLCAicmVtb3ZlRW1wdHlLZXlzIiwgInBhcnNlRG9jdW1lbnQiLCAiQ29udGVudFZhbGlkYXRpb25FcnJvciIsICJtZXNzYWdlIiwgImZpZWxkIiwgImNvbnRlbnRTY2hlbWEiLCAiY29udGVudElucHV0U2NoZW1hIiwgInBhcnNlQ29udGVudCIsICJjb250ZW50IiwgImVycm9yIiwgInBhcnNlQ29udGVudElucHV0IiwgInBlcmZvcm1Db250ZW50VHJhbnNmb3JtYXRpb24iLCAiX2lkIiwgIl9rZXkiLCAiY29udGVudElkIiwgImlkIiwgImtleSIsICJsb2NhbGUiLCAiY29udGVudFRleHQiLCAiZGVzY3JpcHRpb24iLCAiY2F0ZWdvcnkiLCAiaXNBY3RpdmUiLCAidXNlcklkIiwgInRyYW5zZm9ybWVkIiwgInBhcnNlQ29udGVudEZyb21EYiJdCn0K
@@ -0,0 +1,9 @@
1
+ import { FileType } from '../types/files.types.js';
2
+ export declare class FileValidationError extends Error {
3
+ field?: string;
4
+ constructor(message: string, field?: string);
5
+ }
6
+ export declare const validateFileInput: (file: unknown) => FileType;
7
+ export declare const formatFileOutput: (file: FileType) => FileType;
8
+ export declare const getFileType: (file: FileType) => string | undefined;
9
+ export declare const parseFile: (file: FileType) => FileType;
@@ -1,2 +1,2 @@
1
- import{parseArangoId as h,parseId as s,parseNum as I,parseString as F,parseUrl as w}from"@nlabs/utils";import{z as e}from"zod";import{parseDocument as x}from"./arangoAdapter";import{parseReaktorContent as _,parseReaktorType as b}from"./reaktorAdapter";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(),A=i=>{try{return j.parse(i)}catch(r){if(r instanceof e.ZodError){const t=r.errors.map(n=>`${n.path.join(".")}: ${n.message}`).join(", ");throw new p(`File validation failed: ${t}`)}throw r}},U=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}},V=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:a,description:l,fileId:o,fileSize:d,fileType:T,id:c,itemId:f,itemType:m,name:g,url:u,userId:y}=i;return{...x(i),...n&&{base64:n},...a&&{buffer:a},...l&&{description:_(l)},...(t||o)&&{fileId:s(t||o)},...(r||c||t||o)&&{id:h(r||c||`files/${t||o}`)},...d!==void 0&&{fileSize:I(d)},...T&&{fileType:k(i)},...f&&{itemId:s(f)},...m&&{itemType:b(m)},...g&&{name:F(g,160)},...u&&{url:w(u)},...y&&{userId:s(y)}}};export{p as FileValidationError,U as formatFileOutput,k as getFileType,V as parseFile,A as validateFileInput};
2
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FkYXB0ZXJzL2ZpbGVBZGFwdGVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQge3BhcnNlQXJhbmdvSWQsIHBhcnNlSWQsIHBhcnNlTnVtLCBwYXJzZVN0cmluZywgcGFyc2VVcmx9IGZyb20gJ0BubGFicy91dGlscyc7XG5pbXBvcnQge3p9IGZyb20gJ3pvZCc7XG5cbmltcG9ydCB7RmlsZVR5cGV9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7cGFyc2VEb2N1bWVudH0gZnJvbSAnLi9hcmFuZ29BZGFwdGVyJztcbmltcG9ydCB7cGFyc2VSZWFrdG9yQ29udGVudCwgcGFyc2VSZWFrdG9yVHlwZX0gZnJvbSAnLi9yZWFrdG9yQWRhcHRlcic7XG5cbmV4cG9ydCBjbGFzcyBGaWxlVmFsaWRhdGlvbkVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcsIHB1YmxpYyBmaWVsZD86IHN0cmluZykge1xuICAgIHN1cGVyKG1lc3NhZ2UpO1xuICAgIHRoaXMubmFtZSA9ICdGaWxlVmFsaWRhdGlvbkVycm9yJztcbiAgfVxufVxuXG5jb25zdCBGaWxlSW5wdXRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIF9mcm9tOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9pZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfa2V5OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9vbGRSZXY6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX3Jldjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfdG86IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgYmFzZTY0OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGJ1ZmZlcjogei5hbnkoKS5vcHRpb25hbCgpLFxuICBkZXNjcmlwdGlvbjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBmaWxlSWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgZmlsZVNpemU6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgZmlsZVR5cGU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgaXRlbUlkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGl0ZW1UeXBlOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIG5hbWU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgdXJsOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHVzZXJJZDogei5zdHJpbmcoKS5vcHRpb25hbCgpXG59KS5wYXNzdGhyb3VnaCgpO1xuXG5leHBvcnQgY29uc3QgdmFsaWRhdGVGaWxlSW5wdXQgPSAoZmlsZTogdW5rbm93bik6IEZpbGVUeXBlID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCB2YWxpZGF0ZWQgPSBGaWxlSW5wdXRTY2hlbWEucGFyc2UoZmlsZSk7XG4gICAgcmV0dXJuIHZhbGlkYXRlZCBhcyBGaWxlVHlwZTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIGlmKGVycm9yIGluc3RhbmNlb2Ygei5ab2RFcnJvcikge1xuICAgICAgY29uc3QgZmllbGRFcnJvcnMgPSBlcnJvci5lcnJvcnMubWFwKChlKSA9PiBgJHtlLnBhdGguam9pbignLicpfTogJHtlLm1lc3NhZ2V9YCkuam9pbignLCAnKTtcbiAgICAgIHRocm93IG5ldyBGaWxlVmFsaWRhdGlvbkVycm9yKGBGaWxlIHZhbGlkYXRpb24gZmFpbGVkOiAke2ZpZWxkRXJyb3JzfWApO1xuICAgIH1cbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGZvcm1hdEZpbGVPdXRwdXQgPSAoZmlsZTogRmlsZVR5cGUpOiBGaWxlVHlwZSA9PiBmaWxlO1xuXG5leHBvcnQgY29uc3QgZ2V0RmlsZVR5cGUgPSAoZmlsZTogRmlsZVR5cGUpOiBzdHJpbmcgPT4ge1xuICBjb25zdCB7ZmlsZVR5cGUsIG5hbWV9ID0gZmlsZTtcblxuICBpZihmaWxlVHlwZSkge1xuICAgIHJldHVybiBwYXJzZVN0cmluZyhmaWxlVHlwZSwgMTYpO1xuICB9XG5cbiAgY29uc3QgbmFtZUFycjogc3RyaW5nW10gPSBuYW1lPy5zcGxpdCgnLicpIHx8IFtdO1xuICBjb25zdCBleHQ6IHN0cmluZyA9IG5hbWVBcnIubGVuZ3RoICYmIG5hbWVBcnJbbmFtZUFyci5sZW5ndGggLSAxXTtcblxuICBzd2l0Y2goZXh0KSB7XG4gICAgY2FzZSAnanBlZyc6XG4gICAgY2FzZSAnanBnJzpcbiAgICAgIHJldHVybiAnaW1hZ2UvanBlZyc7XG4gICAgY2FzZSAncG5nJzpcbiAgICAgIHJldHVybiAnaW1hZ2UvcG5nJztcbiAgICBjYXNlICd6aXAnOlxuICAgICAgcmV0dXJuICdhcHBsaWNhdGlvbi96aXAnO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgcGFyc2VGaWxlID0gKGZpbGU6IEZpbGVUeXBlKTogRmlsZVR5cGUgPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IHBhcnNlZCA9IHBlcmZvcm1GaWxlVHJhbnNmb3JtYXRpb24oZmlsZSk7XG4gICAgcmV0dXJuIHBhcnNlZDtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIGlmKGVycm9yIGluc3RhbmNlb2YgRmlsZVZhbGlkYXRpb25FcnJvcikge1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICAgIHRocm93IG5ldyBGaWxlVmFsaWRhdGlvbkVycm9yKGBGaWxlIHBhcnNpbmcgZmFpbGVkOiAke2Vycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ1Vua25vd24gZXJyb3InfWApO1xuICB9XG59O1xuXG5jb25zdCBwZXJmb3JtRmlsZVRyYW5zZm9ybWF0aW9uID0gKGZpbGU6IEZpbGVUeXBlKTogRmlsZVR5cGUgPT4ge1xuICBjb25zdCB7XG4gICAgX2lkLFxuICAgIF9rZXksXG4gICAgYmFzZTY0LFxuICAgIGJ1ZmZlcixcbiAgICBkZXNjcmlwdGlvbixcbiAgICBmaWxlSWQsXG4gICAgZmlsZVNpemUsXG4gICAgZmlsZVR5cGUsXG4gICAgaWQsXG4gICAgaXRlbUlkLFxuICAgIGl0ZW1UeXBlLFxuICAgIG5hbWUsXG4gICAgdXJsLFxuICAgIHVzZXJJZFxuICB9ID0gZmlsZTtcblxuICBjb25zdCB0cmFuc2Zvcm1lZCA9IHtcbiAgICAuLi5wYXJzZURvY3VtZW50KGZpbGUpLFxuICAgIC4uLihiYXNlNjQgJiYge2Jhc2U2NH0pLFxuICAgIC4uLihidWZmZXIgJiYge2J1ZmZlcn0pLFxuICAgIC4uLihkZXNjcmlwdGlvbiAmJiB7ZGVzY3JpcHRpb246IHBhcnNlUmVha3RvckNvbnRlbnQoZGVzY3JpcHRpb24pfSksXG4gICAgLi4uKChfa2V5IHx8IGZpbGVJZCkgJiYge2ZpbGVJZDogcGFyc2VJZChfa2V5IHx8IGZpbGVJZCl9KSxcbiAgICAuLi4oKF9pZCB8fCBpZCB8fCBfa2V5IHx8IGZpbGVJZCkgJiYge2lkOiBwYXJzZUFyYW5nb0lkKF9pZCB8fCBpZCB8fCBgZmlsZXMvJHtfa2V5IHx8IGZpbGVJZH1gKX0pLFxuICAgIC4uLihmaWxlU2l6ZSAhPT0gdW5kZWZpbmVkICYmIHtmaWxlU2l6ZTogcGFyc2VOdW0oZmlsZVNpemUpfSksXG4gICAgLi4uKGZpbGVUeXBlICYmIHtmaWxlVHlwZTogZ2V0RmlsZVR5cGUoZmlsZSl9KSxcbiAgICAuLi4oaXRlbUlkICYmIHtpdGVtSWQ6IHBhcnNlSWQoaXRlbUlkKX0pLFxuICAgIC4uLihpdGVtVHlwZSAmJiB7aXRlbVR5cGU6IHBhcnNlUmVha3RvclR5cGUoaXRlbVR5cGUpfSksXG4gICAgLi4uKG5hbWUgJiYge25hbWU6IHBhcnNlU3RyaW5nKG5hbWUsIDE2MCl9KSxcbiAgICAuLi4odXJsICYmIHt1cmw6IHBhcnNlVXJsKHVybCl9KSxcbiAgICAuLi4odXNlcklkICYmIHt1c2VySWQ6IHBhcnNlSWQodXNlcklkKX0pXG4gIH07XG5cbiAgcmV0dXJuIHRyYW5zZm9ybWVkO1xufTsiXSwKICAibWFwcGluZ3MiOiAiQUFBQSxPQUFRLGlCQUFBQSxFQUFlLFdBQUFDLEVBQVMsWUFBQUMsRUFBVSxlQUFBQyxFQUFhLFlBQUFDLE1BQWUsZUFDdEUsT0FBUSxLQUFBQyxNQUFRLE1BR2hCLE9BQVEsaUJBQUFDLE1BQW9CLGtCQUM1QixPQUFRLHVCQUFBQyxFQUFxQixvQkFBQUMsTUFBdUIsbUJBRTdDLE1BQU1DLFVBQTRCLEtBQU0sQ0FDN0MsWUFBWUMsRUFBd0JDLEVBQWdCLENBQ2xELE1BQU1ELENBQU8sRUFEcUIsV0FBQUMsRUFFbEMsS0FBSyxLQUFPLHFCQUNkLENBQ0YsQ0FFQSxNQUFNQyxFQUFrQlAsRUFBRSxPQUFPLENBQy9CLE1BQU9BLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDM0IsSUFBS0EsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUN6QixLQUFNQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzFCLFFBQVNBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDN0IsS0FBTUEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUMxQixJQUFLQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQ3pCLE9BQVFBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDNUIsT0FBUUEsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUN6QixZQUFhQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQ2pDLE9BQVFBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDNUIsU0FBVUEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUM5QixTQUFVQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzlCLE9BQVFBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDNUIsU0FBVUEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUM5QixLQUFNQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzFCLElBQUtBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDekIsT0FBUUEsRUFBRSxPQUFPLEVBQUUsU0FBUyxDQUM5QixDQUFDLEVBQUUsWUFBWSxFQUVGUSxFQUFxQkMsR0FBNEIsQ0FDNUQsR0FBSSxDQUVGLE9BRGtCRixFQUFnQixNQUFNRSxDQUFJLENBRTlDLE9BQVFDLEVBQU8sQ0FDYixHQUFHQSxhQUFpQlYsRUFBRSxTQUFVLENBQzlCLE1BQU1XLEVBQWNELEVBQU0sT0FBTyxJQUFLRSxHQUFNLEdBQUdBLEVBQUUsS0FBSyxLQUFLLEdBQUcsQ0FBQyxLQUFLQSxFQUFFLE9BQU8sRUFBRSxFQUFFLEtBQUssSUFBSSxFQUMxRixNQUFNLElBQUlSLEVBQW9CLDJCQUEyQk8sQ0FBVyxFQUFFLENBQ3hFLENBQ0EsTUFBTUQsQ0FDUixDQUNGLEVBRWFHLEVBQW9CSixHQUE2QkEsRUFFakRLLEVBQWVMLEdBQTJCLENBQ3JELEtBQU0sQ0FBQyxTQUFBTSxFQUFVLEtBQUFDLENBQUksRUFBSVAsRUFFekIsR0FBR00sRUFDRCxPQUFPakIsRUFBWWlCLEVBQVUsRUFBRSxFQUdqQyxNQUFNRSxFQUFvQkQsR0FBTSxNQUFNLEdBQUcsR0FBSyxDQUFDLEVBRy9DLE9BRm9CQyxFQUFRLFFBQVVBLEVBQVFBLEVBQVEsT0FBUyxDQUFDLEVBRXBELENBQ1YsSUFBSyxPQUNMLElBQUssTUFDSCxNQUFPLGFBQ1QsSUFBSyxNQUNILE1BQU8sWUFDVCxJQUFLLE1BQ0gsTUFBTyxrQkFDVCxRQUNFLE1BQ0osQ0FDRixFQUVhQyxFQUFhVCxHQUE2QixDQUNyRCxHQUFJLENBRUYsT0FEZVUsRUFBMEJWLENBQUksQ0FFL0MsT0FBUUMsRUFBTyxDQUNiLE1BQUdBLGFBQWlCTixFQUNaTSxFQUVGLElBQUlOLEVBQW9CLHdCQUF3Qk0sYUFBaUIsTUFBUUEsRUFBTSxRQUFVLGVBQWUsRUFBRSxDQUNsSCxDQUNGLEVBRU1TLEVBQTZCVixHQUE2QixDQUM5RCxLQUFNLENBQ0osSUFBQVcsRUFDQSxLQUFBQyxFQUNBLE9BQUFDLEVBQ0EsT0FBQUMsRUFDQSxZQUFBQyxFQUNBLE9BQUFDLEVBQ0EsU0FBQUMsRUFDQSxTQUFBWCxFQUNBLEdBQUFZLEVBQ0EsT0FBQUMsRUFDQSxTQUFBQyxFQUNBLEtBQUFiLEVBQ0EsSUFBQWMsRUFDQSxPQUFBQyxDQUNGLEVBQUl0QixFQWtCSixNQWhCb0IsQ0FDbEIsR0FBR1IsRUFBY1EsQ0FBSSxFQUNyQixHQUFJYSxHQUFVLENBQUMsT0FBQUEsQ0FBTSxFQUNyQixHQUFJQyxHQUFVLENBQUMsT0FBQUEsQ0FBTSxFQUNyQixHQUFJQyxHQUFlLENBQUMsWUFBYXRCLEVBQW9Cc0IsQ0FBVyxDQUFDLEVBQ2pFLElBQUtILEdBQVFJLElBQVcsQ0FBQyxPQUFRN0IsRUFBUXlCLEdBQVFJLENBQU0sQ0FBQyxFQUN4RCxJQUFLTCxHQUFPTyxHQUFNTixHQUFRSSxJQUFXLENBQUMsR0FBSTlCLEVBQWN5QixHQUFPTyxHQUFNLFNBQVNOLEdBQVFJLENBQU0sRUFBRSxDQUFDLEVBQy9GLEdBQUlDLElBQWEsUUFBYSxDQUFDLFNBQVU3QixFQUFTNkIsQ0FBUSxDQUFDLEVBQzNELEdBQUlYLEdBQVksQ0FBQyxTQUFVRCxFQUFZTCxDQUFJLENBQUMsRUFDNUMsR0FBSW1CLEdBQVUsQ0FBQyxPQUFRaEMsRUFBUWdDLENBQU0sQ0FBQyxFQUN0QyxHQUFJQyxHQUFZLENBQUMsU0FBVTFCLEVBQWlCMEIsQ0FBUSxDQUFDLEVBQ3JELEdBQUliLEdBQVEsQ0FBQyxLQUFNbEIsRUFBWWtCLEVBQU0sR0FBRyxDQUFDLEVBQ3pDLEdBQUljLEdBQU8sQ0FBQyxJQUFLL0IsRUFBUytCLENBQUcsQ0FBQyxFQUM5QixHQUFJQyxHQUFVLENBQUMsT0FBUW5DLEVBQVFtQyxDQUFNLENBQUMsQ0FDeEMsQ0FHRiIsCiAgIm5hbWVzIjogWyJwYXJzZUFyYW5nb0lkIiwgInBhcnNlSWQiLCAicGFyc2VOdW0iLCAicGFyc2VTdHJpbmciLCAicGFyc2VVcmwiLCAieiIsICJwYXJzZURvY3VtZW50IiwgInBhcnNlUmVha3RvckNvbnRlbnQiLCAicGFyc2VSZWFrdG9yVHlwZSIsICJGaWxlVmFsaWRhdGlvbkVycm9yIiwgIm1lc3NhZ2UiLCAiZmllbGQiLCAiRmlsZUlucHV0U2NoZW1hIiwgInZhbGlkYXRlRmlsZUlucHV0IiwgImZpbGUiLCAiZXJyb3IiLCAiZmllbGRFcnJvcnMiLCAiZSIsICJmb3JtYXRGaWxlT3V0cHV0IiwgImdldEZpbGVUeXBlIiwgImZpbGVUeXBlIiwgIm5hbWUiLCAibmFtZUFyciIsICJwYXJzZUZpbGUiLCAicGVyZm9ybUZpbGVUcmFuc2Zvcm1hdGlvbiIsICJfaWQiLCAiX2tleSIsICJiYXNlNjQiLCAiYnVmZmVyIiwgImRlc2NyaXB0aW9uIiwgImZpbGVJZCIsICJmaWxlU2l6ZSIsICJpZCIsICJpdGVtSWQiLCAiaXRlbVR5cGUiLCAidXJsIiwgInVzZXJJZCJdCn0K
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=
@@ -0,0 +1,8 @@
1
+ import type { ImageType } from '../types/images.types.js';
2
+ export declare class ImageValidationError extends Error {
3
+ field?: string;
4
+ constructor(message: string, field?: string);
5
+ }
6
+ export declare const validateImageInput: (image: unknown) => ImageType;
7
+ export declare const formatImageOutput: (image: ImageType) => ImageType;
8
+ export declare const parseImage: (image: ImageType) => ImageType;
@@ -1,2 +1,2 @@
1
- import{parseArangoId as b,parseNum as i,parseString as a,parseUrl as _}from"@nlabs/utils";import{z as e}from"zod";import{parseDocument as v}from"./arangoAdapter";import{removeEmptyKeys as E}from"../utils/adapterUtils";class p 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(),z=o=>{try{return x.parse(o)}catch(t){if(t instanceof e.ZodError){const r=t.errors.map(n=>`${n.path.join(".")}: ${n.message}`).join(", ");throw new p(`Image validation failed: ${r}`)}throw t}},A=o=>o,D=o=>{try{return $(o)}catch(t){throw t instanceof p?t:new p(`Image parsing failed: ${t instanceof Error?t.message:"Unknown error"}`)}},$=o=>{const{_id:t,_key:r,bucket:n,color:s,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 E({...v(o),...r&&{imageId:b(r)},...n&&{bucket:n},...s&&{color:s},...(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:_(T)},...k!==void 0&&{width:i(k)},...w&&{name:a(w,160)}})};export{p as ImageValidationError,A as formatImageOutput,D as parseImage,z as validateImageInput};
2
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FkYXB0ZXJzL2ltYWdlQWRhcHRlci50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiaW1wb3J0IHtwYXJzZUFyYW5nb0lkLCBwYXJzZU51bSwgcGFyc2VTdHJpbmcsIHBhcnNlVXJsfSBmcm9tICdAbmxhYnMvdXRpbHMnO1xuaW1wb3J0IHt6fSBmcm9tICd6b2QnO1xuXG5pbXBvcnQge3BhcnNlRG9jdW1lbnR9IGZyb20gJy4vYXJhbmdvQWRhcHRlcic7XG5pbXBvcnQge3JlbW92ZUVtcHR5S2V5c30gZnJvbSAnLi4vdXRpbHMvYWRhcHRlclV0aWxzJztcblxuaW1wb3J0IHR5cGUge0ltYWdlVHlwZX0gZnJvbSAnLi4vdHlwZXMvaW1hZ2VzLnR5cGVzJztcblxuZXhwb3J0IGNsYXNzIEltYWdlVmFsaWRhdGlvbkVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcsIHB1YmxpYyBmaWVsZD86IHN0cmluZykge1xuICAgIHN1cGVyKG1lc3NhZ2UpO1xuICAgIHRoaXMubmFtZSA9ICdJbWFnZVZhbGlkYXRpb25FcnJvcic7XG4gIH1cbn1cblxuY29uc3QgSW1hZ2VJbnB1dFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgYnVja2V0OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGNvbG9yOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGltYWdlSWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgaGVpZ2h0OiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIG1vZGVsOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIG1ha2U6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgczNPcHRpb25zOiB6LmFueSgpLm9wdGlvbmFsKCksXG4gIHRha2VuOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIHRodW1iOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGZpbGVUeXBlOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHR5cGU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgdXJsOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHdpZHRoOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIG5hbWU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX2lkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9rZXk6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX3Jldjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfb2xkUmV2OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9mcm9tOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF90bzogei5zdHJpbmcoKS5vcHRpb25hbCgpXG59KS5wYXNzdGhyb3VnaCgpO1xuXG5leHBvcnQgY29uc3QgdmFsaWRhdGVJbWFnZUlucHV0ID0gKGltYWdlOiB1bmtub3duKTogSW1hZ2VUeXBlID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCB2YWxpZGF0ZWQgPSBJbWFnZUlucHV0U2NoZW1hLnBhcnNlKGltYWdlKTtcbiAgICByZXR1cm4gdmFsaWRhdGVkIGFzIEltYWdlVHlwZTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIGlmKGVycm9yIGluc3RhbmNlb2Ygei5ab2RFcnJvcikge1xuICAgICAgY29uc3QgZmllbGRFcnJvcnMgPSBlcnJvci5lcnJvcnMubWFwKChlKSA9PiBgJHtlLnBhdGguam9pbignLicpfTogJHtlLm1lc3NhZ2V9YCkuam9pbignLCAnKTtcbiAgICAgIHRocm93IG5ldyBJbWFnZVZhbGlkYXRpb25FcnJvcihgSW1hZ2UgdmFsaWRhdGlvbiBmYWlsZWQ6ICR7ZmllbGRFcnJvcnN9YCk7XG4gICAgfVxuICAgIHRocm93IGVycm9yO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgZm9ybWF0SW1hZ2VPdXRwdXQgPSAoaW1hZ2U6IEltYWdlVHlwZSk6IEltYWdlVHlwZSA9PiBpbWFnZTtcblxuZXhwb3J0IGNvbnN0IHBhcnNlSW1hZ2UgPSAoaW1hZ2U6IEltYWdlVHlwZSk6IEltYWdlVHlwZSA9PiB7XG4gIHRyeSB7XG4gICAgY29uc3QgcGFyc2VkID0gcGVyZm9ybUltYWdlVHJhbnNmb3JtYXRpb24oaW1hZ2UpO1xuICAgIHJldHVybiBwYXJzZWQ7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICBpZihlcnJvciBpbnN0YW5jZW9mIEltYWdlVmFsaWRhdGlvbkVycm9yKSB7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gICAgdGhyb3cgbmV3IEltYWdlVmFsaWRhdGlvbkVycm9yKGBJbWFnZSBwYXJzaW5nIGZhaWxlZDogJHtlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdVbmtub3duIGVycm9yJ31gKTtcbiAgfVxufTtcblxuY29uc3QgcGVyZm9ybUltYWdlVHJhbnNmb3JtYXRpb24gPSAoaW1hZ2U6IEltYWdlVHlwZSk6IEltYWdlVHlwZSA9PiB7XG4gIGNvbnN0IHtcbiAgICBfaWQsXG4gICAgX2tleSxcbiAgICBidWNrZXQsXG4gICAgY29sb3IsXG4gICAgaWQsXG4gICAgaW1hZ2VJZCxcbiAgICBoZWlnaHQsXG4gICAgbW9kZWwsXG4gICAgbWFrZSxcbiAgICBzM09wdGlvbnMsXG4gICAgdGFrZW4sXG4gICAgdGh1bWIsXG4gICAgZmlsZVR5cGUsXG4gICAgdHlwZSxcbiAgICB1cmwsXG4gICAgd2lkdGgsXG4gICAgbmFtZVxuICB9ID0gaW1hZ2U7XG5cbiAgY29uc3QgdHJhbnNmb3JtZWQgPSByZW1vdmVFbXB0eUtleXMoe1xuICAgIC4uLnBhcnNlRG9jdW1lbnQoaW1hZ2UpLFxuICAgIC4uLihfa2V5ICYmIHtpbWFnZUlkOiBwYXJzZUFyYW5nb0lkKF9rZXkpfSksXG4gICAgLi4uKGJ1Y2tldCAmJiB7YnVja2V0fSksXG4gICAgLi4uKGNvbG9yICYmIHtjb2xvcn0pLFxuICAgIC4uLigoX2lkIHx8IGlkIHx8IF9rZXkgfHwgaW1hZ2VJZCkgJiYge2ltYWdlSWQ6IHBhcnNlQXJhbmdvSWQoX2lkIHx8IGlkIHx8IGBpbWFnZXMvJHtfa2V5IHx8IGltYWdlSWR9YCl9KSxcbiAgICAuLi4oaGVpZ2h0ICE9PSB1bmRlZmluZWQgJiYge2hlaWdodDogcGFyc2VOdW0oaGVpZ2h0KX0pLFxuICAgIC4uLihtb2RlbCAmJiB7bW9kZWw6IHBhcnNlU3RyaW5nKG1vZGVsLCAxNjApfSksXG4gICAgLi4uKG1ha2UgJiYge21ha2U6IHBhcnNlU3RyaW5nKG1ha2UsIDE2MCl9KSxcbiAgICAuLi4oczNPcHRpb25zICYmIHtzM09wdGlvbnN9KSxcbiAgICAuLi4odGFrZW4gIT09IHVuZGVmaW5lZCAmJiB7dGFrZW46IHBhcnNlTnVtKHRha2VuKX0pLFxuICAgIC4uLih0aHVtYiAmJiB7dGh1bWJ9KSxcbiAgICAuLi4oZmlsZVR5cGUgJiYge2ZpbGVUeXBlOiBwYXJzZVN0cmluZyhmaWxlVHlwZSwgMTYpfSksXG4gICAgLi4uKHR5cGUgJiYge3R5cGU6IHBhcnNlU3RyaW5nKHR5cGUsIDE2KX0pLFxuICAgIC4uLih1cmwgJiYge3VybDogcGFyc2VVcmwodXJsKX0pLFxuICAgIC4uLih3aWR0aCAhPT0gdW5kZWZpbmVkICYmIHt3aWR0aDogcGFyc2VOdW0od2lkdGgpfSksXG4gICAgLi4uKG5hbWUgJiYge25hbWU6IHBhcnNlU3RyaW5nKG5hbWUsIDE2MCl9KVxuICB9KTtcblxuICByZXR1cm4gdHJhbnNmb3JtZWQ7XG59O1xuXG4iXSwKICAibWFwcGluZ3MiOiAiQUFBQSxPQUFRLGlCQUFBQSxFQUFlLFlBQUFDLEVBQVUsZUFBQUMsRUFBYSxZQUFBQyxNQUFlLGVBQzdELE9BQVEsS0FBQUMsTUFBUSxNQUVoQixPQUFRLGlCQUFBQyxNQUFvQixrQkFDNUIsT0FBUSxtQkFBQUMsTUFBc0Isd0JBSXZCLE1BQU1DLFVBQTZCLEtBQU0sQ0FDOUMsWUFBWUMsRUFBd0JDLEVBQWdCLENBQ2xELE1BQU1ELENBQU8sRUFEcUIsV0FBQUMsRUFFbEMsS0FBSyxLQUFPLHNCQUNkLENBQ0YsQ0FFQSxNQUFNQyxFQUFtQk4sRUFBRSxP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QUFVLFFBQWEsQ0FBQyxNQUFPNUIsRUFBUzRCLENBQUssQ0FBQyxFQUNsRCxHQUFJQyxHQUFTLENBQUMsTUFBQUEsQ0FBSyxFQUNuQixHQUFJQyxHQUFZLENBQUMsU0FBVTdCLEVBQVk2QixFQUFVLEVBQUUsQ0FBQyxFQUNwRCxHQUFJQyxHQUFRLENBQUMsS0FBTTlCLEVBQVk4QixFQUFNLEVBQUUsQ0FBQyxFQUN4QyxHQUFJQyxHQUFPLENBQUMsSUFBSzlCLEVBQVM4QixDQUFHLENBQUMsRUFDOUIsR0FBSUMsSUFBVSxRQUFhLENBQUMsTUFBT2pDLEVBQVNpQyxDQUFLLENBQUMsRUFDbEQsR0FBSUMsR0FBUSxDQUFDLEtBQU1qQyxFQUFZaUMsRUFBTSxHQUFHLENBQUMsQ0FDM0MsQ0FBQyxDQUdIIiwKICAibmFtZXMiOiBbInBhcnNlQXJhbmdvSWQiLCAicGFyc2VOdW0iLCAicGFyc2VTdHJpbmciLCAicGFyc2VVcmwiLCAieiIsICJwYXJzZURvY3VtZW50IiwgInJlbW92ZUVtcHR5S2V5cyIsICJJbWFnZVZhbGlkYXRpb25FcnJvciIsICJtZXNzYWdlIiwgImZpZWxkIiwgIkltYWdlSW5wdXRTY2hlbWEiLCAidmFsaWRhdGVJbWFnZUlucHV0IiwgImltYWdlIiwgImVycm9yIiwgImZpZWxkRXJyb3JzIiwgImUiLCAiZm9ybWF0SW1hZ2VPdXRwdXQiLCAicGFyc2VJbWFnZSIsICJwZXJmb3JtSW1hZ2VUcmFuc2Zvcm1hdGlvbiIsICJfaWQiLCAiX2tleSIsICJidWNrZXQiLCAiY29sb3IiLCAiaWQiLCAiaW1hZ2VJZCIsICJoZWlnaHQiLCAibW9kZWwiLCAibWFrZSIsICJzM09wdGlvbnMiLCAidGFrZW4iLCAidGh1bWIiLCAiZmlsZVR5cGUiLCAidHlwZSIsICJ1cmwiLCAid2lkdGgiLCAibmFtZSJdCn0K
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=
@@ -0,0 +1,9 @@
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';
@@ -0,0 +1,2 @@
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==
@@ -0,0 +1,8 @@
1
+ import type { MessageType } from '../types/messages.types.js';
2
+ export declare class MessageValidationError extends Error {
3
+ field?: string;
4
+ constructor(message: string, field?: string);
5
+ }
6
+ export declare const validateMessageInput: (message: unknown) => MessageType;
7
+ export declare const formatMessageOutput: (message: MessageType) => MessageType;
8
+ export declare const parseMessage: (message: MessageType) => MessageType;
@@ -1,2 +1,2 @@
1
- import{parseArangoId as d,parseId as l}from"@nlabs/utils";import{z as e}from"zod";import{parseDocument as c}from"./arangoAdapter";import{parseFile as y}from"./fileAdapter";import{parseImage as f}from"./imageAdapter";import{removeEmptyKeys as M}from"../utils/adapterUtils";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.errors.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 M({...c(r),...a&&{content:a},...Array.isArray(n)&&{files:n.map(y)},...Array.isArray(p)&&{images:p.map(f)},...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,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FkYXB0ZXJzL21lc3NhZ2VBZGFwdGVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQge3BhcnNlQXJhbmdvSWQsIHBhcnNlSWR9IGZyb20gJ0BubGFicy91dGlscyc7XG5pbXBvcnQge3p9IGZyb20gJ3pvZCc7XG5cbmltcG9ydCB7cGFyc2VEb2N1bWVudH0gZnJvbSAnLi9hcmFuZ29BZGFwdGVyJztcbmltcG9ydCB7cGFyc2VGaWxlfSBmcm9tICcuL2ZpbGVBZGFwdGVyJztcbmltcG9ydCB7cGFyc2VJbWFnZX0gZnJvbSAnLi9pbWFnZUFkYXB0ZXInO1xuaW1wb3J0IHtyZW1vdmVFbXB0eUtleXN9IGZyb20gJy4uL3V0aWxzL2FkYXB0ZXJVdGlscyc7XG5cbmltcG9ydCB0eXBlIHtNZXNzYWdlVHlwZX0gZnJvbSAnLi4vdHlwZXMvbWVzc2FnZXMudHlwZXMnO1xuXG5leHBvcnQgY2xhc3MgTWVzc2FnZVZhbGlkYXRpb25FcnJvciBleHRlbmRzIEVycm9yIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nLCBwdWJsaWMgZmllbGQ/OiBzdHJpbmcpIHtcbiAgICBzdXBlcihtZXNzYWdlKTtcbiAgICB0aGlzLm5hbWUgPSAnTWVzc2FnZVZhbGlkYXRpb25FcnJvcic7XG4gIH1cbn1cblxuY29uc3QgTWVzc2FnZUlucHV0U2NoZW1hID0gei5vYmplY3Qoe1xuICBjb250ZW50OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGNvbnZlcnNhdGlvbklkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGZpbGVzOiB6LmFycmF5KHouYW55KCkpLm9wdGlvbmFsKCksXG4gIGltYWdlczogei5hcnJheSh6LmFueSgpKS5vcHRpb25hbCgpLFxuICBpdGVtSWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgaXRlbVR5cGU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgbWVzc2FnZUlkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHJlYWQ6IHouYm9vbGVhbigpLm9wdGlvbmFsKCksXG4gIHNhdmVkOiB6LmJvb2xlYW4oKS5vcHRpb25hbCgpLFxuICB1c2VySWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX2lkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9rZXk6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX3Jldjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfb2xkUmV2OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9mcm9tOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF90bzogei5zdHJpbmcoKS5vcHRpb25hbCgpXG59KS5wYXNzdGhyb3VnaCgpO1xuXG5leHBvcnQgY29uc3QgdmFsaWRhdGVNZXNzYWdlSW5wdXQgPSAobWVzc2FnZTogdW5rbm93bik6IE1lc3NhZ2VUeXBlID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCB2YWxpZGF0ZWQgPSBNZXNzYWdlSW5wdXRTY2hlbWEucGFyc2UobWVzc2FnZSk7XG4gICAgcmV0dXJuIHZhbGlkYXRlZCBhcyBNZXNzYWdlVHlwZTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIGlmKGVycm9yIGluc3RhbmNlb2Ygei5ab2RFcnJvcikge1xuICAgICAgY29uc3QgZmllbGRFcnJvcnMgPSBlcnJvci5lcnJvcnMubWFwKChlKSA9PiBgJHtlLnBhdGguam9pbignLicpfTogJHtlLm1lc3NhZ2V9YCkuam9pbignLCAnKTtcbiAgICAgIHRocm93IG5ldyBNZXNzYWdlVmFsaWRhdGlvbkVycm9yKGBNZXNzYWdlIHZhbGlkYXRpb24gZmFpbGVkOiAke2ZpZWxkRXJyb3JzfWApO1xuICAgIH1cbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGZvcm1hdE1lc3NhZ2VPdXRwdXQgPSAobWVzc2FnZTogTWVzc2FnZVR5cGUpOiBNZXNzYWdlVHlwZSA9PiBtZXNzYWdlO1xuXG5leHBvcnQgY29uc3QgcGFyc2VNZXNzYWdlID0gKG1lc3NhZ2U6IE1lc3NhZ2VUeXBlKTogTWVzc2FnZVR5cGUgPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IHBhcnNlZCA9IHBlcmZvcm1NZXNzYWdlVHJhbnNmb3JtYXRpb24obWVzc2FnZSk7XG4gICAgcmV0dXJuIHBhcnNlZDtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIGlmKGVycm9yIGluc3RhbmNlb2YgTWVzc2FnZVZhbGlkYXRpb25FcnJvcikge1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICAgIHRocm93IG5ldyBNZXNzYWdlVmFsaWRhdGlvbkVycm9yKGBNZXNzYWdlIHBhcnNpbmcgZmFpbGVkOiAke2Vycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ1Vua25vd24gZXJyb3InfWApO1xuICB9XG59O1xuXG5jb25zdCBwZXJmb3JtTWVzc2FnZVRyYW5zZm9ybWF0aW9uID0gKG1lc3NhZ2U6IE1lc3NhZ2VUeXBlKTogTWVzc2FnZVR5cGUgPT4ge1xuICBjb25zdCB7XG4gICAgX2lkLFxuICAgIF9rZXksXG4gICAgY29udGVudCxcbiAgICBmaWxlcyxcbiAgICBpZCxcbiAgICBpbWFnZXMsXG4gICAgbWVzc2FnZUlkLFxuICAgIHNhdmVkXG4gIH0gPSBtZXNzYWdlO1xuXG4gIGNvbnN0IHRyYW5zZm9ybWVkID0gcmVtb3ZlRW1wdHlLZXlzKHtcbiAgICAuLi5wYXJzZURvY3VtZW50KG1lc3NhZ2UpLFxuICAgIC4uLihjb250ZW50ICYmIHtjb250ZW50fSksXG4gICAgLi4uKEFycmF5LmlzQXJyYXkoZmlsZXMpICYmIHtmaWxlczogZmlsZXMubWFwKHBhcnNlRmlsZSl9KSxcbiAgICAuLi4oQXJyYXkuaXNBcnJheShpbWFnZXMpICYmIHtpbWFnZXM6IGltYWdlcy5tYXAocGFyc2VJbWFnZSl9KSxcbiAgICAuLi4oX2tleSAmJiB7bWVzc2FnZUlkOiBwYXJzZUlkKF9rZXkpfSksXG4gICAgLi4uKChfaWQgfHwgaWQgfHwgX2tleSB8fCBtZXNzYWdlSWQpICYmIHttZXNzYWdlSWQ6IHBhcnNlQXJhbmdvSWQoX2lkIHx8IGlkIHx8IGBtZXNzYWdlcy8ke19rZXkgfHwgbWVzc2FnZUlkfWApfSksXG4gICAgLi4uKHNhdmVkICE9PSB1bmRlZmluZWQgJiYge3NhdmVkOiAhIXNhdmVkfSlcbiAgfSk7XG5cbiAgcmV0dXJuIHRyYW5zZm9ybWVkO1xufTtcblxuIl0sCiAgIm1hcHBpbmdzIjogIkFBQUEsT0FBUSxpQkFBQUEsRUFBZSxXQUFBQyxNQUFjLGVBQ3JDLE9BQVEsS0FBQUMsTUFBUSxNQUVoQixPQUFRLGlCQUFBQyxNQUFvQixrQkFDNUIsT0FBUSxhQUFBQyxNQUFnQixnQkFDeEIsT0FBUSxjQUFBQyxNQUFpQixpQkFDekIsT0FBUSxtQkFBQUMsTUFBc0Isd0JBSXZCLE1BQU1DLFVBQStCLEtBQU0sQ0FDaEQsWUFBWUMsRUFBd0JDLEVBQWdCLENBQ2xELE1BQU1ELENBQU8sRUFEcUIsV0FBQUMsRUFFbEMsS0FBSyxLQUFPLHdCQUNkLENBQ0YsQ0FFQSxNQUFNQyxFQUFxQlIsRUFBRSxPQUFPLENBQ2xDLFFBQVNBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDN0IsZUFBZ0JBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDcEMsTUFBT0EsRUFBRSxNQUFNQSxFQUFFLElBQUksQ0FBQyxFQUFFLFNBQVMsRUFDakMsT0FBUUEsRUFBRSxNQUFNQSxFQUFFLElBQUksQ0FBQyxFQUFFLFNBQVMsRUFDbEMsT0FBUUEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUM1QixTQUFVQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzlCLFVBQVdBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDL0IsS0FBTUEsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUMzQixNQUFPQSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQzVCLE9BQVFBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDNUIsSUFBS0EsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUN6QixLQUFNQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzFCLEtBQU1BLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDMUIsUUFBU0EsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUM3QixNQUFPQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzNCLElBQUtBLEVBQUUsT0FBTyxFQUFFLFNBQVMsQ0FDM0IsQ0FBQyxFQUFFLFlBQVksRUFFRlMsRUFBd0JILEdBQWtDLENBQ3JFLEdBQUksQ0FFRixPQURrQkUsRUFBbUIsTUFBTUYsQ0FBTyxDQUVwRCxPQUFRSSxFQUFPLENBQ2IsR0FBR0EsYUFBaUJWLEVBQUUsU0FBVSxDQUM5QixNQUFNVyxFQUFjRCxFQUFNLE9BQU8sSUFBS0UsR0FBTSxHQUFHQSxFQUFFLEtBQUssS0FBSyxHQUFHLENBQUMsS0FBS0EsRUFBRSxPQUFPLEVBQUUsRUFBRSxLQUFLLElBQUksRUFDMUYsTUFBTSxJQUFJUCxFQUF1Qiw4QkFBOEJNLENBQVcsRUFBRSxDQUM5RSxDQUNBLE1BQU1ELENBQ1IsQ0FDRixFQUVhRyxFQUF1QlAsR0FBc0NBLEVBRTdEUSxFQUFnQlIsR0FBc0MsQ0FDakUsR0FBSSxDQUVGLE9BRGVTLEVBQTZCVCxDQUFPLENBRXJELE9BQVFJLEVBQU8sQ0FDYixNQUFHQSxhQUFpQkwsRUFDWkssRUFFRixJQUFJTCxFQUF1QiwyQkFBMkJLLGFBQWlCLE1BQVFBLEVBQU0sUUFBVSxlQUFlLEVBQUUsQ0FDeEgsQ0FDRixFQUVNSyxFQUFnQ1QsR0FBc0MsQ0FDMUUsS0FBTSxDQUNKLElBQUFVLEVBQ0EsS0FBQUMsRUFDQSxRQUFBQyxFQUNBLE1BQUFDLEVBQ0EsR0FBQUMsRUFDQSxPQUFBQyxFQUNBLFVBQUFDLEVBQ0EsTUFBQUMsQ0FDRixFQUFJakIsRUFZSixPQVZvQkYsRUFBZ0IsQ0FDbEMsR0FBR0gsRUFBY0ssQ0FBTyxFQUN4QixHQUFJWSxHQUFXLENBQUMsUUFBQUEsQ0FBTyxFQUN2QixHQUFJLE1BQU0sUUFBUUMsQ0FBSyxHQUFLLENBQUMsTUFBT0EsRUFBTSxJQUFJakIsQ0FBUyxDQUFDLEVBQ3hELEdBQUksTUFBTSxRQUFRbUIsQ0FBTSxHQUFLLENBQUMsT0FBUUEsRUFBTyxJQUFJbEIsQ0FBVSxDQUFDLEVBQzVELEdBQUljLEdBQVEsQ0FBQyxVQUFXbEIsRUFBUWtCLENBQUksQ0FBQyxFQUNyQyxJQUFLRCxHQUFPSSxHQUFNSCxHQUFRSyxJQUFjLENBQUMsVUFBV3hCLEVBQWNrQixHQUFPSSxHQUFNLFlBQVlILEdBQVFLLENBQVMsRUFBRSxDQUFDLEVBQy9HLEdBQUlDLElBQVUsUUFBYSxDQUFDLE1BQU8sQ0FBQyxDQUFDQSxDQUFLLENBQzVDLENBQUMsQ0FHSCIsCiAgIm5hbWVzIjogWyJwYXJzZUFyYW5nb0lkIiwgInBhcnNlSWQiLCAieiIsICJwYXJzZURvY3VtZW50IiwgInBhcnNlRmlsZSIsICJwYXJzZUltYWdlIiwgInJlbW92ZUVtcHR5S2V5cyIsICJNZXNzYWdlVmFsaWRhdGlvbkVycm9yIiwgIm1lc3NhZ2UiLCAiZmllbGQiLCAiTWVzc2FnZUlucHV0U2NoZW1hIiwgInZhbGlkYXRlTWVzc2FnZUlucHV0IiwgImVycm9yIiwgImZpZWxkRXJyb3JzIiwgImUiLCAiZm9ybWF0TWVzc2FnZU91dHB1dCIsICJwYXJzZU1lc3NhZ2UiLCAicGVyZm9ybU1lc3NhZ2VUcmFuc2Zvcm1hdGlvbiIsICJfaWQiLCAiX2tleSIsICJjb250ZW50IiwgImZpbGVzIiwgImlkIiwgImltYWdlcyIsICJtZXNzYWdlSWQiLCAic2F2ZWQiXQp9Cg==
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
@@ -0,0 +1,8 @@
1
+ import type { PostType } from '../types/posts.types.js';
2
+ export declare class PostValidationError extends Error {
3
+ field?: string;
4
+ constructor(message: string, field?: string);
5
+ }
6
+ export declare const validatePostInput: (post: unknown) => PostType;
7
+ export declare const formatPostOutput: (post: PostType) => PostType;
8
+ export declare const parsePost: (post: PostType) => PostType;
@@ -1,2 +1,2 @@
1
- import{parseArangoId as w,parseId as s,parseNum as _,parseString as E,parseVarChar as b}from"@nlabs/utils";import{z as t}from"zod";import{parseDocument as k}from"./arangoAdapter";import{parseFile as D}from"./fileAdapter";import{parseReaktorContent as x,parseReaktorDate as $,parseReaktorType as N}from"./reaktorAdapter";import{parseTag as R}from"./tagAdapter";import{removeEmptyKeys as j}from"../utils/adapterUtils";const C=1e5;class p extends Error{constructor(n,e){super(n);this.field=e;this.name="PostValidationError"}}const V=t.object({content:t.string().optional(),endDate:t.number().optional(),files:t.array(t.any()).optional(),groupId:t.string().optional(),postId:t.string().optional(),latitude:t.number().optional(),location:t.string().optional(),longitude:t.number().optional(),name:t.string().optional(),parentId:t.string().optional(),privacy:t.string().optional(),startDate:t.number().optional(),tags:t.array(t.any()).optional(),type:t.string().optional(),userId:t.string().optional(),_id:t.string().optional(),_key:t.string().optional(),_rev:t.string().optional(),_oldRev:t.string().optional(),_from:t.string().optional(),_to:t.string().optional()}).passthrough(),M=r=>{try{return V.parse(r)}catch(o){if(o instanceof t.ZodError){const n=o.errors.map(e=>`${e.path.join(".")}: ${e.message}`).join(", ");throw new p(`Post validation failed: ${n}`)}throw o}},U=r=>r,X=r=>{try{return A(r)}catch(o){throw o instanceof p?o:new p(`Post parsing failed: ${o instanceof Error?o.message:"Unknown error"}`)}},A=r=>{const{_id:o,_key:n,content:e,endDate:d,files:l,groupId:m,id:g,latitude:c,location:u,longitude:f,name:y,parentId:P,postId:a,privacy:I,tags:T,type:h,userId:v}=r;return j({...k(r),...e&&{content:x(e,C)},...d!==void 0&&{endDate:$(d)},...l?.length&&{files:l.map(i=>D(i))},...m&&{groupId:s(m)},...c!==void 0&&{latitude:_(c,15)},...u&&{location:E(u,160)},...f!==void 0&&{longitude:_(f,15)},...y&&{name:E(y,160)},...P&&{parentId:s(P)},...(o||g||n||a)&&{id:w(o||g||`posts/${n||a}`)},...(n||a)&&{postId:s(n||a)},...I&&{privacy:b(I,16)},...T?.length&&{tags:T.map(i=>R(i))},...h&&{type:N(h)},...v&&{userId:s(v)}})};export{p as PostValidationError,U as formatPostOutput,X as parsePost,M as validatePostInput};
2
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FkYXB0ZXJzL3Bvc3RBZGFwdGVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQge3BhcnNlQXJhbmdvSWQsIHBhcnNlSWQsIHBhcnNlTnVtLCBwYXJzZVN0cmluZywgcGFyc2VWYXJDaGFyfSBmcm9tICdAbmxhYnMvdXRpbHMnO1xuaW1wb3J0IHt6fSBmcm9tICd6b2QnO1xuXG5pbXBvcnQge1Bvc3RUeXBlfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQge3BhcnNlRG9jdW1lbnR9IGZyb20gJy4vYXJhbmdvQWRhcHRlcic7XG5pbXBvcnQge3BhcnNlRmlsZX0gZnJvbSAnLi9maWxlQWRhcHRlcic7XG5pbXBvcnQge1xuICBwYXJzZVJlYWt0b3JDb250ZW50LFxuICBwYXJzZVJlYWt0b3JEYXRlLFxuICBwYXJzZVJlYWt0b3JUeXBlXG59IGZyb20gJy4vcmVha3RvckFkYXB0ZXInO1xuaW1wb3J0IHtwYXJzZVRhZ30gZnJvbSAnLi90YWdBZGFwdGVyJztcbmltcG9ydCB7cmVtb3ZlRW1wdHlLZXlzfSBmcm9tICcuLi91dGlscy9hZGFwdGVyVXRpbHMnO1xuXG5jb25zdCBNQVhfQ09OVEVOVF9MRU5HVEg6IG51bWJlciA9IDEwMDAwMDtcblxuZXhwb3J0IGNsYXNzIFBvc3RWYWxpZGF0aW9uRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZywgcHVibGljIGZpZWxkPzogc3RyaW5nKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gICAgdGhpcy5uYW1lID0gJ1Bvc3RWYWxpZGF0aW9uRXJyb3InO1xuICB9XG59XG5cbmNvbnN0IFBvc3RJbnB1dFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgY29udGVudDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBlbmREYXRlOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIGZpbGVzOiB6LmFycmF5KHouYW55KCkpLm9wdGlvbmFsKCksXG4gIGdyb3VwSWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgcG9zdElkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGxhdGl0dWRlOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIGxvY2F0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGxvbmdpdHVkZTogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICBuYW1lOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHBhcmVudElkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHByaXZhY3k6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgc3RhcnREYXRlOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIHRhZ3M6IHouYXJyYXkoei5hbnkoKSkub3B0aW9uYWwoKSxcbiAgdHlwZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICB1c2VySWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX2lkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9rZXk6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX3Jldjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfb2xkUmV2OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9mcm9tOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF90bzogei5zdHJpbmcoKS5vcHRpb25hbCgpXG59KS5wYXNzdGhyb3VnaCgpO1xuXG5leHBvcnQgY29uc3QgdmFsaWRhdGVQb3N0SW5wdXQgPSAocG9zdDogdW5rbm93bik6IFBvc3RUeXBlID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCB2YWxpZGF0ZWQgPSBQb3N0SW5wdXRTY2hlbWEucGFyc2UocG9zdCk7XG4gICAgcmV0dXJuIHZhbGlkYXRlZCBhcyBQb3N0VHlwZTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIGlmKGVycm9yIGluc3RhbmNlb2Ygei5ab2RFcnJvcikge1xuICAgICAgY29uc3QgZmllbGRFcnJvcnMgPSBlcnJvci5lcnJvcnMubWFwKChlKSA9PiBgJHtlLnBhdGguam9pbignLicpfTogJHtlLm1lc3NhZ2V9YCkuam9pbignLCAnKTtcbiAgICAgIHRocm93IG5ldyBQb3N0VmFsaWRhdGlvbkVycm9yKGBQb3N0IHZhbGlkYXRpb24gZmFpbGVkOiAke2ZpZWxkRXJyb3JzfWApO1xuICAgIH1cbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGZvcm1hdFBvc3RPdXRwdXQgPSAocG9zdDogUG9zdFR5cGUpOiBQb3N0VHlwZSA9PiBwb3N0O1xuXG5leHBvcnQgY29uc3QgcGFyc2VQb3N0ID0gKHBvc3Q6IFBvc3RUeXBlKTogUG9zdFR5cGUgPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IHBhcnNlZCA9IHBlcmZvcm1Qb3N0VHJhbnNmb3JtYXRpb24ocG9zdCk7XG4gICAgcmV0dXJuIHBhcnNlZDtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIGlmKGVycm9yIGluc3RhbmNlb2YgUG9zdFZhbGlkYXRpb25FcnJvcikge1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICAgIHRocm93IG5ldyBQb3N0VmFsaWRhdGlvbkVycm9yKGBQb3N0IHBhcnNpbmcgZmFpbGVkOiAke2Vycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ1Vua25vd24gZXJyb3InfWApO1xuICB9XG59O1xuXG5jb25zdCBwZXJmb3JtUG9zdFRyYW5zZm9ybWF0aW9uID0gKHBvc3Q6IFBvc3RUeXBlKTogUG9zdFR5cGUgPT4ge1xuICBjb25zdCB7XG4gICAgX2lkLFxuICAgIF9rZXksXG4gICAgY29udGVudCxcbiAgICBlbmREYXRlLFxuICAgIGZpbGVzLFxuICAgIGdyb3VwSWQsXG4gICAgaWQsXG4gICAgbGF0aXR1ZGUsXG4gICAgbG9jYXRpb24sXG4gICAgbG9uZ2l0dWRlLFxuICAgIG5hbWUsXG4gICAgcGFyZW50SWQsXG4gICAgcG9zdElkLFxuICAgIHByaXZhY3ksXG4gICAgdGFncyxcbiAgICB0eXBlLFxuICAgIHVzZXJJZFxuICB9ID0gcG9zdDtcblxuICBjb25zdCB0cmFuc2Zvcm1lZCA9IHJlbW92ZUVtcHR5S2V5cyh7XG4gICAgLi4ucGFyc2VEb2N1bWVudChwb3N0KSxcbiAgICAuLi4oY29udGVudCAmJiB7Y29udGVudDogcGFyc2VSZWFrdG9yQ29udGVudChjb250ZW50LCBNQVhfQ09OVEVOVF9MRU5HVEgpfSksXG4gICAgLi4uKGVuZERhdGUgIT09IHVuZGVmaW5lZCAmJiB7ZW5kRGF0ZTogcGFyc2VSZWFrdG9yRGF0ZShlbmREYXRlKX0pLFxuICAgIC4uLihmaWxlcz8ubGVuZ3RoICYmIHtmaWxlczogZmlsZXMubWFwKChmaWxlKSA9PiBwYXJzZUZpbGUoZmlsZSkpfSksXG4gICAgLi4uKGdyb3VwSWQgJiYge2dyb3VwSWQ6IHBhcnNlSWQoZ3JvdXBJZCl9KSxcbiAgICAuLi4obGF0aXR1ZGUgIT09IHVuZGVmaW5lZCAmJiB7bGF0aXR1ZGU6IHBhcnNlTnVtKGxhdGl0dWRlLCAxNSl9KSxcbiAgICAuLi4obG9jYXRpb24gJiYge2xvY2F0aW9uOiBwYXJzZVN0cmluZyhsb2NhdGlvbiwgMTYwKX0pLFxuICAgIC4uLihsb25naXR1ZGUgIT09IHVuZGVmaW5lZCAmJiB7bG9uZ2l0dWRlOiBwYXJzZU51bShsb25naXR1ZGUsIDE1KX0pLFxuICAgIC4uLihuYW1lICYmIHtuYW1lOiBwYXJzZVN0cmluZyhuYW1lLCAxNjApfSksXG4gICAgLi4uKHBhcmVudElkICYmIHtwYXJlbnRJZDogcGFyc2VJZChwYXJlbnRJZCl9KSxcbiAgICAuLi4oKF9pZCB8fCBpZCB8fCBfa2V5IHx8IHBvc3RJZCkgJiYge2lkOiBwYXJzZUFyYW5nb0lkKF9pZCB8fCBpZCB8fCBgcG9zdHMvJHtfa2V5IHx8IHBvc3RJZH1gKX0pLFxuICAgIC4uLigoX2tleSB8fCBwb3N0SWQpICYmIHtwb3N0SWQ6IHBhcnNlSWQoX2tleSB8fCBwb3N0SWQpfSksXG4gICAgLi4uKHByaXZhY3kgJiYge3ByaXZhY3k6IHBhcnNlVmFyQ2hhcihwcml2YWN5LCAxNil9KSxcbiAgICAuLi4odGFncz8ubGVuZ3RoICYmIHt0YWdzOiB0YWdzLm1hcCgodGFnKSA9PiBwYXJzZVRhZyh0YWcpKX0pLFxuICAgIC4uLih0eXBlICYmIHt0eXBlOiBwYXJzZVJlYWt0b3JUeXBlKHR5cGUpfSksXG4gICAgLi4uKHVzZXJJZCAmJiB7dXNlcklkOiBwYXJzZUlkKHVzZXJJZCl9KVxuICB9KTtcblxuICByZXR1cm4gdHJhbnNmb3JtZWQ7XG59OyJdLAogICJtYXBwaW5ncyI6ICJBQUFBLE9BQVEsaUJBQUFBLEVBQWUsV0FBQUMsRUFBUyxZQUFBQyxFQUFVLGVBQUFDLEVBQWEsZ0JBQUFDLE1BQW1CLGVBQzFFLE9BQVEsS0FBQUMsTUFBUSxNQUdoQixPQUFRLGlCQUFBQyxNQUFvQixrQkFDNUIsT0FBUSxhQUFBQyxNQUFnQixnQkFDeEIsT0FDRSx1QkFBQUMsRUFDQSxvQkFBQUMsRUFDQSxvQkFBQUMsTUFDSyxtQkFDUCxPQUFRLFlBQUFDLE1BQWUsZUFDdkIsT0FBUSxtQkFBQUMsTUFBc0Isd0JBRTlCLE1BQU1DLEVBQTZCLElBRTVCLE1BQU1DLFVBQTRCLEtBQU0sQ0FDN0MsWUFBWUMsRUFBd0JDLEVBQWdCLENBQ2xELE1BQU1ELENBQU8sRUFEcUIsV0FBQUMsRUFFbEMsS0FBSyxLQUFPLHFCQUNkLENBQ0YsQ0FFQSxNQUFNQyxFQUFrQlosRUFBRSxPQUFPLENBQy9CLFFBQVNBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDN0IsUUFBU0EsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUM3QixNQUFPQSxFQUFFLE1BQU1BLEVBQUUsSUFBSSxDQUFDLEVBQUUsU0FBUyxFQUNqQyxRQUFTQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzdCLE9BQVFBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDNUIsU0FBVUEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUM5QixTQUFVQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzlCLFVBQVdBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDL0IsS0FBTUEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUMxQixTQUFVQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzlCLFFBQVNBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDN0IsVUFBV0EsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUMvQixLQUFNQSxFQUFFLE1BQU1BLEVBQUUsSUFBSSxDQUFDLEVBQUUsU0FBUyxFQUNoQyxLQUFNQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzFCLE9BQVFBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDNUIsSUFBS0EsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUN6QixLQUFNQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzFCLEtBQU1BLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDMUIsUUFBU0EsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUM3QixNQUFPQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzNCLElBQUtBLEVBQUUsT0FBTyxFQUFFLFNBQVMsQ0FDM0IsQ0FBQyxFQUFFLFlBQVksRUFFRmEsRUFBcUJDLEdBQTRCLENBQzVELEdBQUksQ0FFRixPQURrQkYsRUFBZ0IsTUFBTUUsQ0FBSSxDQUU5QyxPQUFRQyxFQUFPLENBQ2IsR0FBR0EsYUFBaUJmLEVBQUUsU0FBVSxDQUM5QixNQUFNZ0IsRUFBY0QsRUFBTSxPQUFPLElBQUssR0FBTSxHQUFHLEVBQUUsS0FBSyxLQUFLLEdBQUcsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQUUsS0FBSyxJQUFJLEVBQzFGLE1BQU0sSUFBSU4sRUFBb0IsMkJBQTJCTyxDQUFXLEVBQUUsQ0FDeEUsQ0FDQSxNQUFNRCxDQUNSLENBQ0YsRUFFYUUsRUFBb0JILEdBQTZCQSxFQUVqREksRUFBYUosR0FBNkIsQ0FDckQsR0FBSSxDQUVGLE9BRGVLLEVBQTBCTCxDQUFJLENBRS9DLE9BQVFDLEVBQU8sQ0FDYixNQUFHQSxhQUFpQk4sRUFDWk0sRUFFRixJQUFJTixFQUFvQix3QkFBd0JNLGFBQWlCLE1BQVFBLEVBQU0sUUFBVSxlQUFlLEVBQUUsQ0FDbEgsQ0FDRixFQUVNSSxFQUE2QkwsR0FBNkIsQ0FDOUQsS0FBTSxDQUNKLElBQUFNLEVBQ0EsS0FBQUMsRUFDQSxRQUFBQyxFQUNBLFFBQUFDLEVBQ0EsTUFBQUMsRUFDQSxRQUFBQyxFQUNBLEdBQUFDLEVBQ0EsU0FBQUMsRUFDQSxTQUFBQyxFQUNBLFVBQUFDLEVBQ0EsS0FBQUMsRUFDQSxTQUFBQyxFQUNBLE9BQUFDLEVBQ0EsUUFBQUMsRUFDQSxLQUFBQyxFQUNBLEtBQUFDLEVBQ0EsT0FBQUMsQ0FDRixFQUFJdEIsRUFxQkosT0FuQm9CUCxFQUFnQixDQUNsQyxHQUFHTixFQUFjYSxDQUFJLEVBQ3JCLEdBQUlRLEdBQVcsQ0FBQyxRQUFTbkIsRUFBb0JtQixFQUFTZCxDQUFrQixDQUFDLEVBQ3pFLEdBQUllLElBQVksUUFBYSxDQUFDLFFBQVNuQixFQUFpQm1CLENBQU8sQ0FBQyxFQUNoRSxHQUFJQyxHQUFPLFFBQVUsQ0FBQyxNQUFPQSxFQUFNLElBQUthLEdBQVNuQyxFQUFVbUMsQ0FBSSxDQUFDLENBQUMsRUFDakUsR0FBSVosR0FBVyxDQUFDLFFBQVM3QixFQUFRNkIsQ0FBTyxDQUFDLEVBQ3pDLEdBQUlFLElBQWEsUUFBYSxDQUFDLFNBQVU5QixFQUFTOEIsRUFBVSxFQUFFLENBQUMsRUFDL0QsR0FBSUMsR0FBWSxDQUFDLFNBQVU5QixFQUFZOEIsRUFBVSxHQUFHLENBQUMsRUFDckQsR0FBSUMsSUFBYyxRQUFhLENBQUMsVUFBV2hDLEVBQVNnQyxFQUFXLEVBQUUsQ0FBQyxFQUNsRSxHQUFJQyxHQUFRLENBQUMsS0FBTWhDLEVBQVlnQyxFQUFNLEdBQUcsQ0FBQyxFQUN6QyxHQUFJQyxHQUFZLENBQUMsU0FBVW5DLEVBQVFtQyxDQUFRLENBQUMsRUFDNUMsSUFBS1gsR0FBT00sR0FBTUwsR0FBUVcsSUFBVyxDQUFDLEdBQUlyQyxFQUFjeUIsR0FBT00sR0FBTSxTQUFTTCxHQUFRVyxDQUFNLEVBQUUsQ0FBQyxFQUMvRixJQUFLWCxHQUFRVyxJQUFXLENBQUMsT0FBUXBDLEVBQVF5QixHQUFRVyxDQUFNLENBQUMsRUFDeEQsR0FBSUMsR0FBVyxDQUFDLFFBQVNsQyxFQUFha0MsRUFBUyxFQUFFLENBQUMsRUFDbEQsR0FBSUMsR0FBTSxRQUFVLENBQUMsS0FBTUEsRUFBSyxJQUFLSSxHQUFRaEMsRUFBU2dDLENBQUcsQ0FBQyxDQUFDLEVBQzNELEdBQUlILEdBQVEsQ0FBQyxLQUFNOUIsRUFBaUI4QixDQUFJLENBQUMsRUFDekMsR0FBSUMsR0FBVSxDQUFDLE9BQVF4QyxFQUFRd0MsQ0FBTSxDQUFDLENBQ3hDLENBQUMsQ0FHSCIsCiAgIm5hbWVzIjogWyJwYXJzZUFyYW5nb0lkIiwgInBhcnNlSWQiLCAicGFyc2VOdW0iLCAicGFyc2VTdHJpbmciLCAicGFyc2VWYXJDaGFyIiwgInoiLCAicGFyc2VEb2N1bWVudCIsICJwYXJzZUZpbGUiLCAicGFyc2VSZWFrdG9yQ29udGVudCIsICJwYXJzZVJlYWt0b3JEYXRlIiwgInBhcnNlUmVha3RvclR5cGUiLCAicGFyc2VUYWciLCAicmVtb3ZlRW1wdHlLZXlzIiwgIk1BWF9DT05URU5UX0xFTkdUSCIsICJQb3N0VmFsaWRhdGlvbkVycm9yIiwgIm1lc3NhZ2UiLCAiZmllbGQiLCAiUG9zdElucHV0U2NoZW1hIiwgInZhbGlkYXRlUG9zdElucHV0IiwgInBvc3QiLCAiZXJyb3IiLCAiZmllbGRFcnJvcnMiLCAiZm9ybWF0UG9zdE91dHB1dCIsICJwYXJzZVBvc3QiLCAicGVyZm9ybVBvc3RUcmFuc2Zvcm1hdGlvbiIsICJfaWQiLCAiX2tleSIsICJjb250ZW50IiwgImVuZERhdGUiLCAiZmlsZXMiLCAiZ3JvdXBJZCIsICJpZCIsICJsYXRpdHVkZSIsICJsb2NhdGlvbiIsICJsb25naXR1ZGUiLCAibmFtZSIsICJwYXJlbnRJZCIsICJwb3N0SWQiLCAicHJpdmFjeSIsICJ0YWdzIiwgInR5cGUiLCAidXNlcklkIiwgImZpbGUiLCAidGFnIl0KfQo=
1
+ import{parseNum as _}from"@nlabs/utils/parsers/numbers";import{parseArangoId as w,parseId as s,parseString as E,parseVarChar as b}from"@nlabs/utils/parsers/strings";import{z as t}from"zod";import{removeEmptyKeys as k}from"../utils/adapterUtils.js";import{parseDocument as D}from"./arangoAdapter.js";import{parseFile as x}from"./fileAdapter.js";import{parseReaktorContent as $,parseReaktorDate as j,parseReaktorType as N}from"./reaktorAdapter.js";import{parseTag as R}from"./tagAdapter.js";const C=1e5;class p extends Error{constructor(n,e){super(n);this.field=e;this.name="PostValidationError"}}const V=t.object({content:t.string().optional(),endDate:t.number().optional(),files:t.array(t.any()).optional(),groupId:t.string().optional(),postId:t.string().optional(),latitude:t.number().optional(),location:t.string().optional(),longitude:t.number().optional(),name:t.string().optional(),parentId:t.string().optional(),privacy:t.string().optional(),startDate:t.number().optional(),tags:t.array(t.any()).optional(),type:t.string().optional(),userId:t.string().optional(),_id:t.string().optional(),_key:t.string().optional(),_rev:t.string().optional(),_oldRev:t.string().optional(),_from:t.string().optional(),_to:t.string().optional()}).passthrough(),U=r=>{try{return V.parse(r)}catch(o){if(o instanceof t.ZodError){const n=o.issues.map(e=>`${e.path.join(".")}: ${e.message}`).join(", ");throw new p(`Post validation failed: ${n}`)}throw o}},X=r=>r,Z=r=>{try{return A(r)}catch(o){throw o instanceof p?o:new p(`Post parsing failed: ${o instanceof Error?o.message:"Unknown error"}`)}},A=r=>{const{_id:o,_key:n,content:e,endDate:d,files:l,groupId:m,id:g,latitude:u,location:c,longitude:f,name:y,parentId:P,postId:a,privacy:I,tags:T,type:h,userId:v}=r;return k({...D(r),...e&&{content:$(e,C)},...d!==void 0&&{endDate:j(d)},...l?.length&&{files:l.map(i=>x(i))},...m&&{groupId:s(m)},...u!==void 0&&{latitude:_(u,15)},...c&&{location:E(c,160)},...f!==void 0&&{longitude:_(f,15)},...y&&{name:E(y,160)},...P&&{parentId:s(P)},...(o||g||n||a)&&{id:w(o||g||`posts/${n||a||""}`)},...(n||a)&&{postId:s(n||a||"")},...I&&{privacy:b(I,16)},...T?.length&&{tags:T.map(i=>R(i))},...h&&{type:N(h)},...v&&{userId:s(v)}})};export{p as PostValidationError,X as formatPostOutput,Z as parsePost,U as validatePostInput};
2
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FkYXB0ZXJzL3Bvc3RBZGFwdGVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQge3BhcnNlTnVtfSBmcm9tICdAbmxhYnMvdXRpbHMvcGFyc2Vycy9udW1iZXJzJztcbmltcG9ydCB7cGFyc2VBcmFuZ29JZCwgcGFyc2VJZCwgcGFyc2VTdHJpbmcsIHBhcnNlVmFyQ2hhcn0gZnJvbSAnQG5sYWJzL3V0aWxzL3BhcnNlcnMvc3RyaW5ncyc7XG5pbXBvcnQge3p9IGZyb20gJ3pvZCc7XG5cbmltcG9ydCB7cmVtb3ZlRW1wdHlLZXlzfSBmcm9tICcuLi91dGlscy9hZGFwdGVyVXRpbHMuanMnO1xuaW1wb3J0IHtwYXJzZURvY3VtZW50fSBmcm9tICcuL2FyYW5nb0FkYXB0ZXIuanMnO1xuaW1wb3J0IHtwYXJzZUZpbGV9IGZyb20gJy4vZmlsZUFkYXB0ZXIuanMnO1xuaW1wb3J0IHtcbiAgcGFyc2VSZWFrdG9yQ29udGVudCxcbiAgcGFyc2VSZWFrdG9yRGF0ZSxcbiAgcGFyc2VSZWFrdG9yVHlwZVxufSBmcm9tICcuL3JlYWt0b3JBZGFwdGVyLmpzJztcbmltcG9ydCB7cGFyc2VUYWd9IGZyb20gJy4vdGFnQWRhcHRlci5qcyc7XG5cbmltcG9ydCB0eXBlIHtQb3N0VHlwZX0gZnJvbSAnLi4vdHlwZXMvcG9zdHMudHlwZXMuanMnO1xuXG5jb25zdCBNQVhfQ09OVEVOVF9MRU5HVEg6IG51bWJlciA9IDEwMDAwMDtcblxuZXhwb3J0IGNsYXNzIFBvc3RWYWxpZGF0aW9uRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZywgcHVibGljIGZpZWxkPzogc3RyaW5nKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gICAgdGhpcy5uYW1lID0gJ1Bvc3RWYWxpZGF0aW9uRXJyb3InO1xuICB9XG59XG5cbmNvbnN0IFBvc3RJbnB1dFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgY29udGVudDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBlbmREYXRlOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIGZpbGVzOiB6LmFycmF5KHouYW55KCkpLm9wdGlvbmFsKCksXG4gIGdyb3VwSWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgcG9zdElkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGxhdGl0dWRlOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIGxvY2F0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGxvbmdpdHVkZTogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICBuYW1lOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHBhcmVudElkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHByaXZhY3k6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgc3RhcnREYXRlOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIHRhZ3M6IHouYXJyYXkoei5hbnkoKSkub3B0aW9uYWwoKSxcbiAgdHlwZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICB1c2VySWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX2lkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9rZXk6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX3Jldjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfb2xkUmV2OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9mcm9tOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF90bzogei5zdHJpbmcoKS5vcHRpb25hbCgpXG59KS5wYXNzdGhyb3VnaCgpO1xuXG5leHBvcnQgY29uc3QgdmFsaWRhdGVQb3N0SW5wdXQgPSAocG9zdDogdW5rbm93bik6IFBvc3RUeXBlID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCB2YWxpZGF0ZWQgPSBQb3N0SW5wdXRTY2hlbWEucGFyc2UocG9zdCk7XG4gICAgcmV0dXJuIHZhbGlkYXRlZCBhcyBQb3N0VHlwZTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIGlmKGVycm9yIGluc3RhbmNlb2Ygei5ab2RFcnJvcikge1xuICAgICAgY29uc3QgZmllbGRFcnJvcnMgPSBlcnJvci5pc3N1ZXMubWFwKChlKSA9PiBgJHtlLnBhdGguam9pbignLicpfTogJHtlLm1lc3NhZ2V9YCkuam9pbignLCAnKTtcbiAgICAgIHRocm93IG5ldyBQb3N0VmFsaWRhdGlvbkVycm9yKGBQb3N0IHZhbGlkYXRpb24gZmFpbGVkOiAke2ZpZWxkRXJyb3JzfWApO1xuICAgIH1cbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGZvcm1hdFBvc3RPdXRwdXQgPSAocG9zdDogUG9zdFR5cGUpOiBQb3N0VHlwZSA9PiBwb3N0O1xuXG5leHBvcnQgY29uc3QgcGFyc2VQb3N0ID0gKHBvc3Q6IFBvc3RUeXBlKTogUG9zdFR5cGUgPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IHBhcnNlZCA9IHBlcmZvcm1Qb3N0VHJhbnNmb3JtYXRpb24ocG9zdCk7XG4gICAgcmV0dXJuIHBhcnNlZDtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIGlmKGVycm9yIGluc3RhbmNlb2YgUG9zdFZhbGlkYXRpb25FcnJvcikge1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICAgIHRocm93IG5ldyBQb3N0VmFsaWRhdGlvbkVycm9yKGBQb3N0IHBhcnNpbmcgZmFpbGVkOiAke2Vycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ1Vua25vd24gZXJyb3InfWApO1xuICB9XG59O1xuXG5jb25zdCBwZXJmb3JtUG9zdFRyYW5zZm9ybWF0aW9uID0gKHBvc3Q6IFBvc3RUeXBlKTogUG9zdFR5cGUgPT4ge1xuICBjb25zdCB7XG4gICAgX2lkLFxuICAgIF9rZXksXG4gICAgY29udGVudCxcbiAgICBlbmREYXRlLFxuICAgIGZpbGVzLFxuICAgIGdyb3VwSWQsXG4gICAgaWQsXG4gICAgbGF0aXR1ZGUsXG4gICAgbG9jYXRpb24sXG4gICAgbG9uZ2l0dWRlLFxuICAgIG5hbWUsXG4gICAgcGFyZW50SWQsXG4gICAgcG9zdElkLFxuICAgIHByaXZhY3ksXG4gICAgdGFncyxcbiAgICB0eXBlLFxuICAgIHVzZXJJZFxuICB9ID0gcG9zdDtcblxuICBjb25zdCB0cmFuc2Zvcm1lZCA9IHJlbW92ZUVtcHR5S2V5cyh7XG4gICAgLi4ucGFyc2VEb2N1bWVudChwb3N0KSxcbiAgICAuLi4oY29udGVudCAmJiB7Y29udGVudDogcGFyc2VSZWFrdG9yQ29udGVudChjb250ZW50LCBNQVhfQ09OVEVOVF9MRU5HVEgpfSksXG4gICAgLi4uKGVuZERhdGUgIT09IHVuZGVmaW5lZCAmJiB7ZW5kRGF0ZTogcGFyc2VSZWFrdG9yRGF0ZShlbmREYXRlKX0pLFxuICAgIC4uLihmaWxlcz8ubGVuZ3RoICYmIHtmaWxlczogZmlsZXMubWFwKChmaWxlKSA9PiBwYXJzZUZpbGUoZmlsZSkpfSksXG4gICAgLi4uKGdyb3VwSWQgJiYge2dyb3VwSWQ6IHBhcnNlSWQoZ3JvdXBJZCl9KSxcbiAgICAuLi4obGF0aXR1ZGUgIT09IHVuZGVmaW5lZCAmJiB7bGF0aXR1ZGU6IHBhcnNlTnVtKGxhdGl0dWRlLCAxNSl9KSxcbiAgICAuLi4obG9jYXRpb24gJiYge2xvY2F0aW9uOiBwYXJzZVN0cmluZyhsb2NhdGlvbiwgMTYwKX0pLFxuICAgIC4uLihsb25naXR1ZGUgIT09IHVuZGVmaW5lZCAmJiB7bG9uZ2l0dWRlOiBwYXJzZU51bShsb25naXR1ZGUsIDE1KX0pLFxuICAgIC4uLihuYW1lICYmIHtuYW1lOiBwYXJzZVN0cmluZyhuYW1lLCAxNjApfSksXG4gICAgLi4uKHBhcmVudElkICYmIHtwYXJlbnRJZDogcGFyc2VJZChwYXJlbnRJZCl9KSxcbiAgICAuLi4oKF9pZCB8fCBpZCB8fCBfa2V5IHx8IHBvc3RJZCkgJiYge2lkOiBwYXJzZUFyYW5nb0lkKF9pZCB8fCBpZCB8fCBgcG9zdHMvJHtfa2V5IHx8IHBvc3RJZCB8fCAnJ31gKX0pLFxuICAgIC4uLigoX2tleSB8fCBwb3N0SWQpICYmIHtwb3N0SWQ6IHBhcnNlSWQoX2tleSB8fCBwb3N0SWQgfHwgJycpfSksXG4gICAgLi4uKHByaXZhY3kgJiYge3ByaXZhY3k6IHBhcnNlVmFyQ2hhcihwcml2YWN5LCAxNil9KSxcbiAgICAuLi4odGFncz8ubGVuZ3RoICYmIHt0YWdzOiB0YWdzLm1hcCgodGFnKSA9PiBwYXJzZVRhZyh0YWcpKX0pLFxuICAgIC4uLih0eXBlICYmIHt0eXBlOiBwYXJzZVJlYWt0b3JUeXBlKHR5cGUpfSksXG4gICAgLi4uKHVzZXJJZCAmJiB7dXNlcklkOiBwYXJzZUlkKHVzZXJJZCl9KVxuICB9KTtcblxuICByZXR1cm4gdHJhbnNmb3JtZWQ7XG59OyJdLAogICJtYXBwaW5ncyI6ICJBQUFBLE9BQVEsWUFBQUEsTUFBZSwrQkFDdkIsT0FBUSxpQkFBQUMsRUFBZSxXQUFBQyxFQUFTLGVBQUFDLEVBQWEsZ0JBQUFDLE1BQW1CLCtCQUNoRSxPQUFRLEtBQUFDLE1BQVEsTUFFaEIsT0FBUSxtQkFBQUMsTUFBc0IsMkJBQzlCLE9BQVEsaUJBQUFDLE1BQW9CLHFCQUM1QixPQUFRLGFBQUFDLE1BQWdCLG1CQUN4QixPQUNFLHVCQUFBQyxFQUNBLG9CQUFBQyxFQUNBLG9CQUFBQyxNQUNLLHNCQUNQLE9BQVEsWUFBQUMsTUFBZSxrQkFJdkIsTUFBTUMsRUFBNkIsSUFFNUIsTUFBTUMsVUFBNEIsS0FBTSxDQUM3QyxZQUFZQyxFQUF3QkMsRUFBZ0IsQ0FDbEQsTUFBTUQsQ0FBTyxFQURxQixXQUFBQyxFQUVsQyxLQUFLLEtBQU8scUJBQ2QsQ0FDRixDQUVBLE1BQU1DLEVBQWtCWixFQUFFLE9BQU8sQ0FDL0IsUUFBU0EsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUM3QixRQUFTQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzdCLE1BQU9BLEVBQUUsTUFBTUEsRUFBRSxJQUFJLENBQUMsRUFBRSxTQUFTLEVBQ2pDLFFBQVNBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDN0IsT0FBUUEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUM1QixTQUFVQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzlCLFNBQVVBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDOUIsVUFBV0EsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUMvQixLQUFNQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzFCLFNBQVVBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDOUIsUUFBU0EsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUM3QixVQUFXQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQy9CLEtBQU1BLEVBQUUsTUFBTUEsRUFBRSxJQUFJLENBQUMsRUFBRSxTQUFTLEVBQ2hDLEtBQU1BLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDMUIsT0FBUUEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUM1QixJQUFLQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQ3pCLEtBQU1BLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDMUIsS0FBTUEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUMxQixRQUFTQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzdCLE1BQU9BLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDM0IsSUFBS0EsRUFBRSxPQUFPLEVBQUUsU0FBUyxDQUMzQixDQUFDLEVBQUUsWUFBWSxFQUVGYSxFQUFxQkMsR0FBNEIsQ0FDNUQsR0FBSSxDQUVGLE9BRGtCRixFQUFnQixNQUFNRSxDQUFJLENBRTlDLE9BQVFDLEVBQU8sQ0FDYixHQUFHQSxhQUFpQmYsRUFBRSxTQUFVLENBQzlCLE1BQU1nQixFQUFjRCxFQUFNLE9BQU8sSUFBSyxHQUFNLEdBQUcsRUFBRSxLQUFLLEtBQUssR0FBRyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRSxLQUFLLElBQUksRUFDMUYsTUFBTSxJQUFJTixFQUFvQiwyQkFBMkJPLENBQVcsRUFBRSxDQUN4RSxDQUNBLE1BQU1ELENBQ1IsQ0FDRixFQUVhRSxFQUFvQkgsR0FBNkJBLEVBRWpESSxFQUFhSixHQUE2QixDQUNyRCxHQUFJLENBRUYsT0FEZUssRUFBMEJMLENBQUksQ0FFL0MsT0FBUUMsRUFBTyxDQUNiLE1BQUdBLGFBQWlCTixFQUNaTSxFQUVGLElBQUlOLEVBQW9CLHdCQUF3Qk0sYUFBaUIsTUFBUUEsRUFBTSxRQUFVLGVBQWUsRUFBRSxDQUNsSCxDQUNGLEVBRU1JLEVBQTZCTCxHQUE2QixDQUM5RCxLQUFNLENBQ0osSUFBQU0sRUFDQSxLQUFBQyxFQUNBLFFBQUFDLEVBQ0EsUUFBQUMsRUFDQSxNQUFBQyxFQUNBLFFBQUFDLEVBQ0EsR0FBQUMsRUFDQSxTQUFBQyxFQUNBLFNBQUFDLEVBQ0EsVUFBQUMsRUFDQSxLQUFBQyxFQUNBLFNBQUFDLEVBQ0EsT0FBQUMsRUFDQSxRQUFBQyxFQUNBLEtBQUFDLEVBQ0EsS0FBQUMsRUFDQSxPQUFBQyxDQUNGLEVBQUl0QixFQXFCSixPQW5Cb0JiLEVBQWdCLENBQ2xDLEdBQUdDLEVBQWNZLENBQUksRUFDckIsR0FBSVEsR0FBVyxDQUFDLFFBQVNsQixFQUFvQmtCLEVBQVNkLENBQWtCLENBQUMsRUFDekUsR0FBSWUsSUFBWSxRQUFhLENBQUMsUUFBU2xCLEVBQWlCa0IsQ0FBTyxDQUFDLEVBQ2hFLEdBQUlDLEdBQU8sUUFBVSxDQUFDLE1BQU9BLEVBQU0sSUFBS2EsR0FBU2xDLEVBQVVrQyxDQUFJLENBQUMsQ0FBQyxFQUNqRSxHQUFJWixHQUFXLENBQUMsUUFBUzVCLEVBQVE0QixDQUFPLENBQUMsRUFDekMsR0FBSUUsSUFBYSxRQUFhLENBQUMsU0FBVWhDLEVBQVNnQyxFQUFVLEVBQUUsQ0FBQyxFQUMvRCxHQUFJQyxHQUFZLENBQUMsU0FBVTlCLEVBQVk4QixFQUFVLEdBQUcsQ0FBQyxFQUNyRCxHQUFJQyxJQUFjLFFBQWEsQ0FBQyxVQUFXbEMsRUFBU2tDLEVBQVcsRUFBRSxDQUFDLEVBQ2xFLEdBQUlDLEdBQVEsQ0FBQyxLQUFNaEMsRUFBWWdDLEVBQU0sR0FBRyxDQUFDLEVBQ3pDLEdBQUlDLEdBQVksQ0FBQyxTQUFVbEMsRUFBUWtDLENBQVEsQ0FBQyxFQUM1QyxJQUFLWCxHQUFPTSxHQUFNTCxHQUFRVyxJQUFXLENBQUMsR0FBSXBDLEVBQWN3QixHQUFPTSxHQUFNLFNBQVNMLEdBQVFXLEdBQVUsRUFBRSxFQUFFLENBQUMsRUFDckcsSUFBS1gsR0FBUVcsSUFBVyxDQUFDLE9BQVFuQyxFQUFRd0IsR0FBUVcsR0FBVSxFQUFFLENBQUMsRUFDOUQsR0FBSUMsR0FBVyxDQUFDLFFBQVNsQyxFQUFha0MsRUFBUyxFQUFFLENBQUMsRUFDbEQsR0FBSUMsR0FBTSxRQUFVLENBQUMsS0FBTUEsRUFBSyxJQUFLSSxHQUFRL0IsRUFBUytCLENBQUcsQ0FBQyxDQUFDLEVBQzNELEdBQUlILEdBQVEsQ0FBQyxLQUFNN0IsRUFBaUI2QixDQUFJLENBQUMsRUFDekMsR0FBSUMsR0FBVSxDQUFDLE9BQVF2QyxFQUFRdUMsQ0FBTSxDQUFDLENBQ3hDLENBQUMsQ0FHSCIsCiAgIm5hbWVzIjogWyJwYXJzZU51bSIsICJwYXJzZUFyYW5nb0lkIiwgInBhcnNlSWQiLCAicGFyc2VTdHJpbmciLCAicGFyc2VWYXJDaGFyIiwgInoiLCAicmVtb3ZlRW1wdHlLZXlzIiwgInBhcnNlRG9jdW1lbnQiLCAicGFyc2VGaWxlIiwgInBhcnNlUmVha3RvckNvbnRlbnQiLCAicGFyc2VSZWFrdG9yRGF0ZSIsICJwYXJzZVJlYWt0b3JUeXBlIiwgInBhcnNlVGFnIiwgIk1BWF9DT05URU5UX0xFTkdUSCIsICJQb3N0VmFsaWRhdGlvbkVycm9yIiwgIm1lc3NhZ2UiLCAiZmllbGQiLCAiUG9zdElucHV0U2NoZW1hIiwgInZhbGlkYXRlUG9zdElucHV0IiwgInBvc3QiLCAiZXJyb3IiLCAiZmllbGRFcnJvcnMiLCAiZm9ybWF0UG9zdE91dHB1dCIsICJwYXJzZVBvc3QiLCAicGVyZm9ybVBvc3RUcmFuc2Zvcm1hdGlvbiIsICJfaWQiLCAiX2tleSIsICJjb250ZW50IiwgImVuZERhdGUiLCAiZmlsZXMiLCAiZ3JvdXBJZCIsICJpZCIsICJsYXRpdHVkZSIsICJsb2NhdGlvbiIsICJsb25naXR1ZGUiLCAibmFtZSIsICJwYXJlbnRJZCIsICJwb3N0SWQiLCAicHJpdmFjeSIsICJ0YWdzIiwgInR5cGUiLCAidXNlcklkIiwgImZpbGUiLCAidGFnIl0KfQo=
@@ -0,0 +1,16 @@
1
+ export declare class ReaktorValidationError extends Error {
2
+ field?: string;
3
+ constructor(message: string, field?: string);
4
+ }
5
+ export declare const validateReaktorContent: (content?: string, length?: number) => string | undefined;
6
+ export declare const validateReaktorDate: (date?: number) => number | undefined;
7
+ export declare const validateReaktorItemId: (itemId?: string) => string | undefined;
8
+ export declare const validateReaktorName: (name?: string) => string | undefined;
9
+ export declare const validateReaktorType: (type?: string) => string | undefined;
10
+ export declare const validateReaktorUrl: (url?: string) => string | undefined;
11
+ export declare const parseReaktorContent: (content?: string, length?: number) => string | undefined;
12
+ export declare const parseReaktorDate: (date?: number) => number | undefined;
13
+ export declare const parseReaktorItemId: (itemId?: string) => string | undefined;
14
+ export declare const parseReaktorName: (name?: string) => string | undefined;
15
+ export declare const parseReaktorType: (type?: string) => string | undefined;
16
+ export declare const parseReaktorUrl: (url?: string) => string | undefined;
@@ -1,2 +1,2 @@
1
- import{parseId as a,parseNum as i,parseString as o,parseUrl as s,parseVarChar as d}from"@nlabs/utils";class n extends Error{constructor(t,m){super(t);this.field=m;this.name="ReaktorValidationError"}}const w=(r,e=500)=>{try{return c(r,e)}catch(t){throw new n(`Content validation failed: ${t instanceof Error?t.message:"Unknown error"}`,"content")}},R=r=>{try{return u(r)}catch(e){throw new n(`Date validation failed: ${e instanceof Error?e.message:"Unknown error"}`,"date")}},h=r=>{try{return f(r)}catch(e){throw new n(`Item ID validation failed: ${e instanceof Error?e.message:"Unknown error"}`,"itemId")}},x=r=>{try{return p(r)}catch(e){throw new n(`Name validation failed: ${e instanceof Error?e.message:"Unknown error"}`,"name")}},v=r=>{try{return g(r)}catch(e){throw new n(`Type validation failed: ${e instanceof Error?e.message:"Unknown error"}`,"type")}},U=r=>{try{return l(r)}catch(e){throw new n(`URL validation failed: ${e instanceof Error?e.message:"Unknown error"}`,"url")}},c=(r,e=500)=>r?o(r,e):void 0,u=r=>r?i(r,13):void 0,f=r=>r?a(r):void 0,p=r=>r?o(r,160):void 0,g=r=>r?d(r,160):void 0,l=r=>r?s(r):void 0;export{n as ReaktorValidationError,c as parseReaktorContent,u as parseReaktorDate,f as parseReaktorItemId,p as parseReaktorName,g as parseReaktorType,l as parseReaktorUrl,w as validateReaktorContent,R as validateReaktorDate,h as validateReaktorItemId,x as validateReaktorName,v as validateReaktorType,U as validateReaktorUrl};
2
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FkYXB0ZXJzL3JlYWt0b3JBZGFwdGVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQge3BhcnNlSWQsIHBhcnNlTnVtLCBwYXJzZVN0cmluZywgcGFyc2VVcmwsIHBhcnNlVmFyQ2hhcn0gZnJvbSAnQG5sYWJzL3V0aWxzJztcblxuZXhwb3J0IGNsYXNzIFJlYWt0b3JWYWxpZGF0aW9uRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZywgcHVibGljIGZpZWxkPzogc3RyaW5nKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gICAgdGhpcy5uYW1lID0gJ1JlYWt0b3JWYWxpZGF0aW9uRXJyb3InO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZVJlYWt0b3JDb250ZW50ID0gKGNvbnRlbnQ/OiBzdHJpbmcsIGxlbmd0aDogbnVtYmVyID0gNTAwKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gcGFyc2VSZWFrdG9yQ29udGVudChjb250ZW50LCBsZW5ndGgpO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgdGhyb3cgbmV3IFJlYWt0b3JWYWxpZGF0aW9uRXJyb3IoYENvbnRlbnQgdmFsaWRhdGlvbiBmYWlsZWQ6ICR7ZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnVW5rbm93biBlcnJvcid9YCwgJ2NvbnRlbnQnKTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlUmVha3RvckRhdGUgPSAoZGF0ZT86IG51bWJlcik6IG51bWJlciB8IHVuZGVmaW5lZCA9PiB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIHBhcnNlUmVha3RvckRhdGUoZGF0ZSk7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICB0aHJvdyBuZXcgUmVha3RvclZhbGlkYXRpb25FcnJvcihgRGF0ZSB2YWxpZGF0aW9uIGZhaWxlZDogJHtlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdVbmtub3duIGVycm9yJ31gLCAnZGF0ZScpO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgdmFsaWRhdGVSZWFrdG9ySXRlbUlkID0gKGl0ZW1JZD86IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCA9PiB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIHBhcnNlUmVha3Rvckl0ZW1JZChpdGVtSWQpO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgdGhyb3cgbmV3IFJlYWt0b3JWYWxpZGF0aW9uRXJyb3IoYEl0ZW0gSUQgdmFsaWRhdGlvbiBmYWlsZWQ6ICR7ZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnVW5rbm93biBlcnJvcid9YCwgJ2l0ZW1JZCcpO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgdmFsaWRhdGVSZWFrdG9yTmFtZSA9IChuYW1lPzogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gcGFyc2VSZWFrdG9yTmFtZShuYW1lKTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIHRocm93IG5ldyBSZWFrdG9yVmFsaWRhdGlvbkVycm9yKGBOYW1lIHZhbGlkYXRpb24gZmFpbGVkOiAke2Vycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ1Vua25vd24gZXJyb3InfWAsICduYW1lJyk7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZVJlYWt0b3JUeXBlID0gKHR5cGU/OiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQgPT4ge1xuICB0cnkge1xuICAgIHJldHVybiBwYXJzZVJlYWt0b3JUeXBlKHR5cGUpO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgdGhyb3cgbmV3IFJlYWt0b3JWYWxpZGF0aW9uRXJyb3IoYFR5cGUgdmFsaWRhdGlvbiBmYWlsZWQ6ICR7ZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnVW5rbm93biBlcnJvcid9YCwgJ3R5cGUnKTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlUmVha3RvclVybCA9ICh1cmw/OiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQgPT4ge1xuICB0cnkge1xuICAgIHJldHVybiBwYXJzZVJlYWt0b3JVcmwodXJsKTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIHRocm93IG5ldyBSZWFrdG9yVmFsaWRhdGlvbkVycm9yKGBVUkwgdmFsaWRhdGlvbiBmYWlsZWQ6ICR7ZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnVW5rbm93biBlcnJvcid9YCwgJ3VybCcpO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgcGFyc2VSZWFrdG9yQ29udGVudCA9IChjb250ZW50Pzogc3RyaW5nLCBsZW5ndGg6IG51bWJlciA9IDUwMCk6IHN0cmluZyB8IHVuZGVmaW5lZCA9PlxuICAoY29udGVudCA/IHBhcnNlU3RyaW5nKGNvbnRlbnQsIGxlbmd0aCkgOiB1bmRlZmluZWQpO1xuXG5leHBvcnQgY29uc3QgcGFyc2VSZWFrdG9yRGF0ZSA9IChkYXRlPzogbnVtYmVyKTogbnVtYmVyIHwgdW5kZWZpbmVkID0+XG4gIChkYXRlID8gcGFyc2VOdW0oZGF0ZSwgMTMpIDogdW5kZWZpbmVkKTtcblxuZXhwb3J0IGNvbnN0IHBhcnNlUmVha3Rvckl0ZW1JZCA9IChpdGVtSWQ/OiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQgPT5cbiAgKGl0ZW1JZCA/IHBhcnNlSWQoaXRlbUlkKSA6IHVuZGVmaW5lZCk7XG5cbmV4cG9ydCBjb25zdCBwYXJzZVJlYWt0b3JOYW1lID0gKG5hbWU/OiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQgPT5cbiAgKG5hbWUgPyBwYXJzZVN0cmluZyhuYW1lLCAxNjApIDogdW5kZWZpbmVkKTtcblxuZXhwb3J0IGNvbnN0IHBhcnNlUmVha3RvclR5cGUgPSAodHlwZT86IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCA9PlxuICAodHlwZSA/IHBhcnNlVmFyQ2hhcih0eXBlLCAxNjApIDogdW5kZWZpbmVkKTtcblxuZXhwb3J0IGNvbnN0IHBhcnNlUmVha3RvclVybCA9ICh1cmw/OiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQgPT5cbiAgKHVybCA/IHBhcnNlVXJsKHVybCkgOiB1bmRlZmluZWQpO1xuIl0sCiAgIm1hcHBpbmdzIjogIkFBQUEsT0FBUSxXQUFBQSxFQUFTLFlBQUFDLEVBQVUsZUFBQUMsRUFBYSxZQUFBQyxFQUFVLGdCQUFBQyxNQUFtQixlQUU5RCxNQUFNQyxVQUErQixLQUFNLENBQ2hELFlBQVlDLEVBQXdCQyxFQUFnQixDQUNsRCxNQUFNRCxDQUFPLEVBRHFCLFdBQUFDLEVBRWxDLEtBQUssS0FBTyx3QkFDZCxDQUNGLENBRU8sTUFBTUMsRUFBeUIsQ0FBQ0MsRUFBa0JDLEVBQWlCLE1BQTRCLENBQ3BHLEdBQUksQ0FDRixPQUFPQyxFQUFvQkYsRUFBU0MsQ0FBTSxDQUM1QyxPQUFRRSxFQUFPLENBQ2IsTUFBTSxJQUFJUCxFQUF1Qiw4QkFBOEJPLGFBQWlCLE1BQVFBLEVBQU0sUUFBVSxlQUFlLEdBQUksU0FBUyxDQUN0SSxDQUNGLEVBRWFDLEVBQXVCQyxHQUFzQyxDQUN4RSxHQUFJLENBQ0YsT0FBT0MsRUFBaUJELENBQUksQ0FDOUIsT0FBUUYsRUFBTyxDQUNiLE1BQU0sSUFBSVAsRUFBdUIsMkJBQTJCTyxhQUFpQixNQUFRQSxFQUFNLFFBQVUsZUFBZSxHQUFJLE1BQU0sQ0FDaEksQ0FDRixFQUVhSSxFQUF5QkMsR0FBd0MsQ0FDNUUsR0FBSSxDQUNGLE9BQU9DLEVBQW1CRCxDQUFNLENBQ2xDLE9BQVFMLEVBQU8sQ0FDYixNQUFNLElBQUlQLEVBQXVCLDhCQUE4Qk8sYUFBaUIsTUFBUUEsRUFBTSxRQUFVLGVBQWUsR0FBSSxRQUFRLENBQ3JJLENBQ0YsRUFFYU8sRUFBdUJDLEdBQXNDLENBQ3hFLEdBQUksQ0FDRixPQUFPQyxFQUFpQkQsQ0FBSSxDQUM5QixPQUFRUixFQUFPLENBQ2IsTUFBTSxJQUFJUCxFQUF1QiwyQkFBMkJPLGFBQWlCLE1BQVFBLEVBQU0sUUFBVSxlQUFlLEdBQUksTUFBTSxDQUNoSSxDQUNGLEVBRWFVLEVBQXVCQyxHQUFzQyxDQUN4RSxHQUFJLENBQ0YsT0FBT0MsRUFBaUJELENBQUksQ0FDOUIsT0FBUVgsRUFBTyxDQUNiLE1BQU0sSUFBSVAsRUFBdUIsMkJBQTJCTyxhQUFpQixNQUFRQSxFQUFNLFFBQVUsZUFBZSxHQUFJLE1BQU0sQ0FDaEksQ0FDRixFQUVhYSxFQUFzQkMsR0FBcUMsQ0FDdEUsR0FBSSxDQUNGLE9BQU9DLEVBQWdCRCxDQUFHLENBQzVCLE9BQVFkLEVBQU8sQ0FDYixNQUFNLElBQUlQLEVBQXVCLDBCQUEwQk8sYUFBaUIsTUFBUUEsRUFBTSxRQUFVLGVBQWUsR0FBSSxLQUFLLENBQzlILENBQ0YsRUFFYUQsRUFBc0IsQ0FBQ0YsRUFBa0JDLEVBQWlCLE1BQ3BFRCxFQUFVUCxFQUFZTyxFQUFTQyxDQUFNLEVBQUksT0FFL0JLLEVBQW9CRCxHQUM5QkEsRUFBT2IsRUFBU2EsRUFBTSxFQUFFLEVBQUksT0FFbEJJLEVBQXNCRCxHQUNoQ0EsRUFBU2pCLEVBQVFpQixDQUFNLEVBQUksT0FFakJJLEVBQW9CRCxHQUM5QkEsRUFBT2xCLEVBQVlrQixFQUFNLEdBQUcsRUFBSSxPQUV0QkksRUFBb0JELEdBQzlCQSxFQUFPbkIsRUFBYW1CLEVBQU0sR0FBRyxFQUFJLE9BRXZCSSxFQUFtQkQsR0FDN0JBLEVBQU12QixFQUFTdUIsQ0FBRyxFQUFJIiwKICAibmFtZXMiOiBbInBhcnNlSWQiLCAicGFyc2VOdW0iLCAicGFyc2VTdHJpbmciLCAicGFyc2VVcmwiLCAicGFyc2VWYXJDaGFyIiwgIlJlYWt0b3JWYWxpZGF0aW9uRXJyb3IiLCAibWVzc2FnZSIsICJmaWVsZCIsICJ2YWxpZGF0ZVJlYWt0b3JDb250ZW50IiwgImNvbnRlbnQiLCAibGVuZ3RoIiwgInBhcnNlUmVha3RvckNvbnRlbnQiLCAiZXJyb3IiLCAidmFsaWRhdGVSZWFrdG9yRGF0ZSIsICJkYXRlIiwgInBhcnNlUmVha3RvckRhdGUiLCAidmFsaWRhdGVSZWFrdG9ySXRlbUlkIiwgIml0ZW1JZCIsICJwYXJzZVJlYWt0b3JJdGVtSWQiLCAidmFsaWRhdGVSZWFrdG9yTmFtZSIsICJuYW1lIiwgInBhcnNlUmVha3Rvck5hbWUiLCAidmFsaWRhdGVSZWFrdG9yVHlwZSIsICJ0eXBlIiwgInBhcnNlUmVha3RvclR5cGUiLCAidmFsaWRhdGVSZWFrdG9yVXJsIiwgInVybCIsICJwYXJzZVJlYWt0b3JVcmwiXQp9Cg==
1
+ import{parseNum as a}from"@nlabs/utils/parsers/numbers";import{parseId as i,parseString as o,parseUrl as s,parseVarChar as d}from"@nlabs/utils/parsers/strings";class n extends Error{constructor(t,m){super(t);this.field=m;this.name="ReaktorValidationError"}}const R=(r,e=500)=>{try{return c(r,e)}catch(t){throw new n(`Content validation failed: ${t instanceof Error?t.message:"Unknown error"}`,"content")}},h=r=>{try{return u(r)}catch(e){throw new n(`Date validation failed: ${e instanceof Error?e.message:"Unknown error"}`,"date")}},x=r=>{try{return f(r)}catch(e){throw new n(`Item ID validation failed: ${e instanceof Error?e.message:"Unknown error"}`,"itemId")}},v=r=>{try{return p(r)}catch(e){throw new n(`Name validation failed: ${e instanceof Error?e.message:"Unknown error"}`,"name")}},U=r=>{try{return g(r)}catch(e){throw new n(`Type validation failed: ${e instanceof Error?e.message:"Unknown error"}`,"type")}},y=r=>{try{return l(r)}catch(e){throw new n(`URL validation failed: ${e instanceof Error?e.message:"Unknown error"}`,"url")}},c=(r,e=500)=>r?o(r,e):void 0,u=r=>r?a(r,13):void 0,f=r=>r?i(r):void 0,p=r=>r?o(r,160):void 0,g=r=>r?d(r,160):void 0,l=r=>r?s(r):void 0;export{n as ReaktorValidationError,c as parseReaktorContent,u as parseReaktorDate,f as parseReaktorItemId,p as parseReaktorName,g as parseReaktorType,l as parseReaktorUrl,R as validateReaktorContent,h as validateReaktorDate,x as validateReaktorItemId,v as validateReaktorName,U as validateReaktorType,y as validateReaktorUrl};
2
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FkYXB0ZXJzL3JlYWt0b3JBZGFwdGVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQge3BhcnNlTnVtfSBmcm9tICdAbmxhYnMvdXRpbHMvcGFyc2Vycy9udW1iZXJzJztcbmltcG9ydCB7cGFyc2VJZCwgcGFyc2VTdHJpbmcsIHBhcnNlVXJsLCBwYXJzZVZhckNoYXJ9IGZyb20gJ0BubGFicy91dGlscy9wYXJzZXJzL3N0cmluZ3MnO1xuXG5leHBvcnQgY2xhc3MgUmVha3RvclZhbGlkYXRpb25FcnJvciBleHRlbmRzIEVycm9yIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nLCBwdWJsaWMgZmllbGQ/OiBzdHJpbmcpIHtcbiAgICBzdXBlcihtZXNzYWdlKTtcbiAgICB0aGlzLm5hbWUgPSAnUmVha3RvclZhbGlkYXRpb25FcnJvcic7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlUmVha3RvckNvbnRlbnQgPSAoY29udGVudD86IHN0cmluZywgbGVuZ3RoOiBudW1iZXIgPSA1MDApOiBzdHJpbmcgfCB1bmRlZmluZWQgPT4ge1xuICB0cnkge1xuICAgIHJldHVybiBwYXJzZVJlYWt0b3JDb250ZW50KGNvbnRlbnQsIGxlbmd0aCk7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICB0aHJvdyBuZXcgUmVha3RvclZhbGlkYXRpb25FcnJvcihgQ29udGVudCB2YWxpZGF0aW9uIGZhaWxlZDogJHtlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdVbmtub3duIGVycm9yJ31gLCAnY29udGVudCcpO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgdmFsaWRhdGVSZWFrdG9yRGF0ZSA9IChkYXRlPzogbnVtYmVyKTogbnVtYmVyIHwgdW5kZWZpbmVkID0+IHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gcGFyc2VSZWFrdG9yRGF0ZShkYXRlKTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIHRocm93IG5ldyBSZWFrdG9yVmFsaWRhdGlvbkVycm9yKGBEYXRlIHZhbGlkYXRpb24gZmFpbGVkOiAke2Vycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ1Vua25vd24gZXJyb3InfWAsICdkYXRlJyk7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZVJlYWt0b3JJdGVtSWQgPSAoaXRlbUlkPzogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gcGFyc2VSZWFrdG9ySXRlbUlkKGl0ZW1JZCk7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICB0aHJvdyBuZXcgUmVha3RvclZhbGlkYXRpb25FcnJvcihgSXRlbSBJRCB2YWxpZGF0aW9uIGZhaWxlZDogJHtlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdVbmtub3duIGVycm9yJ31gLCAnaXRlbUlkJyk7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZVJlYWt0b3JOYW1lID0gKG5hbWU/OiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQgPT4ge1xuICB0cnkge1xuICAgIHJldHVybiBwYXJzZVJlYWt0b3JOYW1lKG5hbWUpO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgdGhyb3cgbmV3IFJlYWt0b3JWYWxpZGF0aW9uRXJyb3IoYE5hbWUgdmFsaWRhdGlvbiBmYWlsZWQ6ICR7ZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnVW5rbm93biBlcnJvcid9YCwgJ25hbWUnKTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlUmVha3RvclR5cGUgPSAodHlwZT86IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCA9PiB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIHBhcnNlUmVha3RvclR5cGUodHlwZSk7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICB0aHJvdyBuZXcgUmVha3RvclZhbGlkYXRpb25FcnJvcihgVHlwZSB2YWxpZGF0aW9uIGZhaWxlZDogJHtlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdVbmtub3duIGVycm9yJ31gLCAndHlwZScpO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgdmFsaWRhdGVSZWFrdG9yVXJsID0gKHVybD86IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCA9PiB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIHBhcnNlUmVha3RvclVybCh1cmwpO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgdGhyb3cgbmV3IFJlYWt0b3JWYWxpZGF0aW9uRXJyb3IoYFVSTCB2YWxpZGF0aW9uIGZhaWxlZDogJHtlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdVbmtub3duIGVycm9yJ31gLCAndXJsJyk7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBwYXJzZVJlYWt0b3JDb250ZW50ID0gKGNvbnRlbnQ/OiBzdHJpbmcsIGxlbmd0aDogbnVtYmVyID0gNTAwKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+XG4gIChjb250ZW50ID8gcGFyc2VTdHJpbmcoY29udGVudCwgbGVuZ3RoKSA6IHVuZGVmaW5lZCk7XG5cbmV4cG9ydCBjb25zdCBwYXJzZVJlYWt0b3JEYXRlID0gKGRhdGU/OiBudW1iZXIpOiBudW1iZXIgfCB1bmRlZmluZWQgPT5cbiAgKGRhdGUgPyBwYXJzZU51bShkYXRlLCAxMykgOiB1bmRlZmluZWQpO1xuXG5leHBvcnQgY29uc3QgcGFyc2VSZWFrdG9ySXRlbUlkID0gKGl0ZW1JZD86IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCA9PlxuICAoaXRlbUlkID8gcGFyc2VJZChpdGVtSWQpIDogdW5kZWZpbmVkKTtcblxuZXhwb3J0IGNvbnN0IHBhcnNlUmVha3Rvck5hbWUgPSAobmFtZT86IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCA9PlxuICAobmFtZSA/IHBhcnNlU3RyaW5nKG5hbWUsIDE2MCkgOiB1bmRlZmluZWQpO1xuXG5leHBvcnQgY29uc3QgcGFyc2VSZWFrdG9yVHlwZSA9ICh0eXBlPzogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+XG4gICh0eXBlID8gcGFyc2VWYXJDaGFyKHR5cGUsIDE2MCkgOiB1bmRlZmluZWQpO1xuXG5leHBvcnQgY29uc3QgcGFyc2VSZWFrdG9yVXJsID0gKHVybD86IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCA9PlxuICAodXJsID8gcGFyc2VVcmwodXJsKSA6IHVuZGVmaW5lZCk7XG4iXSwKICAibWFwcGluZ3MiOiAiQUFBQSxPQUFRLFlBQUFBLE1BQWUsK0JBQ3ZCLE9BQVEsV0FBQUMsRUFBUyxlQUFBQyxFQUFhLFlBQUFDLEVBQVUsZ0JBQUFDLE1BQW1CLCtCQUVwRCxNQUFNQyxVQUErQixLQUFNLENBQ2hELFlBQVlDLEVBQXdCQyxFQUFnQixDQUNsRCxNQUFNRCxDQUFPLEVBRHFCLFdBQUFDLEVBRWxDLEtBQUssS0FBTyx3QkFDZCxDQUNGLENBRU8sTUFBTUMsRUFBeUIsQ0FBQ0MsRUFBa0JDLEVBQWlCLE1BQTRCLENBQ3BHLEdBQUksQ0FDRixPQUFPQyxFQUFvQkYsRUFBU0MsQ0FBTSxDQUM1QyxPQUFRRSxFQUFPLENBQ2IsTUFBTSxJQUFJUCxFQUF1Qiw4QkFBOEJPLGFBQWlCLE1BQVFBLEVBQU0sUUFBVSxlQUFlLEdBQUksU0FBUyxDQUN0SSxDQUNGLEVBRWFDLEVBQXVCQyxHQUFzQyxDQUN4RSxHQUFJLENBQ0YsT0FBT0MsRUFBaUJELENBQUksQ0FDOUIsT0FBUUYsRUFBTyxDQUNiLE1BQU0sSUFBSVAsRUFBdUIsMkJBQTJCTyxhQUFpQixNQUFRQSxFQUFNLFFBQVUsZUFBZSxHQUFJLE1BQU0sQ0FDaEksQ0FDRixFQUVhSSxFQUF5QkMsR0FBd0MsQ0FDNUUsR0FBSSxDQUNGLE9BQU9DLEVBQW1CRCxDQUFNLENBQ2xDLE9BQVFMLEVBQU8sQ0FDYixNQUFNLElBQUlQLEVBQXVCLDhCQUE4Qk8sYUFBaUIsTUFBUUEsRUFBTSxRQUFVLGVBQWUsR0FBSSxRQUFRLENBQ3JJLENBQ0YsRUFFYU8sRUFBdUJDLEdBQXNDLENBQ3hFLEdBQUksQ0FDRixPQUFPQyxFQUFpQkQsQ0FBSSxDQUM5QixPQUFRUixFQUFPLENBQ2IsTUFBTSxJQUFJUCxFQUF1QiwyQkFBMkJPLGFBQWlCLE1BQVFBLEVBQU0sUUFBVSxlQUFlLEdBQUksTUFBTSxDQUNoSSxDQUNGLEVBRWFVLEVBQXVCQyxHQUFzQyxDQUN4RSxHQUFJLENBQ0YsT0FBT0MsRUFBaUJELENBQUksQ0FDOUIsT0FBUVgsRUFBTyxDQUNiLE1BQU0sSUFBSVAsRUFBdUIsMkJBQTJCTyxhQUFpQixNQUFRQSxFQUFNLFFBQVUsZUFBZSxHQUFJLE1BQU0sQ0FDaEksQ0FDRixFQUVhYSxFQUFzQkMsR0FBcUMsQ0FDdEUsR0FBSSxDQUNGLE9BQU9DLEVBQWdCRCxDQUFHLENBQzVCLE9BQVFkLEVBQU8sQ0FDYixNQUFNLElBQUlQLEVBQXVCLDBCQUEwQk8sYUFBaUIsTUFBUUEsRUFBTSxRQUFVLGVBQWUsR0FBSSxLQUFLLENBQzlILENBQ0YsRUFFYUQsRUFBc0IsQ0FBQ0YsRUFBa0JDLEVBQWlCLE1BQ3BFRCxFQUFVUCxFQUFZTyxFQUFTQyxDQUFNLEVBQUksT0FFL0JLLEVBQW9CRCxHQUM5QkEsRUFBT2QsRUFBU2MsRUFBTSxFQUFFLEVBQUksT0FFbEJJLEVBQXNCRCxHQUNoQ0EsRUFBU2hCLEVBQVFnQixDQUFNLEVBQUksT0FFakJJLEVBQW9CRCxHQUM5QkEsRUFBT2xCLEVBQVlrQixFQUFNLEdBQUcsRUFBSSxPQUV0QkksRUFBb0JELEdBQzlCQSxFQUFPbkIsRUFBYW1CLEVBQU0sR0FBRyxFQUFJLE9BRXZCSSxFQUFtQkQsR0FDN0JBLEVBQU12QixFQUFTdUIsQ0FBRyxFQUFJIiwKICAibmFtZXMiOiBbInBhcnNlTnVtIiwgInBhcnNlSWQiLCAicGFyc2VTdHJpbmciLCAicGFyc2VVcmwiLCAicGFyc2VWYXJDaGFyIiwgIlJlYWt0b3JWYWxpZGF0aW9uRXJyb3IiLCAibWVzc2FnZSIsICJmaWVsZCIsICJ2YWxpZGF0ZVJlYWt0b3JDb250ZW50IiwgImNvbnRlbnQiLCAibGVuZ3RoIiwgInBhcnNlUmVha3RvckNvbnRlbnQiLCAiZXJyb3IiLCAidmFsaWRhdGVSZWFrdG9yRGF0ZSIsICJkYXRlIiwgInBhcnNlUmVha3RvckRhdGUiLCAidmFsaWRhdGVSZWFrdG9ySXRlbUlkIiwgIml0ZW1JZCIsICJwYXJzZVJlYWt0b3JJdGVtSWQiLCAidmFsaWRhdGVSZWFrdG9yTmFtZSIsICJuYW1lIiwgInBhcnNlUmVha3Rvck5hbWUiLCAidmFsaWRhdGVSZWFrdG9yVHlwZSIsICJ0eXBlIiwgInBhcnNlUmVha3RvclR5cGUiLCAidmFsaWRhdGVSZWFrdG9yVXJsIiwgInVybCIsICJwYXJzZVJlYWt0b3JVcmwiXQp9Cg==
@@ -0,0 +1,9 @@
1
+ import type { TagType } from '../types/tags.types.js';
2
+ export declare class TagValidationError extends Error {
3
+ field?: string;
4
+ constructor(message: string, field?: string);
5
+ }
6
+ export declare const validateTagInput: (tag: unknown) => TagType;
7
+ export declare const formatTagOutput: (tag: TagType) => TagType;
8
+ export declare const parseTag: (tag: TagType) => TagType;
9
+ export declare const parseTagLegacy: (tag: TagType) => TagType;