@feedmepos/mf-connect 0.1.119-prod → 0.1.121-dev

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 (146) hide show
  1. package/dist/{App-BN2LKM3u.js → App-DwtaLO6F.js} +147 -135
  2. package/dist/AuditLogs-s572aHLw.js +2016 -0
  3. package/dist/{Bin-DpQ1atb7.js → Bin-BBaVggZI.js} +8 -8
  4. package/dist/{Broadcast-c1ZyYClI.js → Broadcast-CqAQ3EmE.js} +22 -21
  5. package/dist/{CampaignAnalytic-w1hIlc2r.js → CampaignAnalytic-34bfP8iY.js} +7 -7
  6. package/dist/{CampaignTypeDialog.vue_vue_type_script_setup_true_lang-D7U6evm1.js → CampaignTypeDialog.vue_vue_type_script_setup_true_lang-BvAAxE3a.js} +8 -9
  7. package/dist/{Card-De53Xgbe.js → Card-8hlnKnhk.js} +22 -22
  8. package/dist/{Collections-BL2RD3FU.js → Collections-BJ0-UjKf.js} +197 -185
  9. package/dist/{Credit-2KvFFcwR.js → Credit-DJNc__yp.js} +21 -20
  10. package/dist/{DateRangeChip.vue_vue_type_script_setup_true_lang-CKSs2nYE.js → DateRangeChip.vue_vue_type_script_setup_true_lang-BvilcyyB.js} +1 -1
  11. package/dist/EditCampaignSheet.vue_vue_type_script_setup_true_lang-CSjOHBhA.js +4439 -0
  12. package/dist/{EffectSheet.vue_vue_type_style_index_0_lang-Jy7HkK5Z.js → EffectSheet.vue_vue_type_style_index_0_lang-DFzVuuEy.js} +30 -30
  13. package/dist/{Experience-Cb0jHtVo.js → Experience-D-cUhjWc.js} +32 -31
  14. package/dist/{FileSaver.min-UDgZF_Cv.js → FileSaver.min-DKYYse6A.js} +1 -1
  15. package/dist/{Game-BnysxSMs.js → Game-DdFV90Kp.js} +19 -18
  16. package/dist/{GiftCardSetup-s1OR6xQq.js → GiftCardSetup-Dz0AN159.js} +31 -31
  17. package/dist/{GoalPickerPanel.vue_vue_type_script_setup_true_lang-D108r20x.js → GoalPickerPanel.vue_vue_type_script_setup_true_lang-GCp3IFaC.js} +7 -7
  18. package/dist/{Goals-BAieLPzR.js → Goals-Dg_kAezl.js} +4 -4
  19. package/dist/Grab-BSQt4deB.js +301 -0
  20. package/dist/{ImageInput.vue_vue_type_script_setup_true_lang-B9Jgq5Bp.js → ImageInput.vue_vue_type_script_setup_true_lang-B_H1Bgy1.js} +1 -1
  21. package/dist/{Index-DnX16GAE.js → Index-ZSup3I7J.js} +10 -10
  22. package/dist/{LocationPicker.vue_vue_type_script_setup_true_lang-DeM-WG6m.js → LocationPicker.vue_vue_type_script_setup_true_lang-DisF-jcd.js} +1 -1
  23. package/dist/{LottieAnimation.vue_vue_type_script_setup_true_lang-BAN69FOS.js → LottieAnimation.vue_vue_type_script_setup_true_lang-BHhjZOYi.js} +1 -1
  24. package/dist/{LoyaltyDashboard-D8g6OSbC.js → LoyaltyDashboard-D8BhHsaw.js} +15 -15
  25. package/dist/{MainLayout-DWABjpQn.js → MainLayout-BBnhRxyR.js} +1 -1
  26. package/dist/{MainLayout.vue_vue_type_script_setup_true_lang-COp7iulq.js → MainLayout.vue_vue_type_script_setup_true_lang-DFrPlj5u.js} +16 -16
  27. package/dist/{Marketing-Dagatr0y.js → Marketing-5F9LLn91.js} +4 -4
  28. package/dist/{MarketingMaterialEdit-DYVzNDpM.js → MarketingMaterialEdit-C7dD4Bzw.js} +214 -211
  29. package/dist/{Member-DAxdEF_Z.js → Member-Dk4JeGru.js} +7 -7
  30. package/dist/{MemberDetailSheet.vue_vue_type_script_setup_true_lang-nBg7Hckj.js → MemberDetailSheet.vue_vue_type_script_setup_true_lang-ISolD_Qg.js} +39 -47
  31. package/dist/{MemberImportHistory-2gx6FnLh.js → MemberImportHistory-C0Ep8L2q.js} +7 -7
  32. package/dist/{MemberList-By_gGl-J.js → MemberList-BsuPfBgk.js} +103 -105
  33. package/dist/{MemberTransactions-BEF-4ZNp.js → MemberTransactions-mZ3fHw5O.js} +1 -1
  34. package/dist/{MessageInput.vue_vue_type_script_setup_true_lang-Bs8wKx9B.js → MessageInput.vue_vue_type_script_setup_true_lang-1weyRM8c.js} +12 -12
  35. package/dist/{MetricInfoTooltip.vue_vue_type_script_setup_true_lang-DN3mWfKj.js → MetricInfoTooltip.vue_vue_type_script_setup_true_lang-caED3JRW.js} +1 -1
  36. package/dist/{Mission-jg15lBxo.js → Mission-C7DqUOJz.js} +22 -21
  37. package/dist/{Overview-C7WfdzfV.js → Overview-U201nBVO.js} +20 -20
  38. package/dist/{Overview-BFKLTAk1.js → Overview-VABLg36G.js} +145 -144
  39. package/dist/{Point-dv9WgWTQ.js → Point-DU6Ndv35.js} +22 -21
  40. package/dist/{Promotion-mFPF_8jO.js → Promotion-9UhZXNPb.js} +137 -131
  41. package/dist/{Queue-BQoR_M5H.js → Queue-CUxMedbd.js} +45 -45
  42. package/dist/{Record-1JZ1N5iX.js → Record-BIftCQzV.js} +9 -9
  43. package/dist/{Review-B52AxCeT.js → Review-lyVgTfsP.js} +2 -2
  44. package/dist/ReviewFacebookCallback-Da5G19bE.js +225 -0
  45. package/dist/{ReviewGoogleCallback-DO6SVFIC.js → ReviewGoogleCallback-B41PXfsj.js} +5 -5
  46. package/dist/{Reward-Cp4jPAB0.js → Reward-BMun_Rs4.js} +16 -16
  47. package/dist/{RewardGroup.vue_vue_type_script_setup_true_lang-DLD6X13Z.js → RewardGroup.vue_vue_type_script_setup_true_lang-3TONrUQu.js} +13 -13
  48. package/dist/RuleGroup.vue_vue_type_script_setup_true_lang-DHzFgr4h.js +1923 -0
  49. package/dist/{Segment-DaKw0YXF.js → Segment-1VS7ycXi.js} +303 -306
  50. package/dist/{SendCollectionSheet.vue_vue_type_script_setup_true_lang-Bj3OQ_JJ.js → SendCollectionSheet.vue_vue_type_script_setup_true_lang-C5iJSlxi.js} +14 -14
  51. package/dist/{SendVoucherSheet.vue_vue_type_script_setup_true_lang-B1Otak97.js → SendVoucherSheet.vue_vue_type_script_setup_true_lang-CXY9Wyk9.js} +4 -4
  52. package/dist/{Setting-DveUrt8J.js → Setting-BdtzvKjt.js} +159 -148
  53. package/dist/{SettingAdvertisements-QRXOMNnM.js → SettingAdvertisements-BO2l3HBT.js} +12 -12
  54. package/dist/Settings-CvYawDU5.js +286 -0
  55. package/dist/{Store-DjdXRw3V.js → Store-DWQz-MgY.js} +28 -28
  56. package/dist/{StoreRewards-CjlGrc9E.js → StoreRewards-Bfwuqxf-.js} +15 -15
  57. package/dist/StoreTransactions.vue_vue_type_script_setup_true_lang-CBwmDKAw.js +1319 -0
  58. package/dist/TargetLocationInput.vue_vue_type_script_setup_true_lang-CHzFjo24.js +7007 -0
  59. package/dist/{Tier-D74Oh2np.js → Tier-CKn-l-wY.js} +2575 -687
  60. package/dist/{Title-CeeviOW8.js → Title-BXDk69uL.js} +95 -94
  61. package/dist/{Transaction-CWdw0ITl.js → Transaction-D4HQO4i9.js} +2 -2
  62. package/dist/Upselling-CikWzKq7.js +1032 -0
  63. package/dist/{UserRuleGroup.vue_vue_type_script_setup_true_lang-B9nf-9s0.js → UserRuleGroup.vue_vue_type_script_setup_true_lang-um124o4t.js} +26 -26
  64. package/dist/{Voucher-C0nNXMtv.js → Voucher-BGIyw4jq.js} +19 -19
  65. package/dist/{VoucherEditor.vue_vue_type_script_setup_true_lang-DxZLsQq9.js → VoucherEditor.vue_vue_type_script_setup_true_lang-BKyZj5SP.js} +12 -12
  66. package/dist/{WhatsappAccount-CoLSjCQ2.js → WhatsappAccount-Cd82g_xj.js} +6 -6
  67. package/dist/{WhatsappAccountStatusLabel.vue_vue_type_script_setup_true_lang-DkHPlGgT.js → WhatsappAccountStatusLabel.vue_vue_type_script_setup_true_lang-DWy8kS66.js} +1 -1
  68. package/dist/{WhatsappBot-kLb3kUav.js → WhatsappBot-auQhO8zk.js} +6 -6
  69. package/dist/{WhatsappBotLogs-jcYaHs0t.js → WhatsappBotLogs-CWuJzK9W.js} +6 -6
  70. package/dist/{WhatsappBotSettings-B6jJD61h.js → WhatsappBotSettings-B8KXMpIF.js} +4 -4
  71. package/dist/{WhatsappLayout-C24bIjI2.js → WhatsappLayout-DxooAkkL.js} +3 -3
  72. package/dist/{WhatsappNotificationGroupDialog.vue_vue_type_script_setup_true_lang-9a_grP76.js → WhatsappNotificationGroupDialog.vue_vue_type_script_setup_true_lang-CYHmgQ2v.js} +3 -3
  73. package/dist/{ZodTextField.vue_vue_type_script_setup_true_lang-i8Wc2mCr.js → ZodTextField.vue_vue_type_script_setup_true_lang-DilxQM_z.js} +2 -2
  74. package/dist/{app-C06bAZj3.js → app-BG-zK89d.js} +4181 -3401
  75. package/dist/app.js +4 -3
  76. package/dist/{base.export-CgNRhKu8.js → base.export-BcMuREGH.js} +2 -2
  77. package/dist/{business-D23Dt1x4.js → business-9_NOI2V9.js} +1 -1
  78. package/dist/{campaign-FVcbXtrP.js → campaign-8y_9SvKP.js} +34 -28
  79. package/dist/{campaign-DfEvGigm.js → campaign-DjBTRZyA.js} +121 -94
  80. package/dist/{campaign.enum-BqekIiiN.js → campaign.enum-Dx-Zo68Q.js} +2 -1
  81. package/dist/campaign.fn-COkPH1QE.js +776 -0
  82. package/dist/{collection.fn-DC1AMI9o.js → collection.fn-yXurU9iv.js} +2 -2
  83. package/dist/{currency-Bra2RJK4.js → currency-YzyBFtDU.js} +1 -1
  84. package/dist/duplicateCampaign-dRWioann.js +51 -0
  85. package/dist/{effect-EL4V3pAu.js → effect-bMGarJZ6.js} +1 -1
  86. package/dist/{email-addresses-Ddtf1x_y.js → email-addresses-Ciu83j_3.js} +2 -2
  87. package/dist/{feature-flag-umACX47C.js → feature-flag-H5D1Cob5.js} +70 -70
  88. package/dist/google-BQK68wbe.js +5 -0
  89. package/dist/{helper-DqDOnLCf.js → helper-BH9HMikb.js} +1 -1
  90. package/dist/{index-CEh6ryp2.js → index-B7-Uvnfn.js} +19 -6
  91. package/dist/{index-DuCJtx1m.js → index-BHO82_Ix.js} +1 -1
  92. package/dist/{index-B_BmgKrh.js → index-BaTnDV-T.js} +2699 -2613
  93. package/dist/{index-C3hAzzS2.js → index-BvKJM3M2.js} +29 -15
  94. package/dist/{index-rcfcslIC.js → index-BxwJfT08.js} +197 -197
  95. package/dist/{index-C6p9Lsvf.js → index-CH-KHkm5.js} +1 -1
  96. package/dist/{index-B2lqC_hH.js → index-CIOidYvo.js} +1 -1
  97. package/dist/{index-BzwwXWpZ.js → index-CJAFz9Nn.js} +1 -1
  98. package/dist/{index-ByVPdKdB.js → index-CooParq-.js} +682 -581
  99. package/dist/{index-pfmx-Gor.js → index-Cyf05z_2.js} +2 -2
  100. package/dist/{index-Bvk61_w_.js → index-DYu7ZdQt.js} +1 -1
  101. package/dist/{index-B3U3KZl0.js → index-DbxiG50D.js} +2 -2
  102. package/dist/{index-BkKu2G2c.js → index-DkMy7WpU.js} +2 -2
  103. package/dist/{index-LjoAs_nX.js → index-DpkoCl4z.js} +10 -10
  104. package/dist/{index-C3lk4GHF.js → index-MWNnMT2T.js} +4 -4
  105. package/dist/{index-DK9zxpDu.js → index-RvJ5cq__.js} +3 -3
  106. package/dist/{index-iVbjwKxc.js → index-Ye3qFt34.js} +10 -10
  107. package/dist/{index-BTjhdlN_.js → index-_giqGuYM.js} +1 -1
  108. package/dist/{index-TDCPGtW3.js → index-pnM5q4c_.js} +389 -232
  109. package/dist/{index-BroF2fC8.js → index-taPHgOqE.js} +608 -251
  110. package/dist/{index.esm2017-DCuQPCX2.js → index.esm2017-CLxZor1Y.js} +111 -111
  111. package/dist/{loading-CQm1DKWE.js → loading-CsOSUWBd.js} +1 -1
  112. package/dist/{lodash-C2wVbAap.js → lodash-CshibTzh.js} +1 -1
  113. package/dist/{member-import-BLEmTRso.js → member-import-BdaGAjjt.js} +1 -1
  114. package/dist/{membership-XycnxPEW.js → membership-C5JWO1FM.js} +2 -2
  115. package/dist/{money-DY_QGzd1.js → money-Blt5EM43.js} +1 -1
  116. package/dist/{number-BHthf4qF.js → number-COm3MiH8.js} +1 -1
  117. package/dist/objectid-DQTx3-ee.js +145 -0
  118. package/dist/{onboarding-BOJw54Fn.js → onboarding-BbQDJOOS.js} +36 -36
  119. package/dist/{onboardingSetup-Cf2u1tXu.js → onboardingSetup-BLISY52M.js} +2 -2
  120. package/dist/{plugins-DKQeoL_e.js → plugins-De_chCYU.js} +3 -3
  121. package/dist/{reward-D4RIYSpl.js → reward-Dl8Zoxe_.js} +1 -1
  122. package/dist/{rule-Ba-s0L_w.js → rule-D6_iss3O.js} +572 -492
  123. package/dist/style.css +1 -1
  124. package/dist/template-Cw6j1cLX.js +224 -0
  125. package/dist/{timezone-CAc8xi1h.js → timezone-CA5FwOyy.js} +1 -1
  126. package/dist/{transaction.fn-Cp2hnhyU.js → transaction.fn-DI_NeGQb.js} +2 -2
  127. package/dist/{trigger-3ebhNBX7.js → trigger-CuymoMM-.js} +9 -9
  128. package/dist/{useMarketingMaterialActions-6URv8neP.js → useMarketingMaterialActions-Bz0Kgvgd.js} +4 -4
  129. package/dist/{usePagination-C-fyMmiy.js → usePagination-yb1rupwa.js} +1 -1
  130. package/dist/{user-T-iXTrYV.js → user-QSKyFaMI.js} +1 -1
  131. package/dist/vue-i18n-B_qtODCw.js +2365 -0
  132. package/dist/{xlsx-B8OqaJfb.js → xlsx--RjkGa9A.js} +224 -224
  133. package/dist/{zod-DZkNj425.js → zod-CmPMd-h0.js} +1 -1
  134. package/package.json +8 -3
  135. package/dist/EditCampaignSheet.vue_vue_type_script_setup_true_lang-BXb7v7wc.js +0 -3493
  136. package/dist/ReviewFacebookCallback-ihTdiI8V.js +0 -238
  137. package/dist/RuleGroup.vue_vue_type_script_setup_true_lang-pdHRjCt8.js +0 -1884
  138. package/dist/Settings-D9D-mkBa.js +0 -179
  139. package/dist/StoreTransactions.vue_vue_type_script_setup_true_lang-DnwMpqzf.js +0 -1265
  140. package/dist/TargetLocationInput.vue_vue_type_script_setup_true_lang-I5-5BV4h.js +0 -142
  141. package/dist/campaign.fn-0MNUj1fZ.js +0 -776
  142. package/dist/google-C3S8u0mT.js +0 -4
  143. package/dist/objectid-CPCAqIiC.js +0 -145
  144. package/dist/rule-builder-D0B0DPao.js +0 -102
  145. package/dist/template-B40I16Yg.js +0 -236
  146. package/dist/vue-i18n-DzsxJorb.js +0 -2365
@@ -1,16 +1,16 @@
1
1
  import { z as e } from "./index-C_H8jFYf.js";
2
- import { F as t, b as y, m as p, d as K } from "./index-DK9zxpDu.js";
3
- import { F as h } from "./campaign.enum-BqekIiiN.js";
4
- import { d as F, F as D, e as d, f as V, g as f, h as c, i as J, c as Y } from "./index-B_BmgKrh.js";
5
- import { j as M, k as A, l as q, m as Z } from "./index-ByVPdKdB.js";
6
- import { c as u, d as $ } from "./index-rcfcslIC.js";
2
+ import { F as t, b as _, m as g, d as X } from "./index-RvJ5cq__.js";
3
+ import { F as M } from "./campaign.enum-Dx-Zo68Q.js";
4
+ import { f as T, F as L, g as c, i as ee, j as O, k as u, m as x, e as te } from "./index-BaTnDV-T.js";
5
+ import { o as P, m as S, n as ne, p as oe, q as ie } from "./index-CooParq-.js";
6
+ import { c as p, f as ae } from "./index-BxwJfT08.js";
7
7
  e.object({
8
8
  location: t,
9
9
  memberId: t,
10
- nettTotal: y,
10
+ nettTotal: _,
11
11
  remark: e.string().optional()
12
12
  });
13
- const X = e.enum(["COUNTER", "POS"]);
13
+ const le = e.enum(["COUNTER", "POS"]);
14
14
  e.object({
15
15
  id: e.string(),
16
16
  userId: e.string(),
@@ -21,9 +21,9 @@ e.object({
21
21
  level: e.number().nullish(),
22
22
  mostPurchasedItems: e.array(e.string()).nullish()
23
23
  });
24
- const Q = {
24
+ const se = {
25
25
  collectionName: "Bills"
26
- }, ee = e.object({
26
+ }, j = e.object({
27
27
  _id: e.string(),
28
28
  items: e.record(e.string(), e.number()).nullish(),
29
29
  // business: z.string(),
@@ -32,25 +32,27 @@ const Q = {
32
32
  user: e.string().nullish(),
33
33
  memberid: e.string().nullish(),
34
34
  // roundToNearest: z.number().nullish(),
35
- nettTotal: y,
36
- adjustedTotal: y.optional(),
35
+ nettTotal: _,
36
+ adjustedTotal: _.optional(),
37
37
  // activeItems: z.array(z.string()),
38
38
  remark: e.string().nullish(),
39
39
  createdAt: e.coerce.date(),
40
40
  completedAt: e.coerce.date(),
41
+ refunded: e.boolean().nullish(),
42
+ refundRecord: e.array(e.string()).nullish(),
41
43
  location: e.string(),
42
- channel: X.optional()
43
- }).transform((a) => ({
44
- ...a,
45
- createdTime: a.createdAt,
46
- completedTime: a.completedAt,
44
+ channel: le.optional()
45
+ }).transform((i) => ({
46
+ ...i,
47
+ createdTime: i.createdAt,
48
+ completedTime: i.completedAt,
47
49
  get amount() {
48
- return a.nettTotal.amount / 10 ** a.nettTotal.precision;
50
+ return i.nettTotal.amount / 10 ** i.nettTotal.precision;
49
51
  },
50
52
  get adjustmentAmount() {
51
- return a.adjustedTotal ? a.adjustedTotal.amount / 10 ** a.adjustedTotal.precision : void 0;
53
+ return i.adjustedTotal ? i.adjustedTotal.amount / 10 ** i.adjustedTotal.precision : void 0;
52
54
  }
53
- })).describe(p.describe(Q)), te = e.object({
55
+ })).describe(g.describe(se)), re = e.object({
54
56
  _id: e.string(),
55
57
  rating: e.coerce.number(),
56
58
  user: e.string().optional(),
@@ -61,6 +63,7 @@ const Q = {
61
63
  "SIMPLE_CLAIM",
62
64
  "LINK_CLAIM",
63
65
  "BILL_COMPLETED",
66
+ "BILL_REFUNDED",
64
67
  "SCHEDULE",
65
68
  "BIRTHDAY",
66
69
  "FEEDBACK",
@@ -75,7 +78,7 @@ const Q = {
75
78
  "REFERRAL_ADDED",
76
79
  "MEMBER_IMPORTED",
77
80
  "SEGMENTATION_IMPORTED"
78
- ]), ze = o.extract([
81
+ ]), Ze = o.extract([
79
82
  "BILL_COMPLETED",
80
83
  "FEEDBACK",
81
84
  "GAME_COMPLETED",
@@ -88,64 +91,64 @@ const Q = {
88
91
  ]);
89
92
  e.enum(["START_OF", "BEFORE"]);
90
93
  e.enum(["WEEK", "MONTH"]);
91
- const ne = e.enum([
94
+ const de = e.enum([
92
95
  "WAITING",
93
96
  "ACTIVE",
94
97
  "COMPLETED",
95
98
  "FAILED"
96
- ]), i = e.object({
99
+ ]), a = e.object({
97
100
  // type: F_EVENT_TYPE,
98
- rule: F.optional()
99
- }), oe = i.extend({
101
+ rule: T.optional()
102
+ }), ce = a.extend({
100
103
  type: e.literal(o.enum.BILL_COMPLETED)
101
- }), ie = i.extend({
104
+ }), me = a.extend({
102
105
  type: e.literal(o.enum.FEEDBACK)
103
- }), ae = i.extend({
106
+ }), ue = a.extend({
104
107
  type: e.literal(o.enum.SIMPLE_CLAIM)
105
108
  });
106
- i.extend({
109
+ a.extend({
107
110
  type: e.literal(o.enum.ENTER_SEGMENT),
108
111
  segment: e.string()
109
112
  });
110
- const le = i.extend({
113
+ const pe = a.extend({
111
114
  type: e.literal(o.enum.MEMBER_REWARD)
112
- }), se = i.extend({
115
+ }), Ee = a.extend({
113
116
  type: e.literal(o.enum.SCHEDULE)
114
117
  // option: FdoCronRule,
115
- }), re = i.extend({
118
+ }), ge = a.extend({
116
119
  type: e.literal(o.enum.MEMBERSHIP_JOINED)
117
- }), de = i.extend({
120
+ }), be = a.extend({
118
121
  type: e.literal(o.enum.TIER_UPGRADED)
119
- }), ce = i.extend({
122
+ }), ye = a.extend({
120
123
  type: e.literal(o.enum.MAKING_ORDER)
121
- }), me = i.extend({
124
+ }), Ce = a.extend({
122
125
  type: e.literal(o.enum.ISSUE_REWARD)
123
- }), ue = i.extend({
126
+ }), Re = a.extend({
124
127
  type: e.literal(o.enum.GAME_COMPLETED)
125
128
  });
126
- i.extend({
129
+ a.extend({
127
130
  type: e.literal(o.enum.REFERRAL_ADDED)
128
131
  });
129
- i.extend({
132
+ a.extend({
130
133
  type: e.literal(o.enum.MEMBER_IMPORTED)
131
134
  });
132
- const Ee = e.discriminatedUnion("type", [
133
- ae,
134
- oe,
135
- se,
136
- ie,
137
- re,
138
- de,
135
+ const Ie = e.discriminatedUnion("type", [
136
+ ue,
139
137
  ce,
138
+ Ee,
140
139
  me,
141
- le,
142
- ue
140
+ ge,
141
+ be,
142
+ ye,
143
+ Ce,
144
+ pe,
145
+ Re
143
146
  ]);
144
147
  e.object({
145
148
  _id: t,
146
149
  type: o,
147
150
  ref: e.string(),
148
- status: ne.optional(),
151
+ status: de.optional(),
149
152
  context: e.record(e.string(), e.any()).optional(),
150
153
  failedReason: e.any().optional()
151
154
  }).describe(JSON.stringify({ collectionName: "EventLogs" }));
@@ -156,18 +159,24 @@ const l = e.object({
156
159
  campaignIds: e.array(t).optional(),
157
160
  slackWebhookUrl: e.string().optional(),
158
161
  emittedAt: e.coerce.date().default(/* @__PURE__ */ new Date())
159
- }), pe = l.extend({
162
+ }), _e = l.extend({
160
163
  type: e.literal(o.enum.BILL_COMPLETED),
161
164
  context: e.object({
162
- bill: ee,
165
+ bill: j,
163
166
  rawBill: e.any()
164
167
  })
165
- }), ge = l.extend({
168
+ }), he = l.extend({
169
+ type: e.literal(o.enum.BILL_REFUNDED),
170
+ context: e.object({
171
+ bill: j,
172
+ rawBill: e.any()
173
+ })
174
+ }), fe = l.extend({
166
175
  type: e.literal(o.enum.SCHEDULE),
167
176
  context: e.object({
168
177
  triggeredAt: e.coerce.date()
169
178
  })
170
- }), be = l.extend({
179
+ }), Fe = l.extend({
171
180
  type: e.literal(o.enum.PAGINATE_SCHEDULE),
172
181
  context: e.object({
173
182
  triggeredAt: e.coerce.date(),
@@ -175,83 +184,85 @@ const l = e.object({
175
184
  skip: e.coerce.number(),
176
185
  limit: e.coerce.number()
177
186
  })
178
- }), ye = l.extend({
187
+ }), De = l.extend({
179
188
  type: e.literal(o.enum.FEEDBACK),
180
189
  context: e.object({
181
- feedback: te
190
+ feedback: re
182
191
  })
183
- }), Ce = l.extend({
192
+ }), Ae = l.extend({
184
193
  type: e.literal(o.enum.MEMBERSHIP_JOINED),
185
194
  context: e.object({
186
- user: M
195
+ user: P
187
196
  })
188
- }), Re = l.extend({
197
+ }), Me = l.extend({
189
198
  type: e.literal(o.enum.TIER_UPGRADED),
190
199
  context: e.object({
191
- transaction: A
200
+ transaction: S
192
201
  })
193
- }), _e = l.extend({
202
+ }), Te = l.extend({
194
203
  type: e.literal(o.enum.ISSUE_REWARD),
195
204
  context: e.object({
196
- transaction: A,
197
- collection: q
205
+ transaction: S,
206
+ collection: ne
198
207
  })
199
- }), Ie = l.extend({
208
+ }), Le = l.extend({
200
209
  type: e.literal(o.enum.REFERRAL_ADDED),
201
210
  context: e.object({
202
- user: M
211
+ user: P
203
212
  })
204
- }), T = e.object({
213
+ }), N = e.object({
205
214
  ref: t,
206
215
  originalName: e.string(),
207
216
  mimeType: e.string(),
208
217
  size: e.number(),
209
218
  fbFilePath: e.string(),
210
219
  isFbFileDeleted: e.boolean().nullish()
211
- }), he = e.object({
220
+ }), Oe = e.object({
212
221
  resetCollectionExpiryBalance: e.boolean().nullish()
213
- }), Fe = l.extend({
222
+ }), xe = l.extend({
214
223
  type: e.literal(o.enum.MEMBER_IMPORTED),
215
224
  context: e.object({
216
225
  business: e.string(),
217
- file: T,
218
- config: he.optional()
226
+ file: N,
227
+ config: Oe.optional()
219
228
  })
220
- }), De = l.extend({
229
+ }), Pe = l.extend({
221
230
  type: e.literal(o.enum.SEGMENTATION_IMPORTED),
222
231
  context: e.object({
223
232
  business: e.string(),
224
233
  segment: e.string(),
225
- file: T
234
+ file: N
226
235
  })
227
236
  });
228
237
  e.discriminatedUnion("type", [
229
- pe,
230
- ge,
231
- ye,
232
- Ce,
233
- Re,
234
238
  _e,
235
- be,
236
- Ie,
239
+ he,
240
+ fe,
241
+ De,
242
+ Ae,
243
+ Me,
244
+ Te,
237
245
  Fe,
238
- De
246
+ Le,
247
+ xe,
248
+ Pe
239
249
  ]);
240
- const fe = {
250
+ const Se = {
241
251
  collectionName: "Locations",
242
252
  transform: {
243
253
  _id: "oid",
244
254
  business: "oid"
245
255
  }
246
- }, O = e.object({
256
+ }, B = e.object({
247
257
  _id: t,
248
258
  business: t,
249
259
  name: e.string(),
250
260
  code: e.string().nullish(),
251
261
  otp: e.string().nullish(),
252
262
  otpExpiredAt: e.coerce.date().nullish(),
253
- apiToken: e.string().nullish()
254
- }).describe(p.describe(fe));
263
+ apiToken: e.string().nullish(),
264
+ customAttribute: e.record(e.any()).nullish()
265
+ }).describe(g.describe(Se));
255
266
  e.object({
256
267
  _id: t,
257
268
  name: e.string(),
@@ -259,7 +270,7 @@ e.object({
259
270
  os: e.string(),
260
271
  apiToken: e.string().nullish()
261
272
  }).describe(
262
- p.describe({
273
+ g.describe({
263
274
  collectionName: "LocationDevices",
264
275
  transform: {
265
276
  _id: "oid",
@@ -271,76 +282,177 @@ e.object({
271
282
  _id: e.string(),
272
283
  name: e.string()
273
284
  });
274
- const C = e.enum(["NO_REWARD", "VOUCHER", "LOYALTY"]), R = e.number().min(0, "Weight need to be at least 0"), _ = e.number().int("Must be integer").min(0, "Threshold need to be at least 0"), L = e.object({
275
- type: e.literal(C.enum.NO_REWARD),
285
+ const h = e.enum(["NO_REWARD", "VOUCHER", "LOYALTY"]), f = e.number().min(0, "Weight need to be at least 0"), F = e.number().int("Must be integer").min(0, "Threshold need to be at least 0"), G = e.object({
286
+ type: e.literal(h.enum.NO_REWARD),
276
287
  collectible: e.null(),
277
- weight: R
278
- }), P = e.object({
279
- type: e.literal(C.enum.VOUCHER),
288
+ weight: f
289
+ }), U = e.object({
290
+ type: e.literal(h.enum.VOUCHER),
280
291
  collectible: t,
281
- collectibleConfig: e.lazy(() => D._def.right.options[0]),
282
- earningOption: e.lazy(() => d)
283
- }), b = e.object({
284
- type: e.literal(C.enum.LOYALTY),
292
+ collectibleConfig: e.lazy(() => L._def.right.options[0]),
293
+ earningOption: e.lazy(() => c)
294
+ }), y = e.object({
295
+ type: e.literal(h.enum.LOYALTY),
285
296
  collectible: t,
286
- earningOption: e.lazy(() => d),
287
- validityOption: e.lazy(() => V)
288
- }), x = P.extend({
289
- weight: R
290
- }), S = b.extend({
297
+ earningOption: e.lazy(() => c),
298
+ validityOption: e.lazy(() => ee)
299
+ }), w = U.extend({
300
+ weight: f
301
+ }), v = y.extend({
291
302
  weight: e.number().min(0, "Weight need to be at least 0")
292
- }), He = b.extend({
293
- validityOption: f,
294
- weight: R
295
- }), Me = e.discriminatedUnion("type", [
296
- x,
297
- S,
298
- L
299
- ]), I = e.discriminatedUnion("type", [
300
- x.extend({
303
+ }), Qe = y.extend({
304
+ validityOption: O,
305
+ weight: f
306
+ }), je = e.discriminatedUnion("type", [
307
+ w,
308
+ v,
309
+ G
310
+ ]), D = e.discriminatedUnion("type", [
311
+ w.extend({
301
312
  collectible: t.nullish(),
302
313
  business: t.nullish()
303
314
  }),
304
- S.extend({
315
+ v.extend({
305
316
  collectible: t.nullish(),
306
317
  business: t.nullish()
307
318
  }),
308
- L
309
- ]), N = P.extend({
310
- threshold: _
311
- }), B = b.extend({
312
- threshold: _
313
- }), We = b.extend({
314
- validityOption: f,
315
- threshold: _
316
- }), j = e.discriminatedUnion("type", [
317
- N,
318
- B
319
- ]), Ae = e.discriminatedUnion("type", [
320
- N.extend({
319
+ G
320
+ ]), z = U.extend({
321
+ threshold: F
322
+ }), H = y.extend({
323
+ threshold: F
324
+ }), $e = y.extend({
325
+ validityOption: O,
326
+ threshold: F
327
+ }), k = e.discriminatedUnion("type", [
328
+ z,
329
+ H
330
+ ]), Ne = e.discriminatedUnion("type", [
331
+ z.extend({
321
332
  collectible: t.nullish(),
322
333
  business: t.nullish()
323
334
  }),
324
- B.extend({
335
+ H.extend({
325
336
  collectible: t.nullish(),
326
- collectibleConfig: D.nullish(),
337
+ collectibleConfig: L.nullish(),
327
338
  business: t.nullish()
328
339
  })
329
- ]), Te = e.enum(["PROGRESSIVE", "STAMP"]), Oe = e.object({
330
- type: Te,
340
+ ]), Be = e.enum(["PROGRESSIVE", "STAMP"]), Ge = e.object({
341
+ type: Be,
331
342
  end: e.number().int().min(0, "Threshold need to be at least 1"),
332
- rewards: e.array(e.lazy(() => j)).nullish()
333
- }).superRefine((a, m) => {
334
- a.type == "STAMP" && a.end > 40 && (m.addIssue({
343
+ rewards: e.array(e.lazy(() => k)).nullish()
344
+ }).superRefine((i, d) => {
345
+ i.type == "STAMP" && i.end > 40 && (d.addIssue({
335
346
  code: "custom",
336
347
  path: [],
337
348
  message: "Stamp mission can have at most 40 threshold"
338
- }), m.addIssue({
349
+ }), d.addIssue({
339
350
  code: "custom",
340
351
  path: ["end"],
341
352
  message: "Stamp mission can have at most 40 threshold"
342
353
  }));
343
- }), Le = {
354
+ }), C = e.object({
355
+ totalCount: e.number().optional(),
356
+ totalCountPerUser: e.number().optional()
357
+ }), m = e.object({
358
+ periods: e.array(
359
+ e.object({
360
+ startTime: e.string(),
361
+ endTime: e.string()
362
+ })
363
+ )
364
+ }), R = e.object({
365
+ startTime: e.string(),
366
+ // ISO 8601 date string
367
+ endTime: e.string(),
368
+ // ISO 8601 date string
369
+ eaterType: e.enum(["all", "new", "existing"]),
370
+ minBasketAmount: e.number().optional(),
371
+ bundleQuantity: e.number().optional(),
372
+ workingHour: e.object({
373
+ mon: m.optional(),
374
+ tue: m.optional(),
375
+ wed: m.optional(),
376
+ thu: m.optional(),
377
+ fri: m.optional(),
378
+ sat: m.optional(),
379
+ sun: m.optional()
380
+ }).optional()
381
+ }), Ue = e.object({
382
+ type: e.enum(["items", "category", "order"]),
383
+ objectIDs: e.array(e.string()).optional()
384
+ }), I = e.object({
385
+ type: e.enum([
386
+ "net",
387
+ // dollar off
388
+ "percentage",
389
+ // percentage off
390
+ "bundleSameFixPrice",
391
+ // bundle fix price (same item)
392
+ "bundleDiffFixPrice",
393
+ // bundle fix price (different items)
394
+ "bundleSameNet",
395
+ // bundle dollar off (same item)
396
+ "bundleDiffNet",
397
+ // bundle dollar off (different items)
398
+ "bundleSamePercentage",
399
+ // bundle percentage off (same item)
400
+ "bundleDiffPercentage",
401
+ // bundle percentage off (different items)
402
+ "delivery",
403
+ // delivery fee off
404
+ "freeItem"
405
+ // free item
406
+ ]),
407
+ value: e.number(),
408
+ cap: e.number().optional(),
409
+ // for percentage off campaigns
410
+ scope: Ue
411
+ });
412
+ e.object({
413
+ merchantID: e.string().optional(),
414
+ name: e.string().max(256),
415
+ quotas: C.optional(),
416
+ conditions: R,
417
+ discount: I,
418
+ customTag: e.string().max(22).optional()
419
+ });
420
+ e.object({
421
+ id: e.string()
422
+ });
423
+ e.object({
424
+ merchantID: e.string().optional(),
425
+ name: e.string().max(256).optional(),
426
+ quotas: C.optional(),
427
+ conditions: R.optional(),
428
+ discount: I.optional(),
429
+ customTag: e.string().max(22).optional()
430
+ });
431
+ const A = e.object({
432
+ id: e.string(),
433
+ merchantID: e.string(),
434
+ name: e.string(),
435
+ quotas: C.optional(),
436
+ conditions: R,
437
+ discount: I,
438
+ customTag: e.string().optional(),
439
+ status: e.enum(["ongoing", "upcoming", "expired", "cancelled"]).optional(),
440
+ createdAt: e.string().optional(),
441
+ updatedAt: e.string().optional()
442
+ });
443
+ e.object({
444
+ ongoing: e.array(A),
445
+ upcoming: e.array(A)
446
+ });
447
+ e.object({
448
+ merchantID: e.string()
449
+ });
450
+ e.object({
451
+ target: e.string(),
452
+ reason: e.string(),
453
+ message: e.string()
454
+ });
455
+ const we = {
344
456
  collectionName: "Groups",
345
457
  transform: {
346
458
  _id: "oid",
@@ -358,33 +470,36 @@ const C = e.enum(["NO_REWARD", "VOUCHER", "LOYALTY"]), R = e.number().min(0, "We
358
470
  foreignField: "group"
359
471
  }
360
472
  }
361
- }, ke = e.object({
473
+ }, Xe = e.object({
362
474
  _id: t,
363
475
  name: e.string().min(1).max(300),
364
476
  business: t,
365
477
  pf_campaigns: e.array(e.any()).optional()
366
- }).describe(p.describe(Le)), Pe = e.object({
478
+ }).describe(g.describe(we)), ve = e.object({
367
479
  from: e.string().email().nullish(),
368
480
  name: e.string().min(1).max(50).nullish()
369
- }), xe = e.object({
481
+ }), ze = e.object({
370
482
  _id: e.string(),
371
483
  url: e.string(),
372
484
  targetLocation: e.array(t).nullish(),
373
485
  // null/empty = all locations
374
486
  order: e.number().optional()
375
- }), U = e.object({
376
- type: e.literal(h.enum.MEMBERSHIP),
487
+ }), W = e.object({
488
+ type: e.literal(M.enum.MEMBERSHIP),
377
489
  business: t,
378
490
  name: e.string().min(1).max(50),
379
491
  image: e.string().nullish(),
380
492
  url: e.string().nullish(),
381
- tiers: e.array(e.lazy(() => Z)),
493
+ tiers: e.array(e.lazy(() => oe)),
382
494
  titles: e.array(t),
383
495
  tierCycleEnable: e.boolean().optional(),
384
- tierCycle: e.lazy(() => F).nullish(),
385
- welcomeMessage: u.optional(),
386
- advertisements: e.union([e.array(e.string()), e.array(xe)]).optional(),
496
+ tierCycle: e.lazy(() => T).nullish(),
497
+ tierRules: e.array(e.lazy(() => ie)).nullish(),
498
+ migrated: e.boolean().optional(),
499
+ welcomeMessage: p.optional(),
500
+ advertisements: e.union([e.array(e.string()), e.array(ze)]).optional(),
387
501
  cardEnable: e.boolean().optional(),
502
+ autoRevertReward: e.boolean().optional(),
388
503
  design: e.array(
389
504
  e.object({
390
505
  _id: t,
@@ -393,18 +508,15 @@ const C = e.enum(["NO_REWARD", "VOUCHER", "LOYALTY"]), R = e.number().min(0, "We
393
508
  ).optional(),
394
509
  targetLocation: e.array(t).nullish(),
395
510
  brand: e.string().nullish(),
396
- email: Pe.nullish(),
511
+ email: ve.nullish(),
397
512
  freeCreditAsDiscount: e.boolean().optional(),
398
- pf_title: e.array(e.lazy(() => c)).optional(),
399
- pf_targetLocation: e.array(e.lazy(() => O)).optional(),
400
- allowedPhoneCountries: e.union([
401
- e.array(e.string().regex(/^\+\d{1,4}$/)),
402
- e.null()
403
- ]).optional(),
513
+ pf_title: e.array(e.lazy(() => u)).optional(),
514
+ pf_targetLocation: e.array(e.lazy(() => B)).optional(),
515
+ allowedPhoneCountries: e.union([e.array(e.string().regex(/^\+\d{1,4}$/)), e.null()]).optional(),
404
516
  // new structure
405
517
  group: e.string().nullish(),
406
518
  templateId: t.nullish()
407
- }), n = h.exclude(["MEMBERSHIP"]), s = e.object({
519
+ }), n = M.exclude(["MEMBERSHIP"]), s = e.object({
408
520
  _id: t.nullish(),
409
521
  type: n,
410
522
  // common information
@@ -412,8 +524,8 @@ const C = e.enum(["NO_REWARD", "VOUCHER", "LOYALTY"]), R = e.number().min(0, "We
412
524
  name: e.string().min(1).max(50),
413
525
  image: e.string().nullish(),
414
526
  description: e.string().max(500).nullish(),
415
- timeframeOptions: J.superRefine((a, m) => {
416
- a.start && a.end && a.end < a.start && m.addIssue({
527
+ timeframeOptions: x.superRefine((i, d) => {
528
+ i.start && i.end && i.end < i.start && d.addIssue({
417
529
  code: "custom",
418
530
  path: [],
419
531
  params: {
@@ -422,13 +534,13 @@ const C = e.enum(["NO_REWARD", "VOUCHER", "LOYALTY"]), R = e.number().min(0, "We
422
534
  });
423
535
  }).nullish(),
424
536
  targetLocation: e.array(t).nullish(),
425
- event: Ee,
426
- config: Y.nullish(),
537
+ event: Ie,
538
+ config: te.nullish(),
427
539
  currentReceive: e.coerce.number().optional(),
428
540
  // new group structure
429
541
  group: t.nullish(),
430
542
  templateId: t.nullish(),
431
- pf_targetLocation: e.array(e.lazy(() => O)).optional(),
543
+ pf_targetLocation: e.array(e.lazy(() => B)).optional(),
432
544
  deletedAt: e.coerce.date().optional()
433
545
  }), r = {
434
546
  [n.enum.VOUCHER]: [
@@ -440,6 +552,7 @@ const C = e.enum(["NO_REWARD", "VOUCHER", "LOYALTY"]), R = e.number().min(0, "We
440
552
  "SIMPLE_CLAIM"
441
553
  ],
442
554
  [n.enum.PROMOTION]: ["MAKING_ORDER"],
555
+ [n.enum.GRAB]: ["MAKING_ORDER"],
443
556
  [n.enum.POINT]: [
444
557
  "BILL_COMPLETED",
445
558
  "FEEDBACK",
@@ -480,40 +593,40 @@ const C = e.enum(["NO_REWARD", "VOUCHER", "LOYALTY"]), R = e.number().min(0, "We
480
593
  "FEEDBACK",
481
594
  "SCHEDULE"
482
595
  ]
483
- }, G = s.extend({
596
+ }, K = s.extend({
484
597
  type: e.literal(n.enum.VOUCHER),
485
598
  // event
486
599
  code: e.string().min(0).max(15).regex(/^[A-Za-z0-9\-_.@]*$/, {
487
600
  message: "Code can only contain letters, numbers, and - _ . @"
488
601
  }).optional(),
489
- event: i.merge(
602
+ event: a.merge(
490
603
  e.object({
491
604
  type: e.enum(r[n.enum.VOUCHER])
492
605
  })
493
606
  ),
494
- earningOption: d.default({
607
+ earningOption: c.default({
495
608
  amount: 1,
496
609
  type: "FIXED"
497
610
  }),
498
611
  collectible: t,
499
612
  hideInApp: e.boolean().optional(),
500
613
  notify: e.boolean().optional(),
501
- notifyMessage: e.lazy(() => u).optional(),
614
+ notifyMessage: e.lazy(() => p).optional(),
502
615
  notifyCampaign: t.nullish(),
503
- pf_collectible: e.lazy(() => c).optional(),
616
+ pf_collectible: e.lazy(() => u).optional(),
504
617
  pf_notifyCampaign: e.lazy(() => E).optional()
505
- }), Se = e.object({
618
+ }), He = e.object({
506
619
  gameType: e.string()
507
- }), w = s.extend({
620
+ }), V = s.extend({
508
621
  type: e.literal(n.enum.PROMOTION),
509
622
  // event
510
- event: i.merge(
623
+ event: a.merge(
511
624
  e.object({
512
625
  type: e.enum(r[n.enum.PROMOTION])
513
626
  })
514
627
  ),
515
- effect: e.custom().superRefine((a, m) => {
516
- a || m.addIssue({
628
+ effect: e.custom().superRefine((i, d) => {
629
+ i || d.addIssue({
517
630
  code: "custom",
518
631
  path: [],
519
632
  params: {
@@ -521,41 +634,41 @@ const C = e.enum(["NO_REWARD", "VOUCHER", "LOYALTY"]), R = e.number().min(0, "We
521
634
  }
522
635
  });
523
636
  }),
524
- gameConfig: Se.nullish()
525
- }), v = s.extend({
637
+ gameConfig: He.nullish()
638
+ }), q = s.extend({
526
639
  type: e.literal(n.enum.POINT),
527
640
  // event
528
- event: i.merge(
641
+ event: a.merge(
529
642
  e.object({
530
643
  type: e.enum(r[n.enum.POINT])
531
644
  })
532
645
  ),
533
- earningOption: d,
646
+ earningOption: c,
534
647
  collectible: t,
535
648
  notify: e.boolean().optional(),
536
- notifyMessage: e.lazy(() => u).optional(),
649
+ notifyMessage: e.lazy(() => p).optional(),
537
650
  notifyCampaign: t.nullish(),
538
- pf_collectible: e.lazy(() => c).optional(),
651
+ pf_collectible: e.lazy(() => u).optional(),
539
652
  pf_notifyCampaign: e.lazy(() => E).optional()
540
- }), z = s.extend({
653
+ }), J = s.extend({
541
654
  type: e.literal(n.enum.CREDIT),
542
655
  // event
543
- event: i.merge(
656
+ event: a.merge(
544
657
  e.object({
545
658
  type: e.enum(r[n.enum.CREDIT])
546
659
  })
547
660
  ),
548
- earningOption: d,
661
+ earningOption: c,
549
662
  collectible: t,
550
663
  notify: e.boolean().optional(),
551
- notifyMessage: e.lazy(() => u).optional(),
664
+ notifyMessage: e.lazy(() => p).optional(),
552
665
  notifyCampaign: t.nullish(),
553
- pf_collectible: e.lazy(() => c).optional(),
666
+ pf_collectible: e.lazy(() => u).optional(),
554
667
  pf_notifyCampaign: e.lazy(() => E).optional()
555
668
  }), E = s.extend({
556
669
  type: e.literal(n.enum.BROADCAST),
557
670
  // event
558
- event: i.merge(
671
+ event: a.merge(
559
672
  e.object({
560
673
  type: e.enum(r[n.enum.BROADCAST])
561
674
  })
@@ -565,59 +678,99 @@ const C = e.enum(["NO_REWARD", "VOUCHER", "LOYALTY"]), R = e.number().min(0, "We
565
678
  // path, which never reads `message`; it is still mirrored when a routable
566
679
  // channel exists (see toLegacyMessage) so an older reader degrades to
567
680
  // sending one real message rather than nothing.
568
- message: u.nullish(),
569
- delivery: e.lazy(() => $).nullish(),
681
+ message: p.nullish(),
682
+ delivery: e.lazy(() => ae).nullish(),
570
683
  linkedCampaign: t.nullish()
571
- }), H = s.extend({
684
+ }), Y = s.extend({
572
685
  type: e.literal(n.enum.COIN),
573
686
  // event
574
- event: i.merge(
687
+ event: a.merge(
575
688
  e.object({
576
689
  type: e.enum(r[n.enum.COIN])
577
690
  })
578
691
  ),
579
- earningOption: d,
692
+ earningOption: c,
580
693
  collectible: t,
581
694
  notify: e.boolean().optional(),
582
- notifyMessage: e.lazy(() => u).optional(),
695
+ notifyMessage: e.lazy(() => p).optional(),
583
696
  notifyCampaign: t.nullish(),
584
- pf_collectible: e.lazy(() => c).optional(),
697
+ pf_collectible: e.lazy(() => u).optional(),
585
698
  pf_notifyCampaign: e.lazy(() => E).optional()
586
- }), g = s.extend({
699
+ }), b = s.extend({
587
700
  type: e.literal(n.enum.REWARD_POOL),
588
701
  // event
589
- event: i.merge(
702
+ event: a.merge(
590
703
  e.object({
591
704
  type: e.enum(r[n.enum.REWARD_POOL])
592
705
  })
593
706
  ),
594
- rewards: e.array(e.lazy(() => Me)).min(1, "Requires at least 1 reward")
595
- }), W = s.extend({
707
+ rewards: e.array(e.lazy(() => je)).min(1, "Requires at least 1 reward")
708
+ }), Z = s.extend({
596
709
  type: e.literal(n.enum.GAME),
597
710
  // event
598
- event: i.merge(
711
+ event: a.merge(
599
712
  e.object({
600
713
  type: e.enum(r[n.enum.GAME])
601
714
  })
602
715
  ),
603
- earningOption: d,
716
+ earningOption: c,
604
717
  collectible: t,
605
- game: e.lazy(() => g).optional(),
606
- pf_collectible: e.lazy(() => c).optional(),
718
+ game: e.lazy(() => b).optional(),
719
+ pf_collectible: e.lazy(() => u).optional(),
607
720
  rewardPool: t.optional()
608
- }), k = s.extend({
721
+ }), Q = s.extend({
609
722
  type: e.literal(n.enum.MISSION),
610
- event: i.merge(
723
+ event: a.merge(
611
724
  e.object({
612
725
  type: e.enum(r[n.enum.MISSION])
613
726
  })
614
727
  ),
615
- earningOption: d,
728
+ earningOption: c,
616
729
  collectible: t,
617
- pf_collectible: e.lazy(() => c).optional(),
618
- mission: e.lazy(() => Oe),
619
- rewards: e.array(e.lazy(() => j)).min(1, "Requires at least 1 reward")
620
- }), Ne = {
730
+ pf_collectible: e.lazy(() => u).optional(),
731
+ mission: e.lazy(() => Ge),
732
+ rewards: e.array(e.lazy(() => k)).min(1, "Requires at least 1 reward")
733
+ }), $ = s.omit({
734
+ timeframeOptions: !0
735
+ }).extend({
736
+ type: e.literal(n.enum.GRAB),
737
+ event: a.merge(
738
+ e.object({
739
+ type: e.enum(r[n.enum.GRAB])
740
+ })
741
+ ),
742
+ business: t,
743
+ name: e.string().min(1).max(50),
744
+ targetLocation: e.array(t).nullish(),
745
+ group: e.string().nullish(),
746
+ templateId: t.nullish(),
747
+ // Grab specific fields
748
+ conditions: R,
749
+ quotas: C,
750
+ discount: I,
751
+ grabCampaignMeta: e.array(
752
+ e.object({
753
+ locationId: e.string(),
754
+ campaignId: e.string()
755
+ })
756
+ ).optional(),
757
+ // Make timeframeOptions required (remove .nullish() from parent)
758
+ timeframeOptions: x.superRefine((i, d) => {
759
+ (!i.start || !i.end) && d.addIssue({
760
+ code: "custom",
761
+ path: [],
762
+ params: {
763
+ i18n: { key: "timeframe.required" }
764
+ }
765
+ }), i.start && i.end && i.end < i.start && d.addIssue({
766
+ code: "custom",
767
+ path: [],
768
+ params: {
769
+ i18n: { key: "timeframe.end_before_start" }
770
+ }
771
+ });
772
+ })
773
+ }), ke = {
621
774
  collectionName: "Campaigns",
622
775
  transform: {
623
776
  _id: "oid",
@@ -659,54 +812,58 @@ const C = e.enum(["NO_REWARD", "VOUCHER", "LOYALTY"]), R = e.number().min(0, "We
659
812
  as: "game"
660
813
  }
661
814
  }
662
- }, Ke = e.object({ _id: t }).and(
815
+ }, et = e.object({ _id: t }).and(
663
816
  e.discriminatedUnion("type", [
664
- U,
665
- G,
666
- w,
667
- v,
668
- z,
669
- E,
670
- H,
671
- g,
672
817
  W,
673
- k
818
+ K,
819
+ V,
820
+ q,
821
+ J,
822
+ E,
823
+ Y,
824
+ b,
825
+ Z,
826
+ Q,
827
+ $
674
828
  ])
675
- ).describe(p.describe(Ne)), Ve = e.discriminatedUnion("type", [
676
- G.extend({
829
+ ).describe(g.describe(ke)), tt = e.discriminatedUnion("type", [
830
+ K.extend({
677
831
  business: t.nullish()
678
832
  }),
679
- w.extend({
833
+ V.extend({
680
834
  business: t.nullish()
681
835
  }),
682
- v.extend({
836
+ q.extend({
683
837
  business: t.nullish()
684
838
  }),
685
- z.extend({
839
+ J.extend({
686
840
  business: t.nullish()
687
841
  }),
688
842
  E.extend({
689
843
  business: t.nullish()
690
844
  }),
691
- H.extend({
845
+ Y.extend({
692
846
  business: t.nullish()
693
847
  }),
694
- g.extend({
695
- rewards: e.array(e.lazy(() => I)).min(1, "Requires at least 1 reward")
848
+ b.extend({
849
+ rewards: e.array(e.lazy(() => D)).min(1, "Requires at least 1 reward")
696
850
  }),
697
- W.extend({
851
+ Z.extend({
698
852
  business: t.nullish(),
699
- game: g.extend({
853
+ game: b.extend({
700
854
  business: t.nullish(),
701
- rewards: e.array(e.lazy(() => I)).min(1, "Requires at least 1 reward")
855
+ rewards: e.array(e.lazy(() => D)).min(1, "Requires at least 1 reward")
702
856
  })
703
857
  }),
704
- k.extend({
858
+ Q.extend({
705
859
  business: t.nullish(),
706
- rewards: e.array(e.lazy(() => Ae)).min(1, "Requires at least 1 reward")
860
+ rewards: e.array(e.lazy(() => Ne)).min(1, "Requires at least 1 reward")
861
+ }),
862
+ $.extend({
863
+ business: t.nullish()
707
864
  })
708
865
  ]);
709
- U.pick({
866
+ W.pick({
710
867
  business: !0,
711
868
  name: !0,
712
869
  image: !0,
@@ -714,7 +871,7 @@ U.pick({
714
871
  tiers: !0,
715
872
  // titles: true,
716
873
  cardEnable: !0,
717
- design: !0,
874
+ // design: true,
718
875
  targetLocation: !0,
719
876
  brand: !0,
720
877
  email: !0,
@@ -723,23 +880,23 @@ U.pick({
723
880
  pf_title: !0,
724
881
  pf_targetLocation: !0
725
882
  }).extend({
726
- allowedPhoneCountryDetails: e.array(K).nullish()
883
+ allowedPhoneCountryDetails: e.array(X).nullish()
727
884
  });
728
885
  export {
729
886
  r as C,
730
887
  n as F,
731
888
  o as a,
732
- Ke as b,
733
- ze as c,
734
- Ee as d,
735
- ke as e,
736
- Ve as f,
737
- He as g,
738
- I as h,
739
- Te as i,
740
- We as j,
741
- Ae as k,
742
- Oe as l,
743
- U as m,
744
- ne as n
889
+ et as b,
890
+ Ie as c,
891
+ Xe as d,
892
+ tt as e,
893
+ Qe as f,
894
+ D as g,
895
+ Be as h,
896
+ $e as i,
897
+ Ne as j,
898
+ Ge as k,
899
+ Ze as l,
900
+ W as m,
901
+ de as n
745
902
  };