@hartl-services/medusa-affiliate 0.3.0
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 +3739 -0
- package/.medusa/server/src/admin/index.mjs +3738 -0
- package/.medusa/server/src/api/admin/affiliate-applications/[id]/approve/route.js +28 -0
- package/.medusa/server/src/api/admin/affiliate-applications/[id]/reject/route.js +19 -0
- package/.medusa/server/src/api/admin/affiliate-applications/route.js +23 -0
- package/.medusa/server/src/api/admin/affiliate-distribution-reports/query.js +171 -0
- package/.medusa/server/src/api/admin/affiliate-distribution-reports/route.js +13 -0
- package/.medusa/server/src/api/admin/affiliate-program-settings/route.js +27 -0
- package/.medusa/server/src/api/admin/affiliate-reports/[id]/route.js +45 -0
- package/.medusa/server/src/api/admin/affiliate-reports/route.js +27 -0
- package/.medusa/server/src/api/admin/affiliates/[id]/consignment-reminders/route.js +31 -0
- package/.medusa/server/src/api/admin/affiliates/[id]/consignment-transfers/route.js +41 -0
- package/.medusa/server/src/api/admin/affiliates/[id]/coupon-codes/[coupon_id]/reconcile/route.js +34 -0
- package/.medusa/server/src/api/admin/affiliates/[id]/coupon-codes/[coupon_id]/revoke/route.js +36 -0
- package/.medusa/server/src/api/admin/affiliates/[id]/coupon-codes/[coupon_id]/rotate/route.js +40 -0
- package/.medusa/server/src/api/admin/affiliates/[id]/coupon-codes/route.js +56 -0
- package/.medusa/server/src/api/admin/affiliates/[id]/distribution/route.js +45 -0
- package/.medusa/server/src/api/admin/affiliates/[id]/inactive/route.js +20 -0
- package/.medusa/server/src/api/admin/affiliates/[id]/route.js +50 -0
- package/.medusa/server/src/api/admin/affiliates/[id]/slugs/[slug_id]/route.js +19 -0
- package/.medusa/server/src/api/admin/affiliates/[id]/slugs/route.js +26 -0
- package/.medusa/server/src/api/admin/affiliates/route.js +43 -0
- package/.medusa/server/src/api/admin/consignment-report-response.js +36 -0
- package/.medusa/server/src/api/admin/consignment-reports/[id]/approve/route.js +25 -0
- package/.medusa/server/src/api/admin/consignment-reports/[id]/correct/route.js +18 -0
- package/.medusa/server/src/api/admin/consignment-reports/[id]/reject/route.js +15 -0
- package/.medusa/server/src/api/admin/consignment-reports/[id]/route.js +11 -0
- package/.medusa/server/src/api/admin/consignment-reports/route.js +27 -0
- package/.medusa/server/src/api/admin/customers/[id]/affiliate/route.js +50 -0
- package/.medusa/server/src/api/admin/orders/[id]/affiliate-attribution/route.js +30 -0
- package/.medusa/server/src/api/affiliate-coupon-http.js +152 -0
- package/.medusa/server/src/api/affiliate-referral-cookie.js +34 -0
- package/.medusa/server/src/api/affiliate-self-service-http.js +37 -0
- package/.medusa/server/src/api/middlewares.js +786 -0
- package/.medusa/server/src/api/store/affiliate-referrals/apply-coupon/route.js +47 -0
- package/.medusa/server/src/api/store/affiliate-referrals/capture/route.js +76 -0
- package/.medusa/server/src/api/store/affiliate-referrals/carts/[cart_id]/route.js +20 -0
- package/.medusa/server/src/api/store/affiliates/consignment-inventory/route.js +53 -0
- package/.medusa/server/src/api/store/affiliates/consignment-report-response.js +31 -0
- package/.medusa/server/src/api/store/affiliates/consignment-reports/[id]/submit/route.js +40 -0
- package/.medusa/server/src/api/store/affiliates/consignment-reports/route.js +43 -0
- package/.medusa/server/src/api/store/affiliates/coupon-labels/route.js +14 -0
- package/.medusa/server/src/api/store/affiliates/me/commissions/route.js +35 -0
- package/.medusa/server/src/api/store/affiliates/me/coupon-codes/[coupon_id]/revoke/route.js +36 -0
- package/.medusa/server/src/api/store/affiliates/me/coupon-codes/[coupon_id]/rotate/route.js +40 -0
- package/.medusa/server/src/api/store/affiliates/me/coupon-codes/route.js +55 -0
- package/.medusa/server/src/api/store/affiliates/me/dashboard/route.js +15 -0
- package/.medusa/server/src/api/store/affiliates/me/route.js +85 -0
- package/.medusa/server/src/api/store/affiliates/me/slugs/[slug_id]/route.js +29 -0
- package/.medusa/server/src/api/store/affiliates/me/slugs/route.js +34 -0
- package/.medusa/server/src/api/store/affiliates/own-order-discount/route.js +22 -0
- package/.medusa/server/src/api/store/affiliates/own-order-promotion/route.js +30 -0
- package/.medusa/server/src/api/store/affiliates/register/route.js +27 -0
- package/.medusa/server/src/api/store/affiliates/resolve-referral/route.js +34 -0
- package/.medusa/server/src/api/validators.js +52 -0
- package/.medusa/server/src/api/wire-response.js +10 -0
- package/.medusa/server/src/integration/email-events.js +51 -0
- package/.medusa/server/src/integrations/inventory-transfer/batch-management-transfer-adapter.js +36 -0
- package/.medusa/server/src/integrations/inventory-transfer/native-inventory-transfer-adapter.js +30 -0
- package/.medusa/server/src/integrations/inventory-transfer/resolve-inventory-transfer-adapter.js +46 -0
- package/.medusa/server/src/integrations/inventory-transfer/types.js +3 -0
- package/.medusa/server/src/jobs/affiliate-attribution-expiry.js +20 -0
- package/.medusa/server/src/jobs/affiliate-consignment-report-reminders.js +15 -0
- package/.medusa/server/src/jobs/affiliate-promotion-freshness.js +24 -0
- package/.medusa/server/src/lib/query-string.js +15 -0
- package/.medusa/server/src/modules/affiliate/domain/affiliate-attribution-policy.js +81 -0
- package/.medusa/server/src/modules/affiliate/domain/affiliate-coupon-policy.js +61 -0
- package/.medusa/server/src/modules/affiliate/domain/commission-policy.js +33 -0
- package/.medusa/server/src/modules/affiliate/domain/consignment-reminder-rules.js +74 -0
- package/.medusa/server/src/modules/affiliate/domain/email-normalization.js +20 -0
- package/.medusa/server/src/modules/affiliate/domain/own-order-coupon-code.js +37 -0
- package/.medusa/server/src/modules/affiliate/domain/plugin-options.js +40 -0
- package/.medusa/server/src/modules/affiliate/index.js +13 -0
- package/.medusa/server/src/modules/affiliate/migrations/Migration20260827085154.js +423 -0
- package/.medusa/server/src/modules/affiliate/models/affiliate-application.js +38 -0
- package/.medusa/server/src/modules/affiliate/models/affiliate-cart-referral.js +65 -0
- package/.medusa/server/src/modules/affiliate/models/affiliate-code-redemption.js +41 -0
- package/.medusa/server/src/modules/affiliate/models/affiliate-coupon.js +55 -0
- package/.medusa/server/src/modules/affiliate/models/affiliate-distribution-settings.js +22 -0
- package/.medusa/server/src/modules/affiliate/models/affiliate-order-attribution.js +49 -0
- package/.medusa/server/src/modules/affiliate/models/affiliate-program-settings.js +28 -0
- package/.medusa/server/src/modules/affiliate/models/affiliate-referral-session.js +34 -0
- package/.medusa/server/src/modules/affiliate/models/affiliate-slug.js +27 -0
- package/.medusa/server/src/modules/affiliate/models/affiliate.js +49 -0
- package/.medusa/server/src/modules/affiliate/models/commission-entry.js +62 -0
- package/.medusa/server/src/modules/affiliate/models/consignment-report-line.js +21 -0
- package/.medusa/server/src/modules/affiliate/models/consignment-report.js +31 -0
- package/.medusa/server/src/modules/affiliate/models/consignment-transfer-line.js +16 -0
- package/.medusa/server/src/modules/affiliate/models/consignment-transfer.js +20 -0
- package/.medusa/server/src/modules/affiliate/models/customer-affiliate-assignment.js +58 -0
- package/.medusa/server/src/modules/affiliate/service.js +2321 -0
- package/.medusa/server/src/modules/affiliate/services/affiliate-application-manager.js +171 -0
- package/.medusa/server/src/modules/affiliate/services/affiliate-coupon-manager.js +441 -0
- package/.medusa/server/src/modules/affiliate/services/affiliate-discount.service.js +55 -0
- package/.medusa/server/src/modules/affiliate/services/affiliate-manager.js +242 -0
- package/.medusa/server/src/modules/affiliate/services/affiliate-partner-portal.service.js +138 -0
- package/.medusa/server/src/modules/affiliate/services/affiliate-report.service.js +436 -0
- package/.medusa/server/src/modules/affiliate/services/affiliate-slug-manager.js +163 -0
- package/.medusa/server/src/modules/affiliate/services/commission-ledger.service.js +729 -0
- package/.medusa/server/src/modules/affiliate/services/customer-affiliate-assignment-manager.js +350 -0
- package/.medusa/server/src/modules/affiliate/services/order-attribution-manager.js +1051 -0
- package/.medusa/server/src/modules/affiliate/services/referral-lifecycle-manager.js +1420 -0
- package/.medusa/server/src/modules/affiliate/services/utils.js +49 -0
- package/.medusa/server/src/modules/affiliate/types/internal.js +3 -0
- package/.medusa/server/src/paths/affiliate.js +7 -0
- package/.medusa/server/src/paths/index.js +18 -0
- package/.medusa/server/src/schemas/index.js +18 -0
- package/.medusa/server/src/schemas/store.js +24 -0
- package/.medusa/server/src/subscribers/affiliate-cart-updated.js +92 -0
- package/.medusa/server/src/subscribers/affiliate-order-canceled.js +70 -0
- package/.medusa/server/src/subscribers/affiliate-order-placed.js +63 -0
- package/.medusa/server/src/subscribers/affiliate-order-return-received.js +67 -0
- package/.medusa/server/src/subscribers/affiliate-product-eligibility-updated.js +87 -0
- package/.medusa/server/src/types/admin-api.js +3 -0
- package/.medusa/server/src/types/enums.js +53 -0
- package/.medusa/server/src/types/index.js +32 -0
- package/.medusa/server/src/types/public.js +3 -0
- package/.medusa/server/src/types/store-api.js +3 -0
- package/.medusa/server/src/utils/affiliate-cart-operation-lock.js +316 -0
- package/.medusa/server/src/utils/affiliate-promotion-mutation-authorization.js +49 -0
- package/.medusa/server/src/utils/cart-promotions.js +9 -0
- package/.medusa/server/src/utils/money.js +79 -0
- package/.medusa/server/src/utils/promotion-code-availability.js +34 -0
- package/.medusa/server/src/utils/registered-email-checkout.js +101 -0
- package/.medusa/server/src/utils/resolve-services.js +7 -0
- package/.medusa/server/src/utils/settle-cart-promotions.js +44 -0
- package/.medusa/server/src/workflows/affiliate/affiliate-coupon-cart.js +215 -0
- package/.medusa/server/src/workflows/affiliate/affiliate-coupon-command-authorization.js +20 -0
- package/.medusa/server/src/workflows/affiliate/apply-affiliate-coupon.js +174 -0
- package/.medusa/server/src/workflows/affiliate/apply-own-order-promotion.js +89 -0
- package/.medusa/server/src/workflows/affiliate/approve-consignment-report.js +186 -0
- package/.medusa/server/src/workflows/affiliate/correct-approved-consignment-report.js +263 -0
- package/.medusa/server/src/workflows/affiliate/create-affiliate-coupon.js +35 -0
- package/.medusa/server/src/workflows/affiliate/create-commission-correction-for-cancellation.js +21 -0
- package/.medusa/server/src/workflows/affiliate/create-commission-correction-for-refund.js +24 -0
- package/.medusa/server/src/workflows/affiliate/create-commission-for-order.js +17 -0
- package/.medusa/server/src/workflows/affiliate/deactivate-affiliate.js +89 -0
- package/.medusa/server/src/workflows/affiliate/enable-distribution.js +120 -0
- package/.medusa/server/src/workflows/affiliate/enrich-affiliate-report.js +75 -0
- package/.medusa/server/src/workflows/affiliate/ensure-affiliate-coupon-promotion.js +410 -0
- package/.medusa/server/src/workflows/affiliate/ensure-affiliate-own-order-promotion.js +240 -0
- package/.medusa/server/src/workflows/affiliate/ensure-default-affiliate-coupon.js +32 -0
- package/.medusa/server/src/workflows/affiliate/expire-affiliate-attribution-state.js +131 -0
- package/.medusa/server/src/workflows/affiliate/finalize-affiliate-order-attribution.js +82 -0
- package/.medusa/server/src/workflows/affiliate/payment-authorization.js +33 -0
- package/.medusa/server/src/workflows/affiliate/promotion-eligibility.js +179 -0
- package/.medusa/server/src/workflows/affiliate/reconcile-affiliate-cart-referral.js +219 -0
- package/.medusa/server/src/workflows/affiliate/reconcile-affiliate-coupon.js +388 -0
- package/.medusa/server/src/workflows/affiliate/refresh-affiliate-promotions.js +114 -0
- package/.medusa/server/src/workflows/affiliate/resolve-coupon-labels.js +40 -0
- package/.medusa/server/src/workflows/affiliate/revoke-affiliate-coupon.js +29 -0
- package/.medusa/server/src/workflows/affiliate/rotate-affiliate-coupon.js +36 -0
- package/.medusa/server/src/workflows/affiliate/run-consignment-report-reminders.js +58 -0
- package/.medusa/server/src/workflows/affiliate/submit-consignment-report.js +279 -0
- package/.medusa/server/src/workflows/affiliate/transfer-batch-aware-inventory.js +172 -0
- package/.medusa/server/src/workflows/affiliate/transfer-consignment-stock.js +106 -0
- package/.medusa/server/src/workflows/affiliate/update-affiliate-coupon-discounts.js +129 -0
- package/.medusa/server/src/workflows/affiliate/utils.js +118 -0
- package/.medusa/server/src/workflows/hooks/complete-cart-affiliate-attribution.js +57 -0
- package/.medusa/server/src/workflows/hooks/complete-cart-order-created-composition.js +111 -0
- package/.medusa/server/src/workflows/hooks/complete-cart-own-order-discount.js +75 -0
- package/.medusa/server/src/workflows/hooks/enforce-unique-promotion-codes.js +33 -0
- package/.medusa/server/src/workflows/hooks/validate-affiliate-customer-code.js +239 -0
- package/.medusa/server/src/workflows/hooks/validate-complete-cart-affiliate-referral.js +137 -0
- package/LICENSE +21 -0
- package/README.md +799 -0
- package/dist/integration/email-events.d.ts +20 -0
- package/dist/integration/email-events.js +50 -0
- package/package.json +84 -0
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.approveConsignmentReportWorkflow = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
6
|
+
const core_flows_1 = require("@medusajs/medusa/core-flows");
|
|
7
|
+
const resolve_services_1 = require("../../utils/resolve-services");
|
|
8
|
+
const toNumber = (value) => {
|
|
9
|
+
if (typeof value === "number") {
|
|
10
|
+
return value;
|
|
11
|
+
}
|
|
12
|
+
if (typeof value === "string") {
|
|
13
|
+
return Number(value);
|
|
14
|
+
}
|
|
15
|
+
if (typeof value === "object" &&
|
|
16
|
+
value !== null &&
|
|
17
|
+
"numeric" in value &&
|
|
18
|
+
typeof value.numeric === "number") {
|
|
19
|
+
return value.numeric;
|
|
20
|
+
}
|
|
21
|
+
return Number(value.valueOf());
|
|
22
|
+
};
|
|
23
|
+
const assertPartnerReservations = (reservations, report, stockLocationId) => {
|
|
24
|
+
const confirmedLines = report.lines.filter((line) => line.confirmed_sale_quantity > 0);
|
|
25
|
+
return confirmedLines.map((line) => {
|
|
26
|
+
if (!line.order_line_item_id) {
|
|
27
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.UNEXPECTED_STATE, `Der Meldeposition ${line.id} fehlt die native Order-Line-Referenz.`);
|
|
28
|
+
}
|
|
29
|
+
const lineReservations = reservations.filter((reservation) => reservation.line_item_id === line.order_line_item_id);
|
|
30
|
+
if (lineReservations.length !== 1 ||
|
|
31
|
+
lineReservations[0].location_id !== stockLocationId ||
|
|
32
|
+
lineReservations[0].inventory_item_id !== line.inventory_item_id ||
|
|
33
|
+
toNumber(lineReservations[0].quantity) !==
|
|
34
|
+
line.confirmed_sale_quantity) {
|
|
35
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.UNEXPECTED_STATE, `Die Reservierung für Meldeposition ${line.id} liegt nicht exakt am Partnerlager.`);
|
|
36
|
+
}
|
|
37
|
+
const reservation = lineReservations[0];
|
|
38
|
+
return {
|
|
39
|
+
id: reservation.id,
|
|
40
|
+
inventory_item_id: reservation.inventory_item_id,
|
|
41
|
+
location_id: reservation.location_id,
|
|
42
|
+
line_item_id: reservation.line_item_id ?? null,
|
|
43
|
+
quantity: toNumber(reservation.quantity),
|
|
44
|
+
};
|
|
45
|
+
});
|
|
46
|
+
};
|
|
47
|
+
const toFulfillmentSnapshot = (fulfillment) => ({
|
|
48
|
+
id: fulfillment.id,
|
|
49
|
+
location_id: fulfillment.location_id,
|
|
50
|
+
items: (fulfillment.items ?? []).map((item) => ({
|
|
51
|
+
line_item_id: item.line_item_id,
|
|
52
|
+
quantity: toNumber(item.quantity),
|
|
53
|
+
})),
|
|
54
|
+
});
|
|
55
|
+
const toJsonObject = (value) => value ? value : null;
|
|
56
|
+
const executeApprovalStep = (0, workflows_sdk_1.createStep)("affiliate-execute-consignment-report-approval", async (input, { container }) => {
|
|
57
|
+
const affiliateService = (0, resolve_services_1.resolveAffiliateService)(container);
|
|
58
|
+
const prepared = await affiliateService.prepareConsignmentApproval(input);
|
|
59
|
+
if (prepared.already_approved && prepared.existing_result) {
|
|
60
|
+
return new workflows_sdk_1.StepResponse(prepared.existing_result);
|
|
61
|
+
}
|
|
62
|
+
const { report, settings } = prepared;
|
|
63
|
+
if (!report.draft_order_id) {
|
|
64
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.UNEXPECTED_STATE, "Die eingereichte Monatsmeldung besitzt keine Draft Order.");
|
|
65
|
+
}
|
|
66
|
+
const confirmedLines = report.lines.filter((line) => line.confirmed_sale_quantity > 0);
|
|
67
|
+
if (!confirmedLines.length) {
|
|
68
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "Eine Freigabe benötigt mindestens eine bestätigte Verkaufsposition.");
|
|
69
|
+
}
|
|
70
|
+
if (confirmedLines.some((line) => !line.order_line_item_id)) {
|
|
71
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.UNEXPECTED_STATE, "Mindestens einer Meldeposition fehlt die native Draft-Order-Line.");
|
|
72
|
+
}
|
|
73
|
+
const orderService = container.resolve(utils_1.Modules.ORDER);
|
|
74
|
+
let order = await orderService.retrieveOrder(report.draft_order_id, {
|
|
75
|
+
relations: ["items"],
|
|
76
|
+
});
|
|
77
|
+
if (order.is_draft_order) {
|
|
78
|
+
await (0, core_flows_1.beginDraftOrderEditWorkflow)(container).run({
|
|
79
|
+
input: {
|
|
80
|
+
order_id: report.draft_order_id,
|
|
81
|
+
created_by: input.admin_id,
|
|
82
|
+
description: `Kommissionsmeldung ${report.id}`,
|
|
83
|
+
metadata: {
|
|
84
|
+
consignment_report_id: report.id,
|
|
85
|
+
approval_idempotency_key: `consignment-approval:${report.id}`,
|
|
86
|
+
},
|
|
87
|
+
},
|
|
88
|
+
});
|
|
89
|
+
await (0, core_flows_1.updateDraftOrderItemWorkflow)(container).run({
|
|
90
|
+
input: {
|
|
91
|
+
order_id: report.draft_order_id,
|
|
92
|
+
items: report.lines
|
|
93
|
+
.filter((line) => line.order_line_item_id)
|
|
94
|
+
.map((line) => ({
|
|
95
|
+
id: line.order_line_item_id,
|
|
96
|
+
quantity: line.confirmed_sale_quantity,
|
|
97
|
+
})),
|
|
98
|
+
},
|
|
99
|
+
});
|
|
100
|
+
await (0, core_flows_1.confirmDraftOrderEditWorkflow)(container).run({
|
|
101
|
+
input: {
|
|
102
|
+
order_id: report.draft_order_id,
|
|
103
|
+
confirmed_by: input.admin_id,
|
|
104
|
+
},
|
|
105
|
+
});
|
|
106
|
+
order = await orderService.retrieveOrder(report.draft_order_id, {
|
|
107
|
+
relations: ["items"],
|
|
108
|
+
});
|
|
109
|
+
if (order.sales_channel_id !== settings.internal_sales_channel_id) {
|
|
110
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_ALLOWED, "Die Kommissions-Draft-Order gehört nicht zum internen Partner-Sales-Channel.");
|
|
111
|
+
}
|
|
112
|
+
const converted = await (0, core_flows_1.convertDraftOrderWorkflow)(container).run({
|
|
113
|
+
input: { id: report.draft_order_id },
|
|
114
|
+
});
|
|
115
|
+
order = converted.result;
|
|
116
|
+
}
|
|
117
|
+
else if (order.metadata?.consignment !== true ||
|
|
118
|
+
order.metadata?.consignment_report_id !== report.id) {
|
|
119
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.CONFLICT, "Die verknüpfte Order ist keine Abrechnung dieser Kommissionsmeldung.");
|
|
120
|
+
}
|
|
121
|
+
const inventory = container.resolve(utils_1.Modules.INVENTORY);
|
|
122
|
+
const reservations = await inventory.listReservationItems({
|
|
123
|
+
line_item_id: confirmedLines.map((line) => line.order_line_item_id),
|
|
124
|
+
});
|
|
125
|
+
const reservationSnapshots = assertPartnerReservations(reservations, report, settings.stock_location_id);
|
|
126
|
+
const orderWithFulfillments = (await orderService.retrieveOrder(order.id, {
|
|
127
|
+
relations: ["fulfillments", "fulfillments.items"],
|
|
128
|
+
}));
|
|
129
|
+
let fulfillment = orderWithFulfillments.fulfillments?.find((candidate) => candidate.location_id === settings.stock_location_id) ?? null;
|
|
130
|
+
if (!fulfillment) {
|
|
131
|
+
const created = await (0, core_flows_1.createOrderFulfillmentWorkflow)(container).run({
|
|
132
|
+
input: {
|
|
133
|
+
order_id: order.id,
|
|
134
|
+
created_by: input.admin_id,
|
|
135
|
+
location_id: settings.stock_location_id,
|
|
136
|
+
shipping_option_id: settings.shipping_option_id,
|
|
137
|
+
no_notification: true,
|
|
138
|
+
requires_shipping: false,
|
|
139
|
+
items: confirmedLines.map((line) => ({
|
|
140
|
+
id: line.order_line_item_id,
|
|
141
|
+
quantity: line.confirmed_sale_quantity,
|
|
142
|
+
})),
|
|
143
|
+
metadata: {
|
|
144
|
+
consignment: true,
|
|
145
|
+
consignment_report_id: report.id,
|
|
146
|
+
},
|
|
147
|
+
},
|
|
148
|
+
});
|
|
149
|
+
fulfillment = created.result;
|
|
150
|
+
}
|
|
151
|
+
const fulfillmentSnapshot = toFulfillmentSnapshot(fulfillment);
|
|
152
|
+
const completed = await affiliateService.completeConsignmentApproval({
|
|
153
|
+
report_id: report.id,
|
|
154
|
+
admin_id: input.admin_id,
|
|
155
|
+
order_id: order.id,
|
|
156
|
+
fulfillment_id: fulfillment.id,
|
|
157
|
+
reservations: reservationSnapshots,
|
|
158
|
+
});
|
|
159
|
+
if (completed.newly_approved) {
|
|
160
|
+
const eventBus = container.resolve(utils_1.Modules.EVENT_BUS);
|
|
161
|
+
await eventBus.emit({
|
|
162
|
+
name: "affiliate.consignment_report_approved",
|
|
163
|
+
data: { id: report.id, order_id: order.id },
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
return new workflows_sdk_1.StepResponse({
|
|
167
|
+
report: completed.report,
|
|
168
|
+
order_id: order.id,
|
|
169
|
+
fulfillment_id: fulfillment.id,
|
|
170
|
+
order: {
|
|
171
|
+
id: order.id,
|
|
172
|
+
is_draft_order: Boolean(order.is_draft_order),
|
|
173
|
+
metadata: toJsonObject(order.metadata),
|
|
174
|
+
},
|
|
175
|
+
reservations: reservationSnapshots,
|
|
176
|
+
fulfillment: fulfillmentSnapshot,
|
|
177
|
+
});
|
|
178
|
+
});
|
|
179
|
+
exports.approveConsignmentReportWorkflow = (0, workflows_sdk_1.createWorkflow)("affiliate-approve-consignment-report", (input) => {
|
|
180
|
+
const lockKey = (0, workflows_sdk_1.transform)(input, (data) => `affiliate-consignment-approval:${data.report_id}`);
|
|
181
|
+
(0, core_flows_1.acquireLockStep)({ key: lockKey, timeout: 10, ttl: 180 });
|
|
182
|
+
const result = executeApprovalStep(input);
|
|
183
|
+
(0, core_flows_1.releaseLockStep)({ key: lockKey });
|
|
184
|
+
return new workflows_sdk_1.WorkflowResponse(result);
|
|
185
|
+
});
|
|
186
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwcm92ZS1jb25zaWdubWVudC1yZXBvcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2FmZmlsaWF0ZS9hcHByb3ZlLWNvbnNpZ25tZW50LXJlcG9ydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFRQSxxRUFNMEM7QUFDMUMscURBQWdFO0FBQ2hFLDREQVFvQztBQVdwQyxtRUFBc0U7QUFrQ3RFLE1BQU0sUUFBUSxHQUFHLENBQUMsS0FBcUIsRUFBVSxFQUFFO0lBQ2pELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDOUIsT0FBTyxLQUFLLENBQUE7SUFDZCxDQUFDO0lBQ0QsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUM5QixPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUN0QixDQUFDO0lBQ0QsSUFDRSxPQUFPLEtBQUssS0FBSyxRQUFRO1FBQ3pCLEtBQUssS0FBSyxJQUFJO1FBQ2QsU0FBUyxJQUFJLEtBQUs7UUFDbEIsT0FBTyxLQUFLLENBQUMsT0FBTyxLQUFLLFFBQVEsRUFDakMsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQTtJQUN0QixDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUE7QUFDaEMsQ0FBQyxDQUFBO0FBRUQsTUFBTSx5QkFBeUIsR0FBRyxDQUNoQyxZQUFrQyxFQUNsQyxNQUE0QixFQUM1QixlQUF1QixFQUNXLEVBQUU7SUFDcEMsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQ3hDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLEdBQUcsQ0FBQyxDQUMzQyxDQUFBO0lBRUQsT0FBTyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7UUFDakMsSUFBSSxD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
|
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.correctApprovedConsignmentReportWorkflow = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
6
|
+
const core_flows_1 = require("@medusajs/medusa/core-flows");
|
|
7
|
+
const resolve_services_1 = require("../../utils/resolve-services");
|
|
8
|
+
const utils_2 = require("./utils");
|
|
9
|
+
const toNumber = (value) => {
|
|
10
|
+
if (value === undefined || value === null) {
|
|
11
|
+
return 0;
|
|
12
|
+
}
|
|
13
|
+
if (typeof value === "number") {
|
|
14
|
+
return value;
|
|
15
|
+
}
|
|
16
|
+
if (typeof value === "string") {
|
|
17
|
+
return Number(value);
|
|
18
|
+
}
|
|
19
|
+
if (typeof value === "object" &&
|
|
20
|
+
"numeric" in value &&
|
|
21
|
+
typeof value.numeric === "number") {
|
|
22
|
+
return value.numeric;
|
|
23
|
+
}
|
|
24
|
+
return Number(value.valueOf());
|
|
25
|
+
};
|
|
26
|
+
const executeCorrectionStep = (0, workflows_sdk_1.createStep)("affiliate-execute-approved-consignment-correction", async (input, { container }) => {
|
|
27
|
+
const affiliateService = (0, resolve_services_1.resolveAffiliateService)(container);
|
|
28
|
+
const prepared = await affiliateService.prepareConsignmentCorrection(input);
|
|
29
|
+
if (prepared.already_completed && prepared.existing_result) {
|
|
30
|
+
return new workflows_sdk_1.StepResponse(prepared.existing_result);
|
|
31
|
+
}
|
|
32
|
+
const totalDelta = prepared.lines.reduce((sum, line) => sum + line.quantity_delta, 0);
|
|
33
|
+
if (totalDelta === 0) {
|
|
34
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "Die Korrektur verändert keine bestätigte Verkaufsmenge.");
|
|
35
|
+
}
|
|
36
|
+
if (prepared.lines.some((line) => line.quantity_delta > 0) &&
|
|
37
|
+
prepared.lines.some((line) => line.quantity_delta < 0)) {
|
|
38
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "Erhöhungen und Reduktionen müssen als getrennte Korrekturbelege erfasst werden.");
|
|
39
|
+
}
|
|
40
|
+
const orderService = container.resolve(utils_1.Modules.ORDER);
|
|
41
|
+
const existingChanges = await orderService.listOrderChanges({ order_id: prepared.order_id }, { relations: ["actions"] });
|
|
42
|
+
const reconciledChange = existingChanges.find((change) => change.metadata?.consignment_correction_id === input.correction_id);
|
|
43
|
+
let orderEditId = prepared.progress.order_edit_id ?? reconciledChange?.id ?? null;
|
|
44
|
+
if (!orderEditId) {
|
|
45
|
+
const edit = await (0, core_flows_1.beginOrderEditOrderWorkflow)(container).run({
|
|
46
|
+
input: {
|
|
47
|
+
order_id: prepared.order_id,
|
|
48
|
+
created_by: input.admin_id,
|
|
49
|
+
description: `Kommissionskorrektur ${input.correction_id}`,
|
|
50
|
+
metadata: {
|
|
51
|
+
consignment: true,
|
|
52
|
+
consignment_report_id: prepared.report.id,
|
|
53
|
+
consignment_correction_id: input.correction_id,
|
|
54
|
+
reason: input.reason,
|
|
55
|
+
},
|
|
56
|
+
},
|
|
57
|
+
});
|
|
58
|
+
orderEditId = edit.result.id;
|
|
59
|
+
}
|
|
60
|
+
await affiliateService.recordConsignmentCorrectionProgress({
|
|
61
|
+
report_id: prepared.report.id,
|
|
62
|
+
correction_id: input.correction_id,
|
|
63
|
+
order_edit_id: orderEditId,
|
|
64
|
+
});
|
|
65
|
+
const changeStatus = reconciledChange?.status;
|
|
66
|
+
const quantityActions = reconciledChange?.actions ?? [];
|
|
67
|
+
const quantitiesAlreadyApplied = prepared.lines.every((line) => quantityActions.some((action) => {
|
|
68
|
+
const details = action.details;
|
|
69
|
+
return (details?.reference_id === line.order_line_item_id &&
|
|
70
|
+
toNumber(details.quantity) ===
|
|
71
|
+
line.corrected_confirmed_sale_quantity);
|
|
72
|
+
}));
|
|
73
|
+
if (!prepared.progress.edit_updated &&
|
|
74
|
+
!quantitiesAlreadyApplied &&
|
|
75
|
+
changeStatus !== "requested" &&
|
|
76
|
+
changeStatus !== "confirmed") {
|
|
77
|
+
await (0, core_flows_1.orderEditUpdateItemQuantityWorkflow)(container).run({
|
|
78
|
+
input: {
|
|
79
|
+
order_id: prepared.order_id,
|
|
80
|
+
items: prepared.lines.map((line) => ({
|
|
81
|
+
id: line.order_line_item_id,
|
|
82
|
+
quantity: line.corrected_confirmed_sale_quantity,
|
|
83
|
+
})),
|
|
84
|
+
},
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
await affiliateService.recordConsignmentCorrectionProgress({
|
|
88
|
+
report_id: prepared.report.id,
|
|
89
|
+
correction_id: input.correction_id,
|
|
90
|
+
edit_updated: true,
|
|
91
|
+
});
|
|
92
|
+
if (!prepared.progress.edit_requested &&
|
|
93
|
+
changeStatus !== "requested" &&
|
|
94
|
+
changeStatus !== "confirmed") {
|
|
95
|
+
await (0, core_flows_1.requestOrderEditRequestWorkflow)(container).run({
|
|
96
|
+
input: {
|
|
97
|
+
order_id: prepared.order_id,
|
|
98
|
+
requested_by: input.admin_id,
|
|
99
|
+
},
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
await affiliateService.recordConsignmentCorrectionProgress({
|
|
103
|
+
report_id: prepared.report.id,
|
|
104
|
+
correction_id: input.correction_id,
|
|
105
|
+
edit_requested: true,
|
|
106
|
+
});
|
|
107
|
+
if (!prepared.progress.edit_confirmed && changeStatus !== "confirmed") {
|
|
108
|
+
await (0, core_flows_1.confirmOrderEditRequestWorkflow)(container).run({
|
|
109
|
+
input: {
|
|
110
|
+
order_id: prepared.order_id,
|
|
111
|
+
confirmed_by: input.admin_id,
|
|
112
|
+
},
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
await affiliateService.recordConsignmentCorrectionProgress({
|
|
116
|
+
report_id: prepared.report.id,
|
|
117
|
+
correction_id: input.correction_id,
|
|
118
|
+
edit_confirmed: true,
|
|
119
|
+
});
|
|
120
|
+
let creditLineId = null;
|
|
121
|
+
let fulfillmentId = null;
|
|
122
|
+
if (totalDelta > 0) {
|
|
123
|
+
const positiveLines = prepared.lines.filter((line) => line.quantity_delta > 0);
|
|
124
|
+
const existingReservations = await container.resolve(utils_1.Modules.INVENTORY).listReservationItems({
|
|
125
|
+
line_item_id: positiveLines.map((line) => line.order_line_item_id),
|
|
126
|
+
});
|
|
127
|
+
const correctionReservations = existingReservations.filter((reservation) => reservation.metadata?.consignment_correction_id ===
|
|
128
|
+
input.correction_id);
|
|
129
|
+
const reservationIds = prepared.progress.reservation_ids.length
|
|
130
|
+
? prepared.progress.reservation_ids
|
|
131
|
+
: correctionReservations.length
|
|
132
|
+
? correctionReservations.map((reservation) => reservation.id)
|
|
133
|
+
: (await (0, core_flows_1.createReservationsWorkflow)(container).run({
|
|
134
|
+
input: {
|
|
135
|
+
reservations: positiveLines.map((line) => ({
|
|
136
|
+
inventory_item_id: line.inventory_item_id,
|
|
137
|
+
location_id: prepared.settings.stock_location_id,
|
|
138
|
+
line_item_id: line.order_line_item_id,
|
|
139
|
+
quantity: line.quantity_delta,
|
|
140
|
+
created_by: input.admin_id,
|
|
141
|
+
metadata: {
|
|
142
|
+
consignment: true,
|
|
143
|
+
consignment_report_id: prepared.report.id,
|
|
144
|
+
consignment_correction_id: input.correction_id,
|
|
145
|
+
},
|
|
146
|
+
})),
|
|
147
|
+
},
|
|
148
|
+
})).result.map((reservation) => reservation.id);
|
|
149
|
+
await affiliateService.recordConsignmentCorrectionProgress({
|
|
150
|
+
report_id: prepared.report.id,
|
|
151
|
+
correction_id: input.correction_id,
|
|
152
|
+
reservation_ids: reservationIds,
|
|
153
|
+
});
|
|
154
|
+
const orderWithFulfillments = (await orderService.retrieveOrder(prepared.order_id, { relations: ["fulfillments"] }));
|
|
155
|
+
const existingFulfillment = orderWithFulfillments.fulfillments?.find((candidate) => candidate.metadata?.consignment_correction_id ===
|
|
156
|
+
input.correction_id);
|
|
157
|
+
const fulfillment = prepared.progress.fulfillment_id
|
|
158
|
+
? { result: { id: prepared.progress.fulfillment_id } }
|
|
159
|
+
: existingFulfillment
|
|
160
|
+
? { result: existingFulfillment }
|
|
161
|
+
: await (0, core_flows_1.createOrderFulfillmentWorkflow)(container).run({
|
|
162
|
+
input: {
|
|
163
|
+
order_id: prepared.order_id,
|
|
164
|
+
created_by: input.admin_id,
|
|
165
|
+
location_id: prepared.settings.stock_location_id,
|
|
166
|
+
shipping_option_id: prepared.settings.shipping_option_id,
|
|
167
|
+
no_notification: true,
|
|
168
|
+
requires_shipping: false,
|
|
169
|
+
items: positiveLines.map((line) => ({
|
|
170
|
+
id: line.order_line_item_id,
|
|
171
|
+
quantity: line.quantity_delta,
|
|
172
|
+
})),
|
|
173
|
+
metadata: {
|
|
174
|
+
consignment: true,
|
|
175
|
+
consignment_report_id: prepared.report.id,
|
|
176
|
+
consignment_correction_id: input.correction_id,
|
|
177
|
+
},
|
|
178
|
+
},
|
|
179
|
+
});
|
|
180
|
+
fulfillmentId = fulfillment.result.id;
|
|
181
|
+
await affiliateService.recordConsignmentCorrectionProgress({
|
|
182
|
+
report_id: prepared.report.id,
|
|
183
|
+
correction_id: input.correction_id,
|
|
184
|
+
batch_withdrawal_completed: true,
|
|
185
|
+
fulfillment_id: fulfillmentId,
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
else {
|
|
189
|
+
const correctedOrder = await orderService.retrieveOrder(prepared.order_id, { relations: ["items", "credit_lines"] });
|
|
190
|
+
const existingCredit = correctedOrder.credit_lines?.find((credit) => credit.reference === "consignment_correction" &&
|
|
191
|
+
credit.reference_id === input.correction_id);
|
|
192
|
+
const pendingDifference = toNumber(correctedOrder.summary?.pending_difference);
|
|
193
|
+
if (pendingDifference >= 0) {
|
|
194
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.UNEXPECTED_STATE, "Die reduzierte Verkaufsmenge erzeugte keine negative auszugleichende Differenz.");
|
|
195
|
+
}
|
|
196
|
+
const creditLines = prepared.progress.credit_line_id || existingCredit
|
|
197
|
+
? {
|
|
198
|
+
result: [
|
|
199
|
+
{
|
|
200
|
+
id: prepared.progress.credit_line_id ??
|
|
201
|
+
existingCredit.id,
|
|
202
|
+
},
|
|
203
|
+
],
|
|
204
|
+
}
|
|
205
|
+
: await (0, core_flows_1.createOrderCreditLinesWorkflow)(container).run({
|
|
206
|
+
input: {
|
|
207
|
+
id: prepared.order_id,
|
|
208
|
+
credit_lines: [
|
|
209
|
+
{
|
|
210
|
+
amount: pendingDifference,
|
|
211
|
+
reference: "consignment_correction",
|
|
212
|
+
reference_id: input.correction_id,
|
|
213
|
+
metadata: {
|
|
214
|
+
consignment_report_id: prepared.report.id,
|
|
215
|
+
reason: input.reason,
|
|
216
|
+
},
|
|
217
|
+
},
|
|
218
|
+
],
|
|
219
|
+
},
|
|
220
|
+
});
|
|
221
|
+
creditLineId = creditLines.result[0]?.id ?? null;
|
|
222
|
+
if (!creditLineId) {
|
|
223
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.UNEXPECTED_STATE, "Für die Kommissionskorrektur wurde keine Gutschrift erzeugt.");
|
|
224
|
+
}
|
|
225
|
+
await affiliateService.recordConsignmentCorrectionProgress({
|
|
226
|
+
report_id: prepared.report.id,
|
|
227
|
+
correction_id: input.correction_id,
|
|
228
|
+
credit_line_id: creditLineId,
|
|
229
|
+
});
|
|
230
|
+
const commissionOrder = await (0, utils_2.retrieveOrderForCommission)(prepared.order_id, container);
|
|
231
|
+
await affiliateService.createCommissionCorrection({
|
|
232
|
+
order: commissionOrder,
|
|
233
|
+
type: "refund_correction",
|
|
234
|
+
refund_id: `consignment-correction:${input.correction_id}`,
|
|
235
|
+
returned_items: prepared.lines
|
|
236
|
+
.filter((line) => line.quantity_delta < 0)
|
|
237
|
+
.map((line) => ({
|
|
238
|
+
item_id: line.order_line_item_id,
|
|
239
|
+
quantity: -line.quantity_delta,
|
|
240
|
+
})),
|
|
241
|
+
occurred_at: new Date(),
|
|
242
|
+
});
|
|
243
|
+
}
|
|
244
|
+
const result = await affiliateService.completeConsignmentCorrection({
|
|
245
|
+
report_id: prepared.report.id,
|
|
246
|
+
correction_id: input.correction_id,
|
|
247
|
+
admin_id: input.admin_id,
|
|
248
|
+
reason: input.reason,
|
|
249
|
+
order_edit_id: orderEditId,
|
|
250
|
+
credit_line_id: creditLineId,
|
|
251
|
+
fulfillment_id: fulfillmentId,
|
|
252
|
+
lines: prepared.lines,
|
|
253
|
+
});
|
|
254
|
+
return new workflows_sdk_1.StepResponse(result);
|
|
255
|
+
});
|
|
256
|
+
exports.correctApprovedConsignmentReportWorkflow = (0, workflows_sdk_1.createWorkflow)("affiliate-correct-approved-consignment-report", (input) => {
|
|
257
|
+
const lockKey = (0, workflows_sdk_1.transform)(input, (data) => `affiliate-consignment-correction:${data.report_id}`);
|
|
258
|
+
(0, core_flows_1.acquireLockStep)({ key: lockKey, timeout: 10, ttl: 180 });
|
|
259
|
+
const result = executeCorrectionStep(input);
|
|
260
|
+
(0, core_flows_1.releaseLockStep)({ key: lockKey });
|
|
261
|
+
return new workflows_sdk_1.WorkflowResponse(result);
|
|
262
|
+
});
|
|
263
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ycmVjdC1hcHByb3ZlZC1jb25zaWdubWVudC1yZXBvcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2FmZmlsaWF0ZS9jb3JyZWN0LWFwcHJvdmVkLWNvbnNpZ25tZW50LXJlcG9ydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFLQSxxRUFNMEM7QUFDMUMscURBQWdFO0FBQ2hFLDREQVVvQztBQVNwQyxtRUFBc0U7QUFDdEUsbUNBQW9EO0FBb0VwRCxNQUFNLFFBQVEsR0FBRyxDQUFDLEtBQXdDLEVBQVUsRUFBRTtJQUNwRSxJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQzFDLE9BQU8sQ0FBQyxDQUFBO0lBQ1YsQ0FBQztJQUNELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDOUIsT0FBTyxLQUFLLENBQUE7SUFDZCxDQUFDO0lBQ0QsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUM5QixPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUN0QixDQUFDO0lBQ0QsSUFDRSxPQUFPLEtBQUssS0FBSyxRQUFRO1FBQ3pCLFNBQVMsSUFBSSxLQUFLO1FBQ2xCLE9BQU8sS0FBSyxDQUFDLE9BQU8sS0FBSyxRQUFRLEVBQ2pDLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUE7SUFDdEIsQ0FBQztJQUNELE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFBO0FBQ2hDLENBQUMsQ0FBQTtBQUVELE1BQU0scUJBQXFCLEdBQUcsSUFBQSwwQkFBVSxFQUN0QyxtREFBbUQsRUFDbkQsS0FBSyxFQUNILEtBQW9DLEVBQ3BDLEVBQUUsU0FBUyxFQUFFLEVBQzBDLEVBQUU7SUFDekQsTUFBTSxnQkFBZ0IsR0FBRyxJQUFBLDBDQUF1QixFQUM5QyxTQUFTLENB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
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createAffiliateCouponWorkflow = exports.createAffiliateCoupon = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const affiliate_coupon_policy_1 = require("../../modules/affiliate/domain/affiliate-coupon-policy");
|
|
6
|
+
const promotion_code_availability_1 = require("../../utils/promotion-code-availability");
|
|
7
|
+
const resolve_services_1 = require("../../utils/resolve-services");
|
|
8
|
+
const affiliate_coupon_command_authorization_1 = require("./affiliate-coupon-command-authorization");
|
|
9
|
+
const ensure_affiliate_coupon_promotion_1 = require("./ensure-affiliate-coupon-promotion");
|
|
10
|
+
const reconcile_affiliate_coupon_1 = require("./reconcile-affiliate-coupon");
|
|
11
|
+
const createAffiliateCoupon = async (container, input) => {
|
|
12
|
+
const affiliateService = (0, resolve_services_1.resolveAffiliateService)(container);
|
|
13
|
+
// The module can only see its own coupons; a native promotion (e.g. one
|
|
14
|
+
// created in the Admin dashboard) with the same code, in any casing, is
|
|
15
|
+
// checked here so the caller gets a clear refusal instead of a coupon that
|
|
16
|
+
// fails provisioning later.
|
|
17
|
+
if (input.code !== undefined) {
|
|
18
|
+
await (0, promotion_code_availability_1.assertPromotionCodeAvailable)(container, (0, affiliate_coupon_policy_1.normalizeAffiliateCouponCode)(input.code));
|
|
19
|
+
}
|
|
20
|
+
const created = await (0, affiliate_coupon_command_authorization_1.withAuthorizedAffiliateCouponCommand)(container, (0, ensure_affiliate_coupon_promotion_1.affiliateCouponProvisioningLockKeys)(input.affiliate_id), {
|
|
21
|
+
affiliate_id: input.affiliate_id,
|
|
22
|
+
actor_type: input.created_by_type,
|
|
23
|
+
actor_id: input.created_by_id,
|
|
24
|
+
}, async () => await affiliateService.createAffiliateCouponRecord({
|
|
25
|
+
...input,
|
|
26
|
+
origin: "manual",
|
|
27
|
+
}));
|
|
28
|
+
return (await (0, reconcile_affiliate_coupon_1.reconcileAffiliateCoupon)(container, {
|
|
29
|
+
coupon_id: created.coupon.id,
|
|
30
|
+
})).coupon;
|
|
31
|
+
};
|
|
32
|
+
exports.createAffiliateCoupon = createAffiliateCoupon;
|
|
33
|
+
const createAffiliateCouponStep = (0, workflows_sdk_1.createStep)("create-affiliate-coupon", async (input, { container }) => new workflows_sdk_1.StepResponse(await (0, exports.createAffiliateCoupon)(container, input)));
|
|
34
|
+
exports.createAffiliateCouponWorkflow = (0, workflows_sdk_1.createWorkflow)("create-affiliate-coupon", (input) => new workflows_sdk_1.WorkflowResponse(createAffiliateCouponStep(input)));
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWFmZmlsaWF0ZS1jb3Vwb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2FmZmlsaWF0ZS9jcmVhdGUtYWZmaWxpYXRlLWNvdXBvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFLMEM7QUFJMUMsb0dBQXFHO0FBQ3JHLHlGQUFzRjtBQUN0RixtRUFBc0U7QUFDdEUscUdBQStGO0FBQy9GLDJGQUF5RjtBQUN6Riw2RUFBdUU7QUFVaEUsTUFBTSxxQkFBcUIsR0FBRyxLQUFLLEVBQ3hDLFNBQTBCLEVBQzFCLEtBQXlDLEVBQ1osRUFBRTtJQUMvQixNQUFNLGdCQUFnQixHQUFHLElBQUEsMENBQXVCLEVBQUMsU0FBUyxDQUFDLENBQUE7SUFDM0Qsd0VBQXdFO0lBQ3hFLHdFQUF3RTtJQUN4RSwyRUFBMkU7SUFDM0UsNEJBQTRCO0lBQzVCLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUM3QixNQUFNLElBQUEsMERBQTRCLEVBQ2hDLFNBQVMsRUFDVCxJQUFBLHNEQUE0QixFQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FDekMsQ0FBQTtJQUNILENBQUM7SUFDRCxNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUEsNkVBQW9DLEVBQ3hELFNBQVMsRUFDVCxJQUFBLHVFQUFtQyxFQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsRUFDdkQ7UUFDRSxZQUFZLEVBQUUsS0FBSyxDQUFDLFlBQVk7UUFDaEMsVUFBVSxFQUFFLEtBQUssQ0FBQyxlQUFlO1FBQ2pDLFFBQVEsRUFBRSxLQUFLLENBQUMsYUFBYTtLQUM5QixFQUNELEtBQUssSUFBSSxFQUFFLENBQ1QsTUFBTSxnQkFBZ0IsQ0FBQywyQkFBMkIsQ0FBQztRQUNqRCxHQUFHLEtBQUs7UUFDUixNQUFNLEVBQUUsUUFBUTtLQUNqQixDQUFDLENBQ0wsQ0FBQTtJQUNELE9BQU8sQ0FDTCxNQUFNLElBQUEscURBQXdCLEVBQUMsU0FBUyxFQUFFO1FBQ3hDLFNBQVMsRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7S0FDN0IsQ0FBQyxDQUNILENBQUMsTUFBTSxDQUFBO0FBQ1YsQ0FBQyxDQUFBO0FBbENZLFFBQUEscUJBQXFCLHlCQWtDakM7QUFFRCxNQUFNLHlCQUF5QixHQUFHLElBQUEsMEJBQVUsRUFDMUMseUJBQXlCLEVBQ3pCLEtBQUssRUFDSCxLQUF5QyxFQUN6QyxFQUFFLFNBQVMsRUFBRSxFQUM4QixFQUFFLENBQzdDLElBQUksNEJBQVksQ0FBQyxNQUFNLElBQUEsNkJBQXFCLEVBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQ2xFLENBQUE7QUFFWSxRQUFBLDZCQUE2QixHQUFHLElBQUEsOEJBQWMsRUFDekQseUJBQXlCLEVBQ3pCLENBQUMsS0FBeUMsRUFBRSxFQUFFLENBQzVDLElBQUksZ0NBQWdCLENBQUMseUJBQXlCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FDekQsQ0FBQSJ9
|
package/.medusa/server/src/workflows/affiliate/create-commission-correction-for-cancellation.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createCommissionCorrectionForCancellationWorkflow = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const resolve_services_1 = require("../../utils/resolve-services");
|
|
6
|
+
const utils_1 = require("./utils");
|
|
7
|
+
const createCorrectionForCancellationStep = (0, workflows_sdk_1.createStep)("create-affiliate-commission-correction-for-cancellation", async (input, { container }) => {
|
|
8
|
+
const affiliateService = (0, resolve_services_1.resolveAffiliateService)(container);
|
|
9
|
+
const order = await (0, utils_1.retrieveOrderForCommission)(input.order_id, container);
|
|
10
|
+
const entries = await affiliateService.createCommissionCorrection({
|
|
11
|
+
order,
|
|
12
|
+
type: "cancellation_correction",
|
|
13
|
+
occurred_at: order.canceled_at ?? new Date(),
|
|
14
|
+
});
|
|
15
|
+
return new workflows_sdk_1.StepResponse(entries);
|
|
16
|
+
});
|
|
17
|
+
exports.createCommissionCorrectionForCancellationWorkflow = (0, workflows_sdk_1.createWorkflow)("create-affiliate-commission-correction-for-cancellation", (input) => {
|
|
18
|
+
const entries = createCorrectionForCancellationStep(input);
|
|
19
|
+
return new workflows_sdk_1.WorkflowResponse(entries);
|
|
20
|
+
});
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWNvbW1pc3Npb24tY29ycmVjdGlvbi1mb3ItY2FuY2VsbGF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9hZmZpbGlhdGUvY3JlYXRlLWNvbW1pc3Npb24tY29ycmVjdGlvbi1mb3ItY2FuY2VsbGF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUswQztBQUUxQyxtRUFBc0U7QUFFdEUsbUNBQW9EO0FBTXBELE1BQU0sbUNBQW1DLEdBQUcsSUFBQSwwQkFBVSxFQUNwRCx5REFBeUQsRUFDekQsS0FBSyxFQUNILEtBQTZELEVBQzdELEVBQUUsU0FBUyxFQUFFLEVBQ2IsRUFBRTtJQUNGLE1BQU0sZ0JBQWdCLEdBQUcsSUFBQSwwQ0FBdUIsRUFBQyxTQUFTLENBQUMsQ0FBQTtJQUMzRCxNQUFNLEtBQUssR0FBRyxNQUFNLElBQUEsa0NBQTBCLEVBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQTtJQUN6RSxNQUFNLE9BQU8sR0FBRyxNQUFNLGdCQUFnQixDQUFDLDBCQUEwQixDQUFDO1FBQ2hFLEtBQUs7UUFDTCxJQUFJLEVBQUUseUJBQXlCO1FBQy9CLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVyxJQUFJLElBQUksSUFBSSxFQUFFO0tBQzdDLENBQUMsQ0FBQTtJQUVGLE9BQU8sSUFBSSw0QkFBWSxDQUF1QixPQUFPLENBQUMsQ0FBQTtBQUN4RCxDQUFDLENBQ0YsQ0FBQTtBQUVZLFFBQUEsaURBQWlELEdBQUcsSUFBQSw4QkFBYyxFQUM3RSx5REFBeUQsRUFDekQsQ0FBQyxLQUE2RCxFQUFFLEVBQUU7SUFDaEUsTUFBTSxPQUFPLEdBQUcsbUNBQW1DLENBQUMsS0FBSyxDQUFDLENBQUE7SUFFMUQsT0FBTyxJQUFJLGdDQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFBO0FBQ3RDLENBQUMsQ0FDRixDQUFBIn0=
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createCommissionCorrectionForRefundWorkflow = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const resolve_services_1 = require("../../utils/resolve-services");
|
|
6
|
+
const utils_1 = require("./utils");
|
|
7
|
+
const createCorrectionForRefundStep = (0, workflows_sdk_1.createStep)("create-affiliate-commission-correction-for-refund", async (input, { container }) => {
|
|
8
|
+
const affiliateService = (0, resolve_services_1.resolveAffiliateService)(container);
|
|
9
|
+
const order = await (0, utils_1.retrieveOrderForCommission)(input.order_id, container);
|
|
10
|
+
const orderReturn = await (0, utils_1.retrieveReturnForCommission)(input.return_id, container);
|
|
11
|
+
const entries = await affiliateService.createCommissionCorrection({
|
|
12
|
+
order,
|
|
13
|
+
type: "refund_correction",
|
|
14
|
+
refund_id: orderReturn.id,
|
|
15
|
+
returned_items: orderReturn.items ?? [],
|
|
16
|
+
occurred_at: orderReturn.received_at ?? orderReturn.updated_at ?? orderReturn.created_at,
|
|
17
|
+
});
|
|
18
|
+
return new workflows_sdk_1.StepResponse(entries);
|
|
19
|
+
});
|
|
20
|
+
exports.createCommissionCorrectionForRefundWorkflow = (0, workflows_sdk_1.createWorkflow)("create-affiliate-commission-correction-for-refund", (input) => {
|
|
21
|
+
const entries = createCorrectionForRefundStep(input);
|
|
22
|
+
return new workflows_sdk_1.WorkflowResponse(entries);
|
|
23
|
+
});
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWNvbW1pc3Npb24tY29ycmVjdGlvbi1mb3ItcmVmdW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9hZmZpbGlhdGUvY3JlYXRlLWNvbW1pc3Npb24tY29ycmVjdGlvbi1mb3ItcmVmdW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUswQztBQUUxQyxtRUFBc0U7QUFFdEUsbUNBR2dCO0FBT2hCLE1BQU0sNkJBQTZCLEdBQUcsSUFBQSwwQkFBVSxFQUM5QyxtREFBbUQsRUFDbkQsS0FBSyxFQUNILEtBQXVELEVBQ3ZELEVBQUUsU0FBUyxFQUFFLEVBQ2IsRUFBRTtJQUNGLE1BQU0sZ0JBQWdCLEdBQUcsSUFBQSwwQ0FBdUIsRUFBQyxTQUFTLENBQUMsQ0FBQTtJQUMzRCxNQUFNLEtBQUssR0FBRyxNQUFNLElBQUEsa0NBQTBCLEVBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQTtJQUN6RSxNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUEsbUNBQTJCLEVBQ25ELEtBQUssQ0FBQyxTQUFTLEVBQ2YsU0FBUyxDQUNWLENBQUE7SUFDRCxNQUFNLE9BQU8sR0FBRyxNQUFNLGdCQUFnQixDQUFDLDBCQUEwQixDQUFDO1FBQ2hFLEtBQUs7UUFDTCxJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLFNBQVMsRUFBRSxXQUFXLENBQUMsRUFBRTtRQUN6QixjQUFjLEVBQUUsV0FBVyxDQUFDLEtBQUssSUFBSSxFQUFFO1FBQ3ZDLFdBQVcsRUFDVCxXQUFXLENBQUMsV0FBVyxJQUFJLFdBQVcsQ0FBQyxVQUFVLElBQUksV0FBVyxDQUFDLFVBQVU7S0FDOUUsQ0FBQyxDQUFBO0lBRUYsT0FBTyxJQUFJLDRCQUFZLENBQXVCLE9BQU8sQ0FBQyxDQUFBO0FBQ3hELENBQUMsQ0FDRixDQUFBO0FBRVksUUFBQSwyQ0FBMkMsR0FBRyxJQUFBLDhCQUFjLEVBQ3ZFLG1EQUFtRCxFQUNuRCxDQUFDLEtBQXVELEVBQUUsRUFBRTtJQUMxRCxNQUFNLE9BQU8sR0FBRyw2QkFBNkIsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUVwRCxPQUFPLElBQUksZ0NBQWdCLENBQUMsT0FBTyxDQUFDLENBQUE7QUFDdEMsQ0FBQyxDQUNGLENBQUEifQ==
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createCommissionForOrderWorkflow = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
const resolve_services_1 = require("../../utils/resolve-services");
|
|
6
|
+
const utils_1 = require("./utils");
|
|
7
|
+
const createCommissionForOrderStep = (0, workflows_sdk_1.createStep)("create-affiliate-commission-for-order", async (input, { container }) => {
|
|
8
|
+
const affiliateService = (0, resolve_services_1.resolveAffiliateService)(container);
|
|
9
|
+
const order = await (0, utils_1.retrieveOrderForCommission)(input.order_id, container);
|
|
10
|
+
const entries = await affiliateService.createCommissionForOrder({ order });
|
|
11
|
+
return new workflows_sdk_1.StepResponse(entries);
|
|
12
|
+
});
|
|
13
|
+
exports.createCommissionForOrderWorkflow = (0, workflows_sdk_1.createWorkflow)("create-affiliate-commission-for-order", (input) => {
|
|
14
|
+
const entries = createCommissionForOrderStep(input);
|
|
15
|
+
return new workflows_sdk_1.WorkflowResponse(entries);
|
|
16
|
+
});
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWNvbW1pc3Npb24tZm9yLW9yZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9hZmZpbGlhdGUvY3JlYXRlLWNvbW1pc3Npb24tZm9yLW9yZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUswQztBQUUxQyxtRUFBc0U7QUFFdEUsbUNBQW9EO0FBTXBELE1BQU0sNEJBQTRCLEdBQUcsSUFBQSwwQkFBVSxFQUM3Qyx1Q0FBdUMsRUFDdkMsS0FBSyxFQUFFLEtBQTRDLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQ3BFLE1BQU0sZ0JBQWdCLEdBQUcsSUFBQSwwQ0FBdUIsRUFBQyxTQUFTLENBQUMsQ0FBQTtJQUMzRCxNQUFNLEtBQUssR0FBRyxNQUFNLElBQUEsa0NBQTBCLEVBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQTtJQUN6RSxNQUFNLE9BQU8sR0FBRyxNQUFNLGdCQUFnQixDQUFDLHdCQUF3QixDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQTtJQUUxRSxPQUFPLElBQUksNEJBQVksQ0FBdUIsT0FBTyxDQUFDLENBQUE7QUFDeEQsQ0FBQyxDQUNGLENBQUE7QUFFWSxRQUFBLGdDQUFnQyxHQUFHLElBQUEsOEJBQWMsRUFDNUQsdUNBQXVDLEVBQ3ZDLENBQUMsS0FBNEMsRUFBRSxFQUFFO0lBQy9DLE1BQU0sT0FBTyxHQUFHLDRCQUE0QixDQUFDLEtBQUssQ0FBQyxDQUFBO0lBRW5ELE9BQU8sSUFBSSxnQ0FBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQTtBQUN0QyxDQUFDLENBQ0YsQ0FBQSJ9
|