@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,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.POST = void 0;
|
|
4
|
+
const affiliate_1 = require("@hartl-services/medusa-food-supplements-contracts/schemas/affiliate");
|
|
5
|
+
const apply_affiliate_coupon_1 = require("../../../../workflows/affiliate/apply-affiliate-coupon");
|
|
6
|
+
const wire_response_1 = require("../../../wire-response");
|
|
7
|
+
const isAlreadyUsedWorkflowError = (error) => {
|
|
8
|
+
if (typeof error === "string") {
|
|
9
|
+
return error === apply_affiliate_coupon_1.AFFILIATE_COUPON_ALREADY_USED_MESSAGE;
|
|
10
|
+
}
|
|
11
|
+
if (typeof error !== "object" || error === null)
|
|
12
|
+
return false;
|
|
13
|
+
const candidate = error;
|
|
14
|
+
if (candidate.message === apply_affiliate_coupon_1.AFFILIATE_COUPON_ALREADY_USED_MESSAGE)
|
|
15
|
+
return true;
|
|
16
|
+
if (isAlreadyUsedWorkflowError(candidate.error))
|
|
17
|
+
return true;
|
|
18
|
+
if (isAlreadyUsedWorkflowError(candidate.cause))
|
|
19
|
+
return true;
|
|
20
|
+
return (Array.isArray(candidate.errors) &&
|
|
21
|
+
candidate.errors.length === 1 &&
|
|
22
|
+
isAlreadyUsedWorkflowError(candidate.errors[0]));
|
|
23
|
+
};
|
|
24
|
+
const POST = async (req, res) => {
|
|
25
|
+
try {
|
|
26
|
+
const { result } = await (0, apply_affiliate_coupon_1.applyAffiliateCouponWorkflow)(req.scope).run({
|
|
27
|
+
input: req.validatedBody,
|
|
28
|
+
});
|
|
29
|
+
res
|
|
30
|
+
.status(result.status === "coupon_already_redeemed" ? 409 : 200)
|
|
31
|
+
.json((0, wire_response_1.toWireResponse)(affiliate_1.ApplyAffiliateCouponResponseSchema, result));
|
|
32
|
+
}
|
|
33
|
+
catch (error) {
|
|
34
|
+
if (isAlreadyUsedWorkflowError(error)) {
|
|
35
|
+
res.status(409).json({
|
|
36
|
+
status: "coupon_already_redeemed",
|
|
37
|
+
referral: null,
|
|
38
|
+
discount_applied: false,
|
|
39
|
+
message: apply_affiliate_coupon_1.AFFILIATE_COUPON_ALREADY_USED_MESSAGE,
|
|
40
|
+
});
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
throw error;
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
exports.POST = POST;
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL2FmZmlsaWF0ZS1yZWZlcnJhbHMvYXBwbHktY291cG9uL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQU1BLG1HQUF3SDtBQUV4SCxtR0FHK0Q7QUFDL0QsMERBQXVEO0FBS3ZELE1BQU0sMEJBQTBCLEdBQUcsQ0FBQyxLQUFjLEVBQVcsRUFBRTtJQUM3RCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzlCLE9BQU8sS0FBSyxLQUFLLDhEQUFxQyxDQUFBO0lBQ3hELENBQUM7SUFDRCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLEtBQUssSUFBSTtRQUFFLE9BQU8sS0FBSyxDQUFBO0lBRTdELE1BQU0sU0FBUyxHQUFHLEtBS2pCLENBQUE7SUFDRCxJQUFJLFNBQVMsQ0FBQyxPQUFPLEtBQUssOERBQXFDO1FBQUUsT0FBTyxJQUFJLENBQUE7SUFDNUUsSUFBSSwwQkFBMEIsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDO1FBQUUsT0FBTyxJQUFJLENBQUE7SUFDNUQsSUFBSSwwQkFBMEIsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDO1FBQUUsT0FBTyxJQUFJLENBQUE7SUFDNUQsT0FBTyxDQUNMLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQztRQUMvQixTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDO1FBQzdCLDBCQUEwQixDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDaEQsQ0FBQTtBQUNILENBQUMsQ0FBQTtBQUVNLE1BQU0sSUFBSSxHQUFHLEtBQUssRUFDdkIsR0FBd0MsRUFDeEMsR0FBaUQsRUFDakQsRUFBRTtJQUNGLElBQUksQ0FBQztRQUNILE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLElBQUEscURBQTRCLEVBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQztZQUNuRSxLQUFLLEVBQUUsR0FBRyxDQUFDLGFBQWE7U0FDekIsQ0FBQyxDQUFBO1FBQ0YsR0FBRzthQUNBLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxLQUFLLHlCQUF5QixDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQzthQUMvRCxJQUFJLENBQUMsSUFBQSw4QkFBYyxFQUFDLDhDQUFrQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUE7SUFDckUsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixJQUFJLDBCQUEwQixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDdEMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7Z0JBQ25CLE1BQU0sRUFBRSx5QkFBeUI7Z0JBQ2pDLFFBQVEsRUFBRSxJQUFJO2dCQUNkLGdCQUFnQixFQUFFLEtBQUs7Z0JBQ3ZCLE9BQU8sRUFBRSw4REFBcUM7YUFDL0MsQ0FBQyxDQUFBO1lBQ0YsT0FBTTtRQUNSLENBQUM7UUFDRCxNQUFNLEtBQUssQ0FBQTtJQUNiLENBQUM7QUFDSCxDQUFDLENBQUE7QUF2QlksUUFBQSxJQUFJLFFBdUJoQiJ9
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.POST = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const affiliate_cart_operation_lock_1 = require("../../../../utils/affiliate-cart-operation-lock");
|
|
6
|
+
const resolve_services_1 = require("../../../../utils/resolve-services");
|
|
7
|
+
const reconcile_affiliate_cart_referral_1 = require("../../../../workflows/affiliate/reconcile-affiliate-cart-referral");
|
|
8
|
+
const payment_authorization_1 = require("../../../../workflows/affiliate/payment-authorization");
|
|
9
|
+
const affiliate_referral_cookie_1 = require("../../../affiliate-referral-cookie");
|
|
10
|
+
const toWireDate = (value) => value instanceof Date ? value.toISOString() : value;
|
|
11
|
+
const POST = async (req, res) => {
|
|
12
|
+
const affiliateService = (0, resolve_services_1.resolveAffiliateService)(req.scope);
|
|
13
|
+
const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
14
|
+
const existingRawToken = (0, affiliate_referral_cookie_1.readAffiliateReferralCookie)(req.headers.cookie);
|
|
15
|
+
const capture = async () => {
|
|
16
|
+
if (req.validatedBody.cart_id) {
|
|
17
|
+
const { data } = await query.graph({
|
|
18
|
+
entity: "cart",
|
|
19
|
+
fields: [
|
|
20
|
+
"id",
|
|
21
|
+
"payment_collection.status",
|
|
22
|
+
"payment_collection.payment_sessions.status"
|
|
23
|
+
],
|
|
24
|
+
filters: { id: req.validatedBody.cart_id }
|
|
25
|
+
}, { cache: { enable: false } });
|
|
26
|
+
const cart = data[0];
|
|
27
|
+
if (cart) {
|
|
28
|
+
(0, payment_authorization_1.assertPaymentAuthorizationNotStarted)(cart.payment_collection);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
const result = await affiliateService.captureReferralLink({
|
|
32
|
+
slug: req.validatedBody.slug,
|
|
33
|
+
cart_id: req.validatedBody.cart_id,
|
|
34
|
+
existing_raw_token: existingRawToken
|
|
35
|
+
}, query);
|
|
36
|
+
if (req.validatedBody.cart_id &&
|
|
37
|
+
(result.status === "captured" || result.status === "replaced")) {
|
|
38
|
+
await (0, reconcile_affiliate_cart_referral_1.reconcileAffiliateCartReferralWorkflow)(req.scope).run({
|
|
39
|
+
input: { cart_id: req.validatedBody.cart_id }
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
const publicReferral = req.validatedBody.cart_id
|
|
43
|
+
? await affiliateService.getCartReferralStatus(req.validatedBody.cart_id, query)
|
|
44
|
+
: null;
|
|
45
|
+
return { result, publicReferral };
|
|
46
|
+
};
|
|
47
|
+
const { result, publicReferral } = req.validatedBody.cart_id
|
|
48
|
+
? await (0, affiliate_cart_operation_lock_1.withAffiliateCartOperationLock)(req.scope, req.validatedBody.cart_id, capture)
|
|
49
|
+
: await capture();
|
|
50
|
+
if (result.raw_token) {
|
|
51
|
+
res.setHeader("Set-Cookie", (0, affiliate_referral_cookie_1.buildAffiliateReferralCookie)({
|
|
52
|
+
token: result.raw_token,
|
|
53
|
+
maxAgeSeconds: result.max_age_seconds,
|
|
54
|
+
secure: process.env.NODE_ENV === "production"
|
|
55
|
+
}));
|
|
56
|
+
}
|
|
57
|
+
else if (req.validatedBody.cart_id && existingRawToken) {
|
|
58
|
+
res.setHeader("Set-Cookie", (0, affiliate_referral_cookie_1.buildClearedAffiliateReferralCookie)({
|
|
59
|
+
secure: process.env.NODE_ENV === "production"
|
|
60
|
+
}));
|
|
61
|
+
}
|
|
62
|
+
res
|
|
63
|
+
.status(result.status === "captured" || result.status === "replaced" ? 201 : 200)
|
|
64
|
+
.json({
|
|
65
|
+
status: result.status === "expired" ? "kept_existing" : result.status,
|
|
66
|
+
referral: publicReferral
|
|
67
|
+
? {
|
|
68
|
+
...publicReferral,
|
|
69
|
+
captured_at: toWireDate(publicReferral.captured_at),
|
|
70
|
+
expires_at: toWireDate(publicReferral.expires_at)
|
|
71
|
+
}
|
|
72
|
+
: null
|
|
73
|
+
});
|
|
74
|
+
};
|
|
75
|
+
exports.POST = POST;
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL2FmZmlsaWF0ZS1yZWZlcnJhbHMvY2FwdHVyZS9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFLQSxxREFBcUU7QUFHckUsbUdBQWdHO0FBQ2hHLHlFQUE0RTtBQUM1RSx5SEFBMEg7QUFDMUgsaUdBRzhEO0FBQzlELGtGQUkyQztBQVMzQyxNQUFNLFVBQVUsR0FBRyxDQUFDLEtBQW9CLEVBQVUsRUFBRSxDQUNsRCxLQUFLLFlBQVksSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQTtBQUU5QyxNQUFNLElBQUksR0FBRyxLQUFLLEVBQ3ZCLEdBQTRDLEVBQzVDLEdBQXFELEVBQ3JELEVBQUU7SUFDRixNQUFNLGdCQUFnQixHQUFHLElBQUEsMENBQXVCLEVBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQzNELE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ2hFLE1BQU0sZ0JBQWdCLEdBQUcsSUFBQSx1REFBMkIsRUFBQyxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQ3hFLE1BQU0sT0FBTyxHQUFHLEtBQUssSUFBSSxFQUFFO1FBQ3pCLElBQUksR0FBRyxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUM5QixNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUNoQztnQkFDRSxNQUFNLEVBQUUsTUFBTTtnQkFDZCxNQUFNLEVBQUU7b0JBQ04sSUFBSTtvQkFDSiwyQkFBMkI7b0JBQzNCLDRDQUE0QztpQkFDN0M7Z0JBQ0QsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsQ0FBQyxh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
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GET = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const resolve_services_1 = require("../../../../../utils/resolve-services");
|
|
6
|
+
const toWireDate = (value) => value instanceof Date ? value.toISOString() : value;
|
|
7
|
+
const GET = async (req, res) => {
|
|
8
|
+
const referral = await (0, resolve_services_1.resolveAffiliateService)(req.scope).getCartReferralStatus(req.params.cart_id, req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY));
|
|
9
|
+
res.json({
|
|
10
|
+
referral: referral
|
|
11
|
+
? {
|
|
12
|
+
...referral,
|
|
13
|
+
captured_at: toWireDate(referral.captured_at),
|
|
14
|
+
expires_at: toWireDate(referral.expires_at),
|
|
15
|
+
}
|
|
16
|
+
: null,
|
|
17
|
+
});
|
|
18
|
+
};
|
|
19
|
+
exports.GET = GET;
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL2FmZmlsaWF0ZS1yZWZlcnJhbHMvY2FydHMvW2NhcnRfaWRdL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUlBLHFEQUFxRTtBQUdyRSw0RUFBK0U7QUFFL0UsTUFBTSxVQUFVLEdBQUcsQ0FBQyxLQUFvQixFQUFVLEVBQUUsQ0FDbEQsS0FBSyxZQUFZLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUE7QUFFOUMsTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUN0QixHQUF1QixFQUN2QixHQUFxRCxFQUNyRCxFQUFFO0lBQ0YsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFBLDBDQUF1QixFQUM1QyxHQUFHLENBQUMsS0FBSyxDQUNWLENBQUMscUJBQXFCLENBQ3JCLEdBQUcsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUNsQixHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FDbkQsQ0FBQTtJQUVELEdBQUcsQ0FBQyxJQUFJLENBQUM7UUFDUCxRQUFRLEVBQUUsUUFBUTtZQUNoQixDQUFDLENBQUM7Z0JBQ0UsR0FBRyxRQUFRO2dCQUNYLFdBQVcsRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQztnQkFDN0MsVUFBVSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDO2FBQzVDO1lBQ0gsQ0FBQyxDQUFDLElBQUk7S0FDVCxDQUFDLENBQUE7QUFDSixDQUFDLENBQUE7QUFwQlksUUFBQSxHQUFHLE9Bb0JmIn0=
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GET = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const resolve_services_1 = require("../../../../utils/resolve-services");
|
|
6
|
+
const resolveOptionalBatchService = (req) => {
|
|
7
|
+
try {
|
|
8
|
+
return req.scope.resolve("batch_management");
|
|
9
|
+
}
|
|
10
|
+
catch (error) {
|
|
11
|
+
if (error instanceof Error &&
|
|
12
|
+
error.message.includes("Missing registration")) {
|
|
13
|
+
return null;
|
|
14
|
+
}
|
|
15
|
+
throw error;
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
const GET = async (req, res) => {
|
|
19
|
+
const affiliateService = (0, resolve_services_1.resolveAffiliateService)(req.scope);
|
|
20
|
+
const affiliate = await affiliateService.findActiveAffiliateByCustomerId(req.auth_context.actor_id);
|
|
21
|
+
if (!affiliate) {
|
|
22
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_ALLOWED, "Nur aktive Affiliates dürfen ihr Kommissionslager sehen.");
|
|
23
|
+
}
|
|
24
|
+
const settings = await affiliateService.getAffiliateDistributionSettings(affiliate.id);
|
|
25
|
+
if (!settings?.enabled) {
|
|
26
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_ALLOWED, "Der Kommissionsvertrieb ist für diesen Affiliate nicht aktiviert.");
|
|
27
|
+
}
|
|
28
|
+
const batchService = resolveOptionalBatchService(req);
|
|
29
|
+
let inventory;
|
|
30
|
+
if (batchService) {
|
|
31
|
+
const batches = await batchService.listBatches({ location_id: settings.stock_location_id }, {});
|
|
32
|
+
inventory = batches.map((batch) => ({
|
|
33
|
+
inventory_item_id: batch.inventory_item_id,
|
|
34
|
+
batch_id: batch.id,
|
|
35
|
+
expected_quantity: Number(batch.quantity),
|
|
36
|
+
}));
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
const levels = (await req.scope.resolve(utils_1.Modules.INVENTORY).listInventoryLevels({
|
|
40
|
+
location_id: settings.stock_location_id,
|
|
41
|
+
}));
|
|
42
|
+
inventory = levels.map((level) => ({
|
|
43
|
+
inventory_item_id: level.inventory_item_id,
|
|
44
|
+
batch_id: null,
|
|
45
|
+
expected_quantity: Number(level.stocked_quantity),
|
|
46
|
+
}));
|
|
47
|
+
}
|
|
48
|
+
const now = new Date();
|
|
49
|
+
const periodStart = `${now.getUTCFullYear()}-${String(now.getUTCMonth() + 1).padStart(2, "0")}-01`;
|
|
50
|
+
res.json({ period_start: periodStart, inventory });
|
|
51
|
+
};
|
|
52
|
+
exports.GET = GET;
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL2FmZmlsaWF0ZXMvY29uc2lnbm1lbnQtaW52ZW50b3J5L3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUtBLHFEQUFnRTtBQUdoRSx5RUFBNEU7QUFvQjVFLE1BQU0sMkJBQTJCLEdBQUcsQ0FDbEMsR0FBK0IsRUFDRixFQUFFO0lBQy9CLElBQUksQ0FBQztRQUNILE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQXlCLENBQUE7SUFDdEUsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixJQUNFLEtBQUssWUFBWSxLQUFLO1lBQ3RCLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLHNCQUFzQixDQUFDLEVBQzlDLENBQUM7WUFDRCxPQUFPLElBQUksQ0FBQTtRQUNiLENBQUM7UUFDRCxNQUFNLEtBQUssQ0FBQTtJQUNiLENBQUM7QUFDSCxDQUFDLENBQUE7QUFFTSxNQUFNLEdBQUcsR0FBRyxLQUFLLEVBQ3RCLEdBQStCLEVBQy9CLEdBQW9ELEVBQ3BELEVBQUU7SUFDRixNQUFNLGdCQUFnQixHQUFHLElBQUEsMENBQXVCLEVBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQzNELE1BQU0sU0FBUyxHQUFHLE1BQU0sZ0JBQWdCLENBQUMsK0JBQStCLENBQ3RFLEdBQUcsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUMxQixDQUFBO0lBQ0QsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2YsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFDN0IsMERBQTBELENBQzNELENBQUE7SUFDSCxDQUFDO0lBQ0QsTUFBTSxRQUFRLEdBQUcsTUFBTSxnQkFBZ0IsQ0FBQyxnQ0FBZ0MsQ0FDdEUsU0FBUyxDQUFDLEVBQUUsQ0FDYixDQUFBO0lBQ0QsSUFBSSxDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsQ0FBQztRQUN2QixNQUFNLElBQUksbUJBQVcsQ0FDbkIsbUJBQVcsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUM3QixtRUFBbUUsQ0FDcEUsQ0FBQTtJQUNILENBQUM7SUFFRCxNQUFNLFlBQVksR0FBRywyQkFBMkIsQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUNyRCxJQUFJLFNBQXVELENBQUE7SUFDM0QsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNqQixNQUFNLE9BQU8sR0FBRyxNQUFNLFlBQVksQ0FBQyxXQUFXLENBQzVDLEVBQUUsV0FBVyxFQUFFLFFBQVEsQ0FBQyxpQkFBaUIsRUFBRSxFQUMzQyxFQUFFLENBQ0gsQ0FBQTtRQUNELFNBQVMsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ2xDLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxpQkFBaUI7WUFDMUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxFQUFFO1lBQ2xCLGlCQUFpQixFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDO1NBQzFDLENBQUMsQ0FBQyxDQUFBO0lBQ0wsQ0FBQztTQUFNLENBQUM7UUFDTixNQUFNLE1BQU0sR0FBRyxDQUFDLE1BQ2QsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsZUFBTyxDQUFDLFNBQVMsQ0FDcEMsQ0FBQyxtQkFBbUIsQ0FBQztZQUNwQixXQUFXLEVBQUUsUUFBUSxDQUFDLGlCQUFpQjtTQUN4QyxDQUFDLENBQXNDLENBQUE7UUFDeEMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDakMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLGlCQUFpQjtZQUMxQyxRQUFRLEVBQUUsSUFBSTtZQUNkLGlCQUFpQixFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUM7U0FDbEQsQ0FBQyxDQUFDLENBQUE7SUFDTCxDQUFDO0lBRUQsTUFBTSxHQUFHLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQTtJQUN0QixNQUFNLFdBQVcsR0FBRyxHQUFHLEdBQUcsQ0FBQyxjQUFjLEVBQUUsSUFBSSxNQUFNLENBQ25ELEdBQUcsQ0FBQyxXQUFXLEVBQUUsR0FBRyxDQUFDLENBQ3RCLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFBO0lBQ3ZCLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUE7QUFDcEQsQ0FBQyxDQUFBO0FBdERZLFFBQUEsR0FBRyxPQXNEZiJ9
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.toStoreConsignmentReport = void 0;
|
|
4
|
+
const toWireDate = (value) => value ? new Date(value).toISOString() : null;
|
|
5
|
+
const toCalendarDate = (value) => new Date(value).toISOString().slice(0, 10);
|
|
6
|
+
const toStoreConsignmentReport = (report) => ({
|
|
7
|
+
id: report.id,
|
|
8
|
+
affiliate_id: report.affiliate_id,
|
|
9
|
+
period_start: toCalendarDate(report.period_start),
|
|
10
|
+
period_end: toCalendarDate(report.period_end),
|
|
11
|
+
status: report.status,
|
|
12
|
+
draft_order_id: report.draft_order_id ?? null,
|
|
13
|
+
order_id: report.order_id ?? null,
|
|
14
|
+
submitted_at: toWireDate(report.submitted_at),
|
|
15
|
+
lines: report.lines.map((line) => ({
|
|
16
|
+
id: line.id,
|
|
17
|
+
inventory_item_id: line.inventory_item_id,
|
|
18
|
+
batch_id: line.batch_id,
|
|
19
|
+
expected_quantity: line.expected_quantity,
|
|
20
|
+
counted_quantity: line.counted_quantity,
|
|
21
|
+
proposed_sale_quantity: line.proposed_sale_quantity,
|
|
22
|
+
confirmed_sale_quantity: line.confirmed_sale_quantity,
|
|
23
|
+
requires_admin_clarification: line.requires_admin_clarification,
|
|
24
|
+
non_sale_reason: line.non_sale_reason,
|
|
25
|
+
resolved_unit_price: line.resolved_unit_price ?? null,
|
|
26
|
+
discounted_line_total: line.discounted_line_total ?? null,
|
|
27
|
+
currency_code: line.currency_code ?? null,
|
|
28
|
+
})),
|
|
29
|
+
});
|
|
30
|
+
exports.toStoreConsignmentReport = toStoreConsignmentReport;
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc2lnbm1lbnQtcmVwb3J0LXJlc3BvbnNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwaS9zdG9yZS9hZmZpbGlhdGVzL2NvbnNpZ25tZW50LXJlcG9ydC1yZXNwb25zZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFHQSxNQUFNLFVBQVUsR0FBRyxDQUFDLEtBQXVDLEVBQWlCLEVBQUUsQ0FDNUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFBO0FBRTlDLE1BQU0sY0FBYyxHQUFHLENBQUMsS0FBb0IsRUFBVSxFQUFFLENBQ3RELElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUE7QUFFckMsTUFBTSx3QkFBd0IsR0FBRyxDQUN0QyxNQUE0QixFQUNKLEVBQUUsQ0FBQyxDQUFDO0lBQzVCLEVBQUUsRUFBRSxNQUFNLENBQUMsRUFBRTtJQUNiLFlBQVksRUFBRSxNQUFNLENBQUMsWUFBWTtJQUNqQyxZQUFZLEVBQUUsY0FBYyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUM7SUFDakQsVUFBVSxFQUFFLGNBQWMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDO0lBQzdDLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTTtJQUNyQixjQUFjLEVBQUUsTUFBTSxDQUFDLGNBQWMsSUFBSSxJQUFJO0lBQzdDLFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUSxJQUFJLElBQUk7SUFDakMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDO0lBQzdDLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqQyxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUU7UUFDWCxpQkFBaUIsRUFBRSxJQUFJLENBQUMsaUJBQWlCO1FBQ3pDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtRQUN2QixpQkFBaUIsRUFBRSxJQUFJLENBQUMsaUJBQWlCO1FBQ3pDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxnQkFBZ0I7UUFDdkMsc0JBQXNCLEVBQUUsSUFBSSxDQUFDLHNCQUFzQjtRQUNuRCx1QkFBdUIsRUFBRSxJQUFJLENBQUMsdUJBQXVCO1FBQ3JELDRCQUE0QixFQUFFLElBQUksQ0FBQyw0QkFBNEI7UUFDL0QsZUFBZSxFQUFFLElBQUksQ0FBQyxlQUFlO1FBQ3JDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxtQkFBbUIsSUFBSSxJQUFJO1FBQ3JELHFCQUFxQixFQUFFLElBQUksQ0FBQyxxQkFBcUIsSUFBSSxJQUFJO1FBQ3pELGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYSxJQUFJLElBQUk7S0FDMUMsQ0FBQyxDQUFDO0NBQ0osQ0FBQyxDQUFBO0FBekJXLFFBQUEsd0JBQXdCLDRCQXlCbkMifQ==
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.POST = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const resolve_services_1 = require("../../../../../../utils/resolve-services");
|
|
6
|
+
const submit_consignment_report_1 = require("../../../../../../workflows/affiliate/submit-consignment-report");
|
|
7
|
+
const consignment_report_response_1 = require("../../../consignment-report-response");
|
|
8
|
+
const POST = async (req, res) => {
|
|
9
|
+
const affiliateService = (0, resolve_services_1.resolveAffiliateService)(req.scope);
|
|
10
|
+
const affiliate = await affiliateService.findActiveAffiliateByCustomerId(req.auth_context.actor_id);
|
|
11
|
+
if (!affiliate) {
|
|
12
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.FORBIDDEN, "Nur aktive Affiliates dürfen Monatsmeldungen einreichen.");
|
|
13
|
+
}
|
|
14
|
+
const report = await affiliateService.retrieveConsignmentReportRecord(req.params.id);
|
|
15
|
+
if (report.affiliate_id !== affiliate.id) {
|
|
16
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_ALLOWED, "Diese Monatsmeldung gehört zu einem anderen Affiliate.");
|
|
17
|
+
}
|
|
18
|
+
const { result } = await (0, submit_consignment_report_1.submitConsignmentReportWorkflow)(req.scope).run({
|
|
19
|
+
input: {
|
|
20
|
+
affiliate_id: affiliate.id,
|
|
21
|
+
period_start: new Date(report.period_start)
|
|
22
|
+
.toISOString()
|
|
23
|
+
.slice(0, 10),
|
|
24
|
+
submission_idempotency_key: report.submission_idempotency_key ??
|
|
25
|
+
req.validatedBody.submission_idempotency_key,
|
|
26
|
+
counted_batches: req.validatedBody.counted_batches.map((line) => ({
|
|
27
|
+
...line,
|
|
28
|
+
batch_id: line.batch_id ?? null,
|
|
29
|
+
})),
|
|
30
|
+
},
|
|
31
|
+
});
|
|
32
|
+
res.json({
|
|
33
|
+
report: (0, consignment_report_response_1.toStoreConsignmentReport)(result.report),
|
|
34
|
+
draft_order: result.draft_order
|
|
35
|
+
? { id: result.draft_order.id }
|
|
36
|
+
: null,
|
|
37
|
+
});
|
|
38
|
+
};
|
|
39
|
+
exports.POST = POST;
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL2FmZmlsaWF0ZXMvY29uc2lnbm1lbnQtcmVwb3J0cy9baWRdL3N1Ym1pdC9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFJQSxxREFBdUQ7QUFLdkQsK0VBQWtGO0FBQ2xGLCtHQUFpSDtBQUNqSCxzRkFBK0U7QUFNeEUsTUFBTSxJQUFJLEdBQUcsS0FBSyxFQUN2QixHQUFtRCxFQUNuRCxHQUFvRCxFQUNwRCxFQUFFO0lBQ0YsTUFBTSxnQkFBZ0IsR0FBRyxJQUFBLDBDQUF1QixFQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUMzRCxNQUFNLFNBQVMsR0FBRyxNQUFNLGdCQUFnQixDQUFDLCtCQUErQixDQUN0RSxHQUFHLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FDMUIsQ0FBQTtJQUNELElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNmLE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQzNCLDBEQUEwRCxDQUMzRCxDQUFBO0lBQ0gsQ0FBQztJQUNELE1BQU0sTUFBTSxHQUFHLE1BQU0sZ0JBQWdCLENBQUMsK0JBQStCLENBQ25FLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUNkLENBQUE7SUFDRCxJQUFJLE1BQU0sQ0FBQyxZQUFZLEtBQUssU0FBUyxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ3pDLE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQzdCLHdEQUF3RCxDQUN6RCxDQUFBO0lBQ0gsQ0FBQztJQUNELE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLElBQUEsMkRBQStCLEVBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUN0RSxLQUFLLEVBQUU7WUFDTCxZQUFZLEVBQUUsU0FBUyxDQUFDLEVBQUU7WUFDMUIsWUFBWSxFQUFFLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUM7aUJBQ3hDLFdBQVcsRUFBRTtpQkFDYixLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNmLDBCQUEwQixFQUN4QixNQUFNLENBQUMsMEJBQTBCO2dCQUNqQyxHQUFHLENBQUMsYUFBYSxDQUFDLDBCQUEwQjtZQUM5QyxlQUFlLEVBQUUsR0FBRyxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUNoRSxHQUFHLElBQUk7Z0JBQ1AsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSTthQUNoQyxDQUFDLENBQUM7U0FDSjtLQUNGLENBQUMsQ0FBQTtJQUNGLEdBQUcsQ0FBQyxJQUFJLENBQUM7UUFDUCxNQUFNLEVBQUUsSUFBQSxzREFBd0IsRUFBQyxNQUFNLENBQUMsTUFBTSxDQUFDO1FBQy9DLFdBQVcsRUFBRSxNQUFNLENBQUMsV0FBVztZQUM3QixDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLEVBQUU7WUFDL0IsQ0FBQyxDQUFDLElBQUk7S0FDVCxDQUFDLENBQUE7QUFDSixDQUFDLENBQUE7QUE1Q1ksUUFBQSxJQUFJLFFBNENoQiJ9
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.POST = exports.GET = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const resolve_services_1 = require("../../../../utils/resolve-services");
|
|
6
|
+
const submit_consignment_report_1 = require("../../../../workflows/affiliate/submit-consignment-report");
|
|
7
|
+
const consignment_report_response_1 = require("../consignment-report-response");
|
|
8
|
+
const resolveActorAffiliate = async (req) => {
|
|
9
|
+
const customerId = req.auth_context.actor_id;
|
|
10
|
+
const affiliate = await (0, resolve_services_1.resolveAffiliateService)(req.scope).findActiveAffiliateByCustomerId(customerId);
|
|
11
|
+
if (!affiliate) {
|
|
12
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_ALLOWED, "Nur aktive Affiliates dürfen auf Monatsmeldungen zugreifen.");
|
|
13
|
+
}
|
|
14
|
+
return affiliate;
|
|
15
|
+
};
|
|
16
|
+
const GET = async (req, res) => {
|
|
17
|
+
const affiliate = await resolveActorAffiliate(req);
|
|
18
|
+
const reports = await (0, resolve_services_1.resolveAffiliateService)(req.scope).listConsignmentReportRecords(affiliate.id);
|
|
19
|
+
res.json({ reports: reports.map(consignment_report_response_1.toStoreConsignmentReport) });
|
|
20
|
+
};
|
|
21
|
+
exports.GET = GET;
|
|
22
|
+
const POST = async (req, res) => {
|
|
23
|
+
const affiliate = await resolveActorAffiliate(req);
|
|
24
|
+
const input = {
|
|
25
|
+
...req.validatedBody,
|
|
26
|
+
affiliate_id: affiliate.id,
|
|
27
|
+
counted_batches: req.validatedBody.counted_batches.map((line) => ({
|
|
28
|
+
...line,
|
|
29
|
+
batch_id: line.batch_id ?? null,
|
|
30
|
+
})),
|
|
31
|
+
};
|
|
32
|
+
const { result } = await (0, submit_consignment_report_1.submitConsignmentReportWorkflow)(req.scope).run({
|
|
33
|
+
input,
|
|
34
|
+
});
|
|
35
|
+
res.status(201).json({
|
|
36
|
+
report: (0, consignment_report_response_1.toStoreConsignmentReport)(result.report),
|
|
37
|
+
draft_order: result.draft_order
|
|
38
|
+
? { id: result.draft_order.id }
|
|
39
|
+
: null,
|
|
40
|
+
});
|
|
41
|
+
};
|
|
42
|
+
exports.POST = POST;
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL2FmZmlsaWF0ZXMvY29uc2lnbm1lbnQtcmVwb3J0cy9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFJQSxxREFBdUQ7QUFRdkQseUVBQTRFO0FBQzVFLHlHQUEyRztBQUMzRyxnRkFBeUU7QUFPekUsTUFBTSxxQkFBcUIsR0FBRyxLQUFLLEVBQ2pDLEdBQStCLEVBQy9CLEVBQUU7SUFDRixNQUFNLFVBQVUsR0FBRyxHQUFHLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQTtJQUM1QyxNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUEsMENBQXVCLEVBQzdDLEdBQUcsQ0FBQyxLQUFLLENBQ1YsQ0FBQywrQkFBK0IsQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUM3QyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDZixNQUFNLElBQUksbUJBQVcsQ0FDbkIsbUJBQVcsQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUM3Qiw2REFBNkQsQ0FDOUQsQ0FBQTtJQUNILENBQUM7SUFDRCxPQUFPLFNBQVMsQ0FBQTtBQUNsQixDQUFDLENBQUE7QUFFTSxNQUFNLEdBQUcsR0FBRyxLQUFLLEVBQ3RCLEdBQStCLEVBQy9CLEdBQW1ELEVBQ25ELEVBQUU7SUFDRixNQUFNLFNBQVMsR0FBRyxNQUFNLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ2xELE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBQSwwQ0FBdUIsRUFDM0MsR0FBRyxDQUFDLEtBQUssQ0FDVixDQUFDLDRCQUE0QixDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUM1QyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsc0RBQXdCLENBQUMsRUFBRSxDQUFDLENBQUE7QUFDOUQsQ0FBQyxDQUFBO0FBVFksUUFBQSxHQUFHLE9BU2Y7QUFFTSxNQUFNLElBQUksR0FBRyxLQUFLLEVBQ3ZCLEdBQTRELEVBQzVELEdBQW9ELEVBQ3BELEVBQUU7SUFDRixNQUFNLFNBQVMsR0FBRyxNQUFNLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ2xELE1BQU0sS0FBSyxHQUFpQztRQUMxQyxHQUFHLEdBQUcsQ0FBQyxhQUFhO1FBQ3BCLFlBQVksRUFBRSxTQUFTLENBQUMsRUFBRTtRQUMxQixlQUFlLEVBQUUsR0FBRyxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ2hFLEdBQUcsSUFBSTtZQUNQLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUk7U0FDaEMsQ0FBQyxDQUFDO0tBQ0osQ0FBQTtJQUNELE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLElBQUEsMkRBQStCLEVBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUN0RSxLQUFLO0tBQ04sQ0FBQyxDQUFBO0lBQ0YsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDbkIsTUFBTSxFQUFFLElBQUEsc0RBQXdCLEVBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztRQUMvQyxXQUFXLEVBQUUsTUFBTSxDQUFDLFdBQVc7WUFDN0IsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFBRSxFQUFFO1lBQy9CLENBQUMsQ0FBQyxJQUFJO0tBQ1QsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUFBO0FBdEJZLFFBQUEsSUFBSSxRQXNCaEIifQ==
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.POST = void 0;
|
|
4
|
+
const affiliate_1 = require("@hartl-services/medusa-food-supplements-contracts/schemas/affiliate");
|
|
5
|
+
const resolve_services_1 = require("../../../../utils/resolve-services");
|
|
6
|
+
const resolve_coupon_labels_1 = require("../../../../workflows/affiliate/resolve-coupon-labels");
|
|
7
|
+
const wire_response_1 = require("../../../wire-response");
|
|
8
|
+
const POST = async (req, res) => {
|
|
9
|
+
const affiliateService = (0, resolve_services_1.resolveAffiliateService)(req.scope);
|
|
10
|
+
const labels = await (0, resolve_coupon_labels_1.resolveAffiliateCouponLabels)(affiliateService, req.validatedBody.codes);
|
|
11
|
+
res.json((0, wire_response_1.toWireResponse)(affiliate_1.AffiliateCouponLabelsResponseSchema, { labels }));
|
|
12
|
+
};
|
|
13
|
+
exports.POST = POST;
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL2FmZmlsaWF0ZXMvY291cG9uLWxhYmVscy9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFHQSxtR0FBeUg7QUFFekgseUVBQTRFO0FBQzVFLGlHQUFvRztBQUNwRywwREFBdUQ7QUFPaEQsTUFBTSxJQUFJLEdBQUcsS0FBSyxFQUN2QixHQUFnRCxFQUNoRCxHQUFrRCxFQUNsRCxFQUFFO0lBQ0YsTUFBTSxnQkFBZ0IsR0FBRyxJQUFBLDBDQUF1QixFQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUMzRCxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUEsb0RBQTRCLEVBQy9DLGdCQUFnQixFQUNoQixHQUFHLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FDeEIsQ0FBQTtJQUVELEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBQSw4QkFBYyxFQUFDLCtDQUFtQyxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFBO0FBQzNFLENBQUMsQ0FBQTtBQVhZLFFBQUEsSUFBSSxRQVdoQiJ9
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GET = void 0;
|
|
4
|
+
const resolve_services_1 = require("../../../../../utils/resolve-services");
|
|
5
|
+
const toWireDate = (value) => value instanceof Date ? value.toISOString() : value;
|
|
6
|
+
const toStoreCommission = (entry) => ({
|
|
7
|
+
id: entry.id,
|
|
8
|
+
type: entry.type,
|
|
9
|
+
occurred_at: toWireDate(entry.occurred_at),
|
|
10
|
+
order_id: entry.order_id ?? null,
|
|
11
|
+
base_amount_net: entry.base_amount_net,
|
|
12
|
+
commission_amount: entry.commission_amount,
|
|
13
|
+
currency_code: entry.currency_code,
|
|
14
|
+
});
|
|
15
|
+
const GET = async (req, res) => {
|
|
16
|
+
const query = req.validatedQuery;
|
|
17
|
+
const page = await (0, resolve_services_1.resolveAffiliateService)(req.scope).getPartnerPortalCommissions({
|
|
18
|
+
customer_id: req.auth_context.actor_id,
|
|
19
|
+
from: query.from,
|
|
20
|
+
to: query.to,
|
|
21
|
+
limit: query.limit,
|
|
22
|
+
offset: query.offset,
|
|
23
|
+
});
|
|
24
|
+
res.json({
|
|
25
|
+
from: query.from,
|
|
26
|
+
to: query.to,
|
|
27
|
+
count: page.count,
|
|
28
|
+
limit: query.limit,
|
|
29
|
+
offset: query.offset,
|
|
30
|
+
totals: page.totals,
|
|
31
|
+
commissions: page.entries.map(toStoreCommission),
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
exports.GET = GET;
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL2FmZmlsaWF0ZXMvbWUvY29tbWlzc2lvbnMvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBV0EsNEVBQStFO0FBRy9FLE1BQU0sVUFBVSxHQUFHLENBQUMsS0FBb0IsRUFBVSxFQUFFLENBQ2xELEtBQUssWUFBWSxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFBO0FBRXJELE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxLQVExQixFQUFrQyxFQUFFLENBQUMsQ0FBQztJQUNyQyxFQUFFLEVBQUUsS0FBSyxDQUFDLEVBQUU7SUFDWixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7SUFDaEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDO0lBQzFDLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUSxJQUFJLElBQUk7SUFDaEMsZUFBZSxFQUFFLEtBQUssQ0FBQyxlQUFlO0lBQ3RDLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxpQkFBaUI7SUFDMUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxhQUFhO0NBQ25DLENBQUMsQ0FBQTtBQUlLLE1BQU0sR0FBRyxHQUFHLEtBQUssRUFDdEIsR0FBd0QsRUFDeEQsR0FBMEQsRUFDM0MsRUFBRTtJQUNqQixNQUFNLEtBQUssR0FBa0MsR0FBRyxDQUFDLGNBQWMsQ0FBQTtJQUMvRCxNQUFNLElBQUksR0FBRyxNQUFNLElBQUEsMENBQXVCLEVBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLDJCQUEyQixDQUFDO1FBQ2hGLFdBQVcsRUFBRSxHQUFHLENBQUMsWUFBWSxDQUFDLFFBQVE7UUFDdEMsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO1FBQ2hCLEVBQUUsRUFBRSxLQUFLLENBQUMsRUFBRTtRQUNaLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztRQUNsQixNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU07S0FDckIsQ0FBQyxDQUFBO0lBRUYsR0FBRyxDQUFDLElBQUksQ0FBQztRQUNQLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtRQUNoQixFQUFFLEVBQUUsS0FBSyxDQUFDLEVBQUU7UUFDWixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7UUFDakIsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO1FBQ2xCLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTTtRQUNwQixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07UUFDbkIsV0FBVyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDO0tBQ2pELENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FBQTtBQXRCWSxRQUFBLEdBQUcsT0FzQmYifQ==
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.POST = void 0;
|
|
4
|
+
const affiliate_1 = require("@hartl-services/medusa-food-supplements-contracts/schemas/affiliate");
|
|
5
|
+
const resolve_services_1 = require("../../../../../../../utils/resolve-services");
|
|
6
|
+
const revoke_affiliate_coupon_1 = require("../../../../../../../workflows/affiliate/revoke-affiliate-coupon");
|
|
7
|
+
const affiliate_coupon_http_1 = require("../../../../../../affiliate-coupon-http");
|
|
8
|
+
const wire_response_1 = require("../../../../../../wire-response");
|
|
9
|
+
const POST = async (req, res) => {
|
|
10
|
+
const affiliateService = (0, resolve_services_1.resolveAffiliateService)(req.scope);
|
|
11
|
+
const affiliate = await (0, affiliate_coupon_http_1.requireStoreCouponAffiliate)(affiliateService, req.auth_context.actor_id, true);
|
|
12
|
+
try {
|
|
13
|
+
const { result: couponCode } = await (0, revoke_affiliate_coupon_1.revokeAffiliateCouponWorkflow)(req.scope).run({
|
|
14
|
+
input: {
|
|
15
|
+
affiliate_id: affiliate.id,
|
|
16
|
+
coupon_id: req.params.coupon_id,
|
|
17
|
+
revoked_by_type: "affiliate",
|
|
18
|
+
revoked_by_id: req.auth_context.actor_id,
|
|
19
|
+
},
|
|
20
|
+
});
|
|
21
|
+
res.json((0, wire_response_1.toWireResponse)(affiliate_1.StoreAffiliateCouponCodeResponseSchema, {
|
|
22
|
+
coupon_code: (0, affiliate_coupon_http_1.toStoreAffiliateCouponCode)(couponCode, affiliate),
|
|
23
|
+
}));
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
if (await (0, affiliate_coupon_http_1.respondToAffiliateCouponCommandError)(res, error, affiliateService, {
|
|
27
|
+
affiliate_id: affiliate.id,
|
|
28
|
+
coupon_id: req.params.coupon_id,
|
|
29
|
+
})) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
throw error;
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
exports.POST = POST;
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL2FmZmlsaWF0ZXMvbWUvY291cG9uLWNvZGVzL1tjb3Vwb25faWRdL3Jldm9rZS9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFJQSxtR0FBNEg7QUFHNUgsa0ZBQXFGO0FBQ3JGLDhHQUFnSDtBQUNoSCxtRkFJZ0Q7QUFDaEQsbUVBQWdFO0FBRXpELE1BQU0sSUFBSSxHQUFHLEtBQUssRUFDdkIsR0FBK0IsRUFDL0IsR0FBcUQsRUFDdEMsRUFBRTtJQUNqQixNQUFNLGdCQUFnQixHQUFHLElBQUEsMENBQXVCLEVBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQzNELE1BQU0sU0FBUyxHQUFHLE1BQU0sSUFBQSxtREFBMkIsRUFDakQsZ0JBQWdCLEVBQ2hCLEdBQUcsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUN6QixJQUFJLENBQ0wsQ0FBQTtJQUVELElBQUksQ0FBQztRQUNILE1BQU0sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLEdBQUcsTUFBTSxJQUFBLHVEQUE2QixFQUNoRSxHQUFHLENBQUMsS0FBSyxDQUNWLENBQUMsR0FBRyxDQUFDO1lBQ0osS0FBSyxFQUFFO2dCQUNMLFlBQVksRUFBRSxTQUFTLENBQUMsRUFBRTtnQkFDMUIsU0FBUyxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsU0FBUztnQkFDL0IsZUFBZSxFQUFFLFdBQVc7Z0JBQzVCLGFBQWEsRUFBRSxHQUFHLENBQUMsWUFBWSxDQUFDLFFBQVE7YUFDekM7U0FDRixDQUFDLENBQUE7UUFFRixHQUFHLENBQUMsSUFBSSxDQUNOLElBQUEsOEJBQWMsRUFBQyxrREFBc0MsRUFBRTtZQUNyRCxXQUFXLEVBQUUsSUFBQSxrREFBMEIsRUFBQyxVQUFVLEVBQUUsU0FBUyxDQUFDO1NBQy9ELENBQUMsQ0FDSCxDQUFBO0lBQ0gsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixJQUNFLE1BQU0sSUFBQSw0REFBb0MsRUFDeEMsR0FBRyxFQUNILEtBQUssRUFDTCxnQkFBZ0IsRUFDaEI7WUFDRSxZQUFZLEVBQUUsU0FBUyxDQUFDLEVBQUU7WUFDMUIsU0FBUyxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsU0FBUztTQUNoQyxDQUNGLEVBQ0QsQ0FBQztZQUNELE9BQU07UUFDUixDQUFDO1FBQ0QsTUFBTSxLQUFLLENBQUE7SUFDYixDQUFDO0FBQ0gsQ0FBQyxDQUFBO0FBNUNZLFFBQUEsSUFBSSxRQTRDaEIifQ==
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.POST = void 0;
|
|
4
|
+
const affiliate_1 = require("@hartl-services/medusa-food-supplements-contracts/schemas/affiliate");
|
|
5
|
+
const resolve_services_1 = require("../../../../../../../utils/resolve-services");
|
|
6
|
+
const rotate_affiliate_coupon_1 = require("../../../../../../../workflows/affiliate/rotate-affiliate-coupon");
|
|
7
|
+
const affiliate_coupon_http_1 = require("../../../../../../affiliate-coupon-http");
|
|
8
|
+
const wire_response_1 = require("../../../../../../wire-response");
|
|
9
|
+
const POST = async (req, res) => {
|
|
10
|
+
const affiliateService = (0, resolve_services_1.resolveAffiliateService)(req.scope);
|
|
11
|
+
const affiliate = await (0, affiliate_coupon_http_1.requireStoreCouponAffiliate)(affiliateService, req.auth_context.actor_id, true);
|
|
12
|
+
try {
|
|
13
|
+
const { result } = await (0, rotate_affiliate_coupon_1.rotateAffiliateCouponWorkflow)(req.scope).run({
|
|
14
|
+
input: {
|
|
15
|
+
affiliate_id: affiliate.id,
|
|
16
|
+
coupon_id: req.params.coupon_id,
|
|
17
|
+
code: req.validatedBody.code,
|
|
18
|
+
creation_idempotency_key: req.validatedBody.idempotency_key,
|
|
19
|
+
created_by_type: "affiliate",
|
|
20
|
+
created_by_id: req.auth_context.actor_id,
|
|
21
|
+
},
|
|
22
|
+
});
|
|
23
|
+
res.json((0, wire_response_1.toWireResponse)(affiliate_1.RotateStoreAffiliateCouponCodeResponseSchema, {
|
|
24
|
+
coupon_code: (0, affiliate_coupon_http_1.toStoreAffiliateCouponCode)(result.coupon, affiliate),
|
|
25
|
+
revoked_coupon_code: (0, affiliate_coupon_http_1.toStoreAffiliateCouponCode)(result.revoked_coupon, affiliate),
|
|
26
|
+
}));
|
|
27
|
+
}
|
|
28
|
+
catch (error) {
|
|
29
|
+
if (await (0, affiliate_coupon_http_1.respondToAffiliateCouponCommandError)(res, error, affiliateService, {
|
|
30
|
+
affiliate_id: affiliate.id,
|
|
31
|
+
idempotency_key: req.validatedBody.idempotency_key,
|
|
32
|
+
related_coupon_id: req.params.coupon_id,
|
|
33
|
+
})) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
throw error;
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
exports.POST = POST;
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL2FmZmlsaWF0ZXMvbWUvY291cG9uLWNvZGVzL1tjb3Vwb25faWRdL3JvdGF0ZS9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFLQSxtR0FBa0k7QUFHbEksa0ZBQXFGO0FBQ3JGLDhHQUFnSDtBQUNoSCxtRkFJZ0Q7QUFDaEQsbUVBQWdFO0FBT3pELE1BQU0sSUFBSSxHQUFHLEtBQUssRUFDdkIsR0FBcUQsRUFDckQsR0FBMkQsRUFDNUMsRUFBRTtJQUNqQixNQUFNLGdCQUFnQixHQUFHLElBQUEsMENBQXVCLEVBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQzNELE1BQU0sU0FBUyxHQUFHLE1BQU0sSUFBQSxtREFBMkIsRUFDakQsZ0JBQWdCLEVBQ2hCLEdBQUcsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUN6QixJQUFJLENBQ0wsQ0FBQTtJQUVELElBQUksQ0FBQztRQUNILE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLElBQUEsdURBQTZCLEVBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQztZQUNwRSxLQUFLLEVBQUU7Z0JBQ0wsWUFBWSxFQUFFLFNBQVMsQ0FBQyxFQUFFO2dCQUMxQixTQUFTLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxTQUFTO2dCQUMvQixJQUFJLEVBQUUsR0FBRyxDQUFDLGFBQWEsQ0FBQyxJQUFJO2dCQUM1Qix3QkFBd0IsRUFBRSxHQUFHLENBQUMsYUFBYSxDQUFDLGVBQWU7Z0JBQzNELGVBQWUsRUFBRSxXQUFXO2dCQUM1QixhQUFhLEVBQUUsR0FBRyxDQUFDLFlBQVksQ0FBQyxRQUFRO2FBQ3pDO1NBQ0YsQ0FBQyxDQUFBO1FBRUYsR0FBRyxDQUFDLElBQUksQ0FDTixJQUFBLDhCQUFjLEVBQUMsd0RBQTRDLEVBQUU7WUFDM0QsV0FBVyxFQUFFLElBQUEsa0RBQTBCLEVBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUM7WUFDakUsbUJBQW1CLEVBQUUsSUFBQSxrREFBMEIsRUFDN0MsTUFBTSxDQUFDLGNBQWMsRUFDckIsU0FBUyxDQUNWO1NBQ0YsQ0FBQyxDQUNILENBQUE7SUFDSCxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLElBQ0UsTUFBTSxJQUFBLDREQUFvQyxFQUN4QyxHQUFHLEVBQ0gsS0FBSyxFQUNMLGdCQUFnQixFQUNoQjtZQUNFLFlBQVksRUFBRSxTQUFTLENBQUMsRUFBRTtZQUMxQixlQUFlLEVBQUUsR0FBRyxDQUFDLGFBQWEsQ0FBQyxlQUFlO1lBQ2xELGlCQUFpQixFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsU0FBUztTQUN4QyxDQUNGLEVBQ0QsQ0FBQztZQUNELE9BQU07UUFDUixDQUFDO1FBQ0QsTUFBTSxLQUFLLENBQUE7SUFDYixDQUFDO0FBQ0gsQ0FBQyxDQUFBO0FBakRZLFFBQUEsSUFBSSxRQWlEaEIifQ==
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.POST = exports.GET = void 0;
|
|
4
|
+
const affiliate_1 = require("@hartl-services/medusa-food-supplements-contracts/schemas/affiliate");
|
|
5
|
+
const resolve_services_1 = require("../../../../../utils/resolve-services");
|
|
6
|
+
const create_affiliate_coupon_1 = require("../../../../../workflows/affiliate/create-affiliate-coupon");
|
|
7
|
+
const affiliate_coupon_http_1 = require("../../../../affiliate-coupon-http");
|
|
8
|
+
const wire_response_1 = require("../../../../wire-response");
|
|
9
|
+
const GET = async (req, res) => {
|
|
10
|
+
const affiliateService = (0, resolve_services_1.resolveAffiliateService)(req.scope);
|
|
11
|
+
const affiliate = await (0, affiliate_coupon_http_1.requireStoreCouponAffiliate)(affiliateService, req.auth_context.actor_id, false);
|
|
12
|
+
const { status, limit, offset } = req.validatedQuery;
|
|
13
|
+
const [couponCodes, count] = await affiliateService.listAffiliateCouponRecordsWithCount({
|
|
14
|
+
affiliate_id: affiliate.id,
|
|
15
|
+
lifecycle_status: status,
|
|
16
|
+
limit,
|
|
17
|
+
offset,
|
|
18
|
+
});
|
|
19
|
+
res.json((0, wire_response_1.toWireResponse)(affiliate_1.ListStoreAffiliateCouponCodesResponseSchema, {
|
|
20
|
+
coupon_codes: couponCodes.map((coupon) => (0, affiliate_coupon_http_1.toStoreAffiliateCouponCode)(coupon, affiliate)),
|
|
21
|
+
count,
|
|
22
|
+
limit,
|
|
23
|
+
offset,
|
|
24
|
+
}));
|
|
25
|
+
};
|
|
26
|
+
exports.GET = GET;
|
|
27
|
+
const POST = async (req, res) => {
|
|
28
|
+
const affiliateService = (0, resolve_services_1.resolveAffiliateService)(req.scope);
|
|
29
|
+
const affiliate = await (0, affiliate_coupon_http_1.requireStoreCouponAffiliate)(affiliateService, req.auth_context.actor_id, true);
|
|
30
|
+
try {
|
|
31
|
+
const { result: couponCode } = await (0, create_affiliate_coupon_1.createAffiliateCouponWorkflow)(req.scope).run({
|
|
32
|
+
input: {
|
|
33
|
+
affiliate_id: affiliate.id,
|
|
34
|
+
code: req.validatedBody.code,
|
|
35
|
+
creation_idempotency_key: req.validatedBody.idempotency_key,
|
|
36
|
+
created_by_type: "affiliate",
|
|
37
|
+
created_by_id: req.auth_context.actor_id,
|
|
38
|
+
},
|
|
39
|
+
});
|
|
40
|
+
res.status(201).json((0, wire_response_1.toWireResponse)(affiliate_1.StoreAffiliateCouponCodeResponseSchema, {
|
|
41
|
+
coupon_code: (0, affiliate_coupon_http_1.toStoreAffiliateCouponCode)(couponCode, affiliate),
|
|
42
|
+
}));
|
|
43
|
+
}
|
|
44
|
+
catch (error) {
|
|
45
|
+
if (await (0, affiliate_coupon_http_1.respondToAffiliateCouponCommandError)(res, error, affiliateService, {
|
|
46
|
+
affiliate_id: affiliate.id,
|
|
47
|
+
idempotency_key: req.validatedBody.idempotency_key,
|
|
48
|
+
})) {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
throw error;
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
exports.POST = POST;
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL2FmZmlsaWF0ZXMvbWUvY291cG9uLWNvZGVzL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUtBLG1HQUc0RTtBQU01RSw0RUFBK0U7QUFDL0Usd0dBQTBHO0FBQzFHLDZFQUkwQztBQUMxQyw2REFBMEQ7QUFhbkQsTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUN0QixHQUE0RCxFQUM1RCxHQUEwRCxFQUMzQyxFQUFFO0lBQ2pCLE1BQU0sZ0JBQWdCLEdBQUcsSUFBQSwwQ0FBdUIsRUFBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDM0QsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFBLG1EQUEyQixFQUNqRCxnQkFBZ0IsRUFDaEIsR0FBRyxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQ3pCLEtBQUssQ0FDTixDQUFBO0lBQ0QsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsR0FBRyxDQUFDLGNBQWMsQ0FBQTtJQUNwRCxNQUFNLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxHQUN4QixNQUFNLGdCQUFnQixDQUFDLG1DQUFtQyxDQUFDO1FBQ3pELFlBQVksRUFBRSxTQUFTLENBQUMsRUFBRTtRQUMxQixnQkFBZ0IsRUFBRSxNQUFNO1FBQ3hCLEtBQUs7UUFDTCxNQUFNO0tBQ1AsQ0FBQyxDQUFBO0lBRUosR0FBRyxDQUFDLElBQUksQ0FDTixJQUFBLDhCQUFjLEVBQUMsdURBQTJDLEVBQUU7UUFDMUQsWUFBWSxFQUFFLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUN2QyxJQUFBLGtEQUEwQixFQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FDOUM7UUFDRCxLQUFLO1FBQ0wsS0FBSztRQUNMLE1BQU07S0FDUCxDQUFDLENBQ0gsQ0FBQTtBQUNILENBQUMsQ0FBQTtBQTdCWSxRQUFBLEdBQUcsT0E2QmY7QUFFTSxNQUFNLElBQUksR0FBRyxLQUFLLEVBQ3ZCLEdBQXFELEVBQ3JELEdBQXFELEVBQ3RDLEVBQUU7SUFDakIsTUFBTSxnQkFBZ0IsR0FBRyxJQUFBLDBDQUF1QixFQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUMzRCxNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUEsbURBQTJCLEVBQ2pELGdCQUFnQixFQUNoQixHQUFHLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFDekIsSUFBSSxDQUNMLENBQUE7SUFFRCxJQUFJLENBQUM7UUFDSCxNQUFNLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxHQUFHLE1BQU0sSUFBQSx1REFBNkIsRUFDaEUsR0FBRyxDQUFDLEtBQUssQ0FDVixDQUFDLEdBQUcsQ0FBQztZQUNKLEtBQUssRUFBRTtnQkFDTCxZQUFZLEVBQUUsU0FBUyxDQUFDLEVBQUU7Z0JBQzFCLElBQUksRUFBRSxHQUFHLENBQUMsYUFBYSxDQUFDLElBQUk7Z0JBQzVCLHdCQUF3QixFQUFFLEdBQUcsQ0FBQyxhQUFhLENBQUMsZUFBZTtnQkFDM0QsZUFBZSxFQUFFLFdBQVc7Z0JBQzVCLGFBQWEsRUFBRSxHQUFHLENBQUMsWUFBWSxDQUFDLFFBQVE7YUFDekM7U0FDRixDQUFDLENBQUE7UUFFRixHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FDbEIsSUFBQSw4QkFBYyxFQUFDLGtEQUFzQyxFQUFFO1lBQ3JELFdBQVcsRUFBRSxJQUFBLGtEQUEwQixFQUFDLFVBQVUsRUFBRSxTQUFTLENBQUM7U0FDL0QsQ0FBQyxDQUNILENBQUE7SUFDSCxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLElBQ0UsTUFBTSxJQUFBLDREQUFvQyxFQUN4QyxHQUFHLEVBQ0gsS0FBSyxFQUNMLGdCQUFnQixFQUNoQjtZQUNFLFlBQVksRUFBRSxTQUFTLENBQUMsRUFBRTtZQUMxQixlQUFlLEVBQUUsR0FBRyxDQUFDLGFBQWEsQ0FBQyxlQUFlO1NBQ25ELENBQ0YsRUFDRCxDQUFDO1lBQ0QsT0FBTTtRQUNSLENBQUM7UUFDRCxNQUFNLEtBQUssQ0FBQTtJQUNiLENBQUM7QUFDSCxDQUFDLENBQUE7QUE3Q1ksUUFBQSxJQUFJLFFBNkNoQiJ9
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GET = void 0;
|
|
4
|
+
const resolve_services_1 = require("../../../../../utils/resolve-services");
|
|
5
|
+
const GET = async (req, res) => {
|
|
6
|
+
const query = req.validatedQuery;
|
|
7
|
+
const totals = await (0, resolve_services_1.resolveAffiliateService)(req.scope).getPartnerPortalDashboard({
|
|
8
|
+
customer_id: req.auth_context.actor_id,
|
|
9
|
+
from: query.from,
|
|
10
|
+
to: query.to,
|
|
11
|
+
});
|
|
12
|
+
res.json({ from: query.from, to: query.to, totals });
|
|
13
|
+
};
|
|
14
|
+
exports.GET = GET;
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL2FmZmlsaWF0ZXMvbWUvZGFzaGJvYXJkL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQVVBLDRFQUErRTtBQUt4RSxNQUFNLEdBQUcsR0FBRyxLQUFLLEVBQ3RCLEdBQXNELEVBQ3RELEdBQXdELEVBQ3pDLEVBQUU7SUFDakIsTUFBTSxLQUFLLEdBQWdDLEdBQUcsQ0FBQyxjQUFjLENBQUE7SUFDN0QsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFBLDBDQUF1QixFQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyx5QkFBeUIsQ0FBQztRQUNoRixXQUFXLEVBQUUsR0FBRyxDQUFDLFlBQVksQ0FBQyxRQUFRO1FBQ3RDLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtRQUNoQixFQUFFLEVBQUUsS0FBSyxDQUFDLEVBQUU7S0FDYixDQUFDLENBQUE7SUFFRixHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQTtBQUN0RCxDQUFDLENBQUE7QUFaWSxRQUFBLEdBQUcsT0FZZiJ9
|