@aepstore-dev/contracts 1.60.0 → 1.61.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/gen/payments.d.ts CHANGED
@@ -29,7 +29,7 @@ export interface TopupRequest {
29
29
  /** >= 10.00 */
30
30
  amount: string;
31
31
  returnUrl: string;
32
- /** YOOKASSA | SAVED_CARD (default YOOKASSA) */
32
+ /** YOOKASSA | SAVED_CARD | CRYPTO (default YOOKASSA) */
33
33
  paymentMethod: string;
34
34
  /** required when payment_method=SAVED_CARD */
35
35
  savedCardId: string;
@@ -271,6 +271,12 @@ export interface PaymentEventRequest {
271
271
  event: string;
272
272
  paymentId: string;
273
273
  }
274
+ export interface ProviderCallbackRequest {
275
+ /** yookassa | heleket | … */
276
+ provider: string;
277
+ /** exact raw JSON body as received (signature input) */
278
+ rawBody: string;
279
+ }
274
280
  /**
275
281
  * ---------------------------------------------------------------------------
276
282
  * Admin
@@ -580,6 +586,12 @@ export interface PaymentsServiceClient {
580
586
  processWithdrawal(request: ProcessWithdrawalRequest): Observable<Withdrawal>;
581
587
  /** ----- provider webhook (gateway forwards a verified event) ----- */
582
588
  handlePaymentEvent(request: PaymentEventRequest): Observable<Ok>;
589
+ /**
590
+ * Generalized per-provider callback (POST /payments/webhook/:provider).
591
+ * Carries the EXACT raw JSON body: signed providers (Heleket) hash the
592
+ * byte-exact payload, so re-serializing a parsed body would break the sign.
593
+ */
594
+ handleProviderCallback(request: ProviderCallbackRequest): Observable<Ok>;
583
595
  /** ----- premium ----- */
584
596
  getPremiumPlans(request: GetPremiumPlansRequest): Observable<PremiumPlansResponse>;
585
597
  purchasePremium(request: PurchasePremiumRequest): Observable<PurchasePremiumResponse>;
@@ -644,6 +656,12 @@ export interface PaymentsServiceController {
644
656
  processWithdrawal(request: ProcessWithdrawalRequest): Promise<Withdrawal> | Observable<Withdrawal> | Withdrawal;
645
657
  /** ----- provider webhook (gateway forwards a verified event) ----- */
646
658
  handlePaymentEvent(request: PaymentEventRequest): Promise<Ok> | Observable<Ok> | Ok;
659
+ /**
660
+ * Generalized per-provider callback (POST /payments/webhook/:provider).
661
+ * Carries the EXACT raw JSON body: signed providers (Heleket) hash the
662
+ * byte-exact payload, so re-serializing a parsed body would break the sign.
663
+ */
664
+ handleProviderCallback(request: ProviderCallbackRequest): Promise<Ok> | Observable<Ok> | Ok;
647
665
  /** ----- premium ----- */
648
666
  getPremiumPlans(request: GetPremiumPlansRequest): Promise<PremiumPlansResponse> | Observable<PremiumPlansResponse> | PremiumPlansResponse;
649
667
  purchasePremium(request: PurchasePremiumRequest): Promise<PurchasePremiumResponse> | Observable<PurchasePremiumResponse> | PurchasePremiumResponse;
package/gen/payments.js CHANGED
@@ -2,7 +2,7 @@
2
2
  // Code generated by protoc-gen-ts_proto. DO NOT EDIT.
3
3
  // versions:
4
4
  // protoc-gen-ts_proto v2.10.1
5
- // protoc v7.35.1
5
+ // protoc v7.35.0
6
6
  // source: payments.proto
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
8
  exports.PAYMENTS_SERVICE_NAME = exports.PAYMENTS_V1_PACKAGE_NAME = exports.protobufPackage = void 0;
@@ -26,6 +26,7 @@ function PaymentsServiceControllerMethods() {
26
26
  "listWithdrawals",
27
27
  "processWithdrawal",
28
28
  "handlePaymentEvent",
29
+ "handleProviderCallback",
29
30
  "getPremiumPlans",
30
31
  "purchasePremium",
31
32
  "setPremiumPaymentMethod",
package/gen/payments.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  // Code generated by protoc-gen-ts_proto. DO NOT EDIT.
2
2
  // versions:
3
3
  // protoc-gen-ts_proto v2.10.1
4
- // protoc v7.35.1
4
+ // protoc v7.35.0
5
5
  // source: payments.proto
6
6
 
7
7
  /* eslint-disable */
@@ -41,7 +41,7 @@ export interface TopupRequest {
41
41
  /** >= 10.00 */
42
42
  amount: string;
43
43
  returnUrl: string;
44
- /** YOOKASSA | SAVED_CARD (default YOOKASSA) */
44
+ /** YOOKASSA | SAVED_CARD | CRYPTO (default YOOKASSA) */
45
45
  paymentMethod: string;
46
46
  /** required when payment_method=SAVED_CARD */
47
47
  savedCardId: string;
@@ -306,6 +306,13 @@ export interface PaymentEventRequest {
306
306
  paymentId: string;
307
307
  }
308
308
 
309
+ export interface ProviderCallbackRequest {
310
+ /** yookassa | heleket | … */
311
+ provider: string;
312
+ /** exact raw JSON body as received (signature input) */
313
+ rawBody: string;
314
+ }
315
+
309
316
  /**
310
317
  * ---------------------------------------------------------------------------
311
318
  * Admin
@@ -673,6 +680,14 @@ export interface PaymentsServiceClient {
673
680
 
674
681
  handlePaymentEvent(request: PaymentEventRequest): Observable<Ok>;
675
682
 
683
+ /**
684
+ * Generalized per-provider callback (POST /payments/webhook/:provider).
685
+ * Carries the EXACT raw JSON body: signed providers (Heleket) hash the
686
+ * byte-exact payload, so re-serializing a parsed body would break the sign.
687
+ */
688
+
689
+ handleProviderCallback(request: ProviderCallbackRequest): Observable<Ok>;
690
+
676
691
  /** ----- premium ----- */
677
692
 
678
693
  getPremiumPlans(request: GetPremiumPlansRequest): Observable<PremiumPlansResponse>;
@@ -792,6 +807,14 @@ export interface PaymentsServiceController {
792
807
 
793
808
  handlePaymentEvent(request: PaymentEventRequest): Promise<Ok> | Observable<Ok> | Ok;
794
809
 
810
+ /**
811
+ * Generalized per-provider callback (POST /payments/webhook/:provider).
812
+ * Carries the EXACT raw JSON body: signed providers (Heleket) hash the
813
+ * byte-exact payload, so re-serializing a parsed body would break the sign.
814
+ */
815
+
816
+ handleProviderCallback(request: ProviderCallbackRequest): Promise<Ok> | Observable<Ok> | Ok;
817
+
795
818
  /** ----- premium ----- */
796
819
 
797
820
  getPremiumPlans(
@@ -907,6 +930,7 @@ export function PaymentsServiceControllerMethods() {
907
930
  "listWithdrawals",
908
931
  "processWithdrawal",
909
932
  "handlePaymentEvent",
933
+ "handleProviderCallback",
910
934
  "getPremiumPlans",
911
935
  "purchasePremium",
912
936
  "setPremiumPaymentMethod",
package/package.json CHANGED
@@ -1,35 +1,35 @@
1
- {
2
- "name": "@aepstore-dev/contracts",
3
- "version": "1.60.0",
4
- "description": "Protobuf definitions for aepstore microservices",
5
- "main": "./dist/index.js",
6
- "types": "./dist/index.d.ts",
7
- "scripts": {
8
- "generate": "node scripts/generate.cjs",
9
- "build": "tsc -p tsconfig.build.json && tsc -p tsconfig.gen.json"
10
- },
11
- "files": [
12
- "dist",
13
- "proto",
14
- "gen"
15
- ],
16
- "publishConfig": {
17
- "access": "public"
18
- },
19
- "author": {
20
- "name": "torroixq",
21
- "email": "cato.ixq@gmail.com"
22
- },
23
- "peerDependencies": {
24
- "@nestjs/microservices": "^11.1.11",
25
- "rxjs": "^7.8.2"
26
- },
27
- "devDependencies": {
28
- "@nestjs/microservices": "^11.1.11",
29
- "@protobuf-ts/protoc": "^2.9.4",
30
- "@types/node": "^25.0.3",
31
- "rxjs": "^7.8.2",
32
- "ts-proto": "^2.10.1",
33
- "typescript": "^5.9.3"
34
- }
35
- }
1
+ {
2
+ "name": "@aepstore-dev/contracts",
3
+ "version": "1.61.0",
4
+ "description": "Protobuf definitions for aepstore microservices",
5
+ "main": "./dist/index.js",
6
+ "types": "./dist/index.d.ts",
7
+ "scripts": {
8
+ "generate": "node scripts/generate.cjs",
9
+ "build": "tsc -p tsconfig.build.json && tsc -p tsconfig.gen.json"
10
+ },
11
+ "files": [
12
+ "dist",
13
+ "proto",
14
+ "gen"
15
+ ],
16
+ "publishConfig": {
17
+ "access": "public"
18
+ },
19
+ "author": {
20
+ "name": "torroixq",
21
+ "email": "cato.ixq@gmail.com"
22
+ },
23
+ "peerDependencies": {
24
+ "@nestjs/microservices": "^11.1.11",
25
+ "rxjs": "^7.8.2"
26
+ },
27
+ "devDependencies": {
28
+ "@nestjs/microservices": "^11.1.11",
29
+ "@protobuf-ts/protoc": "^2.9.4",
30
+ "@types/node": "^25.0.3",
31
+ "rxjs": "^7.8.2",
32
+ "ts-proto": "^2.10.1",
33
+ "typescript": "^5.9.3"
34
+ }
35
+ }
@@ -1,200 +1,200 @@
1
- syntax = "proto3";
2
-
3
- package activity.v1;
4
-
5
- service ActivityService {
6
- // Reports
7
- rpc ReportCreate(CreateReportRequest) returns (ReportResponse);
8
- rpc ReportList(ListReportsRequest) returns (ReportsListResponse);
9
- rpc ReportGet(ReportIdRequest) returns (ReportResponse);
10
- rpc ReportModerate(ModerateReportRequest) returns (ReportResponse);
11
-
12
- // Report categories
13
- rpc ReportCategoryCreate(CreateReportCategoryRequest) returns (ReportCategoryResponse);
14
- rpc ReportCategoryList(ListReportCategoriesRequest) returns (ReportCategoriesListResponse);
15
- rpc ReportCategoryGet(ReportCategoryIdRequest) returns (ReportCategoryResponse);
16
- rpc ReportCategoryUpdate(UpdateReportCategoryRequest) returns (ReportCategoryResponse);
17
- rpc ReportCategoryDelete(ReportCategoryIdRequest) returns (Ok);
18
-
19
- // Reviews
20
- rpc ReviewCreate(CreateReviewRequest) returns (ReviewResponse);
21
- rpc GetProductReviews(GetProductReviewsRequest) returns (ReviewsListResponse);
22
-
23
- // NOTE: subscriptions live in users-service (CreateSubscription/DeleteSubscription).
24
- // The former activity.ToggleSubscription was a duplicate write path — removed.
25
- }
26
-
27
- // =================================================================
28
- // Enums
29
- // =================================================================
30
-
31
- // Member names match the DB enum string values exactly (enums: String on the
32
- // wire), so DB values pass straight through with no mapping. UNSPECIFIED=0
33
- // represents "no value / not provided" (e.g. an optional list filter).
34
- enum ReportType {
35
- REPORT_TYPE_UNSPECIFIED = 0;
36
- PRODUCT = 1;
37
- PROFILE = 2;
38
- REVIEW = 3;
39
- }
40
-
41
- enum ReportStatus {
42
- REPORT_STATUS_UNSPECIFIED = 0;
43
- PENDING = 1;
44
- IN_PROGRESS = 2;
45
- RESOLVED = 3;
46
- DISMISSED = 4;
47
- }
48
-
49
- // =================================================================
50
- // Reports
51
- // =================================================================
52
-
53
- message Report {
54
- string id = 1;
55
- ReportType type = 2;
56
- string object_id = 3;
57
- string user_id = 4;
58
- string product_id = 5;
59
- repeated ReportCategory categories = 6;
60
- string message = 7;
61
- ReportStatus status = 8;
62
- string created_at = 9;
63
- string updated_at = 10;
64
- }
65
-
66
- message ReportResponse {
67
- Report report = 1;
68
- }
69
-
70
- message CreateReportRequest {
71
- string user_id = 1;
72
- ReportType type = 2;
73
- string object_id = 3;
74
- repeated string categories = 4; // names
75
- string message = 5;
76
- }
77
-
78
- message ListReportsRequest {
79
- ReportType type = 1;
80
- ReportStatus status = 2;
81
- string user_id = 3;
82
- string object_id = 4;
83
- int32 page = 5;
84
- int32 limit = 6;
85
- }
86
-
87
- message ReportsListResponse {
88
- repeated Report items = 1;
89
- int32 total = 2;
90
- int32 page = 3;
91
- int32 limit = 4;
92
- }
93
-
94
- message ReportIdRequest {
95
- string id = 1;
96
- }
97
-
98
- message ModerateReportRequest {
99
- string id = 1;
100
- string action = 2; // 'accept' | 'reject'
101
- }
102
-
103
- // =================================================================
104
- // Report categories
105
- // =================================================================
106
-
107
- message ReportCategory {
108
- string id = 1;
109
- string name = 2;
110
- ReportType type = 3;
111
- string icon = 4;
112
- string description = 5;
113
- }
114
-
115
- message ReportCategoryResponse {
116
- ReportCategory category = 1;
117
- }
118
-
119
- message CreateReportCategoryRequest {
120
- string name = 1;
121
- ReportType type = 2;
122
- string icon = 3;
123
- string description = 4;
124
- }
125
-
126
- message UpdateReportCategoryRequest {
127
- string id = 1;
128
- string name = 2;
129
- string icon = 3;
130
- string description = 4;
131
- }
132
-
133
- message ListReportCategoriesRequest {
134
- ReportType type = 1;
135
- }
136
-
137
- message ReportCategoriesListResponse {
138
- repeated ReportCategory items = 1;
139
- }
140
-
141
- message ReportCategoryIdRequest {
142
- string id = 1;
143
- }
144
-
145
- // =================================================================
146
- // Reviews
147
- // =================================================================
148
-
149
- message ReviewUser {
150
- string id = 1;
151
- string username = 2;
152
- string avatar_url = 3;
153
- }
154
-
155
- message Review {
156
- reserved 4, 8, 9; // retired flat user_id / user_username / user_avatar_url
157
- string id = 1;
158
- int32 rating = 2;
159
- string text = 3;
160
- string product_id = 5;
161
- string created_at = 6;
162
- string updated_at = 7;
163
- ReviewUser user = 10;
164
- }
165
-
166
- message ReviewResponse {
167
- Review review = 1;
168
- }
169
-
170
- message CreateReviewRequest {
171
- string user_id = 1;
172
- string product_id = 2;
173
- int32 rating = 3;
174
- string text = 4;
175
- }
176
-
177
- message GetProductReviewsRequest {
178
- string product_id = 1;
179
- int32 page = 2;
180
- int32 limit = 3;
181
- }
182
-
183
- message ReviewsListResponse {
184
- repeated Review items = 1;
185
- int32 total = 2;
186
- int32 page = 3;
187
- int32 limit = 4;
188
- }
189
-
190
- // =================================================================
191
- // Subscriptions
192
- // =================================================================
193
-
194
- // =================================================================
195
- // Misc
196
- // =================================================================
197
-
198
- message Ok {
199
- bool ok = 1;
200
- }
1
+ syntax = "proto3";
2
+
3
+ package activity.v1;
4
+
5
+ service ActivityService {
6
+ // Reports
7
+ rpc ReportCreate(CreateReportRequest) returns (ReportResponse);
8
+ rpc ReportList(ListReportsRequest) returns (ReportsListResponse);
9
+ rpc ReportGet(ReportIdRequest) returns (ReportResponse);
10
+ rpc ReportModerate(ModerateReportRequest) returns (ReportResponse);
11
+
12
+ // Report categories
13
+ rpc ReportCategoryCreate(CreateReportCategoryRequest) returns (ReportCategoryResponse);
14
+ rpc ReportCategoryList(ListReportCategoriesRequest) returns (ReportCategoriesListResponse);
15
+ rpc ReportCategoryGet(ReportCategoryIdRequest) returns (ReportCategoryResponse);
16
+ rpc ReportCategoryUpdate(UpdateReportCategoryRequest) returns (ReportCategoryResponse);
17
+ rpc ReportCategoryDelete(ReportCategoryIdRequest) returns (Ok);
18
+
19
+ // Reviews
20
+ rpc ReviewCreate(CreateReviewRequest) returns (ReviewResponse);
21
+ rpc GetProductReviews(GetProductReviewsRequest) returns (ReviewsListResponse);
22
+
23
+ // NOTE: subscriptions live in users-service (CreateSubscription/DeleteSubscription).
24
+ // The former activity.ToggleSubscription was a duplicate write path — removed.
25
+ }
26
+
27
+ // =================================================================
28
+ // Enums
29
+ // =================================================================
30
+
31
+ // Member names match the DB enum string values exactly (enums: String on the
32
+ // wire), so DB values pass straight through with no mapping. UNSPECIFIED=0
33
+ // represents "no value / not provided" (e.g. an optional list filter).
34
+ enum ReportType {
35
+ REPORT_TYPE_UNSPECIFIED = 0;
36
+ PRODUCT = 1;
37
+ PROFILE = 2;
38
+ REVIEW = 3;
39
+ }
40
+
41
+ enum ReportStatus {
42
+ REPORT_STATUS_UNSPECIFIED = 0;
43
+ PENDING = 1;
44
+ IN_PROGRESS = 2;
45
+ RESOLVED = 3;
46
+ DISMISSED = 4;
47
+ }
48
+
49
+ // =================================================================
50
+ // Reports
51
+ // =================================================================
52
+
53
+ message Report {
54
+ string id = 1;
55
+ ReportType type = 2;
56
+ string object_id = 3;
57
+ string user_id = 4;
58
+ string product_id = 5;
59
+ repeated ReportCategory categories = 6;
60
+ string message = 7;
61
+ ReportStatus status = 8;
62
+ string created_at = 9;
63
+ string updated_at = 10;
64
+ }
65
+
66
+ message ReportResponse {
67
+ Report report = 1;
68
+ }
69
+
70
+ message CreateReportRequest {
71
+ string user_id = 1;
72
+ ReportType type = 2;
73
+ string object_id = 3;
74
+ repeated string categories = 4; // names
75
+ string message = 5;
76
+ }
77
+
78
+ message ListReportsRequest {
79
+ ReportType type = 1;
80
+ ReportStatus status = 2;
81
+ string user_id = 3;
82
+ string object_id = 4;
83
+ int32 page = 5;
84
+ int32 limit = 6;
85
+ }
86
+
87
+ message ReportsListResponse {
88
+ repeated Report items = 1;
89
+ int32 total = 2;
90
+ int32 page = 3;
91
+ int32 limit = 4;
92
+ }
93
+
94
+ message ReportIdRequest {
95
+ string id = 1;
96
+ }
97
+
98
+ message ModerateReportRequest {
99
+ string id = 1;
100
+ string action = 2; // 'accept' | 'reject'
101
+ }
102
+
103
+ // =================================================================
104
+ // Report categories
105
+ // =================================================================
106
+
107
+ message ReportCategory {
108
+ string id = 1;
109
+ string name = 2;
110
+ ReportType type = 3;
111
+ string icon = 4;
112
+ string description = 5;
113
+ }
114
+
115
+ message ReportCategoryResponse {
116
+ ReportCategory category = 1;
117
+ }
118
+
119
+ message CreateReportCategoryRequest {
120
+ string name = 1;
121
+ ReportType type = 2;
122
+ string icon = 3;
123
+ string description = 4;
124
+ }
125
+
126
+ message UpdateReportCategoryRequest {
127
+ string id = 1;
128
+ string name = 2;
129
+ string icon = 3;
130
+ string description = 4;
131
+ }
132
+
133
+ message ListReportCategoriesRequest {
134
+ ReportType type = 1;
135
+ }
136
+
137
+ message ReportCategoriesListResponse {
138
+ repeated ReportCategory items = 1;
139
+ }
140
+
141
+ message ReportCategoryIdRequest {
142
+ string id = 1;
143
+ }
144
+
145
+ // =================================================================
146
+ // Reviews
147
+ // =================================================================
148
+
149
+ message ReviewUser {
150
+ string id = 1;
151
+ string username = 2;
152
+ string avatar_url = 3;
153
+ }
154
+
155
+ message Review {
156
+ reserved 4, 8, 9; // retired flat user_id / user_username / user_avatar_url
157
+ string id = 1;
158
+ int32 rating = 2;
159
+ string text = 3;
160
+ string product_id = 5;
161
+ string created_at = 6;
162
+ string updated_at = 7;
163
+ ReviewUser user = 10;
164
+ }
165
+
166
+ message ReviewResponse {
167
+ Review review = 1;
168
+ }
169
+
170
+ message CreateReviewRequest {
171
+ string user_id = 1;
172
+ string product_id = 2;
173
+ int32 rating = 3;
174
+ string text = 4;
175
+ }
176
+
177
+ message GetProductReviewsRequest {
178
+ string product_id = 1;
179
+ int32 page = 2;
180
+ int32 limit = 3;
181
+ }
182
+
183
+ message ReviewsListResponse {
184
+ repeated Review items = 1;
185
+ int32 total = 2;
186
+ int32 page = 3;
187
+ int32 limit = 4;
188
+ }
189
+
190
+ // =================================================================
191
+ // Subscriptions
192
+ // =================================================================
193
+
194
+ // =================================================================
195
+ // Misc
196
+ // =================================================================
197
+
198
+ message Ok {
199
+ bool ok = 1;
200
+ }