@etohq/ambassador 1.5.1-alpha.4

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 (100) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1 -0
  3. package/dist/index.d.ts +6 -0
  4. package/dist/index.d.ts.map +1 -0
  5. package/dist/index.js +8 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/models/ambassador.d.ts +39 -0
  8. package/dist/models/ambassador.d.ts.map +1 -0
  9. package/dist/models/ambassador.js +67 -0
  10. package/dist/models/ambassador.js.map +1 -0
  11. package/dist/models/commission.d.ts +23 -0
  12. package/dist/models/commission.d.ts.map +1 -0
  13. package/dist/models/commission.js +93 -0
  14. package/dist/models/commission.js.map +1 -0
  15. package/dist/models/index.d.ts +8 -0
  16. package/dist/models/index.d.ts.map +1 -0
  17. package/dist/models/index.js +18 -0
  18. package/dist/models/index.js.map +1 -0
  19. package/dist/models/partner.d.ts +38 -0
  20. package/dist/models/partner.d.ts.map +1 -0
  21. package/dist/models/partner.js +78 -0
  22. package/dist/models/partner.js.map +1 -0
  23. package/dist/models/payout.d.ts +28 -0
  24. package/dist/models/payout.d.ts.map +1 -0
  25. package/dist/models/payout.js +57 -0
  26. package/dist/models/payout.js.map +1 -0
  27. package/dist/models/program-enrollment.d.ts +26 -0
  28. package/dist/models/program-enrollment.d.ts.map +1 -0
  29. package/dist/models/program-enrollment.js +81 -0
  30. package/dist/models/program-enrollment.js.map +1 -0
  31. package/dist/models/program.d.ts +52 -0
  32. package/dist/models/program.d.ts.map +1 -0
  33. package/dist/models/program.js +106 -0
  34. package/dist/models/program.js.map +1 -0
  35. package/dist/models/revenue-share-rule.d.ts +25 -0
  36. package/dist/models/revenue-share-rule.d.ts.map +1 -0
  37. package/dist/models/revenue-share-rule.js +54 -0
  38. package/dist/models/revenue-share-rule.js.map +1 -0
  39. package/dist/models/reward.d.ts +16 -0
  40. package/dist/models/reward.d.ts.map +1 -0
  41. package/dist/models/reward.js +41 -0
  42. package/dist/models/reward.js.map +1 -0
  43. package/dist/services/ambassador-module-service.d.ts +221 -0
  44. package/dist/services/ambassador-module-service.d.ts.map +1 -0
  45. package/dist/services/ambassador-module-service.js +972 -0
  46. package/dist/services/ambassador-module-service.js.map +1 -0
  47. package/dist/services/ambassador-service.d.ts +57 -0
  48. package/dist/services/ambassador-service.d.ts.map +1 -0
  49. package/dist/services/ambassador-service.js +127 -0
  50. package/dist/services/ambassador-service.js.map +1 -0
  51. package/dist/services/commission-service.d.ts +45 -0
  52. package/dist/services/commission-service.d.ts.map +1 -0
  53. package/dist/services/commission-service.js +146 -0
  54. package/dist/services/commission-service.js.map +1 -0
  55. package/dist/services/index.d.ts +2 -0
  56. package/dist/services/index.d.ts.map +1 -0
  57. package/dist/services/index.js +9 -0
  58. package/dist/services/index.js.map +1 -0
  59. package/dist/services/payout-service.d.ts +35 -0
  60. package/dist/services/payout-service.d.ts.map +1 -0
  61. package/dist/services/payout-service.js +87 -0
  62. package/dist/services/payout-service.js.map +1 -0
  63. package/dist/services/program-enrollment-service.d.ts +39 -0
  64. package/dist/services/program-enrollment-service.d.ts.map +1 -0
  65. package/dist/services/program-enrollment-service.js +102 -0
  66. package/dist/services/program-enrollment-service.js.map +1 -0
  67. package/dist/services/program-service.d.ts +78 -0
  68. package/dist/services/program-service.d.ts.map +1 -0
  69. package/dist/services/program-service.js +180 -0
  70. package/dist/services/program-service.js.map +1 -0
  71. package/dist/services/revenue-rule-resolver.d.ts +15 -0
  72. package/dist/services/revenue-rule-resolver.d.ts.map +1 -0
  73. package/dist/services/revenue-rule-resolver.js +836 -0
  74. package/dist/services/revenue-rule-resolver.js.map +1 -0
  75. package/dist/services/revenue-share-rule-service.d.ts +5 -0
  76. package/dist/services/revenue-share-rule-service.d.ts.map +1 -0
  77. package/dist/services/revenue-share-rule-service.js +8 -0
  78. package/dist/services/revenue-share-rule-service.js.map +1 -0
  79. package/dist/services/reward-service.d.ts +31 -0
  80. package/dist/services/reward-service.d.ts.map +1 -0
  81. package/dist/services/reward-service.js +82 -0
  82. package/dist/services/reward-service.js.map +1 -0
  83. package/dist/tsconfig.tsbuildinfo +1 -0
  84. package/dist/utils/analytics.d.ts +19 -0
  85. package/dist/utils/analytics.d.ts.map +1 -0
  86. package/dist/utils/analytics.js +90 -0
  87. package/dist/utils/analytics.js.map +1 -0
  88. package/dist/utils/sustainability-monitor.d.ts +20 -0
  89. package/dist/utils/sustainability-monitor.d.ts.map +1 -0
  90. package/dist/utils/sustainability-monitor.js +46 -0
  91. package/dist/utils/sustainability-monitor.js.map +1 -0
  92. package/dist/workflows/calculate-commission-workflow.d.ts +2 -0
  93. package/dist/workflows/calculate-commission-workflow.d.ts.map +1 -0
  94. package/dist/workflows/calculate-commission-workflow.js +59 -0
  95. package/dist/workflows/calculate-commission-workflow.js.map +1 -0
  96. package/dist/workflows/steps/index.d.ts +2 -0
  97. package/dist/workflows/steps/index.d.ts.map +1 -0
  98. package/dist/workflows/steps/index.js +158 -0
  99. package/dist/workflows/steps/index.js.map +1 -0
  100. package/package.json +56 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ambassador-module-service.js","sourceRoot":"","sources":["../../src/services/ambassador-module-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ import { Context, DAL } from "@etohq/framework/types";
2
+ import { CreateAmbassadorDTO, AmbassadorDTO } from "@etohq/framework/types";
3
+ type InjectedDependencies = {
4
+ ambassadorRepository: DAL.RepositoryService;
5
+ };
6
+ declare const AmbassadorService_base: new (container: InjectedDependencies) => import("@etohq/framework/types").IEtoInternalService<{
7
+ id: string;
8
+ source_type: "user" | "community";
9
+ source_id: string;
10
+ name: string;
11
+ email: string | null;
12
+ profile_type: "individual" | "business";
13
+ company_name: string | null;
14
+ status: "default" | "verified" | "featured";
15
+ description: string | null;
16
+ country: string | null;
17
+ image: string | null;
18
+ total_earnings: number | null;
19
+ website: string | null;
20
+ website_txt_record: string | null;
21
+ website_verified_at: Date | null;
22
+ youtube: string | null;
23
+ youtube_channel_id: string | null;
24
+ youtube_verified_at: Date | null;
25
+ youtube_subscriber_count: number;
26
+ youtube_video_count: number;
27
+ youtube_view_count: number;
28
+ twitter: string | null;
29
+ twitter_verified_at: Date | null;
30
+ linkedin: string | null;
31
+ linkedin_verified_at: Date | null;
32
+ instagram: string | null;
33
+ instagram_verified_at: Date | null;
34
+ tiktok: string | null;
35
+ paypal_email: string | null;
36
+ stripe_connect_id: string | null;
37
+ min_withdrawal_amount: number;
38
+ payouts_enabled_at: Date | null;
39
+ connect_payouts_last_reminded_at: Date | null;
40
+ invoice_settings: Record<string, unknown> | null;
41
+ metadata: Record<string, unknown> | null;
42
+ raw_total_earnings: Record<string, unknown> | null;
43
+ created_at: Date;
44
+ updated_at: Date;
45
+ deleted_at: Date | null;
46
+ }, InjectedDependencies>;
47
+ export default class AmbassadorService extends AmbassadorService_base {
48
+ protected readonly ambassadorRepository_: DAL.RepositoryService;
49
+ constructor(container: InjectedDependencies);
50
+ createAmbassador(sourceType: "user" | "community", sourceId: string, data: CreateAmbassadorDTO, sharedContext?: Context): Promise<AmbassadorDTO>;
51
+ getAmbassadorBySource(sourceType: string, sourceId: string, sharedContext?: Context): Promise<AmbassadorDTO | null>;
52
+ verifyWebsite(ambassadorId: string, domain: string, sharedContext?: Context): Promise<AmbassadorDTO>;
53
+ verifyYoutube(ambassadorId: string, channelId: string, sharedContext?: Context): Promise<AmbassadorDTO>;
54
+ private validateSourceType;
55
+ }
56
+ export {};
57
+ //# sourceMappingURL=ambassador-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ambassador-service.d.ts","sourceRoot":"","sources":["../../src/services/ambassador-service.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,GAAG,EAEJ,MAAM,wBAAwB,CAAA;AAS/B,OAAO,EACL,mBAAmB,EACnB,aAAa,EAEd,MAAM,wBAAwB,CAAA;AAI/B,KAAK,oBAAoB,GAAG;IAC1B,oBAAoB,EAAE,GAAG,CAAC,iBAAiB,CAAA;CAC5C,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAED,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,sBAGlC;IACX,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,GAAG,CAAC,iBAAiB,CAAA;gBAEnD,SAAS,EAAE,oBAAoB;IASrC,gBAAgB,CACpB,UAAU,EAAE,MAAM,GAAG,WAAW,EAChC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,mBAAmB,EACX,aAAa,GAAE,OAAY,GACxC,OAAO,CAAC,aAAa,CAAC;IAkCnB,qBAAqB,CACzB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EACF,aAAa,GAAE,OAAY,GACxC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAgB1B,aAAa,CACjB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,EACA,aAAa,GAAE,OAAY,GACxC,OAAO,CAAC,aAAa,CAAC;IAiBnB,aAAa,CACjB,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,EACH,aAAa,GAAE,OAAY,GACxC,OAAO,CAAC,aAAa,CAAC;IAmCzB,OAAO,CAAC,kBAAkB;CAQ3B"}
@@ -0,0 +1,127 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const utils_1 = require("@etohq/framework/utils");
16
+ const _models_1 = require("../models");
17
+ class AmbassadorService extends utils_1.ModulesSdkUtils.EtoInternalService(_models_1.Ambassador) {
18
+ constructor(container) {
19
+ // @ts-ignore
20
+ super(...arguments);
21
+ this.ambassadorRepository_ = container.ambassadorRepository;
22
+ }
23
+ // ===== UNIVERSAL SOURCE SUPPORT (users + communities) =====
24
+ async createAmbassador(sourceType, sourceId, data, sharedContext = {}) {
25
+ this.validateSourceType(sourceType);
26
+ // Check uniqueness per source
27
+ const existing = await this.getAmbassadorBySource(sourceType, sourceId, sharedContext);
28
+ if (existing) {
29
+ throw new utils_1.EtoError(utils_1.EtoError.Types.DUPLICATE_ERROR, `Ambassador already exists for ${sourceType}:${sourceId}`);
30
+ }
31
+ const ambassadorData = {
32
+ id: (0, utils_1.generateEntityId)("", "amb"),
33
+ ...data,
34
+ source_type: sourceType,
35
+ source_id: sourceId,
36
+ status: "default",
37
+ profile_type: data.profile_type || "individual",
38
+ min_withdrawal_amount: 10000, // $100 default (Dub parity)
39
+ youtube_subscriber_count: 0,
40
+ youtube_video_count: 0,
41
+ youtube_view_count: 0,
42
+ };
43
+ const [ambassador] = await this.create([ambassadorData], sharedContext);
44
+ return ambassador;
45
+ }
46
+ async getAmbassadorBySource(sourceType, sourceId, sharedContext = {}) {
47
+ const ambassadors = await this.list({
48
+ source_type: sourceType,
49
+ source_id: sourceId,
50
+ }, {}, sharedContext);
51
+ return ambassadors[0] || null;
52
+ }
53
+ // ===== SOCIAL VERIFICATION (Dub parity) =====
54
+ async verifyWebsite(ambassadorId, domain, sharedContext = {}) {
55
+ // TODO: Implement DNS TXT record verification (Dub parity)
56
+ const [updated] = await this.update([
57
+ {
58
+ id: ambassadorId,
59
+ website: domain,
60
+ website_verified_at: new Date(),
61
+ },
62
+ ], sharedContext);
63
+ return updated;
64
+ }
65
+ async verifyYoutube(ambassadorId, channelId, sharedContext = {}) {
66
+ // TODO: Implement YouTube API verification (Dub parity)
67
+ const [updated] = await this.update([
68
+ {
69
+ id: ambassadorId,
70
+ youtube_channel_id: channelId,
71
+ youtube_verified_at: new Date(),
72
+ youtube_subscriber_count: 0, // TODO: Real stats
73
+ youtube_video_count: 0,
74
+ youtube_view_count: 0,
75
+ },
76
+ ], sharedContext);
77
+ return updated;
78
+ }
79
+ // @InjectManager("ambassadorRepository_")
80
+ // async updatePayoutSettings(
81
+ // ambassadorId: string,
82
+ // settings: PayoutSettingsDTO,
83
+ // @EtoContext() sharedContext: Context = {}
84
+ // ): Promise<AmbassadorDTO> {
85
+ // const [updated] = await this.update([{
86
+ // id: ambassadorId,
87
+ // ...settings
88
+ // }], sharedContext)
89
+ // return updated
90
+ // }
91
+ // ===== VALIDATION =====
92
+ validateSourceType(sourceType) {
93
+ if (!["user", "community"].includes(sourceType)) {
94
+ throw new utils_1.EtoError(utils_1.EtoError.Types.INVALID_DATA, `Invalid source_type: ${sourceType}. Must be 'user' or 'community'`);
95
+ }
96
+ }
97
+ }
98
+ exports.default = AmbassadorService;
99
+ __decorate([
100
+ (0, utils_1.InjectManager)("ambassadorRepository_"),
101
+ __param(3, (0, utils_1.EtoContext)()),
102
+ __metadata("design:type", Function),
103
+ __metadata("design:paramtypes", [String, String, Object, Object]),
104
+ __metadata("design:returntype", Promise)
105
+ ], AmbassadorService.prototype, "createAmbassador", null);
106
+ __decorate([
107
+ (0, utils_1.InjectManager)("ambassadorRepository_"),
108
+ __param(2, (0, utils_1.EtoContext)()),
109
+ __metadata("design:type", Function),
110
+ __metadata("design:paramtypes", [String, String, Object]),
111
+ __metadata("design:returntype", Promise)
112
+ ], AmbassadorService.prototype, "getAmbassadorBySource", null);
113
+ __decorate([
114
+ (0, utils_1.InjectManager)("ambassadorRepository_"),
115
+ __param(2, (0, utils_1.EtoContext)()),
116
+ __metadata("design:type", Function),
117
+ __metadata("design:paramtypes", [String, String, Object]),
118
+ __metadata("design:returntype", Promise)
119
+ ], AmbassadorService.prototype, "verifyWebsite", null);
120
+ __decorate([
121
+ (0, utils_1.InjectManager)("ambassadorRepository_"),
122
+ __param(2, (0, utils_1.EtoContext)()),
123
+ __metadata("design:type", Function),
124
+ __metadata("design:paramtypes", [String, String, Object]),
125
+ __metadata("design:returntype", Promise)
126
+ ], AmbassadorService.prototype, "verifyYoutube", null);
127
+ //# sourceMappingURL=ambassador-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ambassador-service.js","sourceRoot":"","sources":["../../src/services/ambassador-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ import { Context, DAL, FindConfig } from "@etohq/framework/types";
2
+ import { CreateCommissionDTO, FilterableCommissionProps, CommissionDTO, CommissionStatus } from "@etohq/framework/types";
3
+ type InjectedDependencies = {
4
+ commissionRepository: DAL.RepositoryService;
5
+ };
6
+ declare const CommissionService_base: new (container: InjectedDependencies) => import("@etohq/framework/types").IEtoInternalService<{
7
+ id: string;
8
+ program_id: string;
9
+ ambassador_id: string;
10
+ program_enrollment_id: string | null;
11
+ reward_id: string | null;
12
+ access_link_id: string | null;
13
+ invoice_id: string | null;
14
+ customer_id: string | null;
15
+ event_id: string | null;
16
+ description: string | null;
17
+ type: "custom" | "click" | "lead" | "sale" | "revenue_share" | "community_bonus";
18
+ amount: number;
19
+ quantity: number;
20
+ earnings: number;
21
+ currency: string;
22
+ user_id: string | null;
23
+ payout_id: string | null;
24
+ status: "pending" | "fraud" | "processed" | "canceled" | "paid" | "refunded" | "duplicate";
25
+ metadata: Record<string, unknown> | null;
26
+ created_at: Date;
27
+ updated_at: Date;
28
+ deleted_at: Date | null;
29
+ }, InjectedDependencies>;
30
+ export default class CommissionService extends CommissionService_base {
31
+ protected readonly commissionRepository_: DAL.RepositoryService;
32
+ constructor(container: InjectedDependencies);
33
+ createCommission(data: CreateCommissionDTO, sharedContext?: Context): Promise<CommissionDTO>;
34
+ getCommissionsByFilters(filters: FilterableCommissionProps, config?: FindConfig<CommissionDTO>, sharedContext?: Context): Promise<CommissionDTO[]>;
35
+ updateCommissionStatus(commissionId: string, status: CommissionStatus, sharedContext?: Context): Promise<CommissionDTO>;
36
+ getCommissionsForPayout(programId: string, ambassadorId: string, cutoffDate: Date, sharedContext?: Context): Promise<{
37
+ eligible: CommissionDTO[];
38
+ clawbacks: CommissionDTO[];
39
+ }>;
40
+ getFirstSaleCommission(ambassadorId: string, customerId: string, sharedContext?: Context): Promise<CommissionDTO | null>;
41
+ bulkUpdatePayoutId(commissionIds: string[], payoutId: string, sharedContext?: Context): Promise<CommissionDTO[]>;
42
+ private validateCommissionData;
43
+ }
44
+ export {};
45
+ //# sourceMappingURL=commission-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commission-service.d.ts","sourceRoot":"","sources":["../../src/services/commission-service.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,GAAG,EACH,UAAU,EAEX,MAAM,wBAAwB,CAAA;AAS/B,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,aAAa,EACb,gBAAgB,EACjB,MAAM,wBAAwB,CAAA;AAI/B,KAAK,oBAAoB,GAAG;IAC1B,oBAAoB,EAAE,GAAG,CAAC,iBAAiB,CAAA;CAC5C,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;AAED,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,sBAGlC;IACX,SAAS,CAAC,QAAQ,CAAC,qBAAqB,EAAE,GAAG,CAAC,iBAAiB,CAAA;gBAEnD,SAAS,EAAE,oBAAoB;IASrC,gBAAgB,CACpB,IAAI,EAAE,mBAAmB,EACX,aAAa,GAAE,OAAY,GACxC,OAAO,CAAC,aAAa,CAAC;IAgBnB,uBAAuB,CAC3B,OAAO,EAAE,yBAAyB,EAClC,MAAM,GAAE,UAAU,CAAC,aAAa,CAAM,EACxB,aAAa,GAAE,OAAY,GACxC,OAAO,CAAC,aAAa,EAAE,CAAC;IAMrB,sBAAsB,CAC1B,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,gBAAgB,EACV,aAAa,GAAE,OAAY,GACxC,OAAO,CAAC,aAAa,CAAC;IAUnB,uBAAuB,CAC3B,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,IAAI,EACF,aAAa,GAAE,OAAY,GACxC,OAAO,CAAC;QACT,QAAQ,EAAE,aAAa,EAAE,CAAA;QACzB,SAAS,EAAE,aAAa,EAAE,CAAA;KAC3B,CAAC;IAyBI,sBAAsB,CAC1B,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EACJ,aAAa,GAAE,OAAY,GACxC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAe1B,kBAAkB,CACtB,aAAa,EAAE,MAAM,EAAE,EACvB,QAAQ,EAAE,MAAM,EACF,aAAa,GAAE,OAAY,GACxC,OAAO,CAAC,aAAa,EAAE,CAAC;IAa3B,OAAO,CAAC,sBAAsB;CAsB/B"}
@@ -0,0 +1,146 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const utils_1 = require("@etohq/framework/utils");
16
+ const _models_1 = require("../models");
17
+ class CommissionService extends utils_1.ModulesSdkUtils.EtoInternalService(_models_1.Commission) {
18
+ constructor(container) {
19
+ // @ts-ignore
20
+ super(...arguments);
21
+ this.commissionRepository_ = container.commissionRepository;
22
+ }
23
+ // ===== ATOMIC OPERATIONS (Module Level) =====
24
+ async createCommission(data, sharedContext = {}) {
25
+ // Pure commission creation - no cross-module dependencies
26
+ this.validateCommissionData(data);
27
+ const commissionData = {
28
+ id: (0, utils_1.generateEntityId)("", "com"),
29
+ ...data,
30
+ currency: data.currency || "usd",
31
+ status: ("pending")
32
+ };
33
+ const [commission] = await this.create([commissionData], sharedContext);
34
+ return commission;
35
+ }
36
+ async getCommissionsByFilters(filters, config = {}, sharedContext = {}) {
37
+ // Pure query operation
38
+ return await this.list(filters, config, sharedContext);
39
+ }
40
+ async updateCommissionStatus(commissionId, status, sharedContext = {}) {
41
+ // Atomic status update
42
+ const [updated] = await this.update([{
43
+ id: commissionId,
44
+ status
45
+ }], sharedContext);
46
+ return updated;
47
+ }
48
+ async getCommissionsForPayout(programId, ambassadorId, cutoffDate, sharedContext = {}) {
49
+ // Atomic query - cutoffDate calculated by workflow
50
+ const [eligible, clawbacks] = await Promise.all([
51
+ this.list({
52
+ program_id: programId,
53
+ ambassador_id: ambassadorId,
54
+ status: "pending",
55
+ payout_id: null,
56
+ earnings: { $gt: 0 },
57
+ created_at: { $lt: cutoffDate }
58
+ }, { order: { created_at: "ASC" } }, sharedContext),
59
+ this.list({
60
+ program_id: programId,
61
+ ambassador_id: ambassadorId,
62
+ status: "pending",
63
+ payout_id: null,
64
+ earnings: { $lt: 0 }
65
+ }, { order: { created_at: "ASC" } }, sharedContext)
66
+ ]);
67
+ return { eligible, clawbacks };
68
+ }
69
+ async getFirstSaleCommission(ambassadorId, customerId, sharedContext = {}) {
70
+ // Atomic query for first sale check
71
+ const commissions = await this.list({
72
+ ambassador_id: ambassadorId,
73
+ customer_id: customerId,
74
+ type: "sale"
75
+ }, {
76
+ order: { created_at: "ASC" },
77
+ take: 1
78
+ }, sharedContext);
79
+ return commissions[0] || null;
80
+ }
81
+ async bulkUpdatePayoutId(commissionIds, payoutId, sharedContext = {}) {
82
+ // Atomic bulk update for payout assignment
83
+ const updates = commissionIds.map(id => ({
84
+ id,
85
+ payout_id: payoutId,
86
+ status: "processing"
87
+ }));
88
+ return await this.update(updates, sharedContext);
89
+ }
90
+ // ===== VALIDATION (Pure Functions) =====
91
+ validateCommissionData(data) {
92
+ if (!data.program_id || !data.ambassador_id) {
93
+ throw new utils_1.EtoError(utils_1.EtoError.Types.INVALID_DATA, "Program ID and Ambassador ID are required");
94
+ }
95
+ if (typeof data.quantity === "number" && data.quantity < 0) {
96
+ throw new utils_1.EtoError(utils_1.EtoError.Types.INVALID_DATA, "Quantity must be positive");
97
+ }
98
+ if (data.type !== "custom" && (data.amount || 0) < 0) {
99
+ throw new utils_1.EtoError(utils_1.EtoError.Types.INVALID_DATA, "Amount must be positive for non-custom commissions");
100
+ }
101
+ }
102
+ }
103
+ exports.default = CommissionService;
104
+ __decorate([
105
+ (0, utils_1.InjectManager)("commissionRepository_"),
106
+ __param(1, (0, utils_1.EtoContext)()),
107
+ __metadata("design:type", Function),
108
+ __metadata("design:paramtypes", [Object, Object]),
109
+ __metadata("design:returntype", Promise)
110
+ ], CommissionService.prototype, "createCommission", null);
111
+ __decorate([
112
+ (0, utils_1.InjectManager)("commissionRepository_"),
113
+ __param(2, (0, utils_1.EtoContext)()),
114
+ __metadata("design:type", Function),
115
+ __metadata("design:paramtypes", [Object, Object, Object]),
116
+ __metadata("design:returntype", Promise)
117
+ ], CommissionService.prototype, "getCommissionsByFilters", null);
118
+ __decorate([
119
+ (0, utils_1.InjectManager)("commissionRepository_"),
120
+ __param(2, (0, utils_1.EtoContext)()),
121
+ __metadata("design:type", Function),
122
+ __metadata("design:paramtypes", [String, String, Object]),
123
+ __metadata("design:returntype", Promise)
124
+ ], CommissionService.prototype, "updateCommissionStatus", null);
125
+ __decorate([
126
+ (0, utils_1.InjectManager)("commissionRepository_"),
127
+ __param(3, (0, utils_1.EtoContext)()),
128
+ __metadata("design:type", Function),
129
+ __metadata("design:paramtypes", [String, String, Date, Object]),
130
+ __metadata("design:returntype", Promise)
131
+ ], CommissionService.prototype, "getCommissionsForPayout", null);
132
+ __decorate([
133
+ (0, utils_1.InjectManager)("commissionRepository_"),
134
+ __param(2, (0, utils_1.EtoContext)()),
135
+ __metadata("design:type", Function),
136
+ __metadata("design:paramtypes", [String, String, Object]),
137
+ __metadata("design:returntype", Promise)
138
+ ], CommissionService.prototype, "getFirstSaleCommission", null);
139
+ __decorate([
140
+ (0, utils_1.InjectManager)("commissionRepository_"),
141
+ __param(2, (0, utils_1.EtoContext)()),
142
+ __metadata("design:type", Function),
143
+ __metadata("design:paramtypes", [Array, String, Object]),
144
+ __metadata("design:returntype", Promise)
145
+ ], CommissionService.prototype, "bulkUpdatePayoutId", null);
146
+ //# sourceMappingURL=commission-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commission-service.js","sourceRoot":"","sources":["../../src/services/commission-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { default as AmbassadorModuleService } from "./ambassador-module-service";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,6BAA6B,CAAA"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.AmbassadorModuleService = void 0;
7
+ var ambassador_module_service_1 = require("./ambassador-module-service");
8
+ Object.defineProperty(exports, "AmbassadorModuleService", { enumerable: true, get: function () { return __importDefault(ambassador_module_service_1).default; } });
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":";;;;;;AAAA,yEAAgF;AAAvE,qJAAA,OAAO,OAA2B"}
@@ -0,0 +1,35 @@
1
+ import { Context, DAL, FindConfig } from "@etohq/framework/types";
2
+ import { CreatePayoutDTO, FilterablePayoutProps, PayoutDTO, PayoutStatus } from "@etohq/framework/types";
3
+ type InjectedDependencies = {
4
+ payoutRepository: DAL.RepositoryService;
5
+ };
6
+ declare const PayoutService_base: new (container: InjectedDependencies) => import("@etohq/framework/types").IEtoInternalService<{
7
+ id: string;
8
+ program_id: string;
9
+ ambassador_id: string;
10
+ amount: number;
11
+ currency: string;
12
+ status: import("../models/payout").PayoutStatus;
13
+ description: string | null;
14
+ period_start: Date | null;
15
+ period_end: Date | null;
16
+ spay_transfer_id: string | null;
17
+ spay_payout_id: string | null;
18
+ paypal_transfer_id: string | null;
19
+ failure_reason: string | null;
20
+ created_by: string | null;
21
+ paid_at: Date | null;
22
+ created_at: Date;
23
+ updated_at: Date;
24
+ deleted_at: Date | null;
25
+ }, InjectedDependencies>;
26
+ export default class PayoutService extends PayoutService_base {
27
+ protected readonly payoutRepository_: DAL.RepositoryService;
28
+ constructor(container: InjectedDependencies);
29
+ createPayout(data: CreatePayoutDTO, sharedContext?: Context): Promise<PayoutDTO>;
30
+ getPayoutsByProgram(programId: string, filters?: FilterablePayoutProps, config?: FindConfig<PayoutDTO>, sharedContext?: Context): Promise<PayoutDTO[]>;
31
+ getEligiblePayouts(programId: string, minPayoutAmount: number, cutoffDate?: Date, sharedContext?: Context): Promise<PayoutDTO[]>;
32
+ updatePayoutStatus(payoutId: string, status: PayoutStatus, sharedContext?: Context): Promise<PayoutDTO>;
33
+ }
34
+ export {};
35
+ //# sourceMappingURL=payout-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payout-service.d.ts","sourceRoot":"","sources":["../../src/services/payout-service.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,GAAG,EACH,UAAU,EAEX,MAAM,wBAAwB,CAAA;AAQ/B,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,SAAS,EACT,YAAY,EACb,MAAM,wBAAwB,CAAA;AAI/B,KAAK,oBAAoB,GAAG;IAC1B,gBAAgB,EAAE,GAAG,CAAC,iBAAiB,CAAA;CACxC,CAAA;;;;;;;;;;;;;;;;;;;;;AAED,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,kBAGlC;IACP,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,GAAG,CAAC,iBAAiB,CAAA;gBAE/C,SAAS,EAAE,oBAAoB;IAOrC,YAAY,CAChB,IAAI,EAAE,eAAe,EACP,aAAa,GAAE,OAAY,GACxC,OAAO,CAAC,SAAS,CAAC;IAYf,mBAAmB,CACvB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,qBAA0B,EACnC,MAAM,GAAE,UAAU,CAAC,SAAS,CAAM,EACpB,aAAa,GAAE,OAAY,GACxC,OAAO,CAAC,SAAS,EAAE,CAAC;IAYjB,kBAAkB,CACtB,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,MAAM,EACvB,UAAU,CAAC,EAAE,IAAI,EACH,aAAa,GAAE,OAAY,GACxC,OAAO,CAAC,SAAS,EAAE,CAAC;IAmBjB,kBAAkB,CACtB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,YAAY,EACN,aAAa,GAAE,OAAY,GACxC,OAAO,CAAC,SAAS,CAAC;CAOtB"}
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const utils_1 = require("@etohq/framework/utils");
16
+ const _models_1 = require("../models");
17
+ class PayoutService extends utils_1.ModulesSdkUtils.EtoInternalService(_models_1.Payout) {
18
+ constructor(container) {
19
+ // @ts-ignore
20
+ super(...arguments);
21
+ this.payoutRepository_ = container.payoutRepository;
22
+ }
23
+ async createPayout(data, sharedContext = {}) {
24
+ const payoutData = {
25
+ id: (0, utils_1.generateEntityId)("", "pay"),
26
+ ...data,
27
+ status: "pending"
28
+ };
29
+ const [payout] = await this.create([payoutData], sharedContext);
30
+ return payout;
31
+ }
32
+ async getPayoutsByProgram(programId, filters = {}, config = {}, sharedContext = {}) {
33
+ return await this.list({
34
+ program_id: programId,
35
+ ...filters
36
+ }, config, sharedContext);
37
+ }
38
+ async getEligiblePayouts(programId, minPayoutAmount, cutoffDate, sharedContext = {}) {
39
+ const filters = {
40
+ program_id: programId,
41
+ status: "pending",
42
+ amount: { $gte: minPayoutAmount },
43
+ // Only include ambassadors with payouts enabled
44
+ ambassador: {
45
+ payouts_enabled_at: { $ne: null }
46
+ }
47
+ };
48
+ return await this.list(filters, { order: { amount: "DESC" } }, sharedContext);
49
+ }
50
+ async updatePayoutStatus(payoutId, status, sharedContext = {}) {
51
+ const [updated] = await this.update([{
52
+ id: payoutId,
53
+ status
54
+ }], sharedContext);
55
+ return updated;
56
+ }
57
+ }
58
+ exports.default = PayoutService;
59
+ __decorate([
60
+ (0, utils_1.InjectManager)("payoutRepository_"),
61
+ __param(1, (0, utils_1.EtoContext)()),
62
+ __metadata("design:type", Function),
63
+ __metadata("design:paramtypes", [Object, Object]),
64
+ __metadata("design:returntype", Promise)
65
+ ], PayoutService.prototype, "createPayout", null);
66
+ __decorate([
67
+ (0, utils_1.InjectManager)("payoutRepository_"),
68
+ __param(3, (0, utils_1.EtoContext)()),
69
+ __metadata("design:type", Function),
70
+ __metadata("design:paramtypes", [String, Object, Object, Object]),
71
+ __metadata("design:returntype", Promise)
72
+ ], PayoutService.prototype, "getPayoutsByProgram", null);
73
+ __decorate([
74
+ (0, utils_1.InjectManager)("payoutRepository_"),
75
+ __param(3, (0, utils_1.EtoContext)()),
76
+ __metadata("design:type", Function),
77
+ __metadata("design:paramtypes", [String, Number, Date, Object]),
78
+ __metadata("design:returntype", Promise)
79
+ ], PayoutService.prototype, "getEligiblePayouts", null);
80
+ __decorate([
81
+ (0, utils_1.InjectManager)("payoutRepository_"),
82
+ __param(2, (0, utils_1.EtoContext)()),
83
+ __metadata("design:type", Function),
84
+ __metadata("design:paramtypes", [String, String, Object]),
85
+ __metadata("design:returntype", Promise)
86
+ ], PayoutService.prototype, "updatePayoutStatus", null);
87
+ //# sourceMappingURL=payout-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payout-service.js","sourceRoot":"","sources":["../../src/services/payout-service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAMA,kDAK+B;AAS/B,qCAAgC;AAMhC,MAAqB,aAAc,SAAQ,uBAAe,CAAC,kBAAkB,CAG3E,gBAAM,CAAC;IAGP,YAAY,SAA+B;QACzC,aAAa;QACb,KAAK,CAAC,GAAG,SAAS,CAAC,CAAA;QACnB,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC,gBAAgB,CAAA;IACrD,CAAC;IAGK,AAAN,KAAK,CAAC,YAAY,CAChB,IAAqB,EACP,gBAAyB,EAAE;QAEzC,MAAM,UAAU,GAAG;YACjB,EAAE,EAAE,IAAA,wBAAgB,EAAC,EAAE,EAAE,KAAK,CAAC;YAC/B,GAAG,IAAI;YACP,MAAM,EAAE,SAAyB;SAClC,CAAA;QAED,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC,CAAA;QAC/D,OAAO,MAAM,CAAA;IACf,CAAC;IAGK,AAAN,KAAK,CAAC,mBAAmB,CACvB,SAAiB,EACjB,UAAiC,EAAE,EACnC,SAAgC,EAAE,EACpB,gBAAyB,EAAE;QAEzC,OAAO,MAAM,IAAI,CAAC,IAAI,CACpB;YACE,UAAU,EAAE,SAAS;YACrB,GAAG,OAAO;SACX,EACD,MAAM,EACN,aAAa,CACd,CAAA;IACH,CAAC;IAGK,AAAN,KAAK,CAAC,kBAAkB,CACtB,SAAiB,EACjB,eAAuB,EACvB,UAAiB,EACH,gBAAyB,EAAE;QAEzC,MAAM,OAAO,GAAQ;YACnB,UAAU,EAAE,SAAS;YACrB,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE;YACjC,gDAAgD;YAChD,UAAU,EAAE;gBACV,kBAAkB,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE;aAClC;SACF,CAAA;QAED,OAAO,MAAM,IAAI,CAAC,IAAI,CACpB,OAAO,EACP,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAC7B,aAAa,CACd,CAAA;IACH,CAAC;IAGK,AAAN,KAAK,CAAC,kBAAkB,CACtB,QAAgB,EAChB,MAAoB,EACN,gBAAyB,EAAE;QAEzC,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC;gBACnC,EAAE,EAAE,QAAQ;gBACZ,MAAM;aACP,CAAC,EAAE,aAAa,CAAC,CAAA;QAClB,OAAO,OAAO,CAAA;IAChB,CAAC;CACF;AAhFD,gCAgFC;AAnEO;IADL,IAAA,qBAAa,EAAC,mBAAmB,CAAC;IAGhC,WAAA,IAAA,kBAAU,GAAE,CAAA;;;;iDAUd;AAGK;IADL,IAAA,qBAAa,EAAC,mBAAmB,CAAC;IAKhC,WAAA,IAAA,kBAAU,GAAE,CAAA;;;;wDAUd;AAGK;IADL,IAAA,qBAAa,EAAC,mBAAmB,CAAC;IAKhC,WAAA,IAAA,kBAAU,GAAE,CAAA;;qDADA,IAAI;;uDAkBlB;AAGK;IADL,IAAA,qBAAa,EAAC,mBAAmB,CAAC;IAIhC,WAAA,IAAA,kBAAU,GAAE,CAAA;;;;uDAOd"}