@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,28 @@
|
|
|
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 ensure_default_affiliate_coupon_1 = require("../../../../../workflows/affiliate/ensure-default-affiliate-coupon");
|
|
7
|
+
const ensure_affiliate_own_order_promotion_1 = require("../../../../../workflows/affiliate/ensure-affiliate-own-order-promotion");
|
|
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 { application, affiliate: approvedAffiliate } = await affiliateService.approveAffiliateApplication({
|
|
12
|
+
application_id: req.params.id,
|
|
13
|
+
reviewed_by_id: req.auth_context.actor_id,
|
|
14
|
+
...req.validatedBody,
|
|
15
|
+
});
|
|
16
|
+
await (0, ensure_default_affiliate_coupon_1.ensureDefaultAffiliateCouponWorkflow)(req.scope).run({
|
|
17
|
+
input: { affiliate_id: approvedAffiliate.id },
|
|
18
|
+
});
|
|
19
|
+
const { result: affiliate } = await (0, ensure_affiliate_own_order_promotion_1.ensureAffiliateOwnOrderPromotionWorkflow)(req.scope).run({
|
|
20
|
+
input: { affiliate_id: approvedAffiliate.id },
|
|
21
|
+
});
|
|
22
|
+
res.json((0, wire_response_1.toWireResponse)(affiliate_1.ApproveAffiliateApplicationResponseSchema, {
|
|
23
|
+
application,
|
|
24
|
+
affiliate,
|
|
25
|
+
}));
|
|
26
|
+
};
|
|
27
|
+
exports.POST = POST;
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2FmZmlsaWF0ZS1hcHBsaWNhdGlvbnMvW2lkXS9hcHByb3ZlL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUtBLG1HQUErSDtBQUcvSCw0RUFBK0U7QUFDL0Usd0hBQXlIO0FBQ3pILGtJQUFrSTtBQUNsSSw2REFBMEQ7QUFPbkQsTUFBTSxJQUFJLEdBQUcsS0FBSyxFQUN2QixHQUF1RCxFQUN2RCxHQUF3RCxFQUN4RCxFQUFFO0lBQ0YsTUFBTSxnQkFBZ0IsR0FBRyxJQUFBLDBDQUF1QixFQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUMzRCxNQUFNLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxHQUNqRCxNQUFNLGdCQUFnQixDQUFDLDJCQUEyQixDQUFDO1FBQ2pELGNBQWMsRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDN0IsY0FBYyxFQUFFLEdBQUcsQ0FBQyxZQUFZLENBQUMsUUFBUTtRQUN6QyxHQUFHLEdBQUcsQ0FBQyxhQUFhO0tBQ3JCLENBQUMsQ0FBQTtJQUNKLE1BQU0sSUFBQSxzRUFBb0MsRUFBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQ3hELEtBQUssRUFBRSxFQUFFLFlBQVksRUFBRSxpQkFBaUIsQ0FBQyxFQUFFLEVBQUU7S0FDOUMsQ0FBQyxDQUFBO0lBQ0YsTUFBTSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FDekIsTUFBTSxJQUFBLCtFQUF3QyxFQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFDNUQsS0FBSyxFQUFFLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixDQUFDLEVBQUUsRUFBRTtLQUM5QyxDQUFDLENBQUE7SUFFSixHQUFHLENBQUMsSUFBSSxDQUFDLElBQUEsOEJBQWMsRUFBQyxxREFBeUMsRUFBRTtRQUNqRSxXQUFXO1FBQ1gsU0FBUztLQUNWLENBQUMsQ0FBQyxDQUFBO0FBQ0wsQ0FBQyxDQUFBO0FBdkJZLFFBQUEsSUFBSSxRQXVCaEIifQ==
|
|
@@ -0,0 +1,19 @@
|
|
|
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 wire_response_1 = require("../../../../wire-response");
|
|
7
|
+
const POST = async (req, res) => {
|
|
8
|
+
const affiliateService = (0, resolve_services_1.resolveAffiliateService)(req.scope);
|
|
9
|
+
const application = await affiliateService.rejectAffiliateApplication({
|
|
10
|
+
application_id: req.params.id,
|
|
11
|
+
reviewed_by_id: req.auth_context.actor_id,
|
|
12
|
+
...req.validatedBody,
|
|
13
|
+
});
|
|
14
|
+
res.json((0, wire_response_1.toWireResponse)(affiliate_1.AffiliateApplicationResponseSchema, {
|
|
15
|
+
application,
|
|
16
|
+
}));
|
|
17
|
+
};
|
|
18
|
+
exports.POST = POST;
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2FmZmlsaWF0ZS1hcHBsaWNhdGlvbnMvW2lkXS9yZWplY3Qvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBS0EsbUdBQXdIO0FBR3hILDRFQUErRTtBQUMvRSw2REFBMEQ7QUFLbkQsTUFBTSxJQUFJLEdBQUcsS0FBSyxFQUN2QixHQUFzRCxFQUN0RCxHQUFpRCxFQUNqRCxFQUFFO0lBQ0YsTUFBTSxnQkFBZ0IsR0FBRyxJQUFBLDBDQUF1QixFQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUMzRCxNQUFNLFdBQVcsR0FBRyxNQUFNLGdCQUFnQixDQUFDLDBCQUEwQixDQUFDO1FBQ3BFLGNBQWMsRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDN0IsY0FBYyxFQUFFLEdBQUcsQ0FBQyxZQUFZLENBQUMsUUFBUTtRQUN6QyxHQUFHLEdBQUcsQ0FBQyxhQUFhO0tBQ3JCLENBQUMsQ0FBQTtJQUVGLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBQSw4QkFBYyxFQUFDLDhDQUFrQyxFQUFFO1FBQzFELFdBQVc7S0FDWixDQUFDLENBQUMsQ0FBQTtBQUNMLENBQUMsQ0FBQTtBQWRZLFFBQUEsSUFBSSxRQWNoQiJ9
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
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 wire_response_1 = require("../../wire-response");
|
|
7
|
+
const GET = async (req, res) => {
|
|
8
|
+
const affiliateService = (0, resolve_services_1.resolveAffiliateService)(req.scope);
|
|
9
|
+
const { status, limit, offset } = req.validatedQuery;
|
|
10
|
+
const [applications, count] = await affiliateService.listAffiliateApplicationsWithCount({
|
|
11
|
+
status,
|
|
12
|
+
limit,
|
|
13
|
+
offset,
|
|
14
|
+
});
|
|
15
|
+
res.json((0, wire_response_1.toWireResponse)(affiliate_1.ListAffiliateApplicationsResponseSchema, {
|
|
16
|
+
applications,
|
|
17
|
+
count,
|
|
18
|
+
limit,
|
|
19
|
+
offset,
|
|
20
|
+
}));
|
|
21
|
+
};
|
|
22
|
+
exports.GET = GET;
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2FmZmlsaWF0ZS1hcHBsaWNhdGlvbnMvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBS0EsbUdBQTZIO0FBRzdILHNFQUF5RTtBQUN6RSx1REFBb0Q7QUFPN0MsTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUN0QixHQUE2RCxFQUM3RCxHQUFzRCxFQUN0RCxFQUFFO0lBQ0YsTUFBTSxnQkFBZ0IsR0FBRyxJQUFBLDBDQUF1QixFQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUMzRCxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUMsY0FBYyxDQUFBO0lBQ3BELE1BQU0sQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLEdBQ3pCLE1BQU0sZ0JBQWdCLENBQUMsa0NBQWtDLENBQUM7UUFDeEQsTUFBTTtRQUNOLEtBQUs7UUFDTCxNQUFNO0tBQ1AsQ0FBQyxDQUFBO0lBRUosR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFBLDhCQUFjLEVBQUMsbURBQXVDLEVBQUU7UUFDL0QsWUFBWTtRQUNaLEtBQUs7UUFDTCxLQUFLO1FBQ0wsTUFBTTtLQUNQLENBQUMsQ0FBQyxDQUFBO0FBQ0wsQ0FBQyxDQUFBO0FBbkJZLFFBQUEsR0FBRyxPQW1CZiJ9
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.retrieveAffiliateDistributionReports = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const money_1 = require("../../../utils/money");
|
|
6
|
+
const resolve_services_1 = require("../../../utils/resolve-services");
|
|
7
|
+
const asIso = (value) => new Date(value).toISOString();
|
|
8
|
+
const later = (left, right) => {
|
|
9
|
+
if (!left)
|
|
10
|
+
return right;
|
|
11
|
+
if (!right)
|
|
12
|
+
return left;
|
|
13
|
+
return left > right ? left : right;
|
|
14
|
+
};
|
|
15
|
+
const monthDistance = (activity, rangeStart, rangeEnd) => {
|
|
16
|
+
if (!activity) {
|
|
17
|
+
return Math.max(0, (rangeEnd.getUTCFullYear() - rangeStart.getUTCFullYear()) * 12 +
|
|
18
|
+
rangeEnd.getUTCMonth() -
|
|
19
|
+
rangeStart.getUTCMonth() +
|
|
20
|
+
1);
|
|
21
|
+
}
|
|
22
|
+
const date = new Date(activity);
|
|
23
|
+
return Math.max(0, (rangeEnd.getUTCFullYear() - date.getUTCFullYear()) * 12 +
|
|
24
|
+
rangeEnd.getUTCMonth() -
|
|
25
|
+
date.getUTCMonth());
|
|
26
|
+
};
|
|
27
|
+
const retrieveAffiliateDistributionReports = async (container, input) => {
|
|
28
|
+
const affiliateService = (0, resolve_services_1.resolveAffiliateService)(container);
|
|
29
|
+
const inventoryService = container.resolve(utils_1.Modules.INVENTORY);
|
|
30
|
+
const from = new Date(`${input.from}T00:00:00.000Z`);
|
|
31
|
+
const to = new Date(`${input.to}T23:59:59.999Z`);
|
|
32
|
+
const [, affiliateCount] = await affiliateService.listAndCountAffiliates({}, { take: 1 });
|
|
33
|
+
const affiliates = await affiliateService.listAffiliates({}, {
|
|
34
|
+
take: Math.max(affiliateCount, 1),
|
|
35
|
+
order: { display_name: "ASC" },
|
|
36
|
+
});
|
|
37
|
+
const [, reportCount] = await affiliateService.listAndCountConsignmentReports({
|
|
38
|
+
status: "approved",
|
|
39
|
+
period_start: { $gte: from, $lte: to },
|
|
40
|
+
}, { take: 1 });
|
|
41
|
+
const reportRows = await affiliateService.listConsignmentReports({
|
|
42
|
+
status: "approved",
|
|
43
|
+
period_start: { $gte: from, $lte: to },
|
|
44
|
+
}, { take: Math.max(reportCount, 1) });
|
|
45
|
+
const reports = await Promise.all(reportRows.map((row) => affiliateService.retrieveConsignmentReportRecord(row.id)));
|
|
46
|
+
const [, openReportCount] = await affiliateService.listAndCountConsignmentReports({
|
|
47
|
+
status: ["draft", "submitted"],
|
|
48
|
+
period_start: { $gte: from, $lte: to },
|
|
49
|
+
}, { take: 1 });
|
|
50
|
+
const openReports = await affiliateService.listConsignmentReports({
|
|
51
|
+
status: ["draft", "submitted"],
|
|
52
|
+
period_start: { $gte: from, $lte: to },
|
|
53
|
+
}, { take: Math.max(openReportCount, 1) });
|
|
54
|
+
const [, entryCount] = await affiliateService.listAndCountCommissionEntries({
|
|
55
|
+
type: "order_commission",
|
|
56
|
+
occurred_at: { $gte: from, $lte: to },
|
|
57
|
+
}, { take: 1 });
|
|
58
|
+
const entries = await affiliateService.listCommissionEntries({
|
|
59
|
+
type: "order_commission",
|
|
60
|
+
occurred_at: { $gte: from, $lte: to },
|
|
61
|
+
}, { take: Math.max(entryCount, 1) });
|
|
62
|
+
const settings = await affiliateService.listAffiliateDistributionSettings({ affiliate_id: affiliates.map((affiliate) => affiliate.id) }, { take: Math.max(affiliates.length, 1) });
|
|
63
|
+
const consignmentOrderIds = new Set(reports.flatMap((report) => (report.order_id ? [report.order_id] : [])));
|
|
64
|
+
const result = [];
|
|
65
|
+
for (const affiliate of affiliates) {
|
|
66
|
+
const affiliateReports = reports.filter((report) => report.affiliate_id === affiliate.id);
|
|
67
|
+
const affiliateEntries = entries.filter((entry) => entry.affiliate_id === affiliate.id &&
|
|
68
|
+
(!entry.order_id || !consignmentOrderIds.has(entry.order_id)));
|
|
69
|
+
const distribution = settings.find((entry) => entry.affiliate_id === affiliate.id && entry.enabled);
|
|
70
|
+
const levels = distribution
|
|
71
|
+
? (await inventoryService.listInventoryLevels({
|
|
72
|
+
location_id: distribution.stock_location_id,
|
|
73
|
+
}))
|
|
74
|
+
: [];
|
|
75
|
+
let consignmentSalesQuantity = 0;
|
|
76
|
+
let lastReportedAt = null;
|
|
77
|
+
let lastConsignmentSaleAt = null;
|
|
78
|
+
const totalsByCurrency = new Map();
|
|
79
|
+
const totalsFor = (currencyCode) => {
|
|
80
|
+
const key = currencyCode ?? "";
|
|
81
|
+
const existing = totalsByCurrency.get(key);
|
|
82
|
+
if (existing) {
|
|
83
|
+
return existing;
|
|
84
|
+
}
|
|
85
|
+
const totals = {
|
|
86
|
+
currency_code: currencyCode,
|
|
87
|
+
consignment_sales_amount: money_1.Money.zero(),
|
|
88
|
+
affiliate_web_sales_amount: money_1.Money.zero(),
|
|
89
|
+
affiliate_web_commission_amount: money_1.Money.zero(),
|
|
90
|
+
};
|
|
91
|
+
totalsByCurrency.set(key, totals);
|
|
92
|
+
return totals;
|
|
93
|
+
};
|
|
94
|
+
for (const report of affiliateReports) {
|
|
95
|
+
if (report.approved_at) {
|
|
96
|
+
lastReportedAt = later(lastReportedAt, asIso(report.approved_at));
|
|
97
|
+
}
|
|
98
|
+
let reportHasSale = false;
|
|
99
|
+
for (const line of report.lines) {
|
|
100
|
+
consignmentSalesQuantity += line.confirmed_sale_quantity;
|
|
101
|
+
const totals = totalsFor(line.currency_code ?? null);
|
|
102
|
+
totals.consignment_sales_amount = totals.consignment_sales_amount.add(money_1.Money.of(line.confirmed_sale_quantity).multiply(line.unit_price_snapshot ?? 0));
|
|
103
|
+
reportHasSale ||= line.confirmed_sale_quantity > 0;
|
|
104
|
+
}
|
|
105
|
+
if (reportHasSale && report.approved_at) {
|
|
106
|
+
lastConsignmentSaleAt = later(lastConsignmentSaleAt, asIso(report.approved_at));
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
let lastWebSaleAt = null;
|
|
110
|
+
for (const entry of affiliateEntries) {
|
|
111
|
+
const totals = totalsFor(entry.currency_code);
|
|
112
|
+
totals.affiliate_web_sales_amount = totals.affiliate_web_sales_amount.add(entry.base_amount_net);
|
|
113
|
+
totals.affiliate_web_commission_amount =
|
|
114
|
+
totals.affiliate_web_commission_amount.add(entry.commission_amount);
|
|
115
|
+
lastWebSaleAt = later(lastWebSaleAt, asIso(entry.occurred_at));
|
|
116
|
+
}
|
|
117
|
+
const lastSaleAt = later(lastConsignmentSaleAt, lastWebSaleAt);
|
|
118
|
+
const latestActivity = later(lastReportedAt, lastSaleAt);
|
|
119
|
+
const currencyTotals = Array.from(totalsByCurrency.values())
|
|
120
|
+
.sort((left, right) => (left.currency_code ?? "").localeCompare(right.currency_code ?? ""))
|
|
121
|
+
.map((totals) => {
|
|
122
|
+
const decimalPlaces = (0, money_1.getCurrencyDecimals)(totals.currency_code ?? "");
|
|
123
|
+
return {
|
|
124
|
+
currency_code: totals.currency_code,
|
|
125
|
+
consignment_sales_amount: totals.consignment_sales_amount.toRoundedNumber(decimalPlaces),
|
|
126
|
+
affiliate_web_sales_amount: totals.affiliate_web_sales_amount.toRoundedNumber(decimalPlaces),
|
|
127
|
+
affiliate_web_commission_amount: totals.affiliate_web_commission_amount.toRoundedNumber(decimalPlaces),
|
|
128
|
+
};
|
|
129
|
+
});
|
|
130
|
+
const singleCurrencyTotals = currencyTotals.length === 1 && currencyTotals[0].currency_code
|
|
131
|
+
? currencyTotals[0]
|
|
132
|
+
: null;
|
|
133
|
+
const hasNoMonetaryActivity = currencyTotals.length === 0;
|
|
134
|
+
result.push({
|
|
135
|
+
affiliate_id: affiliate.id,
|
|
136
|
+
display_name: affiliate.display_name,
|
|
137
|
+
status: affiliate.status,
|
|
138
|
+
currency_code: singleCurrencyTotals?.currency_code ?? null,
|
|
139
|
+
consignment_sales_quantity: consignmentSalesQuantity,
|
|
140
|
+
consignment_sales_amount: hasNoMonetaryActivity
|
|
141
|
+
? 0
|
|
142
|
+
: singleCurrencyTotals?.consignment_sales_amount ?? null,
|
|
143
|
+
affiliate_web_sales_amount: hasNoMonetaryActivity
|
|
144
|
+
? 0
|
|
145
|
+
: singleCurrencyTotals?.affiliate_web_sales_amount ?? null,
|
|
146
|
+
affiliate_web_commission_amount: hasNoMonetaryActivity
|
|
147
|
+
? 0
|
|
148
|
+
: singleCurrencyTotals?.affiliate_web_commission_amount ?? null,
|
|
149
|
+
currency_totals: currencyTotals,
|
|
150
|
+
current_stock_quantity: levels.reduce((sum, level) => sum + Number(level.stocked_quantity), 0),
|
|
151
|
+
last_reported_at: lastReportedAt,
|
|
152
|
+
last_sale_at: lastSaleAt,
|
|
153
|
+
inactive_months: monthDistance(latestActivity, from, to),
|
|
154
|
+
open_reports: openReports.filter((report) => report.affiliate_id === affiliate.id).length,
|
|
155
|
+
overdue_reports: openReports.filter((report) => {
|
|
156
|
+
if (report.affiliate_id !== affiliate.id)
|
|
157
|
+
return false;
|
|
158
|
+
const period = new Date(report.period_start);
|
|
159
|
+
const due = new Date(Date.UTC(period.getUTCFullYear(), period.getUTCMonth() + 1, 10, 23, 59, 59, 999));
|
|
160
|
+
return due < to;
|
|
161
|
+
}).length,
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
return {
|
|
165
|
+
from: input.from,
|
|
166
|
+
to: input.to,
|
|
167
|
+
affiliate_distribution_reports: result,
|
|
168
|
+
};
|
|
169
|
+
};
|
|
170
|
+
exports.retrieveAffiliateDistributionReports = retrieveAffiliateDistributionReports;
|
|
171
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2FmZmlsaWF0ZS1kaXN0cmlidXRpb24tcmVwb3J0cy9xdWVyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFJQSxxREFBbUQ7QUFLbkQsZ0RBQWlFO0FBQ2pFLHNFQUF5RTtBQWtCekUsTUFBTSxLQUFLLEdBQUcsQ0FBQyxLQUFvQixFQUFVLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQTtBQUU3RSxNQUFNLEtBQUssR0FBRyxDQUFDLElBQW1CLEVBQUUsS0FBb0IsRUFBaUIsRUFBRTtJQUN6RSxJQUFJLENBQUMsSUFBSTtRQUFFLE9BQU8sS0FBSyxDQUFBO0lBQ3ZCLElBQUksQ0FBQyxLQUFLO1FBQUUsT0FBTyxJQUFJLENBQUE7SUFDdkIsT0FBTyxJQUFJLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQTtBQUNwQyxDQUFDLENBQUE7QUFFRCxNQUFNLGFBQWEsR0FBRyxDQUNwQixRQUF1QixFQUN2QixVQUFnQixFQUNoQixRQUFjLEVBQ04sRUFBRTtJQUNWLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNkLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FDYixDQUFDLEVBQ0QsQ0FBQyxRQUFRLENBQUMsY0FBYyxFQUFFLEdBQUcsVUFBVSxDQUFDLGNBQWMsRUFBRSxDQUFDLEdBQUcsRUFBRTtZQUM1RCxRQUFRLENBQUMsV0FBVyxFQUFFO1lBQ3RCLFVBQVUsQ0FBQyxXQUFXLEVBQUU7WUFDeEIsQ0FBQyxDQUNKLENBQUE7SUFDSCxDQUFDO0lBQ0QsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDL0IsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUNiLENBQUMsRUFDRCxDQUFDLFFBQVEsQ0FBQyxjQUFjLEVBQUUsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsR0FBRyxFQUFFO1FBQ3RELFFBQVEsQ0FBQyxXQUFXLEVBQUU7UUFDdEIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUNyQixDQUFBO0FBQ0gsQ0FBQyxDQUFBO0FBRU0sTUFBTSxvQ0FBb0MsR0FBRyxLQUFLLEVBQ3ZELFNBQTBCLEVBQzFCLEtBQW1DLEVBQ1ksRUFBRTtJQUNqRCxNQUFNLGdCQUFnQixHQUFHLElBQUEsMENBQXVCLEVBQUMsU0FBUyxDQUFDLENBQUE7SUFDM0QsTUFBTSxnQkFBZ0IsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUN4QyxlQUFPLENBQUMsU0FBUyxDQUNHLENBQUE7SUFDdEIsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQyxDQUFBO0lBQ3BELE1BQU0sRUFBRSxHQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQTtJQUVoRCxNQUFNLENBQUMsRUFBRSxjQUFjLENBQUMsR0FBRyxNQUFNLGdCQUFnQixDQUFDLHNCQUFzQixDQUN0RSxFQUFFLEVBQ0YsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQ1osQ0FBQTtJQUNELE1BQU0sVUFBVSxHQUFHLE1BQU0sZ0JBQWdCLENBQUMsY0FBYyxDQUN0RCxFQUFFLEVBQ0Y7UUFDRSxJQUFJLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDO1FBQ2pDLEtBQUssRUFBRSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUU7S0FDL0IsQ0FDRixDQUFBO0lBQ0QsTUFBTSxDQUFDLEVBQUUsV0FBVyxDQUFDLEdBQ25CLE1BQU0sZ0JBQWdCLENBQUMsOEJBQThCLENBQ25EO1FBQ0UsTUFBTSxFQUFFLFVBQVU7UUFDbEIsWUFBWSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFO0tBQ3ZDLEVBQ0QsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQ1osQ0FBQTtJQUNILE1BQU0sVUFBVSxHQUFHLE1BQU0sZ0JBQWdCLENBQUMsc0JBQXNCLENBQzlEO1FBQ0UsTUFBTSxFQUFFLFVBQVU7UUFDbEIsWUFBWSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFO0tBQ3ZDLEVBQ0QsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FDbkMsQ0FBQTtJQUNELE1BQU0sT0FBTyxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDL0IsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQ3JCLGdCQUFnQixDQUFDLCtCQUErQixDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FDekQsQ0FDRixDQUFBO0lBQ0QsTUFBTSxDQUFDLEVBQUUsZUFBZSxDQUFDLEdBQ3ZCLE1BQU0sZ0JBQWdCLENBQUMsOEJBQThCLENBQ25EO1FBQ0UsTUFBTSxFQUFFLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQztRQUM5QixZQUFZLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUU7S0FDdkMsRUFDRCxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FDWixDQUFBO0lBQ0gsTUFBTSxXQUFXLEdBQUcsTUFBTSxnQkFBZ0IsQ0FBQyxzQkFBc0IsQ0FDL0Q7UUFDRSxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDO1FBQzlCLFlBQVksRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRTtLQUN2QyxFQUNELEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQ3ZDLENBQUE7SUFDRCxNQUFNLENBQUMsRUFBRSxVQUFVLENBQUMsR0FBRyxNQUFNLGdCQUFnQixDQUFDLDZCQUE2QixDQUN6RTtRQUNFLElBQUksRUFBRSxrQkFBa0I7UUFDeEIsV0FBVyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFO0tBQ3RDLEVBQ0QsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQ1osQ0FBQTtJQUNELE1BQU0sT0FBTyxHQUFHLE1BQU0sZ0JBQWdCLENBQUMscUJBQXFCLENBQzFEO1FBQ0UsSUFBSSxFQUFFLGtCQUFrQjtRQUN4QixXQUFXLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUU7S0FDdEMsRUFDRCxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUNsQyxDQUFBO0lBQ0QsTUFBTSxRQUFRLEdBQUcsTUFBTSxnQkFBZ0IsQ0FBQyxpQ0FBaUMsQ0FDdkUsRUFBRSxZQUFZLEVBQUUsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQzdELEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBRSxDQUN6QyxDQUFBO0lBQ0QsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLEdBQUcsQ0FDakMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FDeEUsQ0FBQTtJQUVELE1BQU0sTUFBTSxHQUFzQyxFQUFFLENBQUE7SUFDcEQsS0FBSyxNQUFNLFNBQVMsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUNuQyxNQUFNLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQ3JDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsWUFBWSxLQUFLLFNBQVMsQ0FBQyxFQUFFLENBQ2pELENBQUE7UUFDRCxNQUFNLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQ3JDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FDUixLQUFLLENBQUMsWUFBWSxLQUFLLFNBQVMsQ0FBQyxFQUFFO1lBQ25DLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUNoRSxDQUFBO1FBQ0QsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FDaEMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxZQUFZLEtBQUssU0FBUyxDQUFDLEVBQUUsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUNoRSxDQUFBO1FBQ0QsTUFBTSxNQUFNLEdBQUcsWUFBWTtZQUN6QixDQUFDLENBQUUsQ0FBQyxNQUFNLGdCQUFnQixDQUFDLG1CQUFtQixDQUFDO2dCQUMzQyxXQUFXLEVBQUUsWUFBWSxDQUFDLGlCQUFpQjthQUM1QyxDQUFDLENBQWlDO1lBQ3JDLENBQUMsQ0FBQyxFQUFFLENBQUE7UUFFTixJQUFJLHdCQUF3QixHQUFHLENBQUMsQ0FBQTtRQUNoQyxJQUFJLGNBQWMsR0FBa0IsSUFBSSxDQUFBO1FBQ3hDLElBQUkscUJBQXFCLEdBQWtCLElBQUksQ0FBQTtRQUMvQyxNQUFNLGdCQUFnQixHQUFHLElBQUksR0FBRyxFQUEwQixDQUFBO1FBQzFELE1BQU0sU0FBUyxHQUFHLENBQUMsWUFBMkIsRUFBa0IsRUFBRTtZQUNoRSxNQUFNLEdBQUcsR0FBRyxZQUFZLElBQUksRUFBRSxDQUFBO1lBQzlCLE1BQU0sUUFBUSxHQUFHLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQTtZQUUxQyxJQUFJLFFBQVEsRUFBRSxDQUFDO2dCQUNiLE9BQU8sUUFBUSxDQUFBO1lBQ2pCLENBQUM7WUFFRCxNQUFNLE1BQU0sR0FBbUI7Z0JBQzdCLGFBQWEsRUFBRSxZQUFZO2dCQUMzQix3QkFBd0IsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFO2dCQUN0QywwQkFBMEIsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFO2dCQUN4QywrQkFBK0IsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFO2FBQzlDLENBQUE7WUFDRCxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFBO1lBRWpDLE9BQU8sTUFBTSxDQUFBO1FBQ2YsQ0FBQyxDQUFBO1FBRUQsS0FBSyxNQUFNLE1BQU0sSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3RDLElBQUksTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUN2QixjQUFjLEdBQUcsS0FBSyxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUE7WUFDbkUsQ0FBQztZQUNELElBQUksYUFBYSxHQUFHLEtBQUssQ0FBQTtZQUN6QixLQUFLLE1BQU0sSUFBSSxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDaEMsd0JBQXdCLElBQUksSUFBSSxDQUFDLHVCQUF1QixDQUFBO2dCQUN4RCxNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsQ0FBQTtnQkFDcEQsTUFBTSxDQUFDLHdCQUF3QixHQUFHLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxHQUFHLENBQ25FLGFBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUMsUUFBUSxDQUM3QyxJQUFJLENBQUMsbUJBQW1CLElBQUksQ0FBQyxDQUM5QixDQUNGLENBQUE7Z0JBQ0QsYUFBYSxLQUFLLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxDQUFDLENBQUE7WUFDcEQsQ0FBQztZQUNELElBQUksYUFBYSxJQUFJLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDeEMscUJBQXFCLEdBQUcsS0FBSyxDQUMzQixxQkFBcUIsRUFDckIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FDMUIsQ0FBQTtZQUNILENBQUM7UUFDSCxDQUFDO1FBRUQsSUFBSSxhQUFhLEdBQWtCLElBQUksQ0FBQTtRQUN2QyxLQUFLLE1BQU0sS0FBSyxJQUFJLGdCQUFnQixFQUFFLENBQUM7WUFDckMsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQTtZQUM3QyxNQUFNLENBQUMsMEJBQTBCLEdBQUcsTUFBTSxDQUFDLDBCQUEwQixDQUFDLEdBQUcsQ0FDdkUsS0FBSyxDQUFDLGVBQWUsQ0FDdEIsQ0FBQTtZQUNELE1BQU0sQ0FBQywrQkFBK0I7Z0JBQ3BDLE1BQU0sQ0FBQywrQkFBK0IsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUE7WUFDckUsYUFBYSxHQUFHLEtBQUssQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFBO1FBQ2hFLENBQUM7UUFDRCxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMscUJBQXFCLEVBQUUsYUFBYSxDQUFDLENBQUE7UUFDOUQsTUFBTSxjQUFjLEdBQUcsS0FBSyxDQUFDLGNBQWMsRUFBRSxVQUFVLENBQUMsQ0FBQTtRQUN4RCxNQUFNLGNBQWMsR0FBeUMsS0FBSyxDQUFDLElBQUksQ0FDckUsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLENBQzFCO2FBQ0UsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQ3BCLENBQUMsSUFBSSxDQUFDLGFBQWEsSUFBSSxFQUFFLENBQUMsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLGFBQWEsSUFBSSxFQUFFLENBQUMsQ0FDcEU7YUFDQSxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNkLE1BQU0sYUFBYSxHQUFHLElBQUEsMkJBQW1CLEVBQUMsTUFBTSxDQUFDLGFBQWEsSUFBSSxFQUFFLENBQUMsQ0FBQTtZQUVyRSxPQUFPO2dCQUNMLGFBQWEsRUFBRSxNQUFNLENBQUMsYUFBYTtnQkFDbkMsd0JBQXdCLEVBQ3RCLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDO2dCQUNoRSwwQkFBMEIsRUFDeEIsTUFBTSxDQUFDLDBCQUEwQixDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUM7Z0JBQ2xFLCtCQUErQixFQUM3QixNQUFNLENBQUMsK0JBQStCLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQzthQUN4RSxDQUFBO1FBQ0gsQ0FBQyxDQUFDLENBQUE7UUFDSixNQUFNLG9CQUFvQixHQUN4QixjQUFjLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYTtZQUM1RCxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztZQUNuQixDQUFDLENBQUMsSUFBSSxDQUFBO1FBQ1YsTUFBTSxxQkFBcUIsR0FBRyxjQUFjLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQTtRQUV6RCxNQUFNLENBQUMsSUFBSSxDQUFDO1lBQ1YsWUFBWSxFQUFFLFNBQVMsQ0FBQyxFQUFFO1lBQzFCLFlBQVksRUFBRSxTQUFTLENBQUMsWUFBWTtZQUNwQyxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQW1EO1lBQ3JFLGFBQWEsRUFBRSxvQkFBb0IsRUFBRSxhQUFhLElBQUksSUFBSTtZQUMxRCwwQkFBMEIsRUFBRSx3QkFBd0I7WUFDcEQsd0JBQXdCLEVBQUUscUJBQXFCO2dCQUM3QyxDQUFDLENBQUMsQ0FBQztnQkFDSCxDQUFDLENBQUMsb0JBQW9CLEVBQUUsd0JBQXdCLElBQUksSUFBSTtZQUMxRCwwQkFBMEIsRUFBRSxxQkFBcUI7Z0JBQy9DLENBQUMsQ0FBQyxDQUFDO2dCQUNILENBQUMsQ0FBQyxvQkFBb0IsRUFBRSwwQkFBMEIsSUFBSSxJQUFJO1lBQzVELCtCQUErQixFQUFFLHFCQUFxQjtnQkFDcEQsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsQ0FBQyxDQUFDLG9CQUFvQixFQUFFLCtCQUErQixJQUFJLElBQUk7WUFDakUsZUFBZSxFQUFFLGNBQWM7WUFDL0Isc0JBQXNCLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FDbkMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxFQUNwRCxDQUFDLENBQ0Y7WUFDRCxnQkFBZ0IsRUFBRSxjQUFjO1lBQ2hDLFlBQVksRUFBRSxVQUFVO1lBQ3hCLGVBQWUsRUFBRSxhQUFhLENBQUMsY0FBYyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUM7WUFDeEQsWUFBWSxFQUFFLFdBQVcsQ0FBQyxNQUFNLENBQzlCLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsWUFBWSxLQUFLLFNBQVMsQ0FBQyxFQUFFLENBQ2pELENBQUMsTUFBTTtZQUNSLGVBQWUsRUFBRSxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7Z0JBQzdDLElBQUksTUFBTSxDQUFDLFlBQVksS0FBSyxTQUFTLENBQUMsRUFBRTtvQkFBRSxPQUFPLEtBQUssQ0FBQTtnQkFDdEQsTUFBTSxNQUFNLEdBQUcsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFBO2dCQUM1QyxNQUFNLEdBQUcsR0FBRyxJQUFJLElBQUksQ0FDbEIsSUFBSSxDQUFDLEdBQUcsQ0FDTixNQUFNLENBQUMsY0FBYyxFQUFFLEVBQ3ZCLE1BQU0sQ0FBQyxXQUFXLEVBQUUsR0FBRyxDQUFDLEVBQ3hCLEVBQUUsRUFDRixFQUFFLEVBQ0YsRUFBRSxFQUNGLEVBQUUsRUFDRixHQUFHLENBQ0osQ0FDRixDQUFBO2dCQUNELE9BQU8sR0FBRyxHQUFHLEVBQUUsQ0FBQTtZQUNqQixDQUFDLENBQUMsQ0FBQyxNQUFNO1NBQ1YsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7UUFDaEIsRUFBRSxFQUFFLEtBQUssQ0FBQyxFQUFFO1FBQ1osOEJBQThCLEVBQUUsTUFBTTtLQUN2QyxDQUFBO0FBQ0gsQ0FBQyxDQUFBO0FBdk9ZLFFBQUEsb0NBQW9DLHdDQXVPaEQifQ==
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GET = void 0;
|
|
4
|
+
const query_1 = require("./query");
|
|
5
|
+
const GET = async (req, res) => {
|
|
6
|
+
const query = req.validatedQuery;
|
|
7
|
+
res.json(await (0, query_1.retrieveAffiliateDistributionReports)(req.scope, {
|
|
8
|
+
from: query.from,
|
|
9
|
+
to: query.to,
|
|
10
|
+
}));
|
|
11
|
+
};
|
|
12
|
+
exports.GET = GET;
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2FmZmlsaWF0ZS1kaXN0cmlidXRpb24tcmVwb3J0cy9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFRQSxtQ0FBOEQ7QUFNdkQsTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUN0QixHQUErRCxFQUMvRCxHQUF5RCxFQUN6RCxFQUFFO0lBQ0YsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLGNBQWMsQ0FBQTtJQUNoQyxHQUFHLENBQUMsSUFBSSxDQUNOLE1BQU0sSUFBQSw0Q0FBb0MsRUFBQyxHQUFHLENBQUMsS0FBSyxFQUFFO1FBQ3BELElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtRQUNoQixFQUFFLEVBQUUsS0FBSyxDQUFDLEVBQUU7S0FDYixDQUFDLENBQ0gsQ0FBQTtBQUNILENBQUMsQ0FBQTtBQVhZLFFBQUEsR0FBRyxPQVdmIn0=
|
|
@@ -0,0 +1,27 @@
|
|
|
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 affiliate_1 = require("@hartl-services/medusa-food-supplements-contracts/schemas/affiliate");
|
|
6
|
+
const resolve_services_1 = require("../../../utils/resolve-services");
|
|
7
|
+
const wire_response_1 = require("../../wire-response");
|
|
8
|
+
const update_affiliate_coupon_discounts_1 = require("../../../workflows/affiliate/update-affiliate-coupon-discounts");
|
|
9
|
+
const GET = async (req, res) => {
|
|
10
|
+
const settings = await (0, resolve_services_1.resolveAffiliateService)(req.scope).retrieveProgramSettings();
|
|
11
|
+
res.json((0, wire_response_1.toWireResponse)(affiliate_1.AffiliateProgramSettingsResponseSchema, { settings }));
|
|
12
|
+
};
|
|
13
|
+
exports.GET = GET;
|
|
14
|
+
const POST = async (req, res) => {
|
|
15
|
+
const input = req.validatedBody;
|
|
16
|
+
const { settings, failures } = await (0, update_affiliate_coupon_discounts_1.updateProgramSettingsWithCouponDiscountReconciliation)(req.scope, input);
|
|
17
|
+
const logger = req.scope.resolve(utils_1.ContainerRegistrationKeys.LOGGER);
|
|
18
|
+
for (const failure of failures) {
|
|
19
|
+
const message = failure.error instanceof Error
|
|
20
|
+
? failure.error.message
|
|
21
|
+
: "Unknown reconciliation error";
|
|
22
|
+
logger.warn(`Affiliate coupon reconciliation failed after default discount update for ${failure.coupon_id}: ${message}`);
|
|
23
|
+
}
|
|
24
|
+
res.json((0, wire_response_1.toWireResponse)(affiliate_1.AffiliateProgramSettingsResponseSchema, { settings }));
|
|
25
|
+
};
|
|
26
|
+
exports.POST = POST;
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2FmZmlsaWF0ZS1wcm9ncmFtLXNldHRpbmdzL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUtBLHFEQUFxRTtBQUNyRSxtR0FBNEg7QUFHNUgsc0VBQXlFO0FBQ3pFLHVEQUFvRDtBQUVwRCxzSEFBc0k7QUFJL0gsTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUN0QixHQUErQixFQUMvQixHQUFxRCxFQUNyRCxFQUFFO0lBQ0YsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFBLDBDQUF1QixFQUM1QyxHQUFHLENBQUMsS0FBSyxDQUNWLENBQUMsdUJBQXVCLEVBQUUsQ0FBQTtJQUMzQixHQUFHLENBQUMsSUFBSSxDQUFDLElBQUEsOEJBQWMsRUFBQyxrREFBc0MsRUFBRSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQTtBQUNoRixDQUFDLENBQUE7QUFSWSxRQUFBLEdBQUcsT0FRZjtBQUVNLE1BQU0sSUFBSSxHQUFHLEtBQUssRUFDdkIsR0FBMkMsRUFDM0MsR0FBcUQsRUFDckQsRUFBRTtJQUNGLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxhQUFhLENBQUE7SUFDL0IsTUFBTSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsR0FDMUIsTUFBTSxJQUFBLHlGQUFxRCxFQUN6RCxHQUFHLENBQUMsS0FBSyxFQUNULEtBQUssQ0FDTixDQUFBO0lBQ0gsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsTUFBTSxDQUVoRSxDQUFBO0lBQ0QsS0FBSyxNQUFNLE9BQU8sSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUMvQixNQUFNLE9BQU8sR0FDWCxPQUFPLENBQUMsS0FBSyxZQUFZLEtBQUs7WUFDNUIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTztZQUN2QixDQUFDLENBQUMsOEJBQThCLENBQUE7UUFDcEMsTUFBTSxDQUFDLElBQUksQ0FDVCw0RUFBNEUsT0FBTyxDQUFDLFNBQVMsS0FBSyxPQUFPLEVBQUUsQ0FDNUcsQ0FBQTtJQUNILENBQUM7SUFDRCxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUEsOEJBQWMsRUFBQyxrREFBc0MsRUFBRSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQTtBQUNoRixDQUFDLENBQUE7QUF2QlksUUFBQSxJQUFJLFFBdUJoQiJ9
|
|
@@ -0,0 +1,45 @@
|
|
|
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 affiliate_1 = require("@hartl-services/medusa-food-supplements-contracts/schemas/affiliate");
|
|
6
|
+
const resolve_services_1 = require("../../../../utils/resolve-services");
|
|
7
|
+
const wire_response_1 = require("../../../wire-response");
|
|
8
|
+
const enrich_affiliate_report_1 = require("../../../../workflows/affiliate/enrich-affiliate-report");
|
|
9
|
+
const GET = async (req, res) => {
|
|
10
|
+
const affiliateService = (0, resolve_services_1.resolveAffiliateService)(req.scope);
|
|
11
|
+
const report = await affiliateService.getAffiliateReportDetail({
|
|
12
|
+
affiliate_id: req.params.id,
|
|
13
|
+
from: req.validatedQuery.from,
|
|
14
|
+
to: req.validatedQuery.to,
|
|
15
|
+
limit: req.validatedQuery.limit,
|
|
16
|
+
offset: req.validatedQuery.offset,
|
|
17
|
+
});
|
|
18
|
+
const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
19
|
+
const orderIds = report.entries
|
|
20
|
+
.map((entry) => entry.order_id)
|
|
21
|
+
.filter((id) => !!id);
|
|
22
|
+
const customerIds = report.entries
|
|
23
|
+
.map((entry) => entry.customer_id)
|
|
24
|
+
.filter((id) => !!id);
|
|
25
|
+
const [orderDisplayIds, customerNames] = await Promise.all([
|
|
26
|
+
(0, enrich_affiliate_report_1.resolveOrderDisplayIds)(query, orderIds),
|
|
27
|
+
(0, enrich_affiliate_report_1.resolveCustomerNames)(query, customerIds),
|
|
28
|
+
]);
|
|
29
|
+
res.json((0, wire_response_1.toWireResponse)(affiliate_1.AffiliateReportDetailResponseSchema, {
|
|
30
|
+
report: {
|
|
31
|
+
...report,
|
|
32
|
+
entries: report.entries.map((entry) => ({
|
|
33
|
+
...entry,
|
|
34
|
+
order_display_id: entry.order_id
|
|
35
|
+
? orderDisplayIds.get(entry.order_id) ?? null
|
|
36
|
+
: null,
|
|
37
|
+
customer_name: entry.customer_id
|
|
38
|
+
? customerNames.get(entry.customer_id) ?? null
|
|
39
|
+
: null,
|
|
40
|
+
})),
|
|
41
|
+
},
|
|
42
|
+
}));
|
|
43
|
+
};
|
|
44
|
+
exports.GET = GET;
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2FmZmlsaWF0ZS1yZXBvcnRzL1tpZF0vcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBS0EscURBQXFFO0FBQ3JFLG1HQUF5SDtBQUd6SCx5RUFBNEU7QUFDNUUsMERBQXVEO0FBRXZELHFHQUdnRTtBQUl6RCxNQUFNLEdBQUcsR0FBRyxLQUFLLEVBQ3RCLEdBQXlELEVBQ3pELEdBQWtELEVBQ2xELEVBQUU7SUFDRixNQUFNLGdCQUFnQixHQUFHLElBQUEsMENBQXVCLEVBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQzNELE1BQU0sTUFBTSxHQUFHLE1BQU0sZ0JBQWdCLENBQUMsd0JBQXdCLENBQUM7UUFDN0QsWUFBWSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRTtRQUMzQixJQUFJLEVBQUUsR0FBRyxDQUFDLGNBQWMsQ0FBQyxJQUFJO1FBQzdCLEVBQUUsRUFBRSxHQUFHLENBQUMsY0FBYyxDQUFDLEVBQUU7UUFDekIsS0FBSyxFQUFFLEdBQUcsQ0FBQyxjQUFjLENBQUMsS0FBSztRQUMvQixNQUFNLEVBQUUsR0FBRyxDQUFDLGNBQWMsQ0FBQyxNQUFNO0tBQ2xDLENBQUMsQ0FBQTtJQUVGLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ2hFLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxPQUFPO1NBQzVCLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQztTQUM5QixNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQWdCLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDckMsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLE9BQU87U0FDL0IsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDO1NBQ2pDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBZ0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUNyQyxNQUFNLENBQUMsZUFBZSxFQUFFLGFBQWEsQ0FBQyxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUN6RCxJQUFBLGdEQUFzQixFQUFDLEtBQUssRUFBRSxRQUFRLENBQUM7UUFDdkMsSUFBQSw4Q0FBb0IsRUFBQyxLQUFLLEVBQUUsV0FBVyxDQUFDO0tBQ3pDLENBQUMsQ0FBQTtJQUVGLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBQSw4QkFBYyxFQUFDLCtDQUFtQyxFQUFFO1FBQzNELE1BQU0sRUFBRTtZQUNOLEdBQUcsTUFBTTtZQUNULE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDdEMsR0FBRyxLQUFLO2dCQUNSLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxRQUFRO29CQUM5QixDQUFDLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksSUFBSTtvQkFDN0MsQ0FBQyxDQUFDLElBQUk7Z0JBQ1IsYUFBYSxFQUFFLEtBQUssQ0FBQyxXQUFXO29CQUM5QixDQUFDLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLElBQUksSUFBSTtvQkFDOUMsQ0FBQyxDQUFDLElBQUk7YUFDVCxDQUFDLENBQUM7U0FDSjtLQUNGLENBQUMsQ0FBQyxDQUFBO0FBQ0wsQ0FBQyxDQUFBO0FBdkNZLFFBQUEsR0FBRyxPQXVDZiJ9
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
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 wire_response_1 = require("../../wire-response");
|
|
7
|
+
const GET = async (req, res) => {
|
|
8
|
+
const affiliateService = (0, resolve_services_1.resolveAffiliateService)(req.scope);
|
|
9
|
+
const report = await affiliateService.getAffiliateReportOverview(req.validatedQuery);
|
|
10
|
+
res.json((0, wire_response_1.toWireResponse)(affiliate_1.AffiliateReportOverviewResponseSchema, {
|
|
11
|
+
report: {
|
|
12
|
+
from: report.from,
|
|
13
|
+
to: report.to,
|
|
14
|
+
affiliates: report.affiliates.map((affiliate) => ({
|
|
15
|
+
affiliate_id: affiliate.affiliate_id,
|
|
16
|
+
display_name: affiliate.display_name,
|
|
17
|
+
status: affiliate.status,
|
|
18
|
+
currency_code: affiliate.currency_code,
|
|
19
|
+
order_value_amount: affiliate.order_value_amount,
|
|
20
|
+
commission_amount: affiliate.total_commission_amount,
|
|
21
|
+
order_count: affiliate.order_count,
|
|
22
|
+
})),
|
|
23
|
+
},
|
|
24
|
+
}));
|
|
25
|
+
};
|
|
26
|
+
exports.GET = GET;
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2FmZmlsaWF0ZS1yZXBvcnRzL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUtBLG1HQUEySDtBQUczSCxzRUFBeUU7QUFDekUsdURBQW9EO0FBSzdDLE1BQU0sR0FBRyxHQUFHLEtBQUssRUFDdEIsR0FBNEQsRUFDNUQsR0FBb0QsRUFDcEQsRUFBRTtJQUNGLE1BQU0sZ0JBQWdCLEdBQUcsSUFBQSwwQ0FBdUIsRUFBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDM0QsTUFBTSxNQUFNLEdBQUcsTUFBTSxnQkFBZ0IsQ0FBQywwQkFBMEIsQ0FDOUQsR0FBRyxDQUFDLGNBQWMsQ0FDbkIsQ0FBQTtJQUVELEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBQSw4QkFBYyxFQUFDLGlEQUFxQyxFQUFFO1FBQzdELE1BQU0sRUFBRTtZQUNOLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSTtZQUNqQixFQUFFLEVBQUUsTUFBTSxDQUFDLEVBQUU7WUFDYixVQUFVLEVBQUUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ2hELFlBQVksRUFBRSxTQUFTLENBQUMsWUFBWTtnQkFDcEMsWUFBWSxFQUFFLFNBQVMsQ0FBQyxZQUFZO2dCQUNwQyxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU07Z0JBQ3hCLGFBQWEsRUFBRSxTQUFTLENBQUMsYUFBYTtnQkFDdEMsa0JBQWtCLEVBQUUsU0FBUyxDQUFDLGtCQUFrQjtnQkFDaEQsaUJBQWlCLEVBQUUsU0FBUyxDQUFDLHVCQUF1QjtnQkFDcEQsV0FBVyxFQUFFLFNBQVMsQ0FBQyxXQUFXO2FBQ25DLENBQUMsQ0FBQztTQUNKO0tBQ0YsQ0FBQyxDQUFDLENBQUE7QUFDTCxDQUFDLENBQUE7QUF4QlksUUFBQSxHQUFHLE9Bd0JmIn0=
|
|
@@ -0,0 +1,31 @@
|
|
|
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_1 = require("../../../../../modules/affiliate");
|
|
6
|
+
const email_events_1 = require("../../../../../integration/email-events");
|
|
7
|
+
const POST = async (req, res) => {
|
|
8
|
+
const input = req.validatedBody;
|
|
9
|
+
const affiliateService = req.scope.resolve(affiliate_1.AFFILIATE_MODULE);
|
|
10
|
+
const options = await affiliateService.getPluginOptions();
|
|
11
|
+
const candidate = await affiliateService.getConsignmentReportReminderCandidate({
|
|
12
|
+
affiliate_id: req.params.id,
|
|
13
|
+
period_start: input.period_start,
|
|
14
|
+
due_day: options.consignment_reminders.due_day,
|
|
15
|
+
trigger: "manual",
|
|
16
|
+
});
|
|
17
|
+
if (!candidate) {
|
|
18
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_ALLOWED, "Für diesen Affiliate und Meldezeitraum kann kein Reminder angefordert werden.");
|
|
19
|
+
}
|
|
20
|
+
const eventBus = req.scope.resolve(utils_1.Modules.EVENT_BUS);
|
|
21
|
+
await eventBus.emit({
|
|
22
|
+
name: email_events_1.AFFILIATE_CONSIGNMENT_REPORT_REMINDER_DUE_EVENT,
|
|
23
|
+
data: candidate,
|
|
24
|
+
});
|
|
25
|
+
res.status(202).json({
|
|
26
|
+
reminder_key: candidate.reminder_key,
|
|
27
|
+
requested_at: new Date().toISOString(),
|
|
28
|
+
});
|
|
29
|
+
};
|
|
30
|
+
exports.POST = POST;
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2FmZmlsaWF0ZXMvW2lkXS9jb25zaWdubWVudC1yZW1pbmRlcnMvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBS0EscURBQWlFO0FBSWpFLGdFQUFvRTtBQUdwRSwwRUFBMEc7QUFJbkcsTUFBTSxJQUFJLEdBQUcsS0FBSyxFQUN2QixHQUE2QyxFQUM3QyxHQUF1RCxFQUN4QyxFQUFFO0lBQ2pCLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxhQUFhLENBQUM7SUFDaEMsTUFBTSxnQkFBZ0IsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FDeEMsNEJBQWdCLENBQ1MsQ0FBQztJQUM1QixNQUFNLE9BQU8sR0FBRyxNQUFNLGdCQUFnQixDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUQsTUFBTSxTQUFTLEdBQ2IsTUFBTSxnQkFBZ0IsQ0FBQyxxQ0FBcUMsQ0FBQztRQUMzRCxZQUFZLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1FBQzNCLFlBQVksRUFBRSxLQUFLLENBQUMsWUFBWTtRQUNoQyxPQUFPLEVBQUUsT0FBTyxDQUFDLHFCQUFxQixDQUFDLE9BQU87UUFDOUMsT0FBTyxFQUFFLFFBQVE7S0FDbEIsQ0FBQyxDQUFDO0lBQ0wsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2YsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFDN0IsK0VBQStFLENBQ2hGLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxRQUFRLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQ2hDLGVBQU8sQ0FBQyxTQUFTLENBQ1EsQ0FBQztJQUM1QixNQUFNLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFDbEIsSUFBSSxFQUFFLDhEQUErQztRQUNyRCxJQUFJLEVBQUUsU0FBUztLQUNoQixDQUFDLENBQUM7SUFDSCxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNuQixZQUFZLEVBQUUsU0FBUyxDQUFDLFlBQVk7UUFDcEMsWUFBWSxFQUFFLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFO0tBQ3ZDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQWxDVyxRQUFBLElBQUksUUFrQ2YifQ==
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.POST = void 0;
|
|
4
|
+
const resolve_inventory_transfer_adapter_1 = require("../../../../../integrations/inventory-transfer/resolve-inventory-transfer-adapter");
|
|
5
|
+
const transfer_consignment_stock_1 = require("../../../../../workflows/affiliate/transfer-consignment-stock");
|
|
6
|
+
const POST = async (req, res) => {
|
|
7
|
+
try {
|
|
8
|
+
const { result } = await (0, transfer_consignment_stock_1.transferConsignmentStockWorkflow)(req.scope).run({
|
|
9
|
+
input: {
|
|
10
|
+
affiliate_id: req.params.id,
|
|
11
|
+
source_location_id: req.validatedBody.source_location_id,
|
|
12
|
+
idempotency_key: req.validatedBody.idempotency_key,
|
|
13
|
+
admin_id: req.auth_context?.actor_id ?? null,
|
|
14
|
+
lines: req.validatedBody.lines,
|
|
15
|
+
},
|
|
16
|
+
});
|
|
17
|
+
res.json({
|
|
18
|
+
transfer: {
|
|
19
|
+
id: result.id,
|
|
20
|
+
affiliate_id: result.affiliate_id,
|
|
21
|
+
source_location_id: result.source_location_id,
|
|
22
|
+
destination_location_id: result.destination_location_id,
|
|
23
|
+
direction: result.direction,
|
|
24
|
+
status: result.status,
|
|
25
|
+
},
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
catch (error) {
|
|
29
|
+
if (error instanceof Error &&
|
|
30
|
+
error.message === resolve_inventory_transfer_adapter_1.INCOMPATIBLE_BATCH_MANAGEMENT_MESSAGE) {
|
|
31
|
+
res.status(422).json({
|
|
32
|
+
type: "invalid_data",
|
|
33
|
+
message: error.message,
|
|
34
|
+
});
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
throw error;
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
exports.POST = POST;
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2FmZmlsaWF0ZXMvW2lkXS9jb25zaWdubWVudC10cmFuc2ZlcnMvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBT0EsMElBQXlJO0FBRXpJLDhHQUFnSDtBQU16RyxNQUFNLElBQUksR0FBRyxLQUFLLEVBQ3ZCLEdBQTZELEVBQzdELEdBQWdELEVBQ2hELEVBQUU7SUFDRixJQUFJLENBQUM7UUFDSCxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsTUFBTSxJQUFBLDZEQUFnQyxFQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUM7WUFDdkUsS0FBSyxFQUFFO2dCQUNMLFlBQVksRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQzNCLGtCQUFrQixFQUFFLEdBQUcsQ0FBQyxhQUFhLENBQUMsa0JBQWtCO2dCQUN4RCxlQUFlLEVBQUUsR0FBRyxDQUFDLGFBQWEsQ0FBQyxlQUFlO2dCQUNsRCxRQUFRLEVBQUUsR0FBRyxDQUFDLFlBQVksRUFBRSxRQUFRLElBQUksSUFBSTtnQkFDNUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxhQUFhLENBQUMsS0FBSzthQUMvQjtTQUNGLENBQUMsQ0FBQTtRQUVGLEdBQUcsQ0FBQyxJQUFJLENBQUM7WUFDUCxRQUFRLEVBQUU7Z0JBQ1IsRUFBRSxFQUFFLE1BQU0sQ0FBQyxFQUFFO2dCQUNiLFlBQVksRUFBRSxNQUFNLENBQUMsWUFBWTtnQkFDakMsa0JBQWtCLEVBQUUsTUFBTSxDQUFDLGtCQUFrQjtnQkFDN0MsdUJBQXVCLEVBQUUsTUFBTSxDQUFDLHVCQUF1QjtnQkFDdkQsU0FBUyxFQUFFLE1BQU0sQ0FBQyxTQUFTO2dCQUMzQixNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU07YUFDdEI7U0FDRixDQUFDLENBQUE7SUFDSixDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLElBQ0UsS0FBSyxZQUFZLEtBQUs7WUFDdEIsS0FBSyxDQUFDLE9BQU8sS0FBSywwRUFBcUMsRUFDdkQsQ0FBQztZQUNELEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO2dCQUNuQixJQUFJLEVBQUUsY0FBYztnQkFDcEIsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO2FBQ3ZCLENBQUMsQ0FBQTtZQUNGLE9BQU07UUFDUixDQUFDO1FBRUQsTUFBTSxLQUFLLENBQUE7SUFDYixDQUFDO0FBQ0gsQ0FBQyxDQUFBO0FBdkNZLFFBQUEsSUFBSSxRQXVDaEIifQ==
|
package/.medusa/server/src/api/admin/affiliates/[id]/coupon-codes/[coupon_id]/reconcile/route.js
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
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 reconcile_affiliate_coupon_1 = require("../../../../../../../workflows/affiliate/reconcile-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.requireAdminCouponAffiliate)(affiliateService, req.params.id);
|
|
12
|
+
await affiliateService.retrieveAffiliateCouponRecord(req.params.coupon_id, affiliate.id);
|
|
13
|
+
try {
|
|
14
|
+
const { result } = await (0, reconcile_affiliate_coupon_1.reconcileAffiliateCouponWorkflow)(req.scope).run({
|
|
15
|
+
input: { coupon_id: req.params.coupon_id },
|
|
16
|
+
});
|
|
17
|
+
res.json((0, wire_response_1.toWireResponse)(affiliate_1.ReconcileAdminAffiliateCouponCodeResponseSchema, {
|
|
18
|
+
coupon_code: (0, affiliate_coupon_http_1.toAdminAffiliateCouponCode)(result.coupon, affiliate),
|
|
19
|
+
outcome: result.outcome,
|
|
20
|
+
rotation_finalized: result.rotation_finalized,
|
|
21
|
+
}));
|
|
22
|
+
}
|
|
23
|
+
catch (error) {
|
|
24
|
+
if (await (0, affiliate_coupon_http_1.respondToAffiliateCouponCommandError)(res, error, affiliateService, {
|
|
25
|
+
affiliate_id: affiliate.id,
|
|
26
|
+
coupon_id: req.params.coupon_id,
|
|
27
|
+
})) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
throw error;
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
exports.POST = POST;
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2FmZmlsaWF0ZXMvW2lkXS9jb3Vwb24tY29kZXMvW2NvdXBvbl9pZF0vcmVjb25jaWxlL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUlBLG1HQUFxSTtBQUdySSxrRkFBcUY7QUFDckYsb0hBQXNIO0FBQ3RILG1GQUlnRDtBQUNoRCxtRUFBZ0U7QUFFekQsTUFBTSxJQUFJLEdBQUcsS0FBSyxFQUN2QixHQUErQixFQUMvQixHQUE4RCxFQUMvQyxFQUFFO0lBQ2pCLE1BQU0sZ0JBQWdCLEdBQUcsSUFBQSwwQ0FBdUIsRUFBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDM0QsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFBLG1EQUEyQixFQUNqRCxnQkFBZ0IsRUFDaEIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQ2QsQ0FBQTtJQUNELE1BQU0sZ0JBQWdCLENBQUMsNkJBQTZCLENBQ2xELEdBQUcsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUNwQixTQUFTLENBQUMsRUFBRSxDQUNiLENBQUE7SUFFRCxJQUFJLENBQUM7UUFDSCxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsTUFBTSxJQUFBLDZEQUFnQyxFQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUM7WUFDdkUsS0FBSyxFQUFFLEVBQUUsU0FBUyxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFO1NBQzNDLENBQUMsQ0FBQTtRQUVGLEdBQUcsQ0FBQyxJQUFJLENBQ04sSUFBQSw4QkFBYyxFQUFDLDJEQUErQyxFQUFFO1lBQzlELFdBQVcsRUFBRSxJQUFBLGtEQUEwQixFQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDO1lBQ2pFLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTztZQUN2QixrQkFBa0IsRUFBRSxNQUFNLENBQUMsa0JBQWtCO1NBQzlDLENBQUMsQ0FDSCxDQUFBO0lBQ0gsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixJQUNFLE1BQU0sSUFBQSw0REFBb0MsRUFDeEMsR0FBRyxFQUNILEtBQUssRUFDTCxnQkFBZ0IsRUFDaEI7WUFDRSxZQUFZLEVBQUUsU0FBUyxDQUFDLEVBQUU7WUFDMUIsU0FBUyxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsU0FBUztTQUNoQyxDQUNGLEVBQ0QsQ0FBQztZQUNELE9BQU07UUFDUixDQUFDO1FBQ0QsTUFBTSxLQUFLLENBQUE7SUFDYixDQUFDO0FBQ0gsQ0FBQyxDQUFBO0FBMUNZLFFBQUEsSUFBSSxRQTBDaEIifQ==
|
|
@@ -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.requireAdminCouponAffiliate)(affiliateService, req.params.id);
|
|
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: "admin",
|
|
18
|
+
revoked_by_id: req.auth_context.actor_id,
|
|
19
|
+
},
|
|
20
|
+
});
|
|
21
|
+
res.json((0, wire_response_1.toWireResponse)(affiliate_1.AdminAffiliateCouponCodeResponseSchema, {
|
|
22
|
+
coupon_code: (0, affiliate_coupon_http_1.toAdminAffiliateCouponCode)(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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2FmZmlsaWF0ZXMvW2lkXS9jb3Vwb24tY29kZXMvW2NvdXBvbl9pZF0vcmV2b2tlL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUlBLG1HQUE0SDtBQUc1SCxrRkFBcUY7QUFDckYsOEdBQWdIO0FBQ2hILG1GQUlnRDtBQUNoRCxtRUFBZ0U7QUFFekQsTUFBTSxJQUFJLEdBQUcsS0FBSyxFQUN2QixHQUErQixFQUMvQixHQUFxRCxFQUN0QyxFQUFFO0lBQ2pCLE1BQU0sZ0JBQWdCLEdBQUcsSUFBQSwwQ0FBdUIsRUFBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDM0QsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFBLG1EQUEyQixFQUNqRCxnQkFBZ0IsRUFDaEIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQ2QsQ0FBQTtJQUVELElBQUksQ0FBQztRQUNILE1BQU0sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLEdBQUcsTUFBTSxJQUFBLHVEQUE2QixFQUNoRSxHQUFHLENBQUMsS0FBSyxDQUNWLENBQUMsR0FBRyxDQUFDO1lBQ0osS0FBSyxFQUFFO2dCQUNMLFlBQVksRUFBRSxTQUFTLENBQUMsRUFBRTtnQkFDMUIsU0FBUyxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsU0FBUztnQkFDL0IsZUFBZSxFQUFFLE9BQU87Z0JBQ3hCLGFBQWEsRUFBRSxHQUFHLENBQUMsWUFBWSxDQUFDLFFBQVE7YUFDekM7U0FDRixDQUFDLENBQUE7UUFFRixHQUFHLENBQUMsSUFBSSxDQUNOLElBQUEsOEJBQWMsRUFBQyxrREFBc0MsRUFBRTtZQUNyRCxXQUFXLEVBQUUsSUFBQSxrREFBMEIsRUFBQyxVQUFVLEVBQUUsU0FBUyxDQUFDO1NBQy9ELENBQUMsQ0FDSCxDQUFBO0lBQ0gsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixJQUNFLE1BQU0sSUFBQSw0REFBb0MsRUFDeEMsR0FBRyxFQUNILEtBQUssRUFDTCxnQkFBZ0IsRUFDaEI7WUFDRSxZQUFZLEVBQUUsU0FBUyxDQUFDLEVBQUU7WUFDMUIsU0FBUyxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsU0FBUztTQUNoQyxDQUNGLEVBQ0QsQ0FBQztZQUNELE9BQU07UUFDUixDQUFDO1FBQ0QsTUFBTSxLQUFLLENBQUE7SUFDYixDQUFDO0FBQ0gsQ0FBQyxDQUFBO0FBM0NZLFFBQUEsSUFBSSxRQTJDaEIifQ==
|
|
@@ -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.requireAdminCouponAffiliate)(affiliateService, req.params.id);
|
|
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: "admin",
|
|
20
|
+
created_by_id: req.auth_context.actor_id,
|
|
21
|
+
},
|
|
22
|
+
});
|
|
23
|
+
res.json((0, wire_response_1.toWireResponse)(affiliate_1.RotateAdminAffiliateCouponCodeResponseSchema, {
|
|
24
|
+
coupon_code: (0, affiliate_coupon_http_1.toAdminAffiliateCouponCode)(result.coupon, affiliate),
|
|
25
|
+
revoked_coupon_code: (0, affiliate_coupon_http_1.toAdminAffiliateCouponCode)(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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2FmZmlsaWF0ZXMvW2lkXS9jb3Vwb24tY29kZXMvW2NvdXBvbl9pZF0vcm90YXRlL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUtBLG1HQUFrSTtBQUdsSSxrRkFBcUY7QUFDckYsOEdBQWdIO0FBQ2hILG1GQUlnRDtBQUNoRCxtRUFBZ0U7QUFPekQsTUFBTSxJQUFJLEdBQUcsS0FBSyxFQUN2QixHQUFxRCxFQUNyRCxHQUEyRCxFQUM1QyxFQUFFO0lBQ2pCLE1BQU0sZ0JBQWdCLEdBQUcsSUFBQSwwQ0FBdUIsRUFBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDM0QsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFBLG1EQUEyQixFQUNqRCxnQkFBZ0IsRUFDaEIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQ2QsQ0FBQTtJQUVELElBQUksQ0FBQztRQUNILE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLElBQUEsdURBQTZCLEVBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQztZQUNwRSxLQUFLLEVBQUU7Z0JBQ0wsWUFBWSxFQUFFLFNBQVMsQ0FBQyxFQUFFO2dCQUMxQixTQUFTLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxTQUFTO2dCQUMvQixJQUFJLEVBQUUsR0FBRyxDQUFDLGFBQWEsQ0FBQyxJQUFJO2dCQUM1Qix3QkFBd0IsRUFBRSxHQUFHLENBQUMsYUFBYSxDQUFDLGVBQWU7Z0JBQzNELGVBQWUsRUFBRSxPQUFPO2dCQUN4QixhQUFhLEVBQUUsR0FBRyxDQUFDLFlBQVksQ0FBQyxRQUFRO2FBQ3pDO1NBQ0YsQ0FBQyxDQUFBO1FBRUYsR0FBRyxDQUFDLElBQUksQ0FDTixJQUFBLDhCQUFjLEVBQUMsd0RBQTRDLEVBQUU7WUFDM0QsV0FBVyxFQUFFLElBQUEsa0RBQTBCLEVBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUM7WUFDakUsbUJBQW1CLEVBQUUsSUFBQSxrREFBMEIsRUFDN0MsTUFBTSxDQUFDLGNBQWMsRUFDckIsU0FBUyxDQUNWO1NBQ0YsQ0FBQyxDQUNILENBQUE7SUFDSCxDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLElBQ0UsTUFBTSxJQUFBLDREQUFvQyxFQUN4QyxHQUFHLEVBQ0gsS0FBSyxFQUNMLGdCQUFnQixFQUNoQjtZQUNFLFlBQVksRUFBRSxTQUFTLENBQUMsRUFBRTtZQUMxQixlQUFlLEVBQUUsR0FBRyxDQUFDLGFBQWEsQ0FBQyxlQUFlO1lBQ2xELGlCQUFpQixFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsU0FBUztTQUN4QyxDQUNGLEVBQ0QsQ0FBQztZQUNELE9BQU07UUFDUixDQUFDO1FBQ0QsTUFBTSxLQUFLLENBQUE7SUFDYixDQUFDO0FBQ0gsQ0FBQyxDQUFBO0FBaERZLFFBQUEsSUFBSSxRQWdEaEIifQ==
|