@feedmepos/mf-connect 0.1.111-prod → 0.1.112-prod

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 (125) hide show
  1. package/dist/{App-D3pYl3WL.js → App-CFJcQZEE.js} +83 -80
  2. package/dist/{Bin-DOZqpbYH.js → Bin-DaqUNsSV.js} +8 -8
  3. package/dist/{Broadcast-DZ4SP99P.js → Broadcast-CdAN6JCa.js} +11 -11
  4. package/dist/{CampaignAnalytic-cFKvCgxX.js → CampaignAnalytic-CpP7lgTX.js} +7 -7
  5. package/dist/{CampaignTypeDialog.vue_vue_type_script_setup_true_lang-B0eVEubS.js → CampaignTypeDialog.vue_vue_type_script_setup_true_lang-BQiQVQBN.js} +49 -32
  6. package/dist/Card-Bmz5p5Pq.js +1085 -0
  7. package/dist/{Collections-9QK5hbLo.js → Collections-BKND60cK.js} +9 -9
  8. package/dist/{Credit-8Ouy4O9a.js → Credit-DQ_tDm8l.js} +11 -11
  9. package/dist/{DateRangeChip.vue_vue_type_script_setup_true_lang-CJA-yunY.js → DateRangeChip.vue_vue_type_script_setup_true_lang-CCwpsEWf.js} +1 -1
  10. package/dist/{EditCampaignSheet.vue_vue_type_script_setup_true_lang-BYxswo-Z.js → EditCampaignSheet.vue_vue_type_script_setup_true_lang-Bn-lauCv.js} +34 -33
  11. package/dist/{EffectSheet.vue_vue_type_style_index_0_lang-Dv0q3B8m.js → EffectSheet.vue_vue_type_style_index_0_lang-wUV_beN0.js} +6 -6
  12. package/dist/{Experience-DMh4hR1S.js → Experience-BOE6jLIS.js} +12 -12
  13. package/dist/{FileSaver.min-Bx9mdUgJ.js → FileSaver.min-D0CP0E3N.js} +1 -1
  14. package/dist/{Game-CL0TZvg1.js → Game-B-8by2dp.js} +12 -12
  15. package/dist/GiftCardSetup-CdqZd1ee.js +748 -0
  16. package/dist/{GoalPickerPanel.vue_vue_type_script_setup_true_lang-Bz5kIfoM.js → GoalPickerPanel.vue_vue_type_script_setup_true_lang-BVTu4uTR.js} +7 -7
  17. package/dist/{Goals-Dz5Vp-lj.js → Goals-xFHNbwt7.js} +4 -4
  18. package/dist/{ImageInput.vue_vue_type_script_setup_true_lang-CaPDI3vY.js → ImageInput.vue_vue_type_script_setup_true_lang-B5Z1AZRV.js} +1 -1
  19. package/dist/{Index-kH8aAegB.js → Index-t6veJ0lU.js} +10 -10
  20. package/dist/{LocationPicker.vue_vue_type_script_setup_true_lang-CFrgC3Ka.js → LocationPicker.vue_vue_type_script_setup_true_lang-Deeanc8z.js} +1 -1
  21. package/dist/{LottieAnimation.vue_vue_type_script_setup_true_lang-DPIFLdBc.js → LottieAnimation.vue_vue_type_script_setup_true_lang-B8qOJYoS.js} +1 -1
  22. package/dist/{LoyaltyDashboard-BBxEoWol.js → LoyaltyDashboard-DXNBsnM5.js} +15 -15
  23. package/dist/{MainLayout-2BLwDyHQ.js → MainLayout-CmCboaEn.js} +3 -3
  24. package/dist/{Marketing-C4OnSV-c.js → Marketing-DCq9O5eb.js} +4 -4
  25. package/dist/{MarketingMaterialEdit-DFhpsI2-.js → MarketingMaterialEdit-CGLxanxm.js} +6 -6
  26. package/dist/{Member-CT9WwxP0.js → Member-BCYmEmhD.js} +7 -7
  27. package/dist/{MemberDetailSheet.vue_vue_type_script_setup_true_lang-C7yznkUn.js → MemberDetailSheet.vue_vue_type_script_setup_true_lang-Djrfmj9g.js} +26 -25
  28. package/dist/{MemberImportHistory-B__BFID7.js → MemberImportHistory-D-5NAOfo.js} +7 -7
  29. package/dist/{MemberList-DgLI4wty.js → MemberList-IySTKOT_.js} +14 -14
  30. package/dist/{MemberTransactions-UFx_DZYe.js → MemberTransactions-BgQZvc5O.js} +1 -1
  31. package/dist/{MessageInput.vue_vue_type_script_setup_true_lang-BFjZA8Y6.js → MessageInput.vue_vue_type_script_setup_true_lang-N8PCSKBx.js} +3369 -3290
  32. package/dist/{MetricInfoTooltip.vue_vue_type_script_setup_true_lang-Df9bxbUl.js → MetricInfoTooltip.vue_vue_type_script_setup_true_lang-_JNdYsBu.js} +1 -1
  33. package/dist/{Mission-CawzGzDu.js → Mission-DtaTKWE2.js} +13 -13
  34. package/dist/{Overview-CAtTlEVa.js → Overview-D-uC2-Pi.js} +4 -4
  35. package/dist/{Overview-D19oSo24.js → Overview-DVMdPa97.js} +57 -56
  36. package/dist/{Point-BPAGmKAj.js → Point-jnPIgHMZ.js} +13 -13
  37. package/dist/{Promotion-B0Uf9vjL.js → Promotion-mdQg-RSh.js} +13 -13
  38. package/dist/{Queue-CJEAFss_.js → Queue-D8YY1lbn.js} +20 -19
  39. package/dist/{Record-s6hSQG2P.js → Record-Dh-rN7a0.js} +9 -9
  40. package/dist/{Review-DhNCbAOm.js → Review-C8B-SIR8.js} +2 -2
  41. package/dist/{ReviewFacebookCallback-DeZqcpJo.js → ReviewFacebookCallback-C3eyH0pS.js} +5 -5
  42. package/dist/{ReviewGoogleCallback-D8ENWii2.js → ReviewGoogleCallback-pNF2ICvQ.js} +5 -5
  43. package/dist/{Reward-BT00QsXL.js → Reward-D7KPnzXt.js} +16 -16
  44. package/dist/{RewardGroup.vue_vue_type_script_setup_true_lang-DaZDGhbm.js → RewardGroup.vue_vue_type_script_setup_true_lang-C87CDjxP.js} +25 -24
  45. package/dist/{RuleGroup.vue_vue_type_script_setup_true_lang-BvxbKSkB.js → RuleGroup.vue_vue_type_script_setup_true_lang-D1S2sLOK.js} +17 -16
  46. package/dist/{Segment-BuGhX9zg.js → Segment-Ct8JRTjV.js} +32 -31
  47. package/dist/{SendCollectionSheet.vue_vue_type_script_setup_true_lang-DB718_4P.js → SendCollectionSheet.vue_vue_type_script_setup_true_lang-w-UpWetC.js} +24 -23
  48. package/dist/{SendVoucherSheet.vue_vue_type_script_setup_true_lang-CkgXxy0C.js → SendVoucherSheet.vue_vue_type_script_setup_true_lang-BbEX2h2u.js} +4 -4
  49. package/dist/{Setting-BOWPp05N.js → Setting-C3Binnn_.js} +56 -56
  50. package/dist/{SettingAdvertisements-aqFErKAr.js → SettingAdvertisements-BrB-dGPs.js} +12 -12
  51. package/dist/{Settings-DekXvE-R.js → Settings-D6h2QM6X.js} +5 -5
  52. package/dist/Store-EKPfHEmY.js +2622 -0
  53. package/dist/{StoreRewards-D2pTL2oA.js → StoreRewards-B208ENOi.js} +15 -15
  54. package/dist/StoreTransactions.vue_vue_type_script_setup_true_lang-Dy7_GFoi.js +1264 -0
  55. package/dist/{TargetLocationInput.vue_vue_type_script_setup_true_lang-C-C3RSeW.js → TargetLocationInput.vue_vue_type_script_setup_true_lang-B2KJeL5Y.js} +2 -2
  56. package/dist/{Tier-OyE8oH2r.js → Tier-CjYiCZy_.js} +104 -103
  57. package/dist/{Title-DAl7CKL_.js → Title-BXkVolaL.js} +34 -33
  58. package/dist/Transaction-D1T3aIC3.js +45 -0
  59. package/dist/{UserRuleGroup.vue_vue_type_script_setup_true_lang-C0yHxQVr.js → UserRuleGroup.vue_vue_type_script_setup_true_lang-flUDCSA5.js} +6 -6
  60. package/dist/{Voucher-D2QGWSxs.js → Voucher-DnQ8jNjI.js} +18 -18
  61. package/dist/{VoucherEditor.vue_vue_type_script_setup_true_lang-Bt2YB745.js → VoucherEditor.vue_vue_type_script_setup_true_lang-Z9GDpO4z.js} +12 -12
  62. package/dist/{ZodTextField.vue_vue_type_script_setup_true_lang-BzCL64Jo.js → ZodTextField.vue_vue_type_script_setup_true_lang-Dcw8Oi-t.js} +2 -2
  63. package/dist/{app-QxosLNkH.js → app-BtGohMqA.js} +5724 -4914
  64. package/dist/app.js +1 -1
  65. package/dist/base.export-DulNMo7e.js +75 -0
  66. package/dist/{business-CbqG6NXr.js → business-Bla8vvZH.js} +1 -1
  67. package/dist/{campaign-Rj7oDBnN.js → campaign-BIPNFBY5.js} +2 -2
  68. package/dist/{campaign-Co4Lq-Wz.js → campaign-DYqAyRCY.js} +8 -8
  69. package/dist/{campaign.enum-B7vdNYKd.js → campaign.enum-liUaxkcy.js} +1 -1
  70. package/dist/{campaign.fn-DolD3lYJ.js → campaign.fn-J7hYcX_7.js} +98 -98
  71. package/dist/{collectible.enum-BsQseg7-.js → collectible.enum-C0FfRMrW.js} +1 -1
  72. package/dist/{collection.fn-EbUIyB1X.js → collection.fn-DdDMfaFO.js} +2 -2
  73. package/dist/currency-BrVnqxQ1.js +7 -0
  74. package/dist/{effect-B_91OlcX.js → effect-gfVmfrm9.js} +1 -1
  75. package/dist/{email-addresses-DXnYZG-e.js → email-addresses-Dy8NFNBw.js} +2 -2
  76. package/dist/{helper-_uhiXya1.js → helper-CMhQctQK.js} +1 -1
  77. package/dist/{index-Df4l6y-S.js → index-B6x6s8mu.js} +1805 -2128
  78. package/dist/{index-CWUmrVo_.js → index-BOZ3oVHd.js} +2 -2
  79. package/dist/{index-DlGnYR5y.js → index-BqKrePY8.js} +3 -3
  80. package/dist/{index-CDm0BWa3.js → index-C5rRuwhC.js} +1 -1
  81. package/dist/{index-CzYxnDWP.js → index-C67-z1uf.js} +11 -6
  82. package/dist/{index-BBihP1s2.js → index-CLiJUFmJ.js} +2 -2
  83. package/dist/{index-xuFTeVrb.js → index-CUFuU2eJ.js} +10 -9
  84. package/dist/index-CZqwIQXi.js +738 -0
  85. package/dist/{index-DzBzClHP.js → index-CghtzuVO.js} +1 -1
  86. package/dist/{index-aCuOvuEC.js → index-Culx-Z9v.js} +20 -14
  87. package/dist/{index-C_1iqF1Q.js → index-D1T4Yf4t.js} +1 -1
  88. package/dist/{index-Cp7oHMm3.js → index-D6RDVy95.js} +17 -16
  89. package/dist/index-DKmtDBKS.js +53 -0
  90. package/dist/{index-BZ2b0Pk6.js → index-Dalmv1m4.js} +3 -3
  91. package/dist/{index-uuNGb1nv.js → index-DvW-3flw.js} +4 -3
  92. package/dist/{index-DuhRCI0L.js → index-dyMdi0Rt.js} +1 -1
  93. package/dist/{index-BWgc2-Qz.js → index-otcusTFM.js} +1 -1
  94. package/dist/{index-DlQJZNwD.js → index-qJOEwQ_z.js} +4 -1
  95. package/dist/{index-tbo0pMIu.js → index-v1exQSyU.js} +1 -1
  96. package/dist/{index.esm2017-B72iWwk_.js → index.esm2017-BLKRIlb9.js} +1 -1
  97. package/dist/{loading-rIhCiB_S.js → loading-BkJ3h_4U.js} +1 -1
  98. package/dist/{lodash-B6fOjfjd.js → lodash-C0Kbs8lQ.js} +1 -1
  99. package/dist/{member-import-CbHn7zss.js → member-import-trpK8l8R.js} +1 -1
  100. package/dist/{membership-DkJN7jyQ.js → membership-TV1CoyKQ.js} +3 -3
  101. package/dist/{money-ChbDx6Nq.js → money-BM-DK9iD.js} +1 -1
  102. package/dist/{number-9TEd27Ku.js → number-BclgE86R.js} +1 -1
  103. package/dist/{objectid-CGol1NeA.js → objectid-C2XvpEgx.js} +10 -10
  104. package/dist/{onboarding-BN3MKVRs.js → onboarding-BLuoXyCY.js} +3 -3
  105. package/dist/{onboardingSetup-D9xhdgS3.js → onboardingSetup-BLmLAgIV.js} +2 -2
  106. package/dist/{plugins-CCibSJZa.js → plugins-3_mD58dh.js} +3 -3
  107. package/dist/{reward-DjasF-NL.js → reward-Bo4szVCU.js} +1 -1
  108. package/dist/{rule-DqeChj0e.js → rule-Bwy5-zD7.js} +3 -3
  109. package/dist/{rule-builder-DT854ycI.js → rule-builder-Co_1uuj4.js} +1 -1
  110. package/dist/{template-BeCVA0-N.js → template-fImyGLa7.js} +7 -7
  111. package/dist/{timezone-D0nC1LDx.js → timezone-DQ7TNXmV.js} +1 -1
  112. package/dist/{transaction.fn-BkF4Ad2z.js → transaction.fn-OT7ucfCB.js} +2 -2
  113. package/dist/{trigger-CxpXoQJO.js → trigger-BJKHGcNG.js} +14 -14
  114. package/dist/{useMarketingMaterialActions-p0-fyMkm.js → useMarketingMaterialActions-BX3C1Gga.js} +3 -3
  115. package/dist/{usePagination-CrC-1v4L.js → usePagination-Qp0qoWBj.js} +1 -1
  116. package/dist/{user-CrylHgF1.js → user-BcE3fiEa.js} +1 -1
  117. package/dist/{vue-i18n-BjtkXdmG.js → vue-i18n-BQmB8Ex1.js} +230 -230
  118. package/dist/{xlsx-CJNYF7-l.js → xlsx-DYZ421PG.js} +440 -440
  119. package/dist/{zod-Dzn9S95S.js → zod-DestzeIp.js} +1 -1
  120. package/package.json +1 -1
  121. package/dist/Card-B5ni027Q.js +0 -911
  122. package/dist/Store-DpVlMuau.js +0 -1998
  123. package/dist/StoreTransactions.vue_vue_type_script_setup_true_lang-CNDv6eiZ.js +0 -1009
  124. package/dist/Transaction-mvKzTgLx.js +0 -39
  125. package/dist/export-D0hWZSfH.js +0 -97
@@ -0,0 +1,738 @@
1
+ import { z as e, F as t, b as y, m as p, d as K } from "./index-DvW-3flw.js";
2
+ import { F as h } from "./campaign.enum-liUaxkcy.js";
3
+ 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-BqKrePY8.js";
4
+ import { A as M, B as A, C as q, E as Z } from "./index-B6x6s8mu.js";
5
+ import { c as u } from "./index-Culx-Z9v.js";
6
+ e.object({
7
+ location: t,
8
+ memberId: t,
9
+ nettTotal: y,
10
+ remark: e.string().optional()
11
+ });
12
+ const $ = e.enum(["COUNTER", "POS"]);
13
+ e.object({
14
+ id: e.string(),
15
+ userId: e.string(),
16
+ name: e.string().nullish(),
17
+ birthday: e.string().nullish(),
18
+ phoneNumber: e.string().nullish(),
19
+ balance: e.number().nullish(),
20
+ level: e.number().nullish(),
21
+ mostPurchasedItems: e.array(e.string()).nullish()
22
+ });
23
+ const X = {
24
+ collectionName: "Bills"
25
+ }, Q = e.object({
26
+ _id: e.string(),
27
+ items: e.record(e.string(), e.number()).nullish(),
28
+ // business: z.string(),
29
+ // adjustments: z.record(FdoBillAdjustment),
30
+ // refundedFrom: z.string().nullish(),
31
+ user: e.string().nullish(),
32
+ memberid: e.string().nullish(),
33
+ // roundToNearest: z.number().nullish(),
34
+ nettTotal: y,
35
+ adjustedTotal: y.optional(),
36
+ // activeItems: z.array(z.string()),
37
+ remark: e.string().nullish(),
38
+ createdAt: e.coerce.date(),
39
+ completedAt: e.coerce.date(),
40
+ location: e.string(),
41
+ channel: $.optional()
42
+ }).transform((a) => ({
43
+ ...a,
44
+ createdTime: a.createdAt,
45
+ completedTime: a.completedAt,
46
+ get amount() {
47
+ return a.nettTotal.amount / 10 ** a.nettTotal.precision;
48
+ },
49
+ get adjustmentAmount() {
50
+ return a.adjustedTotal ? a.adjustedTotal.amount / 10 ** a.adjustedTotal.precision : void 0;
51
+ }
52
+ })).describe(p.describe(X)), ee = e.object({
53
+ _id: e.string(),
54
+ rating: e.coerce.number(),
55
+ user: e.string().optional(),
56
+ restaurant: e.string(),
57
+ message: e.string(),
58
+ submittedAt: e.coerce.date()
59
+ }), o = e.enum([
60
+ "SIMPLE_CLAIM",
61
+ "LINK_CLAIM",
62
+ "BILL_COMPLETED",
63
+ "SCHEDULE",
64
+ "BIRTHDAY",
65
+ "FEEDBACK",
66
+ "ENTER_SEGMENT",
67
+ "MEMBERSHIP_JOINED",
68
+ "TIER_UPGRADED",
69
+ "MAKING_ORDER",
70
+ "ISSUE_REWARD",
71
+ "MEMBER_REWARD",
72
+ "GAME_COMPLETED",
73
+ "PAGINATE_SCHEDULE",
74
+ "REFERRAL_ADDED",
75
+ "MEMBER_IMPORTED",
76
+ "SEGMENTATION_IMPORTED"
77
+ ]), we = o.extract([
78
+ "BILL_COMPLETED",
79
+ "FEEDBACK",
80
+ "GAME_COMPLETED",
81
+ "MAKING_ORDER",
82
+ "MEMBERSHIP_JOINED",
83
+ "SCHEDULE",
84
+ "SIMPLE_CLAIM",
85
+ "TIER_UPGRADED",
86
+ "ISSUE_REWARD"
87
+ ]);
88
+ e.enum(["START_OF", "BEFORE"]);
89
+ e.enum(["WEEK", "MONTH"]);
90
+ const te = e.enum([
91
+ "WAITING",
92
+ "ACTIVE",
93
+ "COMPLETED",
94
+ "FAILED"
95
+ ]), i = e.object({
96
+ // type: F_EVENT_TYPE,
97
+ rule: F.optional()
98
+ }), ne = i.extend({
99
+ type: e.literal(o.enum.BILL_COMPLETED)
100
+ }), oe = i.extend({
101
+ type: e.literal(o.enum.FEEDBACK)
102
+ }), ie = i.extend({
103
+ type: e.literal(o.enum.SIMPLE_CLAIM)
104
+ });
105
+ i.extend({
106
+ type: e.literal(o.enum.ENTER_SEGMENT),
107
+ segment: e.string()
108
+ });
109
+ const ae = i.extend({
110
+ type: e.literal(o.enum.MEMBER_REWARD)
111
+ }), le = i.extend({
112
+ type: e.literal(o.enum.SCHEDULE)
113
+ // option: FdoCronRule,
114
+ }), se = i.extend({
115
+ type: e.literal(o.enum.MEMBERSHIP_JOINED)
116
+ }), re = i.extend({
117
+ type: e.literal(o.enum.TIER_UPGRADED)
118
+ }), de = i.extend({
119
+ type: e.literal(o.enum.MAKING_ORDER)
120
+ }), ce = i.extend({
121
+ type: e.literal(o.enum.ISSUE_REWARD)
122
+ }), me = i.extend({
123
+ type: e.literal(o.enum.GAME_COMPLETED)
124
+ });
125
+ i.extend({
126
+ type: e.literal(o.enum.REFERRAL_ADDED)
127
+ });
128
+ i.extend({
129
+ type: e.literal(o.enum.MEMBER_IMPORTED)
130
+ });
131
+ const ue = e.discriminatedUnion("type", [
132
+ ie,
133
+ ne,
134
+ le,
135
+ oe,
136
+ se,
137
+ re,
138
+ de,
139
+ ce,
140
+ ae,
141
+ me
142
+ ]);
143
+ e.object({
144
+ _id: t,
145
+ type: o,
146
+ ref: e.string(),
147
+ status: te.optional(),
148
+ context: e.record(e.string(), e.any()).optional(),
149
+ failedReason: e.any().optional()
150
+ }).describe(JSON.stringify({ collectionName: "EventLogs" }));
151
+ const l = e.object({
152
+ type: o,
153
+ context: e.any(),
154
+ businessIds: e.array(t).optional(),
155
+ campaignIds: e.array(t).optional(),
156
+ slackWebhookUrl: e.string().optional(),
157
+ emittedAt: e.coerce.date().default(/* @__PURE__ */ new Date())
158
+ }), Ee = l.extend({
159
+ type: e.literal(o.enum.BILL_COMPLETED),
160
+ context: e.object({
161
+ bill: Q,
162
+ rawBill: e.any()
163
+ })
164
+ }), pe = l.extend({
165
+ type: e.literal(o.enum.SCHEDULE),
166
+ context: e.object({
167
+ triggeredAt: e.coerce.date()
168
+ })
169
+ }), ge = l.extend({
170
+ type: e.literal(o.enum.PAGINATE_SCHEDULE),
171
+ context: e.object({
172
+ triggeredAt: e.coerce.date(),
173
+ business: t,
174
+ skip: e.coerce.number(),
175
+ limit: e.coerce.number()
176
+ })
177
+ }), be = l.extend({
178
+ type: e.literal(o.enum.FEEDBACK),
179
+ context: e.object({
180
+ feedback: ee
181
+ })
182
+ }), ye = l.extend({
183
+ type: e.literal(o.enum.MEMBERSHIP_JOINED),
184
+ context: e.object({
185
+ user: M
186
+ })
187
+ }), Ce = l.extend({
188
+ type: e.literal(o.enum.TIER_UPGRADED),
189
+ context: e.object({
190
+ transaction: A
191
+ })
192
+ }), Re = l.extend({
193
+ type: e.literal(o.enum.ISSUE_REWARD),
194
+ context: e.object({
195
+ transaction: A,
196
+ collection: q
197
+ })
198
+ }), _e = l.extend({
199
+ type: e.literal(o.enum.REFERRAL_ADDED),
200
+ context: e.object({
201
+ user: M
202
+ })
203
+ }), T = e.object({
204
+ ref: t,
205
+ originalName: e.string(),
206
+ mimeType: e.string(),
207
+ size: e.number(),
208
+ fbFilePath: e.string(),
209
+ isFbFileDeleted: e.boolean().nullish()
210
+ }), Ie = e.object({
211
+ resetCollectionExpiryBalance: e.boolean().nullish()
212
+ }), he = l.extend({
213
+ type: e.literal(o.enum.MEMBER_IMPORTED),
214
+ context: e.object({
215
+ business: e.string(),
216
+ file: T,
217
+ config: Ie.optional()
218
+ })
219
+ }), Fe = l.extend({
220
+ type: e.literal(o.enum.SEGMENTATION_IMPORTED),
221
+ context: e.object({
222
+ business: e.string(),
223
+ segment: e.string(),
224
+ file: T
225
+ })
226
+ });
227
+ e.discriminatedUnion("type", [
228
+ Ee,
229
+ pe,
230
+ be,
231
+ ye,
232
+ Ce,
233
+ Re,
234
+ ge,
235
+ _e,
236
+ he,
237
+ Fe
238
+ ]);
239
+ const De = {
240
+ collectionName: "Locations",
241
+ transform: {
242
+ _id: "oid",
243
+ business: "oid"
244
+ }
245
+ }, O = e.object({
246
+ _id: t,
247
+ business: t,
248
+ name: e.string(),
249
+ code: e.string().nullish(),
250
+ otp: e.string().nullish(),
251
+ otpExpiredAt: e.coerce.date().nullish(),
252
+ apiToken: e.string().nullish()
253
+ }).describe(p.describe(De));
254
+ e.object({
255
+ _id: t,
256
+ name: e.string(),
257
+ location: t,
258
+ os: e.string(),
259
+ apiToken: e.string().nullish()
260
+ }).describe(
261
+ p.describe({
262
+ collectionName: "LocationDevices",
263
+ transform: {
264
+ _id: "oid",
265
+ location: "oid"
266
+ }
267
+ })
268
+ );
269
+ e.object({
270
+ _id: e.string(),
271
+ name: e.string()
272
+ });
273
+ 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({
274
+ type: e.literal(C.enum.NO_REWARD),
275
+ collectible: e.null(),
276
+ weight: R
277
+ }), P = e.object({
278
+ type: e.literal(C.enum.VOUCHER),
279
+ collectible: t,
280
+ collectibleConfig: e.lazy(() => D._def.right.options[0]),
281
+ earningOption: e.lazy(() => d)
282
+ }), b = e.object({
283
+ type: e.literal(C.enum.LOYALTY),
284
+ collectible: t,
285
+ earningOption: e.lazy(() => d),
286
+ validityOption: e.lazy(() => V)
287
+ }), x = P.extend({
288
+ weight: R
289
+ }), S = b.extend({
290
+ weight: e.number().min(0, "Weight need to be at least 0")
291
+ }), ve = b.extend({
292
+ validityOption: f,
293
+ weight: R
294
+ }), fe = e.discriminatedUnion("type", [
295
+ x,
296
+ S,
297
+ L
298
+ ]), I = e.discriminatedUnion("type", [
299
+ x.extend({
300
+ collectible: t.nullish(),
301
+ business: t.nullish()
302
+ }),
303
+ S.extend({
304
+ collectible: t.nullish(),
305
+ business: t.nullish()
306
+ }),
307
+ L
308
+ ]), N = P.extend({
309
+ threshold: _
310
+ }), B = b.extend({
311
+ threshold: _
312
+ }), ze = b.extend({
313
+ validityOption: f,
314
+ threshold: _
315
+ }), j = e.discriminatedUnion("type", [
316
+ N,
317
+ B
318
+ ]), Me = e.discriminatedUnion("type", [
319
+ N.extend({
320
+ collectible: t.nullish(),
321
+ business: t.nullish()
322
+ }),
323
+ B.extend({
324
+ collectible: t.nullish(),
325
+ collectibleConfig: D.nullish(),
326
+ business: t.nullish()
327
+ })
328
+ ]), Ae = e.enum(["PROGRESSIVE", "STAMP"]), Te = e.object({
329
+ type: Ae,
330
+ end: e.number().int().min(0, "Threshold need to be at least 1"),
331
+ rewards: e.array(e.lazy(() => j)).nullish()
332
+ }).superRefine((a, m) => {
333
+ a.type == "STAMP" && a.end > 40 && (m.addIssue({
334
+ code: "custom",
335
+ path: [],
336
+ message: "Stamp mission can have at most 40 threshold"
337
+ }), m.addIssue({
338
+ code: "custom",
339
+ path: ["end"],
340
+ message: "Stamp mission can have at most 40 threshold"
341
+ }));
342
+ }), Oe = {
343
+ collectionName: "Groups",
344
+ transform: {
345
+ _id: "oid",
346
+ business: "oid"
347
+ },
348
+ lookups: {
349
+ business: {
350
+ fromCollection: "Businesses",
351
+ as: "pf_business"
352
+ },
353
+ pf_campaigns: {
354
+ fromCollection: "Campaigns",
355
+ as: "pf_campaigns",
356
+ localField: "_id",
357
+ foreignField: "group"
358
+ }
359
+ }
360
+ }, He = e.object({
361
+ _id: t,
362
+ name: e.string().min(1).max(300),
363
+ business: t,
364
+ pf_campaigns: e.array(e.any()).optional()
365
+ }).describe(p.describe(Oe)), Le = e.object({
366
+ from: e.string().email().nullish(),
367
+ name: e.string().min(1).max(50).nullish()
368
+ }), Pe = e.object({
369
+ _id: e.string(),
370
+ url: e.string(),
371
+ targetLocation: e.array(t).nullish(),
372
+ // null/empty = all locations
373
+ order: e.number().optional()
374
+ }), U = e.object({
375
+ type: e.literal(h.enum.MEMBERSHIP),
376
+ business: t,
377
+ name: e.string().min(1).max(50),
378
+ image: e.string().nullish(),
379
+ url: e.string().nullish(),
380
+ tiers: e.array(e.lazy(() => Z)),
381
+ titles: e.array(t),
382
+ tierCycleEnable: e.boolean().optional(),
383
+ tierCycle: e.lazy(() => F).nullish(),
384
+ welcomeMessage: u.optional(),
385
+ advertisements: e.union([e.array(e.string()), e.array(Pe)]).optional(),
386
+ cardEnable: e.boolean().optional(),
387
+ design: e.array(
388
+ e.object({
389
+ _id: t,
390
+ image: e.string()
391
+ })
392
+ ).optional(),
393
+ targetLocation: e.array(t).nullish(),
394
+ brand: e.string().nullish(),
395
+ email: Le.nullish(),
396
+ freeCreditAsDiscount: e.boolean().optional(),
397
+ pf_title: e.array(e.lazy(() => c)).optional(),
398
+ pf_targetLocation: e.array(e.lazy(() => O)).optional(),
399
+ allowedPhoneCountries: e.union([
400
+ e.array(e.string().regex(/^\+\d{1,4}$/)),
401
+ e.null()
402
+ ]).optional(),
403
+ // new structure
404
+ group: e.string().nullish(),
405
+ templateId: t.nullish()
406
+ }), n = h.exclude(["MEMBERSHIP"]), s = e.object({
407
+ _id: t.nullish(),
408
+ type: n,
409
+ // common information
410
+ business: t,
411
+ name: e.string().min(1).max(50),
412
+ image: e.string().nullish(),
413
+ description: e.string().max(500).nullish(),
414
+ timeframeOptions: J.superRefine((a, m) => {
415
+ a.start && a.end && a.end < a.start && m.addIssue({
416
+ code: "custom",
417
+ path: [],
418
+ params: {
419
+ i18n: "connectZodCustom:timeframe.end_before_start"
420
+ }
421
+ });
422
+ }).nullish(),
423
+ targetLocation: e.array(t).nullish(),
424
+ event: ue,
425
+ config: Y.nullish(),
426
+ currentReceive: e.coerce.number().optional(),
427
+ // new group structure
428
+ group: t.nullish(),
429
+ templateId: t.nullish(),
430
+ pf_targetLocation: e.array(e.lazy(() => O)).optional(),
431
+ deletedAt: e.coerce.date().optional()
432
+ }), r = {
433
+ [n.enum.VOUCHER]: [
434
+ "BILL_COMPLETED",
435
+ "FEEDBACK",
436
+ "MEMBERSHIP_JOINED",
437
+ "TIER_UPGRADED",
438
+ "SCHEDULE",
439
+ "SIMPLE_CLAIM"
440
+ ],
441
+ [n.enum.PROMOTION]: ["MAKING_ORDER"],
442
+ [n.enum.POINT]: [
443
+ "BILL_COMPLETED",
444
+ "FEEDBACK",
445
+ "MEMBERSHIP_JOINED",
446
+ "TIER_UPGRADED",
447
+ "SCHEDULE"
448
+ ],
449
+ [n.enum.CREDIT]: [
450
+ "BILL_COMPLETED",
451
+ "FEEDBACK",
452
+ "MEMBERSHIP_JOINED",
453
+ "TIER_UPGRADED",
454
+ "SCHEDULE"
455
+ ],
456
+ [n.enum.BROADCAST]: [
457
+ "SCHEDULE",
458
+ "ISSUE_REWARD",
459
+ "FEEDBACK"
460
+ ],
461
+ [n.enum.COIN]: [
462
+ "BILL_COMPLETED",
463
+ "FEEDBACK",
464
+ "MEMBERSHIP_JOINED",
465
+ "TIER_UPGRADED",
466
+ "SCHEDULE"
467
+ ],
468
+ [n.enum.REWARD_POOL]: ["GAME_COMPLETED"],
469
+ [n.enum.GAME]: [
470
+ "BILL_COMPLETED",
471
+ "FEEDBACK",
472
+ "MEMBERSHIP_JOINED",
473
+ "TIER_UPGRADED",
474
+ "SCHEDULE",
475
+ "SIMPLE_CLAIM"
476
+ ],
477
+ [n.enum.MISSION]: [
478
+ "BILL_COMPLETED",
479
+ "FEEDBACK",
480
+ "SCHEDULE"
481
+ ]
482
+ }, G = s.extend({
483
+ type: e.literal(n.enum.VOUCHER),
484
+ // event
485
+ code: e.string().min(0).max(15).regex(/^[A-Za-z0-9\-_.@]*$/, {
486
+ message: "Code can only contain letters, numbers, and - _ . @"
487
+ }).optional(),
488
+ event: i.merge(
489
+ e.object({
490
+ type: e.enum(r[n.enum.VOUCHER])
491
+ })
492
+ ),
493
+ earningOption: d.default({
494
+ amount: 1,
495
+ type: "FIXED"
496
+ }),
497
+ collectible: t,
498
+ hideInApp: e.boolean().optional(),
499
+ notify: e.boolean().optional(),
500
+ notifyMessage: e.lazy(() => u).optional(),
501
+ notifyCampaign: t.nullish(),
502
+ pf_collectible: e.lazy(() => c).optional(),
503
+ pf_notifyCampaign: e.lazy(() => E).optional()
504
+ }), xe = e.object({
505
+ gameType: e.string()
506
+ }), w = s.extend({
507
+ type: e.literal(n.enum.PROMOTION),
508
+ // event
509
+ event: i.merge(
510
+ e.object({
511
+ type: e.enum(r[n.enum.PROMOTION])
512
+ })
513
+ ),
514
+ effect: e.custom().superRefine((a, m) => {
515
+ a || m.addIssue({
516
+ code: "custom",
517
+ path: [],
518
+ params: {
519
+ i18n: "connectZodCustom:campaign.effect_required"
520
+ }
521
+ });
522
+ }),
523
+ gameConfig: xe.nullish()
524
+ }), v = s.extend({
525
+ type: e.literal(n.enum.POINT),
526
+ // event
527
+ event: i.merge(
528
+ e.object({
529
+ type: e.enum(r[n.enum.POINT])
530
+ })
531
+ ),
532
+ earningOption: d,
533
+ collectible: t,
534
+ notify: e.boolean().optional(),
535
+ notifyMessage: e.lazy(() => u).optional(),
536
+ notifyCampaign: t.nullish(),
537
+ pf_collectible: e.lazy(() => c).optional(),
538
+ pf_notifyCampaign: e.lazy(() => E).optional()
539
+ }), z = s.extend({
540
+ type: e.literal(n.enum.CREDIT),
541
+ // event
542
+ event: i.merge(
543
+ e.object({
544
+ type: e.enum(r[n.enum.CREDIT])
545
+ })
546
+ ),
547
+ earningOption: d,
548
+ collectible: t,
549
+ notify: e.boolean().optional(),
550
+ notifyMessage: e.lazy(() => u).optional(),
551
+ notifyCampaign: t.nullish(),
552
+ pf_collectible: e.lazy(() => c).optional(),
553
+ pf_notifyCampaign: e.lazy(() => E).optional()
554
+ }), E = s.extend({
555
+ type: e.literal(n.enum.BROADCAST),
556
+ // event
557
+ event: i.merge(
558
+ e.object({
559
+ type: e.enum(r[n.enum.BROADCAST])
560
+ })
561
+ ),
562
+ message: u,
563
+ linkedCampaign: t.nullish()
564
+ }), H = s.extend({
565
+ type: e.literal(n.enum.COIN),
566
+ // event
567
+ event: i.merge(
568
+ e.object({
569
+ type: e.enum(r[n.enum.COIN])
570
+ })
571
+ ),
572
+ earningOption: d,
573
+ collectible: t,
574
+ notify: e.boolean().optional(),
575
+ notifyMessage: e.lazy(() => u).optional(),
576
+ notifyCampaign: t.nullish(),
577
+ pf_collectible: e.lazy(() => c).optional(),
578
+ pf_notifyCampaign: e.lazy(() => E).optional()
579
+ }), g = s.extend({
580
+ type: e.literal(n.enum.REWARD_POOL),
581
+ // event
582
+ event: i.merge(
583
+ e.object({
584
+ type: e.enum(r[n.enum.REWARD_POOL])
585
+ })
586
+ ),
587
+ rewards: e.array(e.lazy(() => fe)).min(1, "Requires at least 1 reward")
588
+ }), W = s.extend({
589
+ type: e.literal(n.enum.GAME),
590
+ // event
591
+ event: i.merge(
592
+ e.object({
593
+ type: e.enum(r[n.enum.GAME])
594
+ })
595
+ ),
596
+ earningOption: d,
597
+ collectible: t,
598
+ game: e.lazy(() => g).optional(),
599
+ pf_collectible: e.lazy(() => c).optional(),
600
+ rewardPool: t.optional()
601
+ }), k = s.extend({
602
+ type: e.literal(n.enum.MISSION),
603
+ event: i.merge(
604
+ e.object({
605
+ type: e.enum(r[n.enum.MISSION])
606
+ })
607
+ ),
608
+ earningOption: d,
609
+ collectible: t,
610
+ pf_collectible: e.lazy(() => c).optional(),
611
+ mission: e.lazy(() => Te),
612
+ rewards: e.array(e.lazy(() => j)).min(1, "Requires at least 1 reward")
613
+ }), Se = {
614
+ collectionName: "Campaigns",
615
+ transform: {
616
+ _id: "oid",
617
+ business: "oid",
618
+ collectible: "oid",
619
+ templateId: "oid",
620
+ group: "oid",
621
+ notifyCampaign: "oid",
622
+ linkedCampaign: "oid",
623
+ rewardPool: "oid"
624
+ },
625
+ lookups: {
626
+ business: {
627
+ fromCollection: "Businesses",
628
+ as: "pf_business"
629
+ },
630
+ targetLocation: {
631
+ fromCollection: "Locations",
632
+ as: "pf_targetLocation"
633
+ },
634
+ collectible: {
635
+ fromCollection: "CollectibleConfigs",
636
+ as: "pf_collectible"
637
+ },
638
+ titles: {
639
+ fromCollection: "CollectibleConfigs",
640
+ as: "pf_title"
641
+ },
642
+ templateId: {
643
+ fromCollection: "Templates",
644
+ as: "template"
645
+ },
646
+ notifyCampaign: {
647
+ fromCollection: "Campaigns",
648
+ as: "pf_notifyCampaign"
649
+ },
650
+ rewardPool: {
651
+ fromCollection: "Campaigns",
652
+ as: "game"
653
+ }
654
+ }
655
+ }, We = e.object({ _id: t }).and(
656
+ e.discriminatedUnion("type", [
657
+ U,
658
+ G,
659
+ w,
660
+ v,
661
+ z,
662
+ E,
663
+ H,
664
+ g,
665
+ W,
666
+ k
667
+ ])
668
+ ).describe(p.describe(Se)), ke = e.discriminatedUnion("type", [
669
+ G.extend({
670
+ business: t.nullish()
671
+ }),
672
+ w.extend({
673
+ business: t.nullish()
674
+ }),
675
+ v.extend({
676
+ business: t.nullish()
677
+ }),
678
+ z.extend({
679
+ business: t.nullish()
680
+ }),
681
+ E.extend({
682
+ business: t.nullish()
683
+ }),
684
+ H.extend({
685
+ business: t.nullish()
686
+ }),
687
+ g.extend({
688
+ rewards: e.array(e.lazy(() => I)).min(1, "Requires at least 1 reward")
689
+ }),
690
+ W.extend({
691
+ business: t.nullish(),
692
+ game: g.extend({
693
+ business: t.nullish(),
694
+ rewards: e.array(e.lazy(() => I)).min(1, "Requires at least 1 reward")
695
+ })
696
+ }),
697
+ k.extend({
698
+ business: t.nullish(),
699
+ rewards: e.array(e.lazy(() => Me)).min(1, "Requires at least 1 reward")
700
+ })
701
+ ]);
702
+ U.pick({
703
+ business: !0,
704
+ name: !0,
705
+ image: !0,
706
+ // url: true,
707
+ tiers: !0,
708
+ // titles: true,
709
+ cardEnable: !0,
710
+ design: !0,
711
+ targetLocation: !0,
712
+ brand: !0,
713
+ email: !0,
714
+ freeCreditAsDiscount: !0,
715
+ allowedPhoneCountries: !0,
716
+ pf_title: !0,
717
+ pf_targetLocation: !0
718
+ }).extend({
719
+ allowedPhoneCountryDetails: e.array(K).nullish()
720
+ });
721
+ export {
722
+ r as C,
723
+ n as F,
724
+ o as a,
725
+ We as b,
726
+ we as c,
727
+ ue as d,
728
+ He as e,
729
+ ke as f,
730
+ ve as g,
731
+ I as h,
732
+ Ae as i,
733
+ ze as j,
734
+ Me as k,
735
+ Te as l,
736
+ U as m,
737
+ te as n
738
+ };