@feedmepos/mf-connect 0.1.0-beta.7 → 0.1.0-beta.70

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 (123) hide show
  1. package/dist/Analytic-DEQUEGlq.js +427 -0
  2. package/dist/{App-DalxIjTu.js → App-CcoU2SAx.js} +445 -420
  3. package/dist/AuditLogs-CiB6u06w.js +1886 -0
  4. package/dist/Bin-C2_1m5RT.js +166 -0
  5. package/dist/{Broadcast-uMAvsC--.js → Broadcast-TotIXDuJ.js} +56 -54
  6. package/dist/{CampaignTypeDialog.vue_vue_type_script_setup_true_lang-JxbENan8.js → CampaignTypeDialog.vue_vue_type_script_setup_true_lang-CixQu3Pr.js} +6 -8
  7. package/dist/Card-Ce-_xMgS.js +896 -0
  8. package/dist/Collections-DKva6Doi.js +459 -0
  9. package/dist/{Credit-QlnatflM.js → Credit-BVUxIJ6C.js} +36 -34
  10. package/dist/CustomSelect.vue_vue_type_script_setup_true_lang-DLnvDVgf.js +108 -0
  11. package/dist/DateRangeChip.vue_vue_type_script_setup_true_lang-BUzUIIUW.js +58 -0
  12. package/dist/EditCampaignSheet.vue_vue_type_script_setup_true_lang-BKEumoan.js +2181 -0
  13. package/dist/{EffectSheet.vue_vue_type_style_index_0_lang-BE07lc4M.js → EffectSheet.vue_vue_type_style_index_0_lang-ah4bz-qR.js} +49 -49
  14. package/dist/{Experience-Czy41ifp.js → Experience-DV3384o0.js} +32 -30
  15. package/dist/FilterChip.vue_vue_type_script_setup_true_lang-BrPLkFX8.js +118 -0
  16. package/dist/Game-DY83ti52.js +278 -0
  17. package/dist/Index-DEIaZ-2H.js +259 -0
  18. package/dist/Marketing-C2RwIlrg.js +20071 -0
  19. package/dist/Member-D4fc-wzd.js +333 -0
  20. package/dist/MemberList-DSMI6t_D.js +1598 -0
  21. package/dist/MemberTransactions-wXUlbbRq.js +45 -0
  22. package/dist/{MessageInput.vue_vue_type_script_setup_true_lang-CtM73bcN.js → MessageInput.vue_vue_type_script_setup_true_lang-DYS0klKm.js} +135 -120
  23. package/dist/Mission-P_KLDEpg.js +296 -0
  24. package/dist/Overview-8vc0f1D7.js +1078 -0
  25. package/dist/{Point-By6ogYy_.js → Point-B4Y0Pq60.js} +55 -53
  26. package/dist/{Promotion-DKcBr-RI.js → Promotion-C1CbesgZ.js} +65 -57
  27. package/dist/Queue-BlPA7PNH.js +244 -0
  28. package/dist/Record-Cl1qXSSk.js +340 -0
  29. package/dist/Reward-jy6-W1Eh.js +442 -0
  30. package/dist/RewardGroup.vue_vue_type_script_setup_true_lang-d5JNNNHf.js +150 -0
  31. package/dist/RuleGroup.vue_vue_type_script_setup_true_lang-DYul_Nu8.js +1640 -0
  32. package/dist/Segment-B36Nrvxs.js +568 -0
  33. package/dist/SelectItems.vue_vue_type_script_setup_true_lang-jN0xUFNR.js +181 -0
  34. package/dist/SendCollectionSheet.vue_vue_type_script_setup_true_lang-BLFTNooB.js +186 -0
  35. package/dist/SendVoucherSheet.vue_vue_type_script_setup_true_lang-H_Sehhgf.js +147 -0
  36. package/dist/Setting-AgQf2X4W.js +1931 -0
  37. package/dist/Store-D3Mm0pan.js +1841 -0
  38. package/dist/StoreRewards-L0VLWz8l.js +423 -0
  39. package/dist/StoreTransactions.vue_vue_type_script_setup_true_lang-Zl_cXXSD.js +1028 -0
  40. package/dist/{TargetLocationInput.vue_vue_type_script_setup_true_lang-nEdCD6la.js → TargetLocationInput.vue_vue_type_script_setup_true_lang-b4mfueTj.js} +1 -1
  41. package/dist/{Tier-DvAs0-yx.js → Tier-DQq-375x.js} +327 -318
  42. package/dist/{Title-B_Trr39o.js → Title-OJxuBvaa.js} +224 -209
  43. package/dist/{Transaction-DCJw-b3H.js → Transaction-vgsYRfD7.js} +2 -2
  44. package/dist/UserRuleGroup.vue_vue_type_script_setup_true_lang-Cwi0mvC3.js +130 -0
  45. package/dist/Voucher-BFwLaoxe.js +354 -0
  46. package/dist/VoucherEditor.vue_vue_type_script_setup_true_lang-DNUBaNtJ.js +419 -0
  47. package/dist/{ZodTextField.vue_vue_type_script_setup_true_lang-DXkhu8e9.js → ZodTextField.vue_vue_type_script_setup_true_lang-ms40eptZ.js} +1 -1
  48. package/dist/app-BQFTJ_hE.js +33357 -0
  49. package/dist/app-D7C3Fxfi.js +7077 -0
  50. package/dist/app.js +1 -1
  51. package/dist/{business-BC4-i1cU.js → business-vzpvmTdG.js} +1 -1
  52. package/dist/{campaign--0_yMbMV.js → campaign-BkxTDfsK.js} +2 -2
  53. package/dist/campaign-UQ8kMVeC.js +1810 -0
  54. package/dist/campaign.enum-BdT-e9h9.js +20 -0
  55. package/dist/campaign.fn-lc4ZhFCU.js +758 -0
  56. package/dist/collectible.enum-C8kd17Tz.js +19 -0
  57. package/dist/{collection.fn-3TwPe7aF.js → collection.fn-BIw1Y_tv.js} +2 -2
  58. package/dist/dto-CwzAhB8x.js +214 -0
  59. package/dist/{effect-BeR0LK61.js → effect-CJcvLlKG.js} +33 -16
  60. package/dist/email-addresses-BCJTQPT0.js +705 -0
  61. package/dist/{export-xeLLhqvh.js → export-URRwle1z.js} +5 -5
  62. package/dist/{helper-B5iqfKh8.js → helper-DccnE6zn.js} +1 -1
  63. package/dist/index-BiIZ7X6d.js +29556 -0
  64. package/dist/{index-CyKZ-SsN.js → index-BsRJ4kVb.js} +1 -1
  65. package/dist/{index-CU_d8jjU.js → index-C3lpXz_P.js} +1 -1
  66. package/dist/{index-Ct_wR519.js → index-CFA3EqId.js} +24 -21
  67. package/dist/{index-DP-dGMJC.js → index-CPRN3irj.js} +2230 -871
  68. package/dist/index-CaxFS90M.js +56 -0
  69. package/dist/index-CsaQJMAR.js +66 -0
  70. package/dist/index-D4MX9e5q.js +115 -0
  71. package/dist/index-DrE9VkxR.js +32 -0
  72. package/dist/index-EOPRlB9V.js +54 -0
  73. package/dist/{index-CAn5heDe.js → index-FcxOGFKj.js} +48 -4
  74. package/dist/{index-Bh-uaaBG.js → index-OScGm4mF.js} +1506 -1480
  75. package/dist/{index-BOdtpNkP.js → index-ghSGvG-m.js} +266 -173
  76. package/dist/index-vh86FiIQ.js +10 -0
  77. package/dist/{index.esm2017-5jeDA5Zo.js → index.esm2017-CE1CQHrP.js} +121 -121
  78. package/dist/loading-B8zghYbj.js +71 -0
  79. package/dist/{membership-D0nqqWNZ.js → membership-DoJMF2T6.js} +54 -46
  80. package/dist/money-CTR0rXZw.js +15 -0
  81. package/dist/number-Bhgz9eFP.js +12 -0
  82. package/dist/objectid-DdVJrRBw.js +145 -0
  83. package/dist/{loading-C-JDVajU.js → plugins-B5mQ7CHT.js} +3871 -3943
  84. package/dist/remy-vue-client-Cpppk9h-.js +1693 -0
  85. package/dist/reward-DicsEEHe.js +36 -0
  86. package/dist/{rule-builder-BXt29Es4.js → rule-builder-BWb4JTrd.js} +1 -1
  87. package/dist/{rule-Dn_GgBCe.js → rule-s8siRar1.js} +185 -178
  88. package/dist/style.css +1 -1
  89. package/dist/{template-D2Oi3dxP.js → template-Qb5ozfLa.js} +5 -5
  90. package/dist/trigger-Bsb3Kj35.js +144 -0
  91. package/dist/user-DJ8aHRaM.js +54 -0
  92. package/dist/{vue-i18n-Dud8fvmw.js → vue-i18n-BG2U7GtN.js} +282 -282
  93. package/dist/{xlsx-CCRCidY2.js → xlsx-2QxyDFwt.js} +1 -1
  94. package/package.json +11 -7
  95. package/dist/Analytic-BMpS6jWb.js +0 -622
  96. package/dist/Card-DV8-g69L.js +0 -825
  97. package/dist/Collections-DRafEHT1.js +0 -453
  98. package/dist/EditCampaignSheet.vue_vue_type_script_setup_true_lang-TDoMehSB.js +0 -2813
  99. package/dist/Game-CD3zSitz.js +0 -255
  100. package/dist/Marketing-NNes8z6Q.js +0 -316
  101. package/dist/Member-CTqBgYuV.js +0 -69
  102. package/dist/MemberList-B99tS5ce.js +0 -1733
  103. package/dist/MemberTransactions-D1YCXPOg.js +0 -38
  104. package/dist/Mission-XbBVKBiE.js +0 -261
  105. package/dist/RuleGroup.vue_vue_type_script_setup_true_lang-D1ESqEFO.js +0 -1753
  106. package/dist/Segment-B8cszL-F.js +0 -437
  107. package/dist/Setting-aZYABlMW.js +0 -1901
  108. package/dist/Store-Bx2tyJwe.js +0 -1511
  109. package/dist/StoreRewards-DTp9G6gw.js +0 -401
  110. package/dist/StoreTransactions.vue_vue_type_script_setup_true_lang-B2W7ly5Z.js +0 -890
  111. package/dist/Voucher-jqv3ji90.js +0 -490
  112. package/dist/app-WlcUVbFb.js +0 -5764
  113. package/dist/app-_w0hjM7u.js +0 -53428
  114. package/dist/dto-Ns2dLn1B.js +0 -2770
  115. package/dist/index-BWb9vRCi.js +0 -29193
  116. package/dist/index-CpU9aqyW.js +0 -206
  117. package/dist/index-CqO_ZvtD.js +0 -99
  118. package/dist/index-CuvNtC_M.js +0 -61
  119. package/dist/index-DsNsA2uX.js +0 -298
  120. package/dist/index-WAMr3npT.js +0 -762
  121. package/dist/money-hdbrblud.js +0 -15
  122. package/dist/number-CRWGOZaW.js +0 -12
  123. package/dist/user-Bm4KttFq.js +0 -37
@@ -1,206 +0,0 @@
1
- import { z as o, F as e, m as c } from "./loading-C-JDVajU.js";
2
- import { n as d, o as u, p as m, m as a } from "./index-Bh-uaaBG.js";
3
- const b = o.enum([
4
- "PORTAL",
5
- "BENEFIT",
6
- "STORE",
7
- "ORDER",
8
- "BILL",
9
- "BILL_DISCOUNT",
10
- "CASHBACK",
11
- "FEEDBACK",
12
- "CYCLE",
13
- "COUNTER",
14
- "GAME",
15
- "COUNTER_CONSUME",
16
- "STAMP_REWARD",
17
- "STAMP_CARRY_FORWARD",
18
- "STAMP_MAX_REACHED",
19
- "POS_CLAIM",
20
- "MEMBER_APP-CLAIM",
21
- "MEMBER_APP-TRANSFER",
22
- "FEEDVIBE_APP-CLAIM"
23
- ]), i = o.string(), l = o.record(o.string(), o.any()).nullish(), p = {
24
- collectionName: "Transactions",
25
- transform: {
26
- _id: "oid",
27
- user: "oid",
28
- collectible: "oid",
29
- collection: "oid",
30
- business: "oid",
31
- refundedFrom: "oid"
32
- },
33
- lookups: {
34
- user: {
35
- fromCollection: "UsersV2",
36
- as: "pf_user"
37
- },
38
- collectible: {
39
- fromCollection: "CollectibleConfigs",
40
- as: "pf_collectible"
41
- }
42
- }
43
- }, _ = o.object({
44
- _id: e,
45
- user: e.nullable(),
46
- collectible: e,
47
- collection: e,
48
- business: e,
49
- amount: o.number(),
50
- expiryAmount: o.array(o.lazy(() => r)),
51
- from: o.lazy(() => t),
52
- to: o.lazy(() => t),
53
- source: i,
54
- ref: o.string(),
55
- refunded: o.boolean().optional(),
56
- refundedFrom: e.optional(),
57
- metadata: l,
58
- createdAt: o.coerce.date().optional(),
59
- pf_user: o.any().optional(),
60
- pf_collectible: o.any().optional(),
61
- pf_collection: o.any().optional(),
62
- totalAmount: o.number().optional()
63
- }).describe(c.describe(p));
64
- o.object({
65
- amount: o.number(),
66
- expiryAmount: o.array(o.lazy(() => r)),
67
- collection: o.lazy(() => f),
68
- source: i,
69
- ref: o.string(),
70
- from: o.lazy(() => t).optional(),
71
- to: o.lazy(() => t),
72
- metadata: l,
73
- refunded: o.boolean().optional(),
74
- refundedFrom: e.optional()
75
- });
76
- o.object({
77
- id: o.string()
78
- });
79
- b.options;
80
- const s = o.enum(["NORMAL", "EXPIRABLE"]), r = o.object({
81
- _id: e,
82
- amount: o.number(),
83
- expiredAt: o.coerce.date()
84
- }), t = o.object({
85
- balance: o.number(),
86
- expiryBalance: o.array(r).optional()
87
- }), C = {
88
- collectionName: "Collections",
89
- transform: {
90
- _id: "oid",
91
- business: "oid",
92
- collectible: "oid",
93
- user: "oid",
94
- deactivatedAt: "date"
95
- },
96
- lookups: {
97
- user: {
98
- as: "pf_user",
99
- fromCollection: "UsersV2"
100
- },
101
- collectible: {
102
- as: "pf_collectible",
103
- fromCollection: "CollectibleConfigs"
104
- }
105
- }
106
- }, f = o.object({
107
- _id: e,
108
- business: e,
109
- user: e.nullish(),
110
- code: o.string().optional(),
111
- collectible: e,
112
- type: d,
113
- extras: u.nullish(),
114
- options: m,
115
- ref: o.string().nullish(),
116
- deactivatedAt: o.date().nullish(),
117
- pf_user: o.any().optional(),
118
- pf_collectible: o.any().optional(),
119
- pf_campaign: o.any().optional()
120
- }).merge(t).describe(c.describe(C)), n = o.object({
121
- amount: o.number(),
122
- ref: o.string(),
123
- source: i,
124
- metadata: l
125
- });
126
- n.extend({
127
- code: o.string().optional(),
128
- collectible: e,
129
- channelConfig: a.nullish(),
130
- business: e,
131
- user: e.nullable()
132
- });
133
- n.extend({
134
- codes: o.array(o.string()),
135
- collectible: e,
136
- channelConfig: a.nullish(),
137
- business: e,
138
- user: e.nullable()
139
- });
140
- n.extend({
141
- user: e,
142
- business: e,
143
- collectible: e
144
- });
145
- n.extend({
146
- id: e,
147
- code: o.string().optional(),
148
- type: s.optional()
149
- });
150
- o.object({
151
- collection: e,
152
- to: e,
153
- ref: o.string(),
154
- source: i,
155
- metadata: l
156
- });
157
- const g = o.object({
158
- length: o.coerce.number().optional(),
159
- charset: o.string(),
160
- prefix: o.string().optional(),
161
- suffix: o.string().optional(),
162
- pattern: o.string().optional()
163
- });
164
- o.object({
165
- quantity: o.number(),
166
- code: o.string(),
167
- codeConfig: g
168
- });
169
- const y = o.object({
170
- amount: o.coerce.number().min(1).max(1e7).multipleOf(0.01, "Amount must be maximum of two decimal places (0.00)"),
171
- day: o.coerce.number().min(1).max(9999),
172
- remark: o.string().optional()
173
- }), F = o.object({
174
- amount: o.coerce.number().min(1),
175
- remark: o.string().optional()
176
- });
177
- o.object({
178
- amount: o.coerce.number().min(1),
179
- day: o.coerce.number().min(1).max(9999),
180
- remark: o.string().optional()
181
- });
182
- o.object({
183
- amount: o.coerce.number().min(1),
184
- remark: o.string().optional()
185
- });
186
- n.extend({
187
- business: o.string(),
188
- user: o.string(),
189
- type: s.optional()
190
- });
191
- n.extend({
192
- business: o.string(),
193
- user: o.string(),
194
- channelConfig: a.nullish()
195
- });
196
- o.object({
197
- memberId: o.array(e)
198
- });
199
- export {
200
- y as F,
201
- F as a,
202
- _ as b,
203
- f as c,
204
- b as d,
205
- t as e
206
- };
@@ -1,99 +0,0 @@
1
- import { g as e, S as n, b as o } from "./index-BWb9vRCi.js";
2
- const t = () => {
3
- const a = n.getBusinessId();
4
- if (!a) throw new Error("Invalid business ID");
5
- return o(`businesses/${a}/campaigns`, {
6
- // url: 'http://localhost:3000/portal/',
7
- });
8
- }, i = {
9
- async readAllGrouped(a) {
10
- const s = e(
11
- await t().get("grouped", { params: a })
12
- );
13
- return {
14
- meta: s.meta,
15
- resources: s.resources
16
- };
17
- },
18
- async readAll(a, s) {
19
- const r = e(
20
- await t().get("", {
21
- params: { ...a, ...s }
22
- })
23
- );
24
- return {
25
- meta: r.meta,
26
- resources: r.resources
27
- };
28
- },
29
- async readById(a) {
30
- return e(await t().get(`/${a}`));
31
- },
32
- async create(a) {
33
- return e(await t().post("", a));
34
- },
35
- async update(a, s) {
36
- return e(await t().put(a, s));
37
- },
38
- async delete(a) {
39
- return e(await t().delete(a));
40
- },
41
- async readCollectionsByCampaignId(a, s) {
42
- const r = e(
43
- await t().get(`/${a}/collections`, {
44
- params: s
45
- })
46
- );
47
- return {
48
- meta: r.meta,
49
- resources: r.resources
50
- };
51
- },
52
- async readTransactions(a) {
53
- return e(
54
- await t().get(
55
- `/${a}/collections/transactions`
56
- )
57
- );
58
- },
59
- async createCollectionByCampaignId(a, s) {
60
- return e(
61
- await t().post(`/${a}/collections`, s)
62
- );
63
- },
64
- async readGroups() {
65
- return e(await t().get("/groups")) ?? [];
66
- },
67
- async readStats(a) {
68
- return e(
69
- await t().get("/stats", { params: a })
70
- );
71
- },
72
- async createGroup(a) {
73
- return e(await t().post("/groups", a));
74
- },
75
- async updateGroup(a, s) {
76
- return e(
77
- await t().put(`/groups/${a}`, s)
78
- );
79
- },
80
- async deleteGroup(a) {
81
- return e(await t().delete(`/groups/${a}`));
82
- },
83
- async sendCollection(a, s) {
84
- return e(
85
- await t().post(
86
- `/${a}/collections/send`,
87
- s
88
- )
89
- );
90
- },
91
- async syncAllPromotion() {
92
- return e(
93
- await t().post("/promotion/sync")
94
- );
95
- }
96
- };
97
- export {
98
- i as c
99
- };
@@ -1,61 +0,0 @@
1
- const E = new RegExp("([\\p{Ll}\\d])(\\p{Lu})", "gu"), x = new RegExp("(\\p{Lu})([\\p{Lu}][\\p{Ll}])", "gu"), P = new RegExp("(\\d)\\p{Ll}|(\\p{L})\\d", "u"), _ = /[^\p{L}\d]+/giu, u = "$1\0$2", i = "";
2
- function L(r) {
3
- let e = r.trim();
4
- e = e.replace(E, u).replace(x, u), e = e.replace(_, "\0");
5
- let c = 0, t = e.length;
6
- for (; e.charAt(c) === "\0"; )
7
- c++;
8
- if (c === t)
9
- return [];
10
- for (; e.charAt(t - 1) === "\0"; )
11
- t--;
12
- return e.slice(c, t).split(/\0/g);
13
- }
14
- function R(r) {
15
- const e = L(r);
16
- for (let c = 0; c < e.length; c++) {
17
- const t = e[c], l = P.exec(t);
18
- if (l) {
19
- const s = l.index + (l[1] ?? l[2]).length;
20
- e.splice(c, 1, t.slice(0, s), t.slice(s));
21
- }
22
- }
23
- return e;
24
- }
25
- function p(r, e) {
26
- const [c, t, l] = o(r, e), s = d(e == null ? void 0 : e.locale), a = C(e == null ? void 0 : e.locale), n = A(s, a);
27
- return c + t.map((f, h) => h === 0 ? n(f) : s(f)).join((e == null ? void 0 : e.delimiter) ?? " ") + l;
28
- }
29
- function d(r) {
30
- return r === !1 ? (e) => e.toLowerCase() : (e) => e.toLocaleLowerCase(r);
31
- }
32
- function C(r) {
33
- return r === !1 ? (e) => e.toUpperCase() : (e) => e.toLocaleUpperCase(r);
34
- }
35
- function A(r, e) {
36
- return (c) => `${e(c[0])}${r(c.slice(1))}`;
37
- }
38
- function o(r, e = {}) {
39
- const c = e.split ?? (e.separateNumbers ? R : L), t = e.prefixCharacters ?? i, l = e.suffixCharacters ?? i;
40
- let s = 0, a = r.length;
41
- for (; s < r.length; ) {
42
- const n = r.charAt(s);
43
- if (!t.includes(n))
44
- break;
45
- s++;
46
- }
47
- for (; a > s; ) {
48
- const n = a - 1, f = r.charAt(n);
49
- if (!l.includes(f))
50
- break;
51
- a = n;
52
- }
53
- return [
54
- r.slice(0, s),
55
- c(r.slice(s, a)),
56
- r.slice(a)
57
- ];
58
- }
59
- export {
60
- p as s
61
- };
@@ -1,298 +0,0 @@
1
- import { z as e, F as t, g as f, e as s, d as r, m as a } from "./loading-C-JDVajU.js";
2
- import { e as l } from "./index-Bh-uaaBG.js";
3
- import "vue";
4
- const I = e.object({
5
- icon: e.string(),
6
- label: e.string(),
7
- value: e.string()
8
- }), E = e.object({
9
- gatewayKey: e.enum([
10
- "REVENUE_MONSTER",
11
- "FEEDME",
12
- "FEEDME_MEMBER_CREDIT",
13
- "RAZER_MERCHANT_SERVICE"
14
- ]),
15
- checkoutUrl: e.string().optional(),
16
- checkoutId: e.string().optional(),
17
- callbackUrl: e.string().optional(),
18
- vcode: e.string().optional(),
19
- merchantId: e.string().optional(),
20
- amount: e.string().optional(),
21
- currency: e.string().optional(),
22
- returnUrl: e.string().optional(),
23
- notifyUrl: e.string().optional(),
24
- channels: e.array(I).optional(),
25
- transactionId: e.string().optional()
26
- });
27
- e.object({
28
- trx: e.lazy(() => M),
29
- onlineTrx: E.optional(),
30
- url: e.string().optional()
31
- });
32
- const d = e.enum(["POS", "APP"]), u = e.enum(["topupCount"]), F = e.object({
33
- line1: e.string(),
34
- line2: e.string().optional(),
35
- state: e.string(),
36
- city: e.string(),
37
- postcode: e.string(),
38
- country: e.string()
39
- }), m = e.object({
40
- name: e.string(),
41
- regNo: e.string(),
42
- address: F,
43
- phoneNo: e.string(),
44
- sstRegNo: e.string().optional()
45
- }), p = e.object({
46
- systemCode: e.string(),
47
- inclusive: e.boolean()
48
- }), P = e.object({
49
- id: t,
50
- dayToExpire: e.number()
51
- }), T = e.object({
52
- normal: e.coerce.number(),
53
- free: e.object({
54
- day: e.coerce.number(),
55
- amount: e.coerce.number(),
56
- remark: e.string().nullish()
57
- }).nullish()
58
- }), _ = e.object({
59
- systemCode: e.string(),
60
- taxCode: e.string()
61
- }), j = e.object({
62
- name: e.string(),
63
- systemCode: e.string(),
64
- taxCode: e.string(),
65
- rate: f,
66
- total: s
67
- });
68
- e.object({
69
- canPurchase: e.boolean(),
70
- reason: e.string()
71
- });
72
- e.object({
73
- type: u
74
- });
75
- e.object({
76
- type: u,
77
- min: e.number().nullish(),
78
- max: e.number().nullish()
79
- });
80
- const C = e.object({
81
- options: e.object({
82
- maxReceive: e.number().min(0).nullish(),
83
- maxPerUser: e.number().min(0).nullish()
84
- }),
85
- rule: l.nullish()
86
- }), N = (o, i) => {
87
- const n = o;
88
- n.isFeedvibe && r.Dinero.fromFdoDinero(n.price).toUnit() < 0.1 && i.addIssue({
89
- code: "custom",
90
- path: ["price"],
91
- message: "Price must be at least RM10"
92
- });
93
- }, b = e.object({
94
- _id: e.string(),
95
- isFeedvibe: e.boolean().nullish(),
96
- // conditions: z.array(FdoTopupCountCondition),
97
- image: e.string().nullish(),
98
- rule: l.nullish(),
99
- name: e.string(),
100
- price: s,
101
- originalPrice: s.nullish(),
102
- // new field to indicate coinPrice
103
- coinPrice: e.number().nullish(),
104
- titles: e.array(P),
105
- credit: T,
106
- taxes: e.array(_),
107
- taxTotals: e.array(j),
108
- priceWithTaxes: s.nullish(),
109
- vouchers: e.array(t),
110
- _inclusiveTaxes: e.array(p).nullish(),
111
- _taxSystem: e.array(e.string()).nullish(),
112
- stripePriceId: e.string().nullish(),
113
- subscriptionValidity: e.number().min(1, "Must be at least 1 day").max(365, "Maximum is 365").nullish(),
114
- redeemWithCode: e.boolean().nullish(),
115
- internal: e.boolean().optional(),
116
- hideInPos: e.boolean().optional(),
117
- config: C.optional(),
118
- pf_titles: e.array(e.any()).optional(),
119
- pf_vouchers: e.array(e.any()).optional(),
120
- pf_credit: e.number().optional()
121
- }).superRefine((o, i) => {
122
- var n, c;
123
- o.stripePriceId && !o.subscriptionValidity && i.addIssue({
124
- code: "custom",
125
- message: "Validity is required when stripePriceId is provided",
126
- path: ["subscriptionValidity"]
127
- }), o.originalPrice && o.originalPrice.amount && o.originalPrice.amount < o.price.amount && i.addIssue({
128
- code: "custom",
129
- message: "Original price must be greater than price",
130
- path: ["originalPrice"]
131
- }), o.price.amount < 0 && i.addIssue({
132
- code: "custom",
133
- path: ["price"],
134
- message: "Price cannot be less than 0"
135
- }), o.coinPrice && o.coinPrice < 0 && i.addIssue({
136
- code: "custom",
137
- path: ["coinPrice"],
138
- message: "Point price cannot be less than 0"
139
- }), o.credit.normal < 0 && i.addIssue({
140
- code: "custom",
141
- path: ["credit", "normal"],
142
- message: "Normal credit cannot be less than 0"
143
- }), o.credit.free && (o.credit.free.amount < 0 && i.addIssue({
144
- code: "custom",
145
- path: ["credit", "free", "amount"],
146
- message: "Free credit cannot be less than 0"
147
- }), o.credit.free.amount && o.credit.free.day < 0 && i.addIssue({
148
- code: "custom",
149
- path: ["credit", "free", "day"],
150
- message: "Expiry must be at least 0 (expire same day)"
151
- })), o.credit.normal && o.coinPrice && i.addIssue({
152
- code: "custom",
153
- message: "Bundle redeem with point cannot set normal credit.",
154
- path: ["credit", "normal"]
155
- }), o.credit.normal > r.Dinero.fromFdoDinero(o.price).toUnit() && i.addIssue({
156
- code: "custom",
157
- message: `Normal credit cannot be more than price. Max: ${r.Dinero.fromFdoDinero(
158
- o.price
159
- ).toUnit()}`,
160
- path: ["credit", "normal"]
161
- }), o.titles.length > 0 && o.titles.some((y) => y.dayToExpire < 0) && i.addIssue({
162
- code: "custom",
163
- path: ["titles"],
164
- message: "Title expiry must be at least 0 day (expire same day)"
165
- }), (((c = (n = o.config) == null ? void 0 : n.options) == null ? void 0 : c.maxPerUser) || 0) < 0 && i.addIssue({
166
- code: "custom",
167
- path: ["config.options.maxPerUser"],
168
- message: "Max purchase per user cannot be negative"
169
- });
170
- }).superRefine(N), g = e.object({
171
- name: e.string(),
172
- bundles: e.array(b)
173
- });
174
- e.object({
175
- _id: e.string(),
176
- name: e.string(),
177
- expiredAt: e.string()
178
- });
179
- const S = e.object({
180
- apiKey: e.string(),
181
- webhookSecret: e.string()
182
- }), R = e.object({
183
- company: m.nullish(),
184
- inclusiveTaxes: e.array(p).nullish(),
185
- stripe: S.optional()
186
- }), x = {
187
- collectionName: "Stores",
188
- transform: {
189
- _id: "oid",
190
- business: "oid"
191
- }
192
- };
193
- R.extend({
194
- _id: t,
195
- business: t,
196
- categories: e.array(g)
197
- }).describe(a.describe(x));
198
- const D = e.object({
199
- refundedAt: e.coerce.date(),
200
- reason: e.string(),
201
- transactions: e.array(t)
202
- }), h = e.object({
203
- type: e.enum(["ONLINE", "OFFLINE", "COIN", "STRIPE", "CARD", "FEEDVIBE"]),
204
- extra: e.string().nullish()
205
- }), U = {
206
- collectionName: "StoreTransactions",
207
- transform: {
208
- _id: "oid",
209
- business: "oid",
210
- location: "oid",
211
- member: "oid",
212
- transactions: "oid"
213
- },
214
- lookups: {
215
- member: {
216
- fromCollection: "UsersV2",
217
- as: "pf_member"
218
- }
219
- }
220
- }, M = e.object({
221
- _id: t,
222
- source: d,
223
- // can be memberStorePurchase
224
- ref: e.string(),
225
- business: t,
226
- company: m,
227
- location: t.optional(),
228
- member: t,
229
- // createdAt: z.coerce.date(),
230
- bundle: b,
231
- transactions: e.array(t),
232
- // array of transaction id (voucher, credit, title)
233
- status: e.enum([
234
- "PENDING_PAYMENT",
235
- "PENDING_TRANSACTION",
236
- "COMPLETED",
237
- "REFUNDED"
238
- ]),
239
- refund: D.nullish(),
240
- paymentType: h.nullish(),
241
- paymentRef: e.string().nullish(),
242
- webhookUrl: e.string().optional(),
243
- webhookSent: e.boolean().optional(),
244
- pf_transactions: e.array(e.any()).optional(),
245
- pf_member: e.any().optional(),
246
- pf_location: e.any().optional(),
247
- pf_ref: e.any().optional()
248
- }).describe(a.describe(U));
249
- e.object({
250
- bundle: t,
251
- member: e.string(),
252
- ref: e.string(),
253
- paymentType: h.nullish(),
254
- withCoin: e.boolean().optional(),
255
- card: e.string().optional(),
256
- location: t.optional(),
257
- source: d,
258
- webhookUrl: e.string().optional()
259
- });
260
- e.object({
261
- categories: e.array(g)
262
- });
263
- e.object({
264
- id: t,
265
- reason: e.string(),
266
- location: t.optional()
267
- });
268
- e.object({
269
- _id: t,
270
- business: t,
271
- user: t,
272
- bundleId: e.string(),
273
- transaction: e.array(t),
274
- subscriptionId: e.string(),
275
- expiredAt: e.coerce.date()
276
- }).describe(
277
- a.describe({
278
- collectionName: "StoreSubscriptions",
279
- transform: {
280
- _id: "oid",
281
- business: "oid",
282
- user: "oid",
283
- transaction: "oid",
284
- expiredAt: "date"
285
- }
286
- })
287
- );
288
- e.object({
289
- member: e.string(),
290
- subscriptionId: e.string()
291
- });
292
- export {
293
- R as F,
294
- m as a,
295
- F as b,
296
- b as c,
297
- M as d
298
- };