@getcommunity/gc-validators 0.0.271-alpha.25 → 0.0.271-alpha.27

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 (278) hide show
  1. package/dist/base/index.cjs +9 -27
  2. package/dist/base/index.d.cts +2 -2
  3. package/dist/base/index.d.mts +4 -4
  4. package/dist/base/index.mjs +5 -5
  5. package/dist/components/blocks/index.cjs +5 -4
  6. package/dist/components/blocks/index.d.cts +1 -1
  7. package/dist/components/blocks/index.d.mts +1 -1
  8. package/dist/components/blocks/index.mjs +5 -4
  9. package/dist/components/brand/index.cjs +3 -2
  10. package/dist/components/brand/index.d.cts +1 -1
  11. package/dist/components/brand/index.d.mts +1 -1
  12. package/dist/components/brand/index.mjs +3 -2
  13. package/dist/components/forms/index.cjs +2 -1
  14. package/dist/components/forms/index.d.cts +280 -280
  15. package/dist/components/forms/index.d.mts +280 -280
  16. package/dist/components/forms/index.mjs +2 -1
  17. package/dist/components/shared/index.cjs +5 -4
  18. package/dist/components/shared/index.d.cts +1 -1
  19. package/dist/components/shared/index.d.mts +1 -1
  20. package/dist/components/shared/index.mjs +5 -4
  21. package/dist/components/slideshow/index.d.cts +280 -280
  22. package/dist/components/slideshow/index.d.mts +280 -280
  23. package/dist/components/utm/index.d.mts +1 -1
  24. package/dist/constants/index.cjs +45 -43
  25. package/dist/constants/index.mjs +4 -2
  26. package/dist/{document-TlMeVEGy.d.cts → document-3h6g5Qqr.d.cts} +1 -1
  27. package/dist/{document-DjM6F56Q.cjs → document-AqtoEbX8.cjs} +19 -24
  28. package/dist/{document-aEa-gTmH.mjs → document-BCbxKqGE.mjs} +20 -19
  29. package/dist/{document-kvIqz0p6.mjs → document-BWso8VC7.mjs} +62 -56
  30. package/dist/{document-CwIvc2p7.cjs → document-DJJFS5o8.cjs} +2 -1
  31. package/dist/{document-CDavjuJ-.mjs → document-DRyRy2Mw.mjs} +2 -1
  32. package/dist/{document-CAkRm1Y_.d.mts → document-DqE9ISOk.d.mts} +2 -2
  33. package/dist/{document-DOVZwQRq.cjs → document-DwkycUz9.cjs} +74 -62
  34. package/dist/email-ByTEdUjg.cjs +13 -0
  35. package/dist/email-Cnyi5Neo.mjs +6 -0
  36. package/dist/entities/audit-log/index.cjs +44 -41
  37. package/dist/entities/audit-log/index.d.cts +3 -2
  38. package/dist/entities/audit-log/index.d.mts +4 -3
  39. package/dist/entities/audit-log/index.mjs +6 -3
  40. package/dist/entities/blog-page/index.d.cts +1 -1
  41. package/dist/entities/blog-page/index.d.mts +1 -1
  42. package/dist/entities/blog-post/index.cjs +10 -9
  43. package/dist/entities/blog-post/index.d.cts +1 -1
  44. package/dist/entities/blog-post/index.d.mts +1 -1
  45. package/dist/entities/blog-post/index.mjs +4 -3
  46. package/dist/entities/careers-page/index.d.cts +1 -1
  47. package/dist/entities/careers-page/index.d.mts +1 -1
  48. package/dist/entities/category/index.cjs +15 -13
  49. package/dist/entities/category/index.d.cts +7 -6
  50. package/dist/entities/category/index.d.mts +7 -6
  51. package/dist/entities/category/index.mjs +11 -9
  52. package/dist/entities/client/index.cjs +23 -22
  53. package/dist/entities/client/index.d.cts +1 -1
  54. package/dist/entities/client/index.d.mts +1 -1
  55. package/dist/entities/client/index.mjs +16 -15
  56. package/dist/entities/client-content-pillar/index.cjs +14 -13
  57. package/dist/entities/client-content-pillar/index.d.cts +1 -1
  58. package/dist/entities/client-content-pillar/index.d.mts +1 -1
  59. package/dist/entities/client-content-pillar/index.mjs +12 -11
  60. package/dist/entities/client-media-platform/index.cjs +18 -16
  61. package/dist/entities/client-media-platform/index.d.cts +1 -1
  62. package/dist/entities/client-media-platform/index.d.mts +1 -1
  63. package/dist/entities/client-media-platform/index.mjs +13 -11
  64. package/dist/entities/client-project/index.cjs +47 -41
  65. package/dist/entities/client-project/index.d.cts +1 -1
  66. package/dist/entities/client-project/index.d.mts +1 -1
  67. package/dist/entities/client-project/index.mjs +11 -5
  68. package/dist/entities/client-report/index.cjs +18 -16
  69. package/dist/entities/client-report/index.d.cts +1 -1
  70. package/dist/entities/client-report/index.d.mts +1 -1
  71. package/dist/entities/client-report/index.mjs +14 -12
  72. package/dist/entities/client-styleguide/index.cjs +14 -13
  73. package/dist/entities/client-styleguide/index.d.cts +1 -1
  74. package/dist/entities/client-styleguide/index.d.mts +1 -1
  75. package/dist/entities/client-styleguide/index.mjs +11 -10
  76. package/dist/entities/client-user/index.cjs +7 -7
  77. package/dist/entities/client-user/index.d.cts +1 -1
  78. package/dist/entities/client-user/index.d.mts +1 -1
  79. package/dist/entities/client-user/index.mjs +5 -5
  80. package/dist/entities/comment/index.cjs +18 -16
  81. package/dist/entities/comment/index.d.cts +1 -1
  82. package/dist/entities/comment/index.d.mts +1 -1
  83. package/dist/entities/comment/index.mjs +12 -10
  84. package/dist/entities/content-pillar/index.cjs +20 -18
  85. package/dist/entities/content-pillar/index.d.cts +1 -1
  86. package/dist/entities/content-pillar/index.d.mts +1 -1
  87. package/dist/entities/content-pillar/index.mjs +15 -13
  88. package/dist/entities/faq-page/index.cjs +2 -1
  89. package/dist/entities/faq-page/index.d.cts +2 -2
  90. package/dist/entities/faq-page/index.d.mts +3 -3
  91. package/dist/entities/faq-page/index.mjs +2 -1
  92. package/dist/entities/formatter/index.d.cts +5 -5
  93. package/dist/entities/formatter/index.d.mts +5 -5
  94. package/dist/entities/gcflytour/index.cjs +21 -19
  95. package/dist/entities/gcflytour/index.d.cts +1 -1
  96. package/dist/entities/gcflytour/index.d.mts +1 -1
  97. package/dist/entities/gcflytour/index.mjs +17 -15
  98. package/dist/entities/gcflytour-snap/index.cjs +20 -18
  99. package/dist/entities/gcflytour-snap/index.d.cts +1 -1
  100. package/dist/entities/gcflytour-snap/index.d.mts +1 -1
  101. package/dist/entities/gcflytour-snap/index.mjs +16 -14
  102. package/dist/entities/landing-page/index.d.cts +2 -2
  103. package/dist/entities/landing-page/index.d.mts +3 -3
  104. package/dist/entities/lead/index.cjs +25 -23
  105. package/dist/entities/lead/index.mjs +15 -13
  106. package/dist/entities/media-content-type/index.cjs +21 -19
  107. package/dist/entities/media-content-type/index.d.cts +7 -6
  108. package/dist/entities/media-content-type/index.d.mts +7 -6
  109. package/dist/entities/media-content-type/index.mjs +17 -15
  110. package/dist/entities/media-creative-format/index.cjs +19 -17
  111. package/dist/entities/media-creative-format/index.d.cts +7 -6
  112. package/dist/entities/media-creative-format/index.d.mts +7 -6
  113. package/dist/entities/media-creative-format/index.mjs +15 -13
  114. package/dist/entities/media-medium/index.cjs +19 -17
  115. package/dist/entities/media-medium/index.d.cts +7 -6
  116. package/dist/entities/media-medium/index.d.mts +7 -6
  117. package/dist/entities/media-medium/index.mjs +15 -13
  118. package/dist/entities/media-platform/index.cjs +27 -24
  119. package/dist/entities/media-platform/index.d.cts +1 -1
  120. package/dist/entities/media-platform/index.d.mts +1 -1
  121. package/dist/entities/media-platform/index.mjs +23 -20
  122. package/dist/entities/monday-workspace/index.cjs +17 -15
  123. package/dist/entities/monday-workspace/index.d.cts +1 -1
  124. package/dist/entities/monday-workspace/index.d.mts +1 -1
  125. package/dist/entities/monday-workspace/index.mjs +11 -9
  126. package/dist/entities/newsletter-signup/index.cjs +25 -23
  127. package/dist/entities/newsletter-signup/index.mjs +13 -11
  128. package/dist/entities/policy-page/index.cjs +2 -1
  129. package/dist/entities/policy-page/index.d.cts +1 -1
  130. package/dist/entities/policy-page/index.d.mts +2 -2
  131. package/dist/entities/policy-page/index.mjs +2 -1
  132. package/dist/entities/product/index.cjs +1 -1
  133. package/dist/entities/product/index.d.cts +1 -1
  134. package/dist/entities/product/index.d.mts +1 -1
  135. package/dist/entities/product/index.mjs +1 -1
  136. package/dist/entities/product-highlight/index.cjs +1 -1
  137. package/dist/entities/product-highlight/index.d.cts +1 -1
  138. package/dist/entities/product-highlight/index.d.mts +1 -1
  139. package/dist/entities/product-highlight/index.mjs +1 -1
  140. package/dist/entities/resume/index.cjs +43 -40
  141. package/dist/entities/resume/index.mjs +16 -13
  142. package/dist/entities/sharpspring/index.cjs +9 -8
  143. package/dist/entities/sharpspring/index.mjs +6 -5
  144. package/dist/entities/tag/index.cjs +15 -13
  145. package/dist/entities/tag/index.d.cts +6 -5
  146. package/dist/entities/tag/index.d.mts +7 -6
  147. package/dist/entities/tag/index.mjs +11 -9
  148. package/dist/entities/team-member/index.cjs +11 -9
  149. package/dist/entities/team-member/index.d.cts +2 -2
  150. package/dist/entities/team-member/index.d.mts +2 -2
  151. package/dist/entities/team-member/index.mjs +7 -4
  152. package/dist/entities/team-page/index.d.cts +1 -1
  153. package/dist/entities/team-page/index.d.mts +1 -1
  154. package/dist/entities/teamwork/index.cjs +12 -11
  155. package/dist/entities/teamwork/index.d.mts +1 -1
  156. package/dist/entities/teamwork/index.mjs +7 -6
  157. package/dist/entities/trend/index.cjs +2 -2
  158. package/dist/entities/trend/index.d.cts +1 -1
  159. package/dist/entities/trend/index.d.mts +1 -1
  160. package/dist/entities/trend/index.mjs +2 -2
  161. package/dist/entities/up-auth/index.cjs +18 -15
  162. package/dist/entities/up-auth/index.d.cts +1 -1
  163. package/dist/entities/up-auth/index.d.mts +1 -1
  164. package/dist/entities/up-auth/index.mjs +6 -3
  165. package/dist/entities/up-permission/index.cjs +1 -1
  166. package/dist/entities/up-permission/index.d.cts +1 -1
  167. package/dist/entities/up-permission/index.d.mts +1 -1
  168. package/dist/entities/up-permission/index.mjs +1 -1
  169. package/dist/entities/up-role/index.cjs +1 -1
  170. package/dist/entities/up-role/index.d.cts +1 -1
  171. package/dist/entities/up-role/index.d.mts +1 -1
  172. package/dist/entities/up-role/index.mjs +1 -1
  173. package/dist/entities/up-user/index.cjs +2 -1
  174. package/dist/entities/up-user/index.d.cts +2 -2
  175. package/dist/entities/up-user/index.d.mts +2 -2
  176. package/dist/entities/up-user/index.mjs +2 -2
  177. package/dist/entities/upload/index.cjs +11 -11
  178. package/dist/entities/upload/index.mjs +7 -7
  179. package/dist/entities/url-redirect/index.cjs +5 -4
  180. package/dist/entities/url-redirect/index.d.cts +3 -2
  181. package/dist/entities/url-redirect/index.d.mts +3 -2
  182. package/dist/entities/url-redirect/index.mjs +4 -3
  183. package/dist/entities/user-account/index.cjs +10 -11
  184. package/dist/entities/user-account/index.d.cts +2 -2
  185. package/dist/entities/user-account/index.d.mts +2 -2
  186. package/dist/entities/user-account/index.mjs +10 -11
  187. package/dist/entities/utm-link-builder/index.cjs +30 -36
  188. package/dist/entities/utm-link-builder/index.d.cts +6 -6
  189. package/dist/entities/utm-link-builder/index.d.mts +6 -6
  190. package/dist/entities/utm-link-builder/index.mjs +22 -28
  191. package/dist/entities/utm-tracking-link/index.cjs +110 -104
  192. package/dist/entities/utm-tracking-link/index.d.cts +2 -2
  193. package/dist/entities/utm-tracking-link/index.d.mts +2 -2
  194. package/dist/entities/utm-tracking-link/index.mjs +68 -68
  195. package/dist/error-messages-9ZhRqNGW.mjs +10 -0
  196. package/dist/error-messages-C0I1kOur.cjs +51 -0
  197. package/dist/generators/index.cjs +231 -0
  198. package/dist/generators/index.d.cts +19 -0
  199. package/dist/generators/index.d.mts +19 -0
  200. package/dist/generators/index.mjs +226 -0
  201. package/dist/index-BOxQLeAK.d.cts +317 -0
  202. package/dist/index-BSYaAtme.d.mts +486 -0
  203. package/dist/index-BT8Pa9XY.d.mts +317 -0
  204. package/dist/{index-DXo7B4ng.d.mts → index-Bjjp-2Sa.d.mts} +20 -99
  205. package/dist/{index-DXUuI-fJ.d.cts → index-C1GoH-4v.d.cts} +91 -76
  206. package/dist/{index-D_YPjLxv.d.cts → index-CBW5QmNu.d.cts} +4 -3
  207. package/dist/index-COpLbpQC.d.cts +486 -0
  208. package/dist/{index-DEm89ERm.d.mts → index-ClQOYhKi.d.mts} +94 -79
  209. package/dist/index-Cqmmzi2g.d.mts +944 -0
  210. package/dist/{index-B_L_83Q2.d.cts → index-D7QXaSOY.d.cts} +19 -98
  211. package/dist/index-DG_Lwaa7.d.cts +1324 -0
  212. package/dist/{index-D3KnOYr7.d.mts → index-DKFW5ay8.d.mts} +4 -3
  213. package/dist/index-Dvu63a8_.d.mts +1324 -0
  214. package/dist/index-WN2TBKki.d.cts +944 -0
  215. package/dist/limits-CKGuEuKA.mjs +37 -0
  216. package/dist/{regex-Cl5goNwp.cjs → limits-CW6iJ7kB.cjs} +0 -102
  217. package/dist/number-Bt4nZKCU.cjs +19 -0
  218. package/dist/number-OMFRufFt.mjs +6 -0
  219. package/dist/pagination-D5l_UjyM.mjs +7 -0
  220. package/dist/pagination-DWZDPzR4.cjs +20 -0
  221. package/dist/permissions/index.cjs +2 -2
  222. package/dist/permissions/index.d.cts +1 -1
  223. package/dist/permissions/index.d.mts +1 -1
  224. package/dist/permissions/index.mjs +2 -2
  225. package/dist/phone-C9TNVDm_.mjs +8 -0
  226. package/dist/phone-D_ZLG1Qv.cjs +21 -0
  227. package/dist/{query-DHY-nlUQ.mjs → query-BR5Ze6T2.mjs} +7 -11
  228. package/dist/{query-DelNcssC.cjs → query-qQ_HLlxx.cjs} +13 -29
  229. package/dist/regex-BEFTMiHO.cjs +51 -0
  230. package/dist/regex-pSdcbWzV.mjs +10 -0
  231. package/dist/relation-Bd-xUcj8.cjs +33 -0
  232. package/dist/relation-DMhLjp7K.mjs +8 -0
  233. package/dist/{relationships-HTBNe0F-.cjs → relationships-DjHwYd4r.cjs} +23 -9
  234. package/dist/{relationships-C6xfgdwR.mjs → relationships-yPO5SILR.mjs} +7 -5
  235. package/dist/slug-BUtm1t-B.mjs +7 -0
  236. package/dist/slug-cWXTZEIT.cjs +14 -0
  237. package/dist/sort-CI87SH1y.cjs +33 -0
  238. package/dist/sort-D3WwshqQ.mjs +14 -0
  239. package/dist/{strapi-DvyAfgFF.mjs → strapi-B2cNPAao.mjs} +1 -1
  240. package/dist/{strapi-QFDWi4vD.cjs → strapi-RlhF30B7.cjs} +1 -1
  241. package/dist/string-BHHnD2Qu.mjs +42 -0
  242. package/dist/string-Yn-6xiAZ.cjs +97 -0
  243. package/dist/urls-UOvhCu0z.mjs +14 -0
  244. package/dist/urls-og5upHgL.cjs +27 -0
  245. package/dist/utilities/index.cjs +1 -1
  246. package/dist/utilities/index.d.cts +6 -6
  247. package/dist/utilities/index.d.mts +6 -6
  248. package/dist/utilities/index.mjs +1 -1
  249. package/dist/utm-BqkYlpua.cjs +47 -0
  250. package/dist/utm-ZUwmBoR2.mjs +28 -0
  251. package/dist/validators/index.cjs +36 -0
  252. package/dist/validators/index.d.cts +94 -0
  253. package/dist/validators/index.d.mts +94 -0
  254. package/dist/validators/index.mjs +10 -0
  255. package/package.json +29 -2
  256. package/dist/index-B3VtiObV.d.mts +0 -317
  257. package/dist/index-BxEBUjx2.d.mts +0 -486
  258. package/dist/index-CQP_vcmO.d.cts +0 -317
  259. package/dist/index-CRoWUxGV.d.cts +0 -1324
  260. package/dist/index-DYSlcIkJ.d.mts +0 -945
  261. package/dist/index-Dmtom8iC.d.cts +0 -945
  262. package/dist/index-auU0DaW5.d.cts +0 -486
  263. package/dist/index-oCLNrzIj.d.mts +0 -1324
  264. package/dist/regex-BnKGcdS4.mjs +0 -55
  265. package/dist/validators-Bc9Is5Sr.cjs +0 -222
  266. package/dist/validators-P5E_3qzc.mjs +0 -95
  267. /package/dist/{abac-DPd9oLKR.mjs → abac-BPxkvVVy.mjs} +0 -0
  268. /package/dist/{abac-BeKQtxIF.cjs → abac-YYI2Ckwv.cjs} +0 -0
  269. /package/dist/{constants-Htf-MeCA.mjs → constants-C4cy6LoY.mjs} +0 -0
  270. /package/dist/{constants-f1GP2eiq.cjs → constants-D6DsS_A0.cjs} +0 -0
  271. /package/dist/{document-DaICHS9G.cjs → document-B4FY2KXQ.cjs} +0 -0
  272. /package/dist/{document-c3GNPelp.mjs → document-De-prPhc.mjs} +0 -0
  273. /package/dist/{document-CbE38CzE.d.mts → document-DxjJgk8X.d.mts} +0 -0
  274. /package/dist/{index-DLICmJ_-.d.mts → index-BSEaV9wd.d.mts} +0 -0
  275. /package/dist/{json-BrVkpLbC.d.mts → json--oetJLQY.d.mts} +0 -0
  276. /package/dist/{media-upload-DKeA1eD-.d.mts → media-upload-DBG7YyU4.d.mts} +0 -0
  277. /package/dist/{strapi-BDLWeEyv.mjs → strapi-CE9bz7Kc.mjs} +0 -0
  278. /package/dist/{strapi-C4HuWGb_.cjs → strapi-D8C1C0D7.cjs} +0 -0
@@ -1,6 +1,8 @@
1
- import { J as ERROR_MESSAGE_UTM_URL, K as ERROR_MESSAGE_URL_NO_QUERY_PARAMS, U as ERROR_MESSAGE_INVALID_URL, r as ERROR_MESSAGE_REGEX_UTM_VALUE, s as REGEX_UTM_VALUE } from "../../regex-BnKGcdS4.mjs";
2
- import { d as VStringMinMax, l as VStringMax, t as VIntegerNullable, u as VStringMaxRegex } from "../../validators-P5E_3qzc.mjs";
3
- import { a as SAssociateOneEntity } from "../../relationships-C6xfgdwR.mjs";
1
+ import "../../limits-CKGuEuKA.mjs";
2
+ import { a as VStringMinMax, i as VStringMax } from "../../string-BHHnD2Qu.mjs";
3
+ import { o as SAssociateOneEntity } from "../../relationships-yPO5SILR.mjs";
4
+ import { t as VIntegerNullable } from "../../number-OMFRufFt.mjs";
5
+ import { n as VStringUrlUtm, r as VStringUtmKey, t as VStringUrlNoUtm } from "../../utm-ZUwmBoR2.mjs";
4
6
  import * as v from "valibot";
5
7
  //#region src/entities/utm-link-builder/constants.ts
6
8
  const UTM_LINK_BUILDER_PART_CAMPAIGN_DATE_OPTIONS = [
@@ -16,10 +18,10 @@ const UtmLinkBuilderPartCampaignDate = v.picklist(UTM_LINK_BUILDER_PART_CAMPAIGN
16
18
  //#endregion
17
19
  //#region src/entities/utm-link-builder/mutation.ts
18
20
  const SUtmLinkBuilderCampaign = v.object({
19
- campaign_phase: VStringMinMax(1, 255),
21
+ campaign_phase: VStringMinMax(),
20
22
  campaign_product: v.optional(VStringMax()),
21
- campaign_targeting: v.optional(v.pipe(v.array(VStringMaxRegex(255, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE)), v.maxLength(10))),
22
- campaign_key: v.optional(VStringMaxRegex(255, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE)),
23
+ campaign_targeting: v.optional(v.pipe(v.array(VStringUtmKey()), v.maxLength(10))),
24
+ campaign_key: v.optional(VStringUtmKey()),
23
25
  campaign_date: v.object({
24
26
  format: UtmLinkBuilderPartCampaignDate,
25
27
  value: v.object({
@@ -31,47 +33,39 @@ const SUtmLinkBuilderCampaign = v.object({
31
33
  })
32
34
  });
33
35
  const SUtmLinkBuilderCreativeFormat = v.object({
34
- creative_format: v.optional(VStringMax(255)),
35
- creative_format_variants: v.optional(v.array(VStringMax(255))),
36
+ creative_format: v.optional(VStringMax()),
37
+ creative_format_variants: v.optional(v.array(VStringMax())),
36
38
  creative_size: v.optional(v.object({
37
39
  width: VIntegerNullable(),
38
40
  height: VIntegerNullable(),
39
- key: v.optional(VStringMax(255))
41
+ key: v.optional(VStringMax())
40
42
  }))
41
43
  });
42
44
  const SUtmLinkBuilderTableForm = v.object({
43
45
  creator: SAssociateOneEntity,
44
46
  client: SAssociateOneEntity,
45
47
  variants: v.pipe(v.array(v.object({
46
- url_destinations: v.pipe(v.array(v.object({ url: v.pipe(v.string(), v.trim(), v.url(ERROR_MESSAGE_INVALID_URL), v.check((input) => {
47
- if (input === "") return false;
48
- return input.indexOf("?") === -1;
49
- }, ERROR_MESSAGE_URL_NO_QUERY_PARAMS)) })), v.minLength(1), v.maxLength(100)),
50
- source: VStringMax(255),
51
- mediums: v.pipe(v.array(VStringMax(255)), v.minLength(1), v.maxLength(10)),
48
+ url_destinations: v.pipe(v.array(v.object({ url: VStringUrlNoUtm() })), v.minLength(1), v.maxLength(100)),
49
+ source: VStringMax(),
50
+ mediums: v.pipe(v.array(VStringMax()), v.minLength(1), v.maxLength(10)),
52
51
  campaign: SUtmLinkBuilderCampaign,
53
- content: v.optional(VStringMax(255)),
52
+ content: v.optional(VStringMax()),
54
53
  creative_formats: v.optional(v.pipe(v.array(SUtmLinkBuilderCreativeFormat), v.maxLength(10))),
55
- id: v.optional(VStringMinMax(1, 255))
54
+ id: v.optional(VStringMinMax())
56
55
  })), v.minLength(1), v.maxLength(10)),
57
56
  notes: v.optional(VStringMax())
58
57
  });
59
58
  const SUtmLinkBuilderSingleForm = v.object({
60
59
  creator: SAssociateOneEntity,
61
60
  client: SAssociateOneEntity,
62
- url_destination: v.pipe(v.string(), v.trim(), v.url(ERROR_MESSAGE_INVALID_URL), v.check((input) => {
63
- if (input === "") return false;
64
- return input.indexOf("?") === -1;
65
- }, ERROR_MESSAGE_URL_NO_QUERY_PARAMS)),
66
- source: VStringMax(255),
67
- medium: VStringMax(255),
61
+ url_destination: VStringUrlNoUtm(),
62
+ source: VStringMax(),
63
+ medium: VStringMax(),
68
64
  campaign: SUtmLinkBuilderCampaign,
69
- content: v.optional(VStringMax(255)),
65
+ content: v.optional(VStringMax()),
70
66
  creative_format: v.optional(SUtmLinkBuilderCreativeFormat),
71
- id: v.optional(VStringMinMax(1, 255)),
72
- url: v.pipe(v.string(), v.trim(), v.url(ERROR_MESSAGE_INVALID_URL), v.check((input) => {
73
- return input.includes("utm_");
74
- }, ERROR_MESSAGE_UTM_URL)),
67
+ id: v.optional(VStringMinMax()),
68
+ url: VStringUrlUtm(),
75
69
  notes: v.optional(VStringMax())
76
70
  });
77
71
  //#endregion
@@ -1,9 +1,14 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_chunk = require("../../chunk-CKQMccvm.cjs");
3
- const require_regex = require("../../regex-Cl5goNwp.cjs");
4
- const require_validators = require("../../validators-Bc9Is5Sr.cjs");
5
- const require_relationships = require("../../relationships-HTBNe0F-.cjs");
6
- const require_document = require("../../document-DOVZwQRq.cjs");
3
+ const require_limits = require("../../limits-CW6iJ7kB.cjs");
4
+ const require_pagination = require("../../pagination-DWZDPzR4.cjs");
5
+ const require_sort = require("../../sort-CI87SH1y.cjs");
6
+ const require_regex = require("../../regex-BEFTMiHO.cjs");
7
+ const require_string = require("../../string-Yn-6xiAZ.cjs");
8
+ const require_relationships = require("../../relationships-DjHwYd4r.cjs");
9
+ require("../../constants/index.cjs");
10
+ const require_utm = require("../../utm-BqkYlpua.cjs");
11
+ const require_document = require("../../document-DwkycUz9.cjs");
7
12
  let valibot = require("valibot");
8
13
  valibot = require_chunk.__toESM(valibot, 1);
9
14
  //#region src/entities/utm-tracking-link/constants.ts
@@ -33,98 +38,98 @@ const UTM_TRACKING_LINK_SORT_KEYS = [
33
38
  ];
34
39
  //#endregion
35
40
  //#region src/entities/utm-tracking-link/fields.ts
36
- const QuerySortUtmTrackingLinks = valibot.optional(valibot.pipe(valibot.array(valibot.picklist(UTM_TRACKING_LINK_SORT_KEYS.flatMap((k) => [`${k}:ASC`, `${k}:DESC`]))), valibot.maxLength(UTM_TRACKING_LINK_SORT_KEYS.length)));
41
+ const QuerySortUtmTrackingLinks = require_sort.createQuerySort(UTM_TRACKING_LINK_SORT_KEYS);
42
+ const ValidUtmSource = require_string.VStringMinMaxRegex(1, require_limits.LIMIT_MAX_UTM_SOURCE, require_regex.REGEX_UTM_VALUE, require_regex.ERROR_MESSAGE_REGEX_UTM_VALUE);
43
+ const ValidUtmMedium = require_string.VStringMinMaxRegex(1, require_limits.LIMIT_MAX_UTM_MEDIUM, require_regex.REGEX_UTM_VALUE, require_regex.ERROR_MESSAGE_REGEX_UTM_VALUE);
44
+ const ValidUtmCampaign = require_string.VStringMinMaxRegex(1, require_limits.LIMIT_MAX_UTM_CAMPAIGN, require_regex.REGEX_UTM_VALUE, require_regex.ERROR_MESSAGE_REGEX_UTM_VALUE);
45
+ const ValidUtmContent = require_string.VStringMinMaxRegex(1, require_limits.LIMIT_MAX_UTM_CONTENT, require_regex.REGEX_UTM_VALUE, require_regex.ERROR_MESSAGE_REGEX_UTM_VALUE);
46
+ const ValidUtmCreativeFormat = require_string.VStringMinMaxRegex(1, require_limits.LIMIT_MAX_UTM_CREATIVE_FORMAT, require_regex.REGEX_UTM_VALUE, require_regex.ERROR_MESSAGE_REGEX_UTM_VALUE);
47
+ const ValidUtmId = require_string.VStringMinMaxRegex(1, require_limits.LIMIT_MAX_UTM_ID, require_regex.REGEX_UTM_VALUE, require_regex.ERROR_MESSAGE_REGEX_UTM_VALUE);
37
48
  //#endregion
38
49
  //#region src/entities/utm-tracking-link/mutation.ts
39
50
  const CreateUtmTrackingLinkDocument = valibot.object({
40
- creator: require_validators.VStringShort(),
41
- client: require_validators.VStringShort(),
42
- url_destination: require_validators.VStringUrlNoUtm(),
43
- utm_source: require_validators.VStringMinMaxRegex(1, require_regex.LIMIT_MAX_UTM_SOURCE, require_regex.REGEX_UTM_VALUE, require_regex.ERROR_MESSAGE_REGEX_UTM_VALUE),
44
- utm_medium: require_validators.VStringMinMaxRegex(1, require_regex.LIMIT_MAX_UTM_MEDIUM, require_regex.REGEX_UTM_VALUE, require_regex.ERROR_MESSAGE_REGEX_UTM_VALUE),
45
- utm_campaign: require_validators.VStringMinMaxRegex(1, require_regex.LIMIT_MAX_UTM_CAMPAIGN, require_regex.REGEX_UTM_VALUE, require_regex.ERROR_MESSAGE_REGEX_UTM_VALUE),
46
- utm_content: require_validators.VStringShortNullable(),
47
- utm_creative_format: require_validators.VStringShortNullable(),
48
- utm_id: require_validators.VStringShortNullable(),
49
- campaign_phase: require_validators.VStringShort(),
50
- campaign_product: require_validators.VStringShortNullable(),
51
- campaign_targeting: valibot.optional(valibot.nullable(valibot.pipe(valibot.array(require_validators.VStringMax()), valibot.transform((value) => value.join(","))))),
52
- campaign_key: valibot.optional(valibot.nullable(require_validators.VStringMinMaxRegex(1, 255, require_regex.REGEX_UTM_VALUE, require_regex.ERROR_MESSAGE_REGEX_UTM_VALUE))),
53
- creative_format: require_validators.VStringShortNullable(),
54
- creative_format_variants: valibot.optional(valibot.nullable(valibot.pipe(valibot.array(require_validators.VStringMax()), valibot.transform((value) => value.join(","))))),
55
- url: valibot.pipe(valibot.string(), valibot.trim(), valibot.url(require_regex.ERROR_MESSAGE_INVALID_URL), valibot.check((input) => {
56
- return input.includes("utm_");
57
- }, require_regex.ERROR_MESSAGE_UTM_URL)),
51
+ creator: require_string.VStringShort(),
52
+ client: require_string.VStringShort(),
53
+ url_destination: require_utm.VStringUrlNoUtm(),
54
+ utm_source: ValidUtmSource,
55
+ utm_medium: ValidUtmMedium,
56
+ utm_campaign: ValidUtmCampaign,
57
+ utm_content: require_string.VStringShortNullable(),
58
+ utm_creative_format: require_string.VStringShortNullable(),
59
+ utm_id: require_string.VStringShortNullable(),
60
+ campaign_phase: require_string.VStringShort(),
61
+ campaign_product: require_string.VStringShortNullable(),
62
+ campaign_targeting: valibot.optional(valibot.nullable(require_string.VStringShortToCSV())),
63
+ campaign_key: require_string.VStringShortNullable(),
64
+ creative_format: require_string.VStringShortNullable(),
65
+ creative_format_variants: valibot.optional(valibot.nullable(require_string.VStringShortToCSV())),
66
+ url: require_utm.VStringUrlUtm(),
58
67
  is_active: valibot.boolean(),
59
- notes: require_validators.VStringLongNullable()
68
+ notes: require_string.VStringLongNullable()
60
69
  });
61
70
  const CreateUtmTrackingLinkDocumentRequest = valibot.object({
62
- creator: require_validators.VStringShort(),
63
- client: require_validators.VStringShort(),
64
- url_destination: require_validators.VStringUrlNoUtm(),
65
- utm_source: require_validators.VStringMinMaxRegex(1, require_regex.LIMIT_MAX_UTM_SOURCE, require_regex.REGEX_UTM_VALUE, require_regex.ERROR_MESSAGE_REGEX_UTM_VALUE),
66
- utm_medium: require_validators.VStringMinMaxRegex(1, require_regex.LIMIT_MAX_UTM_MEDIUM, require_regex.REGEX_UTM_VALUE, require_regex.ERROR_MESSAGE_REGEX_UTM_VALUE),
67
- utm_campaign: require_validators.VStringMinMaxRegex(1, require_regex.LIMIT_MAX_UTM_CAMPAIGN, require_regex.REGEX_UTM_VALUE, require_regex.ERROR_MESSAGE_REGEX_UTM_VALUE),
68
- utm_content: valibot.optional(valibot.nullable(require_validators.VStringMinMax(1, 255))),
69
- utm_creative_format: valibot.optional(valibot.nullable(require_validators.VStringMinMax(1, 255))),
70
- utm_id: valibot.optional(valibot.nullable(require_validators.VStringMinMax(1, 255))),
71
- campaign_phase: require_validators.VStringShort(),
72
- campaign_product: valibot.optional(valibot.nullable(require_validators.VStringMinMax(1, 255))),
73
- campaign_targeting: require_validators.VStringShortNullable(),
74
- campaign_key: valibot.optional(valibot.nullable(require_validators.VStringMinMaxRegex(1, 255, require_regex.REGEX_UTM_VALUE, require_regex.ERROR_MESSAGE_REGEX_UTM_VALUE))),
75
- creative_format: valibot.optional(valibot.nullable(require_validators.VStringMinMax(1, 255))),
76
- creative_format_variants: require_validators.VStringShortNullable(),
77
- url: valibot.pipe(valibot.string(), valibot.trim(), valibot.url(require_regex.ERROR_MESSAGE_INVALID_URL), valibot.check((input) => {
78
- return input.includes("utm_");
79
- }, require_regex.ERROR_MESSAGE_UTM_URL)),
71
+ creator: require_string.VStringShort(),
72
+ client: require_string.VStringShort(),
73
+ url_destination: require_utm.VStringUrlNoUtm(),
74
+ utm_source: ValidUtmSource,
75
+ utm_medium: ValidUtmMedium,
76
+ utm_campaign: ValidUtmCampaign,
77
+ utm_content: valibot.optional(valibot.nullable(require_string.VStringMinMax())),
78
+ utm_creative_format: valibot.optional(valibot.nullable(require_string.VStringMinMax())),
79
+ utm_id: valibot.optional(valibot.nullable(require_string.VStringMinMax())),
80
+ campaign_phase: require_string.VStringShort(),
81
+ campaign_product: require_string.VStringShortNullable(),
82
+ campaign_targeting: require_string.VStringShortNullable(),
83
+ campaign_key: require_string.VStringShortNullable(),
84
+ creative_format: require_string.VStringShortNullable(),
85
+ creative_format_variants: require_string.VStringShortNullable(),
86
+ url: require_utm.VStringUrlUtm(),
80
87
  is_active: valibot.boolean(),
81
- notes: valibot.optional(valibot.nullable(require_validators.VStringMinMaxRegex(1, require_regex.LIMIT_LONG_STRING_MAX_LENGTH, require_regex.REGEX_UTM_VALUE, require_regex.ERROR_MESSAGE_REGEX_UTM_VALUE)))
88
+ notes: require_string.VStringLongNullable()
82
89
  });
83
90
  const CreateUtmTrackingLinkParts = valibot.object({
84
- url_destination: require_validators.VStringUrlNoUtm(),
85
- utm_source: require_validators.VStringMinMaxRegex(1, require_regex.LIMIT_MAX_UTM_SOURCE, require_regex.REGEX_UTM_VALUE, require_regex.ERROR_MESSAGE_REGEX_UTM_VALUE),
86
- utm_medium: require_validators.VStringMinMaxRegex(1, require_regex.LIMIT_MAX_UTM_MEDIUM, require_regex.REGEX_UTM_VALUE, require_regex.ERROR_MESSAGE_REGEX_UTM_VALUE),
87
- utm_campaign: require_validators.VStringMinMaxRegex(1, require_regex.LIMIT_MAX_UTM_CAMPAIGN, require_regex.REGEX_UTM_VALUE, require_regex.ERROR_MESSAGE_REGEX_UTM_VALUE),
88
- utm_content: valibot.optional(valibot.nullable(require_validators.VStringMinMax(1, 255))),
89
- utm_creative_format: valibot.optional(valibot.nullable(require_validators.VStringMinMax(1, 255))),
90
- utm_id: valibot.optional(valibot.nullable(require_validators.VStringMinMax(1, 255))),
91
- campaign_phase: require_validators.VStringShort(),
92
- campaign_product: valibot.optional(valibot.nullable(require_validators.VStringMinMax(1, 255))),
93
- campaign_targeting: valibot.optional(valibot.nullable(valibot.pipe(valibot.array(require_validators.VStringShort()), valibot.transform((value) => value.join(","))))),
94
- campaign_key: valibot.optional(require_validators.VStringMinMaxRegex(1, 255, require_regex.REGEX_UTM_VALUE, require_regex.ERROR_MESSAGE_REGEX_UTM_VALUE)),
95
- creative_format: valibot.optional(valibot.nullable(require_validators.VStringMinMax(1, 255))),
96
- creative_format_variants: valibot.optional(valibot.nullable(valibot.pipe(valibot.array(require_validators.VStringShort()), valibot.transform((value) => value.join(","))))),
97
- url: require_validators.VStringUrlUtm(),
91
+ url_destination: require_utm.VStringUrlNoUtm(),
92
+ utm_source: ValidUtmSource,
93
+ utm_medium: ValidUtmMedium,
94
+ utm_campaign: ValidUtmCampaign,
95
+ utm_content: valibot.optional(valibot.nullable(require_string.VStringMinMax())),
96
+ utm_creative_format: valibot.optional(valibot.nullable(require_string.VStringMinMax())),
97
+ utm_id: valibot.optional(valibot.nullable(require_string.VStringMinMax())),
98
+ campaign_phase: require_string.VStringShort(),
99
+ campaign_product: require_string.VStringShortNullable(),
100
+ campaign_targeting: valibot.optional(valibot.nullable(require_string.VStringShortToCSV())),
101
+ campaign_key: require_string.VStringShortNullable(),
102
+ creative_format: require_string.VStringShortNullable(),
103
+ creative_format_variants: valibot.optional(valibot.nullable(require_string.VStringShortToCSV())),
104
+ url: require_utm.VStringUrlUtm(),
98
105
  is_active: valibot.boolean(),
99
- notes: valibot.optional(valibot.nullable(require_validators.VStringMinMaxRegex(1, require_regex.LIMIT_LONG_STRING_MAX_LENGTH, require_regex.REGEX_UTM_VALUE, require_regex.ERROR_MESSAGE_REGEX_UTM_VALUE)))
106
+ notes: require_string.VStringLongNullable()
100
107
  });
101
108
  const SFormCreateMultipleUtmTrackingLinkDocuments = valibot.object({
102
- creator: require_validators.VStringShort(),
103
- client: require_validators.VStringShort(),
109
+ creator: require_string.VStringShort(),
110
+ client: require_string.VStringShort(),
104
111
  links: valibot.pipe(valibot.array(CreateUtmTrackingLinkParts), valibot.minLength(1), valibot.maxLength(100))
105
112
  });
106
- const SReadUtmTrackingLinkDocumentByUrl = valibot.object({ url: valibot.pipe(valibot.string(), valibot.trim(), valibot.url(require_regex.ERROR_MESSAGE_INVALID_URL), valibot.check((input) => {
107
- return input.includes("utm_");
108
- }, require_regex.ERROR_MESSAGE_UTM_URL)) });
113
+ const SReadUtmTrackingLinkDocumentByUrl = valibot.object({ url: require_utm.VStringUrlUtm() });
109
114
  const UpdateUtmTrackingLinkDocument = valibot.object({
110
- creator: valibot.optional(require_validators.VStringShort()),
111
- client: valibot.optional(require_validators.VStringShort()),
112
- url_destination: require_validators.VStringUrlNoUtm(),
113
- utm_source: require_validators.VStringMinMaxRegex(1, require_regex.LIMIT_MAX_UTM_SOURCE, require_regex.REGEX_UTM_VALUE, require_regex.ERROR_MESSAGE_REGEX_UTM_VALUE),
114
- utm_medium: require_validators.VStringMinMaxRegex(1, require_regex.LIMIT_MAX_UTM_MEDIUM, require_regex.REGEX_UTM_VALUE, require_regex.ERROR_MESSAGE_REGEX_UTM_VALUE),
115
- utm_campaign: require_validators.VStringMinMaxRegex(1, require_regex.LIMIT_MAX_UTM_CAMPAIGN, require_regex.REGEX_UTM_VALUE, require_regex.ERROR_MESSAGE_REGEX_UTM_VALUE),
116
- utm_content: valibot.optional(valibot.nullable(require_validators.VStringMinMax(1, 255))),
117
- utm_creative_format: valibot.optional(valibot.nullable(require_validators.VStringMinMax(1, 255))),
118
- utm_id: valibot.optional(valibot.nullable(require_validators.VStringMinMax(1, 255))),
119
- campaign_phase: require_validators.VStringShort(),
120
- campaign_product: valibot.optional(valibot.nullable(require_validators.VStringMinMax(1, 255))),
121
- campaign_targeting: valibot.optional(valibot.nullable(valibot.pipe(valibot.array(require_validators.VStringShort()), valibot.transform((value) => value.join(","))))),
122
- campaign_key: valibot.optional(valibot.nullable(require_validators.VStringMinMaxRegex(1, 255, require_regex.REGEX_UTM_VALUE, require_regex.ERROR_MESSAGE_REGEX_UTM_VALUE))),
123
- creative_format: valibot.optional(valibot.nullable(require_validators.VStringMinMax(1, 255))),
124
- creative_format_variants: valibot.optional(valibot.nullable(valibot.pipe(valibot.array(require_relationships.SAssociateOneEntity), valibot.transform((value) => value.join(","))))),
125
- url: require_validators.VStringUrlUtm(),
115
+ creator: valibot.optional(require_string.VStringShort()),
116
+ client: valibot.optional(require_string.VStringShort()),
117
+ url_destination: require_utm.VStringUrlNoUtm(),
118
+ utm_source: ValidUtmSource,
119
+ utm_medium: ValidUtmMedium,
120
+ utm_campaign: ValidUtmCampaign,
121
+ utm_content: valibot.optional(valibot.nullable(require_string.VStringMinMax())),
122
+ utm_creative_format: valibot.optional(valibot.nullable(require_string.VStringMinMax())),
123
+ utm_id: valibot.optional(valibot.nullable(require_string.VStringMinMax())),
124
+ campaign_phase: require_string.VStringShort(),
125
+ campaign_product: valibot.optional(valibot.nullable(require_string.VStringMinMax())),
126
+ campaign_targeting: valibot.optional(valibot.nullable(require_string.VStringShortToCSV())),
127
+ campaign_key: require_string.VStringShortNullable(),
128
+ creative_format: require_string.VStringShortNullable(),
129
+ creative_format_variants: valibot.optional(valibot.nullable(require_string.VStringShortToCSV())),
130
+ url: require_utm.VStringUrlUtm(),
126
131
  is_active: valibot.boolean(),
127
- notes: valibot.optional(valibot.nullable(require_validators.VStringMinMaxRegex(1, require_regex.LIMIT_LONG_STRING_MAX_LENGTH, require_regex.REGEX_UTM_VALUE, require_regex.ERROR_MESSAGE_REGEX_UTM_VALUE)))
132
+ notes: require_string.VStringLongNullable()
128
133
  });
129
134
  const UpdateUtmTrackingLinkDocumentRequest = valibot.object({
130
135
  documentId: require_relationships.SAssociateOneEntity,
@@ -133,33 +138,28 @@ const UpdateUtmTrackingLinkDocumentRequest = valibot.object({
133
138
  //#endregion
134
139
  //#region src/entities/utm-tracking-link/query.ts
135
140
  const QueryStrapiSearchUtmTrackingLinks = valibot.object({
136
- page: require_validators.VPage(),
137
- size: require_validators.VSize(100),
138
- client_id: valibot.optional(require_validators.VStringShort()),
139
- creator_id: valibot.optional(require_validators.VStringShort()),
141
+ page: require_pagination.VPage(),
142
+ size: require_pagination.VSize(100),
143
+ client_id: valibot.optional(require_string.VStringShort()),
144
+ creator_id: valibot.optional(require_string.VStringShort()),
140
145
  clients: valibot.optional(require_relationships.SQueryManyEntities),
141
146
  users: valibot.optional(require_relationships.SQueryManyEntities),
142
- url_destination: valibot.optional(valibot.pipe(valibot.string(), valibot.trim(), valibot.url(require_regex.ERROR_MESSAGE_INVALID_URL), valibot.check((input) => {
143
- if (input === "") return false;
144
- return input.indexOf("?") === -1;
145
- }, require_regex.ERROR_MESSAGE_URL_NO_QUERY_PARAMS))),
146
- utm_medium: valibot.optional(require_validators.VStringMinMaxRegex(1, require_regex.LIMIT_MAX_UTM_MEDIUM, require_regex.REGEX_UTM_VALUE, require_regex.ERROR_MESSAGE_REGEX_UTM_VALUE)),
147
- utm_source: valibot.optional(require_validators.VStringMinMaxRegex(1, require_regex.LIMIT_MAX_UTM_SOURCE, require_regex.REGEX_UTM_VALUE, require_regex.ERROR_MESSAGE_REGEX_UTM_VALUE)),
148
- utm_campaign: valibot.optional(require_validators.VStringMinMaxRegex(1, require_regex.LIMIT_MAX_UTM_CAMPAIGN, require_regex.REGEX_UTM_VALUE, require_regex.ERROR_MESSAGE_REGEX_UTM_VALUE)),
149
- utm_content: valibot.optional(require_validators.VStringMinMaxRegex(1, require_regex.LIMIT_MAX_UTM_CONTENT, require_regex.REGEX_UTM_VALUE, require_regex.ERROR_MESSAGE_REGEX_UTM_VALUE)),
150
- utm_creative_format: valibot.optional(require_validators.VStringMinMaxRegex(1, require_regex.LIMIT_MAX_UTM_CREATIVE_FORMAT, require_regex.REGEX_UTM_VALUE, require_regex.ERROR_MESSAGE_REGEX_UTM_VALUE)),
151
- utm_id: valibot.optional(require_validators.VStringMinMaxRegex(1, require_regex.LIMIT_MAX_UTM_ID, require_regex.REGEX_UTM_VALUE, require_regex.ERROR_MESSAGE_REGEX_UTM_VALUE)),
152
- campaign_phase: valibot.optional(require_validators.VStringShort(0)),
153
- campaign_product: valibot.optional(require_validators.VStringShort(0)),
154
- campaign_targeting: valibot.optional(require_validators.VStringShort(0)),
155
- campaign_key: valibot.optional(require_validators.VStringShort(0)),
156
- creative_format: valibot.optional(require_validators.VStringShort(0)),
157
- creative_format_variants: valibot.optional(valibot.array(require_validators.VStringShort())),
158
- url: valibot.optional(valibot.pipe(valibot.string(), valibot.trim(), valibot.url(require_regex.ERROR_MESSAGE_INVALID_URL), valibot.check((input) => {
159
- return input.includes("utm_");
160
- }, require_regex.ERROR_MESSAGE_UTM_URL))),
147
+ url_destination: valibot.optional(require_utm.VStringUrlNoUtm()),
148
+ utm_medium: valibot.optional(ValidUtmSource),
149
+ utm_source: valibot.optional(ValidUtmMedium),
150
+ utm_campaign: valibot.optional(ValidUtmCampaign),
151
+ utm_content: valibot.optional(ValidUtmContent),
152
+ utm_creative_format: valibot.optional(ValidUtmCreativeFormat),
153
+ utm_id: valibot.optional(ValidUtmId),
154
+ campaign_phase: valibot.optional(require_string.VStringShort(0)),
155
+ campaign_product: valibot.optional(require_string.VStringShort(0)),
156
+ campaign_targeting: valibot.optional(require_string.VStringShort(0)),
157
+ campaign_key: valibot.optional(require_string.VStringShort(0)),
158
+ creative_format: valibot.optional(require_string.VStringShort(0)),
159
+ creative_format_variants: valibot.optional(valibot.array(require_string.VStringShort())),
160
+ url: valibot.optional(require_utm.VStringUrlUtm()),
161
161
  is_active: valibot.optional(valibot.boolean()),
162
- notes: valibot.optional(require_validators.VStringShort(0)),
162
+ notes: valibot.optional(require_string.VStringShort(0)),
163
163
  sort: QuerySortUtmTrackingLinks
164
164
  });
165
165
  //#endregion
@@ -176,3 +176,9 @@ exports.UTM_TRACKING_LINK_SORT_KEYS = UTM_TRACKING_LINK_SORT_KEYS;
176
176
  exports.UpdateUtmTrackingLinkDocument = UpdateUtmTrackingLinkDocument;
177
177
  exports.UpdateUtmTrackingLinkDocumentRequest = UpdateUtmTrackingLinkDocumentRequest;
178
178
  exports.UtmTrackingLinkDocument = require_document.UtmTrackingLinkDocument;
179
+ exports.ValidUtmCampaign = ValidUtmCampaign;
180
+ exports.ValidUtmContent = ValidUtmContent;
181
+ exports.ValidUtmCreativeFormat = ValidUtmCreativeFormat;
182
+ exports.ValidUtmId = ValidUtmId;
183
+ exports.ValidUtmMedium = ValidUtmMedium;
184
+ exports.ValidUtmSource = ValidUtmSource;
@@ -1,2 +1,2 @@
1
- import { Ct as LIMIT_UTM_TRACKING_LINK_PAGINATION_MAX_SIZE, Nn as UtmTrackingLinkDocument, St as LIMIT_UTM_TRACKING_LINK_PAGINATION_DEFAULT_SIZE, _t as SFormCreateMultipleUtmTrackingLinkDocuments, bt as UpdateUtmTrackingLinkDocumentRequest, gt as CreateUtmTrackingLinkParts, ht as CreateUtmTrackingLinkDocumentRequest, mt as CreateUtmTrackingLinkDocument, pt as QueryStrapiSearchUtmTrackingLinks, vt as SReadUtmTrackingLinkDocumentByUrl, wt as UTM_TRACKING_LINK_SORT_KEYS, xt as QuerySortUtmTrackingLinks, yt as UpdateUtmTrackingLinkDocument } from "../../index-DXUuI-fJ.cjs";
2
- export { CreateUtmTrackingLinkDocument, CreateUtmTrackingLinkDocumentRequest, CreateUtmTrackingLinkParts, LIMIT_UTM_TRACKING_LINK_PAGINATION_DEFAULT_SIZE, LIMIT_UTM_TRACKING_LINK_PAGINATION_MAX_SIZE, QuerySortUtmTrackingLinks, QueryStrapiSearchUtmTrackingLinks, SFormCreateMultipleUtmTrackingLinkDocuments, SReadUtmTrackingLinkDocumentByUrl, UTM_TRACKING_LINK_SORT_KEYS, UpdateUtmTrackingLinkDocument, UpdateUtmTrackingLinkDocumentRequest, UtmTrackingLinkDocument };
1
+ import { At as UTM_TRACKING_LINK_SORT_KEYS, Ct as ValidUtmContent, Dt as ValidUtmSource, Et as ValidUtmMedium, Ot as LIMIT_UTM_TRACKING_LINK_PAGINATION_DEFAULT_SIZE, St as ValidUtmCampaign, Tt as ValidUtmId, _t as SFormCreateMultipleUtmTrackingLinkDocuments, bt as UpdateUtmTrackingLinkDocumentRequest, gt as CreateUtmTrackingLinkParts, ht as CreateUtmTrackingLinkDocumentRequest, kt as LIMIT_UTM_TRACKING_LINK_PAGINATION_MAX_SIZE, mt as CreateUtmTrackingLinkDocument, pt as QueryStrapiSearchUtmTrackingLinks, vt as SReadUtmTrackingLinkDocumentByUrl, wt as ValidUtmCreativeFormat, xt as QuerySortUtmTrackingLinks, yt as UpdateUtmTrackingLinkDocument, zn as UtmTrackingLinkDocument } from "../../index-C1GoH-4v.cjs";
2
+ export { CreateUtmTrackingLinkDocument, CreateUtmTrackingLinkDocumentRequest, CreateUtmTrackingLinkParts, LIMIT_UTM_TRACKING_LINK_PAGINATION_DEFAULT_SIZE, LIMIT_UTM_TRACKING_LINK_PAGINATION_MAX_SIZE, QuerySortUtmTrackingLinks, QueryStrapiSearchUtmTrackingLinks, SFormCreateMultipleUtmTrackingLinkDocuments, SReadUtmTrackingLinkDocumentByUrl, UTM_TRACKING_LINK_SORT_KEYS, UpdateUtmTrackingLinkDocument, UpdateUtmTrackingLinkDocumentRequest, UtmTrackingLinkDocument, ValidUtmCampaign, ValidUtmContent, ValidUtmCreativeFormat, ValidUtmId, ValidUtmMedium, ValidUtmSource };
@@ -1,2 +1,2 @@
1
- import { Ct as LIMIT_UTM_TRACKING_LINK_PAGINATION_MAX_SIZE, Nn as UtmTrackingLinkDocument, St as LIMIT_UTM_TRACKING_LINK_PAGINATION_DEFAULT_SIZE, _t as SFormCreateMultipleUtmTrackingLinkDocuments, bt as UpdateUtmTrackingLinkDocumentRequest, gt as CreateUtmTrackingLinkParts, ht as CreateUtmTrackingLinkDocumentRequest, mt as CreateUtmTrackingLinkDocument, pt as QueryStrapiSearchUtmTrackingLinks, vt as SReadUtmTrackingLinkDocumentByUrl, wt as UTM_TRACKING_LINK_SORT_KEYS, xt as QuerySortUtmTrackingLinks, yt as UpdateUtmTrackingLinkDocument } from "../../index-DEm89ERm.mjs";
2
- export { CreateUtmTrackingLinkDocument, CreateUtmTrackingLinkDocumentRequest, CreateUtmTrackingLinkParts, LIMIT_UTM_TRACKING_LINK_PAGINATION_DEFAULT_SIZE, LIMIT_UTM_TRACKING_LINK_PAGINATION_MAX_SIZE, QuerySortUtmTrackingLinks, QueryStrapiSearchUtmTrackingLinks, SFormCreateMultipleUtmTrackingLinkDocuments, SReadUtmTrackingLinkDocumentByUrl, UTM_TRACKING_LINK_SORT_KEYS, UpdateUtmTrackingLinkDocument, UpdateUtmTrackingLinkDocumentRequest, UtmTrackingLinkDocument };
1
+ import { At as UTM_TRACKING_LINK_SORT_KEYS, Ct as ValidUtmContent, Dt as ValidUtmSource, Et as ValidUtmMedium, Ot as LIMIT_UTM_TRACKING_LINK_PAGINATION_DEFAULT_SIZE, St as ValidUtmCampaign, Tt as ValidUtmId, _t as SFormCreateMultipleUtmTrackingLinkDocuments, bt as UpdateUtmTrackingLinkDocumentRequest, gt as CreateUtmTrackingLinkParts, ht as CreateUtmTrackingLinkDocumentRequest, kt as LIMIT_UTM_TRACKING_LINK_PAGINATION_MAX_SIZE, mt as CreateUtmTrackingLinkDocument, pt as QueryStrapiSearchUtmTrackingLinks, vt as SReadUtmTrackingLinkDocumentByUrl, wt as ValidUtmCreativeFormat, xt as QuerySortUtmTrackingLinks, yt as UpdateUtmTrackingLinkDocument, zn as UtmTrackingLinkDocument } from "../../index-ClQOYhKi.mjs";
2
+ export { CreateUtmTrackingLinkDocument, CreateUtmTrackingLinkDocumentRequest, CreateUtmTrackingLinkParts, LIMIT_UTM_TRACKING_LINK_PAGINATION_DEFAULT_SIZE, LIMIT_UTM_TRACKING_LINK_PAGINATION_MAX_SIZE, QuerySortUtmTrackingLinks, QueryStrapiSearchUtmTrackingLinks, SFormCreateMultipleUtmTrackingLinkDocuments, SReadUtmTrackingLinkDocumentByUrl, UTM_TRACKING_LINK_SORT_KEYS, UpdateUtmTrackingLinkDocument, UpdateUtmTrackingLinkDocumentRequest, UtmTrackingLinkDocument, ValidUtmCampaign, ValidUtmContent, ValidUtmCreativeFormat, ValidUtmId, ValidUtmMedium, ValidUtmSource };
@@ -1,7 +1,12 @@
1
- import { J as ERROR_MESSAGE_UTM_URL, K as ERROR_MESSAGE_URL_NO_QUERY_PARAMS, U as ERROR_MESSAGE_INVALID_URL, _ as LIMIT_MAX_UTM_ID, c as LIMIT_LONG_STRING_MAX_LENGTH, g as LIMIT_MAX_UTM_CREATIVE_FORMAT, h as LIMIT_MAX_UTM_CONTENT, m as LIMIT_MAX_UTM_CAMPAIGN, r as ERROR_MESSAGE_REGEX_UTM_VALUE, s as REGEX_UTM_VALUE, v as LIMIT_MAX_UTM_MEDIUM, y as LIMIT_MAX_UTM_SOURCE } from "../../regex-BnKGcdS4.mjs";
2
- import { c as VStringLongNullable, d as VStringMinMax, f as VStringMinMaxRegex, g as VStringShortNullable, h as VStringShort, i as VSize, l as VStringMax, r as VPage, x as VStringUrlUtm, y as VStringUrlNoUtm } from "../../validators-P5E_3qzc.mjs";
3
- import { a as SAssociateOneEntity, s as SQueryManyEntities } from "../../relationships-C6xfgdwR.mjs";
4
- import { v as UtmTrackingLinkDocument } from "../../document-kvIqz0p6.mjs";
1
+ import { c as LIMIT_MAX_UTM_CONTENT, d as LIMIT_MAX_UTM_MEDIUM, f as LIMIT_MAX_UTM_SOURCE, l as LIMIT_MAX_UTM_CREATIVE_FORMAT, s as LIMIT_MAX_UTM_CAMPAIGN, u as LIMIT_MAX_UTM_ID } from "../../limits-CKGuEuKA.mjs";
2
+ import { n as VSize, t as VPage } from "../../pagination-D5l_UjyM.mjs";
3
+ import { r as createQuerySort } from "../../sort-D3WwshqQ.mjs";
4
+ import { r as ERROR_MESSAGE_REGEX_UTM_VALUE, s as REGEX_UTM_VALUE } from "../../regex-pSdcbWzV.mjs";
5
+ import { a as VStringMinMax, c as VStringShortNullable, l as VStringShortToCSV, o as VStringMinMaxRegex, r as VStringLongNullable, s as VStringShort } from "../../string-BHHnD2Qu.mjs";
6
+ import { l as SQueryManyEntities, o as SAssociateOneEntity } from "../../relationships-yPO5SILR.mjs";
7
+ import "../../constants/index.mjs";
8
+ import { n as VStringUrlUtm, t as VStringUrlNoUtm } from "../../utm-ZUwmBoR2.mjs";
9
+ import { y as UtmTrackingLinkDocument } from "../../document-BWso8VC7.mjs";
5
10
  import * as v from "valibot";
6
11
  //#region src/entities/utm-tracking-link/constants.ts
7
12
  const LIMIT_UTM_TRACKING_LINK_PAGINATION_DEFAULT_SIZE = 10;
@@ -30,28 +35,32 @@ const UTM_TRACKING_LINK_SORT_KEYS = [
30
35
  ];
31
36
  //#endregion
32
37
  //#region src/entities/utm-tracking-link/fields.ts
33
- const QuerySortUtmTrackingLinks = v.optional(v.pipe(v.array(v.picklist(UTM_TRACKING_LINK_SORT_KEYS.flatMap((k) => [`${k}:ASC`, `${k}:DESC`]))), v.maxLength(UTM_TRACKING_LINK_SORT_KEYS.length)));
38
+ const QuerySortUtmTrackingLinks = createQuerySort(UTM_TRACKING_LINK_SORT_KEYS);
39
+ const ValidUtmSource = VStringMinMaxRegex(1, LIMIT_MAX_UTM_SOURCE, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE);
40
+ const ValidUtmMedium = VStringMinMaxRegex(1, LIMIT_MAX_UTM_MEDIUM, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE);
41
+ const ValidUtmCampaign = VStringMinMaxRegex(1, LIMIT_MAX_UTM_CAMPAIGN, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE);
42
+ const ValidUtmContent = VStringMinMaxRegex(1, LIMIT_MAX_UTM_CONTENT, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE);
43
+ const ValidUtmCreativeFormat = VStringMinMaxRegex(1, LIMIT_MAX_UTM_CREATIVE_FORMAT, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE);
44
+ const ValidUtmId = VStringMinMaxRegex(1, LIMIT_MAX_UTM_ID, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE);
34
45
  //#endregion
35
46
  //#region src/entities/utm-tracking-link/mutation.ts
36
47
  const CreateUtmTrackingLinkDocument = v.object({
37
48
  creator: VStringShort(),
38
49
  client: VStringShort(),
39
50
  url_destination: VStringUrlNoUtm(),
40
- utm_source: VStringMinMaxRegex(1, LIMIT_MAX_UTM_SOURCE, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE),
41
- utm_medium: VStringMinMaxRegex(1, LIMIT_MAX_UTM_MEDIUM, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE),
42
- utm_campaign: VStringMinMaxRegex(1, LIMIT_MAX_UTM_CAMPAIGN, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE),
51
+ utm_source: ValidUtmSource,
52
+ utm_medium: ValidUtmMedium,
53
+ utm_campaign: ValidUtmCampaign,
43
54
  utm_content: VStringShortNullable(),
44
55
  utm_creative_format: VStringShortNullable(),
45
56
  utm_id: VStringShortNullable(),
46
57
  campaign_phase: VStringShort(),
47
58
  campaign_product: VStringShortNullable(),
48
- campaign_targeting: v.optional(v.nullable(v.pipe(v.array(VStringMax()), v.transform((value) => value.join(","))))),
49
- campaign_key: v.optional(v.nullable(VStringMinMaxRegex(1, 255, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE))),
59
+ campaign_targeting: v.optional(v.nullable(VStringShortToCSV())),
60
+ campaign_key: VStringShortNullable(),
50
61
  creative_format: VStringShortNullable(),
51
- creative_format_variants: v.optional(v.nullable(v.pipe(v.array(VStringMax()), v.transform((value) => value.join(","))))),
52
- url: v.pipe(v.string(), v.trim(), v.url(ERROR_MESSAGE_INVALID_URL), v.check((input) => {
53
- return input.includes("utm_");
54
- }, ERROR_MESSAGE_UTM_URL)),
62
+ creative_format_variants: v.optional(v.nullable(VStringShortToCSV())),
63
+ url: VStringUrlUtm(),
55
64
  is_active: v.boolean(),
56
65
  notes: VStringLongNullable()
57
66
  });
@@ -59,69 +68,65 @@ const CreateUtmTrackingLinkDocumentRequest = v.object({
59
68
  creator: VStringShort(),
60
69
  client: VStringShort(),
61
70
  url_destination: VStringUrlNoUtm(),
62
- utm_source: VStringMinMaxRegex(1, LIMIT_MAX_UTM_SOURCE, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE),
63
- utm_medium: VStringMinMaxRegex(1, LIMIT_MAX_UTM_MEDIUM, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE),
64
- utm_campaign: VStringMinMaxRegex(1, LIMIT_MAX_UTM_CAMPAIGN, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE),
65
- utm_content: v.optional(v.nullable(VStringMinMax(1, 255))),
66
- utm_creative_format: v.optional(v.nullable(VStringMinMax(1, 255))),
67
- utm_id: v.optional(v.nullable(VStringMinMax(1, 255))),
71
+ utm_source: ValidUtmSource,
72
+ utm_medium: ValidUtmMedium,
73
+ utm_campaign: ValidUtmCampaign,
74
+ utm_content: v.optional(v.nullable(VStringMinMax())),
75
+ utm_creative_format: v.optional(v.nullable(VStringMinMax())),
76
+ utm_id: v.optional(v.nullable(VStringMinMax())),
68
77
  campaign_phase: VStringShort(),
69
- campaign_product: v.optional(v.nullable(VStringMinMax(1, 255))),
78
+ campaign_product: VStringShortNullable(),
70
79
  campaign_targeting: VStringShortNullable(),
71
- campaign_key: v.optional(v.nullable(VStringMinMaxRegex(1, 255, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE))),
72
- creative_format: v.optional(v.nullable(VStringMinMax(1, 255))),
80
+ campaign_key: VStringShortNullable(),
81
+ creative_format: VStringShortNullable(),
73
82
  creative_format_variants: VStringShortNullable(),
74
- url: v.pipe(v.string(), v.trim(), v.url(ERROR_MESSAGE_INVALID_URL), v.check((input) => {
75
- return input.includes("utm_");
76
- }, ERROR_MESSAGE_UTM_URL)),
83
+ url: VStringUrlUtm(),
77
84
  is_active: v.boolean(),
78
- notes: v.optional(v.nullable(VStringMinMaxRegex(1, LIMIT_LONG_STRING_MAX_LENGTH, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE)))
85
+ notes: VStringLongNullable()
79
86
  });
80
87
  const CreateUtmTrackingLinkParts = v.object({
81
88
  url_destination: VStringUrlNoUtm(),
82
- utm_source: VStringMinMaxRegex(1, LIMIT_MAX_UTM_SOURCE, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE),
83
- utm_medium: VStringMinMaxRegex(1, LIMIT_MAX_UTM_MEDIUM, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE),
84
- utm_campaign: VStringMinMaxRegex(1, LIMIT_MAX_UTM_CAMPAIGN, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE),
85
- utm_content: v.optional(v.nullable(VStringMinMax(1, 255))),
86
- utm_creative_format: v.optional(v.nullable(VStringMinMax(1, 255))),
87
- utm_id: v.optional(v.nullable(VStringMinMax(1, 255))),
89
+ utm_source: ValidUtmSource,
90
+ utm_medium: ValidUtmMedium,
91
+ utm_campaign: ValidUtmCampaign,
92
+ utm_content: v.optional(v.nullable(VStringMinMax())),
93
+ utm_creative_format: v.optional(v.nullable(VStringMinMax())),
94
+ utm_id: v.optional(v.nullable(VStringMinMax())),
88
95
  campaign_phase: VStringShort(),
89
- campaign_product: v.optional(v.nullable(VStringMinMax(1, 255))),
90
- campaign_targeting: v.optional(v.nullable(v.pipe(v.array(VStringShort()), v.transform((value) => value.join(","))))),
91
- campaign_key: v.optional(VStringMinMaxRegex(1, 255, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE)),
92
- creative_format: v.optional(v.nullable(VStringMinMax(1, 255))),
93
- creative_format_variants: v.optional(v.nullable(v.pipe(v.array(VStringShort()), v.transform((value) => value.join(","))))),
96
+ campaign_product: VStringShortNullable(),
97
+ campaign_targeting: v.optional(v.nullable(VStringShortToCSV())),
98
+ campaign_key: VStringShortNullable(),
99
+ creative_format: VStringShortNullable(),
100
+ creative_format_variants: v.optional(v.nullable(VStringShortToCSV())),
94
101
  url: VStringUrlUtm(),
95
102
  is_active: v.boolean(),
96
- notes: v.optional(v.nullable(VStringMinMaxRegex(1, LIMIT_LONG_STRING_MAX_LENGTH, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE)))
103
+ notes: VStringLongNullable()
97
104
  });
98
105
  const SFormCreateMultipleUtmTrackingLinkDocuments = v.object({
99
106
  creator: VStringShort(),
100
107
  client: VStringShort(),
101
108
  links: v.pipe(v.array(CreateUtmTrackingLinkParts), v.minLength(1), v.maxLength(100))
102
109
  });
103
- const SReadUtmTrackingLinkDocumentByUrl = v.object({ url: v.pipe(v.string(), v.trim(), v.url(ERROR_MESSAGE_INVALID_URL), v.check((input) => {
104
- return input.includes("utm_");
105
- }, ERROR_MESSAGE_UTM_URL)) });
110
+ const SReadUtmTrackingLinkDocumentByUrl = v.object({ url: VStringUrlUtm() });
106
111
  const UpdateUtmTrackingLinkDocument = v.object({
107
112
  creator: v.optional(VStringShort()),
108
113
  client: v.optional(VStringShort()),
109
114
  url_destination: VStringUrlNoUtm(),
110
- utm_source: VStringMinMaxRegex(1, LIMIT_MAX_UTM_SOURCE, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE),
111
- utm_medium: VStringMinMaxRegex(1, LIMIT_MAX_UTM_MEDIUM, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE),
112
- utm_campaign: VStringMinMaxRegex(1, LIMIT_MAX_UTM_CAMPAIGN, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE),
113
- utm_content: v.optional(v.nullable(VStringMinMax(1, 255))),
114
- utm_creative_format: v.optional(v.nullable(VStringMinMax(1, 255))),
115
- utm_id: v.optional(v.nullable(VStringMinMax(1, 255))),
115
+ utm_source: ValidUtmSource,
116
+ utm_medium: ValidUtmMedium,
117
+ utm_campaign: ValidUtmCampaign,
118
+ utm_content: v.optional(v.nullable(VStringMinMax())),
119
+ utm_creative_format: v.optional(v.nullable(VStringMinMax())),
120
+ utm_id: v.optional(v.nullable(VStringMinMax())),
116
121
  campaign_phase: VStringShort(),
117
- campaign_product: v.optional(v.nullable(VStringMinMax(1, 255))),
118
- campaign_targeting: v.optional(v.nullable(v.pipe(v.array(VStringShort()), v.transform((value) => value.join(","))))),
119
- campaign_key: v.optional(v.nullable(VStringMinMaxRegex(1, 255, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE))),
120
- creative_format: v.optional(v.nullable(VStringMinMax(1, 255))),
121
- creative_format_variants: v.optional(v.nullable(v.pipe(v.array(SAssociateOneEntity), v.transform((value) => value.join(","))))),
122
+ campaign_product: v.optional(v.nullable(VStringMinMax())),
123
+ campaign_targeting: v.optional(v.nullable(VStringShortToCSV())),
124
+ campaign_key: VStringShortNullable(),
125
+ creative_format: VStringShortNullable(),
126
+ creative_format_variants: v.optional(v.nullable(VStringShortToCSV())),
122
127
  url: VStringUrlUtm(),
123
128
  is_active: v.boolean(),
124
- notes: v.optional(v.nullable(VStringMinMaxRegex(1, LIMIT_LONG_STRING_MAX_LENGTH, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE)))
129
+ notes: VStringLongNullable()
125
130
  });
126
131
  const UpdateUtmTrackingLinkDocumentRequest = v.object({
127
132
  documentId: SAssociateOneEntity,
@@ -136,28 +141,23 @@ const QueryStrapiSearchUtmTrackingLinks = v.object({
136
141
  creator_id: v.optional(VStringShort()),
137
142
  clients: v.optional(SQueryManyEntities),
138
143
  users: v.optional(SQueryManyEntities),
139
- url_destination: v.optional(v.pipe(v.string(), v.trim(), v.url(ERROR_MESSAGE_INVALID_URL), v.check((input) => {
140
- if (input === "") return false;
141
- return input.indexOf("?") === -1;
142
- }, ERROR_MESSAGE_URL_NO_QUERY_PARAMS))),
143
- utm_medium: v.optional(VStringMinMaxRegex(1, LIMIT_MAX_UTM_MEDIUM, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE)),
144
- utm_source: v.optional(VStringMinMaxRegex(1, LIMIT_MAX_UTM_SOURCE, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE)),
145
- utm_campaign: v.optional(VStringMinMaxRegex(1, LIMIT_MAX_UTM_CAMPAIGN, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE)),
146
- utm_content: v.optional(VStringMinMaxRegex(1, LIMIT_MAX_UTM_CONTENT, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE)),
147
- utm_creative_format: v.optional(VStringMinMaxRegex(1, LIMIT_MAX_UTM_CREATIVE_FORMAT, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE)),
148
- utm_id: v.optional(VStringMinMaxRegex(1, LIMIT_MAX_UTM_ID, REGEX_UTM_VALUE, ERROR_MESSAGE_REGEX_UTM_VALUE)),
144
+ url_destination: v.optional(VStringUrlNoUtm()),
145
+ utm_medium: v.optional(ValidUtmSource),
146
+ utm_source: v.optional(ValidUtmMedium),
147
+ utm_campaign: v.optional(ValidUtmCampaign),
148
+ utm_content: v.optional(ValidUtmContent),
149
+ utm_creative_format: v.optional(ValidUtmCreativeFormat),
150
+ utm_id: v.optional(ValidUtmId),
149
151
  campaign_phase: v.optional(VStringShort(0)),
150
152
  campaign_product: v.optional(VStringShort(0)),
151
153
  campaign_targeting: v.optional(VStringShort(0)),
152
154
  campaign_key: v.optional(VStringShort(0)),
153
155
  creative_format: v.optional(VStringShort(0)),
154
156
  creative_format_variants: v.optional(v.array(VStringShort())),
155
- url: v.optional(v.pipe(v.string(), v.trim(), v.url(ERROR_MESSAGE_INVALID_URL), v.check((input) => {
156
- return input.includes("utm_");
157
- }, ERROR_MESSAGE_UTM_URL))),
157
+ url: v.optional(VStringUrlUtm()),
158
158
  is_active: v.optional(v.boolean()),
159
159
  notes: v.optional(VStringShort(0)),
160
160
  sort: QuerySortUtmTrackingLinks
161
161
  });
162
162
  //#endregion
163
- export { CreateUtmTrackingLinkDocument, CreateUtmTrackingLinkDocumentRequest, CreateUtmTrackingLinkParts, LIMIT_UTM_TRACKING_LINK_PAGINATION_DEFAULT_SIZE, LIMIT_UTM_TRACKING_LINK_PAGINATION_MAX_SIZE, QuerySortUtmTrackingLinks, QueryStrapiSearchUtmTrackingLinks, SFormCreateMultipleUtmTrackingLinkDocuments, SReadUtmTrackingLinkDocumentByUrl, UTM_TRACKING_LINK_SORT_KEYS, UpdateUtmTrackingLinkDocument, UpdateUtmTrackingLinkDocumentRequest, UtmTrackingLinkDocument };
163
+ export { CreateUtmTrackingLinkDocument, CreateUtmTrackingLinkDocumentRequest, CreateUtmTrackingLinkParts, LIMIT_UTM_TRACKING_LINK_PAGINATION_DEFAULT_SIZE, LIMIT_UTM_TRACKING_LINK_PAGINATION_MAX_SIZE, QuerySortUtmTrackingLinks, QueryStrapiSearchUtmTrackingLinks, SFormCreateMultipleUtmTrackingLinkDocuments, SReadUtmTrackingLinkDocumentByUrl, UTM_TRACKING_LINK_SORT_KEYS, UpdateUtmTrackingLinkDocument, UpdateUtmTrackingLinkDocumentRequest, UtmTrackingLinkDocument, ValidUtmCampaign, ValidUtmContent, ValidUtmCreativeFormat, ValidUtmId, ValidUtmMedium, ValidUtmSource };
@@ -0,0 +1,10 @@
1
+ //#region src/constants/error-messages.ts
2
+ const ERROR_MESSAGE_ROBOT = "It appears you are a robot, please try again.";
3
+ const ERROR_MESSAGE_COMMA_SEPPARATED_URLS = `Please enter a list of URLs separated by commas.`;
4
+ const ERROR_MESSAGE_INVALID_URL = `Please enter a valid URL.`;
5
+ const ERROR_MESSAGE_UTM_URL = `Please enter a valid URL with UTM parameters.`;
6
+ const ERROR_MESSAGE_URL_NO_QUERY_PARAMS = `Please remove any query parameters from the URL.`;
7
+ const ERROR_MESSAGE_ONE_PROJECT_STATUS = `You can only select one project status.`;
8
+ const ERROR_MESSAGE_URL_PREFIX = `Please enter a valid URL starting with http or https.`;
9
+ //#endregion
10
+ export { ERROR_MESSAGE_URL_NO_QUERY_PARAMS as a, ERROR_MESSAGE_ROBOT as i, ERROR_MESSAGE_INVALID_URL as n, ERROR_MESSAGE_URL_PREFIX as o, ERROR_MESSAGE_ONE_PROJECT_STATUS as r, ERROR_MESSAGE_UTM_URL as s, ERROR_MESSAGE_COMMA_SEPPARATED_URLS as t };