@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.
- package/LICENSE +21 -0
- package/README.md +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -0
- package/dist/models/ambassador.d.ts +39 -0
- package/dist/models/ambassador.d.ts.map +1 -0
- package/dist/models/ambassador.js +67 -0
- package/dist/models/ambassador.js.map +1 -0
- package/dist/models/commission.d.ts +23 -0
- package/dist/models/commission.d.ts.map +1 -0
- package/dist/models/commission.js +93 -0
- package/dist/models/commission.js.map +1 -0
- package/dist/models/index.d.ts +8 -0
- package/dist/models/index.d.ts.map +1 -0
- package/dist/models/index.js +18 -0
- package/dist/models/index.js.map +1 -0
- package/dist/models/partner.d.ts +38 -0
- package/dist/models/partner.d.ts.map +1 -0
- package/dist/models/partner.js +78 -0
- package/dist/models/partner.js.map +1 -0
- package/dist/models/payout.d.ts +28 -0
- package/dist/models/payout.d.ts.map +1 -0
- package/dist/models/payout.js +57 -0
- package/dist/models/payout.js.map +1 -0
- package/dist/models/program-enrollment.d.ts +26 -0
- package/dist/models/program-enrollment.d.ts.map +1 -0
- package/dist/models/program-enrollment.js +81 -0
- package/dist/models/program-enrollment.js.map +1 -0
- package/dist/models/program.d.ts +52 -0
- package/dist/models/program.d.ts.map +1 -0
- package/dist/models/program.js +106 -0
- package/dist/models/program.js.map +1 -0
- package/dist/models/revenue-share-rule.d.ts +25 -0
- package/dist/models/revenue-share-rule.d.ts.map +1 -0
- package/dist/models/revenue-share-rule.js +54 -0
- package/dist/models/revenue-share-rule.js.map +1 -0
- package/dist/models/reward.d.ts +16 -0
- package/dist/models/reward.d.ts.map +1 -0
- package/dist/models/reward.js +41 -0
- package/dist/models/reward.js.map +1 -0
- package/dist/services/ambassador-module-service.d.ts +221 -0
- package/dist/services/ambassador-module-service.d.ts.map +1 -0
- package/dist/services/ambassador-module-service.js +972 -0
- package/dist/services/ambassador-module-service.js.map +1 -0
- package/dist/services/ambassador-service.d.ts +57 -0
- package/dist/services/ambassador-service.d.ts.map +1 -0
- package/dist/services/ambassador-service.js +127 -0
- package/dist/services/ambassador-service.js.map +1 -0
- package/dist/services/commission-service.d.ts +45 -0
- package/dist/services/commission-service.d.ts.map +1 -0
- package/dist/services/commission-service.js +146 -0
- package/dist/services/commission-service.js.map +1 -0
- package/dist/services/index.d.ts +2 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/services/index.js +9 -0
- package/dist/services/index.js.map +1 -0
- package/dist/services/payout-service.d.ts +35 -0
- package/dist/services/payout-service.d.ts.map +1 -0
- package/dist/services/payout-service.js +87 -0
- package/dist/services/payout-service.js.map +1 -0
- package/dist/services/program-enrollment-service.d.ts +39 -0
- package/dist/services/program-enrollment-service.d.ts.map +1 -0
- package/dist/services/program-enrollment-service.js +102 -0
- package/dist/services/program-enrollment-service.js.map +1 -0
- package/dist/services/program-service.d.ts +78 -0
- package/dist/services/program-service.d.ts.map +1 -0
- package/dist/services/program-service.js +180 -0
- package/dist/services/program-service.js.map +1 -0
- package/dist/services/revenue-rule-resolver.d.ts +15 -0
- package/dist/services/revenue-rule-resolver.d.ts.map +1 -0
- package/dist/services/revenue-rule-resolver.js +836 -0
- package/dist/services/revenue-rule-resolver.js.map +1 -0
- package/dist/services/revenue-share-rule-service.d.ts +5 -0
- package/dist/services/revenue-share-rule-service.d.ts.map +1 -0
- package/dist/services/revenue-share-rule-service.js +8 -0
- package/dist/services/revenue-share-rule-service.js.map +1 -0
- package/dist/services/reward-service.d.ts +31 -0
- package/dist/services/reward-service.d.ts.map +1 -0
- package/dist/services/reward-service.js +82 -0
- package/dist/services/reward-service.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/utils/analytics.d.ts +19 -0
- package/dist/utils/analytics.d.ts.map +1 -0
- package/dist/utils/analytics.js +90 -0
- package/dist/utils/analytics.js.map +1 -0
- package/dist/utils/sustainability-monitor.d.ts +20 -0
- package/dist/utils/sustainability-monitor.d.ts.map +1 -0
- package/dist/utils/sustainability-monitor.js +46 -0
- package/dist/utils/sustainability-monitor.js.map +1 -0
- package/dist/workflows/calculate-commission-workflow.d.ts +2 -0
- package/dist/workflows/calculate-commission-workflow.d.ts.map +1 -0
- package/dist/workflows/calculate-commission-workflow.js +59 -0
- package/dist/workflows/calculate-commission-workflow.js.map +1 -0
- package/dist/workflows/steps/index.d.ts +2 -0
- package/dist/workflows/steps/index.d.ts.map +1 -0
- package/dist/workflows/steps/index.js +158 -0
- package/dist/workflows/steps/index.js.map +1 -0
- 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":";;;;;;;;;;;;;;AAMA,kDAM+B;AAS/B,qCAAoC;AAMpC,MAAqB,iBAAkB,SAAQ,uBAAe,CAAC,kBAAkB,CAG/E,oBAAU,CAAC;IAGX,YAAY,SAA+B;QACzC,aAAa;QACb,KAAK,CAAC,GAAG,SAAS,CAAC,CAAA;QACnB,IAAI,CAAC,qBAAqB,GAAG,SAAS,CAAC,oBAAoB,CAAA;IAC7D,CAAC;IAED,+CAA+C;IAGzC,AAAN,KAAK,CAAC,gBAAgB,CACpB,IAAyB,EACX,gBAAyB,EAAE;QAEzC,0DAA0D;QAC1D,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAA;QAEjC,MAAM,cAAc,GAAG;YACrB,EAAE,EAAE,IAAA,wBAAgB,EAAC,EAAE,EAAE,KAAK,CAAC;YAC/B,GAAG,IAAI;YACP,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,KAAK;YAChC,MAAM,EAAE,CAAC,SAAS,CAAqB;SACxC,CAAA;QAED,MAAM,CAAC,UAAU,CAAC,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,EAAE,aAAa,CAAC,CAAA;QACvE,OAAO,UAAU,CAAA;IACnB,CAAC;IAGK,AAAN,KAAK,CAAC,uBAAuB,CAC3B,OAAkC,EAClC,SAAoC,EAAE,EACxB,gBAAyB,EAAE;QAEzC,uBAAuB;QACvB,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,CAAA;IACxD,CAAC;IAGK,AAAN,KAAK,CAAC,sBAAsB,CAC1B,YAAoB,EACpB,MAAwB,EACV,gBAAyB,EAAE;QAEzC,uBAAuB;QACvB,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC;gBACnC,EAAE,EAAE,YAAY;gBAChB,MAAM;aACP,CAAC,EAAE,aAAa,CAAC,CAAA;QAClB,OAAO,OAAO,CAAA;IAChB,CAAC;IAGK,AAAN,KAAK,CAAC,uBAAuB,CAC3B,SAAiB,EACjB,YAAoB,EACpB,UAAgB,EACF,gBAAyB,EAAE;QAKzC,mDAAmD;QACnD,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC9C,IAAI,CAAC,IAAI,CAAC;gBACR,UAAU,EAAE,SAAS;gBACrB,aAAa,EAAE,YAAY;gBAC3B,MAAM,EAAE,SAAS;gBACjB,SAAS,EAAE,IAAI;gBACf,QAAQ,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE;gBACpB,UAAU,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE;aAChC,EAAE,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,aAAa,CAAC;YAEnD,IAAI,CAAC,IAAI,CAAC;gBACR,UAAU,EAAE,SAAS;gBACrB,aAAa,EAAE,YAAY;gBAC3B,MAAM,EAAE,SAAS;gBACjB,SAAS,EAAE,IAAI;gBACf,QAAQ,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE;aACrB,EAAE,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,aAAa,CAAC;SACpD,CAAC,CAAA;QAEF,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAA;IAChC,CAAC;IAGK,AAAN,KAAK,CAAC,sBAAsB,CAC1B,YAAoB,EACpB,UAAkB,EACJ,gBAAyB,EAAE;QAEzC,oCAAoC;QACpC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC;YAClC,aAAa,EAAE,YAAY;YAC3B,WAAW,EAAE,UAAU;YACvB,IAAI,EAAE,MAAM;SACb,EAAE;YACD,KAAK,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE;YAC5B,IAAI,EAAE,CAAC;SACR,EAAE,aAAa,CAAC,CAAA;QAEjB,OAAO,WAAW,CAAC,CAAC,CAAC,IAAI,IAAI,CAAA;IAC/B,CAAC;IAGK,AAAN,KAAK,CAAC,kBAAkB,CACtB,aAAuB,EACvB,QAAgB,EACF,gBAAyB,EAAE;QAEzC,2CAA2C;QAC3C,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACvC,EAAE;YACF,SAAS,EAAE,QAAQ;YACnB,MAAM,EAAE,YAAgC;SACzC,CAAC,CAAC,CAAA;QAEH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,CAAA;IAClD,CAAC;IAED,0CAA0C;IAElC,sBAAsB,CAAC,IAAyB;QACtD,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YAC5C,MAAM,IAAI,gBAAQ,CAChB,gBAAQ,CAAC,KAAK,CAAC,YAAY,EAC3B,2CAA2C,CAC5C,CAAA;QACH,CAAC;QAED,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;YAC3D,MAAM,IAAI,gBAAQ,CAChB,gBAAQ,CAAC,KAAK,CAAC,YAAY,EAC3B,2BAA2B,CAC5B,CAAA;QACH,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,gBAAQ,CAChB,gBAAQ,CAAC,KAAK,CAAC,YAAY,EAC3B,oDAAoD,CACrD,CAAA;QACH,CAAC;IACH,CAAC;CACF;AArJD,oCAqJC;AAtIO;IADL,IAAA,qBAAa,EAAC,uBAAuB,CAAC;IAGpC,WAAA,IAAA,kBAAU,GAAE,CAAA;;;;yDAcd;AAGK;IADL,IAAA,qBAAa,EAAC,uBAAuB,CAAC;IAIpC,WAAA,IAAA,kBAAU,GAAE,CAAA;;;;gEAId;AAGK;IADL,IAAA,qBAAa,EAAC,uBAAuB,CAAC;IAIpC,WAAA,IAAA,kBAAU,GAAE,CAAA;;;;+DAQd;AAGK;IADL,IAAA,qBAAa,EAAC,uBAAuB,CAAC;IAKpC,WAAA,IAAA,kBAAU,GAAE,CAAA;;qDADD,IAAI;;gEA2BjB;AAGK;IADL,IAAA,qBAAa,EAAC,uBAAuB,CAAC;IAIpC,WAAA,IAAA,kBAAU,GAAE,CAAA;;;;+DAad;AAGK;IADL,IAAA,qBAAa,EAAC,uBAAuB,CAAC;IAIpC,WAAA,IAAA,kBAAU,GAAE,CAAA;;;;2DAUd"}
|
|
@@ -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"}
|