@xbstracts/medusa-coupons 0.0.1
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.
- package/.medusa/server/src/admin/index.js +3207 -0
- package/.medusa/server/src/admin/index.mjs +3253 -0
- package/.medusa/server/src/api/admin/coupon-products/[product_id]/entitlements/route.js +9 -0
- package/.medusa/server/src/api/admin/coupon-products/[product_id]/mirror-promotion/route.js +132 -0
- package/.medusa/server/src/api/admin/coupon-products/[product_id]/preview/route.js +28 -0
- package/.medusa/server/src/api/admin/coupon-products/[product_id]/route.js +18 -0
- package/.medusa/server/src/api/admin/coupon-products/[product_id]/variants/[variant_config_id]/route.js +14 -0
- package/.medusa/server/src/api/admin/coupon-products/[product_id]/variants/route.js +14 -0
- package/.medusa/server/src/api/admin/coupon-products/configs/[id]/route.js +53 -0
- package/.medusa/server/src/api/admin/coupon-products/configs/[id]/variants/[variant_config_id]/route.js +26 -0
- package/.medusa/server/src/api/admin/coupon-products/configs/[id]/variants/route.js +27 -0
- package/.medusa/server/src/api/admin/coupon-products/configs/route.js +36 -0
- package/.medusa/server/src/api/admin/coupon-products/entitlements/[id]/cancel/route.js +15 -0
- package/.medusa/server/src/api/admin/coupon-products/entitlements/[id]/redeem/route.js +15 -0
- package/.medusa/server/src/api/admin/coupon-products/entitlements/[id]/route.js +16 -0
- package/.medusa/server/src/api/admin/coupon-products/entitlements/route.js +22 -0
- package/.medusa/server/src/api/admin/coupon-products/options/route.js +9 -0
- package/.medusa/server/src/api/admin/coupon-products/products/route.js +16 -0
- package/.medusa/server/src/api/admin/coupon-products/route.js +13 -0
- package/.medusa/server/src/api/admin/coupon-products/uploads/route.js +7 -0
- package/.medusa/server/src/api/coupon-product-routes.js +546 -0
- package/.medusa/server/src/api/entitlement-utils.js +90 -0
- package/.medusa/server/src/api/media-upload.js +57 -0
- package/.medusa/server/src/api/middlewares.js +92 -0
- package/.medusa/server/src/api/product-utils.js +304 -0
- package/.medusa/server/src/api/promotion-code-resolver.js +225 -0
- package/.medusa/server/src/api/seller-utils.js +101 -0
- package/.medusa/server/src/api/utils.js +25 -0
- package/.medusa/server/src/api/validators.js +199 -0
- package/.medusa/server/src/api/vendor/coupon-products/[product_id]/entitlements/route.js +9 -0
- package/.medusa/server/src/api/vendor/coupon-products/[product_id]/route.js +18 -0
- package/.medusa/server/src/api/vendor/coupon-products/[product_id]/variants/[variant_config_id]/route.js +14 -0
- package/.medusa/server/src/api/vendor/coupon-products/[product_id]/variants/route.js +14 -0
- package/.medusa/server/src/api/vendor/coupon-products/configs/[id]/route.js +60 -0
- package/.medusa/server/src/api/vendor/coupon-products/configs/[id]/variants/[variant_config_id]/route.js +41 -0
- package/.medusa/server/src/api/vendor/coupon-products/configs/[id]/variants/route.js +45 -0
- package/.medusa/server/src/api/vendor/coupon-products/configs/route.js +51 -0
- package/.medusa/server/src/api/vendor/coupon-products/entitlements/[id]/route.js +25 -0
- package/.medusa/server/src/api/vendor/coupon-products/entitlements/route.js +45 -0
- package/.medusa/server/src/api/vendor/coupon-products/options/route.js +9 -0
- package/.medusa/server/src/api/vendor/coupon-products/products/route.js +19 -0
- package/.medusa/server/src/api/vendor/coupon-products/route.js +13 -0
- package/.medusa/server/src/api/vendor/coupon-products/uploads/route.js +7 -0
- package/.medusa/server/src/jobs/retry-coupon-media-deletes.js +14 -0
- package/.medusa/server/src/links/coupon-issuance-order-line-item.js +17 -0
- package/.medusa/server/src/links/coupon-issuance-order.js +15 -0
- package/.medusa/server/src/links/coupon-product-config-product.js +17 -0
- package/.medusa/server/src/links/coupon-product-variant-config-variant.js +17 -0
- package/.medusa/server/src/links/coupon-promotion-mirror-promotion.js +17 -0
- package/.medusa/server/src/links/customer-coupon-entitlement-customer.js +15 -0
- package/.medusa/server/src/modules/coupon/constants.js +46 -0
- package/.medusa/server/src/modules/coupon/index.js +16 -0
- package/.medusa/server/src/modules/coupon/loaders/reconcile-coupon-products.js +65 -0
- package/.medusa/server/src/modules/coupon/migrations/Migration20260709000000.js +40 -0
- package/.medusa/server/src/modules/coupon/migrations/Migration20260710000000.js +22 -0
- package/.medusa/server/src/modules/coupon/migrations/Migration20260711000000.js +25 -0
- package/.medusa/server/src/modules/coupon/migrations/Migration20260712000000.js +78 -0
- package/.medusa/server/src/modules/coupon/migrations/Migration20260719000000.js +19 -0
- package/.medusa/server/src/modules/coupon/migrations/Migration20260722000000.js +17 -0
- package/.medusa/server/src/modules/coupon/migrations/Migration20260723000000.js +18 -0
- package/.medusa/server/src/modules/coupon/models/coupon-entitlement-promotion.js +31 -0
- package/.medusa/server/src/modules/coupon/models/coupon-entitlement-seller.js +28 -0
- package/.medusa/server/src/modules/coupon/models/coupon-issuance.js +35 -0
- package/.medusa/server/src/modules/coupon/models/coupon-media-asset.js +41 -0
- package/.medusa/server/src/modules/coupon/models/coupon-product-config.js +45 -0
- package/.medusa/server/src/modules/coupon/models/coupon-product-variant-config.js +36 -0
- package/.medusa/server/src/modules/coupon/models/coupon-promotion-mirror.js +27 -0
- package/.medusa/server/src/modules/coupon/models/customer-coupon-entitlement.js +56 -0
- package/.medusa/server/src/modules/coupon/models/index.js +23 -0
- package/.medusa/server/src/modules/coupon/payment-order-utils.js +76 -0
- package/.medusa/server/src/modules/coupon/product-metadata.js +24 -0
- package/.medusa/server/src/modules/coupon/purchase-conditions.js +138 -0
- package/.medusa/server/src/modules/coupon/service.js +628 -0
- package/.medusa/server/src/modules/coupon/types.js +3 -0
- package/.medusa/server/src/modules/coupon/utils.js +302 -0
- package/.medusa/server/src/subscribers/issue-coupons-from-order.js +88 -0
- package/.medusa/server/src/vendor/index.mjs +3237 -0
- package/.medusa/server/src/workflows/hooks/validate-coupon-add-to-cart.js +13 -0
- package/.medusa/server/src/workflows/hooks/validate-coupon-complete-cart.js +8 -0
- package/.medusa/server/src/workflows/index.js +21 -0
- package/.medusa/server/src/workflows/steps.js +27 -0
- package/.medusa/server/src/workflows/validate-coupon-purchase.js +85 -0
- package/README.md +84 -0
- package/package.json +102 -0
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.resolveCouponPromotionCodesMiddleware = resolveCouponPromotionCodesMiddleware;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const core_flows_1 = require("@medusajs/medusa/core-flows");
|
|
6
|
+
const coupon_1 = require("../modules/coupon");
|
|
7
|
+
const utils_2 = require("../modules/coupon/utils");
|
|
8
|
+
const seller_utils_1 = require("./seller-utils");
|
|
9
|
+
function requestCodes(req) {
|
|
10
|
+
const validated = req.validatedBody?.promo_codes;
|
|
11
|
+
if (Array.isArray(validated))
|
|
12
|
+
return validated;
|
|
13
|
+
const body = (req.body || {});
|
|
14
|
+
return Array.isArray(body.promo_codes)
|
|
15
|
+
? body.promo_codes.filter((code) => typeof code === "string")
|
|
16
|
+
: [];
|
|
17
|
+
}
|
|
18
|
+
function setRequestCodes(req, promoCodes) {
|
|
19
|
+
req.body = { ...(req.body || {}), promo_codes: promoCodes };
|
|
20
|
+
req.validatedBody = {
|
|
21
|
+
...(req.validatedBody || {}),
|
|
22
|
+
promo_codes: promoCodes,
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
async function readPromotionTarget(req) {
|
|
26
|
+
const id = String(req.params?.id || "").trim();
|
|
27
|
+
if (!id) {
|
|
28
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "Cart or draft order id is required");
|
|
29
|
+
}
|
|
30
|
+
const isCart = req.path?.includes("/carts/") || req.originalUrl?.includes("/carts/");
|
|
31
|
+
const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
32
|
+
const { data } = await query.graph({
|
|
33
|
+
entity: isCart ? "cart" : "order",
|
|
34
|
+
fields: ["id", "currency_code", "customer_id", "email"],
|
|
35
|
+
filters: { id },
|
|
36
|
+
});
|
|
37
|
+
const target = data?.[0];
|
|
38
|
+
if (!target?.currency_code) {
|
|
39
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_FOUND, isCart ? "Cart was not found" : "Draft order was not found");
|
|
40
|
+
}
|
|
41
|
+
return {
|
|
42
|
+
currency_code: String(target.currency_code).toLowerCase(),
|
|
43
|
+
customer_id: target.customer_id ? String(target.customer_id) : null,
|
|
44
|
+
email: target.email ? String(target.email).trim().toLowerCase() : null,
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
function entitlementMatchesTarget(entitlement, target) {
|
|
48
|
+
if (entitlement.customer_id) {
|
|
49
|
+
return Boolean(target.customer_id && entitlement.customer_id === target.customer_id);
|
|
50
|
+
}
|
|
51
|
+
if (entitlement.email) {
|
|
52
|
+
return Boolean(target.email &&
|
|
53
|
+
String(entitlement.email).trim().toLowerCase() === target.email);
|
|
54
|
+
}
|
|
55
|
+
return true;
|
|
56
|
+
}
|
|
57
|
+
function usableEntitlement(entitlement) {
|
|
58
|
+
if (entitlement.status !== "issued")
|
|
59
|
+
return false;
|
|
60
|
+
if (!entitlement.expires_at)
|
|
61
|
+
return true;
|
|
62
|
+
const expiresAt = new Date(entitlement.expires_at).getTime();
|
|
63
|
+
return Number.isFinite(expiresAt) && expiresAt > Date.now();
|
|
64
|
+
}
|
|
65
|
+
function entitlementSort(left, right) {
|
|
66
|
+
const leftExpiry = left.expires_at
|
|
67
|
+
? new Date(left.expires_at).getTime()
|
|
68
|
+
: Number.MAX_SAFE_INTEGER;
|
|
69
|
+
const rightExpiry = right.expires_at
|
|
70
|
+
? new Date(right.expires_at).getTime()
|
|
71
|
+
: Number.MAX_SAFE_INTEGER;
|
|
72
|
+
if (leftExpiry !== rightExpiry)
|
|
73
|
+
return leftExpiry - rightExpiry;
|
|
74
|
+
return (new Date(left.created_at || 0).getTime() -
|
|
75
|
+
new Date(right.created_at || 0).getTime());
|
|
76
|
+
}
|
|
77
|
+
async function ensureEntitlementPromotion(req, service, entitlement, currencyCode) {
|
|
78
|
+
const [existing] = await service.listCouponEntitlementPromotions({
|
|
79
|
+
entitlement_id: entitlement.id,
|
|
80
|
+
currency_code: currencyCode,
|
|
81
|
+
});
|
|
82
|
+
if (existing)
|
|
83
|
+
return existing.internal_code;
|
|
84
|
+
const benefitSnapshot = entitlement.benefit_snapshot || {};
|
|
85
|
+
const benefitType = benefitSnapshot.benefit_type;
|
|
86
|
+
const fixedAmount = benefitType === "fixed_amount"
|
|
87
|
+
? (0, utils_2.resolveAmountForCurrency)(benefitSnapshot, currencyCode).amount
|
|
88
|
+
: null;
|
|
89
|
+
const percentage = benefitType === "percentage"
|
|
90
|
+
? Number(benefitSnapshot.percentage)
|
|
91
|
+
: null;
|
|
92
|
+
if (benefitType !== "fixed_amount" &&
|
|
93
|
+
(benefitType !== "percentage" ||
|
|
94
|
+
!Number.isFinite(percentage) ||
|
|
95
|
+
Number(percentage) <= 0 ||
|
|
96
|
+
Number(percentage) > 100)) {
|
|
97
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "Issued coupon does not contain a supported discount benefit");
|
|
98
|
+
}
|
|
99
|
+
const applicationValue = fixedAmount ?? Number(percentage);
|
|
100
|
+
const configuredTarget = entitlement.benefit_snapshot?.promotion_template
|
|
101
|
+
?.application_method?.target_type;
|
|
102
|
+
const targetType = configuredTarget === "order"
|
|
103
|
+
? utils_1.ApplicationMethodTargetType.ORDER
|
|
104
|
+
: utils_1.ApplicationMethodTargetType.ITEMS;
|
|
105
|
+
const allocation = (0, utils_2.resolvePromotionAllocation)(entitlement.benefit_snapshot?.promotion_template, targetType === utils_1.ApplicationMethodTargetType.ORDER ? "order" : "items");
|
|
106
|
+
const internalCode = `CC-${entitlement.id}-${currencyCode}`.toUpperCase();
|
|
107
|
+
const applicationMethod = {
|
|
108
|
+
type: benefitType === "percentage"
|
|
109
|
+
? utils_1.ApplicationMethodType.PERCENTAGE
|
|
110
|
+
: utils_1.ApplicationMethodType.FIXED,
|
|
111
|
+
value: applicationValue,
|
|
112
|
+
...(benefitType === "fixed_amount" ? { currency_code: currencyCode } : {}),
|
|
113
|
+
target_type: targetType,
|
|
114
|
+
allocation: allocation === "across"
|
|
115
|
+
? utils_1.ApplicationMethodAllocation.ACROSS
|
|
116
|
+
: allocation === "once"
|
|
117
|
+
? utils_1.ApplicationMethodAllocation.ONCE
|
|
118
|
+
: utils_1.ApplicationMethodAllocation.EACH,
|
|
119
|
+
};
|
|
120
|
+
try {
|
|
121
|
+
const { result } = await (0, core_flows_1.createPromotionsWorkflow)(req.scope).run({
|
|
122
|
+
input: {
|
|
123
|
+
promotionsData: [
|
|
124
|
+
{
|
|
125
|
+
code: internalCode,
|
|
126
|
+
type: utils_1.PromotionType.STANDARD,
|
|
127
|
+
status: utils_1.PromotionStatus.ACTIVE,
|
|
128
|
+
is_automatic: false,
|
|
129
|
+
limit: 1,
|
|
130
|
+
metadata: {
|
|
131
|
+
medusa_coupon_entitlement_id: entitlement.id,
|
|
132
|
+
public_code: entitlement.code || entitlement.shared_code,
|
|
133
|
+
currency_code: currencyCode,
|
|
134
|
+
benefit_type: benefitType,
|
|
135
|
+
application_method: applicationMethod,
|
|
136
|
+
},
|
|
137
|
+
application_method: applicationMethod,
|
|
138
|
+
},
|
|
139
|
+
],
|
|
140
|
+
additional_data: {
|
|
141
|
+
source: "medusa-coupons",
|
|
142
|
+
entitlement_id: entitlement.id,
|
|
143
|
+
},
|
|
144
|
+
},
|
|
145
|
+
});
|
|
146
|
+
const promotion = result[0];
|
|
147
|
+
const mapping = await service.createCouponEntitlementPromotions({
|
|
148
|
+
entitlement_id: entitlement.id,
|
|
149
|
+
currency_code: currencyCode,
|
|
150
|
+
promotion_id: promotion.id,
|
|
151
|
+
internal_code: internalCode,
|
|
152
|
+
amount: applicationValue,
|
|
153
|
+
metadata: {
|
|
154
|
+
public_code: entitlement.code || entitlement.shared_code,
|
|
155
|
+
benefit_type: benefitType,
|
|
156
|
+
application_method: applicationMethod,
|
|
157
|
+
},
|
|
158
|
+
});
|
|
159
|
+
return mapping.internal_code;
|
|
160
|
+
}
|
|
161
|
+
catch (error) {
|
|
162
|
+
const [createdByConcurrentRequest] = await service.listCouponEntitlementPromotions({
|
|
163
|
+
entitlement_id: entitlement.id,
|
|
164
|
+
currency_code: currencyCode,
|
|
165
|
+
});
|
|
166
|
+
if (createdByConcurrentRequest) {
|
|
167
|
+
return createdByConcurrentRequest.internal_code;
|
|
168
|
+
}
|
|
169
|
+
throw error;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
async function translateCouponCode(req, service, code, target, sellerProductIds) {
|
|
173
|
+
const normalized = (0, utils_2.normalizeCode)(code);
|
|
174
|
+
if (!normalized)
|
|
175
|
+
return code;
|
|
176
|
+
const internal = await service.listCouponEntitlementPromotions({
|
|
177
|
+
internal_code: normalized,
|
|
178
|
+
});
|
|
179
|
+
if (internal.length)
|
|
180
|
+
return normalized;
|
|
181
|
+
const [uniqueEntitlements, sharedEntitlements] = await Promise.all([
|
|
182
|
+
service.listCustomerCouponEntitlements({ code: normalized }),
|
|
183
|
+
service.listCustomerCouponEntitlements({ shared_code: normalized }),
|
|
184
|
+
]);
|
|
185
|
+
const candidates = [...uniqueEntitlements, ...sharedEntitlements].filter((entitlement, index, rows) => rows.findIndex((row) => row.id === entitlement.id) === index);
|
|
186
|
+
if (!candidates.length)
|
|
187
|
+
return code;
|
|
188
|
+
const eligible = candidates
|
|
189
|
+
.filter(usableEntitlement)
|
|
190
|
+
.filter((entitlement) => entitlementMatchesTarget(entitlement, target))
|
|
191
|
+
.filter((entitlement) => !sellerProductIds || sellerProductIds.has(entitlement.product_id))
|
|
192
|
+
.sort(entitlementSort);
|
|
193
|
+
const entitlement = eligible[0];
|
|
194
|
+
if (!entitlement) {
|
|
195
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_ALLOWED, "Coupon is not available for this customer or seller");
|
|
196
|
+
}
|
|
197
|
+
if (entitlement.benefit_snapshot?.benefit_type !== "fixed_amount" &&
|
|
198
|
+
entitlement.benefit_snapshot?.benefit_type !== "percentage") {
|
|
199
|
+
return code;
|
|
200
|
+
}
|
|
201
|
+
return ensureEntitlementPromotion(req, service, entitlement, target.currency_code);
|
|
202
|
+
}
|
|
203
|
+
async function resolveCouponPromotionCodesMiddleware(req, _res, next) {
|
|
204
|
+
try {
|
|
205
|
+
const promotionReq = req;
|
|
206
|
+
const codes = requestCodes(promotionReq);
|
|
207
|
+
if (!codes.length)
|
|
208
|
+
return next();
|
|
209
|
+
const service = req.scope.resolve(coupon_1.COUPON_MODULE);
|
|
210
|
+
const target = await readPromotionTarget(promotionReq);
|
|
211
|
+
const sellerProductIds = promotionReq.seller_context?.seller_id
|
|
212
|
+
? new Set(await (0, seller_utils_1.listSellerProductIds)(promotionReq))
|
|
213
|
+
: undefined;
|
|
214
|
+
const translated = [];
|
|
215
|
+
for (const code of codes) {
|
|
216
|
+
translated.push(await translateCouponCode(promotionReq, service, code, target, sellerProductIds));
|
|
217
|
+
}
|
|
218
|
+
setRequestCodes(promotionReq, translated);
|
|
219
|
+
next();
|
|
220
|
+
}
|
|
221
|
+
catch (error) {
|
|
222
|
+
next(error);
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvbW90aW9uLWNvZGUtcmVzb2x2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBpL3Byb21vdGlvbi1jb2RlLXJlc29sdmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBeVJBLHNGQWdDQztBQXBURCxxREFRa0M7QUFDbEMsNERBQXNFO0FBQ3RFLDhDQUFpRDtBQUVqRCxtREFJZ0M7QUFDaEMsaURBQXFEO0FBT3JELFNBQVMsWUFBWSxDQUFDLEdBQXFCO0lBQ3pDLE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFBO0lBQ2hELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7UUFBRSxPQUFPLFNBQVMsQ0FBQTtJQUM5QyxNQUFNLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUE4QixDQUFBO0lBQzFELE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ3BDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBa0IsRUFBRSxDQUFDLE9BQU8sSUFBSSxLQUFLLFFBQVEsQ0FBQztRQUM3RSxDQUFDLENBQUMsRUFBRSxDQUFBO0FBQ1IsQ0FBQztBQUVELFNBQVMsZUFBZSxDQUFDLEdBQXFCLEVBQUUsVUFBb0I7SUFDbEUsR0FBRyxDQUFDLElBQUksR0FBRyxFQUFFLEdBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBWSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsQ0FBQTtJQUN2RSxHQUFHLENBQUMsYUFBYSxHQUFHO1FBQ2xCLEdBQUcsQ0FBQyxHQUFHLENBQUMsYUFBYSxJQUFJLEVBQUUsQ0FBQztRQUM1QixXQUFXLEVBQUUsVUFBVTtLQUN4QixDQUFBO0FBQ0gsQ0FBQztBQUVELEtBQUssVUFBVSxtQkFBbUIsQ0FBQyxHQUFxQjtJ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
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ensureCouponSellerMiddleware = ensureCouponSellerMiddleware;
|
|
4
|
+
exports.getSellerId = getSellerId;
|
|
5
|
+
exports.listSellerProductIds = listSellerProductIds;
|
|
6
|
+
exports.assertSellerOwnsProduct = assertSellerOwnsProduct;
|
|
7
|
+
exports.assertSellerOwnsConfig = assertSellerOwnsConfig;
|
|
8
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
9
|
+
const SELLER_ID_HEADER = "x-seller-id";
|
|
10
|
+
function readHeader(req, name) {
|
|
11
|
+
const value = req.get?.(name) || req.headers?.[name];
|
|
12
|
+
return Array.isArray(value) ? value[0] : value;
|
|
13
|
+
}
|
|
14
|
+
async function ensureCouponSellerMiddleware(req, _res, next) {
|
|
15
|
+
try {
|
|
16
|
+
const sellerId = readHeader(req, SELLER_ID_HEADER) || req.session?.seller_id;
|
|
17
|
+
const memberId = req.auth_context?.actor_id;
|
|
18
|
+
if (!sellerId || !memberId) {
|
|
19
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_ALLOWED, "A seller account is required for vendor coupon routes");
|
|
20
|
+
}
|
|
21
|
+
const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
22
|
+
const { data } = await query.graph({
|
|
23
|
+
entity: "seller_member",
|
|
24
|
+
fields: ["id", "seller_id", "member_id", "role_id", "seller.*"],
|
|
25
|
+
filters: {
|
|
26
|
+
seller_id: sellerId,
|
|
27
|
+
member_id: memberId,
|
|
28
|
+
},
|
|
29
|
+
}, {
|
|
30
|
+
cache: {
|
|
31
|
+
enable: true,
|
|
32
|
+
},
|
|
33
|
+
});
|
|
34
|
+
const sellerMember = data?.[0];
|
|
35
|
+
if (!sellerMember) {
|
|
36
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_ALLOWED, "You are not a member of this seller account");
|
|
37
|
+
}
|
|
38
|
+
req.seller_context = {
|
|
39
|
+
seller_id: sellerId,
|
|
40
|
+
seller_member: sellerMember,
|
|
41
|
+
currency_code: sellerMember.seller?.currency_code ?? null,
|
|
42
|
+
};
|
|
43
|
+
next();
|
|
44
|
+
}
|
|
45
|
+
catch (error) {
|
|
46
|
+
next(error);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
function getSellerId(req) {
|
|
50
|
+
const sellerId = req.seller_context?.seller_id;
|
|
51
|
+
if (!sellerId) {
|
|
52
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_ALLOWED, "Seller context is required");
|
|
53
|
+
}
|
|
54
|
+
return sellerId;
|
|
55
|
+
}
|
|
56
|
+
async function listSellerProductIds(req) {
|
|
57
|
+
const sellerId = getSellerId(req);
|
|
58
|
+
const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
59
|
+
const { data } = await query.graph({
|
|
60
|
+
entity: "product_seller",
|
|
61
|
+
fields: ["product_id", "seller_id"],
|
|
62
|
+
filters: {
|
|
63
|
+
seller_id: sellerId,
|
|
64
|
+
},
|
|
65
|
+
pagination: {
|
|
66
|
+
skip: 0,
|
|
67
|
+
take: 10000,
|
|
68
|
+
},
|
|
69
|
+
}, {
|
|
70
|
+
cache: {
|
|
71
|
+
enable: true,
|
|
72
|
+
},
|
|
73
|
+
});
|
|
74
|
+
return Array.from(new Set((data || []).map((row) => row.product_id).filter(Boolean)));
|
|
75
|
+
}
|
|
76
|
+
async function assertSellerOwnsProduct(req, productId) {
|
|
77
|
+
const sellerId = getSellerId(req);
|
|
78
|
+
const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
79
|
+
const { data } = await query.graph({
|
|
80
|
+
entity: "product_seller",
|
|
81
|
+
fields: ["product_id", "seller_id"],
|
|
82
|
+
filters: {
|
|
83
|
+
seller_id: sellerId,
|
|
84
|
+
product_id: productId,
|
|
85
|
+
},
|
|
86
|
+
}, {
|
|
87
|
+
cache: {
|
|
88
|
+
enable: true,
|
|
89
|
+
},
|
|
90
|
+
});
|
|
91
|
+
if (!data?.length) {
|
|
92
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_FOUND, `Product with id: ${productId} was not found`);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
async function assertSellerOwnsConfig(req, config) {
|
|
96
|
+
if (!config.product_id) {
|
|
97
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_FOUND, "Coupon product config was not found");
|
|
98
|
+
}
|
|
99
|
+
await assertSellerOwnsProduct(req, config.product_id);
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsbGVyLXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwaS9zZWxsZXItdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFpQ0Esb0VBbURDO0FBRUQsa0NBV0M7QUFFRCxvREF5QkM7QUFFRCwwREE0QkM7QUFFRCx3REFZQztBQW5LRCxxREFHa0M7QUFrQmxDLE1BQU0sZ0JBQWdCLEdBQUcsYUFBYSxDQUFBO0FBRXRDLFNBQVMsVUFBVSxDQUFDLEdBQWtCLEVBQUUsSUFBWTtJQUNsRCxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUssR0FBRyxDQUFDLE9BQWUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQzdELE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUE7QUFDaEQsQ0FBQztBQUVNLEtBQUssVUFBVSw0QkFBNEIsQ0FDaEQsR0FBa0IsRUFDbEIsSUFBb0IsRUFDcEIsSUFBd0I7SUFFeEIsSUFBSSxDQUFDO1FBQ0gsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRSxnQkFBZ0IsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFBO1FBQzVFLE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQyxZQUFZLEVBQUUsUUFBUSxDQUFBO1FBRTNDLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUMzQixNQUFNLElBQUksbUJBQVcsQ0FDbkIsbUJBQVcsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUM3Qix1REFBdUQsQ0FDeEQsQ0FBQTtRQUNILENBQUM7UUFFRCxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENB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
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseBody = parseBody;
|
|
4
|
+
exports.readStringParam = readStringParam;
|
|
5
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
6
|
+
const zod_1 = require("@medusajs/framework/zod");
|
|
7
|
+
function parseBody(schema, body) {
|
|
8
|
+
try {
|
|
9
|
+
return schema.parse(body);
|
|
10
|
+
}
|
|
11
|
+
catch (error) {
|
|
12
|
+
if (error instanceof zod_1.ZodError) {
|
|
13
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, error.issues.map((issue) => issue.message).join(", "));
|
|
14
|
+
}
|
|
15
|
+
throw error;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
function readStringParam(params, key) {
|
|
19
|
+
const value = params[key];
|
|
20
|
+
if (typeof value !== "string" || !value.trim()) {
|
|
21
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, `Missing route parameter: ${key}`);
|
|
22
|
+
}
|
|
23
|
+
return value.trim();
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBpL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBR0EsOEJBYUM7QUFFRCwwQ0FhQztBQS9CRCxxREFBdUQ7QUFDdkQsaURBQWtFO0FBRWxFLFNBQWdCLFNBQVMsQ0FBSSxNQUFvQixFQUFFLElBQWE7SUFDOUQsSUFBSSxDQUFDO1FBQ0gsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQzNCLENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2YsSUFBSSxLQUFLLFlBQVksY0FBUSxFQUFFLENBQUM7WUFDOUIsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFlBQVksRUFDOUIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQ3RELENBQUE7UUFDSCxDQUFDO1FBRUQsTUFBTSxLQUFLLENBQUE7SUFDYixDQUFDO0FBQ0gsQ0FBQztBQUVELFNBQWdCLGVBQWUsQ0FDN0IsTUFBK0IsRUFDL0IsR0FBVztJQUVYLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUN6QixJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDO1FBQy9DLE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQzlCLDRCQUE0QixHQUFHLEVBQUUsQ0FDbEMsQ0FBQTtJQUNILENBQUM7SUFFRCxPQUFPLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQTtBQUNyQixDQUFDIn0=
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UpsertCouponProductVariantBody = exports.UpdateCouponProductBody = exports.CreateCouponProductBody = exports.CouponVariantOverrideInput = exports.CouponCampaignInput = exports.CouponProductInput = exports.EntitlementActionBody = exports.ListCouponConfigQuery = exports.UpdateCouponVariantConfigBody = exports.CreateCouponVariantConfigBody = exports.UpdateCouponProductConfigBody = exports.CreateCouponProductConfigBody = exports.CouponConfigFields = void 0;
|
|
4
|
+
const zod_1 = require("@medusajs/framework/zod");
|
|
5
|
+
const expirationPolicy = zod_1.z.union([
|
|
6
|
+
zod_1.z.object({
|
|
7
|
+
type: zod_1.z.literal("none"),
|
|
8
|
+
}),
|
|
9
|
+
zod_1.z.object({
|
|
10
|
+
type: zod_1.z.literal("duration"),
|
|
11
|
+
duration_days: zod_1.z.number().int().positive(),
|
|
12
|
+
cap_by_campaign: zod_1.z.boolean().optional(),
|
|
13
|
+
cap_at: zod_1.z.string().datetime().nullable().optional(),
|
|
14
|
+
}),
|
|
15
|
+
zod_1.z.object({
|
|
16
|
+
type: zod_1.z.literal("fixed"),
|
|
17
|
+
expires_at: zod_1.z.string().datetime(),
|
|
18
|
+
cap_by_campaign: zod_1.z.boolean().optional(),
|
|
19
|
+
cap_at: zod_1.z.string().datetime().nullable().optional(),
|
|
20
|
+
}),
|
|
21
|
+
]);
|
|
22
|
+
const metadata = zod_1.z.record(zod_1.z.unknown()).nullable().optional();
|
|
23
|
+
const couponAmount = zod_1.z.object({
|
|
24
|
+
currency_code: zod_1.z.string().trim().length(3),
|
|
25
|
+
amount: zod_1.z.number().positive(),
|
|
26
|
+
});
|
|
27
|
+
const couponPurchaseCondition = zod_1.z
|
|
28
|
+
.object({
|
|
29
|
+
attribute: zod_1.z.enum([
|
|
30
|
+
"customer.groups.id",
|
|
31
|
+
"region.id",
|
|
32
|
+
"shipping_address.country_code",
|
|
33
|
+
"sales_channel_id",
|
|
34
|
+
"currency_code",
|
|
35
|
+
]),
|
|
36
|
+
operator: zod_1.z.enum(["in", "eq", "ne"]),
|
|
37
|
+
values: zod_1.z.array(zod_1.z.string().trim().min(1)).min(1),
|
|
38
|
+
})
|
|
39
|
+
.refine((condition) => condition.operator !== "eq" || condition.values.length === 1, "Equals purchase conditions require exactly one value");
|
|
40
|
+
const purchaseConditions = zod_1.z
|
|
41
|
+
.array(couponPurchaseCondition)
|
|
42
|
+
.superRefine((conditions, context) => {
|
|
43
|
+
const seen = new Set();
|
|
44
|
+
conditions.forEach((condition, index) => {
|
|
45
|
+
if (seen.has(condition.attribute)) {
|
|
46
|
+
context.addIssue({
|
|
47
|
+
code: zod_1.z.ZodIssueCode.custom,
|
|
48
|
+
message: `Purchase condition attribute ${condition.attribute} cannot be duplicated`,
|
|
49
|
+
path: [index, "attribute"],
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
seen.add(condition.attribute);
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
const CouponBaseConfigFields = zod_1.z.object({
|
|
56
|
+
enabled: zod_1.z.boolean().optional(),
|
|
57
|
+
benefit_type: zod_1.z
|
|
58
|
+
.enum(["fixed_amount", "percentage", "free_shipping", "buy_get"])
|
|
59
|
+
.optional(),
|
|
60
|
+
amounts: zod_1.z.array(couponAmount).min(1).nullable().optional(),
|
|
61
|
+
amount: zod_1.z.number().positive().nullable().optional(),
|
|
62
|
+
percentage: zod_1.z.number().positive().max(100).nullable().optional(),
|
|
63
|
+
currency_code: zod_1.z.string().trim().length(3).nullable().optional(),
|
|
64
|
+
code_strategy: zod_1.z.enum(["unique_code", "shared_code"]).optional(),
|
|
65
|
+
code_prefix: zod_1.z.string().trim().nullable().optional(),
|
|
66
|
+
shared_code: zod_1.z.string().trim().nullable().optional(),
|
|
67
|
+
expiration_policy: expirationPolicy.optional(),
|
|
68
|
+
max_issuance_per_order_item: zod_1.z.number().int().positive().nullable().optional(),
|
|
69
|
+
promotion_mirror_mode: zod_1.z.enum(["none", "manual", "auto"]).optional(),
|
|
70
|
+
promotion_status: zod_1.z.enum(["draft", "active", "inactive"]).nullable().optional(),
|
|
71
|
+
promotion_template: zod_1.z.record(zod_1.z.unknown()).nullable().optional(),
|
|
72
|
+
campaign_mode: zod_1.z.enum(["none", "existing", "new"]).nullable().optional(),
|
|
73
|
+
campaign_id: zod_1.z.string().trim().nullable().optional(),
|
|
74
|
+
campaign_snapshot: zod_1.z.record(zod_1.z.unknown()).nullable().optional(),
|
|
75
|
+
metadata,
|
|
76
|
+
});
|
|
77
|
+
exports.CouponConfigFields = CouponBaseConfigFields.extend({
|
|
78
|
+
purchase_conditions: purchaseConditions.nullable().optional(),
|
|
79
|
+
});
|
|
80
|
+
exports.CreateCouponProductConfigBody = exports.CouponConfigFields.extend({
|
|
81
|
+
product_id: zod_1.z.string().trim().min(1),
|
|
82
|
+
benefit_type: zod_1.z
|
|
83
|
+
.enum(["fixed_amount", "percentage", "free_shipping", "buy_get"])
|
|
84
|
+
.default("fixed_amount"),
|
|
85
|
+
code_strategy: zod_1.z.enum(["unique_code", "shared_code"]).default("unique_code"),
|
|
86
|
+
expiration_policy: expirationPolicy,
|
|
87
|
+
});
|
|
88
|
+
exports.UpdateCouponProductConfigBody = exports.CouponConfigFields.refine((value) => Object.keys(value).length > 0, "At least one field is required");
|
|
89
|
+
exports.CreateCouponVariantConfigBody = CouponBaseConfigFields.extend({
|
|
90
|
+
variant_id: zod_1.z.string().trim().min(1),
|
|
91
|
+
});
|
|
92
|
+
exports.UpdateCouponVariantConfigBody = CouponBaseConfigFields.refine((value) => Object.keys(value).length > 0, "At least one field is required");
|
|
93
|
+
exports.ListCouponConfigQuery = zod_1.z.object({
|
|
94
|
+
product_id: zod_1.z.string().optional(),
|
|
95
|
+
enabled: zod_1.z
|
|
96
|
+
.union([zod_1.z.boolean(), zod_1.z.enum(["true", "false"])])
|
|
97
|
+
.optional()
|
|
98
|
+
.transform((value) => {
|
|
99
|
+
if (value === "true")
|
|
100
|
+
return true;
|
|
101
|
+
if (value === "false")
|
|
102
|
+
return false;
|
|
103
|
+
return value;
|
|
104
|
+
}),
|
|
105
|
+
});
|
|
106
|
+
exports.EntitlementActionBody = zod_1.z.object({
|
|
107
|
+
metadata: zod_1.z.record(zod_1.z.unknown()).nullable().optional(),
|
|
108
|
+
});
|
|
109
|
+
const productReference = zod_1.z.object({
|
|
110
|
+
id: zod_1.z.string().trim().min(1),
|
|
111
|
+
});
|
|
112
|
+
const productPrice = zod_1.z.object({
|
|
113
|
+
currency_code: zod_1.z.string().trim().length(3),
|
|
114
|
+
amount: zod_1.z.number().nonnegative(),
|
|
115
|
+
});
|
|
116
|
+
const productVariant = zod_1.z.object({
|
|
117
|
+
title: zod_1.z.string().trim().min(1),
|
|
118
|
+
sku: zod_1.z.string().trim().nullable().optional(),
|
|
119
|
+
manage_inventory: zod_1.z.boolean().optional(),
|
|
120
|
+
allow_backorder: zod_1.z.boolean().optional(),
|
|
121
|
+
options: zod_1.z.record(zod_1.z.string()).optional(),
|
|
122
|
+
prices: zod_1.z.array(productPrice).min(1),
|
|
123
|
+
metadata: zod_1.z.record(zod_1.z.unknown()).nullable().optional(),
|
|
124
|
+
});
|
|
125
|
+
exports.CouponProductInput = zod_1.z.object({
|
|
126
|
+
title: zod_1.z.string().trim().min(1),
|
|
127
|
+
subtitle: zod_1.z.string().trim().nullable().optional(),
|
|
128
|
+
handle: zod_1.z.string().trim().nullable().optional(),
|
|
129
|
+
description: zod_1.z.string().trim().nullable().optional(),
|
|
130
|
+
status: zod_1.z.enum(["draft", "proposed", "published", "rejected"]).default("draft"),
|
|
131
|
+
thumbnail: zod_1.z.string().trim().nullable().optional(),
|
|
132
|
+
thumbnail_asset_id: zod_1.z.string().trim().min(1).nullable().optional(),
|
|
133
|
+
images: zod_1.z
|
|
134
|
+
.array(zod_1.z
|
|
135
|
+
.object({
|
|
136
|
+
url: zod_1.z.string().trim().min(1).optional(),
|
|
137
|
+
asset_id: zod_1.z.string().trim().min(1).optional(),
|
|
138
|
+
})
|
|
139
|
+
.refine((image) => image.url || image.asset_id, {
|
|
140
|
+
message: "An image URL or managed asset id is required",
|
|
141
|
+
}))
|
|
142
|
+
.optional(),
|
|
143
|
+
discountable: zod_1.z.boolean().optional(),
|
|
144
|
+
type_id: zod_1.z.string().trim().nullable().optional(),
|
|
145
|
+
collection_id: zod_1.z.string().trim().nullable().optional(),
|
|
146
|
+
shipping_profile_id: zod_1.z.string().trim().nullable().optional(),
|
|
147
|
+
categories: zod_1.z.array(productReference).optional(),
|
|
148
|
+
tags: zod_1.z.array(productReference).optional(),
|
|
149
|
+
sales_channels: zod_1.z.array(productReference).optional(),
|
|
150
|
+
options: zod_1.z
|
|
151
|
+
.array(zod_1.z.object({
|
|
152
|
+
title: zod_1.z.string().trim().min(1),
|
|
153
|
+
values: zod_1.z.array(zod_1.z.string().trim().min(1)).min(1),
|
|
154
|
+
}))
|
|
155
|
+
.optional(),
|
|
156
|
+
variants: zod_1.z.array(productVariant).min(1),
|
|
157
|
+
metadata: zod_1.z.record(zod_1.z.unknown()).nullable().optional(),
|
|
158
|
+
});
|
|
159
|
+
exports.CouponCampaignInput = zod_1.z.object({
|
|
160
|
+
mode: zod_1.z.enum(["none", "existing", "new"]).default("none"),
|
|
161
|
+
campaign_id: zod_1.z.string().trim().nullable().optional(),
|
|
162
|
+
campaign: zod_1.z
|
|
163
|
+
.object({
|
|
164
|
+
name: zod_1.z.string().trim().min(1),
|
|
165
|
+
campaign_identifier: zod_1.z.string().trim().min(1),
|
|
166
|
+
description: zod_1.z.string().trim().nullable().optional(),
|
|
167
|
+
starts_at: zod_1.z.string().datetime().nullable().optional(),
|
|
168
|
+
ends_at: zod_1.z.string().datetime().nullable().optional(),
|
|
169
|
+
budget: zod_1.z.record(zod_1.z.unknown()).nullable().optional(),
|
|
170
|
+
})
|
|
171
|
+
.nullable()
|
|
172
|
+
.optional(),
|
|
173
|
+
});
|
|
174
|
+
exports.CouponVariantOverrideInput = CouponBaseConfigFields.extend({
|
|
175
|
+
variant_id: zod_1.z.string().trim().min(1).optional(),
|
|
176
|
+
variant_index: zod_1.z.number().int().nonnegative().optional(),
|
|
177
|
+
});
|
|
178
|
+
exports.CreateCouponProductBody = zod_1.z.object({
|
|
179
|
+
product: exports.CouponProductInput,
|
|
180
|
+
coupon: exports.CouponConfigFields.extend({
|
|
181
|
+
benefit_type: zod_1.z
|
|
182
|
+
.enum(["fixed_amount", "percentage", "free_shipping", "buy_get"])
|
|
183
|
+
.default("fixed_amount"),
|
|
184
|
+
code_strategy: zod_1.z.enum(["unique_code", "shared_code"]).default("unique_code"),
|
|
185
|
+
expiration_policy: expirationPolicy,
|
|
186
|
+
}),
|
|
187
|
+
campaign: exports.CouponCampaignInput.optional(),
|
|
188
|
+
variant_overrides: zod_1.z.array(exports.CouponVariantOverrideInput).optional(),
|
|
189
|
+
seller_id: zod_1.z.string().trim().nullable().optional(),
|
|
190
|
+
});
|
|
191
|
+
exports.UpdateCouponProductBody = zod_1.z.object({
|
|
192
|
+
product: exports.CouponProductInput.partial().optional(),
|
|
193
|
+
coupon: exports.UpdateCouponProductConfigBody.optional(),
|
|
194
|
+
campaign: exports.CouponCampaignInput.optional(),
|
|
195
|
+
});
|
|
196
|
+
exports.UpsertCouponProductVariantBody = exports.CouponVariantOverrideInput.extend({
|
|
197
|
+
variant_id: zod_1.z.string().trim().min(1),
|
|
198
|
+
});
|
|
199
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcGkvdmFsaWRhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxpREFBMkM7QUFFM0MsTUFBTSxnQkFBZ0IsR0FBRyxPQUFDLENBQUMsS0FBSyxDQUFDO0lBQy9CLE9BQUMsQ0FBQyxNQUFNLENBQUM7UUFDUCxJQUFJLEVBQUUsT0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7S0FDeEIsQ0FBQztJQUNGLE9BQUMsQ0FBQyxNQUFNLENBQUM7UUFDUCxJQUFJLEVBQUUsT0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUM7UUFDM0IsYUFBYSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLEVBQUU7UUFDMUMsZUFBZSxFQUFFLE9BQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUU7UUFDdkMsTUFBTSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUU7S0FDcEQsQ0FBQztJQUNGLE9BQUMsQ0FBQyxNQUFNLENBQUM7UUFDUCxJQUFJLEVBQUUsT0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7UUFDeEIsVUFBVSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7UUFDakMsZUFBZSxFQUFFLE9BQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUU7UUFDdkMsTUFBTSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUU7S0FDcEQsQ0FBQztDQUNILENBQUMsQ0FBQTtBQUVGLE1BQU0sUUFBUSxHQUFHLE9BQUMsQ0FBQyxNQUFNLENBQUMsT0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUE7QUFFNUQsTUFBTSxZQUFZLEdBQUcsT0FBQyxDQUFDLE1BQU0sQ0FBQztJQUM1QixhQUFhLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDMUMsTUFBTSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7Q0FDOUIsQ0FBQyxDQUFBO0FBRUYsTUFBTSx1QkFBdUIsR0FBRyxPQUFDO0tBQzlCLE1BQU0sQ0FBQztJQUNOLFNBQVMsRUFBRSxPQUFDLENBQUMsSUFBSSxDQUFDO1FBQ2hCLG9CQUFvQjtRQUNwQixXQUFXO1FBQ1gsK0JBQStCO1FBQy9CLGtCQUFrQjtRQUNsQixlQUFlO0tBQ2hCLENBQUM7SUFDRixRQUFRLEVBQUUsT0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDcEMsTUFBTSxFQUFFLE9BQUMsQ0FBQyxLQUFLLENBQUMsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7Q0FDakQsQ0FBQztLQUNELE1BQU0sQ0FDTCxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQ1osU0FBUyxDQUFDLFFBQVEsS0FBSyxJQUFJLElBQUksU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUM5RCxzREFBc0QsQ0FDdkQsQ0FBQTtBQUVILE1BQU0sa0JBQWtCLEdBQUcsT0FBQztLQUN6QixLQUFLLENBQUMsdUJBQXVCLENBQUM7S0FDOUIsV0FBVyxDQUFDLENBQUMsVUFBVSxFQUFFLE9BQU8sRUFBRSxFQUFFO0lBQ25DLE1BQU0sSUFBSSxHQUFHLElBQUksR0FBRyxFQUFVLENBQUE7SUFDOUIsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsRUFBRTtRQUN0QyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDbEMsT0FBTyxDQUFDLFFBQVEsQ0FBQztnQkFDZixJQUFJLEVBQUUsT0FBQyxDQUFDLFlBQVksQ0FBQyxNQUFNO2dCQUMzQixPQUFPLEVBQUUsZ0NBQWdDLFNBQVMsQ0FBQyxTQUFTLHVCQUF1QjtnQkFDbkYsSUFBSSxFQUFFLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQzthQUMzQixDQUFDLENBQUE7UUFDSixDQUFDO1FBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUE7SUFDL0IsQ0FBQyxDQUFDLENBQUE7QUFDSixDQUFDLENBQUMsQ0FBQTtBQUVKLE1BQU0sc0JBQXNCLEdBQUcsT0FBQyxDQUFDLE1BQU0sQ0FBQztJQUN0QyxPQUFPLEVBQUUsT0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUMvQixZQUFZLEVBQUUsT0FBQztTQUNaLElBQUksQ0FBQyxDQUFDLGNBQWMsRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1NBQ2hFLFFBQVEsRUFBRTtJQUNiLE9BQU8sRUFBRSxPQUFDLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDM0QsTUFBTSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDbkQsVUFBVSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ2hFLGFBQWEsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNoRSxhQUFhLEVBQUUsT0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLGFBQWEsRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUNoRSxXQUFXLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNwRCxXQUFXLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNwRCxpQkFBaUIsRUFBRSxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUU7SUFDOUMsMkJBQTJCLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM5RSxxQkFBcUIsRUFBRSxPQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUNwRSxnQkFBZ0IsRUFBRSxPQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUMvRSxrQkFBa0IsRUFBRSxPQUFDLENBQUMsTUFBTSxDQUFDLE9BQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUMvRCxhQUFhLEVBQUUsT0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDeEUsV0FBVyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDcEQsaUJBQWlCLEVBQUUsT0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDOUQsUUFBUTtDQUNULENBQUMsQ0FBQTtBQUVXLFFBQUEsa0JBQWtCLEdBQUcsc0JBQXNCLENBQUMsTUFBTSxDQUFDO0lBQzlELG1CQUFtQixFQUFFLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRTtDQUM5RCxDQUFDLENBQUE7QUFFVyxRQUFBLDZCQUE2QixHQUFHLDBCQUFrQixDQUFDLE1BQU0sQ0FBQztJQUNyRSxVQUFVLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDcEMsWUFBWSxFQUFFLE9BQUM7U0FDWixJQUFJLENBQUMsQ0FBQyxjQUFjLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxTQUFTLENBQUMsQ0FBQztTQUNoRSxPQUFPLENBQUMsY0FBYyxDQUFDO0lBQzFCLGFBQWEsRUFBRSxPQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsYUFBYSxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQztJQUM1RSxpQkFBaUIsRUFBRSxnQkFBZ0I7Q0FDcEMsQ0FBQyxDQUFBO0FBRVcsUUFBQSw2QkFBNkIsR0FBRywwQkFBa0IsQ0FBQyxNQUFNLENBQ3BFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQ3hDLGdDQUFnQyxDQUNqQyxDQUFBO0FBRVksUUFBQSw2QkFBNkIsR0FBRyxzQkFBc0IsQ0FBQyxNQUFNLENBQUM7SUFDekUsVUFBVSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0NBQ3JDLENBQUMsQ0FBQTtBQUVXLFFBQUEsNkJBQTZCLEdBQUcsc0JBQXNCLENBQUMsTUFBTSxDQUN4RSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUN4QyxnQ0FBZ0MsQ0FDakMsQ0FBQTtBQUVZLFFBQUEscUJBQXFCLEdBQUcsT0FBQyxDQUFDLE1BQU0sQ0FBQztJQUM1QyxVQUFVLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNqQyxPQUFPLEVBQUUsT0FBQztTQUNQLEtBQUssQ0FBQyxDQUFDLE9BQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxPQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUMvQyxRQUFRLEVBQUU7U0FDVixTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtRQUNuQixJQUFJLEtBQUssS0FBSyxNQUFNO1lBQUUsT0FBTyxJQUFJLENBQUE7UUFDakMsSUFBSSxLQUFLLEtBQUssT0FBTztZQUFFLE9BQU8sS0FBSyxDQUFBO1FBQ25DLE9BQU8sS0FBSyxDQUFBO0lBQ2QsQ0FBQyxDQUFDO0NBQ0wsQ0FBQyxDQUFBO0FBRVcsUUFBQSxxQkFBcUIsR0FBRyxPQUFDLENBQUMsTUFBTSxDQUFDO0lBQzVDLFFBQVEsRUFBRSxPQUFDLENBQUMsTUFBTSxDQUFDLE9BQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRTtDQUN0RCxDQUFDLENBQUE7QUFFRixNQUFNLGdCQUFnQixHQUFHLE9BQUMsQ0FBQyxNQUFNLENBQUM7SUFDaEMsRUFBRSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0NBQzdCLENBQUMsQ0FBQTtBQUVGLE1BQU0sWUFBWSxHQUFHLE9BQUMsQ0FBQyxNQUFNLENBQUM7SUFDNUIsYUFBYSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQzFDLE1BQU0sRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsV0FBVyxFQUFFO0NBQ2pDLENBQUMsQ0FBQTtBQUVGLE1BQU0sY0FBYyxHQUFHLE9BQUMsQ0FBQyxNQUFNLENBQUM7SUFDOUIsS0FBSyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQy9CLEdBQUcsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzVDLGdCQUFnQixFQUFFLE9BQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDeEMsZUFBZSxFQUFFLE9BQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDdkMsT0FBTyxFQUFFLE9BQUMsQ0FBQyxNQUFNLENBQUMsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQ3hDLE1BQU0sRUFBRSxPQUFDLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDcEMsUUFBUSxFQUFFLE9BQUMsQ0FBQyxNQUFNLENBQUMsT0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFO0NBQ3RELENBQUMsQ0FBQTtBQUVXLFFBQUEsa0JBQWtCLEdBQUcsT0FBQyxDQUFDLE1BQU0sQ0FBQztJQUN6QyxLQUFLLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDL0IsUUFBUSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDakQsTUFBTSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDL0MsV0FBVyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDcEQsTUFBTSxFQUFFLE9BQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7SUFDL0UsU0FBUyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDbEQsa0JBQWtCLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDbEUsTUFBTSxFQUFFLE9BQUM7U0FDTixLQUFLLENBQ0osT0FBQztTQUNFLE1BQU0sQ0FBQztRQUNOLEdBQUcsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRTtRQUN4QyxRQUFRLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUU7S0FDOUMsQ0FBQztTQUNELE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFO1FBQzlDLE9BQU8sRUFBRSw4Q0FBOEM7S0FDeEQsQ0FBQyxDQUNMO1NBQ0EsUUFBUSxFQUFFO0lBQ2IsWUFBWSxFQUFFLE9BQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDcEMsT0FBTyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDaEQsYUFBYSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDdEQsbUJBQW1CLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM1RCxVQUFVLEVBQUUsT0FBQyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUNoRCxJQUFJLEVBQUUsT0FBQyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUMxQyxjQUFjLEVBQUUsT0FBQyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUNwRCxPQUFPLEVBQUUsT0FBQztTQUNQLEtBQUssQ0FDSixPQUFDLENBQUMsTUFBTSxDQUFDO1FBQ1AsS0FBSyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQy9CLE1BQU0sRUFBRSxPQUFDLENBQUMsS0FBSyxDQUFDLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0tBQ2pELENBQUMsQ0FDSDtTQUNBLFFBQVEsRUFBRTtJQUNiLFFBQVEsRUFBRSxPQUFDLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDeEMsUUFBUSxFQUFFLE9BQUMsQ0FBQyxNQUFNLENBQUMsT0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFO0NBQ3RELENBQUMsQ0FBQTtBQUVXLFFBQUEsbUJBQW1CLEdBQUcsT0FBQyxDQUFDLE1BQU0sQ0FBQztJQUMxQyxJQUFJLEVBQUUsT0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO0lBQ3pELFdBQVcsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ3BELFFBQVEsRUFBRSxPQUFDO1NBQ1IsTUFBTSxDQUFDO1FBQ04sSUFBSSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzlCLG1CQUFtQixFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzdDLFdBQVcsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFO1FBQ3BELFNBQVMsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFO1FBQ3RELE9BQU8sRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFO1FBQ3BELE1BQU0sRUFBRSxPQUFDLENBQUMsTUFBTSxDQUFDLE9BQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRTtLQUNwRCxDQUFDO1NBQ0QsUUFBUSxFQUFFO1NBQ1YsUUFBUSxFQUFFO0NBQ2QsQ0FBQyxDQUFBO0FBRVcsUUFBQSwwQkFBMEIsR0FBRyxzQkFBc0IsQ0FBQyxNQUFNLENBQUM7SUFDdEUsVUFBVSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQy9DLGFBQWEsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxFQUFFO0NBQ3pELENBQUMsQ0FBQTtBQUVXLFFBQUEsdUJBQXVCLEdBQUcsT0FBQyxDQUFDLE1BQU0sQ0FBQztJQUM5QyxPQUFPLEVBQUUsMEJBQWtCO0lBQzNCLE1BQU0sRUFBRSwwQkFBa0IsQ0FBQyxNQUFNLENBQUM7UUFDaEMsWUFBWSxFQUFFLE9BQUM7YUFDWixJQUFJLENBQUMsQ0FBQyxjQUFjLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxTQUFTLENBQUMsQ0FBQzthQUNoRSxPQUFPLENBQUMsY0FBYyxDQUFDO1FBQzFCLGFBQWEsRUFBRSxPQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsYUFBYSxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQztRQUM1RSxpQkFBaUIsRUFBRSxnQkFBZ0I7S0FDcEMsQ0FBQztJQUNGLFFBQVEsRUFBRSwyQkFBbUIsQ0FBQyxRQUFRLEVBQUU7SUFDeEMsaUJBQWlCLEVBQUUsT0FBQyxDQUFDLEtBQUssQ0FBQyxrQ0FBMEIsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUNqRSxTQUFTLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRTtDQUNuRCxDQUFDLENBQUE7QUFFVyxRQUFBLHVCQUF1QixHQUFHLE9BQUMsQ0FBQyxNQUFNLENBQUM7SUFDOUMsT0FBTyxFQUFFLDBCQUFrQixDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNoRCxNQUFNLEVBQUUscUNBQTZCLENBQUMsUUFBUSxFQUFFO0lBQ2hELFFBQVEsRUFBRSwyQkFBbUIsQ0FBQyxRQUFRLEVBQUU7Q0FDekMsQ0FBQyxDQUFBO0FBRVcsUUFBQSw4QkFBOEIsR0FBRyxrQ0FBMEIsQ0FBQyxNQUFNLENBQUM7SUFDOUUsVUFBVSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0NBQ3JDLENBQUMsQ0FBQSJ9
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GET = void 0;
|
|
4
|
+
const coupon_product_routes_1 = require("../../../../coupon-product-routes");
|
|
5
|
+
const GET = async (req, res) => {
|
|
6
|
+
return (0, coupon_product_routes_1.listProductEntitlements)(req, res, "vendor");
|
|
7
|
+
};
|
|
8
|
+
exports.GET = GET;
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3ZlbmRvci9jb3Vwb24tcHJvZHVjdHMvW3Byb2R1Y3RfaWRdL2VudGl0bGVtZW50cy9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSw2RUFBMkU7QUFFcEUsTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUFFLEdBQWtCLEVBQUUsR0FBbUIsRUFBRSxFQUFFO0lBQ25FLE9BQU8sSUFBQSwrQ0FBdUIsRUFBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFBO0FBQ3BELENBQUMsQ0FBQTtBQUZZLFFBQUEsR0FBRyxPQUVmIn0=
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DELETE = exports.POST = exports.PATCH = exports.GET = void 0;
|
|
4
|
+
const coupon_product_routes_1 = require("../../../coupon-product-routes");
|
|
5
|
+
const GET = async (req, res) => {
|
|
6
|
+
return (0, coupon_product_routes_1.retrieveCouponProduct)(req, res, "vendor");
|
|
7
|
+
};
|
|
8
|
+
exports.GET = GET;
|
|
9
|
+
const PATCH = async (req, res) => {
|
|
10
|
+
return (0, coupon_product_routes_1.updateCouponProduct)(req, res, "vendor");
|
|
11
|
+
};
|
|
12
|
+
exports.PATCH = PATCH;
|
|
13
|
+
exports.POST = exports.PATCH;
|
|
14
|
+
const DELETE = async (req, res) => {
|
|
15
|
+
return (0, coupon_product_routes_1.deleteCouponProduct)(req, res, "vendor");
|
|
16
|
+
};
|
|
17
|
+
exports.DELETE = DELETE;
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3ZlbmRvci9jb3Vwb24tcHJvZHVjdHMvW3Byb2R1Y3RfaWRdL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLDBFQUl1QztBQUVoQyxNQUFNLEdBQUcsR0FBRyxLQUFLLEVBQUUsR0FBa0IsRUFBRSxHQUFtQixFQUFFLEVBQUU7SUFDbkUsT0FBTyxJQUFBLDZDQUFxQixFQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUE7QUFDbEQsQ0FBQyxDQUFBO0FBRlksUUFBQSxHQUFHLE9BRWY7QUFFTSxNQUFNLEtBQUssR0FBRyxLQUFLLEVBQUUsR0FBa0IsRUFBRSxHQUFtQixFQUFFLEVBQUU7SUFDckUsT0FBTyxJQUFBLDJDQUFtQixFQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUE7QUFDaEQsQ0FBQyxDQUFBO0FBRlksUUFBQSxLQUFLLFNBRWpCO0FBRVksUUFBQSxJQUFJLEdBQUcsYUFBSyxDQUFBO0FBRWxCLE1BQU0sTUFBTSxHQUFHLEtBQUssRUFBRSxHQUFrQixFQUFFLEdBQW1CLEVBQUUsRUFBRTtJQUN0RSxPQUFPLElBQUEsMkNBQW1CLEVBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQTtBQUNoRCxDQUFDLENBQUE7QUFGWSxRQUFBLE1BQU0sVUFFbEIifQ==
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DELETE = exports.POST = exports.PATCH = void 0;
|
|
4
|
+
const coupon_product_routes_1 = require("../../../../../coupon-product-routes");
|
|
5
|
+
const PATCH = async (req, res) => {
|
|
6
|
+
return (0, coupon_product_routes_1.updateCouponProductVariant)(req, res, "vendor");
|
|
7
|
+
};
|
|
8
|
+
exports.PATCH = PATCH;
|
|
9
|
+
exports.POST = exports.PATCH;
|
|
10
|
+
const DELETE = async (req, res) => {
|
|
11
|
+
return (0, coupon_product_routes_1.deleteCouponProductVariant)(req, res, "vendor");
|
|
12
|
+
};
|
|
13
|
+
exports.DELETE = DELETE;
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3ZlbmRvci9jb3Vwb24tcHJvZHVjdHMvW3Byb2R1Y3RfaWRdL3ZhcmlhbnRzL1t2YXJpYW50X2NvbmZpZ19pZF0vcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsZ0ZBRzZDO0FBRXRDLE1BQU0sS0FBSyxHQUFHLEtBQUssRUFBRSxHQUFrQixFQUFFLEdBQW1CLEVBQUUsRUFBRTtJQUNyRSxPQUFPLElBQUEsa0RBQTBCLEVBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQTtBQUN2RCxDQUFDLENBQUE7QUFGWSxRQUFBLEtBQUssU0FFakI7QUFFWSxRQUFBLElBQUksR0FBRyxhQUFLLENBQUE7QUFFbEIsTUFBTSxNQUFNLEdBQUcsS0FBSyxFQUFFLEdBQWtCLEVBQUUsR0FBbUIsRUFBRSxFQUFFO0lBQ3RFLE9BQU8sSUFBQSxrREFBMEIsRUFBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFBO0FBQ3ZELENBQUMsQ0FBQTtBQUZZLFFBQUEsTUFBTSxVQUVsQiJ9
|