@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,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const utils_1 = require("@medusajs/framework/utils");
4
+ const AffiliateCartReferral = utils_1.model
5
+ .define({
6
+ name: "affiliate_cart_referral",
7
+ tableName: "affiliate_cart_referral",
8
+ }, {
9
+ id: utils_1.model.id({ prefix: "affcartref" }).primaryKey(),
10
+ cart_id: utils_1.model.text().index("IDX_affiliate_cart_referral_cart_id"),
11
+ referral_session_id: utils_1.model
12
+ .text()
13
+ .index("IDX_affiliate_cart_referral_session_id")
14
+ .nullable(),
15
+ affiliate_id: utils_1.model
16
+ .text()
17
+ .index("IDX_affiliate_cart_referral_affiliate_id"),
18
+ affiliate_slug_id: utils_1.model
19
+ .text()
20
+ .index("IDX_affiliate_cart_referral_affiliate_slug_id")
21
+ .nullable(),
22
+ source_affiliate_coupon_id: utils_1.model
23
+ .text()
24
+ .index("IDX_affiliate_cart_referral_source_coupon_id")
25
+ .nullable(),
26
+ applied_affiliate_coupon_id: utils_1.model
27
+ .text()
28
+ .index("IDX_affiliate_cart_referral_applied_coupon_id")
29
+ .nullable(),
30
+ applied_promotion_id: utils_1.model
31
+ .text()
32
+ .index("IDX_affiliate_cart_referral_applied_promotion_id")
33
+ .nullable(),
34
+ source: utils_1.model.text().index("IDX_affiliate_cart_referral_source"),
35
+ status: utils_1.model
36
+ .text()
37
+ .default("active")
38
+ .index("IDX_affiliate_cart_referral_status"),
39
+ source_value_snapshot: utils_1.model.text(),
40
+ captured_at: utils_1.model
41
+ .dateTime()
42
+ .index("IDX_affiliate_cart_referral_captured_at"),
43
+ expires_at: utils_1.model
44
+ .dateTime()
45
+ .index("IDX_affiliate_cart_referral_expires_at"),
46
+ replaced_by_referral_id: utils_1.model.text().nullable(),
47
+ consumed_order_id: utils_1.model.text().nullable(),
48
+ invalidated_reason: utils_1.model.text().nullable(),
49
+ })
50
+ .indexes([
51
+ {
52
+ name: "IDX_affiliate_cart_referral_unique_active_cart",
53
+ on: ["cart_id"],
54
+ unique: true,
55
+ where: "deleted_at IS NULL AND status = 'active'",
56
+ },
57
+ {
58
+ name: "IDX_affiliate_cart_referral_unique_pending_coupon_cart",
59
+ on: ["cart_id"],
60
+ unique: true,
61
+ where: "deleted_at IS NULL AND source = 'coupon' AND status = 'pending_email_validation'",
62
+ },
63
+ ]);
64
+ exports.default = AffiliateCartReferral;
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWZmaWxpYXRlLWNhcnQtcmVmZXJyYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9hZmZpbGlhdGUvbW9kZWxzL2FmZmlsaWF0ZS1jYXJ0LXJlZmVycmFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEscURBQWlEO0FBRWpELE1BQU0scUJBQXFCLEdBQUcsYUFBSztLQUNoQyxNQUFNLENBQ0w7SUFDRSxJQUFJLEVBQUUseUJBQXlCO0lBQy9CLFNBQVMsRUFBRSx5QkFBeUI7Q0FDckMsRUFDRDtJQUNFLEVBQUUsRUFBRSxhQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsVUFBVSxFQUFFO0lBQ25ELE9BQU8sRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLHFDQUFxQyxDQUFDO0lBQ2xFLG1CQUFtQixFQUFFLGFBQUs7U0FDdkIsSUFBSSxFQUFFO1NBQ04sS0FBSyxDQUFDLHdDQUF3QyxDQUFDO1NBQy9DLFFBQVEsRUFBRTtJQUNiLFlBQVksRUFBRSxhQUFLO1NBQ2hCLElBQUksRUFBRTtTQUNOLEtBQUssQ0FBQywwQ0FBMEMsQ0FBQztJQUNwRCxpQkFBaUIsRUFBRSxhQUFLO1NBQ3JCLElBQUksRUFBRTtTQUNOLEtBQUssQ0FBQywrQ0FBK0MsQ0FBQztTQUN0RCxRQUFRLEVBQUU7SUFDYiwwQkFBMEIsRUFBRSxhQUFLO1NBQzlCLElBQUksRUFBRTtTQUNOLEtBQUssQ0FBQyw4Q0FBOEMsQ0FBQztTQUNyRCxRQUFRLEVBQUU7SUFDYiwyQkFBMkIsRUFBRSxhQUFLO1NBQy9CLElBQUksRUFBRTtTQUNOLEtBQUssQ0FBQywrQ0FBK0MsQ0FBQztTQUN0RCxRQUFRLEVBQUU7SUFDYixvQkFBb0IsRUFBRSxhQUFLO1NBQ3hCLElBQUksRUFBRTtTQUNOLEtBQUssQ0FBQyxrREFBa0QsQ0FBQztTQUN6RCxRQUFRLEVBQUU7SUFDYixNQUFNLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQztJQUNoRSxNQUFNLEVBQUUsYUFBSztTQUNWLElBQUksRUFBRTtTQUNOLE9BQU8sQ0FBQyxRQUFRLENBQUM7U0FDakIsS0FBSyxDQUFDLG9DQUFvQyxDQUFDO0lBQzlDLHFCQUFxQixFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUU7SUFDbkMsV0FBVyxFQUFFLGFBQUs7U0FDZixRQUFRLEVBQUU7U0FDVixLQUFLLENBQUMseUNBQXlDLENBQUM7SUFDbkQsVUFBVSxFQUFFLGFBQUs7U0FDZCxRQUFRLEVBQUU7U0FDVixLQUFLLENBQUMsd0NBQXdDLENBQUM7SUFDbEQsdUJBQXVCLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNoRCxpQkFBaUIsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzFDLGtCQUFrQixFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7Q0FDNUMsQ0FDRjtLQUNBLE9BQU8sQ0FBQztJQUNQO1FBQ0UsSUFBSSxFQUFFLGdEQUFnRDtRQUN0RCxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUM7UUFDZixNQUFNLEVBQUUsSUFBSTtRQUNaLEtBQUssRUFBRSwwQ0FBMEM7S0FDbEQ7SUFDRDtRQUNFLElBQUksRUFBRSx3REFBd0Q7UUFDOUQsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDO1FBQ2YsTUFBTSxFQUFFLElBQUk7UUFDWixLQUFLLEVBQ0gsa0ZBQWtGO0tBQ3JGO0NBQ0YsQ0FBQyxDQUFBO0FBRUosa0JBQWUscUJBQXFCLENBQUEifQ==
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const utils_1 = require("@medusajs/framework/utils");
4
+ const AffiliateCodeRedemption = utils_1.model.define({ name: "affiliate_code_redemption", tableName: "affiliate_code_redemption" }, {
5
+ id: utils_1.model.id({ prefix: "affred" }).primaryKey(),
6
+ affiliate_id: utils_1.model
7
+ .text()
8
+ .index("IDX_affiliate_code_redemption_affiliate_id"),
9
+ affiliate_coupon_id: utils_1.model
10
+ .text()
11
+ .index("IDX_affiliate_code_redemption_coupon_id"),
12
+ promotion_id: utils_1.model
13
+ .text()
14
+ .index("IDX_affiliate_code_redemption_promotion_id"),
15
+ code_snapshot: utils_1.model.text(),
16
+ normalized_email: utils_1.model
17
+ .text()
18
+ .unique("IDX_affiliate_code_redemption_email"),
19
+ customer_id: utils_1.model
20
+ .text()
21
+ .index("IDX_affiliate_code_redemption_customer_id")
22
+ .nullable(),
23
+ assignment_id: utils_1.model
24
+ .text()
25
+ .index("IDX_affiliate_code_redemption_assignment_id")
26
+ .nullable(),
27
+ cart_id: utils_1.model.text().index("IDX_affiliate_code_redemption_cart_id"),
28
+ order_id: utils_1.model.text().unique("IDX_affiliate_code_redemption_order"),
29
+ redeemed_at: utils_1.model
30
+ .dateTime()
31
+ .index("IDX_affiliate_code_redemption_redeemed_at"),
32
+ }).indexes([
33
+ {
34
+ name: "IDX_affiliate_code_redemption_customer_id_unique",
35
+ on: ["customer_id"],
36
+ unique: true,
37
+ where: "customer_id IS NOT NULL",
38
+ },
39
+ ]);
40
+ exports.default = AffiliateCodeRedemption;
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWZmaWxpYXRlLWNvZGUtcmVkZW1wdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL2FmZmlsaWF0ZS9tb2RlbHMvYWZmaWxpYXRlLWNvZGUtcmVkZW1wdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHFEQUFpRDtBQUVqRCxNQUFNLHVCQUF1QixHQUFHLGFBQUssQ0FBQyxNQUFNLENBQzFDLEVBQUUsSUFBSSxFQUFFLDJCQUEyQixFQUFFLFNBQVMsRUFBRSwyQkFBMkIsRUFBRSxFQUM3RTtJQUNFLEVBQUUsRUFBRSxhQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsVUFBVSxFQUFFO0lBQy9DLFlBQVksRUFBRSxhQUFLO1NBQ2hCLElBQUksRUFBRTtTQUNOLEtBQUssQ0FBQyw0Q0FBNEMsQ0FBQztJQUN0RCxtQkFBbUIsRUFBRSxhQUFLO1NBQ3ZCLElBQUksRUFBRTtTQUNOLEtBQUssQ0FBQyx5Q0FBeUMsQ0FBQztJQUNuRCxZQUFZLEVBQUUsYUFBSztTQUNoQixJQUFJLEVBQUU7U0FDTixLQUFLLENBQUMsNENBQTRDLENBQUM7SUFDdEQsYUFBYSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUU7SUFDM0IsZ0JBQWdCLEVBQUUsYUFBSztTQUNwQixJQUFJLEVBQUU7U0FDTixNQUFNLENBQUMscUNBQXFDLENBQUM7SUFDaEQsV0FBVyxFQUFFLGFBQUs7U0FDZixJQUFJLEVBQUU7U0FDTixLQUFLLENBQUMsMkNBQTJDLENBQUM7U0FDbEQsUUFBUSxFQUFFO0lBQ2IsYUFBYSxFQUFFLGFBQUs7U0FDakIsSUFBSSxFQUFFO1NBQ04sS0FBSyxDQUFDLDZDQUE2QyxDQUFDO1NBQ3BELFFBQVEsRUFBRTtJQUNiLE9BQU8sRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLHVDQUF1QyxDQUFDO0lBQ3BFLFFBQVEsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxDQUFDLHFDQUFxQyxDQUFDO0lBQ3BFLFdBQVcsRUFBRSxhQUFLO1NBQ2YsUUFBUSxFQUFFO1NBQ1YsS0FBSyxDQUFDLDJDQUEyQyxDQUFDO0NBQ3RELENBQ0YsQ0FBQyxPQUFPLENBQUM7SUFDUjtRQUNFLElBQUksRUFBRSxrREFBa0Q7UUFDeEQsRUFBRSxFQUFFLENBQUMsYUFBYSxDQUFDO1FBQ25CLE1BQU0sRUFBRSxJQUFJO1FBQ1osS0FBSyxFQUFFLHlCQUF5QjtLQUNqQztDQUNGLENBQUMsQ0FBQTtBQUVGLGtCQUFlLHVCQUF1QixDQUFBIn0=
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const utils_1 = require("@medusajs/framework/utils");
4
+ const AffiliateCoupon = utils_1.model
5
+ .define({
6
+ name: "affiliate_coupon",
7
+ tableName: "affiliate_coupon",
8
+ }, {
9
+ id: utils_1.model.id({ prefix: "affcpn" }).primaryKey(),
10
+ affiliate_id: utils_1.model.text().index("IDX_affiliate_coupon_affiliate_id"),
11
+ code: utils_1.model.text().unique("IDX_affiliate_coupon_code"),
12
+ lifecycle_status: utils_1.model
13
+ .text()
14
+ .default("enabled")
15
+ .index("IDX_affiliate_coupon_lifecycle_status"),
16
+ provisioning_status: utils_1.model
17
+ .text()
18
+ .default("pending")
19
+ .index("IDX_affiliate_coupon_provisioning_status"),
20
+ promotion_id: utils_1.model.text().nullable(),
21
+ promotion_setup_error: utils_1.model.text().nullable(),
22
+ origin: utils_1.model.text(),
23
+ creation_idempotency_key: utils_1.model.text().nullable(),
24
+ replaces_coupon_id: utils_1.model
25
+ .text()
26
+ .index("IDX_affiliate_coupon_replaces_coupon_id")
27
+ .nullable(),
28
+ created_by_type: utils_1.model.text(),
29
+ created_by_id: utils_1.model.text().nullable(),
30
+ revoked_at: utils_1.model.dateTime().nullable(),
31
+ revoked_by_type: utils_1.model.text().nullable(),
32
+ revoked_by_id: utils_1.model.text().nullable(),
33
+ })
34
+ .indexes([
35
+ {
36
+ name: "IDX_affiliate_coupon_promotion_id_unique",
37
+ on: ["promotion_id"],
38
+ unique: true,
39
+ where: "promotion_id IS NOT NULL",
40
+ },
41
+ {
42
+ name: "IDX_affiliate_coupon_creation_idempotency_key",
43
+ on: ["creation_idempotency_key"],
44
+ unique: true,
45
+ where: "creation_idempotency_key IS NOT NULL",
46
+ },
47
+ {
48
+ name: "IDX_affiliate_coupon_active_replacement",
49
+ on: ["replaces_coupon_id"],
50
+ unique: true,
51
+ where: "replaces_coupon_id IS NOT NULL AND lifecycle_status = 'enabled'",
52
+ },
53
+ ]);
54
+ exports.default = AffiliateCoupon;
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWZmaWxpYXRlLWNvdXBvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL2FmZmlsaWF0ZS9tb2RlbHMvYWZmaWxpYXRlLWNvdXBvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHFEQUFpRDtBQUVqRCxNQUFNLGVBQWUsR0FBRyxhQUFLO0tBQzFCLE1BQU0sQ0FDTDtJQUNFLElBQUksRUFBRSxrQkFBa0I7SUFDeEIsU0FBUyxFQUFFLGtCQUFrQjtDQUM5QixFQUNEO0lBQ0UsRUFBRSxFQUFFLGFBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQyxVQUFVLEVBQUU7SUFDL0MsWUFBWSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsbUNBQW1DLENBQUM7SUFDckUsSUFBSSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUMsMkJBQTJCLENBQUM7SUFDdEQsZ0JBQWdCLEVBQUUsYUFBSztTQUNwQixJQUFJLEVBQUU7U0FDTixPQUFPLENBQUMsU0FBUyxDQUFDO1NBQ2xCLEtBQUssQ0FBQyx1Q0FBdUMsQ0FBQztJQUNqRCxtQkFBbUIsRUFBRSxhQUFLO1NBQ3ZCLElBQUksRUFBRTtTQUNOLE9BQU8sQ0FBQyxTQUFTLENBQUM7U0FDbEIsS0FBSyxDQUFDLDBDQUEwQyxDQUFDO0lBQ3BELFlBQVksRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ3JDLHFCQUFxQixFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDOUMsTUFBTSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUU7SUFDcEIsd0JBQXdCLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNqRCxrQkFBa0IsRUFBRSxhQUFLO1NBQ3RCLElBQUksRUFBRTtTQUNOLEtBQUssQ0FBQyx5Q0FBeUMsQ0FBQztTQUNoRCxRQUFRLEVBQUU7SUFDYixlQUFlLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRTtJQUM3QixhQUFhLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUN0QyxVQUFVLEVBQUUsYUFBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUN2QyxlQUFlLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUN4QyxhQUFhLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtDQUN2QyxDQUNGO0tBQ0EsT0FBTyxDQUFDO0lBQ1A7UUFDRSxJQUFJLEVBQUUsMENBQTBDO1FBQ2hELEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQztRQUNwQixNQUFNLEVBQUUsSUFBSTtRQUNaLEtBQUssRUFBRSwwQkFBMEI7S0FDbEM7SUFDRDtRQUNFLElBQUksRUFBRSwrQ0FBK0M7UUFDckQsRUFBRSxFQUFFLENBQUMsMEJBQTBCLENBQUM7UUFDaEMsTUFBTSxFQUFFLElBQUk7UUFDWixLQUFLLEVBQUUsc0NBQXNDO0tBQzlDO0lBQ0Q7UUFDRSxJQUFJLEVBQUUseUNBQXlDO1FBQy9DLEVBQUUsRUFBRSxDQUFDLG9CQUFvQixDQUFDO1FBQzFCLE1BQU0sRUFBRSxJQUFJO1FBQ1osS0FBSyxFQUNILGlFQUFpRTtLQUNwRTtDQUNGLENBQUMsQ0FBQTtBQUVKLGtCQUFlLGVBQWUsQ0FBQSJ9
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const utils_1 = require("@medusajs/framework/utils");
4
+ const AffiliateDistributionSettings = utils_1.model
5
+ .define({ name: "affiliate_distribution_settings", tableName: "affiliate_distribution_settings" }, {
6
+ id: utils_1.model.id({ prefix: "affdist" }).primaryKey(),
7
+ affiliate_id: utils_1.model.text().index("IDX_affiliate_distribution_settings_affiliate_id"),
8
+ stock_location_id: utils_1.model.text().index("IDX_affiliate_distribution_settings_stock_location_id"),
9
+ internal_sales_channel_id: utils_1.model.text().index("IDX_affiliate_distribution_settings_internal_sales_channel_id"),
10
+ region_id: utils_1.model.text().index("IDX_affiliate_distribution_settings_region_id"),
11
+ shipping_option_id: utils_1.model.text().index("IDX_affiliate_distribution_settings_shipping_option_id"),
12
+ enabled: utils_1.model.boolean().default(true).index("IDX_affiliate_distribution_settings_enabled"),
13
+ own_order_promotion_id: utils_1.model.text().nullable(),
14
+ metadata: utils_1.model.json().nullable(),
15
+ })
16
+ .indexes([
17
+ { name: "IDX_affiliate_distribution_settings_affiliate_unique", on: ["affiliate_id"], unique: true, where: "deleted_at IS NULL" },
18
+ { name: "IDX_affiliate_distribution_settings_location_unique", on: ["stock_location_id"], unique: true, where: "deleted_at IS NULL" },
19
+ { name: "IDX_affiliate_distribution_settings_channel_unique", on: ["internal_sales_channel_id"], unique: true, where: "deleted_at IS NULL" },
20
+ ]);
21
+ exports.default = AffiliateDistributionSettings;
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWZmaWxpYXRlLWRpc3RyaWJ1dGlvbi1zZXR0aW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL2FmZmlsaWF0ZS9tb2RlbHMvYWZmaWxpYXRlLWRpc3RyaWJ1dGlvbi1zZXR0aW5ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHFEQUFpRDtBQUVqRCxNQUFNLDZCQUE2QixHQUFHLGFBQUs7S0FDeEMsTUFBTSxDQUNQLEVBQUUsSUFBSSxFQUFFLGlDQUFpQyxFQUFFLFNBQVMsRUFBRSxpQ0FBaUMsRUFBRSxFQUN6RjtJQUNFLEVBQUUsRUFBRSxhQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsVUFBVSxFQUFFO0lBQ2hELFlBQVksRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLGtEQUFrRCxDQUFDO0lBQ3BGLGlCQUFpQixFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsdURBQXVELENBQUM7SUFDOUYseUJBQXlCLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQywrREFBK0QsQ0FBQztJQUM5RyxTQUFTLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQywrQ0FBK0MsQ0FBQztJQUM5RSxrQkFBa0IsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLHdEQUF3RCxDQUFDO0lBQ2hHLE9BQU8sRUFBRSxhQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyw2Q0FBNkMsQ0FBQztJQUMzRixzQkFBc0IsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQy9DLFFBQVEsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFO0NBQ2xDLENBQ0E7S0FDQSxPQUFPLENBQUM7SUFDUCxFQUFFLElBQUksRUFBRSxzREFBc0QsRUFBRSxFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxvQkFBb0IsRUFBRTtJQUNqSSxFQUFFLElBQUksRUFBRSxxREFBcUQsRUFBRSxFQUFFLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLG9CQUFvQixFQUFFO0lBQ3JJLEVBQUUsSUFBSSxFQUFFLG9EQUFvRCxFQUFFLEVBQUUsRUFBRSxDQUFDLDJCQUEyQixDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsb0JBQW9CLEVBQUU7Q0FDN0ksQ0FBQyxDQUFBO0FBRUosa0JBQWUsNkJBQTZCLENBQUEifQ==
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const utils_1 = require("@medusajs/framework/utils");
4
+ const AffiliateOrderAttribution = utils_1.model
5
+ .define({
6
+ name: "affiliate_order_attribution",
7
+ tableName: "affiliate_order_attribution",
8
+ }, {
9
+ id: utils_1.model.id({ prefix: "affordattr" }).primaryKey(),
10
+ order_id: utils_1.model.text().unique("IDX_affiliate_order_attribution_order_id"),
11
+ cart_id: utils_1.model.text().index("IDX_affiliate_order_attribution_cart_id"),
12
+ affiliate_id: utils_1.model
13
+ .text()
14
+ .index("IDX_affiliate_order_attribution_affiliate_id"),
15
+ customer_id: utils_1.model
16
+ .text()
17
+ .index("IDX_affiliate_order_attribution_customer_id")
18
+ .nullable(),
19
+ normalized_email: utils_1.model.text().nullable(),
20
+ source: utils_1.model.text().index("IDX_affiliate_order_attribution_source"),
21
+ customer_affiliate_assignment_id: utils_1.model.text().nullable(),
22
+ affiliate_cart_referral_id: utils_1.model.text().nullable(),
23
+ affiliate_slug_id: utils_1.model.text().nullable(),
24
+ affiliate_code_redemption_id: utils_1.model.text().nullable(),
25
+ promotion_id: utils_1.model.text().nullable(),
26
+ slug_or_code_snapshot: utils_1.model.text().nullable(),
27
+ currency_code: utils_1.model
28
+ .text()
29
+ .index("IDX_affiliate_order_attribution_currency_code"),
30
+ customer_assignment_mode: utils_1.model.text(),
31
+ assignment_duration_days: utils_1.model.number().nullable(),
32
+ commission_rate: utils_1.model.float(),
33
+ referrer_affiliate_id: utils_1.model.text().nullable(),
34
+ referrer_commission_rate: utils_1.model.float().nullable(),
35
+ policy_version: utils_1.model.number(),
36
+ commission_base_strategy: utils_1.model.text(),
37
+ referrer_base_strategy: utils_1.model.text(),
38
+ attributed_at: utils_1.model
39
+ .dateTime()
40
+ .index("IDX_affiliate_order_attribution_attributed_at"),
41
+ })
42
+ .indexes([
43
+ {
44
+ name: "IDX_affiliate_order_attribution_reporting",
45
+ on: ["affiliate_id", "attributed_at", "currency_code"],
46
+ },
47
+ ]);
48
+ exports.default = AffiliateOrderAttribution;
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWZmaWxpYXRlLW9yZGVyLWF0dHJpYnV0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL21vZHVsZXMvYWZmaWxpYXRlL21vZGVscy9hZmZpbGlhdGUtb3JkZXItYXR0cmlidXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxxREFBaUQ7QUFFakQsTUFBTSx5QkFBeUIsR0FBRyxhQUFLO0tBQ3BDLE1BQU0sQ0FDTDtJQUNFLElBQUksRUFBRSw2QkFBNkI7SUFDbkMsU0FBUyxFQUFFLDZCQUE2QjtDQUN6QyxFQUNEO0lBQ0UsRUFBRSxFQUFFLGFBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxVQUFVLEVBQUU7SUFDbkQsUUFBUSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUMsMENBQTBDLENBQUM7SUFDekUsT0FBTyxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMseUNBQXlDLENBQUM7SUFDdEUsWUFBWSxFQUFFLGFBQUs7U0FDaEIsSUFBSSxFQUFFO1NBQ04sS0FBSyxDQUFDLDhDQUE4QyxDQUFDO0lBQ3hELFdBQVcsRUFBRSxhQUFLO1NBQ2YsSUFBSSxFQUFFO1NBQ04sS0FBSyxDQUFDLDZDQUE2QyxDQUFDO1NBQ3BELFFBQVEsRUFBRTtJQUNiLGdCQUFnQixFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDekMsTUFBTSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsd0NBQXdDLENBQUM7SUFDcEUsZ0NBQWdDLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUN6RCwwQkFBMEIsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ25ELGlCQUFpQixFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDMUMsNEJBQTRCLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNyRCxZQUFZLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNyQyxxQkFBcUIsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzlDLGFBQWEsRUFBRSxhQUFLO1NBQ2pCLElBQUksRUFBRTtTQUNOLEtBQUssQ0FBQywrQ0FBK0MsQ0FBQztJQUN6RCx3QkFBd0IsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFO0lBQ3RDLHdCQUF3QixFQUFFLGFBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDbkQsZUFBZSxFQUFFLGFBQUssQ0FBQyxLQUFLLEVBQUU7SUFDOUIscUJBQXFCLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM5Qyx3QkFBd0IsRUFBRSxhQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ2xELGNBQWMsRUFBRSxhQUFLLENBQUMsTUFBTSxFQUFFO0lBQzlCLHdCQUF3QixFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUU7SUFDdEMsc0JBQXNCLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRTtJQUNwQyxhQUFhLEVBQUUsYUFBSztTQUNqQixRQUFRLEVBQUU7U0FDVixLQUFLLENBQUMsK0NBQStDLENBQUM7Q0FDMUQsQ0FDRjtLQUNBLE9BQU8sQ0FBQztJQUNQO1FBQ0UsSUFBSSxFQUFFLDJDQUEyQztRQUNqRCxFQUFFLEVBQUUsQ0FBQyxjQUFjLEVBQUUsZUFBZSxFQUFFLGVBQWUsQ0FBQztLQUN2RDtDQUNGLENBQUMsQ0FBQTtBQUVKLGtCQUFlLHlCQUF5QixDQUFBIn0=
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const utils_1 = require("@medusajs/framework/utils");
4
+ const AffiliateProgramSettings = utils_1.model
5
+ .define({
6
+ name: "affiliate_program_settings",
7
+ tableName: "affiliate_program_settings",
8
+ }, {
9
+ id: utils_1.model.id({ prefix: "affprog" }).primaryKey(),
10
+ scope: utils_1.model.text().default("global"),
11
+ commission_base: utils_1.model.text().default("after_discounts"),
12
+ referrer_base: utils_1.model.text().default("order_base"),
13
+ promotion_stacking: utils_1.model.text().default("allow_stacking"),
14
+ default_customer_discount_rate: utils_1.model.float().default(5),
15
+ referral_overwrite_policy: utils_1.model.text().default("first_touch"),
16
+ referral_window_days: utils_1.model.number().default(30),
17
+ policy_version: utils_1.model.number().default(1),
18
+ })
19
+ .indexes([
20
+ {
21
+ name: "IDX_affiliate_program_settings_global",
22
+ on: ["scope"],
23
+ unique: true,
24
+ where: "deleted_at IS NULL",
25
+ },
26
+ ]);
27
+ exports.default = AffiliateProgramSettings;
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWZmaWxpYXRlLXByb2dyYW0tc2V0dGluZ3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9hZmZpbGlhdGUvbW9kZWxzL2FmZmlsaWF0ZS1wcm9ncmFtLXNldHRpbmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEscURBQWlEO0FBRWpELE1BQU0sd0JBQXdCLEdBQUcsYUFBSztLQUNuQyxNQUFNLENBQ0w7SUFDRSxJQUFJLEVBQUUsNEJBQTRCO0lBQ2xDLFNBQVMsRUFBRSw0QkFBNEI7Q0FDeEMsRUFDRDtJQUNFLEVBQUUsRUFBRSxhQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsVUFBVSxFQUFFO0lBQ2hELEtBQUssRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztJQUNyQyxlQUFlLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQztJQUN4RCxhQUFhLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUM7SUFDakQsa0JBQWtCLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQztJQUMxRCw4QkFBOEIsRUFBRSxhQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUN4RCx5QkFBeUIsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQztJQUM5RCxvQkFBb0IsRUFBRSxhQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztJQUNoRCxjQUFjLEVBQUUsYUFBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7Q0FDMUMsQ0FDRjtLQUNBLE9BQU8sQ0FBQztJQUNQO1FBQ0UsSUFBSSxFQUFFLHVDQUF1QztRQUM3QyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUM7UUFDYixNQUFNLEVBQUUsSUFBSTtRQUNaLEtBQUssRUFBRSxvQkFBb0I7S0FDNUI7Q0FDRixDQUFDLENBQUE7QUFFSixrQkFBZSx3QkFBd0IsQ0FBQSJ9
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const utils_1 = require("@medusajs/framework/utils");
4
+ const AffiliateReferralSession = utils_1.model.define({
5
+ name: "affiliate_referral_session",
6
+ tableName: "affiliate_referral_session",
7
+ }, {
8
+ id: utils_1.model.id({ prefix: "affrefsess" }).primaryKey(),
9
+ token_hash: utils_1.model
10
+ .text()
11
+ .unique("IDX_affiliate_referral_session_token_hash"),
12
+ affiliate_id: utils_1.model
13
+ .text()
14
+ .index("IDX_affiliate_referral_session_affiliate_id"),
15
+ affiliate_slug_id: utils_1.model
16
+ .text()
17
+ .index("IDX_affiliate_referral_session_affiliate_slug_id"),
18
+ slug_snapshot: utils_1.model.text(),
19
+ status: utils_1.model
20
+ .text()
21
+ .default("active")
22
+ .index("IDX_affiliate_referral_session_status"),
23
+ expires_at: utils_1.model
24
+ .dateTime()
25
+ .index("IDX_affiliate_referral_session_expires_at"),
26
+ consumed_at: utils_1.model.dateTime().nullable(),
27
+ invalidated_at: utils_1.model.dateTime().nullable(),
28
+ replaced_by_session_id: utils_1.model
29
+ .text()
30
+ .index("IDX_affiliate_referral_session_replaced_by_session_id")
31
+ .nullable(),
32
+ });
33
+ exports.default = AffiliateReferralSession;
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWZmaWxpYXRlLXJlZmVycmFsLXNlc3Npb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9hZmZpbGlhdGUvbW9kZWxzL2FmZmlsaWF0ZS1yZWZlcnJhbC1zZXNzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEscURBQWlEO0FBRWpELE1BQU0sd0JBQXdCLEdBQUcsYUFBSyxDQUFDLE1BQU0sQ0FDM0M7SUFDRSxJQUFJLEVBQUUsNEJBQTRCO0lBQ2xDLFNBQVMsRUFBRSw0QkFBNEI7Q0FDeEMsRUFDRDtJQUNFLEVBQUUsRUFBRSxhQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsVUFBVSxFQUFFO0lBQ25ELFVBQVUsRUFBRSxhQUFLO1NBQ2QsSUFBSSxFQUFFO1NBQ04sTUFBTSxDQUFDLDJDQUEyQyxDQUFDO0lBQ3RELFlBQVksRUFBRSxhQUFLO1NBQ2hCLElBQUksRUFBRTtTQUNOLEtBQUssQ0FBQyw2Q0FBNkMsQ0FBQztJQUN2RCxpQkFBaUIsRUFBRSxhQUFLO1NBQ3JCLElBQUksRUFBRTtTQUNOLEtBQUssQ0FBQyxrREFBa0QsQ0FBQztJQUM1RCxhQUFhLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRTtJQUMzQixNQUFNLEVBQUUsYUFBSztTQUNWLElBQUksRUFBRTtTQUNOLE9BQU8sQ0FBQyxRQUFRLENBQUM7U0FDakIsS0FBSyxDQUFDLHVDQUF1QyxDQUFDO0lBQ2pELFVBQVUsRUFBRSxhQUFLO1NBQ2QsUUFBUSxFQUFFO1NBQ1YsS0FBSyxDQUFDLDJDQUEyQyxDQUFDO0lBQ3JELFdBQVcsRUFBRSxhQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ3hDLGNBQWMsRUFBRSxhQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzNDLHNCQUFzQixFQUFFLGFBQUs7U0FDMUIsSUFBSSxFQUFFO1NBQ04sS0FBSyxDQUFDLHVEQUF1RCxDQUFDO1NBQzlELFFBQVEsRUFBRTtDQUNkLENBQ0YsQ0FBQTtBQUVELGtCQUFlLHdCQUF3QixDQUFBIn0=
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const utils_1 = require("@medusajs/framework/utils");
4
+ const AffiliateSlug = utils_1.model
5
+ .define({
6
+ name: "affiliate_slug",
7
+ tableName: "affiliate_slug",
8
+ }, {
9
+ id: utils_1.model.id({ prefix: "affslug" }).primaryKey(),
10
+ affiliate_id: utils_1.model.text().index("IDX_affiliate_slug_affiliate_id"),
11
+ slug: utils_1.model.text().unique("IDX_affiliate_slug_unique_slug"),
12
+ active: utils_1.model.boolean().default(true).index("IDX_affiliate_slug_active"),
13
+ is_primary: utils_1.model
14
+ .boolean()
15
+ .default(false)
16
+ .index("IDX_affiliate_slug_is_primary"),
17
+ })
18
+ .indexes([
19
+ {
20
+ name: "IDX_affiliate_slug_unique_primary",
21
+ on: ["affiliate_id"],
22
+ unique: true,
23
+ where: "deleted_at IS NULL AND is_primary = true",
24
+ },
25
+ ]);
26
+ exports.default = AffiliateSlug;
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWZmaWxpYXRlLXNsdWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9hZmZpbGlhdGUvbW9kZWxzL2FmZmlsaWF0ZS1zbHVnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEscURBQWlEO0FBRWpELE1BQU0sYUFBYSxHQUFHLGFBQUs7S0FDeEIsTUFBTSxDQUNMO0lBQ0UsSUFBSSxFQUFFLGdCQUFnQjtJQUN0QixTQUFTLEVBQUUsZ0JBQWdCO0NBQzVCLEVBQ0Q7SUFDRSxFQUFFLEVBQUUsYUFBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLFVBQVUsRUFBRTtJQUNoRCxZQUFZLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQztJQUNuRSxJQUFJLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQyxnQ0FBZ0MsQ0FBQztJQUMzRCxNQUFNLEVBQUUsYUFBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsMkJBQTJCLENBQUM7SUFDeEUsVUFBVSxFQUFFLGFBQUs7U0FDZCxPQUFPLEVBQUU7U0FDVCxPQUFPLENBQUMsS0FBSyxDQUFDO1NBQ2QsS0FBSyxDQUFDLCtCQUErQixDQUFDO0NBQzFDLENBQ0Y7S0FDQSxPQUFPLENBQUM7SUFDUDtRQUNFLElBQUksRUFBRSxtQ0FBbUM7UUFDekMsRUFBRSxFQUFFLENBQUMsY0FBYyxDQUFDO1FBQ3BCLE1BQU0sRUFBRSxJQUFJO1FBQ1osS0FBSyxFQUFFLDBDQUEwQztLQUNsRDtDQUNGLENBQUMsQ0FBQTtBQUVKLGtCQUFlLGFBQWEsQ0FBQSJ9
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const utils_1 = require("@medusajs/framework/utils");
4
+ const Affiliate = utils_1.model
5
+ .define({
6
+ name: "affiliate",
7
+ tableName: "affiliate",
8
+ }, {
9
+ id: utils_1.model.id({ prefix: "aff" }).primaryKey(),
10
+ display_name: utils_1.model.text().searchable(),
11
+ // Deliberate scalar reference to a Customer in another module. It is the
12
+ // source of truth (unique per non-deleted affiliate, see the index below)
13
+ // and is looked up directly. It is intentionally NOT a module link: the
14
+ // create/approve/assign write paths are plain module-service calls, not
15
+ // workflows, so there is no clean place to maintain a managed link, and a
16
+ // read-only link would require adding @medusajs/medusa as a plugin
17
+ // dependency. See the task report (M4) for the rationale.
18
+ customer_id: utils_1.model.text().index("IDX_affiliate_customer_id").nullable(),
19
+ status: utils_1.model.text().default("pending").index("IDX_affiliate_status"),
20
+ commission_rate: utils_1.model.float().default(0),
21
+ own_order_discount_rate: utils_1.model.float().default(0),
22
+ customer_assignment_mode: utils_1.model.text().default("lifetime"),
23
+ assignment_duration_days: utils_1.model.number().nullable(),
24
+ customer_discount_rate_override: utils_1.model.float().nullable(),
25
+ own_order_promotion_id: utils_1.model.text().nullable(),
26
+ referred_by_affiliate_id: utils_1.model
27
+ .text()
28
+ .index("IDX_affiliate_referred_by_affiliate_id")
29
+ .nullable(),
30
+ referrer_commission_rate: utils_1.model.float().nullable(),
31
+ primary_slug_id: utils_1.model
32
+ .text()
33
+ .index("IDX_affiliate_primary_slug_id")
34
+ .nullable(),
35
+ internal_notes: utils_1.model.text().nullable(),
36
+ activated_at: utils_1.model.dateTime().nullable(),
37
+ inactivated_at: utils_1.model.dateTime().nullable(),
38
+ metadata: utils_1.model.json().nullable(),
39
+ })
40
+ .indexes([
41
+ {
42
+ name: "IDX_affiliate_unique_customer",
43
+ on: ["customer_id"],
44
+ unique: true,
45
+ where: "deleted_at IS NULL AND customer_id IS NOT NULL",
46
+ },
47
+ ]);
48
+ exports.default = Affiliate;
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWZmaWxpYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL21vZHVsZXMvYWZmaWxpYXRlL21vZGVscy9hZmZpbGlhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxxREFBaUQ7QUFFakQsTUFBTSxTQUFTLEdBQUcsYUFBSztLQUNwQixNQUFNLENBQ0w7SUFDRSxJQUFJLEVBQUUsV0FBVztJQUNqQixTQUFTLEVBQUUsV0FBVztDQUN2QixFQUNEO0lBQ0UsRUFBRSxFQUFFLGFBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxVQUFVLEVBQUU7SUFDNUMsWUFBWSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxVQUFVLEVBQUU7SUFDdkMseUVBQXlFO0lBQ3pFLDBFQUEwRTtJQUMxRSx3RUFBd0U7SUFDeEUsd0VBQXdFO0lBQ3hFLDBFQUEwRTtJQUMxRSxtRUFBbUU7SUFDbkUsMERBQTBEO0lBQzFELFdBQVcsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLDJCQUEyQixDQUFDLENBQUMsUUFBUSxFQUFFO0lBQ3ZFLE1BQU0sRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQztJQUNyRSxlQUFlLEVBQUUsYUFBSyxDQUFDLEtBQUssRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDekMsdUJBQXVCLEVBQUUsYUFBSyxDQUFDLEtBQUssRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDakQsd0JBQXdCLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUM7SUFDMUQsd0JBQXdCLEVBQUUsYUFBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNuRCwrQkFBK0IsRUFBRSxhQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ3pELHNCQUFzQixFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDL0Msd0JBQXdCLEVBQUUsYUFBSztTQUM1QixJQUFJLEVBQUU7U0FDTixLQUFLLENBQUMsd0NBQXdDLENBQUM7U0FDL0MsUUFBUSxFQUFFO0lBQ2Isd0JBQXdCLEVBQUUsYUFBSyxDQUFDLEtBQUssRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNsRCxlQUFlLEVBQUUsYUFBSztTQUNuQixJQUFJLEVBQUU7U0FDTixLQUFLLENBQUMsK0JBQStCLENBQUM7U0FDdEMsUUFBUSxFQUFFO0lBQ2IsY0FBYyxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDdkMsWUFBWSxFQUFFLGFBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDekMsY0FBYyxFQUFFLGFBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDM0MsUUFBUSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7Q0FDbEMsQ0FDRjtLQUNBLE9BQU8sQ0FBQztJQUNQO1FBQ0UsSUFBSSxFQUFFLCtCQUErQjtRQUNyQyxFQUFFLEVBQUUsQ0FBQyxhQUFhLENBQUM7UUFDbkIsTUFBTSxFQUFFLElBQUk7UUFDWixLQUFLLEVBQUUsZ0RBQWdEO0tBQ3hEO0NBQ0YsQ0FBQyxDQUFBO0FBRUosa0JBQWUsU0FBUyxDQUFBIn0=
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const utils_1 = require("@medusajs/framework/utils");
4
+ const CommissionEntry = utils_1.model
5
+ .define({
6
+ name: "commission_entry",
7
+ tableName: "commission_entry",
8
+ }, {
9
+ id: utils_1.model.id({ prefix: "affcomm" }).primaryKey(),
10
+ affiliate_id: utils_1.model.text().index("IDX_commission_entry_affiliate_id"),
11
+ customer_id: utils_1.model
12
+ .text()
13
+ .index("IDX_commission_entry_customer_id")
14
+ .nullable(),
15
+ order_id: utils_1.model.text().index("IDX_commission_entry_order_id").nullable(),
16
+ refund_id: utils_1.model
17
+ .text()
18
+ .index("IDX_commission_entry_refund_id")
19
+ .nullable(),
20
+ base_commission_entry_id: utils_1.model
21
+ .text()
22
+ .index("IDX_commission_entry_base_commission_entry_id")
23
+ .nullable(),
24
+ source_affiliate_id: utils_1.model
25
+ .text()
26
+ .index("IDX_commission_entry_source_affiliate_id")
27
+ .nullable(),
28
+ type: utils_1.model.text().index("IDX_commission_entry_type"),
29
+ base_amount_net: utils_1.model.float(),
30
+ policy_version: utils_1.model.number().nullable(),
31
+ commission_base_strategy: utils_1.model.text().nullable(),
32
+ referrer_base_strategy: utils_1.model.text().nullable(),
33
+ undiscounted_base_amount_net: utils_1.model.float().nullable(),
34
+ discounted_base_amount_net: utils_1.model.float().nullable(),
35
+ discount_amount_net: utils_1.model.float().nullable(),
36
+ direct_commission_amount: utils_1.model.float().nullable(),
37
+ referrer_base_amount_net: utils_1.model.float().nullable(),
38
+ commission_rate: utils_1.model.float(),
39
+ commission_amount: utils_1.model.float(),
40
+ currency_code: utils_1.model.text().index("IDX_commission_entry_currency_code"),
41
+ occurred_at: utils_1.model.dateTime().index("IDX_commission_entry_occurred_at"),
42
+ // Deterministic per-booking dedup key (see commission-ledger.service.ts).
43
+ // A DB-level partial unique index on it makes every ledger write
44
+ // idempotent under duplicate event delivery, so the same money is never
45
+ // booked twice. Nullable for historical rows migrated before it existed.
46
+ idempotency_key: utils_1.model.text().nullable(),
47
+ metadata: utils_1.model.json().nullable(),
48
+ })
49
+ .indexes([
50
+ {
51
+ name: "IDX_commission_entry_unique_idempotency_key",
52
+ on: ["idempotency_key"],
53
+ unique: true,
54
+ where: "deleted_at IS NULL AND idempotency_key IS NOT NULL",
55
+ },
56
+ {
57
+ name: "IDX_commission_entry_reporting",
58
+ on: ["affiliate_id", "occurred_at", "currency_code"],
59
+ },
60
+ ]);
61
+ exports.default = CommissionEntry;
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWlzc2lvbi1lbnRyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL2FmZmlsaWF0ZS9tb2RlbHMvY29tbWlzc2lvbi1lbnRyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHFEQUFpRDtBQUVqRCxNQUFNLGVBQWUsR0FBRyxhQUFLO0tBQzFCLE1BQU0sQ0FDTDtJQUNFLElBQUksRUFBRSxrQkFBa0I7SUFDeEIsU0FBUyxFQUFFLGtCQUFrQjtDQUM5QixFQUNEO0lBQ0UsRUFBRSxFQUFFLGFBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQyxVQUFVLEVBQUU7SUFDaEQsWUFBWSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsbUNBQW1DLENBQUM7SUFDckUsV0FBVyxFQUFFLGFBQUs7U0FDZixJQUFJLEVBQUU7U0FDTixLQUFLLENBQUMsa0NBQWtDLENBQUM7U0FDekMsUUFBUSxFQUFFO0lBQ2IsUUFBUSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsK0JBQStCLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDeEUsU0FBUyxFQUFFLGFBQUs7U0FDYixJQUFJLEVBQUU7U0FDTixLQUFLLENBQUMsZ0NBQWdDLENBQUM7U0FDdkMsUUFBUSxFQUFFO0lBQ2Isd0JBQXdCLEVBQUUsYUFBSztTQUM1QixJQUFJLEVBQUU7U0FDTixLQUFLLENBQUMsK0NBQStDLENBQUM7U0FDdEQsUUFBUSxFQUFFO0lBQ2IsbUJBQW1CLEVBQUUsYUFBSztTQUN2QixJQUFJLEVBQUU7U0FDTixLQUFLLENBQUMsMENBQTBDLENBQUM7U0FDakQsUUFBUSxFQUFFO0lBQ2IsSUFBSSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsMkJBQTJCLENBQUM7SUFDckQsZUFBZSxFQUFFLGFBQUssQ0FBQyxLQUFLLEVBQUU7SUFDOUIsY0FBYyxFQUFFLGFBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDekMsd0JBQXdCLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNqRCxzQkFBc0IsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQy9DLDRCQUE0QixFQUFFLGFBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDdEQsMEJBQTBCLEVBQUUsYUFBSyxDQUFDLEtBQUssRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNwRCxtQkFBbUIsRUFBRSxhQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzdDLHdCQUF3QixFQUFFLGFBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDbEQsd0JBQXdCLEVBQUUsYUFBSyxDQUFDLEtBQUssRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNsRCxlQUFlLEVBQUUsYUFBSyxDQUFDLEtBQUssRUFBRTtJQUM5QixpQkFBaUIsRUFBRSxhQUFLLENBQUMsS0FBSyxFQUFFO0lBQ2hDLGFBQWEsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLG9DQUFvQyxDQUFDO0lBQ3ZFLFdBQVcsRUFBRSxhQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsS0FBSyxDQUFDLGtDQUFrQyxDQUFDO0lBQ3ZFLDBFQUEwRTtJQUMxRSxpRUFBaUU7SUFDakUsd0VBQXdFO0lBQ3hFLHlFQUF5RTtJQUN6RSxlQUFlLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUN4QyxRQUFRLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtDQUNsQyxDQUNGO0tBQ0EsT0FBTyxDQUFDO0lBQ1A7UUFDRSxJQUFJLEVBQUUsNkNBQTZDO1FBQ25ELEVBQUUsRUFBRSxDQUFDLGlCQUFpQixDQUFDO1FBQ3ZCLE1BQU0sRUFBRSxJQUFJO1FBQ1osS0FBSyxFQUFFLG9EQUFvRDtLQUM1RDtJQUNEO1FBQ0UsSUFBSSxFQUFFLGdDQUFnQztRQUN0QyxFQUFFLEVBQUUsQ0FBQyxjQUFjLEVBQUUsYUFBYSxFQUFFLGVBQWUsQ0FBQztLQUNyRDtDQUNGLENBQUMsQ0FBQTtBQUVKLGtCQUFlLGVBQWUsQ0FBQSJ9
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const utils_1 = require("@medusajs/framework/utils");
4
+ const ConsignmentReportLine = utils_1.model.define({ name: "consignment_report_line", tableName: "consignment_report_line" }, {
5
+ id: utils_1.model.id({ prefix: "consrepln" }).primaryKey(),
6
+ consignment_report_id: utils_1.model.text().index("IDX_consignment_report_line_report_id"),
7
+ inventory_item_id: utils_1.model.text().index("IDX_consignment_report_line_inventory_item_id"),
8
+ batch_id: utils_1.model.text().index("IDX_consignment_report_line_batch_id").nullable(),
9
+ expected_quantity: utils_1.model.number(),
10
+ counted_quantity: utils_1.model.number(),
11
+ confirmed_sale_quantity: utils_1.model.number(),
12
+ requires_admin_clarification: utils_1.model.boolean().default(false),
13
+ non_sale_reason: utils_1.model.text().nullable(),
14
+ correction_reason: utils_1.model.text().nullable(),
15
+ unit_price_snapshot: utils_1.model.float().nullable(),
16
+ currency_code: utils_1.model.text().nullable(),
17
+ order_line_item_id: utils_1.model.text().index("IDX_consignment_report_line_order_line_item_id").nullable(),
18
+ metadata: utils_1.model.json().nullable(),
19
+ });
20
+ exports.default = ConsignmentReportLine;
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc2lnbm1lbnQtcmVwb3J0LWxpbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9hZmZpbGlhdGUvbW9kZWxzL2NvbnNpZ25tZW50LXJlcG9ydC1saW5lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEscURBQWlEO0FBRWpELE1BQU0scUJBQXFCLEdBQUcsYUFBSyxDQUFDLE1BQU0sQ0FDeEMsRUFBRSxJQUFJLEVBQUUseUJBQXlCLEVBQUUsU0FBUyxFQUFFLHlCQUF5QixFQUFFLEVBQ3pFO0lBQ0UsRUFBRSxFQUFFLGFBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQyxVQUFVLEVBQUU7SUFDbEQscUJBQXFCLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyx1Q0FBdUMsQ0FBQztJQUNsRixpQkFBaUIsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLCtDQUErQyxDQUFDO0lBQ3RGLFFBQVEsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLHNDQUFzQyxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQy9FLGlCQUFpQixFQUFFLGFBQUssQ0FBQyxNQUFNLEVBQUU7SUFDakMsZ0JBQWdCLEVBQUUsYUFBSyxDQUFDLE1BQU0sRUFBRTtJQUNoQyx1QkFBdUIsRUFBRSxhQUFLLENBQUMsTUFBTSxFQUFFO0lBQ3ZDLDRCQUE0QixFQUFFLGFBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQzVELGVBQWUsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ3hDLGlCQUFpQixFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDMUMsbUJBQW1CLEVBQUUsYUFBSyxDQUFDLEtBQUssRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM3QyxhQUFhLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUN0QyxrQkFBa0IsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLGdEQUFnRCxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQ25HLFFBQVEsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFO0NBQ2xDLENBQ0YsQ0FBQTtBQUVELGtCQUFlLHFCQUFxQixDQUFBIn0=
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const utils_1 = require("@medusajs/framework/utils");
4
+ const ConsignmentReport = utils_1.model
5
+ .define({ name: "consignment_report", tableName: "consignment_report" }, {
6
+ id: utils_1.model.id({ prefix: "consrep" }).primaryKey(),
7
+ affiliate_id: utils_1.model.text().index("IDX_consignment_report_affiliate_id"),
8
+ period_start: utils_1.model.dateTime().index("IDX_consignment_report_period_start"),
9
+ // Kept nullable for import/back-office seeds; the domain service derives
10
+ // the calendar-month end when a legacy/directly-created row omits it.
11
+ period_end: utils_1.model.dateTime().index("IDX_consignment_report_period_end").nullable(),
12
+ status: utils_1.model.text().default("draft").index("IDX_consignment_report_status"),
13
+ version: utils_1.model.number().default(1),
14
+ submission_idempotency_key: utils_1.model.text().nullable(),
15
+ approval_idempotency_key: utils_1.model.text().nullable(),
16
+ submitted_by_id: utils_1.model.text().nullable(),
17
+ approved_by_id: utils_1.model.text().nullable(),
18
+ draft_order_id: utils_1.model.text().index("IDX_consignment_report_draft_order_id").nullable(),
19
+ order_id: utils_1.model.text().index("IDX_consignment_report_order_id").nullable(),
20
+ fulfillment_id: utils_1.model.text().index("IDX_consignment_report_fulfillment_id").nullable(),
21
+ submitted_at: utils_1.model.dateTime().nullable(),
22
+ approved_at: utils_1.model.dateTime().nullable(),
23
+ admin_notes: utils_1.model.text().nullable(),
24
+ metadata: utils_1.model.json().nullable(),
25
+ })
26
+ .indexes([
27
+ { name: "IDX_consignment_report_active_affiliate_period", on: ["affiliate_id", "period_start"], unique: true, where: "deleted_at IS NULL AND status IN ('draft', 'submitted', 'approved')" },
28
+ { name: "IDX_consignment_report_submission_idempotency_key", on: ["submission_idempotency_key"], unique: true, where: "deleted_at IS NULL AND submission_idempotency_key IS NOT NULL" },
29
+ ]);
30
+ exports.default = ConsignmentReport;
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc2lnbm1lbnQtcmVwb3J0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL21vZHVsZXMvYWZmaWxpYXRlL21vZGVscy9jb25zaWdubWVudC1yZXBvcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxxREFBaUQ7QUFFakQsTUFBTSxpQkFBaUIsR0FBRyxhQUFLO0tBQzVCLE1BQU0sQ0FDUCxFQUFFLElBQUksRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsb0JBQW9CLEVBQUUsRUFDL0Q7SUFDRSxFQUFFLEVBQUUsYUFBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLFVBQVUsRUFBRTtJQUNoRCxZQUFZLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxxQ0FBcUMsQ0FBQztJQUN2RSxZQUFZLEVBQUUsYUFBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLEtBQUssQ0FBQyxxQ0FBcUMsQ0FBQztJQUMzRSx5RUFBeUU7SUFDekUsc0VBQXNFO0lBQ3RFLFVBQVUsRUFBRSxhQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsS0FBSyxDQUFDLG1DQUFtQyxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQ2xGLE1BQU0sRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQywrQkFBK0IsQ0FBQztJQUM1RSxPQUFPLEVBQUUsYUFBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDbEMsMEJBQTBCLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNuRCx3QkFBd0IsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ2pELGVBQWUsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ3hDLGNBQWMsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ3ZDLGNBQWMsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLHVDQUF1QyxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQ3RGLFFBQVEsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLGlDQUFpQyxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQzFFLGNBQWMsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLHVDQUF1QyxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQ3RGLFlBQVksRUFBRSxhQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ3pDLFdBQVcsRUFBRSxhQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ3hDLFdBQVcsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ3BDLFFBQVEsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFO0NBQ2xDLENBQ0E7S0FDQSxPQUFPLENBQUM7SUFDUCxFQUFFLElBQUksRUFBRSxnREFBZ0QsRUFBRSxFQUFFLEVBQUUsQ0FBQyxjQUFjLEVBQUUsY0FBYyxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUscUVBQXFFLEVBQUU7SUFDNUwsRUFBRSxJQUFJLEVBQUUsbURBQW1ELEVBQUUsRUFBRSxFQUFFLENBQUMsNEJBQTRCLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSwrREFBK0QsRUFBRTtDQUN4TCxDQUFDLENBQUE7QUFFSixrQkFBZSxpQkFBaUIsQ0FBQSJ9
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const utils_1 = require("@medusajs/framework/utils");
4
+ const ConsignmentTransferLine = utils_1.model.define({ name: "consignment_transfer_line", tableName: "consignment_transfer_line" }, {
5
+ id: utils_1.model.id({ prefix: "constrln" }).primaryKey(),
6
+ consignment_transfer_id: utils_1.model.text().index("IDX_consignment_transfer_line_transfer_id"),
7
+ inventory_item_id: utils_1.model.text().index("IDX_consignment_transfer_line_inventory_item_id"),
8
+ source_batch_id: utils_1.model.text().index("IDX_consignment_transfer_line_source_batch_id").nullable(),
9
+ destination_batch_id: utils_1.model.text().index("IDX_consignment_transfer_line_destination_batch_id").nullable(),
10
+ quantity: utils_1.model.number(),
11
+ batch_name_snapshot: utils_1.model.text().nullable(),
12
+ batch_expiry_date_snapshot: utils_1.model.dateTime().nullable(),
13
+ metadata: utils_1.model.json().nullable(),
14
+ });
15
+ exports.default = ConsignmentTransferLine;
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc2lnbm1lbnQtdHJhbnNmZXItbGluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL2FmZmlsaWF0ZS9tb2RlbHMvY29uc2lnbm1lbnQtdHJhbnNmZXItbGluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHFEQUFpRDtBQUVqRCxNQUFNLHVCQUF1QixHQUFHLGFBQUssQ0FBQyxNQUFNLENBQzFDLEVBQUUsSUFBSSxFQUFFLDJCQUEyQixFQUFFLFNBQVMsRUFBRSwyQkFBMkIsRUFBRSxFQUM3RTtJQUNFLEVBQUUsRUFBRSxhQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUMsVUFBVSxFQUFFO0lBQ2pELHVCQUF1QixFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsMkNBQTJDLENBQUM7SUFDeEYsaUJBQWlCLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxpREFBaUQsQ0FBQztJQUN4RixlQUFlLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQywrQ0FBK0MsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUMvRixvQkFBb0IsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLG9EQUFvRCxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQ3pHLFFBQVEsRUFBRSxhQUFLLENBQUMsTUFBTSxFQUFFO0lBQ3hCLG1CQUFtQixFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDNUMsMEJBQTBCLEVBQUUsYUFBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUN2RCxRQUFRLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtDQUNsQyxDQUNGLENBQUE7QUFFRCxrQkFBZSx1QkFBdUIsQ0FBQSJ9
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const utils_1 = require("@medusajs/framework/utils");
4
+ const ConsignmentTransfer = utils_1.model
5
+ .define({ name: "consignment_transfer", tableName: "consignment_transfer" }, {
6
+ id: utils_1.model.id({ prefix: "constr" }).primaryKey(),
7
+ affiliate_id: utils_1.model.text().index("IDX_consignment_transfer_affiliate_id"),
8
+ source_location_id: utils_1.model.text().index("IDX_consignment_transfer_source_location_id"),
9
+ destination_location_id: utils_1.model.text().index("IDX_consignment_transfer_destination_location_id"),
10
+ direction: utils_1.model.text().index("IDX_consignment_transfer_direction"),
11
+ status: utils_1.model.text().default("pending").index("IDX_consignment_transfer_status"),
12
+ idempotency_key: utils_1.model.text(),
13
+ admin_id: utils_1.model.text().index("IDX_consignment_transfer_admin_id").nullable(),
14
+ failure_reason: utils_1.model.text().nullable(),
15
+ completed_at: utils_1.model.dateTime().nullable(),
16
+ metadata: utils_1.model.json().nullable(),
17
+ })
18
+ .indexes([{ name: "IDX_consignment_transfer_idempotency_key", on: ["idempotency_key"], unique: true, where: "deleted_at IS NULL" }]);
19
+ exports.default = ConsignmentTransfer;
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc2lnbm1lbnQtdHJhbnNmZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9hZmZpbGlhdGUvbW9kZWxzL2NvbnNpZ25tZW50LXRyYW5zZmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEscURBQWlEO0FBRWpELE1BQU0sbUJBQW1CLEdBQUcsYUFBSztLQUM5QixNQUFNLENBQ1AsRUFBRSxJQUFJLEVBQUUsc0JBQXNCLEVBQUUsU0FBUyxFQUFFLHNCQUFzQixFQUFFLEVBQ25FO0lBQ0UsRUFBRSxFQUFFLGFBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQyxVQUFVLEVBQUU7SUFDL0MsWUFBWSxFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsdUNBQXVDLENBQUM7SUFDekUsa0JBQWtCLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyw2Q0FBNkMsQ0FBQztJQUNyRix1QkFBdUIsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLGtEQUFrRCxDQUFDO0lBQy9GLFNBQVMsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLG9DQUFvQyxDQUFDO0lBQ25FLE1BQU0sRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQztJQUNoRixlQUFlLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRTtJQUM3QixRQUFRLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUM1RSxjQUFjLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUN2QyxZQUFZLEVBQUUsYUFBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUN6QyxRQUFRLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtDQUNsQyxDQUNBO0tBQ0EsT0FBTyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsMENBQTBDLEVBQUUsRUFBRSxFQUFFLENBQUMsaUJBQWlCLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxvQkFBb0IsRUFBRSxDQUFDLENBQUMsQ0FBQTtBQUV0SSxrQkFBZSxtQkFBbUIsQ0FBQSJ9