@nlabs/metropolisjs 0.1.2 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (329) hide show
  1. package/.github/copilot-instructions.md +167 -0
  2. package/AGENTS.md +13 -0
  3. package/CHANGELOG.md +112 -0
  4. package/GRAPHQL_VALIDATION_RESULTS.md +158 -0
  5. package/PERMISSION_GRAPHQL_INTEGRATION.md +293 -0
  6. package/PERMISSION_IMPLEMENTATION_SUMMARY.md +243 -0
  7. package/README.md +1123 -112
  8. package/SIGNIN_GRAPHQL_VALIDATION.md +125 -0
  9. package/VAULT_GRAPHQL_API_FINDINGS.md +312 -0
  10. package/docs/ACTIONS.md +63 -0
  11. package/docs/COLLECTIONS.md +1038 -0
  12. package/docs/CONNECTIONS.md +1367 -0
  13. package/docs/CRUD_INTEGRATION.md +702 -0
  14. package/examples/connections-usage.tsx +909 -0
  15. package/examples/content-actions-usage.ts +144 -0
  16. package/examples/crud-usage.tsx +847 -0
  17. package/examples/extensibility-usage.tsx +889 -0
  18. package/examples/i18n-import-examples.ts +86 -0
  19. package/examples/i18n-namespace-usage.ts +118 -0
  20. package/examples/i18next-singleton-demo.ts +187 -0
  21. package/examples/permission-system-usage.tsx +415 -0
  22. package/examples/project-details.tsx +397 -0
  23. package/examples/shared-i18n-usage.tsx +203 -0
  24. package/examples/signup-error-handling.ts +100 -0
  25. package/examples/translation-types.ts +86 -0
  26. package/examples/translation-usage.tsx +336 -0
  27. package/index.js +1 -0
  28. package/jest.config.mjs +28 -0
  29. package/lex.config.mjs +11 -2
  30. package/lib/__tests__/e2e/helpers/testGraphQLServer.d.ts +22 -0
  31. package/lib/__tests__/e2e/helpers/testGraphQLServer.d.ts.map +1 -0
  32. package/lib/__tests__/e2e/helpers/testGraphQLServer.js +197 -0
  33. package/lib/__tests__/e2e/helpers/testGraphQLServerSimple.d.ts +3 -0
  34. package/lib/__tests__/e2e/helpers/testGraphQLServerSimple.d.ts.map +1 -0
  35. package/lib/__tests__/e2e/helpers/testGraphQLServerSimple.js +52 -0
  36. package/lib/actions/appActions/appActions.d.ts +29 -0
  37. package/lib/actions/appActions/appActions.d.ts.map +1 -0
  38. package/lib/actions/appActions/appActions.js +159 -0
  39. package/lib/actions/connectionActions/connectionActions.d.ts +19 -0
  40. package/lib/actions/connectionActions/connectionActions.d.ts.map +1 -0
  41. package/lib/actions/connectionActions/connectionActions.js +131 -0
  42. package/lib/actions/contentActions/contentActions.d.ts +34 -0
  43. package/lib/actions/contentActions/contentActions.d.ts.map +1 -0
  44. package/lib/actions/contentActions/contentActions.js +314 -0
  45. package/lib/actions/conversationActions/conversationActions.d.ts +30 -0
  46. package/lib/actions/conversationActions/conversationActions.d.ts.map +1 -0
  47. package/lib/actions/conversationActions/conversationActions.js +225 -0
  48. package/lib/actions/eventActions/eventActions.d.ts +27 -7
  49. package/lib/actions/eventActions/eventActions.d.ts.map +1 -0
  50. package/lib/actions/eventActions/eventActions.js +436 -2
  51. package/lib/actions/groupActions/groupActions.d.ts +30 -0
  52. package/lib/actions/groupActions/groupActions.d.ts.map +1 -0
  53. package/lib/actions/groupActions/groupActions.js +229 -0
  54. package/lib/actions/imageActions/imageActions.d.ts +16 -10
  55. package/lib/actions/imageActions/imageActions.d.ts.map +1 -0
  56. package/lib/actions/imageActions/imageActions.js +593 -2
  57. package/lib/actions/index.d.ts +21 -9
  58. package/lib/actions/index.d.ts.map +1 -0
  59. package/lib/actions/index.js +22 -2
  60. package/lib/actions/locationActions/locationActions.d.ts +11 -9
  61. package/lib/actions/locationActions/locationActions.d.ts.map +1 -0
  62. package/lib/actions/locationActions/locationActions.js +388 -2
  63. package/lib/actions/messageActions/messageActions.d.ts +16 -32
  64. package/lib/actions/messageActions/messageActions.d.ts.map +1 -0
  65. package/lib/actions/messageActions/messageActions.js +235 -2
  66. package/lib/actions/permissionActions/permissionActions.d.ts +34 -0
  67. package/lib/actions/permissionActions/permissionActions.d.ts.map +1 -0
  68. package/lib/actions/permissionActions/permissionActions.js +330 -0
  69. package/lib/actions/personaActions/personaActions.d.ts +65 -0
  70. package/lib/actions/personaActions/personaActions.d.ts.map +1 -0
  71. package/lib/actions/personaActions/personaActions.js +572 -0
  72. package/lib/actions/postActions/postActions.d.ts +12 -32
  73. package/lib/actions/postActions/postActions.d.ts.map +1 -0
  74. package/lib/actions/postActions/postActions.js +447 -2
  75. package/lib/actions/reactionActions/reactionActions.d.ts +13 -27
  76. package/lib/actions/reactionActions/reactionActions.d.ts.map +1 -0
  77. package/lib/actions/reactionActions/reactionActions.js +413 -2
  78. package/lib/actions/sseActions/sseActions.d.ts +1 -0
  79. package/lib/actions/sseActions/sseActions.d.ts.map +1 -0
  80. package/lib/actions/sseActions/sseActions.js +148 -2
  81. package/lib/actions/subscriptionActions/subscriptionActions.d.ts +24 -0
  82. package/lib/actions/subscriptionActions/subscriptionActions.d.ts.map +1 -0
  83. package/lib/actions/subscriptionActions/subscriptionActions.js +329 -0
  84. package/lib/actions/tagActions/tagActions.d.ts +13 -31
  85. package/lib/actions/tagActions/tagActions.d.ts.map +1 -0
  86. package/lib/actions/tagActions/tagActions.js +347 -2
  87. package/lib/actions/translationActions/translationActions.d.ts +38 -0
  88. package/lib/actions/translationActions/translationActions.d.ts.map +1 -0
  89. package/lib/actions/translationActions/translationActions.js +189 -0
  90. package/lib/actions/userActions/userActions.d.ts +44 -95
  91. package/lib/actions/userActions/userActions.d.ts.map +1 -0
  92. package/lib/actions/userActions/userActions.js +870 -2
  93. package/lib/actions/videoActions/videoActions.d.ts +41 -0
  94. package/lib/actions/videoActions/videoActions.d.ts.map +1 -0
  95. package/lib/actions/videoActions/videoActions.js +532 -0
  96. package/lib/actions/websocketActions/websocketActions.d.ts +20 -21
  97. package/lib/actions/websocketActions/websocketActions.d.ts.map +1 -0
  98. package/lib/actions/websocketActions/websocketActions.js +377 -2
  99. package/lib/adapters/appAdapter/appAdapter.d.ts +8 -0
  100. package/lib/adapters/appAdapter/appAdapter.d.ts.map +1 -0
  101. package/lib/adapters/appAdapter/appAdapter.js +90 -0
  102. package/lib/adapters/arangoAdapter/arangoAdapter.d.ts +3 -2
  103. package/lib/adapters/arangoAdapter/arangoAdapter.d.ts.map +1 -0
  104. package/lib/adapters/arangoAdapter/arangoAdapter.js +75 -2
  105. package/lib/adapters/contentAdapter/contentAdapter.d.ts +3 -2
  106. package/lib/adapters/contentAdapter/contentAdapter.d.ts.map +1 -0
  107. package/lib/adapters/contentAdapter/contentAdapter.js +107 -2
  108. package/lib/adapters/conversationAdapter/conversationAdapter.d.ts +3 -2
  109. package/lib/adapters/conversationAdapter/conversationAdapter.d.ts.map +1 -0
  110. package/lib/adapters/conversationAdapter/conversationAdapter.js +75 -2
  111. package/lib/adapters/eventAdapter/eventAdapter.d.ts +5 -2
  112. package/lib/adapters/eventAdapter/eventAdapter.d.ts.map +1 -0
  113. package/lib/adapters/eventAdapter/eventAdapter.js +162 -2
  114. package/lib/adapters/fileAdapter/fileAdapter.d.ts +3 -2
  115. package/lib/adapters/fileAdapter/fileAdapter.d.ts.map +1 -0
  116. package/lib/adapters/fileAdapter/fileAdapter.js +118 -2
  117. package/lib/adapters/groupAdapter/groupAdapter.d.ts +28 -0
  118. package/lib/adapters/groupAdapter/groupAdapter.d.ts.map +1 -0
  119. package/lib/adapters/groupAdapter/groupAdapter.js +66 -0
  120. package/lib/adapters/imageAdapter/imageAdapter.d.ts +9 -2
  121. package/lib/adapters/imageAdapter/imageAdapter.d.ts.map +1 -0
  122. package/lib/adapters/imageAdapter/imageAdapter.js +134 -2
  123. package/lib/adapters/index.d.ts +34 -16
  124. package/lib/adapters/index.d.ts.map +1 -0
  125. package/lib/adapters/index.js +19 -2
  126. package/lib/adapters/locationAdapter/locationAdapter.d.ts +3 -2
  127. package/lib/adapters/locationAdapter/locationAdapter.d.ts.map +1 -0
  128. package/lib/adapters/locationAdapter/locationAdapter.js +95 -2
  129. package/lib/adapters/messageAdapter/messageAdapter.d.ts +23 -19
  130. package/lib/adapters/messageAdapter/messageAdapter.d.ts.map +1 -0
  131. package/lib/adapters/messageAdapter/messageAdapter.js +82 -2
  132. package/lib/adapters/permissionAdapter/permissionAdapter.d.ts +41 -0
  133. package/lib/adapters/permissionAdapter/permissionAdapter.d.ts.map +1 -0
  134. package/lib/adapters/permissionAdapter/permissionAdapter.js +120 -0
  135. package/lib/adapters/personaAdapter/personaAdapter.d.ts +28 -2
  136. package/lib/adapters/personaAdapter/personaAdapter.d.ts.map +1 -0
  137. package/lib/adapters/personaAdapter/personaAdapter.js +161 -2
  138. package/lib/adapters/postAdapter/postAdapter.d.ts +3 -2
  139. package/lib/adapters/postAdapter/postAdapter.d.ts.map +1 -0
  140. package/lib/adapters/postAdapter/postAdapter.js +115 -2
  141. package/lib/adapters/reactionAdapter/reactionAdapter.d.ts +5 -2
  142. package/lib/adapters/reactionAdapter/reactionAdapter.d.ts.map +1 -0
  143. package/lib/adapters/reactionAdapter/reactionAdapter.js +81 -2
  144. package/lib/adapters/reaktorAdapter/reaktorAdapter.d.ts +3 -2
  145. package/lib/adapters/reaktorAdapter/reaktorAdapter.d.ts.map +1 -0
  146. package/lib/adapters/reaktorAdapter/reaktorAdapter.js +58 -2
  147. package/lib/adapters/sessionAdapter/sessionAdapter.d.ts +3 -2
  148. package/lib/adapters/sessionAdapter/sessionAdapter.d.ts.map +1 -0
  149. package/lib/adapters/sessionAdapter/sessionAdapter.js +80 -2
  150. package/lib/adapters/tagAdapter/tagAdapter.d.ts +3 -2
  151. package/lib/adapters/tagAdapter/tagAdapter.d.ts.map +1 -0
  152. package/lib/adapters/tagAdapter/tagAdapter.js +98 -2
  153. package/lib/adapters/translationAdapter/translationAdapter.d.ts +21 -0
  154. package/lib/adapters/translationAdapter/translationAdapter.d.ts.map +1 -0
  155. package/lib/adapters/translationAdapter/translationAdapter.js +55 -0
  156. package/lib/adapters/userAdapter/userAdapter.d.ts +18 -6
  157. package/lib/adapters/userAdapter/userAdapter.d.ts.map +1 -0
  158. package/lib/adapters/userAdapter/userAdapter.js +302 -2
  159. package/lib/adapters/videoAdapter/videoAdapter.d.ts +8 -0
  160. package/lib/adapters/videoAdapter/videoAdapter.d.ts.map +1 -0
  161. package/lib/adapters/videoAdapter/videoAdapter.js +194 -0
  162. package/lib/config/index.d.ts +19 -6
  163. package/lib/config/index.d.ts.map +1 -0
  164. package/lib/config/index.js +97 -2
  165. package/lib/constants/Collections.d.ts +44 -0
  166. package/lib/constants/Collections.d.ts.map +1 -0
  167. package/lib/constants/Collections.js +40 -0
  168. package/lib/constants/MetropolisConstants.d.ts +1 -0
  169. package/lib/constants/MetropolisConstants.d.ts.map +1 -0
  170. package/lib/constants/MetropolisConstants.js +15 -2
  171. package/lib/graphql/message.d.ts +1 -0
  172. package/lib/graphql/message.d.ts.map +1 -0
  173. package/lib/graphql/message.js +6 -4
  174. package/lib/graphql/notification.d.ts +1 -0
  175. package/lib/graphql/notification.d.ts.map +1 -0
  176. package/lib/graphql/notification.js +6 -4
  177. package/lib/graphql/session.d.ts +1 -0
  178. package/lib/graphql/session.d.ts.map +1 -0
  179. package/lib/graphql/session.js +4 -3
  180. package/lib/index.d.ts +45 -22
  181. package/lib/index.d.ts.map +1 -0
  182. package/lib/index.js +248 -2
  183. package/lib/stores/appStore.d.ts +1 -0
  184. package/lib/stores/appStore.d.ts.map +1 -0
  185. package/lib/stores/appStore.js +23 -2
  186. package/lib/stores/contentStore.d.ts +36 -0
  187. package/lib/stores/contentStore.d.ts.map +1 -0
  188. package/lib/stores/contentStore.js +139 -0
  189. package/lib/stores/conversationStore.d.ts +38 -0
  190. package/lib/stores/conversationStore.d.ts.map +1 -0
  191. package/lib/stores/conversationStore.js +117 -0
  192. package/lib/stores/eventStore.d.ts +4 -1
  193. package/lib/stores/eventStore.d.ts.map +1 -0
  194. package/lib/stores/eventStore.js +47 -2
  195. package/lib/stores/groupStore.d.ts +37 -0
  196. package/lib/stores/groupStore.d.ts.map +1 -0
  197. package/lib/stores/groupStore.js +68 -0
  198. package/lib/stores/imageStore.d.ts +6 -1
  199. package/lib/stores/imageStore.d.ts.map +1 -0
  200. package/lib/stores/imageStore.js +53 -2
  201. package/lib/stores/index.d.ts +20 -11
  202. package/lib/stores/index.d.ts.map +1 -0
  203. package/lib/stores/index.js +24 -2
  204. package/lib/stores/locationStore.d.ts +2 -1
  205. package/lib/stores/locationStore.d.ts.map +1 -0
  206. package/lib/stores/locationStore.js +42 -2
  207. package/lib/stores/messageStore.d.ts +19 -4
  208. package/lib/stores/messageStore.d.ts.map +1 -0
  209. package/lib/stores/messageStore.js +137 -2
  210. package/lib/stores/notificationStore.d.ts +33 -0
  211. package/lib/stores/notificationStore.d.ts.map +1 -0
  212. package/lib/stores/notificationStore.js +55 -0
  213. package/lib/stores/permissionStore.d.ts +37 -0
  214. package/lib/stores/permissionStore.d.ts.map +1 -0
  215. package/lib/stores/permissionStore.js +117 -0
  216. package/lib/stores/personaStore.d.ts +26 -0
  217. package/lib/stores/personaStore.d.ts.map +1 -0
  218. package/lib/stores/personaStore.js +118 -0
  219. package/lib/stores/postStore.d.ts +2 -1
  220. package/lib/stores/postStore.d.ts.map +1 -0
  221. package/lib/stores/postStore.js +53 -2
  222. package/lib/stores/reactionStore.d.ts +1 -0
  223. package/lib/stores/reactionStore.d.ts.map +1 -0
  224. package/lib/stores/reactionStore.js +28 -2
  225. package/lib/stores/subscriptionStore.d.ts +41 -0
  226. package/lib/stores/subscriptionStore.d.ts.map +1 -0
  227. package/lib/stores/subscriptionStore.js +85 -0
  228. package/lib/stores/tagStore.d.ts +8 -5
  229. package/lib/stores/tagStore.d.ts.map +1 -0
  230. package/lib/stores/tagStore.js +87 -2
  231. package/lib/stores/translationStore.d.ts +42 -0
  232. package/lib/stores/translationStore.d.ts.map +1 -0
  233. package/lib/stores/translationStore.js +122 -0
  234. package/lib/stores/userStore.d.ts +5 -4
  235. package/lib/stores/userStore.d.ts.map +1 -0
  236. package/lib/stores/userStore.js +319 -2
  237. package/lib/stores/videoStore.d.ts +39 -0
  238. package/lib/stores/videoStore.d.ts.map +1 -0
  239. package/lib/stores/videoStore.js +132 -0
  240. package/lib/stores/websocketStore.d.ts +1 -0
  241. package/lib/stores/websocketStore.d.ts.map +1 -0
  242. package/lib/stores/websocketStore.js +51 -2
  243. package/lib/types/apps.types.d.ts +17 -0
  244. package/lib/types/apps.types.d.ts.map +1 -0
  245. package/lib/types/apps.types.js +6 -0
  246. package/lib/types/common.types.d.ts +31 -0
  247. package/lib/types/common.types.d.ts.map +1 -0
  248. package/lib/types/common.types.js +6 -0
  249. package/lib/types/conversations.types.d.ts +17 -0
  250. package/lib/types/conversations.types.d.ts.map +1 -0
  251. package/lib/types/conversations.types.js +6 -0
  252. package/lib/types/edges.types.d.ts +38 -0
  253. package/lib/types/edges.types.d.ts.map +1 -0
  254. package/lib/types/edges.types.js +6 -0
  255. package/lib/types/groups.types.d.ts +19 -0
  256. package/lib/types/groups.types.d.ts.map +1 -0
  257. package/lib/types/groups.types.js +6 -0
  258. package/lib/types/index.d.ts +12 -0
  259. package/lib/types/index.d.ts.map +1 -0
  260. package/lib/types/index.js +12 -0
  261. package/lib/types/subscriptions.types.d.ts +32 -0
  262. package/lib/types/subscriptions.types.d.ts.map +1 -0
  263. package/lib/types/subscriptions.types.js +6 -0
  264. package/lib/types/videos.types.d.ts +61 -0
  265. package/lib/types/videos.types.d.ts.map +1 -0
  266. package/lib/types/videos.types.js +6 -0
  267. package/lib/utils/MetropolisProvider.d.ts +39 -15
  268. package/lib/utils/MetropolisProvider.d.ts.map +1 -0
  269. package/lib/utils/MetropolisProvider.js +31 -2
  270. package/lib/utils/actionFactory.d.ts +21 -19
  271. package/lib/utils/actionFactory.d.ts.map +1 -0
  272. package/lib/utils/actionFactory.js +95 -2
  273. package/lib/utils/api.d.ts +5 -4
  274. package/lib/utils/api.d.ts.map +1 -0
  275. package/lib/utils/api.js +252 -6
  276. package/lib/utils/app.d.ts +1 -0
  277. package/lib/utils/app.d.ts.map +1 -0
  278. package/lib/utils/app.js +15 -2
  279. package/lib/utils/baseActionFactory.d.ts +5 -23
  280. package/lib/utils/baseActionFactory.d.ts.map +1 -0
  281. package/lib/utils/baseActionFactory.js +72 -2
  282. package/lib/utils/configUtils.d.ts +11 -0
  283. package/lib/utils/configUtils.d.ts.map +1 -0
  284. package/lib/utils/configUtils.js +20 -0
  285. package/lib/utils/dateUtils.d.ts +1 -0
  286. package/lib/utils/dateUtils.d.ts.map +1 -0
  287. package/lib/utils/dateUtils.js +11 -2
  288. package/lib/utils/file.d.ts +3 -1
  289. package/lib/utils/file.d.ts.map +1 -0
  290. package/lib/utils/file.js +156 -2
  291. package/lib/utils/i18n.d.ts +7 -0
  292. package/lib/utils/i18n.d.ts.map +1 -0
  293. package/lib/utils/i18n.js +96 -0
  294. package/lib/utils/index.d.ts +20 -0
  295. package/lib/utils/index.d.ts.map +1 -0
  296. package/lib/utils/index.js +26 -0
  297. package/lib/utils/location.d.ts +4 -3
  298. package/lib/utils/location.d.ts.map +1 -0
  299. package/lib/utils/location.js +82 -2
  300. package/lib/utils/permissionUtils.d.ts +22 -0
  301. package/lib/utils/permissionUtils.d.ts.map +1 -0
  302. package/lib/utils/permissionUtils.js +72 -0
  303. package/lib/utils/requestCache.d.ts +8 -0
  304. package/lib/utils/requestCache.d.ts.map +1 -0
  305. package/lib/utils/requestCache.js +53 -0
  306. package/lib/utils/session.d.ts +14 -0
  307. package/lib/utils/session.d.ts.map +1 -0
  308. package/lib/utils/session.js +107 -0
  309. package/lib/utils/useConversationTyping.d.ts +26 -0
  310. package/lib/utils/useConversationTyping.d.ts.map +1 -0
  311. package/lib/utils/useConversationTyping.js +117 -0
  312. package/lib/utils/useMetropolis.d.ts +67 -12
  313. package/lib/utils/useMetropolis.d.ts.map +1 -0
  314. package/lib/utils/useMetropolis.js +311 -2
  315. package/lib/utils/useTranslations.d.ts +16 -0
  316. package/lib/utils/useTranslations.d.ts.map +1 -0
  317. package/lib/utils/useTranslations.js +105 -0
  318. package/lib/utils/validatorFactory.d.ts +3 -2
  319. package/lib/utils/validatorFactory.d.ts.map +1 -0
  320. package/lib/utils/validatorFactory.js +95 -2
  321. package/package.json +58 -17
  322. package/temp_signin.ts +73 -0
  323. package/lib/actions/profileActions/profileActions.d.ts +0 -50
  324. package/lib/actions/profileActions/profileActions.js +0 -2
  325. package/lib/adapters/profileAdapter/profileAdapter.d.ts +0 -32
  326. package/lib/adapters/profileAdapter/profileAdapter.js +0 -2
  327. package/lib/stores/profileStore.d.ts +0 -24
  328. package/lib/stores/profileStore.js +0 -2
  329. /package/{FACTORY_PATTERN_GUIDE.md → factoryPatternGuide.md} +0 -0
@@ -1,2 +1,134 @@
1
- import{parseArangoId as _,parseId as w,parseNum as s,parseString as i,parseUrl as v}from"@nlabs/utils";import{z as t}from"zod";import{parseDocument as E,removeEmptyKeys as x}from"../arangoAdapter/arangoAdapter";class p extends Error{constructor(n,o){super(n);this.field=o;this.name="ImageValidationError"}}const $=t.object({bucket:t.string().optional(),color:t.string().optional(),imageId:t.string().optional(),height:t.number().optional(),model:t.string().optional(),make:t.string().optional(),s3Options:t.any().optional(),taken:t.number().optional(),thumb:t.string().optional(),fileType:t.string().optional(),type:t.string().optional(),url:t.string().optional(),width:t.number().optional(),name: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(),V=r=>{try{return $.parse(r)}catch(e){if(e instanceof t.ZodError){const n=e.issues.map(o=>`${o.path.join(".")}: ${o.message}`).join(", ");throw new p(`Image validation failed: ${n}`)}throw e}},z=r=>r,A=r=>{try{return O(r)}catch(e){throw e instanceof p?e:new p(`Image parsing failed: ${e instanceof Error?e.message:"Unknown error"}`)}},O=r=>{const{_id:e,_key:n,bucket:o,color:g,id:m,imageId:a,height:l,model:d,make:u,s3Options:c,taken:y,thumb:f,fileType:h,type:I,url:k,width:b,name:T}=r;return x({...E(r),...(n||a)&&{imageId:w(n||a||"")},...(e||m||n||a)&&{id:_(e||m||`images/${n||a}`)},...o&&{bucket:o},...g&&{color:g},...l!==void 0&&{height:s(l)},...d&&{model:i(d,160)},...u&&{make:i(u,160)},...c&&{s3Options:c},...y!==void 0&&{taken:s(y)},...f&&{thumb:f},...h&&{fileType:i(h,16)},...I&&{type:i(I,16)},...k&&{url:v(k)},...b!==void 0&&{width:s(b)},...T&&{name:i(T,160)}})};export{p as ImageValidationError,z as formatImageOutput,A as parseImage,V as validateImageInput};
2
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2FkYXB0ZXJzL2ltYWdlQWRhcHRlci9pbWFnZUFkYXB0ZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7cGFyc2VBcmFuZ29JZCwgcGFyc2VJZCwgcGFyc2VOdW0sIHBhcnNlU3RyaW5nLCBwYXJzZVVybH0gZnJvbSAnQG5sYWJzL3V0aWxzJztcbmltcG9ydCB7en0gZnJvbSAnem9kJztcblxuaW1wb3J0IHtwYXJzZURvY3VtZW50LCByZW1vdmVFbXB0eUtleXN9IGZyb20gJy4uL2FyYW5nb0FkYXB0ZXIvYXJhbmdvQWRhcHRlcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW1hZ2VUeXBlIHtcbiAgX2lkPzogc3RyaW5nO1xuICBfa2V5Pzogc3RyaW5nO1xuICBfcmV2Pzogc3RyaW5nO1xuICBfb2xkUmV2Pzogc3RyaW5nO1xuICBfZnJvbT86IHN0cmluZztcbiAgX3RvPzogc3RyaW5nO1xuICBidWNrZXQ/OiBzdHJpbmc7XG4gIGNvbG9yPzogc3RyaW5nO1xuICBpZD86IHN0cmluZztcbiAgaW1hZ2VJZD86IHN0cmluZztcbiAgaGVpZ2h0PzogbnVtYmVyO1xuICBtb2RlbD86IHN0cmluZztcbiAgbWFrZT86IHN0cmluZztcbiAgczNPcHRpb25zPzogYW55O1xuICB0YWtlbj86IG51bWJlcjtcbiAgdGh1bWI/OiBzdHJpbmc7XG4gIGZpbGVUeXBlPzogc3RyaW5nO1xuICB0eXBlPzogc3RyaW5nO1xuICB1cmw/OiBzdHJpbmc7XG4gIHdpZHRoPzogbnVtYmVyO1xuICBuYW1lPzogc3RyaW5nO1xuICBba2V5OiBzdHJpbmddOiBhbnk7XG59XG5cbmV4cG9ydCBjbGFzcyBJbWFnZVZhbGlkYXRpb25FcnJvciBleHRlbmRzIEVycm9yIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nLCBwdWJsaWMgZmllbGQ/OiBzdHJpbmcpIHtcbiAgICBzdXBlcihtZXNzYWdlKTtcbiAgICB0aGlzLm5hbWUgPSAnSW1hZ2VWYWxpZGF0aW9uRXJyb3InO1xuICB9XG59XG5cbmNvbnN0IEltYWdlSW5wdXRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIGJ1Y2tldDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBjb2xvcjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBpbWFnZUlkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGhlaWdodDogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICBtb2RlbDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBtYWtlOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHMzT3B0aW9uczogei5hbnkoKS5vcHRpb25hbCgpLFxuICB0YWtlbjogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICB0aHVtYjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBmaWxlVHlwZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICB0eXBlOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHVybDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICB3aWR0aDogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICBuYW1lOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9pZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfa2V5OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9yZXY6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX29sZFJldjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfZnJvbTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfdG86IHouc3RyaW5nKCkub3B0aW9uYWwoKVxufSkucGFzc3Rocm91Z2goKTtcblxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlSW1hZ2VJbnB1dCA9IChpbWFnZTogdW5rbm93bik6IEltYWdlVHlwZSA9PiB7XG4gIHRyeSB7XG4gICAgY29uc3QgdmFsaWRhdGVkID0gSW1hZ2VJbnB1dFNjaGVtYS5wYXJzZShpbWFnZSk7XG4gICAgcmV0dXJuIHZhbGlkYXRlZCBhcyBJbWFnZVR5cGU7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICBpZihlcnJvciBpbnN0YW5jZW9mIHouWm9kRXJyb3IpIHtcbiAgICAgIGNvbnN0IGZpZWxkRXJyb3JzID0gZXJyb3IuaXNzdWVzLm1hcCgoZSkgPT4gYCR7ZS5wYXRoLmpvaW4oJy4nKX06ICR7ZS5tZXNzYWdlfWApLmpvaW4oJywgJyk7XG4gICAgICB0aHJvdyBuZXcgSW1hZ2VWYWxpZGF0aW9uRXJyb3IoYEltYWdlIHZhbGlkYXRpb24gZmFpbGVkOiAke2ZpZWxkRXJyb3JzfWApO1xuICAgIH1cbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGZvcm1hdEltYWdlT3V0cHV0ID0gKGltYWdlOiBJbWFnZVR5cGUpOiBJbWFnZVR5cGUgPT4gaW1hZ2U7XG5cbmV4cG9ydCBjb25zdCBwYXJzZUltYWdlID0gKGltYWdlOiBJbWFnZVR5cGUpOiBJbWFnZVR5cGUgPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IHBhcnNlZCA9IHBlcmZvcm1JbWFnZVRyYW5zZm9ybWF0aW9uKGltYWdlKTtcbiAgICByZXR1cm4gcGFyc2VkO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgaWYoZXJyb3IgaW5zdGFuY2VvZiBJbWFnZVZhbGlkYXRpb25FcnJvcikge1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICAgIHRocm93IG5ldyBJbWFnZVZhbGlkYXRpb25FcnJvcihgSW1hZ2UgcGFyc2luZyBmYWlsZWQ6ICR7ZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnVW5rbm93biBlcnJvcid9YCk7XG4gIH1cbn07XG5cbmNvbnN0IHBlcmZvcm1JbWFnZVRyYW5zZm9ybWF0aW9uID0gKGltYWdlOiBJbWFnZVR5cGUpOiBJbWFnZVR5cGUgPT4ge1xuICBjb25zdCB7XG4gICAgX2lkLFxuICAgIF9rZXksXG4gICAgYnVja2V0LFxuICAgIGNvbG9yLFxuICAgIGlkLFxuICAgIGltYWdlSWQsXG4gICAgaGVpZ2h0LFxuICAgIG1vZGVsLFxuICAgIG1ha2UsXG4gICAgczNPcHRpb25zLFxuICAgIHRha2VuLFxuICAgIHRodW1iLFxuICAgIGZpbGVUeXBlLFxuICAgIHR5cGUsXG4gICAgdXJsLFxuICAgIHdpZHRoLFxuICAgIG5hbWVcbiAgfSA9IGltYWdlO1xuXG4gIGNvbnN0IHRyYW5zZm9ybWVkID0gcmVtb3ZlRW1wdHlLZXlzKHtcbiAgICAuLi5wYXJzZURvY3VtZW50KGltYWdlKSxcbiAgICAuLi4oKF9rZXkgfHwgaW1hZ2VJZCkgJiYge2ltYWdlSWQ6IHBhcnNlSWQoX2tleSB8fCBpbWFnZUlkIHx8ICcnKX0pLFxuICAgIC4uLigoX2lkIHx8IGlkIHx8IF9rZXkgfHwgaW1hZ2VJZCkgJiYge2lkOiBwYXJzZUFyYW5nb0lkKF9pZCB8fCBpZCB8fCBgaW1hZ2VzLyR7X2tleSB8fCBpbWFnZUlkfWApfSksXG4gICAgLi4uKGJ1Y2tldCAmJiB7YnVja2V0fSksXG4gICAgLi4uKGNvbG9yICYmIHtjb2xvcn0pLFxuICAgIC4uLihoZWlnaHQgIT09IHVuZGVmaW5lZCAmJiB7aGVpZ2h0OiBwYXJzZU51bShoZWlnaHQpfSksXG4gICAgLi4uKG1vZGVsICYmIHttb2RlbDogcGFyc2VTdHJpbmcobW9kZWwsIDE2MCl9KSxcbiAgICAuLi4obWFrZSAmJiB7bWFrZTogcGFyc2VTdHJpbmcobWFrZSwgMTYwKX0pLFxuICAgIC4uLihzM09wdGlvbnMgJiYge3MzT3B0aW9uc30pLFxuICAgIC4uLih0YWtlbiAhPT0gdW5kZWZpbmVkICYmIHt0YWtlbjogcGFyc2VOdW0odGFrZW4pfSksXG4gICAgLi4uKHRodW1iICYmIHt0aHVtYn0pLFxuICAgIC4uLihmaWxlVHlwZSAmJiB7ZmlsZVR5cGU6IHBhcnNlU3RyaW5nKGZpbGVUeXBlLCAxNil9KSxcbiAgICAuLi4odHlwZSAmJiB7dHlwZTogcGFyc2VTdHJpbmcodHlwZSwgMTYpfSksXG4gICAgLi4uKHVybCAmJiB7dXJsOiBwYXJzZVVybCh1cmwpfSksXG4gICAgLi4uKHdpZHRoICE9PSB1bmRlZmluZWQgJiYge3dpZHRoOiBwYXJzZU51bSh3aWR0aCl9KSxcbiAgICAuLi4obmFtZSAmJiB7bmFtZTogcGFyc2VTdHJpbmcobmFtZSwgMTYwKX0pXG4gIH0pO1xuXG4gIHJldHVybiB0cmFuc2Zvcm1lZDtcbn07Il0sCiAgIm1hcHBpbmdzIjogIkFBQUEsT0FBUSxpQkFBQUEsRUFBZSxXQUFBQyxFQUFTLFlBQUFDLEVBQVUsZUFBQUMsRUFBYSxZQUFBQyxNQUFlLGVBQ3RFLE9BQVEsS0FBQUMsTUFBUSxNQUVoQixPQUFRLGlCQUFBQyxFQUFlLG1CQUFBQyxNQUFzQixpQ0EyQnRDLE1BQU1DLFVBQTZCLEtBQU0sQ0FDOUMsWUFBWUMsRUFBd0JDLEVBQWdCLENBQ2xELE1BQU1ELENBQU8sRUFEcUIsV0FBQUMsRUFFbEMsS0FBSyxLQUFPLHNCQUNkLENBQ0YsQ0FFQSxNQUFNQyxFQUFtQk4sRUFBRSxPQUFPLENBQ2hDLE9BQVFBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDNUIsTUFBT0EsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUMzQixRQUFTQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzdCLE9BQVFBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDNUIsTUFBT0EsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUMzQixLQUFNQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzFCLFVBQVdBLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFDNUIsTUFBT0EsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUMzQixNQUFPQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzNCLFNBQVVBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDOUIsS0FBTUEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUMxQixJQUFLQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQ3pCLE1BQU9BLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDM0IsS0FBTUEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUMxQixJQUFLQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQ3pCLEtBQU1BLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDMUIsS0FBTUEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUMxQixRQUFTQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzdCLE1BQU9BLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDM0IsSUFBS0EsRUFBRSxPQUFPLEVBQUUsU0FBUyxDQUMzQixDQUFDLEVBQUUsWUFBWSxFQUVGTyxFQUFzQkMsR0FBOEIsQ0FDL0QsR0FBSSxDQUVGLE9BRGtCRixFQUFpQixNQUFNRSxDQUFLLENBRWhELE9BQVFDLEVBQU8sQ0FDYixHQUFHQSxhQUFpQlQsRUFBRSxTQUFVLENBQzlCLE1BQU1VLEVBQWNELEVBQU0sT0FBTyxJQUFLRSxHQUFNLEdBQUdBLEVBQUUsS0FBSyxLQUFLLEdBQUcsQ0FBQyxLQUFLQSxFQUFFLE9BQU8sRUFBRSxFQUFFLEtBQUssSUFBSSxFQUMxRixNQUFNLElBQUlSLEVBQXFCLDRCQUE0Qk8sQ0FBVyxFQUFFLENBQzFFLENBQ0EsTUFBTUQsQ0FDUixDQUNGLEVBRWFHLEVBQXFCSixHQUFnQ0EsRUFFckRLLEVBQWNMLEdBQWdDLENBQ3pELEdBQUksQ0FFRixPQURlTSxFQUEyQk4sQ0FBSyxDQUVqRCxPQUFRQyxFQUFPLENBQ2IsTUFBR0EsYUFBaUJOLEVBQ1pNLEVBRUYsSUFBSU4sRUFBcUIseUJBQXlCTSxhQUFpQixNQUFRQSxFQUFNLFFBQVUsZUFBZSxFQUFFLENBQ3BILENBQ0YsRUFFTUssRUFBOEJOLEdBQWdDLENBQ2xFLEtBQU0sQ0FDSixJQUFBTyxFQUNBLEtBQUFDLEVBQ0EsT0FBQUMsRUFDQSxNQUFBQyxFQUNBLEdBQUFDLEVBQ0EsUUFBQUMsRUFDQSxPQUFBQyxFQUNBLE1BQUFDLEVBQ0EsS0FBQUMsRUFDQSxVQUFBQyxFQUNBLE1BQUFDLEVBQ0EsTUFBQUMsRUFDQSxTQUFBQyxFQUNBLEtBQUFDLEVBQ0EsSUFBQUMsRUFDQSxNQUFBQyxFQUNBLEtBQUFDLENBQ0YsRUFBSXZCLEVBcUJKLE9BbkJvQk4sRUFBZ0IsQ0FDbEMsR0FBR0QsRUFBY08sQ0FBSyxFQUN0QixJQUFLUSxHQUFRSSxJQUFZLENBQUMsUUFBU3hCLEVBQVFvQixHQUFRSSxHQUFXLEVBQUUsQ0FBQyxFQUNqRSxJQUFLTCxHQUFPSSxHQUFNSCxHQUFRSSxJQUFZLENBQUMsR0FBSXpCLEVBQWNvQixHQUFPSSxHQUFNLFVBQVVILEdBQVFJLENBQU8sRUFBRSxDQUFDLEVBQ2xHLEdBQUlILEdBQVUsQ0FBQyxPQUFBQSxDQUFNLEVBQ3JCLEdBQUlDLEdBQVMsQ0FBQyxNQUFBQSxDQUFLLEVBQ25CLEdBQUlHLElBQVcsUUFBYSxDQUFDLE9BQVF4QixFQUFTd0IsQ0FBTSxDQUFDLEVBQ3JELEdBQUlDLEdBQVMsQ0FBQyxNQUFPeEIsRUFBWXdCLEVBQU8sR0FBRyxDQUFDLEVBQzVDLEdBQUlDLEdBQVEsQ0FBQyxLQUFNekIsRUFBWXlCLEVBQU0sR0FBRyxDQUFDLEVBQ3pDLEdBQUlDLEdBQWEsQ0FBQyxVQUFBQSxDQUFTLEVBQzNCLEdBQUlDLElBQVUsUUFBYSxDQUFDLE1BQU81QixFQUFTNEIsQ0FBSyxDQUFDLEVBQ2xELEdBQUlDLEdBQVMsQ0FBQyxNQUFBQSxDQUFLLEVBQ25CLEdBQUlDLEdBQVksQ0FBQyxTQUFVN0IsRUFBWTZCLEVBQVUsRUFBRSxDQUFDLEVBQ3BELEdBQUlDLEdBQVEsQ0FBQyxLQUFNOUIsRUFBWThCLEVBQU0sRUFBRSxDQUFDLEVBQ3hDLEdBQUlDLEdBQU8sQ0FBQyxJQUFLOUIsRUFBUzhCLENBQUcsQ0FBQyxFQUM5QixHQUFJQyxJQUFVLFFBQWEsQ0FBQyxNQUFPakMsRUFBU2lDLENBQUssQ0FBQyxFQUNsRCxHQUFJQyxHQUFRLENBQUMsS0FBTWpDLEVBQVlpQyxFQUFNLEdBQUcsQ0FBQyxDQUMzQyxDQUFDLENBR0giLAogICJuYW1lcyI6IFsicGFyc2VBcmFuZ29JZCIsICJwYXJzZUlkIiwgInBhcnNlTnVtIiwgInBhcnNlU3RyaW5nIiwgInBhcnNlVXJsIiwgInoiLCAicGFyc2VEb2N1bWVudCIsICJyZW1vdmVFbXB0eUtleXMiLCAiSW1hZ2VWYWxpZGF0aW9uRXJyb3IiLCAibWVzc2FnZSIsICJmaWVsZCIsICJJbWFnZUlucHV0U2NoZW1hIiwgInZhbGlkYXRlSW1hZ2VJbnB1dCIsICJpbWFnZSIsICJlcnJvciIsICJmaWVsZEVycm9ycyIsICJlIiwgImZvcm1hdEltYWdlT3V0cHV0IiwgInBhcnNlSW1hZ2UiLCAicGVyZm9ybUltYWdlVHJhbnNmb3JtYXRpb24iLCAiX2lkIiwgIl9rZXkiLCAiYnVja2V0IiwgImNvbG9yIiwgImlkIiwgImltYWdlSWQiLCAiaGVpZ2h0IiwgIm1vZGVsIiwgIm1ha2UiLCAiczNPcHRpb25zIiwgInRha2VuIiwgInRodW1iIiwgImZpbGVUeXBlIiwgInR5cGUiLCAidXJsIiwgIndpZHRoIiwgIm5hbWUiXQp9Cg==
1
+ import { parseArangoId, parseId, parseNum, parseString, parseUrl } from '@nlabs/utils';
2
+ import { z } from 'zod';
3
+ import { parseDocument, removeEmptyKeys } from '../arangoAdapter/arangoAdapter.js';
4
+ export class ImageValidationError extends Error {
5
+ field;
6
+ constructor(message, field){
7
+ super(message), this.field = field;
8
+ this.name = 'ImageValidationError';
9
+ }
10
+ }
11
+ const ImageInputSchema = z.object({
12
+ base64: z.string().optional(),
13
+ bucket: z.string().optional(),
14
+ color: z.string().optional(),
15
+ description: z.string().optional(),
16
+ file: z.any().optional(),
17
+ imageId: z.string().optional(),
18
+ height: z.number().optional(),
19
+ itemId: z.string().optional(),
20
+ itemType: z.string().optional(),
21
+ model: z.string().optional(),
22
+ make: z.string().optional(),
23
+ privacy: z.string().optional(),
24
+ s3Options: z.any().optional(),
25
+ taken: z.number().optional(),
26
+ thumb: z.string().optional(),
27
+ fileType: z.string().optional(),
28
+ type: z.string().optional(),
29
+ url: z.string().optional(),
30
+ width: z.number().optional(),
31
+ name: z.string().optional(),
32
+ _id: z.string().optional(),
33
+ _key: z.string().optional(),
34
+ _rev: z.string().optional(),
35
+ _oldRev: z.string().optional(),
36
+ _from: z.string().optional(),
37
+ _to: z.string().optional()
38
+ }).loose();
39
+ export const validateImageInput = (image)=>{
40
+ try {
41
+ const validated = ImageInputSchema.parse(image);
42
+ return validated;
43
+ } catch (error) {
44
+ if (error instanceof z.ZodError) {
45
+ const fieldErrors = error.issues.map((e)=>`${e.path.join('.')}: ${e.message}`).join(', ');
46
+ throw new ImageValidationError(`Image validation failed: ${fieldErrors}`);
47
+ }
48
+ throw error;
49
+ }
50
+ };
51
+ export const formatImageOutput = (image)=>image;
52
+ export const parseImage = (image)=>{
53
+ try {
54
+ const parsed = performImageTransformation(image);
55
+ return parsed;
56
+ } catch (error) {
57
+ if (error instanceof ImageValidationError) {
58
+ throw error;
59
+ }
60
+ throw new ImageValidationError(`Image parsing failed: ${error instanceof Error ? error.message : 'Unknown error'}`);
61
+ }
62
+ };
63
+ const performImageTransformation = (image)=>{
64
+ const { _id, _key, base64, bucket, color, description, file, id, imageId, height, itemId, itemType, model, make, privacy, s3Options, taken, thumb, fileType, type, url, width, name } = image;
65
+ const transformed = removeEmptyKeys({
66
+ ...parseDocument(image),
67
+ ...(_key || imageId) && {
68
+ imageId: parseId(_key || imageId || '')
69
+ },
70
+ ...(_id || id || _key || imageId) && {
71
+ id: parseArangoId(_id || id || `images/${_key || imageId}`)
72
+ },
73
+ ...base64 && {
74
+ base64
75
+ },
76
+ ...bucket && {
77
+ bucket
78
+ },
79
+ ...color && {
80
+ color
81
+ },
82
+ ...description && {
83
+ description: parseString(description, 500)
84
+ },
85
+ ...file && {
86
+ file
87
+ },
88
+ ...height !== undefined && {
89
+ height: parseNum(height)
90
+ },
91
+ ...itemId && {
92
+ itemId: parseId(itemId)
93
+ },
94
+ ...itemType && {
95
+ itemType: parseString(itemType, 32)
96
+ },
97
+ ...model && {
98
+ model: parseString(model, 160)
99
+ },
100
+ ...make && {
101
+ make: parseString(make, 160)
102
+ },
103
+ ...privacy && {
104
+ privacy: parseString(privacy, 32)
105
+ },
106
+ ...s3Options && {
107
+ s3Options
108
+ },
109
+ ...taken !== undefined && {
110
+ taken: parseNum(taken)
111
+ },
112
+ ...thumb && {
113
+ thumb
114
+ },
115
+ ...fileType && {
116
+ fileType: parseString(fileType, 16)
117
+ },
118
+ ...type && {
119
+ type: parseString(type, 16)
120
+ },
121
+ ...url && {
122
+ url: parseUrl(url)
123
+ },
124
+ ...width !== undefined && {
125
+ width: parseNum(width)
126
+ },
127
+ ...name && {
128
+ name: parseString(name, 160)
129
+ }
130
+ });
131
+ return transformed;
132
+ };
133
+
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L21ldHJvcG9saXNqcy9zcmMvYWRhcHRlcnMvaW1hZ2VBZGFwdGVyL2ltYWdlQWRhcHRlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBwYXJzZUFyYW5nb0lkLCBwYXJzZUlkLCBwYXJzZU51bSwgcGFyc2VTdHJpbmcsIHBhcnNlVXJsIH0gZnJvbSAnQG5sYWJzL3V0aWxzJztcbmltcG9ydCB7IHogfSBmcm9tICd6b2QnO1xuXG5pbXBvcnQgeyBwYXJzZURvY3VtZW50LCByZW1vdmVFbXB0eUtleXMgfSBmcm9tICcuLi9hcmFuZ29BZGFwdGVyL2FyYW5nb0FkYXB0ZXIuanMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEltYWdlVHlwZSB7XG4gIF9pZD86IHN0cmluZztcbiAgX2tleT86IHN0cmluZztcbiAgX3Jldj86IHN0cmluZztcbiAgX29sZFJldj86IHN0cmluZztcbiAgX2Zyb20/OiBzdHJpbmc7XG4gIF90bz86IHN0cmluZztcbiAgYmFzZTY0Pzogc3RyaW5nO1xuICBidWNrZXQ/OiBzdHJpbmc7XG4gIGNvbG9yPzogc3RyaW5nO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgZmlsZT86IEZpbGU7XG4gIGlkPzogc3RyaW5nO1xuICBpbWFnZUlkPzogc3RyaW5nO1xuICBoZWlnaHQ/OiBudW1iZXI7XG4gIGl0ZW1JZD86IHN0cmluZztcbiAgaXRlbVR5cGU/OiBzdHJpbmc7XG4gIG1vZGVsPzogc3RyaW5nO1xuICBtYWtlPzogc3RyaW5nO1xuICBwcml2YWN5Pzogc3RyaW5nO1xuICBzM09wdGlvbnM/OiBhbnk7XG4gIHRha2VuPzogbnVtYmVyO1xuICB0aHVtYj86IHN0cmluZztcbiAgZmlsZVR5cGU/OiBzdHJpbmc7XG4gIHR5cGU/OiBzdHJpbmc7XG4gIHVybD86IHN0cmluZztcbiAgd2lkdGg/OiBudW1iZXI7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIFtrZXk6IHN0cmluZ106IGFueTtcbn1cblxuZXhwb3J0IGNsYXNzIEltYWdlVmFsaWRhdGlvbkVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcsIHB1YmxpYyBmaWVsZD86IHN0cmluZykge1xuICAgIHN1cGVyKG1lc3NhZ2UpO1xuICAgIHRoaXMubmFtZSA9ICdJbWFnZVZhbGlkYXRpb25FcnJvcic7XG4gIH1cbn1cblxuY29uc3QgSW1hZ2VJbnB1dFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgYmFzZTY0OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGJ1Y2tldDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBjb2xvcjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBkZXNjcmlwdGlvbjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBmaWxlOiB6LmFueSgpLm9wdGlvbmFsKCksXG4gIGltYWdlSWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgaGVpZ2h0OiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIGl0ZW1JZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBpdGVtVHlwZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBtb2RlbDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBtYWtlOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHByaXZhY3k6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgczNPcHRpb25zOiB6LmFueSgpLm9wdGlvbmFsKCksXG4gIHRha2VuOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIHRodW1iOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGZpbGVUeXBlOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHR5cGU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgdXJsOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHdpZHRoOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIG5hbWU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX2lkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9rZXk6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX3Jldjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfb2xkUmV2OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9mcm9tOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF90bzogei5zdHJpbmcoKS5vcHRpb25hbCgpXG59KS5sb29zZSgpO1xuXG5leHBvcnQgY29uc3QgdmFsaWRhdGVJbWFnZUlucHV0ID0gKGltYWdlOiB1bmtub3duKTogSW1hZ2VUeXBlID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCB2YWxpZGF0ZWQgPSBJbWFnZUlucHV0U2NoZW1hLnBhcnNlKGltYWdlKTtcbiAgICByZXR1cm4gdmFsaWRhdGVkIGFzIEltYWdlVHlwZTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIGlmKGVycm9yIGluc3RhbmNlb2Ygei5ab2RFcnJvcikge1xuICAgICAgY29uc3QgZmllbGRFcnJvcnMgPSBlcnJvci5pc3N1ZXMubWFwKChlKSA9PiBgJHtlLnBhdGguam9pbignLicpfTogJHtlLm1lc3NhZ2V9YCkuam9pbignLCAnKTtcbiAgICAgIHRocm93IG5ldyBJbWFnZVZhbGlkYXRpb25FcnJvcihgSW1hZ2UgdmFsaWRhdGlvbiBmYWlsZWQ6ICR7ZmllbGRFcnJvcnN9YCk7XG4gICAgfVxuICAgIHRocm93IGVycm9yO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgZm9ybWF0SW1hZ2VPdXRwdXQgPSAoaW1hZ2U6IEltYWdlVHlwZSk6IEltYWdlVHlwZSA9PiBpbWFnZTtcblxuZXhwb3J0IGNvbnN0IHBhcnNlSW1hZ2UgPSAoaW1hZ2U6IEltYWdlVHlwZSk6IEltYWdlVHlwZSA9PiB7XG4gIHRyeSB7XG4gICAgY29uc3QgcGFyc2VkID0gcGVyZm9ybUltYWdlVHJhbnNmb3JtYXRpb24oaW1hZ2UpO1xuICAgIHJldHVybiBwYXJzZWQ7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICBpZihlcnJvciBpbnN0YW5jZW9mIEltYWdlVmFsaWRhdGlvbkVycm9yKSB7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gICAgdGhyb3cgbmV3IEltYWdlVmFsaWRhdGlvbkVycm9yKGBJbWFnZSBwYXJzaW5nIGZhaWxlZDogJHtlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdVbmtub3duIGVycm9yJ31gKTtcbiAgfVxufTtcblxuY29uc3QgcGVyZm9ybUltYWdlVHJhbnNmb3JtYXRpb24gPSAoaW1hZ2U6IEltYWdlVHlwZSk6IEltYWdlVHlwZSA9PiB7XG4gIGNvbnN0IHtcbiAgICBfaWQsXG4gICAgX2tleSxcbiAgICBiYXNlNjQsXG4gICAgYnVja2V0LFxuICAgIGNvbG9yLFxuICAgIGRlc2NyaXB0aW9uLFxuICAgIGZpbGUsXG4gICAgaWQsXG4gICAgaW1hZ2VJZCxcbiAgICBoZWlnaHQsXG4gICAgaXRlbUlkLFxuICAgIGl0ZW1UeXBlLFxuICAgIG1vZGVsLFxuICAgIG1ha2UsXG4gICAgcHJpdmFjeSxcbiAgICBzM09wdGlvbnMsXG4gICAgdGFrZW4sXG4gICAgdGh1bWIsXG4gICAgZmlsZVR5cGUsXG4gICAgdHlwZSxcbiAgICB1cmwsXG4gICAgd2lkdGgsXG4gICAgbmFtZVxuICB9ID0gaW1hZ2U7XG5cbiAgY29uc3QgdHJhbnNmb3JtZWQgPSByZW1vdmVFbXB0eUtleXMoe1xuICAgIC4uLnBhcnNlRG9jdW1lbnQoaW1hZ2UpLFxuICAgIC4uLigoX2tleSB8fCBpbWFnZUlkKSAmJiB7aW1hZ2VJZDogcGFyc2VJZChfa2V5IHx8IGltYWdlSWQgfHwgJycpfSksXG4gICAgLi4uKChfaWQgfHwgaWQgfHwgX2tleSB8fCBpbWFnZUlkKSAmJiB7aWQ6IHBhcnNlQXJhbmdvSWQoX2lkIHx8IGlkIHx8IGBpbWFnZXMvJHtfa2V5IHx8IGltYWdlSWR9YCl9KSxcbiAgICAuLi4oYmFzZTY0ICYmIHtiYXNlNjR9KSxcbiAgICAuLi4oYnVja2V0ICYmIHtidWNrZXR9KSxcbiAgICAuLi4oY29sb3IgJiYge2NvbG9yfSksXG4gICAgLi4uKGRlc2NyaXB0aW9uICYmIHtkZXNjcmlwdGlvbjogcGFyc2VTdHJpbmcoZGVzY3JpcHRpb24sIDUwMCl9KSxcbiAgICAuLi4oZmlsZSAmJiB7ZmlsZX0pLFxuICAgIC4uLihoZWlnaHQgIT09IHVuZGVmaW5lZCAmJiB7aGVpZ2h0OiBwYXJzZU51bShoZWlnaHQpfSksXG4gICAgLi4uKGl0ZW1JZCAmJiB7aXRlbUlkOiBwYXJzZUlkKGl0ZW1JZCl9KSxcbiAgICAuLi4oaXRlbVR5cGUgJiYge2l0ZW1UeXBlOiBwYXJzZVN0cmluZyhpdGVtVHlwZSwgMzIpfSksXG4gICAgLi4uKG1vZGVsICYmIHttb2RlbDogcGFyc2VTdHJpbmcobW9kZWwsIDE2MCl9KSxcbiAgICAuLi4obWFrZSAmJiB7bWFrZTogcGFyc2VTdHJpbmcobWFrZSwgMTYwKX0pLFxuICAgIC4uLihwcml2YWN5ICYmIHtwcml2YWN5OiBwYXJzZVN0cmluZyhwcml2YWN5LCAzMil9KSxcbiAgICAuLi4oczNPcHRpb25zICYmIHtzM09wdGlvbnN9KSxcbiAgICAuLi4odGFrZW4gIT09IHVuZGVmaW5lZCAmJiB7dGFrZW46IHBhcnNlTnVtKHRha2VuKX0pLFxuICAgIC4uLih0aHVtYiAmJiB7dGh1bWJ9KSxcbiAgICAuLi4oZmlsZVR5cGUgJiYge2ZpbGVUeXBlOiBwYXJzZVN0cmluZyhmaWxlVHlwZSwgMTYpfSksXG4gICAgLi4uKHR5cGUgJiYge3R5cGU6IHBhcnNlU3RyaW5nKHR5cGUsIDE2KX0pLFxuICAgIC4uLih1cmwgJiYge3VybDogcGFyc2VVcmwodXJsKX0pLFxuICAgIC4uLih3aWR0aCAhPT0gdW5kZWZpbmVkICYmIHt3aWR0aDogcGFyc2VOdW0od2lkdGgpfSksXG4gICAgLi4uKG5hbWUgJiYge25hbWU6IHBhcnNlU3RyaW5nKG5hbWUsIDE2MCl9KVxuICB9KTtcblxuICByZXR1cm4gdHJhbnNmb3JtZWQ7XG59O1xuIl0sIm5hbWVzIjpbInBhcnNlQXJhbmdvSWQiLCJwYXJzZUlkIiwicGFyc2VOdW0iLCJwYXJzZVN0cmluZyIsInBhcnNlVXJsIiwieiIsInBhcnNlRG9jdW1lbnQiLCJyZW1vdmVFbXB0eUtleXMiLCJJbWFnZVZhbGlkYXRpb25FcnJvciIsIkVycm9yIiwibWVzc2FnZSIsImZpZWxkIiwibmFtZSIsIkltYWdlSW5wdXRTY2hlbWEiLCJvYmplY3QiLCJiYXNlNjQiLCJzdHJpbmciLCJvcHRpb25hbCIsImJ1Y2tldCIsImNvbG9yIiwiZGVzY3JpcHRpb24iLCJmaWxlIiwiYW55IiwiaW1hZ2VJZCIsImhlaWdodCIsIm51bWJlciIsIml0ZW1JZCIsIml0ZW1UeXBlIiwibW9kZWwiLCJtYWtlIiwicHJpdmFjeSIsInMzT3B0aW9ucyIsInRha2VuIiwidGh1bWIiLCJmaWxlVHlwZSIsInR5cGUiLCJ1cmwiLCJ3aWR0aCIsIl9pZCIsIl9rZXkiLCJfcmV2IiwiX29sZFJldiIsIl9mcm9tIiwiX3RvIiwibG9vc2UiLCJ2YWxpZGF0ZUltYWdlSW5wdXQiLCJpbWFnZSIsInZhbGlkYXRlZCIsInBhcnNlIiwiZXJyb3IiLCJab2RFcnJvciIsImZpZWxkRXJyb3JzIiwiaXNzdWVzIiwibWFwIiwiZSIsInBhdGgiLCJqb2luIiwiZm9ybWF0SW1hZ2VPdXRwdXQiLCJwYXJzZUltYWdlIiwicGFyc2VkIiwicGVyZm9ybUltYWdlVHJhbnNmb3JtYXRpb24iLCJpZCIsInRyYW5zZm9ybWVkIiwidW5kZWZpbmVkIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxhQUFhLEVBQUVDLE9BQU8sRUFBRUMsUUFBUSxFQUFFQyxXQUFXLEVBQUVDLFFBQVEsUUFBUSxlQUFlO0FBQ3ZGLFNBQVNDLENBQUMsUUFBUSxNQUFNO0FBRXhCLFNBQVNDLGFBQWEsRUFBRUMsZUFBZSxRQUFRLG9DQUFvQztBQWlDbkYsT0FBTyxNQUFNQyw2QkFBNkJDOztJQUN4QyxZQUFZQyxPQUFlLEVBQUUsQUFBT0MsS0FBYyxDQUFFO1FBQ2xELEtBQUssQ0FBQ0QsZUFENEJDLFFBQUFBO1FBRWxDLElBQUksQ0FB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
@@ -1,16 +1,34 @@
1
- export * from './arangoAdapter/arangoAdapter';
2
- export * from './contentAdapter/contentAdapter';
3
- export * from './conversationAdapter/conversationAdapter';
4
- export * from './eventAdapter/eventAdapter';
5
- export * from './fileAdapter/fileAdapter';
6
- export * from './imageAdapter/imageAdapter';
7
- export * from './locationAdapter/locationAdapter';
8
- export * from './messageAdapter/messageAdapter';
9
- export * from './personaAdapter/personaAdapter';
10
- export * from './postAdapter/postAdapter';
11
- export * from './profileAdapter/profileAdapter';
12
- export * from './reactionAdapter/reactionAdapter';
13
- export * from './reaktorAdapter/reaktorAdapter';
14
- export * from './sessionAdapter/sessionAdapter';
15
- export * from './tagAdapter/tagAdapter';
16
- export * from './userAdapter/userAdapter';
1
+ export * from './arangoAdapter/arangoAdapter.js';
2
+ export { parseApp } from './appAdapter/appAdapter.js';
3
+ export { parseContent } from './contentAdapter/contentAdapter.js';
4
+ export { parseConversation } from './conversationAdapter/conversationAdapter.js';
5
+ export { parseEvent } from './eventAdapter/eventAdapter.js';
6
+ export { parseGroup } from './groupAdapter/groupAdapter.js';
7
+ export { parseImage } from './imageAdapter/imageAdapter.js';
8
+ export { parseLocation } from './locationAdapter/locationAdapter.js';
9
+ export { parseMessage } from './messageAdapter/messageAdapter.js';
10
+ export { getPermissionLevelName, hasPermission, isAdmin, isGuest, isModerator, isSuperAdmin, isUser, parsePermission, PermissionLevel, PermissionLevelNames } from './permissionAdapter/permissionAdapter.js';
11
+ export { parsePost } from './postAdapter/postAdapter.js';
12
+ export { parsePersona } from './personaAdapter/personaAdapter.js';
13
+ export { parseReaction } from './reactionAdapter/reactionAdapter.js';
14
+ export { parseTag } from './tagAdapter/tagAdapter.js';
15
+ export { parseTranslation } from './translationAdapter/translationAdapter.js';
16
+ export { parseUser } from './userAdapter/userAdapter.js';
17
+ export { parseVideo } from './videoAdapter/videoAdapter.js';
18
+ export type { AppType } from '../types/apps.types.js';
19
+ export type { ContentInputType, ContentType } from './contentAdapter/contentAdapter.js';
20
+ export type { ConversationType as ConversationAdapterType } from './conversationAdapter/conversationAdapter.js';
21
+ export type { EventType } from './eventAdapter/eventAdapter.js';
22
+ export type { GroupType } from '../types/groups.types.js';
23
+ export type { ImageType } from './imageAdapter/imageAdapter.js';
24
+ export type { LocationType } from './locationAdapter/locationAdapter.js';
25
+ export type { MessageType } from './messageAdapter/messageAdapter.js';
26
+ export type { Permission } from './permissionAdapter/permissionAdapter.js';
27
+ export type { PostType } from './postAdapter/postAdapter.js';
28
+ export type { PersonaType } from './personaAdapter/personaAdapter.js';
29
+ export type { ReactionType as ReactionAdapterType } from './reactionAdapter/reactionAdapter.js';
30
+ export type { TagType } from './tagAdapter/tagAdapter.js';
31
+ export type { TranslationType, TranslationInputType } from './translationAdapter/translationAdapter.js';
32
+ export type { User } from './userAdapter/userAdapter.js';
33
+ export type { VideoType } from '../types/videos.types.js';
34
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAC;AACjD,OAAO,EAAC,QAAQ,EAAC,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAC,YAAY,EAAC,MAAM,oCAAoC,CAAC;AAChE,OAAO,EAAC,iBAAiB,EAAC,MAAM,8CAA8C,CAAC;AAC/E,OAAO,EAAC,UAAU,EAAC,MAAM,gCAAgC,CAAC;AAC1D,OAAO,EAAC,UAAU,EAAC,MAAM,gCAAgC,CAAC;AAC1D,OAAO,EAAC,UAAU,EAAC,MAAM,gCAAgC,CAAC;AAC1D,OAAO,EAAC,aAAa,EAAC,MAAM,sCAAsC,CAAC;AACnE,OAAO,EAAC,YAAY,EAAC,MAAM,oCAAoC,CAAC;AAChE,OAAO,EACL,sBAAsB,EACtB,aAAa,EACb,OAAO,EACP,OAAO,EACP,WAAW,EACX,YAAY,EACZ,MAAM,EACN,eAAe,EACf,eAAe,EACf,oBAAoB,EACrB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAC,SAAS,EAAC,MAAM,8BAA8B,CAAC;AACvD,OAAO,EAAC,YAAY,EAAC,MAAM,oCAAoC,CAAC;AAChE,OAAO,EAAC,aAAa,EAAC,MAAM,sCAAsC,CAAC;AACnE,OAAO,EAAC,QAAQ,EAAC,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAC,gBAAgB,EAAC,MAAM,4CAA4C,CAAC;AAC5E,OAAO,EAAC,SAAS,EAAC,MAAM,8BAA8B,CAAC;AACvD,OAAO,EAAC,UAAU,EAAC,MAAM,gCAAgC,CAAC;AAE1D,YAAY,EAAC,OAAO,EAAC,MAAM,wBAAwB,CAAC;AACpD,YAAY,EAAC,gBAAgB,EAAE,WAAW,EAAC,MAAM,oCAAoC,CAAC;AACtF,YAAY,EAAC,gBAAgB,IAAI,uBAAuB,EAAC,MAAM,8CAA8C,CAAC;AAC9G,YAAY,EAAC,SAAS,EAAC,MAAM,gCAAgC,CAAC;AAC9D,YAAY,EAAC,SAAS,EAAC,MAAM,0BAA0B,CAAC;AACxD,YAAY,EAAC,SAAS,EAAC,MAAM,gCAAgC,CAAC;AAC9D,YAAY,EAAC,YAAY,EAAC,MAAM,sCAAsC,CAAC;AACvE,YAAY,EAAC,WAAW,EAAC,MAAM,oCAAoC,CAAC;AACpE,YAAY,EAAC,UAAU,EAAC,MAAM,0CAA0C,CAAC;AACzE,YAAY,EAAC,QAAQ,EAAC,MAAM,8BAA8B,CAAC;AAC3D,YAAY,EAAC,WAAW,EAAC,MAAM,oCAAoC,CAAC;AACpE,YAAY,EAAC,YAAY,IAAI,mBAAmB,EAAC,MAAM,sCAAsC,CAAC;AAC9F,YAAY,EAAC,OAAO,EAAC,MAAM,4BAA4B,CAAC;AACxD,YAAY,EAAC,eAAe,EAAE,oBAAoB,EAAC,MAAM,4CAA4C,CAAC;AACtG,YAAY,EAAC,IAAI,EAAC,MAAM,8BAA8B,CAAC;AACvD,YAAY,EAAC,SAAS,EAAC,MAAM,0BAA0B,CAAC"}
@@ -1,2 +1,19 @@
1
- export*from"./arangoAdapter/arangoAdapter";export*from"./contentAdapter/contentAdapter";export*from"./conversationAdapter/conversationAdapter";export*from"./eventAdapter/eventAdapter";export*from"./fileAdapter/fileAdapter";export*from"./imageAdapter/imageAdapter";export*from"./locationAdapter/locationAdapter";export*from"./messageAdapter/messageAdapter";export*from"./personaAdapter/personaAdapter";export*from"./postAdapter/postAdapter";export*from"./profileAdapter/profileAdapter";export*from"./reactionAdapter/reactionAdapter";export*from"./reaktorAdapter/reaktorAdapter";export*from"./sessionAdapter/sessionAdapter";export*from"./tagAdapter/tagAdapter";export*from"./userAdapter/userAdapter";
2
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FkYXB0ZXJzL2luZGV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJleHBvcnQgKiBmcm9tICcuL2FyYW5nb0FkYXB0ZXIvYXJhbmdvQWRhcHRlcic7XG5leHBvcnQgKiBmcm9tICcuL2NvbnRlbnRBZGFwdGVyL2NvbnRlbnRBZGFwdGVyJztcbmV4cG9ydCAqIGZyb20gJy4vY29udmVyc2F0aW9uQWRhcHRlci9jb252ZXJzYXRpb25BZGFwdGVyJztcbmV4cG9ydCAqIGZyb20gJy4vZXZlbnRBZGFwdGVyL2V2ZW50QWRhcHRlcic7XG5leHBvcnQgKiBmcm9tICcuL2ZpbGVBZGFwdGVyL2ZpbGVBZGFwdGVyJztcbmV4cG9ydCAqIGZyb20gJy4vaW1hZ2VBZGFwdGVyL2ltYWdlQWRhcHRlcic7XG5leHBvcnQgKiBmcm9tICcuL2xvY2F0aW9uQWRhcHRlci9sb2NhdGlvbkFkYXB0ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9tZXNzYWdlQWRhcHRlci9tZXNzYWdlQWRhcHRlcic7XG5leHBvcnQgKiBmcm9tICcuL3BlcnNvbmFBZGFwdGVyL3BlcnNvbmFBZGFwdGVyJztcbmV4cG9ydCAqIGZyb20gJy4vcG9zdEFkYXB0ZXIvcG9zdEFkYXB0ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9wcm9maWxlQWRhcHRlci9wcm9maWxlQWRhcHRlcic7XG5leHBvcnQgKiBmcm9tICcuL3JlYWN0aW9uQWRhcHRlci9yZWFjdGlvbkFkYXB0ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9yZWFrdG9yQWRhcHRlci9yZWFrdG9yQWRhcHRlcic7XG5leHBvcnQgKiBmcm9tICcuL3Nlc3Npb25BZGFwdGVyL3Nlc3Npb25BZGFwdGVyJztcbmV4cG9ydCAqIGZyb20gJy4vdGFnQWRhcHRlci90YWdBZGFwdGVyJztcbmV4cG9ydCAqIGZyb20gJy4vdXNlckFkYXB0ZXIvdXNlckFkYXB0ZXInO1xuXG4iXSwKICAibWFwcGluZ3MiOiAiQUFBQSxXQUFjLGdDQUNkLFdBQWMsa0NBQ2QsV0FBYyw0Q0FDZCxXQUFjLDhCQUNkLFdBQWMsNEJBQ2QsV0FBYyw4QkFDZCxXQUFjLG9DQUNkLFdBQWMsa0NBQ2QsV0FBYyxrQ0FDZCxXQUFjLDRCQUNkLFdBQWMsa0NBQ2QsV0FBYyxvQ0FDZCxXQUFjLGtDQUNkLFdBQWMsa0NBQ2QsV0FBYywwQkFDZCxXQUFjIiwKICAibmFtZXMiOiBbXQp9Cg==
1
+ export * from './arangoAdapter/arangoAdapter.js';
2
+ export { parseApp } from './appAdapter/appAdapter.js';
3
+ export { parseContent } from './contentAdapter/contentAdapter.js';
4
+ export { parseConversation } from './conversationAdapter/conversationAdapter.js';
5
+ export { parseEvent } from './eventAdapter/eventAdapter.js';
6
+ export { parseGroup } from './groupAdapter/groupAdapter.js';
7
+ export { parseImage } from './imageAdapter/imageAdapter.js';
8
+ export { parseLocation } from './locationAdapter/locationAdapter.js';
9
+ export { parseMessage } from './messageAdapter/messageAdapter.js';
10
+ export { getPermissionLevelName, hasPermission, isAdmin, isGuest, isModerator, isSuperAdmin, isUser, parsePermission, PermissionLevel, PermissionLevelNames } from './permissionAdapter/permissionAdapter.js';
11
+ export { parsePost } from './postAdapter/postAdapter.js';
12
+ export { parsePersona } from './personaAdapter/personaAdapter.js';
13
+ export { parseReaction } from './reactionAdapter/reactionAdapter.js';
14
+ export { parseTag } from './tagAdapter/tagAdapter.js';
15
+ export { parseTranslation } from './translationAdapter/translationAdapter.js';
16
+ export { parseUser } from './userAdapter/userAdapter.js';
17
+ export { parseVideo } from './videoAdapter/videoAdapter.js';
18
+
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L21ldHJvcG9saXNqcy9zcmMvYWRhcHRlcnMvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hcmFuZ29BZGFwdGVyL2FyYW5nb0FkYXB0ZXIuanMnO1xuZXhwb3J0IHtwYXJzZUFwcH0gZnJvbSAnLi9hcHBBZGFwdGVyL2FwcEFkYXB0ZXIuanMnO1xuZXhwb3J0IHtwYXJzZUNvbnRlbnR9IGZyb20gJy4vY29udGVudEFkYXB0ZXIvY29udGVudEFkYXB0ZXIuanMnO1xuZXhwb3J0IHtwYXJzZUNvbnZlcnNhdGlvbn0gZnJvbSAnLi9jb252ZXJzYXRpb25BZGFwdGVyL2NvbnZlcnNhdGlvbkFkYXB0ZXIuanMnO1xuZXhwb3J0IHtwYXJzZUV2ZW50fSBmcm9tICcuL2V2ZW50QWRhcHRlci9ldmVudEFkYXB0ZXIuanMnO1xuZXhwb3J0IHtwYXJzZUdyb3VwfSBmcm9tICcuL2dyb3VwQWRhcHRlci9ncm91cEFkYXB0ZXIuanMnO1xuZXhwb3J0IHtwYXJzZUltYWdlfSBmcm9tICcuL2ltYWdlQWRhcHRlci9pbWFnZUFkYXB0ZXIuanMnO1xuZXhwb3J0IHtwYXJzZUxvY2F0aW9ufSBmcm9tICcuL2xvY2F0aW9uQWRhcHRlci9sb2NhdGlvbkFkYXB0ZXIuanMnO1xuZXhwb3J0IHtwYXJzZU1lc3NhZ2V9IGZyb20gJy4vbWVzc2FnZUFkYXB0ZXIvbWVzc2FnZUFkYXB0ZXIuanMnO1xuZXhwb3J0IHtcbiAgZ2V0UGVybWlzc2lvbkxldmVsTmFtZSxcbiAgaGFzUGVybWlzc2lvbixcbiAgaXNBZG1pbixcbiAgaXNHdWVzdCxcbiAgaXNNb2RlcmF0b3IsXG4gIGlzU3VwZXJBZG1pbixcbiAgaXNVc2VyLFxuICBwYXJzZVBlcm1pc3Npb24sXG4gIFBlcm1pc3Npb25MZXZlbCxcbiAgUGVybWlzc2lvbkxldmVsTmFtZXNcbn0gZnJvbSAnLi9wZXJtaXNzaW9uQWRhcHRlci9wZXJtaXNzaW9uQWRhcHRlci5qcyc7XG5leHBvcnQge3BhcnNlUG9zdH0gZnJvbSAnLi9wb3N0QWRhcHRlci9wb3N0QWRhcHRlci5qcyc7XG5leHBvcnQge3BhcnNlUGVyc29uYX0gZnJvbSAnLi9wZXJzb25hQWRhcHRlci9wZXJzb25hQWRhcHRlci5qcyc7XG5leHBvcnQge3BhcnNlUmVhY3Rpb259IGZyb20gJy4vcmVhY3Rpb25BZGFwdGVyL3JlYWN0aW9uQWRhcHRlci5qcyc7XG5leHBvcnQge3BhcnNlVGFnfSBmcm9tICcuL3RhZ0FkYXB0ZXIvdGFnQWRhcHRlci5qcyc7XG5leHBvcnQge3BhcnNlVHJhbnNsYXRpb259IGZyb20gJy4vdHJhbnNsYXRpb25BZGFwdGVyL3RyYW5zbGF0aW9uQWRhcHRlci5qcyc7XG5leHBvcnQge3BhcnNlVXNlcn0gZnJvbSAnLi91c2VyQWRhcHRlci91c2VyQWRhcHRlci5qcyc7XG5leHBvcnQge3BhcnNlVmlkZW99IGZyb20gJy4vdmlkZW9BZGFwdGVyL3ZpZGVvQWRhcHRlci5qcyc7XG5cbmV4cG9ydCB0eXBlIHtBcHBUeXBlfSBmcm9tICcuLi90eXBlcy9hcHBzLnR5cGVzLmpzJztcbmV4cG9ydCB0eXBlIHtDb250ZW50SW5wdXRUeXBlLCBDb250ZW50VHlwZX0gZnJvbSAnLi9jb250ZW50QWRhcHRlci9jb250ZW50QWRhcHRlci5qcyc7XG5leHBvcnQgdHlwZSB7Q29udmVyc2F0aW9uVHlwZSBhcyBDb252ZXJzYXRpb25BZGFwdGVyVHlwZX0gZnJvbSAnLi9jb252ZXJzYXRpb25BZGFwdGVyL2NvbnZlcnNhdGlvbkFkYXB0ZXIuanMnO1xuZXhwb3J0IHR5cGUge0V2ZW50VHlwZX0gZnJvbSAnLi9ldmVudEFkYXB0ZXIvZXZlbnRBZGFwdGVyLmpzJztcbmV4cG9ydCB0eXBlIHtHcm91cFR5cGV9IGZyb20gJy4uL3R5cGVzL2dyb3Vwcy50eXBlcy5qcyc7XG5leHBvcnQgdHlwZSB7SW1hZ2VUeXBlfSBmcm9tICcuL2ltYWdlQWRhcHRlci9pbWFnZUFkYXB0ZXIuanMnO1xuZXhwb3J0IHR5cGUge0xvY2F0aW9uVHlwZX0gZnJvbSAnLi9sb2NhdGlvbkFkYXB0ZXIvbG9jYXRpb25BZGFwdGVyLmpzJztcbmV4cG9ydCB0eXBlIHtNZXNzYWdlVHlwZX0gZnJvbSAnLi9tZXNzYWdlQWRhcHRlci9tZXNzYWdlQWRhcHRlci5qcyc7XG5leHBvcnQgdHlwZSB7UGVybWlzc2lvbn0gZnJvbSAnLi9wZXJtaXNzaW9uQWRhcHRlci9wZXJtaXNzaW9uQWRhcHRlci5qcyc7XG5leHBvcnQgdHlwZSB7UG9zdFR5cGV9IGZyb20gJy4vcG9zdEFkYXB0ZXIvcG9zdEFkYXB0ZXIuanMnO1xuZXhwb3J0IHR5cGUge1BlcnNvbmFUeXBlfSBmcm9tICcuL3BlcnNvbmFBZGFwdGVyL3BlcnNvbmFBZGFwdGVyLmpzJztcbmV4cG9ydCB0eXBlIHtSZWFjdGlvblR5cGUgYXMgUmVhY3Rpb25BZGFwdGVyVHlwZX0gZnJvbSAnLi9yZWFjdGlvbkFkYXB0ZXIvcmVhY3Rpb25BZGFwdGVyLmpzJztcbmV4cG9ydCB0eXBlIHtUYWdUeXBlfSBmcm9tICcuL3RhZ0FkYXB0ZXIvdGFnQWRhcHRlci5qcyc7XG5leHBvcnQgdHlwZSB7VHJhbnNsYXRpb25UeXBlLCBUcmFuc2xhdGlvbklucHV0VHlwZX0gZnJvbSAnLi90cmFuc2xhdGlvbkFkYXB0ZXIvdHJhbnNsYXRpb25BZGFwdGVyLmpzJztcbmV4cG9ydCB0eXBlIHtVc2VyfSBmcm9tICcuL3VzZXJBZGFwdGVyL3VzZXJBZGFwdGVyLmpzJztcbmV4cG9ydCB0eXBlIHtWaWRlb1R5cGV9IGZyb20gJy4uL3R5cGVzL3ZpZGVvcy50eXBlcy5qcyc7XG4iXSwibmFtZXMiOlsicGFyc2VBcHAiLCJwYXJzZUNvbnRlbnQiLCJwYXJzZUNvbnZlcnNhdGlvbiIsInBhcnNlRXZlbnQiLCJwYXJzZUdyb3VwIiwicGFyc2VJbWFnZSIsInBhcnNlTG9jYXRpb24iLCJwYXJzZU1lc3NhZ2UiLCJnZXRQZXJtaXNzaW9uTGV2ZWxOYW1lIiwiaGFzUGVybWlzc2lvbiIsImlzQWRtaW4iLCJpc0d1ZXN0IiwiaXNNb2RlcmF0b3IiLCJpc1N1cGVyQWRtaW4iLCJpc1VzZXIiLCJwYXJzZVBlcm1pc3Npb24iLCJQZXJtaXNzaW9uTGV2ZWwiLCJQZXJtaXNzaW9uTGV2ZWxOYW1lcyIsInBhcnNlUG9zdCIsInBhcnNlUGVyc29uYSIsInBhcnNlUmVhY3Rpb24iLCJwYXJzZVRhZyIsInBhcnNlVHJhbnNsYXRpb24iLCJwYXJzZVVzZXIiLCJwYXJzZVZpZGVvIl0sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1DQUFtQztBQUNqRCxTQUFRQSxRQUFRLFFBQU8sNkJBQTZCO0FBQ3BELFNBQVFDLFlBQVksUUFBTyxxQ0FBcUM7QUFDaEUsU0FBUUMsaUJBQWlCLFFBQU8sK0NBQStDO0FBQy9FLFNBQVFDLFVBQVUsUUFBTyxpQ0FBaUM7QUFDMUQsU0FBUUMsVUFBVSxRQUFPLGlDQUFpQztBQUMxRCxTQUFRQyxVQUFVLFFBQU8saUNBQWlDO0FBQzFELFNBQVFDLGFBQWEsUUFBTyx1Q0FBdUM7QUFDbkUsU0FBUUMsWUFBWSxRQUFPLHFDQUFxQztBQUNoRSxTQUNFQyxzQkFBc0IsRUFDdEJDLGFBQWEsRUFDYkMsT0FBTyxFQUNQQyxPQUFPLEVBQ1BDLFdBQVcsRUFDWEMsWUFBWSxFQUNaQyxNQUFNLEVBQ05DLGVBQWUsRUFDZkMsZUFBZSxFQUNmQyxvQkFBb0IsUUFDZiwyQ0FBMkM7QUFDbEQsU0FBUUMsU0FBUyxRQUFPLCtCQUErQjtBQUN2RCxTQUFRQyxZQUFZLFFBQU8scUNBQXFDO0FBQ2hFLFNBQVFDLGFBQWEsUUFBTyx1Q0FBdUM7QUFDbkUsU0FBUUMsUUFBUSxRQUFPLDZCQUE2QjtBQUNwRCxTQUFRQyxnQkFBZ0IsUUFBTyw2Q0FBNkM7QUFDNUUsU0FBUUMsU0FBUyxRQUFPLCtCQUErQjtBQUN2RCxTQUFRQyxVQUFVLFFBQU8saUNBQWlDIn0=
@@ -19,9 +19,10 @@ export interface LocationType {
19
19
  [key: string]: any;
20
20
  }
21
21
  export declare class LocationValidationError extends Error {
22
- field?: string | undefined;
23
- constructor(message: string, field?: string | undefined);
22
+ field?: string;
23
+ constructor(message: string, field?: string);
24
24
  }
25
25
  export declare const validateLocationInput: (location: unknown) => LocationType;
26
26
  export declare const formatLocationOutput: (location: LocationType) => LocationType;
27
27
  export declare const parseLocation: (location: LocationType) => LocationType;
28
+ //# sourceMappingURL=locationAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locationAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/locationAdapter/locationAdapter.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,qBAAa,uBAAwB,SAAQ,KAAK;IACZ,KAAK,CAAC,EAAE,MAAM;gBAAtC,OAAO,EAAE,MAAM,EAAS,KAAK,CAAC,EAAE,MAAM;CAInD;AAsBD,eAAO,MAAM,qBAAqB,GAAI,UAAU,OAAO,KAAG,YAWzD,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,UAAU,YAAY,KAAG,YAAwB,CAAC;AAEvF,eAAO,MAAM,aAAa,GAAI,UAAU,YAAY,KAAG,YAUtD,CAAC"}
@@ -1,2 +1,95 @@
1
- import{parseArangoId as h,parseChar as L,parseId as x,parseNum as _,parseString as e,parseVarChar as T}from"@nlabs/utils";import{z as t}from"zod";import{parseDocument as v,removeEmptyKeys as w}from"../arangoAdapter/arangoAdapter";class s extends Error{constructor(r,i){super(r);this.field=i;this.name="LocationValidationError"}}const I=t.object({_id:t.string().optional(),_key:t.string().optional(),_rev:t.string().optional(),_oldRev:t.string().optional(),_from:t.string().optional(),_to:t.string().optional(),address:t.string().max(128).optional(),city:t.string().max(32).optional(),country:t.string().max(2).optional(),id:t.string().optional(),latitude:t.number().optional(),location:t.string().optional(),locationId:t.string().optional(),longitude:t.number().optional(),state:t.string().max(2).optional(),street:t.string().max(32).optional(),zip:t.string().max(16).optional()}).passthrough(),j=n=>{try{return I.parse(n)}catch(o){if(o instanceof t.ZodError){const r=o.issues.map(i=>`${i.path.join(".")}: ${i.message}`).join(", ");throw new s(`Location validation failed: ${r}`)}throw o}},S=n=>n,V=n=>{try{return E(n)}catch(o){throw o instanceof s?o:new s(`Location parsing failed: ${o instanceof Error?o.message:"Unknown error"}`)}},E=n=>{const{_id:o,_key:r,address:i,city:c,country:p,id:d,latitude:l,location:g,locationId:a,longitude:u,state:m,street:y,zip:f}=n;return w({...v(n),...(o||d||r||a)&&{id:h(o||d||`locations/${r||a}`)},...(r||a)&&{locationId:x(r||a||"")},...i&&{address:e(i,128)},...c&&{city:e(c,32)},...p&&{country:L(p,2)},...l!==void 0&&{latitude:_(l,15)},...g&&{location:e(g,128)},...u!==void 0&&{longitude:_(u,15)},...m&&{state:L(m,2)},...y&&{street:e(y,32)},...f&&{zip:T(f,16)}})};export{s as LocationValidationError,S as formatLocationOutput,V as parseLocation,j as validateLocationInput};
2
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2FkYXB0ZXJzL2xvY2F0aW9uQWRhcHRlci9sb2NhdGlvbkFkYXB0ZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7cGFyc2VBcmFuZ29JZCwgcGFyc2VDaGFyLCBwYXJzZUlkLCBwYXJzZU51bSwgcGFyc2VTdHJpbmcsIHBhcnNlVmFyQ2hhcn0gZnJvbSAnQG5sYWJzL3V0aWxzJztcbmltcG9ydCB7en0gZnJvbSAnem9kJztcblxuaW1wb3J0IHtwYXJzZURvY3VtZW50LCByZW1vdmVFbXB0eUtleXN9IGZyb20gJy4uL2FyYW5nb0FkYXB0ZXIvYXJhbmdvQWRhcHRlcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9jYXRpb25UeXBlIHtcbiAgX2lkPzogc3RyaW5nO1xuICBfa2V5Pzogc3RyaW5nO1xuICBfcmV2Pzogc3RyaW5nO1xuICBfb2xkUmV2Pzogc3RyaW5nO1xuICBfZnJvbT86IHN0cmluZztcbiAgX3RvPzogc3RyaW5nO1xuICBhZGRyZXNzPzogc3RyaW5nO1xuICBjaXR5Pzogc3RyaW5nO1xuICBjb3VudHJ5Pzogc3RyaW5nO1xuICBpZD86IHN0cmluZztcbiAgbGF0aXR1ZGU/OiBudW1iZXI7XG4gIGxvY2F0aW9uPzogc3RyaW5nO1xuICBsb2NhdGlvbklkPzogc3RyaW5nO1xuICBsb25naXR1ZGU/OiBudW1iZXI7XG4gIHN0YXRlPzogc3RyaW5nO1xuICBzdHJlZXQ/OiBzdHJpbmc7XG4gIHppcD86IHN0cmluZztcbiAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5leHBvcnQgY2xhc3MgTG9jYXRpb25WYWxpZGF0aW9uRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZywgcHVibGljIGZpZWxkPzogc3RyaW5nKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gICAgdGhpcy5uYW1lID0gJ0xvY2F0aW9uVmFsaWRhdGlvbkVycm9yJztcbiAgfVxufVxuXG5jb25zdCBMb2NhdGlvbklucHV0U2NoZW1hID0gei5vYmplY3Qoe1xuICBfaWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX2tleTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfcmV2OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9vbGRSZXY6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX2Zyb206IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX3RvOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGFkZHJlc3M6IHouc3RyaW5nKCkubWF4KDEyOCkub3B0aW9uYWwoKSxcbiAgY2l0eTogei5zdHJpbmcoKS5tYXgoMzIpLm9wdGlvbmFsKCksXG4gIGNvdW50cnk6IHouc3RyaW5nKCkubWF4KDIpLm9wdGlvbmFsKCksXG4gIGlkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGxhdGl0dWRlOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIGxvY2F0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGxvY2F0aW9uSWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgbG9uZ2l0dWRlOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIHN0YXRlOiB6LnN0cmluZygpLm1heCgyKS5vcHRpb25hbCgpLFxuICBzdHJlZXQ6IHouc3RyaW5nKCkubWF4KDMyKS5vcHRpb25hbCgpLFxuICB6aXA6IHouc3RyaW5nKCkubWF4KDE2KS5vcHRpb25hbCgpXG59KS5wYXNzdGhyb3VnaCgpO1xuXG5leHBvcnQgY29uc3QgdmFsaWRhdGVMb2NhdGlvbklucHV0ID0gKGxvY2F0aW9uOiB1bmtub3duKTogTG9jYXRpb25UeXBlID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCB2YWxpZGF0ZWQgPSBMb2NhdGlvbklucHV0U2NoZW1hLnBhcnNlKGxvY2F0aW9uKTtcbiAgICByZXR1cm4gdmFsaWRhdGVkIGFzIExvY2F0aW9uVHlwZTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIGlmKGVycm9yIGluc3RhbmNlb2Ygei5ab2RFcnJvcikge1xuICAgICAgY29uc3QgZmllbGRFcnJvcnMgPSBlcnJvci5pc3N1ZXMubWFwKChlKSA9PiBgJHtlLnBhdGguam9pbignLicpfTogJHtlLm1lc3NhZ2V9YCkuam9pbignLCAnKTtcbiAgICAgIHRocm93IG5ldyBMb2NhdGlvblZhbGlkYXRpb25FcnJvcihgTG9jYXRpb24gdmFsaWRhdGlvbiBmYWlsZWQ6ICR7ZmllbGRFcnJvcnN9YCk7XG4gICAgfVxuICAgIHRocm93IGVycm9yO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgZm9ybWF0TG9jYXRpb25PdXRwdXQgPSAobG9jYXRpb246IExvY2F0aW9uVHlwZSk6IExvY2F0aW9uVHlwZSA9PiBsb2NhdGlvbjtcblxuZXhwb3J0IGNvbnN0IHBhcnNlTG9jYXRpb24gPSAobG9jYXRpb246IExvY2F0aW9uVHlwZSk6IExvY2F0aW9uVHlwZSA9PiB7XG4gIHRyeSB7XG4gICAgY29uc3QgcGFyc2VkID0gcGVyZm9ybUxvY2F0aW9uVHJhbnNmb3JtYXRpb24obG9jYXRpb24pO1xuICAgIHJldHVybiBwYXJzZWQ7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICBpZihlcnJvciBpbnN0YW5jZW9mIExvY2F0aW9uVmFsaWRhdGlvbkVycm9yKSB7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gICAgdGhyb3cgbmV3IExvY2F0aW9uVmFsaWRhdGlvbkVycm9yKGBMb2NhdGlvbiBwYXJzaW5nIGZhaWxlZDogJHtlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdVbmtub3duIGVycm9yJ31gKTtcbiAgfVxufTtcblxuY29uc3QgcGVyZm9ybUxvY2F0aW9uVHJhbnNmb3JtYXRpb24gPSAobG9jYXRpb246IExvY2F0aW9uVHlwZSk6IExvY2F0aW9uVHlwZSA9PiB7XG4gIGNvbnN0IHtcbiAgICBfaWQsXG4gICAgX2tleSxcbiAgICBhZGRyZXNzLFxuICAgIGNpdHksXG4gICAgY291bnRyeSxcbiAgICBpZCxcbiAgICBsYXRpdHVkZSxcbiAgICBsb2NhdGlvbjogbG9jYXRpb25TdHIsXG4gICAgbG9jYXRpb25JZCxcbiAgICBsb25naXR1ZGUsXG4gICAgc3RhdGUsXG4gICAgc3RyZWV0LFxuICAgIHppcFxuICB9ID0gbG9jYXRpb247XG5cbiAgY29uc3QgdHJhbnNmb3JtZWQgPSByZW1vdmVFbXB0eUtleXMoe1xuICAgIC4uLnBhcnNlRG9jdW1lbnQobG9jYXRpb24pLFxuICAgIC4uLigoX2lkIHx8IGlkIHx8IF9rZXkgfHwgbG9jYXRpb25JZCkgJiYge2lkOiBwYXJzZUFyYW5nb0lkKF9pZCB8fCBpZCB8fCBgbG9jYXRpb25zLyR7X2tleSB8fCBsb2NhdGlvbklkfWApfSksXG4gICAgLi4uKChfa2V5IHx8IGxvY2F0aW9uSWQpICYmIHtsb2NhdGlvbklkOiBwYXJzZUlkKF9rZXkgfHwgbG9jYXRpb25JZCB8fCAnJyl9KSxcbiAgICAuLi4oYWRkcmVzcyAmJiB7YWRkcmVzczogcGFyc2VTdHJpbmcoYWRkcmVzcywgMTI4KX0pLFxuICAgIC4uLihjaXR5ICYmIHtjaXR5OiBwYXJzZVN0cmluZyhjaXR5LCAzMil9KSxcbiAgICAuLi4oY291bnRyeSAmJiB7Y291bnRyeTogcGFyc2VDaGFyKGNvdW50cnksIDIpfSksXG4gICAgLi4uKGxhdGl0dWRlICE9PSB1bmRlZmluZWQgJiYge2xhdGl0dWRlOiBwYXJzZU51bShsYXRpdHVkZSwgMTUpfSksXG4gICAgLi4uKGxvY2F0aW9uU3RyICYmIHtsb2NhdGlvbjogcGFyc2VTdHJpbmcobG9jYXRpb25TdHIsIDEyOCl9KSxcbiAgICAuLi4obG9uZ2l0dWRlICE9PSB1bmRlZmluZWQgJiYge2xvbmdpdHVkZTogcGFyc2VOdW0obG9uZ2l0dWRlLCAxNSl9KSxcbiAgICAuLi4oc3RhdGUgJiYge3N0YXRlOiBwYXJzZUNoYXIoc3RhdGUsIDIpfSksXG4gICAgLi4uKHN0cmVldCAmJiB7c3RyZWV0OiBwYXJzZVN0cmluZyhzdHJlZXQsIDMyKX0pLFxuICAgIC4uLih6aXAgJiYge3ppcDogcGFyc2VWYXJDaGFyKHppcCwgMTYpfSlcbiAgfSk7XG5cbiAgcmV0dXJuIHRyYW5zZm9ybWVkO1xufTsiXSwKICAibWFwcGluZ3MiOiAiQUFBQSxPQUFRLGlCQUFBQSxFQUFlLGFBQUFDLEVBQVcsV0FBQUMsRUFBUyxZQUFBQyxFQUFVLGVBQUFDLEVBQWEsZ0JBQUFDLE1BQW1CLGVBQ3JGLE9BQVEsS0FBQUMsTUFBUSxNQUVoQixPQUFRLGlCQUFBQyxFQUFlLG1CQUFBQyxNQUFzQixpQ0F1QnRDLE1BQU1DLFVBQWdDLEtBQU0sQ0FDakQsWUFBWUMsRUFBd0JDLEVBQWdCLENBQ2xELE1BQU1ELENBQU8sRUFEcUIsV0FBQUMsRUFFbEMsS0FBSyxLQUFPLHlCQUNkLENBQ0YsQ0FFQSxNQUFNQyxFQUFzQk4sRUFBRSxPQUFPLENBQ25DLElBQUtBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDekIsS0FBTUEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUMxQixLQUFNQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzFCLFFBQVNBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDN0IsTUFBT0EsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUMzQixJQUFLQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQ3pCLFFBQVNBLEVBQUUsT0FBTyxFQUFFLElBQUksR0FBRyxFQUFFLFNBQVMsRUFDdEMsS0FBTUEsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEVBQUUsU0FBUyxFQUNsQyxRQUFTQSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsRUFBRSxTQUFTLEVBQ3BDLEdBQUlBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDeEIsU0FBVUEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUM5QixTQUFVQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzlCLFdBQVlBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDaEMsVUFBV0EsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUMvQixNQUFPQSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsRUFBRSxTQUFTLEVBQ2xDLE9BQVFBLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxFQUFFLFNBQVMsRUFDcEMsSUFBS0EsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEVBQUUsU0FBUyxDQUNuQyxDQUFDLEVBQUUsWUFBWSxFQUVGTyxFQUF5QkMsR0FBb0MsQ0FDeEUsR0FBSSxDQUVGLE9BRGtCRixFQUFvQixNQUFNRSxDQUFRLENBRXRELE9BQVFDLEVBQU8sQ0FDYixHQUFHQSxhQUFpQlQsRUFBRSxTQUFVLENBQzlCLE1BQU1VLEVBQWNELEVBQU0sT0FBTyxJQUFLRSxHQUFNLEdBQUdBLEVBQUUsS0FBSyxLQUFLLEdBQUcsQ0FBQyxLQUFLQSxFQUFFLE9BQU8sRUFBRSxFQUFFLEtBQUssSUFBSSxFQUMxRixNQUFNLElBQUlSLEVBQXdCLCtCQUErQk8sQ0FBVyxFQUFFLENBQ2hGLENBQ0EsTUFBTUQsQ0FDUixDQUNGLEVBRWFHLEVBQXdCSixHQUF5Q0EsRUFFakVLLEVBQWlCTCxHQUF5QyxDQUNyRSxHQUFJLENBRUYsT0FEZU0sRUFBOEJOLENBQVEsQ0FFdkQsT0FBUUMsRUFBTyxDQUNiLE1BQUdBLGFBQWlCTixFQUNaTSxFQUVGLElBQUlOLEVBQXdCLDRCQUE0Qk0sYUFBaUIsTUFBUUEsRUFBTSxRQUFVLGVBQWUsRUFBRSxDQUMxSCxDQUNGLEVBRU1LLEVBQWlDTixHQUF5QyxDQUM5RSxLQUFNLENBQ0osSUFBQU8sRUFDQSxLQUFBQyxFQUNBLFFBQUFDLEVBQ0EsS0FBQUMsRUFDQSxRQUFBQyxFQUNBLEdBQUFDLEVBQ0EsU0FBQUMsRUFDQSxTQUFVQyxFQUNWLFdBQUFDLEVBQ0EsVUFBQUMsRUFDQSxNQUFBQyxFQUNBLE9BQUFDLEVBQ0EsSUFBQUMsQ0FDRixFQUFJbkIsRUFpQkosT0Fmb0JOLEVBQWdCLENBQ2xDLEdBQUdELEVBQWNPLENBQVEsRUFDekIsSUFBS08sR0FBT0ssR0FBTUosR0FBUU8sSUFBZSxDQUFDLEdBQUk3QixFQUFjcUIsR0FBT0ssR0FBTSxhQUFhSixHQUFRTyxDQUFVLEVBQUUsQ0FBQyxFQUMzRyxJQUFLUCxHQUFRTyxJQUFlLENBQUMsV0FBWTNCLEVBQVFvQixHQUFRTyxHQUFjLEVBQUUsQ0FBQyxFQUMxRSxHQUFJTixHQUFXLENBQUMsUUFBU25CLEVBQVltQixFQUFTLEdBQUcsQ0FBQyxFQUNsRCxHQUFJQyxHQUFRLENBQUMsS0FBTXBCLEVBQVlvQixFQUFNLEVBQUUsQ0FBQyxFQUN4QyxHQUFJQyxHQUFXLENBQUMsUUFBU3hCLEVBQVV3QixFQUFTLENBQUMsQ0FBQyxFQUM5QyxHQUFJRSxJQUFhLFFBQWEsQ0FBQyxTQUFVeEIsRUFBU3dCLEVBQVUsRUFBRSxDQUFDLEVBQy9ELEdBQUlDLEdBQWUsQ0FBQyxTQUFVeEIsRUFBWXdCLEVBQWEsR0FBRyxDQUFDLEVBQzNELEdBQUlFLElBQWMsUUFBYSxDQUFDLFVBQVczQixFQUFTMkIsRUFBVyxFQUFFLENBQUMsRUFDbEUsR0FBSUMsR0FBUyxDQUFDLE1BQU85QixFQUFVOEIsRUFBTyxDQUFDLENBQUMsRUFDeEMsR0FBSUMsR0FBVSxDQUFDLE9BQVE1QixFQUFZNEIsRUFBUSxFQUFFLENBQUMsRUFDOUMsR0FBSUMsR0FBTyxDQUFDLElBQUs1QixFQUFhNEIsRUFBSyxFQUFFLENBQUMsQ0FDeEMsQ0FBQyxDQUdIIiwKICAibmFtZXMiOiBbInBhcnNlQXJhbmdvSWQiLCAicGFyc2VDaGFyIiwgInBhcnNlSWQiLCAicGFyc2VOdW0iLCAicGFyc2VTdHJpbmciLCAicGFyc2VWYXJDaGFyIiwgInoiLCAicGFyc2VEb2N1bWVudCIsICJyZW1vdmVFbXB0eUtleXMiLCAiTG9jYXRpb25WYWxpZGF0aW9uRXJyb3IiLCAibWVzc2FnZSIsICJmaWVsZCIsICJMb2NhdGlvbklucHV0U2NoZW1hIiwgInZhbGlkYXRlTG9jYXRpb25JbnB1dCIsICJsb2NhdGlvbiIsICJlcnJvciIsICJmaWVsZEVycm9ycyIsICJlIiwgImZvcm1hdExvY2F0aW9uT3V0cHV0IiwgInBhcnNlTG9jYXRpb24iLCAicGVyZm9ybUxvY2F0aW9uVHJhbnNmb3JtYXRpb24iLCAiX2lkIiwgIl9rZXkiLCAiYWRkcmVzcyIsICJjaXR5IiwgImNvdW50cnkiLCAiaWQiLCAibGF0aXR1ZGUiLCAibG9jYXRpb25TdHIiLCAibG9jYXRpb25JZCIsICJsb25naXR1ZGUiLCAic3RhdGUiLCAic3RyZWV0IiwgInppcCJdCn0K
1
+ import { parseArangoId, parseChar, parseId, parseNum, parseString, parseVarChar } from '@nlabs/utils';
2
+ import { z } from 'zod';
3
+ import { parseDocument, removeEmptyKeys } from '../arangoAdapter/arangoAdapter.js';
4
+ export class LocationValidationError extends Error {
5
+ field;
6
+ constructor(message, field){
7
+ super(message), this.field = field;
8
+ this.name = 'LocationValidationError';
9
+ }
10
+ }
11
+ const LocationInputSchema = z.object({
12
+ _id: z.string().optional(),
13
+ _key: z.string().optional(),
14
+ _rev: z.string().optional(),
15
+ _oldRev: z.string().optional(),
16
+ _from: z.string().optional(),
17
+ _to: z.string().optional(),
18
+ address: z.string().max(128).optional(),
19
+ city: z.string().max(32).optional(),
20
+ country: z.string().max(2).optional(),
21
+ id: z.string().optional(),
22
+ latitude: z.number().optional(),
23
+ location: z.string().optional(),
24
+ locationId: z.string().optional(),
25
+ longitude: z.number().optional(),
26
+ state: z.string().max(2).optional(),
27
+ street: z.string().max(32).optional(),
28
+ zip: z.string().max(16).optional()
29
+ }).loose();
30
+ export const validateLocationInput = (location)=>{
31
+ try {
32
+ const validated = LocationInputSchema.parse(location);
33
+ return validated;
34
+ } catch (error) {
35
+ if (error instanceof z.ZodError) {
36
+ const fieldErrors = error.issues.map((e)=>`${e.path.join('.')}: ${e.message}`).join(', ');
37
+ throw new LocationValidationError(`Location validation failed: ${fieldErrors}`);
38
+ }
39
+ throw error;
40
+ }
41
+ };
42
+ export const formatLocationOutput = (location)=>location;
43
+ export const parseLocation = (location)=>{
44
+ try {
45
+ const parsed = performLocationTransformation(location);
46
+ return parsed;
47
+ } catch (error) {
48
+ if (error instanceof LocationValidationError) {
49
+ throw error;
50
+ }
51
+ throw new LocationValidationError(`Location parsing failed: ${error instanceof Error ? error.message : 'Unknown error'}`);
52
+ }
53
+ };
54
+ const performLocationTransformation = (location)=>{
55
+ const { _id, _key, address, city, country, id, latitude, location: locationStr, locationId, longitude, state, street, zip } = location;
56
+ const transformed = removeEmptyKeys({
57
+ ...parseDocument(location),
58
+ ...(_id || id || _key || locationId) && {
59
+ id: parseArangoId(_id || id || `locations/${_key || locationId}`)
60
+ },
61
+ ...(_key || locationId) && {
62
+ locationId: parseId(_key || locationId || '')
63
+ },
64
+ ...address && {
65
+ address: parseString(address, 128)
66
+ },
67
+ ...city && {
68
+ city: parseString(city, 32)
69
+ },
70
+ ...country && {
71
+ country: parseChar(country, 2)
72
+ },
73
+ ...latitude !== undefined && {
74
+ latitude: parseNum(latitude, 15)
75
+ },
76
+ ...locationStr && {
77
+ location: parseString(locationStr, 128)
78
+ },
79
+ ...longitude !== undefined && {
80
+ longitude: parseNum(longitude, 15)
81
+ },
82
+ ...state && {
83
+ state: parseChar(state, 2)
84
+ },
85
+ ...street && {
86
+ street: parseString(street, 32)
87
+ },
88
+ ...zip && {
89
+ zip: parseVarChar(zip, 16)
90
+ }
91
+ });
92
+ return transformed;
93
+ };
94
+
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L21ldHJvcG9saXNqcy9zcmMvYWRhcHRlcnMvbG9jYXRpb25BZGFwdGVyL2xvY2F0aW9uQWRhcHRlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBwYXJzZUFyYW5nb0lkLCBwYXJzZUNoYXIsIHBhcnNlSWQsIHBhcnNlTnVtLCBwYXJzZVN0cmluZywgcGFyc2VWYXJDaGFyIH0gZnJvbSAnQG5sYWJzL3V0aWxzJztcbmltcG9ydCB7IHogfSBmcm9tICd6b2QnO1xuXG5pbXBvcnQgeyBwYXJzZURvY3VtZW50LCByZW1vdmVFbXB0eUtleXMgfSBmcm9tICcuLi9hcmFuZ29BZGFwdGVyL2FyYW5nb0FkYXB0ZXIuanMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIExvY2F0aW9uVHlwZSB7XG4gIF9pZD86IHN0cmluZztcbiAgX2tleT86IHN0cmluZztcbiAgX3Jldj86IHN0cmluZztcbiAgX29sZFJldj86IHN0cmluZztcbiAgX2Zyb20/OiBzdHJpbmc7XG4gIF90bz86IHN0cmluZztcbiAgYWRkcmVzcz86IHN0cmluZztcbiAgY2l0eT86IHN0cmluZztcbiAgY291bnRyeT86IHN0cmluZztcbiAgaWQ/OiBzdHJpbmc7XG4gIGxhdGl0dWRlPzogbnVtYmVyO1xuICBsb2NhdGlvbj86IHN0cmluZztcbiAgbG9jYXRpb25JZD86IHN0cmluZztcbiAgbG9uZ2l0dWRlPzogbnVtYmVyO1xuICBzdGF0ZT86IHN0cmluZztcbiAgc3RyZWV0Pzogc3RyaW5nO1xuICB6aXA/OiBzdHJpbmc7XG4gIFtrZXk6IHN0cmluZ106IGFueTtcbn1cblxuZXhwb3J0IGNsYXNzIExvY2F0aW9uVmFsaWRhdGlvbkVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcsIHB1YmxpYyBmaWVsZD86IHN0cmluZykge1xuICAgIHN1cGVyKG1lc3NhZ2UpO1xuICAgIHRoaXMubmFtZSA9ICdMb2NhdGlvblZhbGlkYXRpb25FcnJvcic7XG4gIH1cbn1cblxuY29uc3QgTG9jYXRpb25JbnB1dFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgX2lkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9rZXk6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX3Jldjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfb2xkUmV2OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9mcm9tOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF90bzogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBhZGRyZXNzOiB6LnN0cmluZygpLm1heCgxMjgpLm9wdGlvbmFsKCksXG4gIGNpdHk6IHouc3RyaW5nKCkubWF4KDMyKS5vcHRpb25hbCgpLFxuICBjb3VudHJ5OiB6LnN0cmluZygpLm1heCgyKS5vcHRpb25hbCgpLFxuICBpZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBsYXRpdHVkZTogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICBsb2NhdGlvbjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBsb2NhdGlvbklkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGxvbmdpdHVkZTogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICBzdGF0ZTogei5zdHJpbmcoKS5tYXgoMikub3B0aW9uYWwoKSxcbiAgc3RyZWV0OiB6LnN0cmluZygpLm1heCgzMikub3B0aW9uYWwoKSxcbiAgemlwOiB6LnN0cmluZygpLm1heCgxNikub3B0aW9uYWwoKVxufSkubG9vc2UoKTtcblxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlTG9jYXRpb25JbnB1dCA9IChsb2NhdGlvbjogdW5rbm93bik6IExvY2F0aW9uVHlwZSA9PiB7XG4gIHRyeSB7XG4gICAgY29uc3QgdmFsaWRhdGVkID0gTG9jYXRpb25JbnB1dFNjaGVtYS5wYXJzZShsb2NhdGlvbik7XG4gICAgcmV0dXJuIHZhbGlkYXRlZCBhcyBMb2NhdGlvblR5cGU7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICBpZihlcnJvciBpbnN0YW5jZW9mIHouWm9kRXJyb3IpIHtcbiAgICAgIGNvbnN0IGZpZWxkRXJyb3JzID0gZXJyb3IuaXNzdWVzLm1hcCgoZSkgPT4gYCR7ZS5wYXRoLmpvaW4oJy4nKX06ICR7ZS5tZXNzYWdlfWApLmpvaW4oJywgJyk7XG4gICAgICB0aHJvdyBuZXcgTG9jYXRpb25WYWxpZGF0aW9uRXJyb3IoYExvY2F0aW9uIHZhbGlkYXRpb24gZmFpbGVkOiAke2ZpZWxkRXJyb3JzfWApO1xuICAgIH1cbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGZvcm1hdExvY2F0aW9uT3V0cHV0ID0gKGxvY2F0aW9uOiBMb2NhdGlvblR5cGUpOiBMb2NhdGlvblR5cGUgPT4gbG9jYXRpb247XG5cbmV4cG9ydCBjb25zdCBwYXJzZUxvY2F0aW9uID0gKGxvY2F0aW9uOiBMb2NhdGlvblR5cGUpOiBMb2NhdGlvblR5cGUgPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IHBhcnNlZCA9IHBlcmZvcm1Mb2NhdGlvblRyYW5zZm9ybWF0aW9uKGxvY2F0aW9uKTtcbiAgICByZXR1cm4gcGFyc2VkO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgaWYoZXJyb3IgaW5zdGFuY2VvZiBMb2NhdGlvblZhbGlkYXRpb25FcnJvcikge1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICAgIHRocm93IG5ldyBMb2NhdGlvblZhbGlkYXRpb25FcnJvcihgTG9jYXRpb24gcGFyc2luZyBmYWlsZWQ6ICR7ZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnVW5rbm93biBlcnJvcid9YCk7XG4gIH1cbn07XG5cbmNvbnN0IHBlcmZvcm1Mb2NhdGlvblRyYW5zZm9ybWF0aW9uID0gKGxvY2F0aW9uOiBMb2NhdGlvblR5cGUpOiBMb2NhdGlvblR5cGUgPT4ge1xuICBjb25zdCB7XG4gICAgX2lkLFxuICAgIF9rZXksXG4gICAgYWRkcmVzcyxcbiAgICBjaXR5LFxuICAgIGNvdW50cnksXG4gICAgaWQsXG4gICAgbGF0aXR1ZGUsXG4gICAgbG9jYXRpb246IGxvY2F0aW9uU3RyLFxuICAgIGxvY2F0aW9uSWQsXG4gICAgbG9uZ2l0dWRlLFxuICAgIHN0YXRlLFxuICAgIHN0cmVldCxcbiAgICB6aXBcbiAgfSA9IGxvY2F0aW9uO1xuXG4gIGNvbnN0IHRyYW5zZm9ybWVkID0gcmVtb3ZlRW1wdHlLZXlzKHtcbiAgICAuLi5wYXJzZURvY3VtZW50KGxvY2F0aW9uKSxcbiAgICAuLi4oKF9pZCB8fCBpZCB8fCBfa2V5IHx8IGxvY2F0aW9uSWQpICYmIHtpZDogcGFyc2VBcmFuZ29JZChfaWQgfHwgaWQgfHwgYGxvY2F0aW9ucy8ke19rZXkgfHwgbG9jYXRpb25JZH1gKX0pLFxuICAgIC4uLigoX2tleSB8fCBsb2NhdGlvbklkKSAmJiB7bG9jYXRpb25JZDogcGFyc2VJZChfa2V5IHx8IGxvY2F0aW9uSWQgfHwgJycpfSksXG4gICAgLi4uKGFkZHJlc3MgJiYge2FkZHJlc3M6IHBhcnNlU3RyaW5nKGFkZHJlc3MsIDEyOCl9KSxcbiAgICAuLi4oY2l0eSAmJiB7Y2l0eTogcGFyc2VTdHJpbmcoY2l0eSwgMzIpfSksXG4gICAgLi4uKGNvdW50cnkgJiYge2NvdW50cnk6IHBhcnNlQ2hhcihjb3VudHJ5LCAyKX0pLFxuICAgIC4uLihsYXRpdHVkZSAhPT0gdW5kZWZpbmVkICYmIHtsYXRpdHVkZTogcGFyc2VOdW0obGF0aXR1ZGUsIDE1KX0pLFxuICAgIC4uLihsb2NhdGlvblN0ciAmJiB7bG9jYXRpb246IHBhcnNlU3RyaW5nKGxvY2F0aW9uU3RyLCAxMjgpfSksXG4gICAgLi4uKGxvbmdpdHVkZSAhPT0gdW5kZWZpbmVkICYmIHtsb25naXR1ZGU6IHBhcnNlTnVtKGxvbmdpdHVkZSwgMTUpfSksXG4gICAgLi4uKHN0YXRlICYmIHtzdGF0ZTogcGFyc2VDaGFyKHN0YXRlLCAyKX0pLFxuICAgIC4uLihzdHJlZXQgJiYge3N0cmVldDogcGFyc2VTdHJpbmcoc3RyZWV0LCAzMil9KSxcbiAgICAuLi4oemlwICYmIHt6aXA6IHBhcnNlVmFyQ2hhcih6aXAsIDE2KX0pXG4gIH0pO1xuXG4gIHJldHVybiB0cmFuc2Zvcm1lZDtcbn07Il0sIm5hbWVzIjpbInBhcnNlQXJhbmdvSWQiLCJwYXJzZUNoYXIiLCJwYXJzZUlkIiwicGFyc2VOdW0iLCJwYXJzZVN0cmluZyIsInBhcnNlVmFyQ2hhciIsInoiLCJwYXJzZURvY3VtZW50IiwicmVtb3ZlRW1wdHlLZXlzIiwiTG9jYXRpb25WYWxpZGF0aW9uRXJyb3IiLCJFcnJvciIsIm1lc3NhZ2UiLCJmaWVsZCIsIm5hbWUiLCJMb2NhdGlvbklucHV0U2NoZW1hIiwib2JqZWN0IiwiX2lkIiwic3RyaW5nIiwib3B0aW9uYWwiLCJfa2V5IiwiX3JldiIsIl9vbGRSZXYiLCJfZnJvbSIsIl90byIsImFkZHJlc3MiLCJtYXgiLCJjaXR5IiwiY291bnRyeSIsImlkIiwibGF0aXR1ZGUiLCJudW1iZXIiLCJsb2NhdGlvbiIsImxvY2F0aW9uSWQiLCJsb25naXR1ZGUiLCJzdGF0ZSIsInN0cmVldCIsInppcCIsImxvb3NlIiwidmFsaWRhdGVMb2NhdGlvbklucHV0IiwidmFsaWRhdGVkIiwicGFyc2UiLCJlcnJvciIsIlpvZEVycm9yIiwiZmllbGRFcnJvcnMiLCJpc3N1ZXMiLCJtYXAiLCJlIiwicGF0aCIsImpvaW4iLCJmb3JtYXRMb2NhdGlvbk91dHB1dCIsInBhcnNlTG9jYXRpb24iLCJwYXJzZWQiLCJwZXJmb3JtTG9jYXRpb25UcmFuc2Zvcm1hdGlvbiIsImxvY2F0aW9uU3RyIiwidHJhbnNmb3JtZWQiLCJ1bmRlZmluZWQiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLGFBQWEsRUFBRUMsU0FBUyxFQUFFQyxPQUFPLEVBQUVDLFFBQVEsRUFBRUMsV0FBVyxFQUFFQyxZQUFZLFFBQVEsZUFBZTtBQUN0RyxTQUFTQyxDQUFDLFFBQVEsTUFBTTtBQUV4QixTQUFTQyxhQUFhLEVBQUVDLGVBQWUsUUFBUSxvQ0FBb0M7QUF1Qm5GLE9B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
@@ -1,27 +1,31 @@
1
+ import { User } from '../../adapters/userAdapter/userAdapter.js';
1
2
  export interface MessageType {
2
- _id?: string;
3
- _key?: string;
4
- _rev?: string;
5
- _oldRev?: string;
6
- _from?: string;
7
- _to?: string;
8
- content?: string;
9
- conversationId?: string;
10
- files?: any[];
11
- id?: string;
12
- images?: any[];
13
- itemId?: string;
14
- itemType?: string;
15
- messageId?: string;
16
- read?: boolean;
17
- saved?: boolean;
18
- userId?: string;
3
+ readonly _id?: string;
4
+ readonly _key?: string;
5
+ readonly _rev?: string;
6
+ readonly _oldRev?: string;
7
+ readonly _from?: string;
8
+ readonly _to?: string;
9
+ readonly content?: string;
10
+ readonly conversationId?: string;
11
+ readonly files?: any[];
12
+ readonly id?: string;
13
+ readonly images?: any[];
14
+ readonly itemId?: string;
15
+ readonly itemType?: string;
16
+ readonly messageId?: string;
17
+ readonly personaId?: string;
18
+ readonly read?: boolean;
19
+ readonly saved?: boolean;
20
+ readonly user?: User;
21
+ readonly userId?: string;
19
22
  [key: string]: any;
20
23
  }
21
24
  export declare class MessageValidationError extends Error {
22
- field?: string | undefined;
23
- constructor(message: string, field?: string | undefined);
25
+ field?: string;
26
+ constructor(message: string, field?: string);
24
27
  }
25
28
  export declare const validateMessageInput: (message: unknown) => MessageType;
26
29
  export declare const formatMessageOutput: (message: MessageType) => MessageType;
27
30
  export declare const parseMessage: (message: MessageType) => MessageType;
31
+ //# sourceMappingURL=messageAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messageAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/messageAdapter/messageAdapter.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,IAAI,EAAC,MAAM,2CAA2C,CAAC;AAK/D,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;IACvB,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;IACrB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,qBAAa,sBAAuB,SAAQ,KAAK;IACX,KAAK,CAAC,EAAE,MAAM;gBAAtC,OAAO,EAAE,MAAM,EAAS,KAAK,CAAC,EAAE,MAAM;CAInD;AAsBD,eAAO,MAAM,oBAAoB,GAAI,SAAS,OAAO,KAAG,WAWvD,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,SAAS,WAAW,KAAG,WAAsB,CAAC;AAElF,eAAO,MAAM,YAAY,GAAI,SAAS,WAAW,KAAG,WAUnD,CAAC"}
@@ -1,2 +1,82 @@
1
- import{parseArangoId as m,parseId as l}from"@nlabs/utils";import{z as e}from"zod";import{parseDocument as c,removeEmptyKeys as y}from"../arangoAdapter/arangoAdapter";import{parseFile as f}from"../fileAdapter/fileAdapter";import{parseImage as M}from"../imageAdapter/imageAdapter";class n extends Error{constructor(t,a){super(t);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(),b=r=>{try{return u.parse(r)}catch(s){if(s instanceof e.ZodError){const t=s.issues.map(a=>`${a.path.join(".")}: ${a.message}`).join(", ");throw new n(`Message validation failed: ${t}`)}throw s}},k=r=>r,x=r=>{try{return v(r)}catch(s){throw s instanceof n?s:new n(`Message parsing failed: ${s instanceof Error?s.message:"Unknown error"}`)}},v=r=>{const{_id:s,_key:t,content:a,files:i,id:g,images:p,messageId:o,saved:d}=r;return y({...c(r),...(s||g||t||o)&&{id:m(s||g||`messages/${t||o}`)},...(t||o)&&{messageId:l(t||o||"")},...a&&{content:a},...Array.isArray(i)&&{files:i.map(f)},...Array.isArray(p)&&{images:p.map(M)},...d!==void 0&&{saved:!!d}})};export{n as MessageValidationError,k as formatMessageOutput,x as parseMessage,b as validateMessageInput};
2
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2FkYXB0ZXJzL21lc3NhZ2VBZGFwdGVyL21lc3NhZ2VBZGFwdGVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQge3BhcnNlQXJhbmdvSWQsIHBhcnNlSWR9IGZyb20gJ0BubGFicy91dGlscyc7XG5pbXBvcnQge3p9IGZyb20gJ3pvZCc7XG5cbmltcG9ydCB7cGFyc2VEb2N1bWVudCwgcmVtb3ZlRW1wdHlLZXlzfSBmcm9tICcuLi9hcmFuZ29BZGFwdGVyL2FyYW5nb0FkYXB0ZXInO1xuaW1wb3J0IHtwYXJzZUZpbGV9IGZyb20gJy4uL2ZpbGVBZGFwdGVyL2ZpbGVBZGFwdGVyJztcbmltcG9ydCB7cGFyc2VJbWFnZX0gZnJvbSAnLi4vaW1hZ2VBZGFwdGVyL2ltYWdlQWRhcHRlcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWVzc2FnZVR5cGUge1xuICBfaWQ/OiBzdHJpbmc7XG4gIF9rZXk/OiBzdHJpbmc7XG4gIF9yZXY/OiBzdHJpbmc7XG4gIF9vbGRSZXY/OiBzdHJpbmc7XG4gIF9mcm9tPzogc3RyaW5nO1xuICBfdG8/OiBzdHJpbmc7XG4gIGNvbnRlbnQ/OiBzdHJpbmc7XG4gIGNvbnZlcnNhdGlvbklkPzogc3RyaW5nO1xuICBmaWxlcz86IGFueVtdO1xuICBpZD86IHN0cmluZztcbiAgaW1hZ2VzPzogYW55W107XG4gIGl0ZW1JZD86IHN0cmluZztcbiAgaXRlbVR5cGU/OiBzdHJpbmc7XG4gIG1lc3NhZ2VJZD86IHN0cmluZztcbiAgcmVhZD86IGJvb2xlYW47XG4gIHNhdmVkPzogYm9vbGVhbjtcbiAgdXNlcklkPzogc3RyaW5nO1xuICBba2V5OiBzdHJpbmddOiBhbnk7XG59XG5cbmV4cG9ydCBjbGFzcyBNZXNzYWdlVmFsaWRhdGlvbkVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcsIHB1YmxpYyBmaWVsZD86IHN0cmluZykge1xuICAgIHN1cGVyKG1lc3NhZ2UpO1xuICAgIHRoaXMubmFtZSA9ICdNZXNzYWdlVmFsaWRhdGlvbkVycm9yJztcbiAgfVxufVxuXG5jb25zdCBNZXNzYWdlSW5wdXRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIGNvbnRlbnQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgY29udmVyc2F0aW9uSWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgZmlsZXM6IHouYXJyYXkoei5hbnkoKSkub3B0aW9uYWwoKSxcbiAgaW1hZ2VzOiB6LmFycmF5KHouYW55KCkpLm9wdGlvbmFsKCksXG4gIGl0ZW1JZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBpdGVtVHlwZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBtZXNzYWdlSWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgcmVhZDogei5ib29sZWFuKCkub3B0aW9uYWwoKSxcbiAgc2F2ZWQ6IHouYm9vbGVhbigpLm9wdGlvbmFsKCksXG4gIHVzZXJJZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfaWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX2tleTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfcmV2OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9vbGRSZXY6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX2Zyb206IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX3RvOiB6LnN0cmluZygpLm9wdGlvbmFsKClcbn0pLnBhc3N0aHJvdWdoKCk7XG5cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZU1lc3NhZ2VJbnB1dCA9IChtZXNzYWdlOiB1bmtub3duKTogTWVzc2FnZVR5cGUgPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IHZhbGlkYXRlZCA9IE1lc3NhZ2VJbnB1dFNjaGVtYS5wYXJzZShtZXNzYWdlKTtcbiAgICByZXR1cm4gdmFsaWRhdGVkIGFzIE1lc3NhZ2VUeXBlO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgaWYoZXJyb3IgaW5zdGFuY2VvZiB6LlpvZEVycm9yKSB7XG4gICAgICBjb25zdCBmaWVsZEVycm9ycyA9IGVycm9yLmlzc3Vlcy5tYXAoKGUpID0+IGAke2UucGF0aC5qb2luKCcuJyl9OiAke2UubWVzc2FnZX1gKS5qb2luKCcsICcpO1xuICAgICAgdGhyb3cgbmV3IE1lc3NhZ2VWYWxpZGF0aW9uRXJyb3IoYE1lc3NhZ2UgdmFsaWRhdGlvbiBmYWlsZWQ6ICR7ZmllbGRFcnJvcnN9YCk7XG4gICAgfVxuICAgIHRocm93IGVycm9yO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgZm9ybWF0TWVzc2FnZU91dHB1dCA9IChtZXNzYWdlOiBNZXNzYWdlVHlwZSk6IE1lc3NhZ2VUeXBlID0+IG1lc3NhZ2U7XG5cbmV4cG9ydCBjb25zdCBwYXJzZU1lc3NhZ2UgPSAobWVzc2FnZTogTWVzc2FnZVR5cGUpOiBNZXNzYWdlVHlwZSA9PiB7XG4gIHRyeSB7XG4gICAgY29uc3QgcGFyc2VkID0gcGVyZm9ybU1lc3NhZ2VUcmFuc2Zvcm1hdGlvbihtZXNzYWdlKTtcbiAgICByZXR1cm4gcGFyc2VkO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgaWYoZXJyb3IgaW5zdGFuY2VvZiBNZXNzYWdlVmFsaWRhdGlvbkVycm9yKSB7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gICAgdGhyb3cgbmV3IE1lc3NhZ2VWYWxpZGF0aW9uRXJyb3IoYE1lc3NhZ2UgcGFyc2luZyBmYWlsZWQ6ICR7ZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnVW5rbm93biBlcnJvcid9YCk7XG4gIH1cbn07XG5cbmNvbnN0IHBlcmZvcm1NZXNzYWdlVHJhbnNmb3JtYXRpb24gPSAobWVzc2FnZTogTWVzc2FnZVR5cGUpOiBNZXNzYWdlVHlwZSA9PiB7XG4gIGNvbnN0IHtcbiAgICBfaWQsXG4gICAgX2tleSxcbiAgICBjb250ZW50LFxuICAgIGZpbGVzLFxuICAgIGlkLFxuICAgIGltYWdlcyxcbiAgICBtZXNzYWdlSWQsXG4gICAgc2F2ZWRcbiAgfSA9IG1lc3NhZ2U7XG5cbiAgY29uc3QgdHJhbnNmb3JtZWQgPSByZW1vdmVFbXB0eUtleXMoe1xuICAgIC4uLnBhcnNlRG9jdW1lbnQobWVzc2FnZSksXG4gICAgLi4uKChfaWQgfHwgaWQgfHwgX2tleSB8fCBtZXNzYWdlSWQpICYmIHtpZDogcGFyc2VBcmFuZ29JZChfaWQgfHwgaWQgfHwgYG1lc3NhZ2VzLyR7X2tleSB8fCBtZXNzYWdlSWR9YCl9KSxcbiAgICAuLi4oKF9rZXkgfHwgbWVzc2FnZUlkKSAmJiB7bWVzc2FnZUlkOiBwYXJzZUlkKF9rZXkgfHwgbWVzc2FnZUlkIHx8ICcnKX0pLFxuICAgIC4uLihjb250ZW50ICYmIHtjb250ZW50fSksXG4gICAgLi4uKEFycmF5LmlzQXJyYXkoZmlsZXMpICYmIHtmaWxlczogZmlsZXMubWFwKHBhcnNlRmlsZSl9KSxcbiAgICAuLi4oQXJyYXkuaXNBcnJheShpbWFnZXMpICYmIHtpbWFnZXM6IGltYWdlcy5tYXAocGFyc2VJbWFnZSl9KSxcbiAgICAuLi4oc2F2ZWQgIT09IHVuZGVmaW5lZCAmJiB7c2F2ZWQ6ICEhc2F2ZWR9KVxuICB9KTtcblxuICByZXR1cm4gdHJhbnNmb3JtZWQ7XG59OyJdLAogICJtYXBwaW5ncyI6ICJBQUFBLE9BQVEsaUJBQUFBLEVBQWUsV0FBQUMsTUFBYyxlQUNyQyxPQUFRLEtBQUFDLE1BQVEsTUFFaEIsT0FBUSxpQkFBQUMsRUFBZSxtQkFBQUMsTUFBc0IsaUNBQzdDLE9BQVEsYUFBQUMsTUFBZ0IsNkJBQ3hCLE9BQVEsY0FBQUMsTUFBaUIsK0JBdUJsQixNQUFNQyxVQUErQixLQUFNLENBQ2hELFlBQVlDLEVBQXdCQyxFQUFnQixDQUNsRCxNQUFNRCxDQUFPLEVBRHFCLFdBQUFDLEVBRWxDLEtBQUssS0FBTyx3QkFDZCxDQUNGLENBRUEsTUFBTUMsRUFBcUJSLEVBQUUsT0FBTyxDQUNsQyxRQUFTQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzdCLGVBQWdCQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQ3BDLE1BQU9BLEVBQUUsTUFBTUEsRUFBRSxJQUFJLENBQUMsRUFBRSxTQUFTLEVBQ2pDLE9BQVFBLEVBQUUsTUFBTUEsRUFBRSxJQUFJLENBQUMsRUFBRSxTQUFTLEVBQ2xDLE9BQVFBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDNUIsU0FBVUEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUM5QixVQUFXQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQy9CLEtBQU1BLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFDM0IsTUFBT0EsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUM1QixPQUFRQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzVCLElBQUtBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDekIsS0FBTUEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUMxQixLQUFNQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzFCLFFBQVNBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDN0IsTUFBT0EsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUMzQixJQUFLQSxFQUFFLE9BQU8sRUFBRSxTQUFTLENBQzNCLENBQUMsRUFBRSxZQUFZLEVBRUZTLEVBQXdCSCxHQUFrQyxDQUNyRSxHQUFJLENBRUYsT0FEa0JFLEVBQW1CLE1BQU1GLENBQU8sQ0FFcEQsT0FBUUksRUFBTyxDQUNiLEdBQUdBLGFBQWlCVixFQUFFLFNBQVUsQ0FDOUIsTUFBTVcsRUFBY0QsRUFBTSxPQUFPLElBQUtFLEdBQU0sR0FBR0EsRUFBRSxLQUFLLEtBQUssR0FBRyxDQUFDLEtBQUtBLEVBQUUsT0FBTyxFQUFFLEVBQUUsS0FBSyxJQUFJLEVBQzFGLE1BQU0sSUFBSVAsRUFBdUIsOEJBQThCTSxDQUFXLEVBQUUsQ0FDOUUsQ0FDQSxNQUFNRCxDQUNSLENBQ0YsRUFFYUcsRUFBdUJQLEdBQXNDQSxFQUU3RFEsRUFBZ0JSLEdBQXNDLENBQ2pFLEdBQUksQ0FFRixPQURlUyxFQUE2QlQsQ0FBTyxDQUVyRCxPQUFRSSxFQUFPLENBQ2IsTUFBR0EsYUFBaUJMLEVBQ1pLLEVBRUYsSUFBSUwsRUFBdUIsMkJBQTJCSyxhQUFpQixNQUFRQSxFQUFNLFFBQVUsZUFBZSxFQUFFLENBQ3hILENBQ0YsRUFFTUssRUFBZ0NULEdBQXNDLENBQzFFLEtBQU0sQ0FDSixJQUFBVSxFQUNBLEtBQUFDLEVBQ0EsUUFBQUMsRUFDQSxNQUFBQyxFQUNBLEdBQUFDLEVBQ0EsT0FBQUMsRUFDQSxVQUFBQyxFQUNBLE1BQUFDLENBQ0YsRUFBSWpCLEVBWUosT0FWb0JKLEVBQWdCLENBQ2xDLEdBQUdELEVBQWNLLENBQU8sRUFDeEIsSUFBS1UsR0FBT0ksR0FBTUgsR0FBUUssSUFBYyxDQUFDLEdBQUl4QixFQUFja0IsR0FBT0ksR0FBTSxZQUFZSCxHQUFRSyxDQUFTLEVBQUUsQ0FBQyxFQUN4RyxJQUFLTCxHQUFRSyxJQUFjLENBQUMsVUFBV3ZCLEVBQVFrQixHQUFRSyxHQUFhLEVBQUUsQ0FBQyxFQUN2RSxHQUFJSixHQUFXLENBQUMsUUFBQUEsQ0FBTyxFQUN2QixHQUFJLE1BQU0sUUFBUUMsQ0FBSyxHQUFLLENBQUMsTUFBT0EsRUFBTSxJQUFJaEIsQ0FBUyxDQUFDLEVBQ3hELEdBQUksTUFBTSxRQUFRa0IsQ0FBTSxHQUFLLENBQUMsT0FBUUEsRUFBTyxJQUFJakIsQ0FBVSxDQUFDLEVBQzVELEdBQUltQixJQUFVLFFBQWEsQ0FBQyxNQUFPLENBQUMsQ0FBQ0EsQ0FBSyxDQUM1QyxDQUFDLENBR0giLAogICJuYW1lcyI6IFsicGFyc2VBcmFuZ29JZCIsICJwYXJzZUlkIiwgInoiLCAicGFyc2VEb2N1bWVudCIsICJyZW1vdmVFbXB0eUtleXMiLCAicGFyc2VGaWxlIiwgInBhcnNlSW1hZ2UiLCAiTWVzc2FnZVZhbGlkYXRpb25FcnJvciIsICJtZXNzYWdlIiwgImZpZWxkIiwgIk1lc3NhZ2VJbnB1dFNjaGVtYSIsICJ2YWxpZGF0ZU1lc3NhZ2VJbnB1dCIsICJlcnJvciIsICJmaWVsZEVycm9ycyIsICJlIiwgImZvcm1hdE1lc3NhZ2VPdXRwdXQiLCAicGFyc2VNZXNzYWdlIiwgInBlcmZvcm1NZXNzYWdlVHJhbnNmb3JtYXRpb24iLCAiX2lkIiwgIl9rZXkiLCAiY29udGVudCIsICJmaWxlcyIsICJpZCIsICJpbWFnZXMiLCAibWVzc2FnZUlkIiwgInNhdmVkIl0KfQo=
1
+ import { parseArangoId, parseId } from '@nlabs/utils';
2
+ import { z } from 'zod';
3
+ import { parseDocument, removeEmptyKeys } from '../arangoAdapter/arangoAdapter.js';
4
+ import { parseFile } from '../fileAdapter/fileAdapter.js';
5
+ import { parseImage } from '../imageAdapter/imageAdapter.js';
6
+ export class MessageValidationError extends Error {
7
+ field;
8
+ constructor(message, field){
9
+ super(message), this.field = field;
10
+ this.name = 'MessageValidationError';
11
+ }
12
+ }
13
+ const MessageInputSchema = z.object({
14
+ content: z.string().optional(),
15
+ conversationId: z.string().optional(),
16
+ files: z.array(z.any()).optional(),
17
+ images: z.array(z.any()).optional(),
18
+ itemId: z.string().optional(),
19
+ itemType: z.string().optional(),
20
+ messageId: z.string().optional(),
21
+ personaId: z.string().optional(),
22
+ read: z.boolean().optional(),
23
+ saved: z.boolean().optional(),
24
+ userId: z.string().optional(),
25
+ _id: z.string().optional(),
26
+ _key: z.string().optional(),
27
+ _rev: z.string().optional(),
28
+ _oldRev: z.string().optional(),
29
+ _from: z.string().optional(),
30
+ _to: z.string().optional()
31
+ }).loose();
32
+ export const validateMessageInput = (message)=>{
33
+ try {
34
+ const validated = MessageInputSchema.parse(message);
35
+ return validated;
36
+ } catch (error) {
37
+ if (error instanceof z.ZodError) {
38
+ const fieldErrors = error.issues.map((e)=>`${e.path.join('.')}: ${e.message}`).join(', ');
39
+ throw new MessageValidationError(`Message validation failed: ${fieldErrors}`);
40
+ }
41
+ throw error;
42
+ }
43
+ };
44
+ export const formatMessageOutput = (message)=>message;
45
+ export const parseMessage = (message)=>{
46
+ try {
47
+ const parsed = performMessageTransformation(message);
48
+ return parsed;
49
+ } catch (error) {
50
+ if (error instanceof MessageValidationError) {
51
+ throw error;
52
+ }
53
+ throw new MessageValidationError(`Message parsing failed: ${error instanceof Error ? error.message : 'Unknown error'}`);
54
+ }
55
+ };
56
+ const performMessageTransformation = (message)=>{
57
+ const { _id, _key, content, files, id, images, messageId, saved } = message;
58
+ const transformed = removeEmptyKeys({
59
+ ...parseDocument(message),
60
+ ...(_id || id || _key || messageId) && {
61
+ id: parseArangoId(_id || id || `messages/${_key || messageId}`)
62
+ },
63
+ ...(_key || messageId) && {
64
+ messageId: parseId(_key || messageId || '')
65
+ },
66
+ ...content && {
67
+ content
68
+ },
69
+ ...Array.isArray(files) && {
70
+ files: files.map(parseFile)
71
+ },
72
+ ...Array.isArray(images) && {
73
+ images: images.map(parseImage)
74
+ },
75
+ ...saved !== undefined && {
76
+ saved: !!saved
77
+ }
78
+ });
79
+ return transformed;
80
+ };
81
+
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L21ldHJvcG9saXNqcy9zcmMvYWRhcHRlcnMvbWVzc2FnZUFkYXB0ZXIvbWVzc2FnZUFkYXB0ZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtwYXJzZUFyYW5nb0lkLCBwYXJzZUlkfSBmcm9tICdAbmxhYnMvdXRpbHMnO1xuaW1wb3J0IHt6fSBmcm9tICd6b2QnO1xuXG5pbXBvcnQge1VzZXJ9IGZyb20gJy4uLy4uL2FkYXB0ZXJzL3VzZXJBZGFwdGVyL3VzZXJBZGFwdGVyLmpzJztcbmltcG9ydCB7cGFyc2VEb2N1bWVudCwgcmVtb3ZlRW1wdHlLZXlzfSBmcm9tICcuLi9hcmFuZ29BZGFwdGVyL2FyYW5nb0FkYXB0ZXIuanMnO1xuaW1wb3J0IHtwYXJzZUZpbGV9IGZyb20gJy4uL2ZpbGVBZGFwdGVyL2ZpbGVBZGFwdGVyLmpzJztcbmltcG9ydCB7cGFyc2VJbWFnZX0gZnJvbSAnLi4vaW1hZ2VBZGFwdGVyL2ltYWdlQWRhcHRlci5qcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWVzc2FnZVR5cGUge1xuICByZWFkb25seSBfaWQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IF9rZXk/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IF9yZXY/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IF9vbGRSZXY/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IF9mcm9tPzogc3RyaW5nO1xuICByZWFkb25seSBfdG8/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGNvbnRlbnQ/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGNvbnZlcnNhdGlvbklkPzogc3RyaW5nO1xuICByZWFkb25seSBmaWxlcz86IGFueVtdO1xuICByZWFkb25seSBpZD86IHN0cmluZztcbiAgcmVhZG9ubHkgaW1hZ2VzPzogYW55W107XG4gIHJlYWRvbmx5IGl0ZW1JZD86IHN0cmluZztcbiAgcmVhZG9ubHkgaXRlbVR5cGU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IG1lc3NhZ2VJZD86IHN0cmluZztcbiAgcmVhZG9ubHkgcGVyc29uYUlkPzogc3RyaW5nO1xuICByZWFkb25seSByZWFkPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgc2F2ZWQ/OiBib29sZWFuO1xuICByZWFkb25seSB1c2VyPzogVXNlcjtcbiAgcmVhZG9ubHkgdXNlcklkPzogc3RyaW5nO1xuICBba2V5OiBzdHJpbmddOiBhbnk7XG59XG5cbmV4cG9ydCBjbGFzcyBNZXNzYWdlVmFsaWRhdGlvbkVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcsIHB1YmxpYyBmaWVsZD86IHN0cmluZykge1xuICAgIHN1cGVyKG1lc3NhZ2UpO1xuICAgIHRoaXMubmFtZSA9ICdNZXNzYWdlVmFsaWRhdGlvbkVycm9yJztcbiAgfVxufVxuXG5jb25zdCBNZXNzYWdlSW5wdXRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIGNvbnRlbnQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgY29udmVyc2F0aW9uSWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgZmlsZXM6IHouYXJyYXkoei5hbnkoKSkub3B0aW9uYWwoKSxcbiAgaW1hZ2VzOiB6LmFycmF5KHouYW55KCkpLm9wdGlvbmFsKCksXG4gIGl0ZW1JZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBpdGVtVHlwZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBtZXNzYWdlSWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgcGVyc29uYUlkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHJlYWQ6IHouYm9vbGVhbigpLm9wdGlvbmFsKCksXG4gIHNhdmVkOiB6LmJvb2xlYW4oKS5vcHRpb25hbCgpLFxuICB1c2VySWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX2lkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9rZXk6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX3Jldjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfb2xkUmV2OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9mcm9tOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF90bzogei5zdHJpbmcoKS5vcHRpb25hbCgpXG59KS5sb29zZSgpO1xuXG5leHBvcnQgY29uc3QgdmFsaWRhdGVNZXNzYWdlSW5wdXQgPSAobWVzc2FnZTogdW5rbm93bik6IE1lc3NhZ2VUeXBlID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCB2YWxpZGF0ZWQgPSBNZXNzYWdlSW5wdXRTY2hlbWEucGFyc2UobWVzc2FnZSk7XG4gICAgcmV0dXJuIHZhbGlkYXRlZCBhcyBNZXNzYWdlVHlwZTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIGlmKGVycm9yIGluc3RhbmNlb2Ygei5ab2RFcnJvcikge1xuICAgICAgY29uc3QgZmllbGRFcnJvcnMgPSBlcnJvci5pc3N1ZXMubWFwKChlKSA9PiBgJHtlLnBhdGguam9pbignLicpfTogJHtlLm1lc3NhZ2V9YCkuam9pbignLCAnKTtcbiAgICAgIHRocm93IG5ldyBNZXNzYWdlVmFsaWRhdGlvbkVycm9yKGBNZXNzYWdlIHZhbGlkYXRpb24gZmFpbGVkOiAke2ZpZWxkRXJyb3JzfWApO1xuICAgIH1cbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGZvcm1hdE1lc3NhZ2VPdXRwdXQgPSAobWVzc2FnZTogTWVzc2FnZVR5cGUpOiBNZXNzYWdlVHlwZSA9PiBtZXNzYWdlO1xuXG5leHBvcnQgY29uc3QgcGFyc2VNZXNzYWdlID0gKG1lc3NhZ2U6IE1lc3NhZ2VUeXBlKTogTWVzc2FnZVR5cGUgPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IHBhcnNlZCA9IHBlcmZvcm1NZXNzYWdlVHJhbnNmb3JtYXRpb24obWVzc2FnZSk7XG4gICAgcmV0dXJuIHBhcnNlZDtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIGlmKGVycm9yIGluc3RhbmNlb2YgTWVzc2FnZVZhbGlkYXRpb25FcnJvcikge1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICAgIHRocm93IG5ldyBNZXNzYWdlVmFsaWRhdGlvbkVycm9yKGBNZXNzYWdlIHBhcnNpbmcgZmFpbGVkOiAke2Vycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ1Vua25vd24gZXJyb3InfWApO1xuICB9XG59O1xuXG5jb25zdCBwZXJmb3JtTWVzc2FnZVRyYW5zZm9ybWF0aW9uID0gKG1lc3NhZ2U6IE1lc3NhZ2VUeXBlKTogTWVzc2FnZVR5cGUgPT4ge1xuICBjb25zdCB7XG4gICAgX2lkLFxuICAgIF9rZXksXG4gICAgY29udGVudCxcbiAgICBmaWxlcyxcbiAgICBpZCxcbiAgICBpbWFnZXMsXG4gICAgbWVzc2FnZUlkLFxuICAgIHNhdmVkXG4gIH0gPSBtZXNzYWdlO1xuXG4gIGNvbnN0IHRyYW5zZm9ybWVkID0gcmVtb3ZlRW1wdHlLZXlzKHtcbiAgICAuLi5wYXJzZURvY3VtZW50KG1lc3NhZ2UpLFxuICAgIC4uLigoX2lkIHx8IGlkIHx8IF9rZXkgfHwgbWVzc2FnZUlkKSAmJiB7aWQ6IHBhcnNlQXJhbmdvSWQoX2lkIHx8IGlkIHx8IGBtZXNzYWdlcy8ke19rZXkgfHwgbWVzc2FnZUlkfWApfSksXG4gICAgLi4uKChfa2V5IHx8IG1lc3NhZ2VJZCkgJiYge21lc3NhZ2VJZDogcGFyc2VJZChfa2V5IHx8IG1lc3NhZ2VJZCB8fCAnJyl9KSxcbiAgICAuLi4oY29udGVudCAmJiB7Y29udGVudH0pLFxuICAgIC4uLihBcnJheS5pc0FycmF5KGZpbGVzKSAmJiB7ZmlsZXM6IGZpbGVzLm1hcChwYXJzZUZpbGUpfSksXG4gICAgLi4uKEFycmF5LmlzQXJyYXkoaW1hZ2VzKSAmJiB7aW1hZ2VzOiBpbWFnZXMubWFwKHBhcnNlSW1hZ2UpfSksXG4gICAgLi4uKHNhdmVkICE9PSB1bmRlZmluZWQgJiYge3NhdmVkOiAhIXNhdmVkfSlcbiAgfSk7XG5cbiAgcmV0dXJuIHRyYW5zZm9ybWVkO1xufTtcbiJdLCJuYW1lcyI6WyJwYXJzZUFyYW5nb0lkIiwicGFyc2VJZCIsInoiLCJwYXJzZURvY3VtZW50IiwicmVtb3ZlRW1wdHlLZXlzIiwicGFyc2VGaWxlIiwicGFyc2VJbWFnZSIsIk1lc3NhZ2VWYWxpZGF0aW9uRXJyb3IiLCJFcnJvciIsIm1lc3NhZ2UiLCJmaWVsZCIsIm5hbWUiLCJNZXNzYWdlSW5wdXRTY2hlbWEiLCJvYmplY3QiLCJjb250ZW50Iiwic3RyaW5nIiwib3B0aW9uYWwiLCJjb252ZXJzYXRpb25JZCIsImZpbGVzIiwiYXJyYXkiLCJhbnkiLCJpbWFnZXMiLCJpdGVtSWQiLCJpdGVtVHlwZSIsIm1lc3NhZ2VJZCIsInBlcnNvbmFJZCIsInJlYWQiLCJib29sZWFuIiwic2F2ZWQiLCJ1c2VySWQiLCJfaWQiLCJfa2V5IiwiX3JldiIsIl9vbGRSZXYiLCJfZnJvbSIsIl90byIsImxvb3NlIiwidmFsaWRhdGVNZXNzYWdlSW5wdXQiLCJ2YWxpZGF0ZWQiLCJwYXJzZSIsImVycm9yIiwiWm9kRXJyb3IiLCJmaWVsZEVycm9ycyIsImlzc3VlcyIsIm1hcCIsImUiLCJwYXRoIiwiam9pbiIsImZvcm1hdE1lc3NhZ2VPdXRwdXQiLCJwYXJzZU1lc3NhZ2UiLCJwYXJzZWQiLCJwZXJmb3JtTWVzc2FnZVRyYW5zZm9ybWF0aW9uIiwiaWQiLCJ0cmFuc2Zvcm1lZCIsIkFycmF5IiwiaXNBcnJheSIsInVuZGVmaW5lZCJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBUUEsYUFBYSxFQUFFQyxPQUFPLFFBQU8sZUFBZTtBQUNwRCxTQUFRQyxDQUFDLFFBQU8sTUFBTTtBQUd0QixTQUFRQyxhQUFhLEVBQUVDLGVBQWUsUUFBTyxvQ0FBb0M7QUFDakYsU0FBUUMsU0FBUyxRQUFPLGdDQUFnQztBQUN4RCxTQUFRQyxVQUFVLFFBQU8sa0NBQWtDO0FBeUIzRCxPQUFPLE1BQU1DLCtCQUErQkM7O0lBQzFDLFlBQVlDLE9BQWUsRUFBRSxBQUFPQyxLQUFjLENBQUU7UUFDbEQsS0FBSyxDQUFDRCxlQUQ0QkMsUUFBQUE7UUFFbEMsSUFBSSxDQUFDQyxJ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