@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.
Files changed (169) hide show
  1. package/.medusa/server/src/admin/index.js +3739 -0
  2. package/.medusa/server/src/admin/index.mjs +3738 -0
  3. package/.medusa/server/src/api/admin/affiliate-applications/[id]/approve/route.js +28 -0
  4. package/.medusa/server/src/api/admin/affiliate-applications/[id]/reject/route.js +19 -0
  5. package/.medusa/server/src/api/admin/affiliate-applications/route.js +23 -0
  6. package/.medusa/server/src/api/admin/affiliate-distribution-reports/query.js +171 -0
  7. package/.medusa/server/src/api/admin/affiliate-distribution-reports/route.js +13 -0
  8. package/.medusa/server/src/api/admin/affiliate-program-settings/route.js +27 -0
  9. package/.medusa/server/src/api/admin/affiliate-reports/[id]/route.js +45 -0
  10. package/.medusa/server/src/api/admin/affiliate-reports/route.js +27 -0
  11. package/.medusa/server/src/api/admin/affiliates/[id]/consignment-reminders/route.js +31 -0
  12. package/.medusa/server/src/api/admin/affiliates/[id]/consignment-transfers/route.js +41 -0
  13. package/.medusa/server/src/api/admin/affiliates/[id]/coupon-codes/[coupon_id]/reconcile/route.js +34 -0
  14. package/.medusa/server/src/api/admin/affiliates/[id]/coupon-codes/[coupon_id]/revoke/route.js +36 -0
  15. package/.medusa/server/src/api/admin/affiliates/[id]/coupon-codes/[coupon_id]/rotate/route.js +40 -0
  16. package/.medusa/server/src/api/admin/affiliates/[id]/coupon-codes/route.js +56 -0
  17. package/.medusa/server/src/api/admin/affiliates/[id]/distribution/route.js +45 -0
  18. package/.medusa/server/src/api/admin/affiliates/[id]/inactive/route.js +20 -0
  19. package/.medusa/server/src/api/admin/affiliates/[id]/route.js +50 -0
  20. package/.medusa/server/src/api/admin/affiliates/[id]/slugs/[slug_id]/route.js +19 -0
  21. package/.medusa/server/src/api/admin/affiliates/[id]/slugs/route.js +26 -0
  22. package/.medusa/server/src/api/admin/affiliates/route.js +43 -0
  23. package/.medusa/server/src/api/admin/consignment-report-response.js +36 -0
  24. package/.medusa/server/src/api/admin/consignment-reports/[id]/approve/route.js +25 -0
  25. package/.medusa/server/src/api/admin/consignment-reports/[id]/correct/route.js +18 -0
  26. package/.medusa/server/src/api/admin/consignment-reports/[id]/reject/route.js +15 -0
  27. package/.medusa/server/src/api/admin/consignment-reports/[id]/route.js +11 -0
  28. package/.medusa/server/src/api/admin/consignment-reports/route.js +27 -0
  29. package/.medusa/server/src/api/admin/customers/[id]/affiliate/route.js +50 -0
  30. package/.medusa/server/src/api/admin/orders/[id]/affiliate-attribution/route.js +30 -0
  31. package/.medusa/server/src/api/affiliate-coupon-http.js +152 -0
  32. package/.medusa/server/src/api/affiliate-referral-cookie.js +34 -0
  33. package/.medusa/server/src/api/affiliate-self-service-http.js +37 -0
  34. package/.medusa/server/src/api/middlewares.js +786 -0
  35. package/.medusa/server/src/api/store/affiliate-referrals/apply-coupon/route.js +47 -0
  36. package/.medusa/server/src/api/store/affiliate-referrals/capture/route.js +76 -0
  37. package/.medusa/server/src/api/store/affiliate-referrals/carts/[cart_id]/route.js +20 -0
  38. package/.medusa/server/src/api/store/affiliates/consignment-inventory/route.js +53 -0
  39. package/.medusa/server/src/api/store/affiliates/consignment-report-response.js +31 -0
  40. package/.medusa/server/src/api/store/affiliates/consignment-reports/[id]/submit/route.js +40 -0
  41. package/.medusa/server/src/api/store/affiliates/consignment-reports/route.js +43 -0
  42. package/.medusa/server/src/api/store/affiliates/coupon-labels/route.js +14 -0
  43. package/.medusa/server/src/api/store/affiliates/me/commissions/route.js +35 -0
  44. package/.medusa/server/src/api/store/affiliates/me/coupon-codes/[coupon_id]/revoke/route.js +36 -0
  45. package/.medusa/server/src/api/store/affiliates/me/coupon-codes/[coupon_id]/rotate/route.js +40 -0
  46. package/.medusa/server/src/api/store/affiliates/me/coupon-codes/route.js +55 -0
  47. package/.medusa/server/src/api/store/affiliates/me/dashboard/route.js +15 -0
  48. package/.medusa/server/src/api/store/affiliates/me/route.js +85 -0
  49. package/.medusa/server/src/api/store/affiliates/me/slugs/[slug_id]/route.js +29 -0
  50. package/.medusa/server/src/api/store/affiliates/me/slugs/route.js +34 -0
  51. package/.medusa/server/src/api/store/affiliates/own-order-discount/route.js +22 -0
  52. package/.medusa/server/src/api/store/affiliates/own-order-promotion/route.js +30 -0
  53. package/.medusa/server/src/api/store/affiliates/register/route.js +27 -0
  54. package/.medusa/server/src/api/store/affiliates/resolve-referral/route.js +34 -0
  55. package/.medusa/server/src/api/validators.js +52 -0
  56. package/.medusa/server/src/api/wire-response.js +10 -0
  57. package/.medusa/server/src/integration/email-events.js +51 -0
  58. package/.medusa/server/src/integrations/inventory-transfer/batch-management-transfer-adapter.js +36 -0
  59. package/.medusa/server/src/integrations/inventory-transfer/native-inventory-transfer-adapter.js +30 -0
  60. package/.medusa/server/src/integrations/inventory-transfer/resolve-inventory-transfer-adapter.js +46 -0
  61. package/.medusa/server/src/integrations/inventory-transfer/types.js +3 -0
  62. package/.medusa/server/src/jobs/affiliate-attribution-expiry.js +20 -0
  63. package/.medusa/server/src/jobs/affiliate-consignment-report-reminders.js +15 -0
  64. package/.medusa/server/src/jobs/affiliate-promotion-freshness.js +24 -0
  65. package/.medusa/server/src/lib/query-string.js +15 -0
  66. package/.medusa/server/src/modules/affiliate/domain/affiliate-attribution-policy.js +81 -0
  67. package/.medusa/server/src/modules/affiliate/domain/affiliate-coupon-policy.js +61 -0
  68. package/.medusa/server/src/modules/affiliate/domain/commission-policy.js +33 -0
  69. package/.medusa/server/src/modules/affiliate/domain/consignment-reminder-rules.js +74 -0
  70. package/.medusa/server/src/modules/affiliate/domain/email-normalization.js +20 -0
  71. package/.medusa/server/src/modules/affiliate/domain/own-order-coupon-code.js +37 -0
  72. package/.medusa/server/src/modules/affiliate/domain/plugin-options.js +40 -0
  73. package/.medusa/server/src/modules/affiliate/index.js +13 -0
  74. package/.medusa/server/src/modules/affiliate/migrations/Migration20260827085154.js +423 -0
  75. package/.medusa/server/src/modules/affiliate/models/affiliate-application.js +38 -0
  76. package/.medusa/server/src/modules/affiliate/models/affiliate-cart-referral.js +65 -0
  77. package/.medusa/server/src/modules/affiliate/models/affiliate-code-redemption.js +41 -0
  78. package/.medusa/server/src/modules/affiliate/models/affiliate-coupon.js +55 -0
  79. package/.medusa/server/src/modules/affiliate/models/affiliate-distribution-settings.js +22 -0
  80. package/.medusa/server/src/modules/affiliate/models/affiliate-order-attribution.js +49 -0
  81. package/.medusa/server/src/modules/affiliate/models/affiliate-program-settings.js +28 -0
  82. package/.medusa/server/src/modules/affiliate/models/affiliate-referral-session.js +34 -0
  83. package/.medusa/server/src/modules/affiliate/models/affiliate-slug.js +27 -0
  84. package/.medusa/server/src/modules/affiliate/models/affiliate.js +49 -0
  85. package/.medusa/server/src/modules/affiliate/models/commission-entry.js +62 -0
  86. package/.medusa/server/src/modules/affiliate/models/consignment-report-line.js +21 -0
  87. package/.medusa/server/src/modules/affiliate/models/consignment-report.js +31 -0
  88. package/.medusa/server/src/modules/affiliate/models/consignment-transfer-line.js +16 -0
  89. package/.medusa/server/src/modules/affiliate/models/consignment-transfer.js +20 -0
  90. package/.medusa/server/src/modules/affiliate/models/customer-affiliate-assignment.js +58 -0
  91. package/.medusa/server/src/modules/affiliate/service.js +2321 -0
  92. package/.medusa/server/src/modules/affiliate/services/affiliate-application-manager.js +171 -0
  93. package/.medusa/server/src/modules/affiliate/services/affiliate-coupon-manager.js +441 -0
  94. package/.medusa/server/src/modules/affiliate/services/affiliate-discount.service.js +55 -0
  95. package/.medusa/server/src/modules/affiliate/services/affiliate-manager.js +242 -0
  96. package/.medusa/server/src/modules/affiliate/services/affiliate-partner-portal.service.js +138 -0
  97. package/.medusa/server/src/modules/affiliate/services/affiliate-report.service.js +436 -0
  98. package/.medusa/server/src/modules/affiliate/services/affiliate-slug-manager.js +163 -0
  99. package/.medusa/server/src/modules/affiliate/services/commission-ledger.service.js +729 -0
  100. package/.medusa/server/src/modules/affiliate/services/customer-affiliate-assignment-manager.js +350 -0
  101. package/.medusa/server/src/modules/affiliate/services/order-attribution-manager.js +1051 -0
  102. package/.medusa/server/src/modules/affiliate/services/referral-lifecycle-manager.js +1420 -0
  103. package/.medusa/server/src/modules/affiliate/services/utils.js +49 -0
  104. package/.medusa/server/src/modules/affiliate/types/internal.js +3 -0
  105. package/.medusa/server/src/paths/affiliate.js +7 -0
  106. package/.medusa/server/src/paths/index.js +18 -0
  107. package/.medusa/server/src/schemas/index.js +18 -0
  108. package/.medusa/server/src/schemas/store.js +24 -0
  109. package/.medusa/server/src/subscribers/affiliate-cart-updated.js +92 -0
  110. package/.medusa/server/src/subscribers/affiliate-order-canceled.js +70 -0
  111. package/.medusa/server/src/subscribers/affiliate-order-placed.js +63 -0
  112. package/.medusa/server/src/subscribers/affiliate-order-return-received.js +67 -0
  113. package/.medusa/server/src/subscribers/affiliate-product-eligibility-updated.js +87 -0
  114. package/.medusa/server/src/types/admin-api.js +3 -0
  115. package/.medusa/server/src/types/enums.js +53 -0
  116. package/.medusa/server/src/types/index.js +32 -0
  117. package/.medusa/server/src/types/public.js +3 -0
  118. package/.medusa/server/src/types/store-api.js +3 -0
  119. package/.medusa/server/src/utils/affiliate-cart-operation-lock.js +316 -0
  120. package/.medusa/server/src/utils/affiliate-promotion-mutation-authorization.js +49 -0
  121. package/.medusa/server/src/utils/cart-promotions.js +9 -0
  122. package/.medusa/server/src/utils/money.js +79 -0
  123. package/.medusa/server/src/utils/promotion-code-availability.js +34 -0
  124. package/.medusa/server/src/utils/registered-email-checkout.js +101 -0
  125. package/.medusa/server/src/utils/resolve-services.js +7 -0
  126. package/.medusa/server/src/utils/settle-cart-promotions.js +44 -0
  127. package/.medusa/server/src/workflows/affiliate/affiliate-coupon-cart.js +215 -0
  128. package/.medusa/server/src/workflows/affiliate/affiliate-coupon-command-authorization.js +20 -0
  129. package/.medusa/server/src/workflows/affiliate/apply-affiliate-coupon.js +174 -0
  130. package/.medusa/server/src/workflows/affiliate/apply-own-order-promotion.js +89 -0
  131. package/.medusa/server/src/workflows/affiliate/approve-consignment-report.js +186 -0
  132. package/.medusa/server/src/workflows/affiliate/correct-approved-consignment-report.js +263 -0
  133. package/.medusa/server/src/workflows/affiliate/create-affiliate-coupon.js +35 -0
  134. package/.medusa/server/src/workflows/affiliate/create-commission-correction-for-cancellation.js +21 -0
  135. package/.medusa/server/src/workflows/affiliate/create-commission-correction-for-refund.js +24 -0
  136. package/.medusa/server/src/workflows/affiliate/create-commission-for-order.js +17 -0
  137. package/.medusa/server/src/workflows/affiliate/deactivate-affiliate.js +89 -0
  138. package/.medusa/server/src/workflows/affiliate/enable-distribution.js +120 -0
  139. package/.medusa/server/src/workflows/affiliate/enrich-affiliate-report.js +75 -0
  140. package/.medusa/server/src/workflows/affiliate/ensure-affiliate-coupon-promotion.js +410 -0
  141. package/.medusa/server/src/workflows/affiliate/ensure-affiliate-own-order-promotion.js +240 -0
  142. package/.medusa/server/src/workflows/affiliate/ensure-default-affiliate-coupon.js +32 -0
  143. package/.medusa/server/src/workflows/affiliate/expire-affiliate-attribution-state.js +131 -0
  144. package/.medusa/server/src/workflows/affiliate/finalize-affiliate-order-attribution.js +82 -0
  145. package/.medusa/server/src/workflows/affiliate/payment-authorization.js +33 -0
  146. package/.medusa/server/src/workflows/affiliate/promotion-eligibility.js +179 -0
  147. package/.medusa/server/src/workflows/affiliate/reconcile-affiliate-cart-referral.js +219 -0
  148. package/.medusa/server/src/workflows/affiliate/reconcile-affiliate-coupon.js +388 -0
  149. package/.medusa/server/src/workflows/affiliate/refresh-affiliate-promotions.js +114 -0
  150. package/.medusa/server/src/workflows/affiliate/resolve-coupon-labels.js +40 -0
  151. package/.medusa/server/src/workflows/affiliate/revoke-affiliate-coupon.js +29 -0
  152. package/.medusa/server/src/workflows/affiliate/rotate-affiliate-coupon.js +36 -0
  153. package/.medusa/server/src/workflows/affiliate/run-consignment-report-reminders.js +58 -0
  154. package/.medusa/server/src/workflows/affiliate/submit-consignment-report.js +279 -0
  155. package/.medusa/server/src/workflows/affiliate/transfer-batch-aware-inventory.js +172 -0
  156. package/.medusa/server/src/workflows/affiliate/transfer-consignment-stock.js +106 -0
  157. package/.medusa/server/src/workflows/affiliate/update-affiliate-coupon-discounts.js +129 -0
  158. package/.medusa/server/src/workflows/affiliate/utils.js +118 -0
  159. package/.medusa/server/src/workflows/hooks/complete-cart-affiliate-attribution.js +57 -0
  160. package/.medusa/server/src/workflows/hooks/complete-cart-order-created-composition.js +111 -0
  161. package/.medusa/server/src/workflows/hooks/complete-cart-own-order-discount.js +75 -0
  162. package/.medusa/server/src/workflows/hooks/enforce-unique-promotion-codes.js +33 -0
  163. package/.medusa/server/src/workflows/hooks/validate-affiliate-customer-code.js +239 -0
  164. package/.medusa/server/src/workflows/hooks/validate-complete-cart-affiliate-referral.js +137 -0
  165. package/LICENSE +21 -0
  166. package/README.md +799 -0
  167. package/dist/integration/email-events.d.ts +20 -0
  168. package/dist/integration/email-events.js +50 -0
  169. 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