@wtree/payload-ecommerce-coupon 3.78.2 → 3.78.3

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 (57) hide show
  1. package/README.md +33 -6
  2. package/dist/client/hooks.d.ts +1 -1
  3. package/dist/client/hooks.d.ts.map +1 -1
  4. package/dist/client/index.d.ts +8 -8
  5. package/dist/client/index.d.ts.map +1 -1
  6. package/dist/collections/createCouponsCollection.d.ts +2 -2
  7. package/dist/collections/createCouponsCollection.d.ts.map +1 -1
  8. package/dist/collections/createReferralCodesCollection.d.ts +2 -2
  9. package/dist/collections/createReferralCodesCollection.d.ts.map +1 -1
  10. package/dist/collections/createReferralProgramsCollection.d.ts +2 -2
  11. package/dist/collections/createReferralProgramsCollection.d.ts.map +1 -1
  12. package/dist/components/PartnerDashboard/CommissionBreakdown.d.ts +2 -2
  13. package/dist/components/PartnerDashboard/CommissionBreakdown.d.ts.map +1 -1
  14. package/dist/components/PartnerDashboard/EarningsSummary.d.ts +2 -2
  15. package/dist/components/PartnerDashboard/EarningsSummary.d.ts.map +1 -1
  16. package/dist/components/PartnerDashboard/ProgramOverview.d.ts +3 -3
  17. package/dist/components/PartnerDashboard/ProgramOverview.d.ts.map +1 -1
  18. package/dist/components/PartnerDashboard/RecentReferrals.d.ts +3 -3
  19. package/dist/components/PartnerDashboard/RecentReferrals.d.ts.map +1 -1
  20. package/dist/components/PartnerDashboard/ReferralCodes.d.ts +3 -3
  21. package/dist/components/PartnerDashboard/ReferralCodes.d.ts.map +1 -1
  22. package/dist/components/PartnerDashboard/ReferralPerformance.d.ts +2 -2
  23. package/dist/components/PartnerDashboard/ReferralPerformance.d.ts.map +1 -1
  24. package/dist/components/PartnerDashboard/index.d.ts +1 -1
  25. package/dist/components/PartnerDashboard/index.d.ts.map +1 -1
  26. package/dist/endpoints/applyCoupon.d.ts +2 -2
  27. package/dist/endpoints/applyCoupon.d.ts.map +1 -1
  28. package/dist/endpoints/partnerStats.d.ts +2 -2
  29. package/dist/endpoints/partnerStats.d.ts.map +1 -1
  30. package/dist/endpoints/validateCoupon.d.ts +2 -2
  31. package/dist/endpoints/validateCoupon.d.ts.map +1 -1
  32. package/dist/hooks/recalculateCart.d.ts +2 -2
  33. package/dist/hooks/recalculateCart.d.ts.map +1 -1
  34. package/dist/index.d.ts +17 -17
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +21 -10
  37. package/dist/index.js.map +1 -1
  38. package/dist/index.mjs +21 -10
  39. package/dist/index.mjs.map +1 -1
  40. package/dist/plugin.d.ts +2 -2
  41. package/dist/plugin.d.ts.map +1 -1
  42. package/dist/types.d.ts +4 -4
  43. package/dist/types.d.ts.map +1 -1
  44. package/dist/utilities/calculateValues.d.ts +2 -2
  45. package/dist/utilities/calculateValues.d.ts.map +1 -1
  46. package/dist/utilities/getCartTotalWithDiscounts.d.ts.map +1 -1
  47. package/dist/utilities/migrateReferralRulesV2.d.ts.map +1 -1
  48. package/dist/utilities/pricing.d.ts.map +1 -1
  49. package/dist/utilities/pushTypeScriptProperties.d.ts +1 -1
  50. package/dist/utilities/pushTypeScriptProperties.d.ts.map +1 -1
  51. package/dist/utilities/recordCouponUsageForOrder.d.ts +2 -2
  52. package/dist/utilities/recordCouponUsageForOrder.d.ts.map +1 -1
  53. package/dist/utilities/sanitizePluginConfig.d.ts +1 -1
  54. package/dist/utilities/sanitizePluginConfig.d.ts.map +1 -1
  55. package/dist/utilities/userRoles.d.ts +3 -3
  56. package/dist/utilities/userRoles.d.ts.map +1 -1
  57. package/package.json +1 -1
package/README.md CHANGED
@@ -362,10 +362,28 @@ type CouponPluginOptions = {
362
362
 
363
363
  // Preferred policy-first API
364
364
  policies?: {
365
- canApplyCoupon?: (ctx: { req: unknown; user?: unknown; payload?: unknown }) => boolean | Promise<boolean>
366
- canApplyReferral?: (ctx: { req: unknown; user?: unknown; payload?: unknown }) => boolean | Promise<boolean>
367
- canViewPartnerStats?: (ctx: { req: unknown; user?: unknown; payload?: unknown; requestedPartnerID?: string | number }) => boolean | Promise<boolean>
368
- canRecordOrderUsage?: (ctx: { req: unknown; user?: unknown; payload?: unknown; order: unknown }) => boolean | Promise<boolean>
365
+ canApplyCoupon?: (ctx: {
366
+ req: unknown
367
+ user?: unknown
368
+ payload?: unknown
369
+ }) => boolean | Promise<boolean>
370
+ canApplyReferral?: (ctx: {
371
+ req: unknown
372
+ user?: unknown
373
+ payload?: unknown
374
+ }) => boolean | Promise<boolean>
375
+ canViewPartnerStats?: (ctx: {
376
+ req: unknown
377
+ user?: unknown
378
+ payload?: unknown
379
+ requestedPartnerID?: string | number
380
+ }) => boolean | Promise<boolean>
381
+ canRecordOrderUsage?: (ctx: {
382
+ req: unknown
383
+ user?: unknown
384
+ payload?: unknown
385
+ order: unknown
386
+ }) => boolean | Promise<boolean>
369
387
  }
370
388
 
371
389
  // Integration-driven mapping
@@ -404,7 +422,12 @@ type CouponPluginOptions = {
404
422
  getCartSubtotal?: (cart: unknown) => number
405
423
  getCartTotal?: (cart: unknown) => number
406
424
  isOrderPaid?: (order: unknown) => boolean
407
- getProductUnitPrice?: (args: { item: unknown; product: unknown; variant?: unknown; currencyCode?: string }) => number
425
+ getProductUnitPrice?: (args: {
426
+ item: unknown
427
+ product: unknown
428
+ variant?: unknown
429
+ currencyCode?: string
430
+ }) => number
408
431
  }
409
432
  }
410
433
 
@@ -448,6 +471,7 @@ If you’re upgrading from older configs:
448
471
  ## Troubleshooting
449
472
 
450
473
  ### Build/lint mismatch after changes
474
+
451
475
  Run:
452
476
 
453
477
  ```bash
@@ -457,12 +481,15 @@ bun test --runInBand
457
481
  ```
458
482
 
459
483
  ### Code applies but usage not incrementing
484
+
460
485
  Expected behavior until order completion. Call record-order-usage on paid/completed order.
461
486
 
462
487
  ### Partner stats forbidden
488
+
463
489
  Adjust `policies.canViewPartnerStats` to match your auth model.
464
490
 
465
491
  ### Per-customer limit not enforced
492
+
466
493
  Pass `customerEmail` on validate/apply for coupons that define per-customer limits, and ensure order integration fields map to your schema.
467
494
 
468
495
  ---
@@ -493,4 +520,4 @@ Main exports include:
493
520
 
494
521
  ## License
495
522
 
496
- MIT
523
+ MIT
@@ -1,4 +1,4 @@
1
- import type { ApplyCouponHook, ApplyCouponResponse, PartnerDashboardData } from "../types";
1
+ import type { ApplyCouponHook, ApplyCouponResponse, PartnerDashboardData } from '../types';
2
2
  type EndpointInput = string | {
3
3
  applyCoupon?: string;
4
4
  validateCoupon?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/client/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAE3F,KAAK,aAAa,GACd,MAAM,GACN;IACE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAoCN;;;;GAIG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,eAAe,EACxB,cAAc,CAAC,EAAE,aAAa,GAC7B,OAAO,CAAC,mBAAmB,CAAC,CAyD9B;AAED;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,SAAS,CAAC,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,MAAM,EACf,aAAa,CAAC,EAAE,MAAM,EACtB,cAAc,CAAC,EAAE,aAAa,GAC7B,OAAO,CAAC,mBAAmB,CAAC,CAuD9B;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,oBAAoB,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;GAGG;AACH,wBAAsB,eAAe,CACnC,cAAc,CAAC,EAAE,aAAa,GAC7B,OAAO,CAAC,oBAAoB,CAAC,CA4B/B"}
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/client/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAE1F,KAAK,aAAa,GACd,MAAM,GACN;IACE,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAoCL;;;;GAIG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,eAAe,EACxB,cAAc,CAAC,EAAE,aAAa,GAC7B,OAAO,CAAC,mBAAmB,CAAC,CAyD9B;AAED;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,SAAS,CAAC,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,MAAM,EACf,aAAa,CAAC,EAAE,MAAM,EACtB,cAAc,CAAC,EAAE,aAAa,GAC7B,OAAO,CAAC,mBAAmB,CAAC,CAuD9B;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,CAAC,EAAE,oBAAoB,CAAA;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,cAAc,CAAC,EAAE,aAAa,GAC7B,OAAO,CAAC,oBAAoB,CAAC,CA4B/B"}
@@ -1,9 +1,9 @@
1
- export { PartnerDashboard } from "../components/PartnerDashboard";
2
- export { EarningsSummary } from "../components/PartnerDashboard/EarningsSummary";
3
- export { RecentReferrals } from "../components/PartnerDashboard/RecentReferrals";
4
- export { ReferralCodes } from "../components/PartnerDashboard/ReferralCodes";
5
- export { ReferralPerformance } from "../components/PartnerDashboard/ReferralPerformance";
6
- export { ProgramOverview } from "../components/PartnerDashboard/ProgramOverview";
7
- export { CommissionBreakdown } from "../components/PartnerDashboard/CommissionBreakdown";
8
- export { useCouponCode, usePartnerStats, validateCouponCode } from "./hooks";
1
+ export { PartnerDashboard } from '../components/PartnerDashboard';
2
+ export { EarningsSummary } from '../components/PartnerDashboard/EarningsSummary';
3
+ export { RecentReferrals } from '../components/PartnerDashboard/RecentReferrals';
4
+ export { ReferralCodes } from '../components/PartnerDashboard/ReferralCodes';
5
+ export { ReferralPerformance } from '../components/PartnerDashboard/ReferralPerformance';
6
+ export { ProgramOverview } from '../components/PartnerDashboard/ProgramOverview';
7
+ export { CommissionBreakdown } from '../components/PartnerDashboard/CommissionBreakdown';
8
+ export { useCouponCode, usePartnerStats, validateCouponCode } from './hooks';
9
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,8CAA8C,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,oDAAoD,CAAC;AACzF,OAAO,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,oDAAoD,CAAC;AACzF,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAA;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAA;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,8CAA8C,CAAA;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,oDAAoD,CAAA;AACxF,OAAO,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAA;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,oDAAoD,CAAA;AACxF,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA"}
@@ -1,4 +1,4 @@
1
- import type { CollectionConfig } from "payload";
2
- import type { SanitizedCouponPluginOptions } from "../types";
1
+ import type { CollectionConfig } from 'payload';
2
+ import type { SanitizedCouponPluginOptions } from '../types';
3
3
  export declare const createCouponsCollection: (pluginConfig: SanitizedCouponPluginOptions) => CollectionConfig;
4
4
  //# sourceMappingURL=createCouponsCollection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createCouponsCollection.d.ts","sourceRoot":"","sources":["../../src/collections/createCouponsCollection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAC;AAE7D,eAAO,MAAM,uBAAuB,GAClC,cAAc,4BAA4B,KACzC,gBAmKF,CAAC"}
1
+ {"version":3,"file":"createCouponsCollection.d.ts","sourceRoot":"","sources":["../../src/collections/createCouponsCollection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAE/C,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAA;AAE5D,eAAO,MAAM,uBAAuB,GAClC,cAAc,4BAA4B,KACzC,gBAmKF,CAAA"}
@@ -1,4 +1,4 @@
1
- import type { CollectionConfig } from "payload";
2
- import type { SanitizedCouponPluginOptions } from "../types";
1
+ import type { CollectionConfig } from 'payload';
2
+ import type { SanitizedCouponPluginOptions } from '../types';
3
3
  export declare const createReferralCodesCollection: (pluginConfig: SanitizedCouponPluginOptions) => CollectionConfig;
4
4
  //# sourceMappingURL=createReferralCodesCollection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createReferralCodesCollection.d.ts","sourceRoot":"","sources":["../../src/collections/createReferralCodesCollection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAC;AAM7D,eAAO,MAAM,6BAA6B,GACxC,cAAc,4BAA4B,KACzC,gBA+PF,CAAC"}
1
+ {"version":3,"file":"createReferralCodesCollection.d.ts","sourceRoot":"","sources":["../../src/collections/createReferralCodesCollection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAE/C,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAA;AAM5D,eAAO,MAAM,6BAA6B,GACxC,cAAc,4BAA4B,KACzC,gBA+PF,CAAA"}
@@ -1,4 +1,4 @@
1
- import { type CollectionConfig } from "payload";
2
- import type { SanitizedCouponPluginOptions } from "../types";
1
+ import { type CollectionConfig } from 'payload';
2
+ import type { SanitizedCouponPluginOptions } from '../types';
3
3
  export declare const createReferralProgramsCollection: (pluginConfig: SanitizedCouponPluginOptions) => CollectionConfig;
4
4
  //# sourceMappingURL=createReferralProgramsCollection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createReferralProgramsCollection.d.ts","sourceRoot":"","sources":["../../src/collections/createReferralProgramsCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE1D,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAC;AA0B7D,eAAO,MAAM,gCAAgC,GAC3C,cAAc,4BAA4B,KACzC,gBAgYF,CAAC"}
1
+ {"version":3,"file":"createReferralProgramsCollection.d.ts","sourceRoot":"","sources":["../../src/collections/createReferralProgramsCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAEzD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAA;AA0B5D,eAAO,MAAM,gCAAgC,GAC3C,cAAc,4BAA4B,KACzC,gBAwZF,CAAA"}
@@ -1,5 +1,5 @@
1
- import React from "react";
2
- import type { PartnerStats } from "../../types";
1
+ import React from 'react';
2
+ import type { PartnerStats } from '../../types';
3
3
  export type CommissionBreakdownProps = {
4
4
  stats: PartnerStats;
5
5
  currency: string;
@@ -1 +1 @@
1
- {"version":3,"file":"CommissionBreakdown.d.ts","sourceRoot":"","sources":["../../../src/components/PartnerDashboard/CommissionBreakdown.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,MAAM,MAAM,wBAAwB,GAAG;IACrC,KAAK,EAAE,YAAY,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAeF,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CA0FlE,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"CommissionBreakdown.d.ts","sourceRoot":"","sources":["../../../src/components/PartnerDashboard/CommissionBreakdown.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/C,MAAM,MAAM,wBAAwB,GAAG;IACrC,KAAK,EAAE,YAAY,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAeD,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CA0FlE,CAAA;AAED,eAAe,mBAAmB,CAAA"}
@@ -1,5 +1,5 @@
1
- import React from "react";
2
- import type { PartnerStats } from "../../types";
1
+ import React from 'react';
2
+ import type { PartnerStats } from '../../types';
3
3
  export type EarningsSummaryProps = {
4
4
  stats: PartnerStats;
5
5
  currency: string;
@@ -1 +1 @@
1
- {"version":3,"file":"EarningsSummary.d.ts","sourceRoot":"","sources":["../../../src/components/PartnerDashboard/EarningsSummary.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,EAAE,YAAY,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAUF,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CA4B1D,CAAC;AAEF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"EarningsSummary.d.ts","sourceRoot":"","sources":["../../../src/components/PartnerDashboard/EarningsSummary.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/C,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,EAAE,YAAY,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAUD,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CA4B1D,CAAA;AAED,eAAe,eAAe,CAAA"}
@@ -1,7 +1,7 @@
1
- import React from "react";
2
- import type { PartnerDashboardData } from "../../types";
1
+ import React from 'react';
2
+ import type { PartnerDashboardData } from '../../types';
3
3
  export type ProgramOverviewProps = {
4
- program: PartnerDashboardData["program"];
4
+ program: PartnerDashboardData['program'];
5
5
  };
6
6
  export declare const ProgramOverview: React.FC<ProgramOverviewProps>;
7
7
  export default ProgramOverview;
@@ -1 +1 @@
1
- {"version":3,"file":"ProgramOverview.d.ts","sourceRoot":"","sources":["../../../src/components/PartnerDashboard/ProgramOverview.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAExD,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,EAAE,oBAAoB,CAAC,SAAS,CAAC,CAAC;CAC1C,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAmC1D,CAAC;AAEF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"ProgramOverview.d.ts","sourceRoot":"","sources":["../../../src/components/PartnerDashboard/ProgramOverview.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAEvD,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,EAAE,oBAAoB,CAAC,SAAS,CAAC,CAAA;CACzC,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAmC1D,CAAA;AAED,eAAe,eAAe,CAAA"}
@@ -1,7 +1,7 @@
1
- import React from "react";
2
- import type { PartnerStats } from "../../types";
1
+ import React from 'react';
2
+ import type { PartnerStats } from '../../types';
3
3
  export type RecentReferralsProps = {
4
- referrals: PartnerStats["recentReferrals"];
4
+ referrals: PartnerStats['recentReferrals'];
5
5
  currency: string;
6
6
  };
7
7
  export declare const RecentReferrals: React.FC<RecentReferralsProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"RecentReferrals.d.ts","sourceRoot":"","sources":["../../../src/components/PartnerDashboard/RecentReferrals.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,EAAE,YAAY,CAAC,iBAAiB,CAAC,CAAC;IAC3C,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAkBF,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAoC1D,CAAC;AAEF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"RecentReferrals.d.ts","sourceRoot":"","sources":["../../../src/components/PartnerDashboard/RecentReferrals.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/C,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,EAAE,YAAY,CAAC,iBAAiB,CAAC,CAAA;IAC1C,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAkBD,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAoC1D,CAAA;AAED,eAAe,eAAe,CAAA"}
@@ -1,7 +1,7 @@
1
- import React from "react";
2
- import type { PartnerDashboardData } from "../../types";
1
+ import React from 'react';
2
+ import type { PartnerDashboardData } from '../../types';
3
3
  export type ReferralCodesProps = {
4
- codes: PartnerDashboardData["referralCodes"];
4
+ codes: PartnerDashboardData['referralCodes'];
5
5
  currency: string;
6
6
  };
7
7
  export declare const ReferralCodes: React.FC<ReferralCodesProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"ReferralCodes.d.ts","sourceRoot":"","sources":["../../../src/components/PartnerDashboard/ReferralCodes.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAExC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAExD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,oBAAoB,CAAC,eAAe,CAAC,CAAC;IAC7C,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAUF,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA+DtD,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"ReferralCodes.d.ts","sourceRoot":"","sources":["../../../src/components/PartnerDashboard/ReferralCodes.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAEvC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAEvD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,oBAAoB,CAAC,eAAe,CAAC,CAAA;IAC5C,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAUD,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA+DtD,CAAA;AAED,eAAe,aAAa,CAAA"}
@@ -1,5 +1,5 @@
1
- import React from "react";
2
- import type { PartnerStats } from "../../types";
1
+ import React from 'react';
2
+ import type { PartnerStats } from '../../types';
3
3
  export type ReferralPerformanceProps = {
4
4
  stats: PartnerStats;
5
5
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ReferralPerformance.d.ts","sourceRoot":"","sources":["../../../src/components/PartnerDashboard/ReferralPerformance.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,MAAM,MAAM,wBAAwB,GAAG;IACrC,KAAK,EAAE,YAAY,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CA6ClE,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"ReferralPerformance.d.ts","sourceRoot":"","sources":["../../../src/components/PartnerDashboard/ReferralPerformance.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/C,MAAM,MAAM,wBAAwB,GAAG;IACrC,KAAK,EAAE,YAAY,CAAA;CACpB,CAAA;AAED,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CA6ClE,CAAA;AAED,eAAe,mBAAmB,CAAA"}
@@ -1,4 +1,4 @@
1
- import React from "react";
1
+ import React from 'react';
2
2
  export type PartnerDashboardProps = {
3
3
  showEarningsSummary?: boolean;
4
4
  showReferralPerformance?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/PartnerDashboard/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAWnD,MAAM,MAAM,qBAAqB,GAAG;IAClC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CA2H5D,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/PartnerDashboard/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA8B,MAAM,OAAO,CAAA;AAWlD,MAAM,MAAM,qBAAqB,GAAG;IAClC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,uBAAuB,CAAC,EAAE,OAAO,CAAA;IACjC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,uBAAuB,CAAC,EAAE,OAAO,CAAA;IACjC,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CA2H5D,CAAA;AAED,eAAe,gBAAgB,CAAA"}
@@ -1,5 +1,5 @@
1
- import type { Endpoint, PayloadHandler } from "payload";
2
- import type { SanitizedCouponPluginOptions } from "../types";
1
+ import type { Endpoint, PayloadHandler } from 'payload';
2
+ import type { SanitizedCouponPluginOptions } from '../types';
3
3
  type Args = {
4
4
  pluginConfig: SanitizedCouponPluginOptions;
5
5
  };
@@ -1 +1 @@
1
- {"version":3,"file":"applyCoupon.d.ts","sourceRoot":"","sources":["../../src/endpoints/applyCoupon.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACxD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAC;AAQ7D,KAAK,IAAI,GAAG;IACV,YAAY,EAAE,4BAA4B,CAAC;CAC5C,CAAC;AA4EF,eAAO,MAAM,kBAAkB,GAC5B,kBAAkB,IAAI,KAAG,cA8GzB,CAAC;AAsQJ,eAAO,MAAM,mBAAmB,GAAI,kBAAkB,IAAI,KAAG,QAI3D,CAAC"}
1
+ {"version":3,"file":"applyCoupon.d.ts","sourceRoot":"","sources":["../../src/endpoints/applyCoupon.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AACvD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAA;AAQ5D,KAAK,IAAI,GAAG;IACV,YAAY,EAAE,4BAA4B,CAAA;CAC3C,CAAA;AA4ED,eAAO,MAAM,kBAAkB,GAC5B,kBAAkB,IAAI,KAAG,cA8GzB,CAAA;AAsQH,eAAO,MAAM,mBAAmB,GAAI,kBAAkB,IAAI,KAAG,QAI3D,CAAA"}
@@ -1,5 +1,5 @@
1
- import type { Endpoint, PayloadHandler } from "payload";
2
- import type { SanitizedCouponPluginOptions } from "../types";
1
+ import type { Endpoint, PayloadHandler } from 'payload';
2
+ import type { SanitizedCouponPluginOptions } from '../types';
3
3
  type Args = {
4
4
  pluginConfig: SanitizedCouponPluginOptions;
5
5
  };
@@ -1 +1 @@
1
- {"version":3,"file":"partnerStats.d.ts","sourceRoot":"","sources":["../../src/endpoints/partnerStats.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAExD,OAAO,KAAK,EAAsC,4BAA4B,EAAE,MAAM,UAAU,CAAC;AAGjG,KAAK,IAAI,GAAG;IACV,YAAY,EAAE,4BAA4B,CAAC;CAC5C,CAAC;AAgCF,eAAO,MAAM,mBAAmB,GAC7B,kBAAkB,IAAI,KAAG,cA0MzB,CAAC;AAEJ,eAAO,MAAM,oBAAoB,GAAI,kBAAkB,IAAI,KAAG,QAI5D,CAAC"}
1
+ {"version":3,"file":"partnerStats.d.ts","sourceRoot":"","sources":["../../src/endpoints/partnerStats.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAEvD,OAAO,KAAK,EAAsC,4BAA4B,EAAE,MAAM,UAAU,CAAA;AAGhG,KAAK,IAAI,GAAG;IACV,YAAY,EAAE,4BAA4B,CAAA;CAC3C,CAAA;AAgCD,eAAO,MAAM,mBAAmB,GAC7B,kBAAkB,IAAI,KAAG,cA0MzB,CAAA;AAEH,eAAO,MAAM,oBAAoB,GAAI,kBAAkB,IAAI,KAAG,QAI5D,CAAA"}
@@ -1,5 +1,5 @@
1
- import type { Endpoint, PayloadHandler } from "payload";
2
- import type { SanitizedCouponPluginOptions } from "../types";
1
+ import type { Endpoint, PayloadHandler } from 'payload';
2
+ import type { SanitizedCouponPluginOptions } from '../types';
3
3
  type Args = {
4
4
  pluginConfig: SanitizedCouponPluginOptions;
5
5
  };
@@ -1 +1 @@
1
- {"version":3,"file":"validateCoupon.d.ts","sourceRoot":"","sources":["../../src/endpoints/validateCoupon.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAExD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAC;AAO7D,KAAK,IAAI,GAAG;IACV,YAAY,EAAE,4BAA4B,CAAC;CAC5C,CAAC;AAmEF,eAAO,MAAM,qBAAqB,GAC/B,kBAAkB,IAAI,KAAG,cA0DzB,CAAC;AAwOJ,eAAO,MAAM,sBAAsB,GAAI,kBAAkB,IAAI,KAAG,QAI9D,CAAC"}
1
+ {"version":3,"file":"validateCoupon.d.ts","sourceRoot":"","sources":["../../src/endpoints/validateCoupon.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAEvD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAA;AAO5D,KAAK,IAAI,GAAG;IACV,YAAY,EAAE,4BAA4B,CAAA;CAC3C,CAAA;AAmED,eAAO,MAAM,qBAAqB,GAC/B,kBAAkB,IAAI,KAAG,cA0DzB,CAAA;AAwOH,eAAO,MAAM,sBAAsB,GAAI,kBAAkB,IAAI,KAAG,QAI9D,CAAA"}
@@ -1,4 +1,4 @@
1
- import type { CollectionBeforeChangeHook } from "payload";
2
- import type { SanitizedCouponPluginOptions } from "../types";
1
+ import type { CollectionBeforeChangeHook } from 'payload';
2
+ import type { SanitizedCouponPluginOptions } from '../types';
3
3
  export declare const recalculateCartHook: (pluginConfig: SanitizedCouponPluginOptions) => CollectionBeforeChangeHook;
4
4
  //# sourceMappingURL=recalculateCart.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"recalculateCart.d.ts","sourceRoot":"","sources":["../../src/hooks/recalculateCart.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAC;AA6C7D,eAAO,MAAM,mBAAmB,GAC7B,cAAc,4BAA4B,KAAG,0BA4Q7C,CAAC"}
1
+ {"version":3,"file":"recalculateCart.d.ts","sourceRoot":"","sources":["../../src/hooks/recalculateCart.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAA;AACzD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAA;AA6C5D,eAAO,MAAM,mBAAmB,GAC7B,cAAc,4BAA4B,KAAG,0BA4Q7C,CAAA"}
package/dist/index.d.ts CHANGED
@@ -1,19 +1,19 @@
1
- import { createCouponsCollection } from "./collections/createCouponsCollection";
2
- import { createReferralCodesCollection } from "./collections/createReferralCodesCollection";
3
- import { createReferralProgramsCollection } from "./collections/createReferralProgramsCollection";
4
- import { payloadEcommerceCouponPlugin } from "./plugin";
5
- export { useCouponCode, usePartnerStats, validateCouponCode } from "./client/hooks";
6
- export { PartnerDashboard } from "./components/PartnerDashboard";
7
- export { EarningsSummary } from "./components/PartnerDashboard/EarningsSummary";
8
- export { RecentReferrals } from "./components/PartnerDashboard/RecentReferrals";
9
- export { ReferralCodes } from "./components/PartnerDashboard/ReferralCodes";
10
- export { ReferralPerformance } from "./components/PartnerDashboard/ReferralPerformance";
11
- export { ProgramOverview } from "./components/PartnerDashboard/ProgramOverview";
12
- export { CommissionBreakdown } from "./components/PartnerDashboard/CommissionBreakdown";
13
- export { calculateCommissionAndDiscount, getProgramMinimumOrderAmount, } from "./utilities/calculateValues";
14
- export { getCartTotalWithDiscounts } from "./utilities/getCartTotalWithDiscounts";
15
- export { recordCouponUsageForOrder } from "./utilities/recordCouponUsageForOrder";
1
+ import { createCouponsCollection } from './collections/createCouponsCollection';
2
+ import { createReferralCodesCollection } from './collections/createReferralCodesCollection';
3
+ import { createReferralProgramsCollection } from './collections/createReferralProgramsCollection';
4
+ import { payloadEcommerceCouponPlugin } from './plugin';
5
+ export { useCouponCode, usePartnerStats, validateCouponCode } from './client/hooks';
6
+ export { PartnerDashboard } from './components/PartnerDashboard';
7
+ export { EarningsSummary } from './components/PartnerDashboard/EarningsSummary';
8
+ export { RecentReferrals } from './components/PartnerDashboard/RecentReferrals';
9
+ export { ReferralCodes } from './components/PartnerDashboard/ReferralCodes';
10
+ export { ReferralPerformance } from './components/PartnerDashboard/ReferralPerformance';
11
+ export { ProgramOverview } from './components/PartnerDashboard/ProgramOverview';
12
+ export { CommissionBreakdown } from './components/PartnerDashboard/CommissionBreakdown';
13
+ export { calculateCommissionAndDiscount, getProgramMinimumOrderAmount, } from './utilities/calculateValues';
14
+ export { getCartTotalWithDiscounts } from './utilities/getCartTotalWithDiscounts';
15
+ export { recordCouponUsageForOrder } from './utilities/recordCouponUsageForOrder';
16
16
  export { createCouponsCollection, createReferralCodesCollection, createReferralProgramsCollection, payloadEcommerceCouponPlugin as payloadEcommerceCoupon, };
17
- export type { AdminGroupConfig, ApplyCouponHook, ApplyCouponResponse, CouponPluginAccess, CouponPluginCollections, CouponPluginOptions, CouponPluginPolicies, OrderIntegrationConfig, PartnerDashboardConfig, PartnerDashboardData, PartnerStats, PartnerStatsPolicyContext, PluginIntegrationCollections, PluginIntegrationConfig, PluginIntegrationFields, PluginIntegrationResolvers, PolicyContext, RecordOrderUsagePolicyContext, ReferralProgramConfig, RoleConfig, } from "./types";
18
- export type { CartLike } from "./utilities/getCartTotalWithDiscounts";
17
+ export type { AdminGroupConfig, ApplyCouponHook, ApplyCouponResponse, CouponPluginAccess, CouponPluginCollections, CouponPluginOptions, CouponPluginPolicies, OrderIntegrationConfig, PartnerDashboardConfig, PartnerDashboardData, PartnerStats, PartnerStatsPolicyContext, PluginIntegrationCollections, PluginIntegrationConfig, PluginIntegrationFields, PluginIntegrationResolvers, PolicyContext, RecordOrderUsagePolicyContext, ReferralProgramConfig, RoleConfig, } from './types';
18
+ export type { CartLike } from './utilities/getCartTotalWithDiscounts';
19
19
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAAE,6BAA6B,EAAE,MAAM,6CAA6C,CAAC;AAC5F,OAAO,EAAE,gCAAgC,EAAE,MAAM,gDAAgD,CAAC;AAClG,OAAO,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAC;AAExD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpF,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,mDAAmD,CAAC;AACxF,OAAO,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,mDAAmD,CAAC;AAExF,OAAO,EACL,8BAA8B,EAC9B,4BAA4B,GAC7B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAClF,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAClF,OAAO,EACL,uBAAuB,EACvB,6BAA6B,EAC7B,gCAAgC,EAChC,4BAA4B,IAAI,sBAAsB,GACvD,CAAC;AAEF,YAAY,EACV,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,uBAAuB,EACvB,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,YAAY,EACZ,yBAAyB,EACzB,4BAA4B,EAC5B,uBAAuB,EACvB,uBAAuB,EACvB,0BAA0B,EAC1B,aAAa,EACb,6BAA6B,EAC7B,qBAAqB,EACrB,UAAU,GACX,MAAM,SAAS,CAAC;AACjB,YAAY,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAA;AAC/E,OAAO,EAAE,6BAA6B,EAAE,MAAM,6CAA6C,CAAA;AAC3F,OAAO,EAAE,gCAAgC,EAAE,MAAM,gDAAgD,CAAA;AACjG,OAAO,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAA;AAEvD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AACnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAA;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAA;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAA;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,mDAAmD,CAAA;AACvF,OAAO,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAA;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,mDAAmD,CAAA;AAEvF,OAAO,EACL,8BAA8B,EAC9B,4BAA4B,GAC7B,MAAM,6BAA6B,CAAA;AACpC,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAA;AACjF,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAA;AACjF,OAAO,EACL,uBAAuB,EACvB,6BAA6B,EAC7B,gCAAgC,EAChC,4BAA4B,IAAI,sBAAsB,GACvD,CAAA;AAED,YAAY,EACV,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,uBAAuB,EACvB,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,YAAY,EACZ,yBAAyB,EACzB,4BAA4B,EAC5B,uBAAuB,EACvB,uBAAuB,EACvB,0BAA0B,EAC1B,aAAa,EACb,6BAA6B,EAC7B,qBAAqB,EACrB,UAAU,GACX,MAAM,SAAS,CAAA;AAChB,YAAY,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAA"}
package/dist/index.js CHANGED
@@ -454,11 +454,14 @@ const createReferralProgramsCollection = (pluginConfig) => {
454
454
  },
455
455
  hooks: { beforeChange: [({ data }) => {
456
456
  if (!data.commissionRules || !Array.isArray(data.commissionRules) || data.commissionRules.length === 0) throw new payload.APIError("At least one commission rule is required", 400);
457
- const maxAmount = toNumber(data.maxAmount);
458
- if (maxAmount != null && maxAmount < 0) throw new payload.APIError("Max Amount must be a non-negative number", 400);
457
+ const maxPartnerCommissionPerOrder = toNumber(data.maxPartnerCommissionPerOrder);
458
+ if (maxPartnerCommissionPerOrder != null && maxPartnerCommissionPerOrder < 0) throw new payload.APIError("Maximum commission per order for partner must be a non-negative number", 400);
459
+ const maxCustomerDiscountPerOrder = toNumber(data.maxCustomerDiscountPerOrder);
460
+ if (maxCustomerDiscountPerOrder != null && maxCustomerDiscountPerOrder < 0) throw new payload.APIError("Maximum discount for customer per order must be a non-negative number", 400);
459
461
  const minOrderAmount = toNumber(data.minOrderAmount);
460
462
  if (minOrderAmount != null && minOrderAmount < 0) throw new payload.APIError("Minimum Order Amount must be a non-negative number", 400);
461
- data.maxAmount = maxAmount ?? null;
463
+ data.maxPartnerCommissionPerOrder = maxPartnerCommissionPerOrder != null ? toCents(maxPartnerCommissionPerOrder) : null;
464
+ data.maxCustomerDiscountPerOrder = maxCustomerDiscountPerOrder != null ? toCents(maxCustomerDiscountPerOrder) : null;
462
465
  data.minOrderAmount = minOrderAmount ?? null;
463
466
  data.commissionRules = data.commissionRules.map((rule, index) => {
464
467
  const r = rule;
@@ -541,10 +544,16 @@ const createReferralProgramsCollection = (pluginConfig) => {
541
544
  admin: { description: "Whether this referral program is currently active" }
542
545
  },
543
546
  {
544
- name: "maxAmount",
547
+ name: "maxPartnerCommissionPerOrder",
545
548
  type: "number",
546
549
  min: 0,
547
- admin: { description: "Maximum commission cap per item. Leave empty for no cap." }
550
+ admin: { description: "Maximum commission per order for partner. Leave empty for no cap. Enter value in currency units (will be converted to cents)." }
551
+ },
552
+ {
553
+ name: "maxCustomerDiscountPerOrder",
554
+ type: "number",
555
+ min: 0,
556
+ admin: { description: "Maximum customer discount per order. Leave empty for no cap. Enter value in currency units (will be converted to cents)." }
548
557
  },
549
558
  {
550
559
  name: "minOrderAmount",
@@ -759,11 +768,11 @@ function getRuleSplits(rule) {
759
768
  customerSplit: typeof rule.customerSplit === "number" ? rule.customerSplit : typeof rule.refereeSplit === "number" ? rule.refereeSplit : 100 - partnerRaw
760
769
  };
761
770
  }
762
- function calculateItemRewardByRule({ rule, itemTotal, quantity, maxAmount, allowedTotalCommissionTypes }) {
771
+ function calculateItemRewardByRule({ rule, itemTotal, quantity, allowedTotalCommissionTypes }) {
763
772
  const allowedTypes = allowedCommissionTypesSet(allowedTotalCommissionTypes);
764
773
  if (rule.totalCommission) {
765
774
  if (!allowedTypes.has(rule.totalCommission.type)) return null;
766
- const resolvedMaxAmount = typeof maxAmount === "number" && Number.isFinite(maxAmount) ? maxAmount : typeof rule.totalCommission.maxAmount === "number" && Number.isFinite(rule.totalCommission.maxAmount) ? rule.totalCommission.maxAmount : null;
775
+ const resolvedMaxAmount = typeof rule.totalCommission.maxAmount === "number" && Number.isFinite(rule.totalCommission.maxAmount) ? rule.totalCommission.maxAmount : null;
767
776
  if (rule.totalCommission.type === "fixed" && rule.totalCommission.value == null) {
768
777
  const partnerAmtPerUnit = typeof rule.partnerSplit === "number" ? rule.partnerSplit : null;
769
778
  const customerAmtPerUnit = typeof rule.customerSplit === "number" ? rule.customerSplit : null;
@@ -822,7 +831,7 @@ function getItemCategoryIds(item) {
822
831
  function getItemTagIds(item) {
823
832
  return Array.isArray(item?.product?.tags) ? normalizeIds(item.product.tags) : [];
824
833
  }
825
- function selectBestRuleForItem({ rules, item, itemTotal, quantity, cartTotal, minOrderAmount, maxAmount, allowedTotalCommissionTypes }) {
834
+ function selectBestRuleForItem({ rules, item, itemTotal, quantity, cartTotal, minOrderAmount, allowedTotalCommissionTypes }) {
826
835
  const allowedTypes = allowedCommissionTypesSet(allowedTotalCommissionTypes);
827
836
  const eligibleRules = rules.filter((rule) => {
828
837
  if (!(rule?.totalCommission?.type ? allowedTypes.has(rule.totalCommission.type) : true)) return false;
@@ -852,7 +861,6 @@ function selectBestRuleForItem({ rules, item, itemTotal, quantity, cartTotal, mi
852
861
  rule,
853
862
  itemTotal,
854
863
  quantity,
855
- maxAmount,
856
864
  allowedTotalCommissionTypes
857
865
  });
858
866
  if (!reward) continue;
@@ -917,13 +925,16 @@ function calculateCommissionAndDiscount({ cartItems, program, currencyCode = "AE
917
925
  quantity,
918
926
  cartTotal,
919
927
  minOrderAmount: typeof program?.minOrderAmount === "number" && Number.isFinite(program.minOrderAmount) ? program.minOrderAmount : null,
920
- maxAmount: typeof program?.maxAmount === "number" && Number.isFinite(program.maxAmount) ? program.maxAmount : null,
921
928
  allowedTotalCommissionTypes
922
929
  });
923
930
  if (!bestMatch) continue;
924
931
  totalPartnerCommission += bestMatch.reward.partner;
925
932
  totalCustomerDiscount += bestMatch.reward.customer;
926
933
  }
934
+ const maxPartnerCommissionPerOrder = typeof program?.maxPartnerCommissionPerOrder === "number" && Number.isFinite(program.maxPartnerCommissionPerOrder) ? program.maxPartnerCommissionPerOrder : null;
935
+ const maxCustomerDiscountPerOrder = typeof program?.maxCustomerDiscountPerOrder === "number" && Number.isFinite(program.maxCustomerDiscountPerOrder) ? program.maxCustomerDiscountPerOrder : null;
936
+ if (maxPartnerCommissionPerOrder != null) totalPartnerCommission = Math.min(totalPartnerCommission, maxPartnerCommissionPerOrder);
937
+ if (maxCustomerDiscountPerOrder != null) totalCustomerDiscount = Math.min(totalCustomerDiscount, maxCustomerDiscountPerOrder);
927
938
  return {
928
939
  partnerCommission: totalPartnerCommission,
929
940
  customerDiscount: totalCustomerDiscount