@nlabs/reaktor 0.10.0 → 0.10.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (448) hide show
  1. package/.env +1 -0
  2. package/.env.example +1 -0
  3. package/DATABASE_I18N_GUIDE.md +434 -0
  4. package/TEST_UTILITIES_GUIDE.md +360 -0
  5. package/coverage/actions/index.html +21 -36
  6. package/coverage/actions/notifications.ts.html +223 -0
  7. package/coverage/actions/posts.ts.html +2356 -0
  8. package/coverage/adapters/arangoAdapter.ts.html +170 -20
  9. package/coverage/adapters/fileAdapter.ts.html +445 -0
  10. package/coverage/adapters/index.html +72 -42
  11. package/coverage/adapters/postAdapter.ts.html +436 -0
  12. package/coverage/adapters/reaktorAdapter.ts.html +201 -18
  13. package/coverage/adapters/tagAdapter.ts.html +274 -25
  14. package/coverage/adapters/userAdapter.ts.html +829 -0
  15. package/coverage/analyticsUtils.ts.html +286 -0
  16. package/coverage/config.ts.html +766 -0
  17. package/coverage/index.html +77 -77
  18. package/coverage/mocks/group.ts.html +5 -5
  19. package/coverage/mocks/image.ts.html +18 -12
  20. package/coverage/mocks/index.html +37 -7
  21. package/coverage/mocks/post.ts.html +8 -8
  22. package/coverage/mocks/tag.ts.html +2 -2
  23. package/coverage/mocks/user.ts.html +18 -15
  24. package/coverage/testUtils.ts.html +1309 -0
  25. package/coverage/translationQueue.ts.html +592 -0
  26. package/coverage/types/error.types.ts.html +148 -0
  27. package/coverage/types/index.html +2 -2
  28. package/coverage/utils/adapterUtils.ts.html +39 -27
  29. package/coverage/utils/analyticsUtils.ts.html +35 -41
  30. package/coverage/utils/authUtils.ts.html +328 -0
  31. package/coverage/utils/dbI18n.ts.html +280 -0
  32. package/coverage/utils/googleTranslate.ts.html +385 -0
  33. package/coverage/utils/index.html +29 -44
  34. package/coverage/utils/localeUtils.ts.html +193 -0
  35. package/coverage/utils/sessionUtils.ts.html +211 -0
  36. package/coverage/utils/testUtils.ts.html +1309 -0
  37. package/index.js +1 -1
  38. package/lex.config.mjs +34 -0
  39. package/lib/actions/apps.d.ts +4 -4
  40. package/lib/actions/apps.js +17 -239
  41. package/lib/actions/connections.d.ts +2 -1
  42. package/lib/actions/connections.js +6 -89
  43. package/lib/actions/content.d.ts +13 -0
  44. package/lib/actions/content.js +17 -0
  45. package/lib/actions/conversations.d.ts +4 -2
  46. package/lib/actions/conversations.js +19 -336
  47. package/lib/actions/dynamodb.d.ts +4 -0
  48. package/lib/actions/dynamodb.js +2 -150
  49. package/lib/actions/email.d.ts +5 -2
  50. package/lib/actions/email.js +2 -152
  51. package/lib/actions/files.d.ts +3 -3
  52. package/lib/actions/files.js +5 -283
  53. package/lib/actions/groups.d.ts +4 -5
  54. package/lib/actions/groups.js +19 -259
  55. package/lib/actions/images.d.ts +8 -1
  56. package/lib/actions/images.js +31 -700
  57. package/lib/actions/index.d.ts +27 -23
  58. package/lib/actions/index.js +2 -66
  59. package/lib/actions/ios.d.ts +3 -3
  60. package/lib/actions/ios.js +9 -162
  61. package/lib/actions/locations.d.ts +3 -3
  62. package/lib/actions/locations.js +7 -122
  63. package/lib/actions/messages.d.ts +3 -4
  64. package/lib/actions/messages.js +21 -196
  65. package/lib/actions/notifications.d.ts +5 -1
  66. package/lib/actions/notifications.js +2 -59
  67. package/lib/actions/payments.d.ts +3 -1
  68. package/lib/actions/payments.js +11 -464
  69. package/lib/actions/posts.d.ts +7 -4
  70. package/lib/actions/posts.js +75 -527
  71. package/lib/actions/profiles.d.ts +4 -0
  72. package/lib/actions/profiles.js +8 -0
  73. package/lib/actions/reactions.d.ts +3 -1
  74. package/lib/actions/reactions.js +25 -312
  75. package/lib/actions/s3.d.ts +4 -0
  76. package/lib/actions/s3.js +2 -133
  77. package/lib/actions/search.d.ts +2 -2
  78. package/lib/actions/search.js +5 -90
  79. package/lib/actions/sms.d.ts +2 -9
  80. package/lib/actions/sms.js +2 -108
  81. package/lib/actions/statistics.d.ts +2 -1
  82. package/lib/actions/statistics.js +6 -60
  83. package/lib/actions/{subscription.d.ts → subscriptions.d.ts} +2 -2
  84. package/lib/actions/subscriptions.js +12 -0
  85. package/lib/actions/tags.d.ts +3 -3
  86. package/lib/actions/tags.js +19 -287
  87. package/lib/actions/users.d.ts +13 -12
  88. package/lib/actions/users.js +66 -763
  89. package/lib/actions/websockets.d.ts +2 -2
  90. package/lib/actions/websockets.js +14 -158
  91. package/lib/adapters/arangoAdapter.d.ts +7 -1
  92. package/lib/adapters/arangoAdapter.js +2 -46
  93. package/lib/adapters/contentAdapter.d.ts +8 -0
  94. package/lib/adapters/contentAdapter.js +2 -0
  95. package/lib/adapters/fileAdapter.d.ts +8 -2
  96. package/lib/adapters/fileAdapter.js +2 -76
  97. package/lib/adapters/imageAdapter.d.ts +7 -1
  98. package/lib/adapters/imageAdapter.js +2 -40
  99. package/lib/adapters/index.d.ts +9 -0
  100. package/lib/adapters/index.js +2 -0
  101. package/lib/adapters/messageAdapter.d.ts +7 -1
  102. package/lib/adapters/messageAdapter.js +2 -49
  103. package/lib/adapters/postAdapter.d.ts +7 -1
  104. package/lib/adapters/postAdapter.js +2 -70
  105. package/lib/adapters/reaktorAdapter.d.ts +16 -6
  106. package/lib/adapters/reaktorAdapter.js +2 -44
  107. package/lib/adapters/tagAdapter.d.ts +8 -1
  108. package/lib/adapters/tagAdapter.js +2 -50
  109. package/lib/adapters/userAdapter.d.ts +12 -1
  110. package/lib/adapters/userAdapter.js +2 -115
  111. package/lib/config.d.ts +43 -6
  112. package/lib/config.js +2 -125
  113. package/lib/handlers/graphqlHandler.d.ts +4 -0
  114. package/lib/handlers/graphqlHandler.js +2 -0
  115. package/lib/index.d.ts +17 -10
  116. package/lib/index.js +2 -66
  117. package/lib/lambdas/actions/websockets.d.ts +3 -3
  118. package/lib/lambdas/actions/websockets.js +14 -116
  119. package/lib/lambdas/authorizer.js +2 -67
  120. package/lib/lambdas/connection.js +2 -91
  121. package/lib/lambdas/utils/message.js +2 -42
  122. package/lib/lambdas/utils/websocket.js +2 -105
  123. package/lib/mocks/conversation.js +2 -35
  124. package/lib/mocks/file.js +2 -38
  125. package/lib/mocks/group.js +2 -47
  126. package/lib/mocks/image.d.ts +1 -1
  127. package/lib/mocks/image.js +2 -44
  128. package/lib/mocks/post.js +2 -55
  129. package/lib/mocks/tag.d.ts +1 -1
  130. package/lib/mocks/tag.js +2 -37
  131. package/lib/mocks/user.d.ts +1 -1
  132. package/lib/mocks/user.js +2 -88
  133. package/lib/mutations/content.d.ts +2 -0
  134. package/lib/mutations/content.js +2 -0
  135. package/lib/mutations/index.d.ts +11 -3
  136. package/lib/mutations/index.js +2 -26
  137. package/lib/mutations/locations.d.ts +1 -1
  138. package/lib/mutations/locations.js +2 -44
  139. package/lib/mutations/messages.d.ts +1 -1
  140. package/lib/mutations/messages.js +2 -86
  141. package/lib/mutations/posts.d.ts +1 -1
  142. package/lib/mutations/posts.js +2 -53
  143. package/lib/mutations/profiles.d.ts +2 -0
  144. package/lib/mutations/profiles.js +2 -0
  145. package/lib/mutations/reactions.d.ts +1 -1
  146. package/lib/mutations/reactions.js +2 -51
  147. package/lib/mutations/statistics.d.ts +1 -1
  148. package/lib/mutations/statistics.js +2 -39
  149. package/lib/mutations/subscriptions.d.ts +1 -1
  150. package/lib/mutations/subscriptions.js +2 -56
  151. package/lib/mutations/tags.d.ts +1 -1
  152. package/lib/mutations/tags.js +2 -120
  153. package/lib/mutations/users.js +2 -116
  154. package/lib/objectTypes/app.js +2 -173
  155. package/lib/objectTypes/bankAccount.js +2 -76
  156. package/lib/objectTypes/connection.js +2 -48
  157. package/lib/objectTypes/content.d.ts +2 -0
  158. package/lib/objectTypes/content.js +2 -0
  159. package/lib/objectTypes/conversation.js +2 -77
  160. package/lib/objectTypes/creditCard.js +2 -86
  161. package/lib/objectTypes/document.js +2 -46
  162. package/lib/objectTypes/error.js +2 -46
  163. package/lib/objectTypes/external.js +2 -74
  164. package/lib/objectTypes/file.js +2 -100
  165. package/lib/objectTypes/filter.js +2 -43
  166. package/lib/objectTypes/group.js +2 -123
  167. package/lib/objectTypes/iapSubscription.js +2 -40
  168. package/lib/objectTypes/image.d.ts +4 -0
  169. package/lib/objectTypes/image.js +2 -129
  170. package/lib/objectTypes/index.d.ts +26 -24
  171. package/lib/objectTypes/index.js +2 -68
  172. package/lib/objectTypes/location.js +2 -109
  173. package/lib/objectTypes/message.js +2 -96
  174. package/lib/objectTypes/passcode.js +2 -42
  175. package/lib/objectTypes/plan.js +2 -95
  176. package/lib/objectTypes/post.js +2 -125
  177. package/lib/objectTypes/profile.d.ts +3 -0
  178. package/lib/objectTypes/profile.js +2 -0
  179. package/lib/objectTypes/reaction.js +2 -61
  180. package/lib/objectTypes/relation.js +2 -49
  181. package/lib/objectTypes/search.js +2 -72
  182. package/lib/objectTypes/statistics.js +2 -39
  183. package/lib/objectTypes/subscription.js +2 -117
  184. package/lib/objectTypes/tag.js +2 -65
  185. package/lib/objectTypes/user.js +2 -144
  186. package/lib/queries/content.d.ts +2 -0
  187. package/lib/queries/content.js +2 -0
  188. package/lib/queries/index.d.ts +10 -3
  189. package/lib/queries/index.js +2 -33
  190. package/lib/queries/locations.d.ts +1 -1
  191. package/lib/queries/locations.js +2 -45
  192. package/lib/queries/messages.d.ts +1 -1
  193. package/lib/queries/messages.js +2 -52
  194. package/lib/queries/posts.d.ts +1 -1
  195. package/lib/queries/posts.js +2 -154
  196. package/lib/queries/reactions.d.ts +1 -1
  197. package/lib/queries/reactions.js +2 -56
  198. package/lib/queries/statistics.d.ts +1 -1
  199. package/lib/queries/statistics.js +2 -39
  200. package/lib/queries/subscriptions.d.ts +1 -1
  201. package/lib/queries/subscriptions.js +2 -44
  202. package/lib/queries/tags.d.ts +1 -1
  203. package/lib/queries/tags.js +2 -75
  204. package/lib/queries/users.js +2 -64
  205. package/lib/templates/email/layout.js +3 -25
  206. package/lib/templates/email/passwordForgot.js +3 -25
  207. package/lib/templates/email/passwordRecovery.js +3 -25
  208. package/lib/templates/email/verifyEmail.js +3 -25
  209. package/lib/templates/email/welcome.js +3 -25
  210. package/lib/templates/sms/passwordForgot.js +2 -24
  211. package/lib/templates/sms/passwordRecovery.js +2 -24
  212. package/lib/templates/sms/verifyEmail.js +2 -24
  213. package/lib/templates/sms/verifyPhone.js +2 -24
  214. package/lib/templates/sms/welcome.js +2 -24
  215. package/lib/types/apps.types.d.ts +6 -2
  216. package/lib/types/apps.types.js +2 -32
  217. package/lib/types/arangodb.types.d.ts +8 -4
  218. package/lib/types/arangodb.types.js +1 -16
  219. package/lib/types/auth.types.d.ts +11 -5
  220. package/lib/types/auth.types.js +1 -16
  221. package/lib/types/connections.types.d.ts +5 -1
  222. package/lib/types/connections.types.js +1 -16
  223. package/lib/types/content.types.d.ts +31 -0
  224. package/lib/types/content.types.js +1 -0
  225. package/lib/types/conversations.types.d.ts +6 -2
  226. package/lib/types/conversations.types.js +1 -16
  227. package/lib/types/email.types.d.ts +9 -5
  228. package/lib/types/email.types.js +1 -16
  229. package/lib/types/error.types.d.ts +1 -0
  230. package/lib/types/error.types.js +2 -44
  231. package/lib/types/files.types.d.ts +5 -1
  232. package/lib/types/files.types.js +1 -16
  233. package/lib/types/google.types.d.ts +4 -0
  234. package/lib/types/google.types.js +1 -16
  235. package/lib/types/groups.types.d.ts +5 -1
  236. package/lib/types/groups.types.js +1 -16
  237. package/lib/types/images.types.d.ts +6 -2
  238. package/lib/types/images.types.js +1 -16
  239. package/lib/types/index.d.ts +26 -20
  240. package/lib/types/index.js +2 -60
  241. package/lib/types/locations.types.d.ts +5 -1
  242. package/lib/types/locations.types.js +1 -16
  243. package/lib/types/messages.types.d.ts +7 -3
  244. package/lib/types/messages.types.js +1 -16
  245. package/lib/types/notifications.types.d.ts +9 -5
  246. package/lib/types/notifications.types.js +1 -16
  247. package/lib/types/payments.types.d.ts +5 -1
  248. package/lib/types/payments.types.js +1 -16
  249. package/lib/types/posts.types.d.ts +7 -3
  250. package/lib/types/posts.types.js +1 -16
  251. package/lib/types/{personas.types.d.ts → profiles.types.d.ts} +3 -15
  252. package/lib/types/profiles.types.js +1 -0
  253. package/lib/types/statistics.types.js +1 -16
  254. package/lib/types/tags.types.d.ts +5 -1
  255. package/lib/types/tags.types.js +1 -16
  256. package/lib/types/users.types.d.ts +41 -10
  257. package/lib/types/users.types.js +1 -16
  258. package/lib/types/websockets.types.d.ts +5 -1
  259. package/lib/types/websockets.types.js +1 -16
  260. package/lib/utils/adapterUtils.d.ts +4 -0
  261. package/lib/utils/adapterUtils.js +2 -45
  262. package/lib/utils/analyticsUtils.d.ts +5 -1
  263. package/lib/utils/analyticsUtils.js +2 -72
  264. package/lib/utils/arangodbUtils.d.ts +6 -2
  265. package/lib/utils/arangodbUtils.js +5 -163
  266. package/lib/utils/{auth.d.ts → authUtils.d.ts} +3 -1
  267. package/lib/utils/authUtils.js +2 -0
  268. package/lib/utils/contextUtils.d.ts +3 -0
  269. package/lib/utils/contextUtils.js +2 -0
  270. package/lib/utils/dbI18n.d.ts +10 -0
  271. package/lib/utils/dbI18n.example.d.ts +20 -0
  272. package/lib/utils/dbI18n.example.js +6 -0
  273. package/lib/utils/dbI18n.js +2 -0
  274. package/lib/utils/googleTranslate.d.ts +6 -0
  275. package/lib/utils/googleTranslate.js +2 -0
  276. package/lib/utils/graphqlUtils.d.ts +10 -0
  277. package/lib/utils/graphqlUtils.js +2 -0
  278. package/lib/utils/index.d.ts +18 -5
  279. package/lib/utils/index.js +2 -30
  280. package/lib/utils/languageDetection.d.ts +8 -0
  281. package/lib/utils/languageDetection.js +2 -0
  282. package/lib/utils/localeUtils.d.ts +11 -0
  283. package/lib/utils/localeUtils.example.d.ts +5 -0
  284. package/lib/utils/localeUtils.example.js +2 -0
  285. package/lib/utils/localeUtils.js +2 -0
  286. package/lib/utils/middlewareUtils.d.ts +2 -0
  287. package/lib/utils/middlewareUtils.js +2 -0
  288. package/lib/utils/{session.d.ts → sessionUtils.d.ts} +1 -1
  289. package/lib/utils/sessionUtils.js +2 -0
  290. package/lib/utils/stripeUtils.d.ts +7 -3
  291. package/lib/utils/stripeUtils.js +2 -43
  292. package/lib/utils/templateUtils.d.ts +3 -0
  293. package/lib/utils/templateUtils.js +2 -0
  294. package/lib/utils/testUtils.d.ts +95 -0
  295. package/lib/utils/testUtils.js +2 -0
  296. package/lib/utils/translationQueue.d.ts +29 -0
  297. package/lib/utils/translationQueue.example.d.ts +33 -0
  298. package/lib/utils/translationQueue.example.js +2 -0
  299. package/lib/utils/translationQueue.js +2 -0
  300. package/package.json +32 -28
  301. package/tsconfig.build.json +21 -0
  302. package/tsconfig.lint.json +33 -0
  303. package/tsconfig.test.json +31 -0
  304. package/.prettierrc.js +0 -4
  305. package/dist/actions/apps.js +0 -242
  306. package/dist/actions/connections.js +0 -90
  307. package/dist/actions/conversations.js +0 -350
  308. package/dist/actions/dynamodb.js +0 -150
  309. package/dist/actions/email.js +0 -152
  310. package/dist/actions/files.js +0 -283
  311. package/dist/actions/groups.js +0 -292
  312. package/dist/actions/images.js +0 -735
  313. package/dist/actions/index.js +0 -66
  314. package/dist/actions/ios.js +0 -164
  315. package/dist/actions/locations.js +0 -122
  316. package/dist/actions/messages.js +0 -208
  317. package/dist/actions/notifications.js +0 -59
  318. package/dist/actions/payments.js +0 -497
  319. package/dist/actions/personas.js +0 -110
  320. package/dist/actions/posts.js +0 -595
  321. package/dist/actions/reactions.js +0 -322
  322. package/dist/actions/s3.js +0 -133
  323. package/dist/actions/search.js +0 -90
  324. package/dist/actions/sms.js +0 -108
  325. package/dist/actions/statistics.js +0 -62
  326. package/dist/actions/subscription.js +0 -220
  327. package/dist/actions/tags.js +0 -292
  328. package/dist/actions/users.js +0 -784
  329. package/dist/actions/websockets.js +0 -174
  330. package/dist/adapters/arangoAdapter.js +0 -46
  331. package/dist/adapters/fileAdapter.js +0 -76
  332. package/dist/adapters/imageAdapter.js +0 -40
  333. package/dist/adapters/messageAdapter.js +0 -49
  334. package/dist/adapters/postAdapter.js +0 -70
  335. package/dist/adapters/reaktorAdapter.js +0 -44
  336. package/dist/adapters/tagAdapter.js +0 -50
  337. package/dist/adapters/userAdapter.js +0 -115
  338. package/dist/config.js +0 -125
  339. package/dist/index.js +0 -66
  340. package/dist/lambdas/actions/websockets.js +0 -132
  341. package/dist/lambdas/authorizer.js +0 -67
  342. package/dist/lambdas/connection.js +0 -91
  343. package/dist/lambdas/utils/message.js +0 -42
  344. package/dist/lambdas/utils/websocket.js +0 -105
  345. package/dist/mocks/conversation.js +0 -35
  346. package/dist/mocks/file.js +0 -38
  347. package/dist/mocks/group.js +0 -47
  348. package/dist/mocks/image.js +0 -44
  349. package/dist/mocks/nlabs.png +0 -0
  350. package/dist/mocks/post.js +0 -55
  351. package/dist/mocks/tag.js +0 -37
  352. package/dist/mocks/user.js +0 -88
  353. package/dist/mutations/index.js +0 -26
  354. package/dist/mutations/locations.js +0 -44
  355. package/dist/mutations/messages.js +0 -86
  356. package/dist/mutations/personas.js +0 -100
  357. package/dist/mutations/posts.js +0 -53
  358. package/dist/mutations/reactions.js +0 -51
  359. package/dist/mutations/statistics.js +0 -39
  360. package/dist/mutations/subscriptions.js +0 -56
  361. package/dist/mutations/tags.js +0 -120
  362. package/dist/mutations/users.js +0 -116
  363. package/dist/objectTypes/app.js +0 -173
  364. package/dist/objectTypes/bankAccount.js +0 -76
  365. package/dist/objectTypes/connection.js +0 -48
  366. package/dist/objectTypes/conversation.js +0 -77
  367. package/dist/objectTypes/creditCard.js +0 -86
  368. package/dist/objectTypes/document.js +0 -46
  369. package/dist/objectTypes/error.js +0 -46
  370. package/dist/objectTypes/external.js +0 -74
  371. package/dist/objectTypes/file.js +0 -100
  372. package/dist/objectTypes/filter.js +0 -43
  373. package/dist/objectTypes/group.js +0 -123
  374. package/dist/objectTypes/iapSubscription.js +0 -40
  375. package/dist/objectTypes/image.js +0 -129
  376. package/dist/objectTypes/index.js +0 -68
  377. package/dist/objectTypes/location.js +0 -109
  378. package/dist/objectTypes/message.js +0 -96
  379. package/dist/objectTypes/passcode.js +0 -42
  380. package/dist/objectTypes/persona.js +0 -87
  381. package/dist/objectTypes/plan.js +0 -95
  382. package/dist/objectTypes/post.js +0 -125
  383. package/dist/objectTypes/reaction.js +0 -61
  384. package/dist/objectTypes/relation.js +0 -49
  385. package/dist/objectTypes/search.js +0 -72
  386. package/dist/objectTypes/statistics.js +0 -39
  387. package/dist/objectTypes/subscription.js +0 -117
  388. package/dist/objectTypes/tag.js +0 -65
  389. package/dist/objectTypes/user.js +0 -144
  390. package/dist/queries/index.js +0 -33
  391. package/dist/queries/locations.js +0 -45
  392. package/dist/queries/messages.js +0 -52
  393. package/dist/queries/posts.js +0 -154
  394. package/dist/queries/reactions.js +0 -56
  395. package/dist/queries/statistics.js +0 -39
  396. package/dist/queries/subscriptions.js +0 -44
  397. package/dist/queries/tags.js +0 -75
  398. package/dist/queries/users.js +0 -64
  399. package/dist/templates/email/layout.js +0 -302
  400. package/dist/templates/email/passwordForgot.js +0 -38
  401. package/dist/templates/email/passwordRecovery.js +0 -35
  402. package/dist/templates/email/verifyEmail.js +0 -38
  403. package/dist/templates/email/welcome.js +0 -38
  404. package/dist/templates/sms/passwordForgot.js +0 -24
  405. package/dist/templates/sms/passwordRecovery.js +0 -24
  406. package/dist/templates/sms/verifyEmail.js +0 -24
  407. package/dist/templates/sms/verifyPhone.js +0 -24
  408. package/dist/templates/sms/welcome.js +0 -24
  409. package/dist/types/apps.js +0 -32
  410. package/dist/types/arangodb.js +0 -16
  411. package/dist/types/auth.js +0 -16
  412. package/dist/types/connections.js +0 -16
  413. package/dist/types/conversations.js +0 -16
  414. package/dist/types/email.js +0 -16
  415. package/dist/types/error.js +0 -44
  416. package/dist/types/files.js +0 -16
  417. package/dist/types/google.js +0 -16
  418. package/dist/types/groups.js +0 -16
  419. package/dist/types/images.js +0 -16
  420. package/dist/types/index.js +0 -60
  421. package/dist/types/locations.js +0 -16
  422. package/dist/types/messages.js +0 -16
  423. package/dist/types/notifications.js +0 -16
  424. package/dist/types/payments.js +0 -16
  425. package/dist/types/personas.js +0 -16
  426. package/dist/types/posts.js +0 -16
  427. package/dist/types/statistics.js +0 -16
  428. package/dist/types/tags.js +0 -16
  429. package/dist/types/users.js +0 -16
  430. package/dist/types/websockets.js +0 -16
  431. package/dist/utils/adapterUtils.js +0 -45
  432. package/dist/utils/analyticsUtils.js +0 -72
  433. package/dist/utils/arangodbUtils.js +0 -165
  434. package/dist/utils/auth.js +0 -57
  435. package/dist/utils/index.js +0 -30
  436. package/dist/utils/session.js +0 -60
  437. package/jest.setup.js +0 -0
  438. package/lex.config.cjs +0 -13
  439. package/lib/actions/personas.d.ts +0 -3
  440. package/lib/actions/personas.js +0 -110
  441. package/lib/actions/subscription.js +0 -208
  442. package/lib/mutations/personas.d.ts +0 -2
  443. package/lib/mutations/personas.js +0 -100
  444. package/lib/objectTypes/persona.d.ts +0 -3
  445. package/lib/objectTypes/persona.js +0 -87
  446. package/lib/types/personas.types.js +0 -16
  447. package/lib/utils/auth.js +0 -57
  448. package/lib/utils/session.js +0 -60
@@ -1,49 +1,2 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: true });
8
- };
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
- var messageAdapter_exports = {};
19
- __export(messageAdapter_exports, {
20
- parseMessage: () => parseMessage
21
- });
22
- module.exports = __toCommonJS(messageAdapter_exports);
23
- var import_utils = require("@nlabs/utils");
24
- var import_arangoAdapter = require("./arangoAdapter");
25
- var import_fileAdapter = require("./fileAdapter");
26
- var import_imageAdapter = require("./imageAdapter");
27
- var import_adapterUtils = require("../utils/adapterUtils");
28
- const parseMessage = (message) => {
29
- const {
30
- _key: messageId,
31
- content,
32
- files,
33
- images,
34
- saved
35
- } = message;
36
- return (0, import_adapterUtils.removeEmptyKeys)({
37
- ...(0, import_arangoAdapter.parseDocument)(message),
38
- content,
39
- files: Array.isArray(files) ? files.map(import_fileAdapter.parseFile) : void 0,
40
- images: Array.isArray(images) ? images.map(import_imageAdapter.parseImage) : void 0,
41
- messageId: messageId ? (0, import_utils.parseArangoId)(messageId) : void 0,
42
- saved: !!saved
43
- });
44
- };
45
- // Annotate the CommonJS export names for ESM import in node:
46
- 0 && (module.exports = {
47
- parseMessage
48
- });
49
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FkYXB0ZXJzL21lc3NhZ2VBZGFwdGVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQge3BhcnNlQXJhbmdvSWR9IGZyb20gJ0BubGFicy91dGlscyc7XG5cbmltcG9ydCB7cGFyc2VEb2N1bWVudH0gZnJvbSAnLi9hcmFuZ29BZGFwdGVyJztcbmltcG9ydCB7cGFyc2VGaWxlfSBmcm9tICcuL2ZpbGVBZGFwdGVyJztcbmltcG9ydCB7cGFyc2VJbWFnZX0gZnJvbSAnLi9pbWFnZUFkYXB0ZXInO1xuaW1wb3J0IHtyZW1vdmVFbXB0eUtleXN9IGZyb20gJy4uL3V0aWxzL2FkYXB0ZXJVdGlscyc7XG5cbmltcG9ydCB0eXBlIHtNZXNzYWdlVHlwZX0gZnJvbSAnLi4vdHlwZXMvbWVzc2FnZXMudHlwZXMnO1xuXG5leHBvcnQgY29uc3QgcGFyc2VNZXNzYWdlID0gKG1lc3NhZ2U6IE1lc3NhZ2VUeXBlKTogTWVzc2FnZVR5cGUgPT4ge1xuICBjb25zdCB7XG4gICAgX2tleTogbWVzc2FnZUlkLFxuICAgIGNvbnRlbnQsXG4gICAgZmlsZXMsXG4gICAgaW1hZ2VzLFxuICAgIHNhdmVkXG4gIH0gPSBtZXNzYWdlO1xuXG5cbiAgcmV0dXJuIHJlbW92ZUVtcHR5S2V5cyh7XG4gICAgLi4ucGFyc2VEb2N1bWVudChtZXNzYWdlKSxcbiAgICBjb250ZW50LFxuICAgIGZpbGVzOiBBcnJheS5pc0FycmF5KGZpbGVzKSA/IGZpbGVzLm1hcChwYXJzZUZpbGUpIDogdW5kZWZpbmVkLFxuICAgIGltYWdlczogQXJyYXkuaXNBcnJheShpbWFnZXMpID8gaW1hZ2VzLm1hcChwYXJzZUltYWdlKSA6IHVuZGVmaW5lZCxcbiAgICBtZXNzYWdlSWQ6IG1lc3NhZ2VJZCA/IHBhcnNlQXJhbmdvSWQobWVzc2FnZUlkKSA6IHVuZGVmaW5lZCxcbiAgICBzYXZlZDogISFzYXZlZFxuICB9KTtcbn07XG5cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLG1CQUE0QjtBQUU1QiwyQkFBNEI7QUFDNUIseUJBQXdCO0FBQ3hCLDBCQUF5QjtBQUN6QiwwQkFBOEI7QUFJdkIsTUFBTSxlQUFlLENBQUMsWUFBc0M7QUFDakUsUUFBTTtBQUFBLElBQ0osTUFBTTtBQUFBLElBQ047QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxFQUNGLElBQUk7QUFHSixhQUFPLHFDQUFnQjtBQUFBLElBQ3JCLE9BQUcsb0NBQWMsT0FBTztBQUFBLElBQ3hCO0FBQUEsSUFDQSxPQUFPLE1BQU0sUUFBUSxLQUFLLElBQUksTUFBTSxJQUFJLDRCQUFTLElBQUk7QUFBQSxJQUNyRCxRQUFRLE1BQU0sUUFBUSxNQUFNLElBQUksT0FBTyxJQUFJLDhCQUFVLElBQUk7QUFBQSxJQUN6RCxXQUFXLGdCQUFZLDRCQUFjLFNBQVMsSUFBSTtBQUFBLElBQ2xELE9BQU8sQ0FBQyxDQUFDO0FBQUEsRUFDWCxDQUFDO0FBQ0g7IiwKICAibmFtZXMiOiBbXQp9Cg==
1
+ import{parseArangoId as d,parseId as l}from"@nlabs/utils/parsers/strings";import{z as e}from"zod";import{removeEmptyKeys as c}from"../utils/adapterUtils.js";import{parseDocument as y}from"./arangoAdapter.js";import{parseFile as f}from"./fileAdapter.js";import{parseImage as M}from"./imageAdapter.js";class t extends Error{constructor(o,a){super(o);this.field=a;this.name="MessageValidationError"}}const u=e.object({content:e.string().optional(),conversationId:e.string().optional(),files:e.array(e.any()).optional(),images:e.array(e.any()).optional(),itemId:e.string().optional(),itemType:e.string().optional(),messageId:e.string().optional(),read:e.boolean().optional(),saved:e.boolean().optional(),userId:e.string().optional(),_id:e.string().optional(),_key:e.string().optional(),_rev:e.string().optional(),_oldRev:e.string().optional(),_from:e.string().optional(),_to:e.string().optional()}).passthrough(),A=r=>{try{return u.parse(r)}catch(s){if(s instanceof e.ZodError){const o=s.issues.map(a=>`${a.path.join(".")}: ${a.message}`).join(", ");throw new t(`Message validation failed: ${o}`)}throw s}},$=r=>r,b=r=>{try{return I(r)}catch(s){throw s instanceof t?s:new t(`Message parsing failed: ${s instanceof Error?s.message:"Unknown error"}`)}},I=r=>{const{_id:s,_key:o,content:a,files:n,id:i,images:p,messageId:g,saved:m}=r;return c({...y(r),...a&&{content:a},...Array.isArray(n)&&{files:n.map(f)},...Array.isArray(p)&&{images:p.map(M)},...o&&{messageId:l(o)},...(s||i||o||g)&&{messageId:d(s||i||`messages/${o||g}`)},...m!==void 0&&{saved:!!m}})};export{t as MessageValidationError,$ as formatMessageOutput,b as parseMessage,A as validateMessageInput};
2
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FkYXB0ZXJzL21lc3NhZ2VBZGFwdGVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQge3BhcnNlQXJhbmdvSWQsIHBhcnNlSWR9IGZyb20gJ0BubGFicy91dGlscy9wYXJzZXJzL3N0cmluZ3MnO1xuaW1wb3J0IHt6fSBmcm9tICd6b2QnO1xuXG5pbXBvcnQge3JlbW92ZUVtcHR5S2V5c30gZnJvbSAnLi4vdXRpbHMvYWRhcHRlclV0aWxzLmpzJztcbmltcG9ydCB7cGFyc2VEb2N1bWVudH0gZnJvbSAnLi9hcmFuZ29BZGFwdGVyLmpzJztcbmltcG9ydCB7cGFyc2VGaWxlfSBmcm9tICcuL2ZpbGVBZGFwdGVyLmpzJztcbmltcG9ydCB7cGFyc2VJbWFnZX0gZnJvbSAnLi9pbWFnZUFkYXB0ZXIuanMnO1xuXG5pbXBvcnQgdHlwZSB7TWVzc2FnZVR5cGV9IGZyb20gJy4uL3R5cGVzL21lc3NhZ2VzLnR5cGVzLmpzJztcblxuZXhwb3J0IGNsYXNzIE1lc3NhZ2VWYWxpZGF0aW9uRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZywgcHVibGljIGZpZWxkPzogc3RyaW5nKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gICAgdGhpcy5uYW1lID0gJ01lc3NhZ2VWYWxpZGF0aW9uRXJyb3InO1xuICB9XG59XG5cbmNvbnN0IE1lc3NhZ2VJbnB1dFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgY29udGVudDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBjb252ZXJzYXRpb25JZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBmaWxlczogei5hcnJheSh6LmFueSgpKS5vcHRpb25hbCgpLFxuICBpbWFnZXM6IHouYXJyYXkoei5hbnkoKSkub3B0aW9uYWwoKSxcbiAgaXRlbUlkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGl0ZW1UeXBlOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIG1lc3NhZ2VJZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICByZWFkOiB6LmJvb2xlYW4oKS5vcHRpb25hbCgpLFxuICBzYXZlZDogei5ib29sZWFuKCkub3B0aW9uYWwoKSxcbiAgdXNlcklkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9pZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfa2V5OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9yZXY6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX29sZFJldjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfZnJvbTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfdG86IHouc3RyaW5nKCkub3B0aW9uYWwoKVxufSkucGFzc3Rocm91Z2goKTtcblxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlTWVzc2FnZUlucHV0ID0gKG1lc3NhZ2U6IHVua25vd24pOiBNZXNzYWdlVHlwZSA9PiB7XG4gIHRyeSB7XG4gICAgY29uc3QgdmFsaWRhdGVkID0gTWVzc2FnZUlucHV0U2NoZW1hLnBhcnNlKG1lc3NhZ2UpO1xuICAgIHJldHVybiB2YWxpZGF0ZWQgYXMgTWVzc2FnZVR5cGU7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICBpZihlcnJvciBpbnN0YW5jZW9mIHouWm9kRXJyb3IpIHtcbiAgICAgIGNvbnN0IGZpZWxkRXJyb3JzID0gZXJyb3IuaXNzdWVzLm1hcCgoZSkgPT4gYCR7ZS5wYXRoLmpvaW4oJy4nKX06ICR7ZS5tZXNzYWdlfWApLmpvaW4oJywgJyk7XG4gICAgICB0aHJvdyBuZXcgTWVzc2FnZVZhbGlkYXRpb25FcnJvcihgTWVzc2FnZSB2YWxpZGF0aW9uIGZhaWxlZDogJHtmaWVsZEVycm9yc31gKTtcbiAgICB9XG4gICAgdGhyb3cgZXJyb3I7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBmb3JtYXRNZXNzYWdlT3V0cHV0ID0gKG1lc3NhZ2U6IE1lc3NhZ2VUeXBlKTogTWVzc2FnZVR5cGUgPT4gbWVzc2FnZTtcblxuZXhwb3J0IGNvbnN0IHBhcnNlTWVzc2FnZSA9IChtZXNzYWdlOiBNZXNzYWdlVHlwZSk6IE1lc3NhZ2VUeXBlID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBwYXJzZWQgPSBwZXJmb3JtTWVzc2FnZVRyYW5zZm9ybWF0aW9uKG1lc3NhZ2UpO1xuICAgIHJldHVybiBwYXJzZWQ7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICBpZihlcnJvciBpbnN0YW5jZW9mIE1lc3NhZ2VWYWxpZGF0aW9uRXJyb3IpIHtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgTWVzc2FnZVZhbGlkYXRpb25FcnJvcihgTWVzc2FnZSBwYXJzaW5nIGZhaWxlZDogJHtlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdVbmtub3duIGVycm9yJ31gKTtcbiAgfVxufTtcblxuY29uc3QgcGVyZm9ybU1lc3NhZ2VUcmFuc2Zvcm1hdGlvbiA9IChtZXNzYWdlOiBNZXNzYWdlVHlwZSk6IE1lc3NhZ2VUeXBlID0+IHtcbiAgY29uc3Qge1xuICAgIF9pZCxcbiAgICBfa2V5LFxuICAgIGNvbnRlbnQsXG4gICAgZmlsZXMsXG4gICAgaWQsXG4gICAgaW1hZ2VzLFxuICAgIG1lc3NhZ2VJZCxcbiAgICBzYXZlZFxuICB9ID0gbWVzc2FnZTtcblxuICBjb25zdCB0cmFuc2Zvcm1lZCA9IHJlbW92ZUVtcHR5S2V5cyh7XG4gICAgLi4ucGFyc2VEb2N1bWVudChtZXNzYWdlKSxcbiAgICAuLi4oY29udGVudCAmJiB7Y29udGVudH0pLFxuICAgIC4uLihBcnJheS5pc0FycmF5KGZpbGVzKSAmJiB7ZmlsZXM6IGZpbGVzLm1hcChwYXJzZUZpbGUpfSksXG4gICAgLi4uKEFycmF5LmlzQXJyYXkoaW1hZ2VzKSAmJiB7aW1hZ2VzOiBpbWFnZXMubWFwKHBhcnNlSW1hZ2UpfSksXG4gICAgLi4uKF9rZXkgJiYge21lc3NhZ2VJZDogcGFyc2VJZChfa2V5KX0pLFxuICAgIC4uLigoX2lkIHx8IGlkIHx8IF9rZXkgfHwgbWVzc2FnZUlkKSAmJiB7bWVzc2FnZUlkOiBwYXJzZUFyYW5nb0lkKF9pZCB8fCBpZCB8fCBgbWVzc2FnZXMvJHtfa2V5IHx8IG1lc3NhZ2VJZH1gKX0pLFxuICAgIC4uLihzYXZlZCAhPT0gdW5kZWZpbmVkICYmIHtzYXZlZDogISFzYXZlZH0pXG4gIH0pO1xuXG4gIHJldHVybiB0cmFuc2Zvcm1lZDtcbn07XG5cbiJdLAogICJtYXBwaW5ncyI6ICJBQUFBLE9BQVEsaUJBQUFBLEVBQWUsV0FBQUMsTUFBYywrQkFDckMsT0FBUSxLQUFBQyxNQUFRLE1BRWhCLE9BQVEsbUJBQUFDLE1BQXNCLDJCQUM5QixPQUFRLGlCQUFBQyxNQUFvQixxQkFDNUIsT0FBUSxhQUFBQyxNQUFnQixtQkFDeEIsT0FBUSxjQUFBQyxNQUFpQixvQkFJbEIsTUFBTUMsVUFBK0IsS0FBTSxDQUNoRCxZQUFZQyxFQUF3QkMsRUFBZ0IsQ0FDbEQsTUFBTUQsQ0FBTyxFQURxQixXQUFBQyxFQUVsQyxLQUFLLEtBQU8sd0JBQ2QsQ0FDRixDQUVBLE1BQU1DLEVBQXFCUixFQUFFLE9BQU8sQ0FDbEMsUUFBU0EsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUM3QixlQUFnQkEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUNwQyxNQUFPQSxFQUFFLE1BQU1BLEVBQUUsSUFBSSxDQUFDLEVBQUUsU0FBUyxFQUNqQyxPQUFRQSxFQUFFLE1BQU1BLEVBQUUsSUFBSSxDQUFDLEVBQUUsU0FBUyxFQUNsQyxPQUFRQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzVCLFNBQVVBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDOUIsVUFBV0EsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUMvQixLQUFNQSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQzNCLE1BQU9BLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFDNUIsT0FBUUEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUM1QixJQUFLQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQ3pCLEtBQU1BLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDMUIsS0FBTUEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUMxQixRQUFTQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzdCLE1BQU9BLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDM0IsSUFBS0EsRUFBRSxPQUFPLEVBQUUsU0FBUyxDQUMzQixDQUFDLEVBQUUsWUFBWSxFQUVGUyxFQUF3QkgsR0FBa0MsQ0FDckUsR0FBSSxDQUVGLE9BRGtCRSxFQUFtQixNQUFNRixDQUFPLENBRXBELE9BQVFJLEVBQU8sQ0FDYixHQUFHQSxhQUFpQlYsRUFBRSxTQUFVLENBQzlCLE1BQU1XLEVBQWNELEVBQU0sT0FBTyxJQUFLRSxHQUFNLEdBQUdBLEVBQUUsS0FBSyxLQUFLLEdBQUcsQ0FBQyxLQUFLQSxFQUFFLE9BQU8sRUFBRSxFQUFFLEtBQUssSUFBSSxFQUMxRixNQUFNLElBQUlQLEVBQXVCLDhCQUE4Qk0sQ0FBVyxFQUFFLENBQzlFLENBQ0EsTUFBTUQsQ0FDUixDQUNGLEVBRWFHLEVBQXVCUCxHQUFzQ0EsRUFFN0RRLEVBQWdCUixHQUFzQyxDQUNqRSxHQUFJLENBRUYsT0FEZVMsRUFBNkJULENBQU8sQ0FFckQsT0FBUUksRUFBTyxDQUNiLE1BQUdBLGFBQWlCTCxFQUNaSyxFQUVGLElBQUlMLEVBQXVCLDJCQUEyQkssYUFBaUIsTUFBUUEsRUFBTSxRQUFVLGVBQWUsRUFBRSxDQUN4SCxDQUNGLEVBRU1LLEVBQWdDVCxHQUFzQyxDQUMxRSxLQUFNLENBQ0osSUFBQVUsRUFDQSxLQUFBQyxFQUNBLFFBQUFDLEVBQ0EsTUFBQUMsRUFDQSxHQUFBQyxFQUNBLE9BQUFDLEVBQ0EsVUFBQUMsRUFDQSxNQUFBQyxDQUNGLEVBQUlqQixFQVlKLE9BVm9CTCxFQUFnQixDQUNsQyxHQUFHQyxFQUFjSSxDQUFPLEVBQ3hCLEdBQUlZLEdBQVcsQ0FBQyxRQUFBQSxDQUFPLEVBQ3ZCLEdBQUksTUFBTSxRQUFRQyxDQUFLLEdBQUssQ0FBQyxNQUFPQSxFQUFNLElBQUloQixDQUFTLENBQUMsRUFDeEQsR0FBSSxNQUFNLFFBQVFrQixDQUFNLEdBQUssQ0FBQyxPQUFRQSxFQUFPLElBQUlqQixDQUFVLENBQUMsRUFDNUQsR0FBSWEsR0FBUSxDQUFDLFVBQVdsQixFQUFRa0IsQ0FBSSxDQUFDLEVBQ3JDLElBQUtELEdBQU9JLEdBQU1ILEdBQVFLLElBQWMsQ0FBQyxVQUFXeEIsRUFBY2tCLEdBQU9JLEdBQU0sWUFBWUgsR0FBUUssQ0FBUyxFQUFFLENBQUMsRUFDL0csR0FBSUMsSUFBVSxRQUFhLENBQUMsTUFBTyxDQUFDLENBQUNBLENBQUssQ0FDNUMsQ0FBQyxDQUdIIiwKICAibmFtZXMiOiBbInBhcnNlQXJhbmdvSWQiLCAicGFyc2VJZCIsICJ6IiwgInJlbW92ZUVtcHR5S2V5cyIsICJwYXJzZURvY3VtZW50IiwgInBhcnNlRmlsZSIsICJwYXJzZUltYWdlIiwgIk1lc3NhZ2VWYWxpZGF0aW9uRXJyb3IiLCAibWVzc2FnZSIsICJmaWVsZCIsICJNZXNzYWdlSW5wdXRTY2hlbWEiLCAidmFsaWRhdGVNZXNzYWdlSW5wdXQiLCAiZXJyb3IiLCAiZmllbGRFcnJvcnMiLCAiZSIsICJmb3JtYXRNZXNzYWdlT3V0cHV0IiwgInBhcnNlTWVzc2FnZSIsICJwZXJmb3JtTWVzc2FnZVRyYW5zZm9ybWF0aW9uIiwgIl9pZCIsICJfa2V5IiwgImNvbnRlbnQiLCAiZmlsZXMiLCAiaWQiLCAiaW1hZ2VzIiwgIm1lc3NhZ2VJZCIsICJzYXZlZCJdCn0K
@@ -1,2 +1,8 @@
1
- import { PostType } from '../types';
1
+ import type { PostType } from '../types/posts.types.js';
2
+ export declare class PostValidationError extends Error {
3
+ field?: string;
4
+ constructor(message: string, field?: string);
5
+ }
6
+ export declare const validatePostInput: (post: unknown) => PostType;
7
+ export declare const formatPostOutput: (post: PostType) => PostType;
2
8
  export declare const parsePost: (post: PostType) => PostType;
@@ -1,70 +1,2 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: true });
8
- };
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
- var postAdapter_exports = {};
19
- __export(postAdapter_exports, {
20
- parsePost: () => parsePost
21
- });
22
- module.exports = __toCommonJS(postAdapter_exports);
23
- var import_utils = require("@nlabs/utils");
24
- var import_arangoAdapter = require("./arangoAdapter");
25
- var import_fileAdapter = require("./fileAdapter");
26
- var import_reaktorAdapter = require("./reaktorAdapter");
27
- var import_tagAdapter = require("./tagAdapter");
28
- var import_adapterUtils = require("../utils/adapterUtils");
29
- const MAX_CONTENT_LENGTH = 1e5;
30
- const parsePost = (post) => {
31
- const {
32
- _key,
33
- content,
34
- endDate,
35
- files,
36
- groupId,
37
- latitude,
38
- location,
39
- longitude,
40
- name,
41
- parentId,
42
- postId,
43
- privacy,
44
- tags,
45
- type,
46
- userId
47
- } = post;
48
- return (0, import_adapterUtils.removeEmptyKeys)({
49
- ...(0, import_arangoAdapter.parseDocument)(post),
50
- content: (0, import_reaktorAdapter.parseReaktorContent)(content, MAX_CONTENT_LENGTH),
51
- endDate: (0, import_reaktorAdapter.parseReaktorDate)(endDate),
52
- files: files?.length ? files?.map((file) => (0, import_fileAdapter.parseFile)(file)) : void 0,
53
- groupId: (0, import_reaktorAdapter.parseReaktorItemId)(groupId),
54
- latitude: latitude ? (0, import_utils.parseNum)(latitude, 15) : void 0,
55
- location: location ? (0, import_utils.parseString)(location, 160) : void 0,
56
- longitude: longitude ? (0, import_utils.parseNum)(longitude, 15) : void 0,
57
- name: (0, import_reaktorAdapter.parseReaktorName)(name),
58
- parentId: (0, import_reaktorAdapter.parseReaktorItemId)(parentId),
59
- postId: (0, import_reaktorAdapter.parseReaktorItemId)(_key || postId),
60
- privacy: privacy ? (0, import_utils.parseVarChar)(privacy, 16) : void 0,
61
- tags: tags?.length ? tags?.map((tag) => (0, import_tagAdapter.parseTag)(tag)) : void 0,
62
- type: (0, import_reaktorAdapter.parseReaktorType)(type),
63
- userId: (0, import_reaktorAdapter.parseReaktorItemId)(userId)
64
- });
65
- };
66
- // Annotate the CommonJS export names for ESM import in node:
67
- 0 && (module.exports = {
68
- parsePost
69
- });
70
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FkYXB0ZXJzL3Bvc3RBZGFwdGVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQge3BhcnNlTnVtLCBwYXJzZVN0cmluZywgcGFyc2VWYXJDaGFyfSBmcm9tICdAbmxhYnMvdXRpbHMnO1xuXG5pbXBvcnQge1Bvc3RUeXBlfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQge3BhcnNlRG9jdW1lbnR9IGZyb20gJy4vYXJhbmdvQWRhcHRlcic7XG5pbXBvcnQge3BhcnNlRmlsZX0gZnJvbSAnLi9maWxlQWRhcHRlcic7XG5pbXBvcnQge1xuICBwYXJzZVJlYWt0b3JDb250ZW50LFxuICBwYXJzZVJlYWt0b3JEYXRlLFxuICBwYXJzZVJlYWt0b3JJdGVtSWQsXG4gIHBhcnNlUmVha3Rvck5hbWUsXG4gIHBhcnNlUmVha3RvclR5cGVcbn0gZnJvbSAnLi9yZWFrdG9yQWRhcHRlcic7XG5pbXBvcnQge3BhcnNlVGFnfSBmcm9tICcuL3RhZ0FkYXB0ZXInO1xuaW1wb3J0IHtyZW1vdmVFbXB0eUtleXN9IGZyb20gJy4uL3V0aWxzL2FkYXB0ZXJVdGlscyc7XG5cbmNvbnN0IE1BWF9DT05URU5UX0xFTkdUSDogbnVtYmVyID0gMTAwMDAwO1xuXG5leHBvcnQgY29uc3QgcGFyc2VQb3N0ID0gKHBvc3Q6IFBvc3RUeXBlKTogUG9zdFR5cGUgPT4ge1xuICBjb25zdCB7XG4gICAgX2tleSxcbiAgICBjb250ZW50LFxuICAgIGVuZERhdGUsXG4gICAgZmlsZXMsXG4gICAgZ3JvdXBJZCxcbiAgICBsYXRpdHVkZSxcbiAgICBsb2NhdGlvbixcbiAgICBsb25naXR1ZGUsXG4gICAgbmFtZSxcbiAgICBwYXJlbnRJZCxcbiAgICBwb3N0SWQsXG4gICAgcHJpdmFjeSxcbiAgICB0YWdzLFxuICAgIHR5cGUsXG4gICAgdXNlcklkXG4gIH0gPSBwb3N0O1xuXG4gIHJldHVybiByZW1vdmVFbXB0eUtleXMoe1xuICAgIC4uLnBhcnNlRG9jdW1lbnQocG9zdCksXG4gICAgY29udGVudDogcGFyc2VSZWFrdG9yQ29udGVudChjb250ZW50LCBNQVhfQ09OVEVOVF9MRU5HVEgpLFxuICAgIGVuZERhdGU6IHBhcnNlUmVha3RvckRhdGUoZW5kRGF0ZSksXG4gICAgZmlsZXM6IGZpbGVzPy5sZW5ndGggPyBmaWxlcz8ubWFwKChmaWxlKSA9PiBwYXJzZUZpbGUoZmlsZSkpIDogdW5kZWZpbmVkLFxuICAgIGdyb3VwSWQ6IHBhcnNlUmVha3Rvckl0ZW1JZChncm91cElkKSxcbiAgICBsYXRpdHVkZTogbGF0aXR1ZGUgPyBwYXJzZU51bShsYXRpdHVkZSwgMTUpIDogdW5kZWZpbmVkLFxuICAgIGxvY2F0aW9uOiBsb2NhdGlvbiA/IHBhcnNlU3RyaW5nKGxvY2F0aW9uLCAxNjApIDogdW5kZWZpbmVkLFxuICAgIGxvbmdpdHVkZTogbG9uZ2l0dWRlID8gcGFyc2VOdW0obG9uZ2l0dWRlLCAxNSkgOiB1bmRlZmluZWQsXG4gICAgbmFtZTogcGFyc2VSZWFrdG9yTmFtZShuYW1lKSxcbiAgICBwYXJlbnRJZDogcGFyc2VSZWFrdG9ySXRlbUlkKHBhcmVudElkKSxcbiAgICBwb3N0SWQ6IHBhcnNlUmVha3Rvckl0ZW1JZChfa2V5IHx8IHBvc3RJZCksXG4gICAgcHJpdmFjeTogcHJpdmFjeSA/IHBhcnNlVmFyQ2hhcihwcml2YWN5LCAxNikgOiB1bmRlZmluZWQsXG4gICAgdGFnczogdGFncz8ubGVuZ3RoID8gdGFncz8ubWFwKCh0YWcpID0+IHBhcnNlVGFnKHRhZykpIDogdW5kZWZpbmVkLFxuICAgIHR5cGU6IHBhcnNlUmVha3RvclR5cGUodHlwZSksXG4gICAgdXNlcklkOiBwYXJzZVJlYWt0b3JJdGVtSWQodXNlcklkKVxuICB9KTtcbn07Il0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsbUJBQWtEO0FBR2xELDJCQUE0QjtBQUM1Qix5QkFBd0I7QUFDeEIsNEJBTU87QUFDUCx3QkFBdUI7QUFDdkIsMEJBQThCO0FBRTlCLE1BQU0scUJBQTZCO0FBRTVCLE1BQU0sWUFBWSxDQUFDLFNBQTZCO0FBQ3JELFFBQU07QUFBQSxJQUNKO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxFQUNGLElBQUk7QUFFSixhQUFPLHFDQUFnQjtBQUFBLElBQ3JCLE9BQUcsb0NBQWMsSUFBSTtBQUFBLElBQ3JCLGFBQVMsMkNBQW9CLFNBQVMsa0JBQWtCO0FBQUEsSUFDeEQsYUFBUyx3Q0FBaUIsT0FBTztBQUFBLElBQ2pDLE9BQU8sT0FBTyxTQUFTLE9BQU8sSUFBSSxDQUFDLGFBQVMsOEJBQVUsSUFBSSxDQUFDLElBQUk7QUFBQSxJQUMvRCxhQUFTLDBDQUFtQixPQUFPO0FBQUEsSUFDbkMsVUFBVSxlQUFXLHVCQUFTLFVBQVUsRUFBRSxJQUFJO0FBQUEsSUFDOUMsVUFBVSxlQUFXLDBCQUFZLFVBQVUsR0FBRyxJQUFJO0FBQUEsSUFDbEQsV0FBVyxnQkFBWSx1QkFBUyxXQUFXLEVBQUUsSUFBSTtBQUFBLElBQ2pELFVBQU0sd0NBQWlCLElBQUk7QUFBQSxJQUMzQixjQUFVLDBDQUFtQixRQUFRO0FBQUEsSUFDckMsWUFBUSwwQ0FBbUIsUUFBUSxNQUFNO0FBQUEsSUFDekMsU0FBUyxjQUFVLDJCQUFhLFNBQVMsRUFBRSxJQUFJO0FBQUEsSUFDL0MsTUFBTSxNQUFNLFNBQVMsTUFBTSxJQUFJLENBQUMsWUFBUSw0QkFBUyxHQUFHLENBQUMsSUFBSTtBQUFBLElBQ3pELFVBQU0sd0NBQWlCLElBQUk7QUFBQSxJQUMzQixZQUFRLDBDQUFtQixNQUFNO0FBQUEsRUFDbkMsQ0FBQztBQUNIOyIsCiAgIm5hbWVzIjogW10KfQo=
1
+ import{parseNum as _}from"@nlabs/utils/parsers/numbers";import{parseArangoId as w,parseId as s,parseString as E,parseVarChar as b}from"@nlabs/utils/parsers/strings";import{z as t}from"zod";import{removeEmptyKeys as k}from"../utils/adapterUtils.js";import{parseDocument as D}from"./arangoAdapter.js";import{parseFile as x}from"./fileAdapter.js";import{parseReaktorContent as $,parseReaktorDate as j,parseReaktorType as N}from"./reaktorAdapter.js";import{parseTag as R}from"./tagAdapter.js";const C=1e5;class p extends Error{constructor(n,e){super(n);this.field=e;this.name="PostValidationError"}}const V=t.object({content:t.string().optional(),endDate:t.number().optional(),files:t.array(t.any()).optional(),groupId:t.string().optional(),postId:t.string().optional(),latitude:t.number().optional(),location:t.string().optional(),longitude:t.number().optional(),name:t.string().optional(),parentId:t.string().optional(),privacy:t.string().optional(),startDate:t.number().optional(),tags:t.array(t.any()).optional(),type:t.string().optional(),userId:t.string().optional(),_id:t.string().optional(),_key:t.string().optional(),_rev:t.string().optional(),_oldRev:t.string().optional(),_from:t.string().optional(),_to:t.string().optional()}).passthrough(),U=r=>{try{return V.parse(r)}catch(o){if(o instanceof t.ZodError){const n=o.issues.map(e=>`${e.path.join(".")}: ${e.message}`).join(", ");throw new p(`Post validation failed: ${n}`)}throw o}},X=r=>r,Z=r=>{try{return A(r)}catch(o){throw o instanceof p?o:new p(`Post parsing failed: ${o instanceof Error?o.message:"Unknown error"}`)}},A=r=>{const{_id:o,_key:n,content:e,endDate:d,files:l,groupId:m,id:g,latitude:u,location:c,longitude:f,name:y,parentId:P,postId:a,privacy:I,tags:T,type:h,userId:v}=r;return k({...D(r),...e&&{content:$(e,C)},...d!==void 0&&{endDate:j(d)},...l?.length&&{files:l.map(i=>x(i))},...m&&{groupId:s(m)},...u!==void 0&&{latitude:_(u,15)},...c&&{location:E(c,160)},...f!==void 0&&{longitude:_(f,15)},...y&&{name:E(y,160)},...P&&{parentId:s(P)},...(o||g||n||a)&&{id:w(o||g||`posts/${n||a||""}`)},...(n||a)&&{postId:s(n||a||"")},...I&&{privacy:b(I,16)},...T?.length&&{tags:T.map(i=>R(i))},...h&&{type:N(h)},...v&&{userId:s(v)}})};export{p as PostValidationError,X as formatPostOutput,Z as parsePost,U as validatePostInput};
2
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FkYXB0ZXJzL3Bvc3RBZGFwdGVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQge3BhcnNlTnVtfSBmcm9tICdAbmxhYnMvdXRpbHMvcGFyc2Vycy9udW1iZXJzJztcbmltcG9ydCB7cGFyc2VBcmFuZ29JZCwgcGFyc2VJZCwgcGFyc2VTdHJpbmcsIHBhcnNlVmFyQ2hhcn0gZnJvbSAnQG5sYWJzL3V0aWxzL3BhcnNlcnMvc3RyaW5ncyc7XG5pbXBvcnQge3p9IGZyb20gJ3pvZCc7XG5cbmltcG9ydCB7cmVtb3ZlRW1wdHlLZXlzfSBmcm9tICcuLi91dGlscy9hZGFwdGVyVXRpbHMuanMnO1xuaW1wb3J0IHtwYXJzZURvY3VtZW50fSBmcm9tICcuL2FyYW5nb0FkYXB0ZXIuanMnO1xuaW1wb3J0IHtwYXJzZUZpbGV9IGZyb20gJy4vZmlsZUFkYXB0ZXIuanMnO1xuaW1wb3J0IHtcbiAgcGFyc2VSZWFrdG9yQ29udGVudCxcbiAgcGFyc2VSZWFrdG9yRGF0ZSxcbiAgcGFyc2VSZWFrdG9yVHlwZVxufSBmcm9tICcuL3JlYWt0b3JBZGFwdGVyLmpzJztcbmltcG9ydCB7cGFyc2VUYWd9IGZyb20gJy4vdGFnQWRhcHRlci5qcyc7XG5cbmltcG9ydCB0eXBlIHtQb3N0VHlwZX0gZnJvbSAnLi4vdHlwZXMvcG9zdHMudHlwZXMuanMnO1xuXG5jb25zdCBNQVhfQ09OVEVOVF9MRU5HVEg6IG51bWJlciA9IDEwMDAwMDtcblxuZXhwb3J0IGNsYXNzIFBvc3RWYWxpZGF0aW9uRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZywgcHVibGljIGZpZWxkPzogc3RyaW5nKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gICAgdGhpcy5uYW1lID0gJ1Bvc3RWYWxpZGF0aW9uRXJyb3InO1xuICB9XG59XG5cbmNvbnN0IFBvc3RJbnB1dFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgY29udGVudDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBlbmREYXRlOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIGZpbGVzOiB6LmFycmF5KHouYW55KCkpLm9wdGlvbmFsKCksXG4gIGdyb3VwSWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgcG9zdElkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGxhdGl0dWRlOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIGxvY2F0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGxvbmdpdHVkZTogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICBuYW1lOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHBhcmVudElkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHByaXZhY3k6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgc3RhcnREYXRlOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIHRhZ3M6IHouYXJyYXkoei5hbnkoKSkub3B0aW9uYWwoKSxcbiAgdHlwZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICB1c2VySWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX2lkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9rZXk6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX3Jldjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBfb2xkUmV2OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9mcm9tOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF90bzogei5zdHJpbmcoKS5vcHRpb25hbCgpXG59KS5wYXNzdGhyb3VnaCgpO1xuXG5leHBvcnQgY29uc3QgdmFsaWRhdGVQb3N0SW5wdXQgPSAocG9zdDogdW5rbm93bik6IFBvc3RUeXBlID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCB2YWxpZGF0ZWQgPSBQb3N0SW5wdXRTY2hlbWEucGFyc2UocG9zdCk7XG4gICAgcmV0dXJuIHZhbGlkYXRlZCBhcyBQb3N0VHlwZTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIGlmKGVycm9yIGluc3RhbmNlb2Ygei5ab2RFcnJvcikge1xuICAgICAgY29uc3QgZmllbGRFcnJvcnMgPSBlcnJvci5pc3N1ZXMubWFwKChlKSA9PiBgJHtlLnBhdGguam9pbignLicpfTogJHtlLm1lc3NhZ2V9YCkuam9pbignLCAnKTtcbiAgICAgIHRocm93IG5ldyBQb3N0VmFsaWRhdGlvbkVycm9yKGBQb3N0IHZhbGlkYXRpb24gZmFpbGVkOiAke2ZpZWxkRXJyb3JzfWApO1xuICAgIH1cbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGZvcm1hdFBvc3RPdXRwdXQgPSAocG9zdDogUG9zdFR5cGUpOiBQb3N0VHlwZSA9PiBwb3N0O1xuXG5leHBvcnQgY29uc3QgcGFyc2VQb3N0ID0gKHBvc3Q6IFBvc3RUeXBlKTogUG9zdFR5cGUgPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IHBhcnNlZCA9IHBlcmZvcm1Qb3N0VHJhbnNmb3JtYXRpb24ocG9zdCk7XG4gICAgcmV0dXJuIHBhcnNlZDtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIGlmKGVycm9yIGluc3RhbmNlb2YgUG9zdFZhbGlkYXRpb25FcnJvcikge1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICAgIHRocm93IG5ldyBQb3N0VmFsaWRhdGlvbkVycm9yKGBQb3N0IHBhcnNpbmcgZmFpbGVkOiAke2Vycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ1Vua25vd24gZXJyb3InfWApO1xuICB9XG59O1xuXG5jb25zdCBwZXJmb3JtUG9zdFRyYW5zZm9ybWF0aW9uID0gKHBvc3Q6IFBvc3RUeXBlKTogUG9zdFR5cGUgPT4ge1xuICBjb25zdCB7XG4gICAgX2lkLFxuICAgIF9rZXksXG4gICAgY29udGVudCxcbiAgICBlbmREYXRlLFxuICAgIGZpbGVzLFxuICAgIGdyb3VwSWQsXG4gICAgaWQsXG4gICAgbGF0aXR1ZGUsXG4gICAgbG9jYXRpb24sXG4gICAgbG9uZ2l0dWRlLFxuICAgIG5hbWUsXG4gICAgcGFyZW50SWQsXG4gICAgcG9zdElkLFxuICAgIHByaXZhY3ksXG4gICAgdGFncyxcbiAgICB0eXBlLFxuICAgIHVzZXJJZFxuICB9ID0gcG9zdDtcblxuICBjb25zdCB0cmFuc2Zvcm1lZCA9IHJlbW92ZUVtcHR5S2V5cyh7XG4gICAgLi4ucGFyc2VEb2N1bWVudChwb3N0KSxcbiAgICAuLi4oY29udGVudCAmJiB7Y29udGVudDogcGFyc2VSZWFrdG9yQ29udGVudChjb250ZW50LCBNQVhfQ09OVEVOVF9MRU5HVEgpfSksXG4gICAgLi4uKGVuZERhdGUgIT09IHVuZGVmaW5lZCAmJiB7ZW5kRGF0ZTogcGFyc2VSZWFrdG9yRGF0ZShlbmREYXRlKX0pLFxuICAgIC4uLihmaWxlcz8ubGVuZ3RoICYmIHtmaWxlczogZmlsZXMubWFwKChmaWxlKSA9PiBwYXJzZUZpbGUoZmlsZSkpfSksXG4gICAgLi4uKGdyb3VwSWQgJiYge2dyb3VwSWQ6IHBhcnNlSWQoZ3JvdXBJZCl9KSxcbiAgICAuLi4obGF0aXR1ZGUgIT09IHVuZGVmaW5lZCAmJiB7bGF0aXR1ZGU6IHBhcnNlTnVtKGxhdGl0dWRlLCAxNSl9KSxcbiAgICAuLi4obG9jYXRpb24gJiYge2xvY2F0aW9uOiBwYXJzZVN0cmluZyhsb2NhdGlvbiwgMTYwKX0pLFxuICAgIC4uLihsb25naXR1ZGUgIT09IHVuZGVmaW5lZCAmJiB7bG9uZ2l0dWRlOiBwYXJzZU51bShsb25naXR1ZGUsIDE1KX0pLFxuICAgIC4uLihuYW1lICYmIHtuYW1lOiBwYXJzZVN0cmluZyhuYW1lLCAxNjApfSksXG4gICAgLi4uKHBhcmVudElkICYmIHtwYXJlbnRJZDogcGFyc2VJZChwYXJlbnRJZCl9KSxcbiAgICAuLi4oKF9pZCB8fCBpZCB8fCBfa2V5IHx8IHBvc3RJZCkgJiYge2lkOiBwYXJzZUFyYW5nb0lkKF9pZCB8fCBpZCB8fCBgcG9zdHMvJHtfa2V5IHx8IHBvc3RJZCB8fCAnJ31gKX0pLFxuICAgIC4uLigoX2tleSB8fCBwb3N0SWQpICYmIHtwb3N0SWQ6IHBhcnNlSWQoX2tleSB8fCBwb3N0SWQgfHwgJycpfSksXG4gICAgLi4uKHByaXZhY3kgJiYge3ByaXZhY3k6IHBhcnNlVmFyQ2hhcihwcml2YWN5LCAxNil9KSxcbiAgICAuLi4odGFncz8ubGVuZ3RoICYmIHt0YWdzOiB0YWdzLm1hcCgodGFnKSA9PiBwYXJzZVRhZyh0YWcpKX0pLFxuICAgIC4uLih0eXBlICYmIHt0eXBlOiBwYXJzZVJlYWt0b3JUeXBlKHR5cGUpfSksXG4gICAgLi4uKHVzZXJJZCAmJiB7dXNlcklkOiBwYXJzZUlkKHVzZXJJZCl9KVxuICB9KTtcblxuICByZXR1cm4gdHJhbnNmb3JtZWQ7XG59OyJdLAogICJtYXBwaW5ncyI6ICJBQUFBLE9BQVEsWUFBQUEsTUFBZSwrQkFDdkIsT0FBUSxpQkFBQUMsRUFBZSxXQUFBQyxFQUFTLGVBQUFDLEVBQWEsZ0JBQUFDLE1BQW1CLCtCQUNoRSxPQUFRLEtBQUFDLE1BQVEsTUFFaEIsT0FBUSxtQkFBQUMsTUFBc0IsMkJBQzlCLE9BQVEsaUJBQUFDLE1BQW9CLHFCQUM1QixPQUFRLGFBQUFDLE1BQWdCLG1CQUN4QixPQUNFLHVCQUFBQyxFQUNBLG9CQUFBQyxFQUNBLG9CQUFBQyxNQUNLLHNCQUNQLE9BQVEsWUFBQUMsTUFBZSxrQkFJdkIsTUFBTUMsRUFBNkIsSUFFNUIsTUFBTUMsVUFBNEIsS0FBTSxDQUM3QyxZQUFZQyxFQUF3QkMsRUFBZ0IsQ0FDbEQsTUFBTUQsQ0FBTyxFQURxQixXQUFBQyxFQUVsQyxLQUFLLEtBQU8scUJBQ2QsQ0FDRixDQUVBLE1BQU1DLEVBQWtCWixFQUFFLE9BQU8sQ0FDL0IsUUFBU0EsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUM3QixRQUFTQSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQzdCLE1BQU9BLEVBQUUsTUFBTUEsRUFBRSxJQUFJLENBQUMsRUFBRSxTQUFTLEVBQ2pDLFFBQVNBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDN0IsT0FBUUEsRUFBRSxP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TCxHQUFRVyxJQUFXLENBQUMsR0FBSXBDLEVBQWN3QixHQUFPTSxHQUFNLFNBQVNMLEdBQVFXLEdBQVUsRUFBRSxFQUFFLENBQUMsRUFDckcsSUFBS1gsR0FBUVcsSUFBVyxDQUFDLE9BQVFuQyxFQUFRd0IsR0FBUVcsR0FBVSxFQUFFLENBQUMsRUFDOUQsR0FBSUMsR0FBVyxDQUFDLFFBQVNsQyxFQUFha0MsRUFBUyxFQUFFLENBQUMsRUFDbEQsR0FBSUMsR0FBTSxRQUFVLENBQUMsS0FBTUEsRUFBSyxJQUFLSSxHQUFRL0IsRUFBUytCLENBQUcsQ0FBQyxDQUFDLEVBQzNELEdBQUlILEdBQVEsQ0FBQyxLQUFNN0IsRUFBaUI2QixDQUFJLENBQUMsRUFDekMsR0FBSUMsR0FBVSxDQUFDLE9BQVF2QyxFQUFRdUMsQ0FBTSxDQUFDLENBQ3hDLENBQUMsQ0FHSCIsCiAgIm5hbWVzIjogWyJwYXJzZU51bSIsICJwYXJzZUFyYW5nb0lkIiwgInBhcnNlSWQiLCAicGFyc2VTdHJpbmciLCAicGFyc2VWYXJDaGFyIiwgInoiLCAicmVtb3ZlRW1wdHlLZXlzIiwgInBhcnNlRG9jdW1lbnQiLCAicGFyc2VGaWxlIiwgInBhcnNlUmVha3RvckNvbnRlbnQiLCAicGFyc2VSZWFrdG9yRGF0ZSIsICJwYXJzZVJlYWt0b3JUeXBlIiwgInBhcnNlVGFnIiwgIk1BWF9DT05URU5UX0xFTkdUSCIsICJQb3N0VmFsaWRhdGlvbkVycm9yIiwgIm1lc3NhZ2UiLCAiZmllbGQiLCAiUG9zdElucHV0U2NoZW1hIiwgInZhbGlkYXRlUG9zdElucHV0IiwgInBvc3QiLCAiZXJyb3IiLCAiZmllbGRFcnJvcnMiLCAiZm9ybWF0UG9zdE91dHB1dCIsICJwYXJzZVBvc3QiLCAicGVyZm9ybVBvc3RUcmFuc2Zvcm1hdGlvbiIsICJfaWQiLCAiX2tleSIsICJjb250ZW50IiwgImVuZERhdGUiLCAiZmlsZXMiLCAiZ3JvdXBJZCIsICJpZCIsICJsYXRpdHVkZSIsICJsb2NhdGlvbiIsICJsb25naXR1ZGUiLCAibmFtZSIsICJwYXJlbnRJZCIsICJwb3N0SWQiLCAicHJpdmFjeSIsICJ0YWdzIiwgInR5cGUiLCAidXNlcklkIiwgImZpbGUiLCAidGFnIl0KfQo=
@@ -1,6 +1,16 @@
1
- export declare const parseReaktorContent: (content?: string, length?: number) => string;
2
- export declare const parseReaktorDate: (date?: number) => number;
3
- export declare const parseReaktorItemId: (itemId?: string) => string;
4
- export declare const parseReaktorName: (name?: string) => string;
5
- export declare const parseReaktorType: (type?: string) => string;
6
- export declare const parseReaktorUrl: (url?: string) => string;
1
+ export declare class ReaktorValidationError extends Error {
2
+ field?: string;
3
+ constructor(message: string, field?: string);
4
+ }
5
+ export declare const validateReaktorContent: (content?: string, length?: number) => string | undefined;
6
+ export declare const validateReaktorDate: (date?: number) => number | undefined;
7
+ export declare const validateReaktorItemId: (itemId?: string) => string | undefined;
8
+ export declare const validateReaktorName: (name?: string) => string | undefined;
9
+ export declare const validateReaktorType: (type?: string) => string | undefined;
10
+ export declare const validateReaktorUrl: (url?: string) => string | undefined;
11
+ export declare const parseReaktorContent: (content?: string, length?: number) => string | undefined;
12
+ export declare const parseReaktorDate: (date?: number) => number | undefined;
13
+ export declare const parseReaktorItemId: (itemId?: string) => string | undefined;
14
+ export declare const parseReaktorName: (name?: string) => string | undefined;
15
+ export declare const parseReaktorType: (type?: string) => string | undefined;
16
+ export declare const parseReaktorUrl: (url?: string) => string | undefined;
@@ -1,44 +1,2 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: true });
8
- };
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
- var reaktorAdapter_exports = {};
19
- __export(reaktorAdapter_exports, {
20
- parseReaktorContent: () => parseReaktorContent,
21
- parseReaktorDate: () => parseReaktorDate,
22
- parseReaktorItemId: () => parseReaktorItemId,
23
- parseReaktorName: () => parseReaktorName,
24
- parseReaktorType: () => parseReaktorType,
25
- parseReaktorUrl: () => parseReaktorUrl
26
- });
27
- module.exports = __toCommonJS(reaktorAdapter_exports);
28
- var import_utils = require("@nlabs/utils");
29
- const parseReaktorContent = (content, length = 500) => content ? (0, import_utils.parseString)(content, length) : void 0;
30
- const parseReaktorDate = (date) => date ? (0, import_utils.parseNum)(date, 13) : void 0;
31
- const parseReaktorItemId = (itemId) => itemId ? (0, import_utils.parseId)(itemId) : void 0;
32
- const parseReaktorName = (name) => name ? (0, import_utils.parseString)(name, 160) : void 0;
33
- const parseReaktorType = (type) => type ? (0, import_utils.parseVarChar)(type, 160) : void 0;
34
- const parseReaktorUrl = (url) => url ? (0, import_utils.parseUrl)(url) : void 0;
35
- // Annotate the CommonJS export names for ESM import in node:
36
- 0 && (module.exports = {
37
- parseReaktorContent,
38
- parseReaktorDate,
39
- parseReaktorItemId,
40
- parseReaktorName,
41
- parseReaktorType,
42
- parseReaktorUrl
43
- });
44
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FkYXB0ZXJzL3JlYWt0b3JBZGFwdGVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQge3BhcnNlSWQsIHBhcnNlTnVtLCBwYXJzZVN0cmluZywgcGFyc2VVcmwsIHBhcnNlVmFyQ2hhcn0gZnJvbSAnQG5sYWJzL3V0aWxzJztcblxuZXhwb3J0IGNvbnN0IHBhcnNlUmVha3RvckNvbnRlbnQgPSAoY29udGVudD86IHN0cmluZywgbGVuZ3RoOiBudW1iZXIgPSA1MDApID0+XG4gIChjb250ZW50ID8gcGFyc2VTdHJpbmcoY29udGVudCwgbGVuZ3RoKSA6IHVuZGVmaW5lZCk7XG5cbmV4cG9ydCBjb25zdCBwYXJzZVJlYWt0b3JEYXRlID0gKGRhdGU/OiBudW1iZXIpID0+IChkYXRlID8gcGFyc2VOdW0oZGF0ZSwgMTMpIDogdW5kZWZpbmVkKTtcblxuZXhwb3J0IGNvbnN0IHBhcnNlUmVha3Rvckl0ZW1JZCA9IChpdGVtSWQ/OiBzdHJpbmcpID0+IChpdGVtSWQgPyBwYXJzZUlkKGl0ZW1JZCkgOiB1bmRlZmluZWQpO1xuXG5leHBvcnQgY29uc3QgcGFyc2VSZWFrdG9yTmFtZSA9IChuYW1lPzogc3RyaW5nKSA9PiAobmFtZSA/IHBhcnNlU3RyaW5nKG5hbWUsIDE2MCkgOiB1bmRlZmluZWQpO1xuXG5leHBvcnQgY29uc3QgcGFyc2VSZWFrdG9yVHlwZSA9ICh0eXBlPzogc3RyaW5nKSA9PiAodHlwZSA/IHBhcnNlVmFyQ2hhcih0eXBlLCAxNjApIDogdW5kZWZpbmVkKTtcblxuZXhwb3J0IGNvbnN0IHBhcnNlUmVha3RvclVybCA9ICh1cmw/OiBzdHJpbmcpID0+ICh1cmwgPyBwYXJzZVVybCh1cmwpIDogdW5kZWZpbmVkKTtcbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxtQkFBcUU7QUFFOUQsTUFBTSxzQkFBc0IsQ0FBQyxTQUFrQixTQUFpQixRQUNwRSxjQUFVLDBCQUFZLFNBQVMsTUFBTSxJQUFJO0FBRXJDLE1BQU0sbUJBQW1CLENBQUMsU0FBbUIsV0FBTyx1QkFBUyxNQUFNLEVBQUUsSUFBSTtBQUV6RSxNQUFNLHFCQUFxQixDQUFDLFdBQXFCLGFBQVMsc0JBQVEsTUFBTSxJQUFJO0FBRTVFLE1BQU0sbUJBQW1CLENBQUMsU0FBbUIsV0FBTywwQkFBWSxNQUFNLEdBQUcsSUFBSTtBQUU3RSxNQUFNLG1CQUFtQixDQUFDLFNBQW1CLFdBQU8sMkJBQWEsTUFBTSxHQUFHLElBQUk7QUFFOUUsTUFBTSxrQkFBa0IsQ0FBQyxRQUFrQixVQUFNLHVCQUFTLEdBQUcsSUFBSTsiLAogICJuYW1lcyI6IFtdCn0K
1
+ import{parseNum as a}from"@nlabs/utils/parsers/numbers";import{parseId as i,parseString as o,parseUrl as s,parseVarChar as d}from"@nlabs/utils/parsers/strings";class n extends Error{constructor(t,m){super(t);this.field=m;this.name="ReaktorValidationError"}}const R=(r,e=500)=>{try{return c(r,e)}catch(t){throw new n(`Content validation failed: ${t instanceof Error?t.message:"Unknown error"}`,"content")}},h=r=>{try{return u(r)}catch(e){throw new n(`Date validation failed: ${e instanceof Error?e.message:"Unknown error"}`,"date")}},x=r=>{try{return f(r)}catch(e){throw new n(`Item ID validation failed: ${e instanceof Error?e.message:"Unknown error"}`,"itemId")}},v=r=>{try{return p(r)}catch(e){throw new n(`Name validation failed: ${e instanceof Error?e.message:"Unknown error"}`,"name")}},U=r=>{try{return g(r)}catch(e){throw new n(`Type validation failed: ${e instanceof Error?e.message:"Unknown error"}`,"type")}},y=r=>{try{return l(r)}catch(e){throw new n(`URL validation failed: ${e instanceof Error?e.message:"Unknown error"}`,"url")}},c=(r,e=500)=>r?o(r,e):void 0,u=r=>r?a(r,13):void 0,f=r=>r?i(r):void 0,p=r=>r?o(r,160):void 0,g=r=>r?d(r,160):void 0,l=r=>r?s(r):void 0;export{n as ReaktorValidationError,c as parseReaktorContent,u as parseReaktorDate,f as parseReaktorItemId,p as parseReaktorName,g as parseReaktorType,l as parseReaktorUrl,R as validateReaktorContent,h as validateReaktorDate,x as validateReaktorItemId,v as validateReaktorName,U as validateReaktorType,y as validateReaktorUrl};
2
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FkYXB0ZXJzL3JlYWt0b3JBZGFwdGVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQge3BhcnNlTnVtfSBmcm9tICdAbmxhYnMvdXRpbHMvcGFyc2Vycy9udW1iZXJzJztcbmltcG9ydCB7cGFyc2VJZCwgcGFyc2VTdHJpbmcsIHBhcnNlVXJsLCBwYXJzZVZhckNoYXJ9IGZyb20gJ0BubGFicy91dGlscy9wYXJzZXJzL3N0cmluZ3MnO1xuXG5leHBvcnQgY2xhc3MgUmVha3RvclZhbGlkYXRpb25FcnJvciBleHRlbmRzIEVycm9yIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nLCBwdWJsaWMgZmllbGQ/OiBzdHJpbmcpIHtcbiAgICBzdXBlcihtZXNzYWdlKTtcbiAgICB0aGlzLm5hbWUgPSAnUmVha3RvclZhbGlkYXRpb25FcnJvcic7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlUmVha3RvckNvbnRlbnQgPSAoY29udGVudD86IHN0cmluZywgbGVuZ3RoOiBudW1iZXIgPSA1MDApOiBzdHJpbmcgfCB1bmRlZmluZWQgPT4ge1xuICB0cnkge1xuICAgIHJldHVybiBwYXJzZVJlYWt0b3JDb250ZW50KGNvbnRlbnQsIGxlbmd0aCk7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICB0aHJvdyBuZXcgUmVha3RvclZhbGlkYXRpb25FcnJvcihgQ29udGVudCB2YWxpZGF0aW9uIGZhaWxlZDogJHtlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdVbmtub3duIGVycm9yJ31gLCAnY29udGVudCcpO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgdmFsaWRhdGVSZWFrdG9yRGF0ZSA9IChkYXRlPzogbnVtYmVyKTogbnVtYmVyIHwgdW5kZWZpbmVkID0+IHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gcGFyc2VSZWFrdG9yRGF0ZShkYXRlKTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIHRocm93IG5ldyBSZWFrdG9yVmFsaWRhdGlvbkVycm9yKGBEYXRlIHZhbGlkYXRpb24gZmFpbGVkOiAke2Vycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ1Vua25vd24gZXJyb3InfWAsICdkYXRlJyk7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZVJlYWt0b3JJdGVtSWQgPSAoaXRlbUlkPzogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gcGFyc2VSZWFrdG9ySXRlbUlkKGl0ZW1JZCk7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICB0aHJvdyBuZXcgUmVha3RvclZhbGlkYXRpb25FcnJvcihgSXRlbSBJRCB2YWxpZGF0aW9uIGZhaWxlZDogJHtlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdVbmtub3duIGVycm9yJ31gLCAnaXRlbUlkJyk7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZVJlYWt0b3JOYW1lID0gKG5hbWU/OiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQgPT4ge1xuICB0cnkge1xuICAgIHJldHVybiBwYXJzZVJlYWt0b3JOYW1lKG5hbWUpO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgdGhyb3cgbmV3IFJlYWt0b3JWYWxpZGF0aW9uRXJyb3IoYE5hbWUgdmFsaWRhdGlvbiBmYWlsZWQ6ICR7ZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnVW5rbm93biBlcnJvcid9YCwgJ25hbWUnKTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlUmVha3RvclR5cGUgPSAodHlwZT86IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCA9PiB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIHBhcnNlUmVha3RvclR5cGUodHlwZSk7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICB0aHJvdyBuZXcgUmVha3RvclZhbGlkYXRpb25FcnJvcihgVHlwZSB2YWxpZGF0aW9uIGZhaWxlZDogJHtlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdVbmtub3duIGVycm9yJ31gLCAndHlwZScpO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgdmFsaWRhdGVSZWFrdG9yVXJsID0gKHVybD86IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCA9PiB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIHBhcnNlUmVha3RvclVybCh1cmwpO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgdGhyb3cgbmV3IFJlYWt0b3JWYWxpZGF0aW9uRXJyb3IoYFVSTCB2YWxpZGF0aW9uIGZhaWxlZDogJHtlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdVbmtub3duIGVycm9yJ31gLCAndXJsJyk7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBwYXJzZVJlYWt0b3JDb250ZW50ID0gKGNvbnRlbnQ/OiBzdHJpbmcsIGxlbmd0aDogbnVtYmVyID0gNTAwKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+XG4gIChjb250ZW50ID8gcGFyc2VTdHJpbmcoY29udGVudCwgbGVuZ3RoKSA6IHVuZGVmaW5lZCk7XG5cbmV4cG9ydCBjb25zdCBwYXJzZVJlYWt0b3JEYXRlID0gKGRhdGU/OiBudW1iZXIpOiBudW1iZXIgfCB1bmRlZmluZWQgPT5cbiAgKGRhdGUgPyBwYXJzZU51bShkYXRlLCAxMykgOiB1bmRlZmluZWQpO1xuXG5leHBvcnQgY29uc3QgcGFyc2VSZWFrdG9ySXRlbUlkID0gKGl0ZW1JZD86IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCA9PlxuICAoaXRlbUlkID8gcGFyc2VJZChpdGVtSWQpIDogdW5kZWZpbmVkKTtcblxuZXhwb3J0IGNvbnN0IHBhcnNlUmVha3Rvck5hbWUgPSAobmFtZT86IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCA9PlxuICAobmFtZSA/IHBhcnNlU3RyaW5nKG5hbWUsIDE2MCkgOiB1bmRlZmluZWQpO1xuXG5leHBvcnQgY29uc3QgcGFyc2VSZWFrdG9yVHlwZSA9ICh0eXBlPzogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+XG4gICh0eXBlID8gcGFyc2VWYXJDaGFyKHR5cGUsIDE2MCkgOiB1bmRlZmluZWQpO1xuXG5leHBvcnQgY29uc3QgcGFyc2VSZWFrdG9yVXJsID0gKHVybD86IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCA9PlxuICAodXJsID8gcGFyc2VVcmwodXJsKSA6IHVuZGVmaW5lZCk7XG4iXSwKICAibWFwcGluZ3MiOiAiQUFBQSxPQUFRLFlBQUFBLE1BQWUsK0JBQ3ZCLE9BQVEsV0FBQUMsRUFBUyxlQUFBQyxFQUFhLFlBQUFDLEVBQVUsZ0JBQUFDLE1BQW1CLCtCQUVwRCxNQUFNQyxVQUErQixLQUFNLENBQ2hELFlBQVlDLEVBQXdCQyxFQUFnQixDQUNsRCxNQUFNRCxDQUFPLEVBRHFCLFdBQUFDLEVBRWxDLEtBQUssS0FBTyx3QkFDZCxDQUNGLENBRU8sTUFBTUMsRUFBeUIsQ0FBQ0MsRUFBa0JDLEVBQWlCLE1BQTRCLENBQ3BHLEdBQUksQ0FDRixPQUFPQyxFQUFvQkYsRUFBU0MsQ0FBTSxDQUM1QyxPQUFRRSxFQUFPLENBQ2IsTUFBTSxJQUFJUCxFQUF1Qiw4QkFBOEJPLGFBQWlCLE1BQVFBLEVBQU0sUUFBVSxlQUFlLEdBQUksU0FBUyxDQUN0SSxDQUNGLEVBRWFDLEVBQXVCQyxHQUFzQyxDQUN4RSxHQUFJLENBQ0YsT0FBT0MsRUFBaUJELENBQUksQ0FDOUIsT0FBUUYsRUFBTyxDQUNiLE1BQU0sSUFBSVAsRUFBdUIsMkJBQTJCTyxhQUFpQixNQUFRQSxFQUFNLFFBQVUsZUFBZSxHQUFJLE1BQU0sQ0FDaEksQ0FDRixFQUVhSSxFQUF5QkMsR0FBd0MsQ0FDNUUsR0FBSSxDQUNGLE9BQU9DLEVBQW1CRCxDQUFNLENBQ2xDLE9BQVFMLEVBQU8sQ0FDYixNQUFNLElBQUlQLEVBQXVCLDhCQUE4Qk8sYUFBaUIsTUFBUUEsRUFBTSxRQUFVLGVBQWUsR0FBSSxRQUFRLENBQ3JJLENBQ0YsRUFFYU8sRUFBdUJDLEdBQXNDLENBQ3hFLEdBQUksQ0FDRixPQUFPQyxFQUFpQkQsQ0FBSSxDQUM5QixPQUFRUixFQUFPLENBQ2IsTUFBTSxJQUFJUCxFQUF1QiwyQkFBMkJPLGFBQWlCLE1BQVFBLEVBQU0sUUFBVSxlQUFlLEdBQUksTUFBTSxDQUNoSSxDQUNGLEVBRWFVLEVBQXVCQyxHQUFzQyxDQUN4RSxHQUFJLENBQ0YsT0FBT0MsRUFBaUJELENBQUksQ0FDOUIsT0FBUVgsRUFBTyxDQUNiLE1BQU0sSUFBSVAsRUFBdUIsMkJBQTJCTyxhQUFpQixNQUFRQSxFQUFNLFFBQVUsZUFBZSxHQUFJLE1BQU0sQ0FDaEksQ0FDRixFQUVhYSxFQUFzQkMsR0FBcUMsQ0FDdEUsR0FBSSxDQUNGLE9BQU9DLEVBQWdCRCxDQUFHLENBQzVCLE9BQVFkLEVBQU8sQ0FDYixNQUFNLElBQUlQLEVBQXVCLDBCQUEwQk8sYUFBaUIsTUFBUUEsRUFBTSxRQUFVLGVBQWUsR0FBSSxLQUFLLENBQzlILENBQ0YsRUFFYUQsRUFBc0IsQ0FBQ0YsRUFBa0JDLEVBQWlCLE1BQ3BFRCxFQUFVUCxFQUFZTyxFQUFTQyxDQUFNLEVBQUksT0FFL0JLLEVBQW9CRCxHQUM5QkEsRUFBT2QsRUFBU2MsRUFBTSxFQUFFLEVBQUksT0FFbEJJLEVBQXNCRCxHQUNoQ0EsRUFBU2hCLEVBQVFnQixDQUFNLEVBQUksT0FFakJJLEVBQW9CRCxHQUM5QkEsRUFBT2xCLEVBQVlrQixFQUFNLEdBQUcsRUFBSSxPQUV0QkksRUFBb0JELEdBQzlCQSxFQUFPbkIsRUFBYW1CLEVBQU0sR0FBRyxFQUFJLE9BRXZCSSxFQUFtQkQsR0FDN0JBLEVBQU12QixFQUFTdUIsQ0FBRyxFQUFJIiwKICAibmFtZXMiOiBbInBhcnNlTnVtIiwgInBhcnNlSWQiLCAicGFyc2VTdHJpbmciLCAicGFyc2VVcmwiLCAicGFyc2VWYXJDaGFyIiwgIlJlYWt0b3JWYWxpZGF0aW9uRXJyb3IiLCAibWVzc2FnZSIsICJmaWVsZCIsICJ2YWxpZGF0ZVJlYWt0b3JDb250ZW50IiwgImNvbnRlbnQiLCAibGVuZ3RoIiwgInBhcnNlUmVha3RvckNvbnRlbnQiLCAiZXJyb3IiLCAidmFsaWRhdGVSZWFrdG9yRGF0ZSIsICJkYXRlIiwgInBhcnNlUmVha3RvckRhdGUiLCAidmFsaWRhdGVSZWFrdG9ySXRlbUlkIiwgIml0ZW1JZCIsICJwYXJzZVJlYWt0b3JJdGVtSWQiLCAidmFsaWRhdGVSZWFrdG9yTmFtZSIsICJuYW1lIiwgInBhcnNlUmVha3Rvck5hbWUiLCAidmFsaWRhdGVSZWFrdG9yVHlwZSIsICJ0eXBlIiwgInBhcnNlUmVha3RvclR5cGUiLCAidmFsaWRhdGVSZWFrdG9yVXJsIiwgInVybCIsICJwYXJzZVJlYWt0b3JVcmwiXQp9Cg==
@@ -1,2 +1,9 @@
1
- import { TagType } from '../types';
1
+ import type { TagType } from '../types/tags.types.js';
2
+ export declare class TagValidationError extends Error {
3
+ field?: string;
4
+ constructor(message: string, field?: string);
5
+ }
6
+ export declare const validateTagInput: (tag: unknown) => TagType;
7
+ export declare const formatTagOutput: (tag: TagType) => TagType;
2
8
  export declare const parseTag: (tag: TagType) => TagType;
9
+ export declare const parseTagLegacy: (tag: TagType) => TagType;
@@ -1,50 +1,2 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: true });
8
- };
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
- var tagAdapter_exports = {};
19
- __export(tagAdapter_exports, {
20
- parseTag: () => parseTag
21
- });
22
- module.exports = __toCommonJS(tagAdapter_exports);
23
- var import_arangoAdapter = require("./arangoAdapter");
24
- var import_reaktorAdapter = require("./reaktorAdapter");
25
- var import_adapterUtils = require("../utils/adapterUtils");
26
- const parseTag = (tag) => {
27
- const {
28
- _key,
29
- description,
30
- category,
31
- name,
32
- tagBy,
33
- tagId,
34
- userId
35
- } = tag;
36
- return (0, import_adapterUtils.removeEmptyKeys)({
37
- ...(0, import_arangoAdapter.parseDocument)(tag),
38
- category: (0, import_reaktorAdapter.parseReaktorType)(category),
39
- description: (0, import_reaktorAdapter.parseReaktorContent)(description),
40
- name: (0, import_reaktorAdapter.parseReaktorName)(name),
41
- tagBy: (0, import_reaktorAdapter.parseReaktorItemId)(tagBy),
42
- tagId: (0, import_reaktorAdapter.parseReaktorItemId)(_key || tagId),
43
- userId: (0, import_reaktorAdapter.parseReaktorItemId)(userId)
44
- });
45
- };
46
- // Annotate the CommonJS export names for ESM import in node:
47
- 0 && (module.exports = {
48
- parseTag
49
- });
50
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FkYXB0ZXJzL3RhZ0FkYXB0ZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7VGFnVHlwZX0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHtwYXJzZURvY3VtZW50fSBmcm9tICcuL2FyYW5nb0FkYXB0ZXInO1xuaW1wb3J0IHtwYXJzZVJlYWt0b3JDb250ZW50LCBwYXJzZVJlYWt0b3JJdGVtSWQsIHBhcnNlUmVha3Rvck5hbWUsIHBhcnNlUmVha3RvclR5cGV9IGZyb20gJy4vcmVha3RvckFkYXB0ZXInO1xuaW1wb3J0IHtyZW1vdmVFbXB0eUtleXN9IGZyb20gJy4uL3V0aWxzL2FkYXB0ZXJVdGlscyc7XG5cbmV4cG9ydCBjb25zdCBwYXJzZVRhZyA9ICh0YWc6IFRhZ1R5cGUpOiBUYWdUeXBlID0+IHtcbiAgY29uc3Qge1xuICAgIF9rZXksXG4gICAgZGVzY3JpcHRpb24sXG4gICAgY2F0ZWdvcnksXG4gICAgbmFtZSxcbiAgICB0YWdCeSxcbiAgICB0YWdJZCxcbiAgICB1c2VySWRcbiAgfSA9IHRhZztcblxuICByZXR1cm4gcmVtb3ZlRW1wdHlLZXlzKHtcbiAgICAuLi5wYXJzZURvY3VtZW50KHRhZyksXG4gICAgY2F0ZWdvcnk6IHBhcnNlUmVha3RvclR5cGUoY2F0ZWdvcnkpLFxuICAgIGRlc2NyaXB0aW9uOiBwYXJzZVJlYWt0b3JDb250ZW50KGRlc2NyaXB0aW9uKSxcbiAgICBuYW1lOiBwYXJzZVJlYWt0b3JOYW1lKG5hbWUpLFxuICAgIHRhZ0J5OiBwYXJzZVJlYWt0b3JJdGVtSWQodGFnQnkpLFxuICAgIHRhZ0lkOiBwYXJzZVJlYWt0b3JJdGVtSWQoX2tleSB8fCB0YWdJZCksXG4gICAgdXNlcklkOiBwYXJzZVJlYWt0b3JJdGVtSWQodXNlcklkKVxuICB9KTtcbn07Il0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0EsMkJBQTRCO0FBQzVCLDRCQUEwRjtBQUMxRiwwQkFBOEI7QUFFdkIsTUFBTSxXQUFXLENBQUMsUUFBMEI7QUFDakQsUUFBTTtBQUFBLElBQ0o7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxFQUNGLElBQUk7QUFFSixhQUFPLHFDQUFnQjtBQUFBLElBQ3JCLE9BQUcsb0NBQWMsR0FBRztBQUFBLElBQ3BCLGNBQVUsd0NBQWlCLFFBQVE7QUFBQSxJQUNuQyxpQkFBYSwyQ0FBb0IsV0FBVztBQUFBLElBQzVDLFVBQU0sd0NBQWlCLElBQUk7QUFBQSxJQUMzQixXQUFPLDBDQUFtQixLQUFLO0FBQUEsSUFDL0IsV0FBTywwQ0FBbUIsUUFBUSxLQUFLO0FBQUEsSUFDdkMsWUFBUSwwQ0FBbUIsTUFBTTtBQUFBLEVBQ25DLENBQUM7QUFDSDsiLAogICJuYW1lcyI6IFtdCn0K
1
+ import{z as t}from"zod";import{parseArangoId as f,parseId as n,parseString as l}from"@nlabs/utils/parsers/strings";import{removeEmptyKeys as u}from"../utils/adapterUtils.js";import{parseDocument as I}from"./arangoAdapter.js";import{parseReaktorContent as _,parseReaktorType as k}from"./reaktorAdapter.js";class s extends Error{constructor(a,i){super(a);this.field=i;this.name="TagValidationError"}}const h=t.object({_id:t.string().optional(),_key:t.string().optional(),category:t.string().max(160).optional(),description:t.string().optional(),id:t.string().optional(),name:t.string().max(160).optional(),tagBy:t.string().optional(),tagId:t.string().optional(),userId:t.string().optional()}).passthrough(),b=r=>{try{return h.parse(r)}catch(o){if(o instanceof t.ZodError){const a=o.issues.map(i=>`${i.path.join(".")}: ${i.message}`).join(", ");throw new s(`Tag validation failed: ${a}`)}throw o}},R=r=>r,w=r=>{try{return x(r)}catch(o){throw o instanceof s?o:new s(`Tag parsing failed: ${o instanceof Error?o.message:"Unknown error"}`)}},x=r=>{const{_id:o,_key:a,category:i,description:p,id:d,name:g,tagBy:y,tagId:T,userId:c}=r,m={...I(r),...i&&{category:k(i)},...p&&{description:_(p)},...(o||d)&&{id:f(o||d||"")},...(a||T)&&{tagId:n(a||T||"")},...g&&{name:l(g,160)},...y&&{tagBy:n(y)},...c&&{userId:n(c)}},e=u(m);return r._id?(e.id=r._id,e._id=r._id):r.id&&!e.id&&(e.id=r.id,e._id=r.id),r._key?(e.tagId=r._key,e._key=r._key):r.tagId&&!e.tagId&&(e.tagId=r.tagId,e._key=r.tagId),r.tagId&&!e._key&&(e._key=r.tagId),r.id&&!e._id&&(e._id=r.id),e},S=r=>w(r);export{s as TagValidationError,R as formatTagOutput,w as parseTag,S as parseTagLegacy,b as validateTagInput};
2
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FkYXB0ZXJzL3RhZ0FkYXB0ZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIlxuaW1wb3J0IHt6fSBmcm9tICd6b2QnO1xuXG5pbXBvcnQge3BhcnNlQXJhbmdvSWQsIHBhcnNlSWQsIHBhcnNlU3RyaW5nfSBmcm9tICdAbmxhYnMvdXRpbHMvcGFyc2Vycy9zdHJpbmdzJztcbmltcG9ydCB0eXBlIHtUYWdUeXBlfSBmcm9tICcuLi90eXBlcy90YWdzLnR5cGVzLmpzJztcbmltcG9ydCB7cmVtb3ZlRW1wdHlLZXlzfSBmcm9tICcuLi91dGlscy9hZGFwdGVyVXRpbHMuanMnO1xuaW1wb3J0IHtwYXJzZURvY3VtZW50fSBmcm9tICcuL2FyYW5nb0FkYXB0ZXIuanMnO1xuaW1wb3J0IHtwYXJzZVJlYWt0b3JDb250ZW50LCBwYXJzZVJlYWt0b3JUeXBlfSBmcm9tICcuL3JlYWt0b3JBZGFwdGVyLmpzJztcblxuZXhwb3J0IGNsYXNzIFRhZ1ZhbGlkYXRpb25FcnJvciBleHRlbmRzIEVycm9yIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nLCBwdWJsaWMgZmllbGQ/OiBzdHJpbmcpIHtcbiAgICBzdXBlcihtZXNzYWdlKTtcbiAgICB0aGlzLm5hbWUgPSAnVGFnVmFsaWRhdGlvbkVycm9yJztcbiAgfVxufVxuXG5jb25zdCBUYWdJbnB1dFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgX2lkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9rZXk6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgY2F0ZWdvcnk6IHouc3RyaW5nKCkubWF4KDE2MCkub3B0aW9uYWwoKSxcbiAgZGVzY3JpcHRpb246IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgaWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgbmFtZTogei5zdHJpbmcoKS5tYXgoMTYwKS5vcHRpb25hbCgpLFxuICB0YWdCeTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICB0YWdJZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICB1c2VySWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKVxufSkucGFzc3Rocm91Z2goKTtcblxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlVGFnSW5wdXQgPSAodGFnOiB1bmtub3duKTogVGFnVHlwZSA9PiB7XG4gIHRyeSB7XG4gICAgY29uc3QgdmFsaWRhdGVkID0gVGFnSW5wdXRTY2hlbWEucGFyc2UodGFnKTtcbiAgICByZXR1cm4gdmFsaWRhdGVkIGFzIFRhZ1R5cGU7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICBpZihlcnJvciBpbnN0YW5jZW9mIHouWm9kRXJyb3IpIHtcbiAgICAgIGNvbnN0IGZpZWxkRXJyb3JzID0gZXJyb3IuaXNzdWVzLm1hcCgoZSkgPT4gYCR7ZS5wYXRoLmpvaW4oJy4nKX06ICR7ZS5tZXNzYWdlfWApLmpvaW4oJywgJyk7XG4gICAgICB0aHJvdyBuZXcgVGFnVmFsaWRhdGlvbkVycm9yKGBUYWcgdmFsaWRhdGlvbiBmYWlsZWQ6ICR7ZmllbGRFcnJvcnN9YCk7XG4gICAgfVxuICAgIHRocm93IGVycm9yO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgZm9ybWF0VGFnT3V0cHV0ID0gKHRhZzogVGFnVHlwZSk6IFRhZ1R5cGUgPT4gdGFnO1xuXG5leHBvcnQgY29uc3QgcGFyc2VUYWcgPSAodGFnOiBUYWdUeXBlKTogVGFnVHlwZSA9PiB7XG4gIHRyeSB7XG4gICAgY29uc3QgcGFyc2VkID0gcGVyZm9ybVRhZ1RyYW5zZm9ybWF0aW9uKHRhZyk7XG4gICAgcmV0dXJuIHBhcnNlZDtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIGlmKGVycm9yIGluc3RhbmNlb2YgVGFnVmFsaWRhdGlvbkVycm9yKSB7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gICAgdGhyb3cgbmV3IFRhZ1ZhbGlkYXRpb25FcnJvcihgVGFnIHBhcnNpbmcgZmFpbGVkOiAke2Vycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ1Vua25vd24gZXJyb3InfWApO1xuICB9XG59O1xuXG5jb25zdCBwZXJmb3JtVGFnVHJhbnNmb3JtYXRpb24gPSAodGFnOiBUYWdUeXBlKTogVGFnVHlwZSA9PiB7XG4gIGNvbnN0IHtcbiAgICBfaWQsXG4gICAgX2tleSxcbiAgICBjYXRlZ29yeSxcbiAgICBkZXNjcmlwdGlvbixcbiAgICBpZCxcbiAgICBuYW1lLFxuICAgIHRhZ0J5LFxuICAgIHRhZ0lkLFxuICAgIHVzZXJJZFxuICB9ID0gdGFnO1xuXG4gIGNvbnN0IHRyYW5zZm9ybWVkID0ge1xuICAgIC4uLnBhcnNlRG9jdW1lbnQodGFnKSxcbiAgICAuLi4oY2F0ZWdvcnkgJiYge2NhdGVnb3J5OiBwYXJzZVJlYWt0b3JUeXBlKGNhdGVnb3J5KX0pLFxuICAgIC4uLihkZXNjcmlwdGlvbiAmJiB7ZGVzY3JpcHRpb246IHBhcnNlUmVha3RvckNvbnRlbnQoZGVzY3JpcHRpb24pfSksXG4gICAgLi4uKChfaWQgfHwgaWQpICYmIHtpZDogcGFyc2VBcmFuZ29JZChfaWQgfHwgaWQgfHwgJycpfSksXG4gICAgLi4uKChfa2V5IHx8IHRhZ0lkKSAmJiB7dGFnSWQ6IHBhcnNlSWQoX2tleSB8fCB0YWdJZCB8fCAnJyl9KSxcbiAgICAuLi4obmFtZSAmJiB7bmFtZTogcGFyc2VTdHJpbmcobmFtZSwgMTYwKX0pLFxuICAgIC4uLih0YWdCeSAmJiB7dGFnQnk6IHBhcnNlSWQodGFnQnkpfSksXG4gICAgLi4uKHVzZXJJZCAmJiB7dXNlcklkOiBwYXJzZUlkKHVzZXJJZCl9KVxuICB9O1xuXG4gIGNvbnN0IHJlc3VsdCA9IHJlbW92ZUVtcHR5S2V5cyh0cmFuc2Zvcm1lZCk7XG5cbiAgaWYodGFnLl9pZCkge1xuICAgIHJlc3VsdC5pZCA9IHRhZy5faWQ7XG4gICAgcmVzdWx0Ll9pZCA9IHRhZy5faWQ7XG4gIH0gZWxzZSBpZih0YWcuaWQgJiYgIXJlc3VsdC5pZCkge1xuICAgIHJlc3VsdC5pZCA9IHRhZy5pZDtcbiAgICByZXN1bHQuX2lkID0gdGFnLmlkO1xuICB9XG5cbiAgaWYodGFnLl9rZXkpIHtcbiAgICByZXN1bHQudGFnSWQgPSB0YWcuX2tleTtcbiAgICByZXN1bHQuX2tleSA9IHRhZy5fa2V5O1xuICB9IGVsc2UgaWYodGFnLnRhZ0lkICYmICFyZXN1bHQudGFnSWQpIHtcbiAgICByZXN1bHQudGFnSWQgPSB0YWcudGFnSWQ7XG4gICAgcmVzdWx0Ll9rZXkgPSB0YWcudGFnSWQ7XG4gIH1cblxuICBpZih0YWcudGFnSWQgJiYgIXJlc3VsdC5fa2V5KSB7XG4gICAgcmVzdWx0Ll9rZXkgPSB0YWcudGFnSWQ7XG4gIH1cblxuICBpZih0YWcuaWQgJiYgIXJlc3VsdC5faWQpIHtcbiAgICByZXN1bHQuX2lkID0gdGFnLmlkO1xuICB9XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn07XG5cbmV4cG9ydCBjb25zdCBwYXJzZVRhZ0xlZ2FjeSA9ICh0YWc6IFRhZ1R5cGUpOiBUYWdUeXBlID0+IHBhcnNlVGFnKHRhZyk7Il0sCiAgIm1hcHBpbmdzIjogIkFBQ0EsT0FBUSxLQUFBQSxNQUFRLE1BRWhCLE9BQVEsaUJBQUFDLEVBQWUsV0FBQUMsRUFBUyxlQUFBQyxNQUFrQiwrQkFFbEQsT0FBUSxtQkFBQUMsTUFBc0IsMkJBQzlCLE9BQVEsaUJBQUFDLE1BQW9CLHFCQUM1QixPQUFRLHVCQUFBQyxFQUFxQixvQkFBQUMsTUFBdUIsc0JBRTdDLE1BQU1DLFVBQTJCLEtBQU0sQ0FDNUMsWUFBWUMsRUFBd0JDLEVBQWdCLENBQ2xELE1BQU1ELENBQU8sRUFEcUIsV0FBQUMsRUFFbEMsS0FBSyxLQUFPLG9CQUNkLENBQ0YsQ0FFQSxNQUFNQyxFQUFpQlgsRUFBRSxPQUFPLENBQzlCLElBQUtBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDekIsS0FBTUEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUMxQixTQUFVQSxFQUFFLE9BQU8sRUFBRSxJQUFJLEdBQUcsRUFBRSxTQUFTLEVBQ3ZDLFlBQWFBLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDakMsR0FBSUEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUN4QixLQUFNQSxFQUFFLE9BQU8sRUFBRSxJQUFJLEdBQUcsRUFBRSxTQUFTLEVBQ25DLE1BQU9BLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFDM0IsTUFBT0EsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUMzQixPQUFRQSxFQUFFLE9BQU8sRUFBRSxTQUFTLENBQzlCLENBQUMsRUFBRSxZQUFZLEVBRUZZLEVBQW9CQyxHQUEwQixDQUN6RCxHQUFJLENBRUYsT0FEa0JGLEVBQWUsTUFBTUUsQ0FBRyxDQUU1QyxPQUFRQyxFQUFPLENBQ2IsR0FBR0EsYUFBaUJkLEVBQUUsU0FBVSxDQUM5QixNQUFNZSxFQUFjRCxFQUFNLE9BQU8sSUFBS0UsR0FBTSxHQUFHQSxFQUFFLEtBQUssS0FBSyxHQUFHLENBQUMsS0FBS0EsRUFBRSxPQUFPLEVBQUUsRUFBRSxLQUFLLElBQUksRUFDMUYsTUFBTSxJQUFJUixFQUFtQiwwQkFBMEJPLENBQVcsRUFBRSxDQUN0RSxDQUNBLE1BQU1ELENBQ1IsQ0FDRixFQUVhRyxFQUFtQkosR0FBMEJBLEVBRTdDSyxFQUFZTCxHQUEwQixDQUNqRCxHQUFJLENBRUYsT0FEZU0sRUFBeUJOLENBQUcsQ0FFN0MsT0FBUUMsRUFBTyxDQUNiLE1BQUdBLGFBQWlCTixFQUNaTSxFQUVGLElBQUlOLEVBQW1CLHVCQUF1Qk0sYUFBaUIsTUFBUUEsRUFBTSxRQUFVLGVBQWUsRUFBRSxDQUNoSCxDQUNGLEVBRU1LLEVBQTRCTixHQUEwQixDQUMxRCxLQUFNLENBQ0osSUFBQU8sRUFDQSxLQUFBQyxFQUNBLFNBQUFDLEVBQ0EsWUFBQUMsRUFDQSxHQUFBQyxFQUNBLEtBQUFDLEVBQ0EsTUFBQUMsRUFDQSxNQUFBQyxFQUNBLE9BQUFDLENBQ0YsRUFBSWYsRUFFRWdCLEVBQWMsQ0FDbEIsR0FBR3hCLEVBQWNRLENBQUcsRUFDcEIsR0FBSVMsR0FBWSxDQUFDLFNBQVVmLEVBQWlCZSxDQUFRLENBQUMsRUFDckQsR0FBSUMsR0FBZSxDQUFDLFlBQWFqQixFQUFvQmlCLENBQVcsQ0FBQyxFQUNqRSxJQUFLSCxHQUFPSSxJQUFPLENBQUMsR0FBSXZCLEVBQWNtQixHQUFPSSxHQUFNLEVBQUUsQ0FBQyxFQUN0RCxJQUFLSCxHQUFRTSxJQUFVLENBQUMsTUFBT3pCLEVBQVFtQixHQUFRTSxHQUFTLEVBQUUsQ0FBQyxFQUMzRCxHQUFJRixHQUFRLENBQUMsS0FBTXRCLEVBQVlzQixFQUFNLEdBQUcsQ0FBQyxFQUN6QyxHQUFJQyxHQUFTLENBQUMsTUFBT3hCLEVBQVF3QixDQUFLLENBQUMsRUFDbkMsR0FBSUUsR0FBVSxDQUFDLE9BQVExQixFQUFRMEIsQ0FBTSxDQUFDLENBQ3hDLEVBRU1FLEVBQVMxQixFQUFnQnlCLENBQVcsRUFFMUMsT0FBR2hCLEVBQUksS0FDTGlCLEVBQU8sR0FBS2pCLEVBQUksSUFDaEJpQixFQUFPLElBQU1qQixFQUFJLEtBQ1RBLEVBQUksSUFBTSxDQUFDaUIsRUFBTyxLQUMxQkEsRUFBTyxHQUFLakIsRUFBSSxHQUNoQmlCLEVBQU8sSUFBTWpCLEVBQUksSUFHaEJBLEVBQUksTUFDTGlCLEVBQU8sTUFBUWpCLEVBQUksS0FDbkJpQixFQUFPLEtBQU9qQixFQUFJLE1BQ1ZBLEVBQUksT0FBUyxDQUFDaUIsRUFBTyxRQUM3QkEsRUFBTyxNQUFRakIsRUFBSSxNQUNuQmlCLEVBQU8sS0FBT2pCLEVBQUksT0FHakJBLEVBQUksT0FBUyxDQUFDaUIsRUFBTyxPQUN0QkEsRUFBTyxLQUFPakIsRUFBSSxPQUdqQkEsRUFBSSxJQUFNLENBQUNpQixFQUFPLE1BQ25CQSxFQUFPLElBQU1qQixFQUFJLElBR1ppQixDQUNULEVBRWFDLEVBQWtCbEIsR0FBMEJLLEVBQVNMLENBQUciLAogICJuYW1lcyI6IFsieiIsICJwYXJzZUFyYW5nb0lkIiwgInBhcnNlSWQiLCAicGFyc2VTdHJpbmciLCAicmVtb3ZlRW1wdHlLZXlzIiwgInBhcnNlRG9jdW1lbnQiLCAicGFyc2VSZWFrdG9yQ29udGVudCIsICJwYXJzZVJlYWt0b3JUeXBlIiwgIlRhZ1ZhbGlkYXRpb25FcnJvciIsICJtZXNzYWdlIiwgImZpZWxkIiwgIlRhZ0lucHV0U2NoZW1hIiwgInZhbGlkYXRlVGFnSW5wdXQiLCAidGFnIiwgImVycm9yIiwgImZpZWxkRXJyb3JzIiwgImUiLCAiZm9ybWF0VGFnT3V0cHV0IiwgInBhcnNlVGFnIiwgInBlcmZvcm1UYWdUcmFuc2Zvcm1hdGlvbiIsICJfaWQiLCAiX2tleSIsICJjYXRlZ29yeSIsICJkZXNjcmlwdGlvbiIsICJpZCIsICJuYW1lIiwgInRhZ0J5IiwgInRhZ0lkIiwgInVzZXJJZCIsICJ0cmFuc2Zvcm1lZCIsICJyZXN1bHQiLCAicGFyc2VUYWdMZWdhY3kiXQp9Cg==
@@ -1,2 +1,13 @@
1
- import { UserType } from '../types';
1
+ import type { UserType } from '../types/users.types.js';
2
+ export declare class UserValidationError extends Error {
3
+ field?: string;
4
+ constructor(message: string, field?: string);
5
+ }
6
+ declare const userCache: Map<string, UserType>;
7
+ export declare const validateUserInput: (user: unknown) => UserType;
8
+ export declare const formatUserOutput: (user: UserType) => UserType;
2
9
  export declare const parseUser: (user: UserType) => UserType;
10
+ export declare const clearUserCache: () => void;
11
+ export declare const getUserCacheSize: () => number;
12
+ export { userCache };
13
+ export declare const parseUserLegacy: (user: UserType) => UserType;
@@ -1,115 +1,2 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: true });
8
- };
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
- var userAdapter_exports = {};
19
- __export(userAdapter_exports, {
20
- parseUser: () => parseUser
21
- });
22
- module.exports = __toCommonJS(userAdapter_exports);
23
- var import_utils = require("@nlabs/utils");
24
- var import_arangoAdapter = require("./arangoAdapter");
25
- var import_reaktorAdapter = require("./reaktorAdapter");
26
- var import_tagAdapter = require("./tagAdapter");
27
- var import_adapterUtils = require("../utils/adapterUtils");
28
- const parseUser = (user) => {
29
- const {
30
- _key,
31
- active,
32
- bankId,
33
- city,
34
- country,
35
- currency,
36
- deviceToken,
37
- dob,
38
- email,
39
- first,
40
- gender,
41
- imageId,
42
- last,
43
- lastActive,
44
- locale,
45
- mailingList,
46
- name,
47
- password,
48
- phone,
49
- salt,
50
- state,
51
- street1,
52
- street2,
53
- stripeAccountId,
54
- stripeCustomerId,
55
- tags,
56
- timezone,
57
- type,
58
- userAccess,
59
- userId,
60
- username,
61
- verifiedEmail,
62
- verifiedEmailCode,
63
- verifiedEmailExpires,
64
- verifiedPhone,
65
- verifiedPhoneCode,
66
- verifiedPhoneExpires,
67
- zip
68
- } = user;
69
- return (0, import_adapterUtils.removeEmptyKeys)({
70
- ...(0, import_arangoAdapter.parseDocument)(user),
71
- active: !!active,
72
- bankId: bankId ? (0, import_utils.parseVarChar)(bankId, 160) : void 0,
73
- city: city ? (0, import_utils.parseVarChar)(city, 160) : void 0,
74
- country: country ? (0, import_utils.parseChar)(country, 2).toUpperCase() : void 0,
75
- currency: currency ? (0, import_utils.parseChar)(currency, 3).toUpperCase() : void 0,
76
- deviceToken: deviceToken ? (0, import_utils.parseVarChar)(deviceToken, 160) : void 0,
77
- dob: (0, import_reaktorAdapter.parseReaktorDate)(dob),
78
- email: email ? (0, import_utils.parseEmail)(email) : void 0,
79
- first: first ? (0, import_utils.parseVarChar)(first, 160) : void 0,
80
- gender: gender ? (0, import_utils.parseChar)(gender, 1).toUpperCase() : void 0,
81
- id: userId ? (0, import_utils.parseArangoId)(`users/${userId}`) : void 0,
82
- imageId: (0, import_reaktorAdapter.parseReaktorItemId)(imageId),
83
- last: last ? (0, import_utils.parseVarChar)(last, 160) : void 0,
84
- lastActive: (0, import_reaktorAdapter.parseReaktorDate)(lastActive),
85
- locale: locale ? (0, import_utils.parseString)(locale, 5) : void 0,
86
- mailingList: !!mailingList,
87
- name: (0, import_reaktorAdapter.parseReaktorName)(name),
88
- password: password ? (0, import_utils.parseVarChar)(password, 160) : void 0,
89
- phone: phone ? (0, import_utils.parseVarChar)(phone, 20) : void 0,
90
- salt: salt ? (0, import_utils.parseVarChar)(salt, 160) : void 0,
91
- state: state ? (0, import_utils.parseChar)(state, 2).toUpperCase() : void 0,
92
- street1: street1 ? (0, import_utils.parseVarChar)(street1, 160) : void 0,
93
- street2: street2 ? (0, import_utils.parseVarChar)(street2, 160) : void 0,
94
- stripeAccountId: stripeAccountId ? (0, import_utils.parseVarChar)(stripeAccountId, 160) : void 0,
95
- stripeCustomerId: stripeCustomerId ? (0, import_utils.parseVarChar)(stripeCustomerId, 160) : void 0,
96
- tags: tags?.length ? tags?.filter((tag) => !!tag).map((tag) => (0, import_tagAdapter.parseTag)(tag)) : void 0,
97
- timezone: timezone ? (0, import_utils.parseString)(timezone, 160) : void 0,
98
- type: (0, import_reaktorAdapter.parseReaktorType)(type),
99
- userAccess: userAccess ? (0, import_utils.parseNum)(userAccess) : 0,
100
- userId: (0, import_utils.parseId)(_key || userId),
101
- username: username ? (0, import_utils.parseVarChar)(username, 160) : void 0,
102
- verifiedEmail: !!verifiedEmail,
103
- verifiedEmailCode: verifiedEmailCode ? (0, import_utils.parseNum)(verifiedEmailCode, 10) : void 0,
104
- verifiedEmailExpires: verifiedEmailExpires ? (0, import_utils.parseNum)(verifiedEmailExpires, 10) : void 0,
105
- verifiedPhone: !!verifiedPhone,
106
- verifiedPhoneCode: verifiedPhoneCode ? (0, import_utils.parseNum)(verifiedPhoneCode, 10) : void 0,
107
- verifiedPhoneExpires: verifiedPhoneExpires ? (0, import_utils.parseNum)(verifiedPhoneExpires, 10) : void 0,
108
- zip: zip ? (0, import_utils.parseVarChar)(zip, 20) : void 0
109
- });
110
- };
111
- // Annotate the CommonJS export names for ESM import in node:
112
- 0 && (module.exports = {
113
- parseUser
114
- });
115
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FkYXB0ZXJzL3VzZXJBZGFwdGVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQge3BhcnNlQXJhbmdvSWQsIHBhcnNlQ2hhciwgcGFyc2VFbWFpbCwgcGFyc2VJZCwgcGFyc2VOdW0sIHBhcnNlU3RyaW5nLCBwYXJzZVZhckNoYXJ9IGZyb20gJ0BubGFicy91dGlscyc7XG5cbmltcG9ydCB7VXNlclR5cGV9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7cGFyc2VEb2N1bWVudH0gZnJvbSAnLi9hcmFuZ29BZGFwdGVyJztcbmltcG9ydCB7cGFyc2VSZWFrdG9yRGF0ZSwgcGFyc2VSZWFrdG9ySXRlbUlkLCBwYXJzZVJlYWt0b3JOYW1lLCBwYXJzZVJlYWt0b3JUeXBlfSBmcm9tICcuL3JlYWt0b3JBZGFwdGVyJztcbmltcG9ydCB7cGFyc2VUYWd9IGZyb20gJy4vdGFnQWRhcHRlcic7XG5pbXBvcnQge3JlbW92ZUVtcHR5S2V5c30gZnJvbSAnLi4vdXRpbHMvYWRhcHRlclV0aWxzJztcblxuZXhwb3J0IGNvbnN0IHBhcnNlVXNlciA9ICh1c2VyOiBVc2VyVHlwZSk6IFVzZXJUeXBlID0+IHtcbiAgY29uc3Qge1xuICAgIF9rZXksXG4gICAgYWN0aXZlLFxuICAgIGJhbmtJZCxcbiAgICBjaXR5LFxuICAgIGNvdW50cnksXG4gICAgY3VycmVuY3ksXG4gICAgZGV2aWNlVG9rZW4sXG4gICAgZG9iLFxuICAgIGVtYWlsLFxuICAgIGZpcnN0LFxuICAgIGdlbmRlcixcbiAgICBpbWFnZUlkLFxuICAgIGxhc3QsXG4gICAgbGFzdEFjdGl2ZSxcbiAgICBsb2NhbGUsXG4gICAgbWFpbGluZ0xpc3QsXG4gICAgbmFtZSxcbiAgICBwYXNzd29yZCxcbiAgICBwaG9uZSxcbiAgICBzYWx0LFxuICAgIHN0YXRlLFxuICAgIHN0cmVldDEsXG4gICAgc3RyZWV0MixcbiAgICBzdHJpcGVBY2NvdW50SWQsXG4gICAgc3RyaXBlQ3VzdG9tZXJJZCxcbiAgICB0YWdzLFxuICAgIHRpbWV6b25lLFxuICAgIHR5cGUsXG4gICAgdXNlckFjY2VzcyxcbiAgICB1c2VySWQsXG4gICAgdXNlcm5hbWUsXG4gICAgdmVyaWZpZWRFbWFpbCxcbiAgICB2ZXJpZmllZEVtYWlsQ29kZSxcbiAgICB2ZXJpZmllZEVtYWlsRXhwaXJlcyxcbiAgICB2ZXJpZmllZFBob25lLFxuICAgIHZlcmlmaWVkUGhvbmVDb2RlLFxuICAgIHZlcmlmaWVkUGhvbmVFeHBpcmVzLFxuICAgIHppcFxuICB9ID0gdXNlcjtcblxuICByZXR1cm4gcmVtb3ZlRW1wdHlLZXlzKHtcbiAgICAuLi5wYXJzZURvY3VtZW50KHVzZXIpLFxuICAgIGFjdGl2ZTogISFhY3RpdmUsXG4gICAgYmFua0lkOiBiYW5rSWQgPyBwYXJzZVZhckNoYXIoYmFua0lkLCAxNjApIDogdW5kZWZpbmVkLFxuICAgIGNpdHk6IGNpdHkgPyBwYXJzZVZhckNoYXIoY2l0eSwgMTYwKSA6IHVuZGVmaW5lZCxcbiAgICBjb3VudHJ5OiBjb3VudHJ5ID8gcGFyc2VDaGFyKGNvdW50cnksIDIpLnRvVXBwZXJDYXNlKCkgOiB1bmRlZmluZWQsXG4gICAgY3VycmVuY3k6IGN1cnJlbmN5ID8gcGFyc2VDaGFyKGN1cnJlbmN5LCAzKS50b1VwcGVyQ2FzZSgpIDogdW5kZWZpbmVkLFxuICAgIGRldmljZVRva2VuOiBkZXZpY2VUb2tlbiA/IHBhcnNlVmFyQ2hhcihkZXZpY2VUb2tlbiwgMTYwKSA6IHVuZGVmaW5lZCxcbiAgICBkb2I6IHBhcnNlUmVha3RvckRhdGUoZG9iKSxcbiAgICBlbWFpbDogZW1haWwgPyBwYXJzZUVtYWlsKGVtYWlsKSA6IHVuZGVmaW5lZCxcbiAgICBmaXJzdDogZmlyc3QgPyBwYXJzZVZhckNoYXIoZmlyc3QsIDE2MCkgOiB1bmRlZmluZWQsXG4gICAgZ2VuZGVyOiBnZW5kZXIgPyBwYXJzZUNoYXIoZ2VuZGVyLCAxKS50b1VwcGVyQ2FzZSgpIDogdW5kZWZpbmVkLFxuICAgIGlkOiB1c2VySWQgPyBwYXJzZUFyYW5nb0lkKGB1c2Vycy8ke3VzZXJJZH1gKSA6IHVuZGVmaW5lZCxcbiAgICBpbWFnZUlkOiBwYXJzZVJlYWt0b3JJdGVtSWQoaW1hZ2VJZCksXG4gICAgbGFzdDogbGFzdCA/IHBhcnNlVmFyQ2hhcihsYXN0LCAxNjApIDogdW5kZWZpbmVkLFxuICAgIGxhc3RBY3RpdmU6IHBhcnNlUmVha3RvckRhdGUobGFzdEFjdGl2ZSksXG4gICAgbG9jYWxlOiBsb2NhbGUgPyBwYXJzZVN0cmluZyhsb2NhbGUsIDUpIDogdW5kZWZpbmVkLFxuICAgIG1haWxpbmdMaXN0OiAhIW1haWxpbmdMaXN0LFxuICAgIG5hbWU6IHBhcnNlUmVha3Rvck5hbWUobmFtZSksXG4gICAgcGFzc3dvcmQ6IHBhc3N3b3JkID8gcGFyc2VWYXJDaGFyKHBhc3N3b3JkLCAxNjApIDogdW5kZWZpbmVkLFxuICAgIHBob25lOiBwaG9uZSA/IHBhcnNlVmFyQ2hhcihwaG9uZSwgMjApIDogdW5kZWZpbmVkLFxuICAgIHNhbHQ6IHNhbHQgPyBwYXJzZVZhckNoYXIoc2FsdCwgMTYwKSA6IHVuZGVmaW5lZCxcbiAgICBzdGF0ZTogc3RhdGUgPyBwYXJzZUNoYXIoc3RhdGUsIDIpLnRvVXBwZXJDYXNlKCkgOiB1bmRlZmluZWQsXG4gICAgc3RyZWV0MTogc3RyZWV0MSA/IHBhcnNlVmFyQ2hhcihzdHJlZXQxLCAxNjApIDogdW5kZWZpbmVkLFxuICAgIHN0cmVldDI6IHN0cmVldDIgPyBwYXJzZVZhckNoYXIoc3RyZWV0MiwgMTYwKSA6IHVuZGVmaW5lZCxcbiAgICBzdHJpcGVBY2NvdW50SWQ6IHN0cmlwZUFjY291bnRJZCA/IHBhcnNlVmFyQ2hhcihzdHJpcGVBY2NvdW50SWQsIDE2MCkgOiB1bmRlZmluZWQsXG4gICAgc3RyaXBlQ3VzdG9tZXJJZDogc3RyaXBlQ3VzdG9tZXJJZCA/IHBhcnNlVmFyQ2hhcihzdHJpcGVDdXN0b21lcklkLCAxNjApIDogdW5kZWZpbmVkLFxuICAgIHRhZ3M6IHRhZ3M/Lmxlbmd0aCA/IHRhZ3M/LmZpbHRlcigodGFnKSA9PiAhIXRhZykubWFwKCh0YWcpID0+IHBhcnNlVGFnKHRhZykpIDogdW5kZWZpbmVkLFxuICAgIHRpbWV6b25lOiB0aW1lem9uZSA/IHBhcnNlU3RyaW5nKHRpbWV6b25lLCAxNjApIDogdW5kZWZpbmVkLFxuICAgIHR5cGU6IHBhcnNlUmVha3RvclR5cGUodHlwZSksXG4gICAgdXNlckFjY2VzczogdXNlckFjY2VzcyA/IHBhcnNlTnVtKHVzZXJBY2Nlc3MpIDogMCxcbiAgICB1c2VySWQ6IHBhcnNlSWQoX2tleSB8fCB1c2VySWQpLFxuICAgIHVzZXJuYW1lOiB1c2VybmFtZSA/IHBhcnNlVmFyQ2hhcih1c2VybmFtZSwgMTYwKSA6IHVuZGVmaW5lZCxcbiAgICB2ZXJpZmllZEVtYWlsOiAhIXZlcmlmaWVkRW1haWwsXG4gICAgdmVyaWZpZWRFbWFpbENvZGU6IHZlcmlmaWVkRW1haWxDb2RlID8gcGFyc2VOdW0odmVyaWZpZWRFbWFpbENvZGUsIDEwKSA6IHVuZGVmaW5lZCxcbiAgICB2ZXJpZmllZEVtYWlsRXhwaXJlczogdmVyaWZpZWRFbWFpbEV4cGlyZXMgPyBwYXJzZU51bSh2ZXJpZmllZEVtYWlsRXhwaXJlcywgMTApIDogdW5kZWZpbmVkLFxuICAgIHZlcmlmaWVkUGhvbmU6ICEhdmVyaWZpZWRQaG9uZSxcbiAgICB2ZXJpZmllZFBob25lQ29kZTogdmVyaWZpZWRQaG9uZUNvZGUgPyBwYXJzZU51bSh2ZXJpZmllZFBob25lQ29kZSwgMTApIDogdW5kZWZpbmVkLFxuICAgIHZlcmlmaWVkUGhvbmVFeHBpcmVzOiB2ZXJpZmllZFBob25lRXhwaXJlcyA/IHBhcnNlTnVtKHZlcmlmaWVkUGhvbmVFeHBpcmVzLCAxMCkgOiB1bmRlZmluZWQsXG4gICAgemlwOiB6aXAgPyBwYXJzZVZhckNoYXIoemlwLCAyMCkgOiB1bmRlZmluZWRcbiAgfSk7XG59OyJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFB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
1
+ import{z as e}from"zod";import{parseNum as d}from"@nlabs/utils/parsers/numbers";import{parseArangoId as W,parseChar as X,parseEmail as Y,parseId as ee,parsePassword as re,parsePhone as te,parseString as B,parseVarChar as n}from"@nlabs/utils/parsers/strings";import{removeEmptyKeys as ie}from"../utils/adapterUtils.js";import{parseDocument as ne}from"./arangoAdapter.js";import{parseReaktorDate as H,parseReaktorItemId as oe,parseReaktorName as se,parseReaktorType as ae}from"./reaktorAdapter.js";import{parseTag as de}from"./tagAdapter.js";class a extends Error{constructor(o,s){super(o);this.field=s;this.name="UserValidationError"}}const pe=e.object({_id:e.string().optional(),_key:e.string().optional(),active:e.boolean().optional(),bankId:e.string().max(160).optional(),city:e.string().max(160).optional(),country:e.string().length(2).optional(),currency:e.string().length(3).optional(),deviceToken:e.string().max(160).optional(),dob:e.number().optional(),email:e.string().email().optional(),first:e.string().max(160).optional(),gender:e.string().length(1).optional(),id:e.string().optional(),imageId:e.string().optional(),last:e.string().max(160).optional(),lastActive:e.number().optional(),locale:e.string().max(5).optional(),mailingList:e.boolean().optional(),name:e.string().max(160).optional(),password:e.string().max(160).optional(),phone:e.string().max(20).optional(),salt:e.string().max(160).optional(),state:e.string().length(2).optional(),street1:e.string().max(160).optional(),street2:e.string().max(160).optional(),stripeAccountId:e.string().max(160).optional(),stripeCustomerId:e.string().max(160).optional(),tags:e.array(e.any()).optional(),timezone:e.string().max(160).optional(),type:e.string().max(160).optional(),userAccess:e.number().optional(),userId:e.string().optional(),username:e.string().max(160).optional(),verifiedEmail:e.boolean().optional(),verifiedEmailCode:e.number().optional(),verifiedEmailExpires:e.number().optional(),verifiedPhone:e.boolean().optional(),verifiedPhoneExpires:e.number().optional(),verifiedSmsCode:e.number().optional(),zip:e.string().max(20).optional()}).passthrough(),le=r=>{if(!r)return;const t=r.toUpperCase();if(!/^[A-Z]{2}$/.test(t))throw new a("Country must be a 2-letter ISO code","country");return t},me=r=>{if(!r)return;const t=r.toUpperCase();if(!/^[A-Z]{2}$/.test(t))throw new a("State must be a 2-letter code","state");return t},ce=r=>{if(!r)return;const t=r.toUpperCase();if(!/^[MF]$/.test(t))throw new a("Gender must be M or F","gender");return t},J=new Map,Ee=r=>{try{return pe.parse(r)}catch(t){if(t instanceof e.ZodError){const o=t.issues.map(s=>`${s.path.join(".")}: ${s.message}`).join(", ");throw new a(`User validation failed: ${o}`)}throw t}},be=r=>{const{password:t,salt:o,verifiedEmailCode:s,verifiedSmsCode:m,...p}=r;return p},fe=r=>{try{return ue(r)}catch(t){throw t instanceof a?t:new a(`User parsing failed: ${t instanceof Error?t.message:"Unknown error"}`)}},ue=r=>{const{_id:t,_key:o,active:s,bankId:m,city:p,country:u,currency:g,deviceToken:y,dob:v,email:h,first:x,gender:I,id:U,imageId:E,last:b,lastActive:C,locale:k,mailingList:w,name:T,password:_,phone:A,salt:S,state:z,street1:P,street2:$,stripeAccountId:j,stripeCustomerId:L,tags:R,timezone:M,type:V,userAccess:c,userId:l,username:Z,verifiedEmail:D,verifiedEmailCode:F,verifiedEmailExpires:G,verifiedPhone:N,verifiedPhoneExpires:O,verifiedSmsCode:K,zip:q}=r,Q={...ne(r),...s!==void 0&&{active:!!s},...m&&{bankId:n(m,160)},...p&&{city:n(p,160)},...u&&{country:le(u)},...g&&{currency:X(g,3).toUpperCase()},...y&&{deviceToken:n(y,160)},...v!==void 0&&{dob:H(v)},...h&&{email:Y(h)},...x&&{first:n(x,160)},...I&&{gender:ce(I)},...(U||t||o||l)&&{id:W(U||t||`users/${o||l}`)},...E&&{imageId:oe(E)},...b&&{last:n(b,160)},...C!==void 0&&{lastActive:H(C)},...k&&{locale:B(k,5)},...w!==void 0&&{mailingList:!!w},...T&&{name:se(T)},..._&&{password:re(_)},...A&&{phone:te(A)},...S&&{salt:n(S,160)},...z&&{state:me(z)},...P&&{street1:n(P,160)},...$&&{street2:n($,160)},...j&&{stripeAccountId:n(j,160)},...L&&{stripeCustomerId:n(L,160)},...R?.length&&{tags:R.filter(f=>!!f).map(f=>de(f))},...M&&{timezone:B(M,160)},...V&&{type:ae(V)},...c!==void 0&&{userAccess:c?d(c):0},...(l||o)&&{userId:ee(o||l||"")},...Z&&{username:n(Z,160)},...D!==void 0&&{verifiedEmail:!!D},...F!==void 0&&{verifiedEmailCode:d(F,10)},...G!==void 0&&{verifiedEmailExpires:d(G,10)},...N!==void 0&&{verifiedPhone:!!N},...O!==void 0&&{verifiedPhoneExpires:d(O,10)},...K!==void 0&&{verifiedSmsCode:d(K,10)},...q&&{zip:n(q,20)}},i=ie(Q);return r._id?(i.id=r._id,i._id=r._id):r.id&&!i.id&&(i.id=r.id,i._id=r.id),r._key?(i.userId=r._key,i._key=r._key):r.userId&&!i.userId&&(i.userId=r.userId,i._key=r.userId),r.userId&&!i._key&&(i._key=r.userId),r.id&&!i._id&&(i._id=r.id),i},Ce=()=>{J.clear()},ke=()=>J.size;const we=r=>fe(r);export{a as UserValidationError,Ce as clearUserCache,be as formatUserOutput,ke as getUserCacheSize,fe as parseUser,we as parseUserLegacy,J as userCache,Ee as validateUserInput};
2
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FkYXB0ZXJzL3VzZXJBZGFwdGVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJcbmltcG9ydCB7en0gZnJvbSAnem9kJztcblxuaW1wb3J0IHtwYXJzZU51bX0gZnJvbSAnQG5sYWJzL3V0aWxzL3BhcnNlcnMvbnVtYmVycyc7XG5pbXBvcnQge3BhcnNlQXJhbmdvSWQsIHBhcnNlQ2hhciwgcGFyc2VFbWFpbCwgcGFyc2VJZCwgcGFyc2VQYXNzd29yZCwgcGFyc2VQaG9uZSwgcGFyc2VTdHJpbmcsIHBhcnNlVmFyQ2hhcn0gZnJvbSAnQG5sYWJzL3V0aWxzL3BhcnNlcnMvc3RyaW5ncyc7XG5pbXBvcnQgdHlwZSB7VXNlclR5cGV9IGZyb20gJy4uL3R5cGVzL3VzZXJzLnR5cGVzLmpzJztcbmltcG9ydCB7cmVtb3ZlRW1wdHlLZXlzfSBmcm9tICcuLi91dGlscy9hZGFwdGVyVXRpbHMuanMnO1xuaW1wb3J0IHtwYXJzZURvY3VtZW50fSBmcm9tICcuL2FyYW5nb0FkYXB0ZXIuanMnO1xuaW1wb3J0IHtwYXJzZVJlYWt0b3JEYXRlLCBwYXJzZVJlYWt0b3JJdGVtSWQsIHBhcnNlUmVha3Rvck5hbWUsIHBhcnNlUmVha3RvclR5cGV9IGZyb20gJy4vcmVha3RvckFkYXB0ZXIuanMnO1xuaW1wb3J0IHtwYXJzZVRhZ30gZnJvbSAnLi90YWdBZGFwdGVyLmpzJztcblxuZXhwb3J0IGNsYXNzIFVzZXJWYWxpZGF0aW9uRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZywgcHVibGljIGZpZWxkPzogc3RyaW5nKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gICAgdGhpcy5uYW1lID0gJ1VzZXJWYWxpZGF0aW9uRXJyb3InO1xuICB9XG59XG5cbmNvbnN0IFVzZXJJbnB1dFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgX2lkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIF9rZXk6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgYWN0aXZlOiB6LmJvb2xlYW4oKS5vcHRpb25hbCgpLFxuICBiYW5rSWQ6IHouc3RyaW5nKCkubWF4KDE2MCkub3B0aW9uYWwoKSxcbiAgY2l0eTogei5zdHJpbmcoKS5tYXgoMTYwKS5vcHRpb25hbCgpLFxuICBjb3VudHJ5OiB6LnN0cmluZygpLmxlbmd0aCgyKS5vcHRpb25hbCgpLFxuICBjdXJyZW5jeTogei5zdHJpbmcoKS5sZW5ndGgoMykub3B0aW9uYWwoKSxcbiAgZGV2aWNlVG9rZW46IHouc3RyaW5nKCkubWF4KDE2MCkub3B0aW9uYWwoKSxcbiAgZG9iOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIGVtYWlsOiB6LnN0cmluZygpLmVtYWlsKCkub3B0aW9uYWwoKSxcbiAgZmlyc3Q6IHouc3RyaW5nKCkubWF4KDE2MCkub3B0aW9uYWwoKSxcbiAgZ2VuZGVyOiB6LnN0cmluZygpLmxlbmd0aCgxKS5vcHRpb25hbCgpLFxuICBpZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBpbWFnZUlkOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGxhc3Q6IHouc3RyaW5nKCkubWF4KDE2MCkub3B0aW9uYWwoKSxcbiAgbGFzdEFjdGl2ZTogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICBsb2NhbGU6IHouc3RyaW5nKCkubWF4KDUpLm9wdGlvbmFsKCksXG4gIG1haWxpbmdMaXN0OiB6LmJvb2xlYW4oKS5vcHRpb25hbCgpLFxuICBuYW1lOiB6LnN0cmluZygpLm1heCgxNjApLm9wdGlvbmFsKCksXG4gIHBhc3N3b3JkOiB6LnN0cmluZygpLm1heCgxNjApLm9wdGlvbmFsKCksXG4gIHBob25lOiB6LnN0cmluZygpLm1heCgyMCkub3B0aW9uYWwoKSxcbiAgc2FsdDogei5zdHJpbmcoKS5tYXgoMTYwKS5vcHRpb25hbCgpLFxuICBzdGF0ZTogei5zdHJpbmcoKS5sZW5ndGgoMikub3B0aW9uYWwoKSxcbiAgc3RyZWV0MTogei5zdHJpbmcoKS5tYXgoMTYwKS5vcHRpb25hbCgpLFxuICBzdHJlZXQyOiB6LnN0cmluZygpLm1heCgxNjApLm9wdGlvbmFsKCksXG4gIHN0cmlwZUFjY291bnRJZDogei5zdHJpbmcoKS5tYXgoMTYwKS5vcHRpb25hbCgpLFxuICBzdHJpcGVDdXN0b21lcklkOiB6LnN0cmluZygpLm1heCgxNjApLm9wdGlvbmFsKCksXG4gIHRhZ3M6IHouYXJyYXkoei5hbnkoKSkub3B0aW9uYWwoKSxcbiAgdGltZXpvbmU6IHouc3RyaW5nKCkubWF4KDE2MCkub3B0aW9uYWwoKSxcbiAgdHlwZTogei5zdHJpbmcoKS5tYXgoMTYwKS5vcHRpb25hbCgpLFxuICB1c2VyQWNjZXNzOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIHVzZXJJZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICB1c2VybmFtZTogei5zdHJpbmcoKS5tYXgoMTYwKS5vcHRpb25hbCgpLFxuICB2ZXJpZmllZEVtYWlsOiB6LmJvb2xlYW4oKS5vcHRpb25hbCgpLFxuICB2ZXJpZmllZEVtYWlsQ29kZTogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICB2ZXJpZmllZEVtYWlsRXhwaXJlczogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICB2ZXJpZmllZFBob25lOiB6LmJvb2xlYW4oKS5vcHRpb25hbCgpLFxuICB2ZXJpZmllZFBob25lRXhwaXJlczogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICB2ZXJpZmllZFNtc0NvZGU6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgemlwOiB6LnN0cmluZygpLm1heCgyMCkub3B0aW9uYWwoKVxufSkucGFzc3Rocm91Z2goKTtcblxuY29uc3QgdmFsaWRhdGVDb3VudHJ5ID0gKGNvdW50cnk/OiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQgPT4ge1xuICBpZighY291bnRyeSkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbiAgY29uc3QgdXBwZXIgPSBjb3VudHJ5LnRvVXBwZXJDYXNlKCk7XG4gIGlmKCEvXltBLVpdezJ9JC8udGVzdCh1cHBlcikpIHtcbiAgICB0aHJvdyBuZXcgVXNlclZhbGlkYXRpb25FcnJvcignQ291bnRyeSBtdXN0IGJlIGEgMi1sZXR0ZXIgSVNPIGNvZGUnLCAnY291bnRyeScpO1xuICB9XG4gIHJldHVybiB1cHBlcjtcbn07XG5cbmNvbnN0IHZhbGlkYXRlU3RhdGUgPSAoc3RhdGU/OiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQgPT4ge1xuICBpZighc3RhdGUpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG4gIGNvbnN0IHVwcGVyID0gc3RhdGUudG9VcHBlckNhc2UoKTtcbiAgaWYoIS9eW0EtWl17Mn0kLy50ZXN0KHVwcGVyKSkge1xuICAgIHRocm93IG5ldyBVc2VyVmFsaWRhdGlvbkVycm9yKCdTdGF0ZSBtdXN0IGJlIGEgMi1sZXR0ZXIgY29kZScsICdzdGF0ZScpO1xuICB9XG4gIHJldHVybiB1cHBlcjtcbn07XG5cbmNvbnN0IHZhbGlkYXRlR2VuZGVyID0gKGdlbmRlcj86IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCA9PiB7XG4gIGlmKCFnZW5kZXIpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG4gIGNvbnN0IHVwcGVyID0gZ2VuZGVyLnRvVXBwZXJDYXNlKCk7XG4gIGlmKCEvXltNRl0kLy50ZXN0KHVwcGVyKSkge1xuICAgIHRocm93IG5ldyBVc2VyVmFsaWRhdGlvbkVycm9yKCdHZW5kZXIgbXVzdCBiZSBNIG9yIEYnLCAnZ2VuZGVyJyk7XG4gIH1cbiAgcmV0dXJuIHVwcGVyO1xufTtcblxuY29uc3QgdXNlckNhY2hlID0gbmV3IE1hcDxzdHJpbmcsIFVzZXJUeXBlPigpO1xuXG5leHBvcnQgY29uc3QgdmFsaWRhdGVVc2VySW5wdXQgPSAodXNlcjogdW5rbm93bik6IFVzZXJUeXBlID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCB2YWxpZGF0ZWQgPSBVc2VySW5wdXRTY2hlbWEucGFyc2UodXNlcik7XG4gICAgcmV0dXJuIHZhbGlkYXRlZCBhcyBVc2VyVHlwZTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIGlmKGVycm9yIGluc3RhbmNlb2Ygei5ab2RFcnJvcikge1xuICAgICAgY29uc3QgZmllbGRFcnJvcnMgPSBlcnJvci5pc3N1ZXMubWFwKChlKSA9PiBgJHtlLnBhdGguam9pbignLicpfTogJHtlLm1lc3NhZ2V9YCkuam9pbignLCAnKTtcbiAgICAgIHRocm93IG5ldyBVc2VyVmFsaWRhdGlvbkVycm9yKGBVc2VyIHZhbGlkYXRpb24gZmFpbGVkOiAke2ZpZWxkRXJyb3JzfWApO1xuICAgIH1cbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGZvcm1hdFVzZXJPdXRwdXQgPSAodXNlcjogVXNlclR5cGUpOiBVc2VyVHlwZSA9PiB7XG4gIGNvbnN0IHtwYXNzd29yZCwgc2FsdCwgdmVyaWZpZWRFbWFpbENvZGUsIHZlcmlmaWVkU21zQ29kZSwgLi4uc2FmZVVzZXJ9ID0gdXNlcjtcbiAgcmV0dXJuIHNhZmVVc2VyO1xufTtcblxuZXhwb3J0IGNvbnN0IHBhcnNlVXNlciA9ICh1c2VyOiBVc2VyVHlwZSk6IFVzZXJUeXBlID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBwYXJzZWQgPSBwZXJmb3JtVXNlclRyYW5zZm9ybWF0aW9uKHVzZXIpO1xuICAgIHJldHVybiBwYXJzZWQ7XG4gIH0gY2F0Y2goZXJyb3IpIHtcbiAgICBpZihlcnJvciBpbnN0YW5jZW9mIFVzZXJWYWxpZGF0aW9uRXJyb3IpIHtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgVXNlclZhbGlkYXRpb25FcnJvcihgVXNlciBwYXJzaW5nIGZhaWxlZDogJHtlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdVbmtub3duIGVycm9yJ31gKTtcbiAgfVxufTtcblxuY29uc3QgcGVyZm9ybVVzZXJUcmFuc2Zvcm1hdGlvbiA9ICh1c2VyOiBVc2VyVHlwZSk6IFVzZXJUeXBlID0+IHtcbiAgY29uc3Qge1xuICAgIF9pZCxcbiAgICBfa2V5LFxuICAgIGFjdGl2ZSxcbiAgICBiYW5rSWQsXG4gICAgY2l0eSxcbiAgICBjb3VudHJ5LFxuICAgIGN1cnJlbmN5LFxuICAgIGRldmljZVRva2VuLFxuICAgIGRvYixcbiAgICBlbWFpbCxcbiAgICBmaXJzdCxcbiAgICBnZW5kZXIsXG4gICAgaWQsXG4gICAgaW1hZ2VJZCxcbiAgICBsYXN0LFxuICAgIGxhc3RBY3RpdmUsXG4gICAgbG9jYWxlLFxuICAgIG1haWxpbmdMaXN0LFxuICAgIG5hbWUsXG4gICAgcGFzc3dvcmQsXG4gICAgcGhvbmUsXG4gICAgc2FsdCxcbiAgICBzdGF0ZSxcbiAgICBzdHJlZXQxLFxuICAgIHN0cmVldDIsXG4gICAgc3RyaXBlQWNjb3VudElkLFxuICAgIHN0cmlwZUN1c3RvbWVySWQsXG4gICAgdGFncyxcbiAgICB0aW1lem9uZSxcbiAgICB0eXBlLFxuICAgIHVzZXJBY2Nlc3MsXG4gICAgdXNlcklkLFxuICAgIHVzZXJuYW1lLFxuICAgIHZlcmlmaWVkRW1haWwsXG4gICAgdmVyaWZpZWRFbWFpbENvZGUsXG4gICAgdmVyaWZpZWRFbWFpbEV4cGlyZXMsXG4gICAgdmVyaWZpZWRQaG9uZSxcbiAgICB2ZXJpZmllZFBob25lRXhwaXJlcyxcbiAgICB2ZXJpZmllZFNtc0NvZGUsXG4gICAgemlwXG4gIH0gPSB1c2VyO1xuICBjb25zdCB0cmFuc2Zvcm1lZCA9IHtcbiAgICAuLi5wYXJzZURvY3VtZW50KHVzZXIpLFxuICAgIC4uLihhY3RpdmUgIT09IHVuZGVmaW5lZCAmJiB7YWN0aXZlOiAhIWFjdGl2ZX0pLFxuICAgIC4uLihiYW5rSWQgJiYge2JhbmtJZDogcGFyc2VWYXJDaGFyKGJhbmtJZCwgMTYwKX0pLFxuICAgIC4uLihjaXR5ICYmIHtjaXR5OiBwYXJzZVZhckNoYXIoY2l0eSwgMTYwKX0pLFxuICAgIC4uLihjb3VudHJ5ICYmIHtjb3VudHJ5OiB2YWxpZGF0ZUNvdW50cnkoY291bnRyeSl9KSxcbiAgICAuLi4oY3VycmVuY3kgJiYge2N1cnJlbmN5OiBwYXJzZUNoYXIoY3VycmVuY3ksIDMpLnRvVXBwZXJDYXNlKCl9KSxcbiAgICAuLi4oZGV2aWNlVG9rZW4gJiYge2RldmljZVRva2VuOiBwYXJzZVZhckNoYXIoZGV2aWNlVG9rZW4sIDE2MCl9KSxcbiAgICAuLi4oZG9iICE9PSB1bmRlZmluZWQgJiYge2RvYjogcGFyc2VSZWFrdG9yRGF0ZShkb2IpfSksXG4gICAgLi4uKGVtYWlsICYmIHtlbWFpbDogcGFyc2VFbWFpbChlbWFpbCl9KSxcbiAgICAuLi4oZmlyc3QgJiYge2ZpcnN0OiBwYXJzZVZhckNoYXIoZmlyc3QsIDE2MCl9KSxcbiAgICAuLi4oZ2VuZGVyICYmIHtnZW5kZXI6IHZhbGlkYXRlR2VuZGVyKGdlbmRlcil9KSxcbiAgICAuLi4oKGlkIHx8IF9pZCB8fCBfa2V5IHx8IHVzZXJJZCkgJiYge2lkOiBwYXJzZUFyYW5nb0lkKGlkIHx8IF9pZCB8fCBgdXNlcnMvJHtfa2V5IHx8IHVzZXJJZH1gKX0pLFxuICAgIC4uLihpbWFnZUlkICYmIHtpbWFnZUlkOiBwYXJzZVJlYWt0b3JJdGVtSWQoaW1hZ2VJZCl9KSxcbiAgICAuLi4obGFzdCAmJiB7bGFzdDogcGFyc2VWYXJDaGFyKGxhc3QsIDE2MCl9KSxcbiAgICAuLi4obGFzdEFjdGl2ZSAhPT0gdW5kZWZpbmVkICYmIHtsYXN0QWN0aXZlOiBwYXJzZVJlYWt0b3JEYXRlKGxhc3RBY3RpdmUpfSksXG4gICAgLi4uKGxvY2FsZSAmJiB7bG9jYWxlOiBwYXJzZVN0cmluZyhsb2NhbGUsIDUpfSksXG4gICAgLi4uKG1haWxpbmdMaXN0ICE9PSB1bmRlZmluZWQgJiYge21haWxpbmdMaXN0OiAhIW1haWxpbmdMaXN0fSksXG4gICAgLi4uKG5hbWUgJiYge25hbWU6IHBhcnNlUmVha3Rvck5hbWUobmFtZSl9KSxcbiAgICAuLi4ocGFzc3dvcmQgJiYge3Bhc3N3b3JkOiBwYXJzZVBhc3N3b3JkKHBhc3N3b3JkKX0pLFxuICAgIC4uLihwaG9uZSAmJiB7cGhvbmU6IHBhcnNlUGhvbmUocGhvbmUpfSksXG4gICAgLi4uKHNhbHQgJiYge3NhbHQ6IHBhcnNlVmFyQ2hhcihzYWx0LCAxNjApfSksXG4gICAgLi4uKHN0YXRlICYmIHtzdGF0ZTogdmFsaWRhdGVTdGF0ZShzdGF0ZSl9KSxcbiAgICAuLi4oc3RyZWV0MSAmJiB7c3RyZWV0MTogcGFyc2VWYXJDaGFyKHN0cmVldDEsIDE2MCl9KSxcbiAgICAuLi4oc3RyZWV0MiAmJiB7c3RyZWV0MjogcGFyc2VWYXJDaGFyKHN0cmVldDIsIDE2MCl9KSxcbiAgICAuLi4oc3RyaXBlQWNjb3VudElkICYmIHtzdHJpcGVBY2NvdW50SWQ6IHBhcnNlVmFyQ2hhcihzdHJpcGVBY2NvdW50SWQsIDE2MCl9KSxcbiAgICAuLi4oc3RyaXBlQ3VzdG9tZXJJZCAmJiB7c3RyaXBlQ3VzdG9tZXJJZDogcGFyc2VWYXJDaGFyKHN0cmlwZUN1c3RvbWVySWQsIDE2MCl9KSxcbiAgICAuLi4odGFncz8ubGVuZ3RoICYmIHt0YWdzOiB0YWdzLmZpbHRlcigodGFnKSA9PiAhIXRhZykubWFwKCh0YWcpID0+IHBhcnNlVGFnKHRhZykpfSksXG4gICAgLi4uKHRpbWV6b25lICYmIHt0aW1lem9uZTogcGFyc2VTdHJpbmcodGltZXpvbmUsIDE2MCl9KSxcbiAgICAuLi4odHlwZSAmJiB7dHlwZTogcGFyc2VSZWFrdG9yVHlwZSh0eXBlKX0pLFxuICAgIC4uLih1c2VyQWNjZXNzICE9PSB1bmRlZmluZWQgJiYge3VzZXJBY2Nlc3M6IHVzZXJBY2Nlc3MgPyBwYXJzZU51bSh1c2VyQWNjZXNzKSA6IDB9KSxcbiAgICAuLi4oKHVzZXJJZCB8fCBfa2V5KSAmJiB7dXNlcklkOiBwYXJzZUlkKF9rZXkgfHwgdXNlcklkIHx8ICcnKX0pLFxuICAgIC4uLih1c2VybmFtZSAmJiB7dXNlcm5hbWU6IHBhcnNlVmFyQ2hhcih1c2VybmFtZSwgMTYwKX0pLFxuICAgIC4uLih2ZXJpZmllZEVtYWlsICE9PSB1bmRlZmluZWQgJiYge3ZlcmlmaWVkRW1haWw6ICEhdmVyaWZpZWRFbWFpbH0pLFxuICAgIC4uLih2ZXJpZmllZEVtYWlsQ29kZSAhPT0gdW5kZWZpbmVkICYmIHt2ZXJpZmllZEVtYWlsQ29kZTogcGFyc2VOdW0odmVyaWZpZWRFbWFpbENvZGUsIDEwKX0pLFxuICAgIC4uLih2ZXJpZmllZEVtYWlsRXhwaXJlcyAhPT0gdW5kZWZpbmVkICYmIHt2ZXJpZmllZEVtYWlsRXhwaXJlczogcGFyc2VOdW0odmVyaWZpZWRFbWFpbEV4cGlyZXMsIDEwKX0pLFxuICAgIC4uLih2ZXJpZmllZFBob25lICE9PSB1bmRlZmluZWQgJiYge3ZlcmlmaWVkUGhvbmU6ICEhdmVyaWZpZWRQaG9uZX0pLFxuICAgIC4uLih2ZXJpZmllZFBob25lRXhwaXJlcyAhPT0gdW5kZWZpbmVkICYmIHt2ZXJpZmllZFBob25lRXhwaXJlczogcGFyc2VOdW0odmVyaWZpZWRQaG9uZUV4cGlyZXMsIDEwKX0pLFxuICAgIC4uLih2ZXJpZmllZFNtc0NvZGUgIT09IHVuZGVmaW5lZCAmJiB7dmVyaWZpZWRTbXNDb2RlOiBwYXJzZU51bSh2ZXJpZmllZFNtc0NvZGUsIDEwKX0pLFxuICAgIC4uLih6aXAgJiYge3ppcDogcGFyc2VWYXJDaGFyKHppcCwgMjApfSlcbiAgfTtcblxuICBjb25zdCByZXN1bHQgPSByZW1vdmVFbXB0eUtleXModHJhbnNmb3JtZWQpO1xuXG4gIGlmKHVzZXIuX2lkKSB7XG4gICAgcmVzdWx0LmlkID0gdXNlci5faWQ7XG4gICAgcmVzdWx0Ll9pZCA9IHVzZXIuX2lkO1xuICB9IGVsc2UgaWYodXNlci5pZCAmJiAhcmVzdWx0LmlkKSB7XG4gICAgcmVzdWx0LmlkID0gdXNlci5pZDtcbiAgICByZXN1bHQuX2lkID0gdXNlci5pZDtcbiAgfVxuXG4gIGlmKHVzZXIuX2tleSkge1xuICAgIHJlc3VsdC51c2VySWQgPSB1c2VyLl9rZXk7XG4gICAgcmVzdWx0Ll9rZXkgPSB1c2VyLl9rZXk7XG4gIH0gZWxzZSBpZih1c2VyLnVzZXJJZCAmJiAhcmVzdWx0LnVzZXJJZCkge1xuICAgIHJlc3VsdC51c2VySWQgPSB1c2VyLnVzZXJJZDtcbiAgICByZXN1bHQuX2tleSA9IHVzZXIudXNlcklkO1xuICB9XG5cbiAgaWYodXNlci51c2VySWQgJiYgIXJlc3VsdC5fa2V5KSB7XG4gICAgcmVzdWx0Ll9rZXkgPSB1c2VyLnVzZXJJZDtcbiAgfVxuXG4gIGlmKHVzZXIuaWQgJiYgIXJlc3VsdC5faWQpIHtcbiAgICByZXN1bHQuX2lkID0gdXNlci5pZDtcbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59O1xuXG5leHBvcnQgY29uc3QgY2xlYXJVc2VyQ2FjaGUgPSAoKTogdm9pZCA9PiB7XG4gIHVzZXJDYWNoZS5jbGVhcigpO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFVzZXJDYWNoZVNpemUgPSAoKTogbnVtYmVyID0+IHVzZXJDYWNoZS5zaXplO1xuXG5leHBvcnQge3VzZXJDYWNoZX07XG5cbmV4cG9ydCBjb25zdCBwYXJzZVVzZXJMZWdhY3kgPSAodXNlcjogVXNlclR5cGUpOiBVc2VyVHlwZSA9PiBwYXJzZVVzZXIodXNlcik7Il0sCiAgIm1hcHBpbmdzIjogIkFBQ0EsT0FBUSxLQUFBQSxNQUFRLE1BRWhCLE9BQVEsWUFBQUMsTUFBZSwrQkFDdkIsT0FBUSxpQkFBQUMsRUFBZSxhQUFBQyxFQUFXLGNBQUFDLEVBQVksV0FBQUMsR0FBUyxpQkFBQUMsR0FBZSxjQUFBQyxHQUFZLGVBQUFDLEVBQWEsZ0JBQUFDLE1BQW1CLCtCQUVsSCxPQUFRLG1CQUFBQyxPQUFzQiwyQkFDOUIsT0FBUSxpQkFBQUMsT0FBb0IscUJBQzVCLE9BQVEsb0JBQUFDLEVBQWtCLHNCQUFBQyxHQUFvQixvQkFBQUMsR0FBa0Isb0JBQUFDLE9BQXVCLHNCQUN2RixPQUFRLFlBQUFDLE9BQWUsa0JBRWhCLE1BQU1DLFVBQTRCLEtBQU0sQ0FDN0MsWUFBWUMsRUFBd0JDLEVBQWdCLENBQ2xELE1BQU1ELENBQU8sRUFEcUIsV0FBQUMsRUFFbEMsS0FBSyxLQUFPLHFCQUNkLENBQ0Ys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LEdBQUsvQyxFQUFLLElBQ2pCK0MsRUFBTyxJQUFNL0MsRUFBSyxLQUNWQSxFQUFLLElBQU0sQ0FBQytDLEVBQU8sS0FDM0JBLEVBQU8sR0FBSy9DLEVBQUssR0FDakIrQyxFQUFPLElBQU0vQyxFQUFLLElBR2pCQSxFQUFLLE1BQ04rQyxFQUFPLE9BQVMvQyxFQUFLLEtBQ3JCK0MsRUFBTyxLQUFPL0MsRUFBSyxNQUNYQSxFQUFLLFFBQVUsQ0FBQytDLEVBQU8sU0FDL0JBLEVBQU8sT0FBUy9DLEVBQUssT0FDckIrQyxFQUFPLEtBQU8vQyxFQUFLLFFBR2xCQSxFQUFLLFFBQVUsQ0FBQytDLEVBQU8sT0FDeEJBLEVBQU8sS0FBTy9DLEVBQUssUUFHbEJBLEVBQUssSUFBTSxDQUFDK0MsRUFBTyxNQUNwQkEsRUFBTyxJQUFNL0MsRUFBSyxJQUdiK0MsQ0FDVCxFQUVhQyxHQUFpQixJQUFZLENBQ3hDbEQsRUFBVSxNQUFNLENBQ2xCLEVBRWFtRCxHQUFtQixJQUFjbkQsRUFBVSxLQUlqRCxNQUFNb0QsR0FBbUJDLEdBQTZCQyxHQUFVRCxDQUFJIiwKICAibmFtZXMiOiBbInoiLCAicGFyc2VOdW0iLCAicGFyc2VBcmFuZ29JZCIsICJwYXJzZUNoYXIiLCAicGFyc2VFbWFpbCIsICJwYXJzZUlkIiwgInBhcnNlUGFzc3dvcmQiLCAicGFyc2VQaG9uZSIsICJwYXJzZVN0cmluZyIsICJwYXJzZVZhckNoYXIiLCAicmVtb3ZlRW1wdHlLZXlzIiwgInBhcnNlRG9jdW1lbnQiLCAicGFyc2VSZWFrdG9yRGF0ZSIsICJwYXJzZVJlYWt0b3JJdGVtSWQiLCAicGFyc2VSZWFrdG9yTmFtZSIsICJwYXJzZVJlYWt0b3JUeXBlIiwgInBhcnNlVGFnIiwgIlVzZXJWYWxpZGF0aW9uRXJyb3IiLCAibWVzc2FnZSIsICJmaWVsZCIsICJVc2VySW5wdXRTY2hlbWEiLCAidmFsaWRhdGVDb3VudHJ5IiwgImNvdW50cnkiLCAidXBwZXIiLCAidmFsaWRhdGVTdGF0ZSIsICJzdGF0ZSIsICJ2YWxpZGF0ZUdlbmRlciIsICJnZW5kZXIiLCAidXNlckNhY2hlIiwgInZhbGlkYXRlVXNlcklucHV0IiwgInVzZXIiLCAiZXJyb3IiLCAiZmllbGRFcnJvcnMiLCAiZSIsICJmb3JtYXRVc2VyT3V0cHV0IiwgInBhc3N3b3JkIiwgInNhbHQiLCAidmVyaWZpZWRFbWFpbENvZGUiLCAidmVyaWZpZWRTbXNDb2RlIiwgInNhZmVVc2VyIiwgInBhcnNlVXNlciIsICJwZXJmb3JtVXNlclRyYW5zZm9ybWF0aW9uIiwgIl9pZCIsICJfa2V5IiwgImFjdGl2ZSIsICJiYW5rSWQiLCAiY2l0eSIsICJjdXJyZW5jeSIsICJkZXZpY2VUb2tlbiIsICJkb2IiLCAiZW1haWwiLCAiZmlyc3QiLCAiaWQiLCAiaW1hZ2VJZCIsICJsYXN0IiwgImxhc3RBY3RpdmUiLCAibG9jYWxlIiwgIm1haWxpbmdMaXN0IiwgIm5hbWUiLCAicGhvbmUiLCAic3RyZWV0MSIsICJzdHJlZXQyIiwgInN0cmlwZUFjY291bnRJZCIsICJzdHJpcGVDdXN0b21lcklkIiwgInRhZ3MiLCAidGltZXpvbmUiLCAidHlwZSIsICJ1c2VyQWNjZXNzIiwgInVzZXJJZCIsICJ1c2VybmFtZSIsICJ2ZXJpZmllZEVtYWlsIiwgInZlcmlmaWVkRW1haWxFeHBpcmVzIiwgInZlcmlmaWVkUGhvbmUiLCAidmVyaWZpZWRQaG9uZUV4cGlyZXMiLCAiemlwIiwgInRyYW5zZm9ybWVkIiwgInRhZyIsICJyZXN1bHQiLCAiY2xlYXJVc2VyQ2FjaGUiLCAiZ2V0VXNlckNhY2hlU2l6ZSIsICJwYXJzZVVzZXJMZWdhY3kiLCAidXNlciIsICJwYXJzZVVzZXIiXQp9Cg==