@mamindom/contracts 1.0.120 → 1.0.122

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 (71) hide show
  1. package/dist/events/auth/index.d.ts +1 -0
  2. package/dist/events/auth/index.js +17 -0
  3. package/dist/events/auth/otp-requested.interface.d.ts +5 -0
  4. package/dist/events/auth/otp-requested.interface.js +2 -0
  5. package/dist/events/delivery/index.d.ts +2 -0
  6. package/dist/events/delivery/index.js +18 -0
  7. package/dist/events/delivery/shipment-created.interface.d.ts +10 -0
  8. package/dist/events/delivery/shipment-created.interface.js +2 -0
  9. package/dist/events/delivery/shipment-tracked.interface.d.ts +11 -0
  10. package/dist/events/delivery/shipment-tracked.interface.js +2 -0
  11. package/dist/events/index.d.ts +4 -0
  12. package/dist/events/index.js +20 -0
  13. package/dist/events/orders/index.d.ts +3 -0
  14. package/dist/events/orders/index.js +19 -0
  15. package/dist/events/orders/order-cancelled.interface.d.ts +10 -0
  16. package/dist/events/orders/order-cancelled.interface.js +2 -0
  17. package/dist/events/orders/order-created.interface.d.ts +37 -0
  18. package/dist/events/orders/order-created.interface.js +2 -0
  19. package/dist/events/orders/order-status-changed.interface.d.ts +10 -0
  20. package/dist/events/orders/order-status-changed.interface.js +2 -0
  21. package/dist/events/payments/index.d.ts +5 -0
  22. package/dist/events/payments/index.js +21 -0
  23. package/dist/events/payments/payment-cancelled.interface.d.ts +9 -0
  24. package/dist/events/payments/payment-cancelled.interface.js +2 -0
  25. package/dist/events/payments/payment-captured.interface.d.ts +10 -0
  26. package/dist/events/payments/payment-captured.interface.js +2 -0
  27. package/dist/events/payments/payment-failed.interface.d.ts +9 -0
  28. package/dist/events/payments/payment-failed.interface.js +2 -0
  29. package/dist/events/payments/payment-held.interface.d.ts +9 -0
  30. package/dist/events/payments/payment-held.interface.js +2 -0
  31. package/dist/events/payments/payment-refunded.interface.d.ts +12 -0
  32. package/dist/events/payments/payment-refunded.interface.js +2 -0
  33. package/dist/gen/cart.d.ts +248 -0
  34. package/dist/gen/cart.js +49 -0
  35. package/dist/gen/delivery.d.ts +165 -0
  36. package/dist/gen/delivery.js +36 -0
  37. package/dist/gen/order.d.ts +275 -0
  38. package/dist/gen/order.js +45 -0
  39. package/dist/gen/payment.d.ts +146 -0
  40. package/dist/gen/payment.js +39 -0
  41. package/dist/index.d.ts +1 -0
  42. package/dist/index.js +17 -0
  43. package/dist/proto/cart.proto +269 -0
  44. package/dist/proto/delivery.proto +184 -0
  45. package/dist/proto/order.proto +308 -0
  46. package/dist/proto/payment.proto +153 -0
  47. package/dist/src/proto/paths.d.ts +4 -0
  48. package/dist/src/proto/paths.js +5 -1
  49. package/events/delivery/index.ts +2 -0
  50. package/events/delivery/shipment-created.interface.ts +10 -0
  51. package/events/delivery/shipment-tracked.interface.ts +11 -0
  52. package/events/index.ts +3 -0
  53. package/events/orders/index.ts +3 -0
  54. package/events/orders/order-cancelled.interface.ts +10 -0
  55. package/events/orders/order-created.interface.ts +37 -0
  56. package/events/orders/order-status-changed.interface.ts +10 -0
  57. package/events/payments/index.ts +5 -0
  58. package/events/payments/payment-cancelled.interface.ts +9 -0
  59. package/events/payments/payment-captured.interface.ts +10 -0
  60. package/events/payments/payment-failed.interface.ts +9 -0
  61. package/events/payments/payment-held.interface.ts +9 -0
  62. package/events/payments/payment-refunded.interface.ts +12 -0
  63. package/gen/cart.ts +376 -0
  64. package/gen/delivery.ts +241 -0
  65. package/gen/order.ts +392 -0
  66. package/gen/payment.ts +239 -0
  67. package/package.json +1 -1
  68. package/proto/cart.proto +269 -0
  69. package/proto/delivery.proto +184 -0
  70. package/proto/order.proto +308 -0
  71. package/proto/payment.proto +153 -0
@@ -0,0 +1,165 @@
1
+ import { Observable } from "rxjs";
2
+ export declare const protobufPackage = "delivery.v1";
3
+ export interface City {
4
+ ref: string;
5
+ carrier: string;
6
+ name: string;
7
+ nameRu: string;
8
+ region: string;
9
+ areaRef: string;
10
+ settlementType: string;
11
+ }
12
+ export interface Warehouse {
13
+ ref: string;
14
+ carrier: string;
15
+ cityRef: string;
16
+ number: string;
17
+ name: string;
18
+ shortAddress: string;
19
+ type: string;
20
+ schedule: string;
21
+ maxWeightKg: number;
22
+ postomat: boolean;
23
+ lat: number;
24
+ lng: number;
25
+ }
26
+ export interface Shipment {
27
+ id: string;
28
+ orderId: string;
29
+ carrier: string;
30
+ method: string;
31
+ ttn: string;
32
+ status: string;
33
+ trackingUrl: string;
34
+ senderCity: string;
35
+ senderWarehouse: string;
36
+ recipientName: string;
37
+ recipientPhone: string;
38
+ recipientCityRef: string;
39
+ recipientWarehouseRef: string;
40
+ recipientAddress: string;
41
+ cost: number;
42
+ weightKg: number;
43
+ description: string;
44
+ estimatedDate: string;
45
+ createdAt: number;
46
+ updatedAt: number;
47
+ }
48
+ export interface ShipmentParcelItem {
49
+ sku: string;
50
+ name: string;
51
+ qty: number;
52
+ price: number;
53
+ weightKg: number;
54
+ }
55
+ export interface SearchCitiesRequest {
56
+ carrier: string;
57
+ query: string;
58
+ limit: number;
59
+ }
60
+ export interface SearchCitiesResponse {
61
+ items: City[];
62
+ }
63
+ export interface ListWarehousesRequest {
64
+ carrier: string;
65
+ cityRef: string;
66
+ /** warehouse | postomat | both */
67
+ type: string;
68
+ query: string;
69
+ limit: number;
70
+ }
71
+ export interface ListWarehousesResponse {
72
+ items: Warehouse[];
73
+ }
74
+ export interface CalculateRequest {
75
+ carrier: string;
76
+ method: string;
77
+ senderCity: string;
78
+ recipientCity: string;
79
+ weightKg: number;
80
+ declaredValue: number;
81
+ serviceType: string;
82
+ }
83
+ export interface CalculateResponse {
84
+ ok: boolean;
85
+ cost: number;
86
+ currency: string;
87
+ estimatedDate: string;
88
+ errorMessage: string;
89
+ }
90
+ export interface CreateShipmentRequest {
91
+ orderId: string;
92
+ carrier: string;
93
+ method: string;
94
+ recipientName: string;
95
+ recipientPhone: string;
96
+ recipientEmail: string;
97
+ recipientCityRef: string;
98
+ recipientCityName: string;
99
+ recipientWarehouseRef: string;
100
+ recipientWarehouseName: string;
101
+ recipientAddress: string;
102
+ description: string;
103
+ weightKg: number;
104
+ declaredValue: number;
105
+ cashOnDelivery: boolean;
106
+ codAmount: number;
107
+ items: ShipmentParcelItem[];
108
+ }
109
+ export interface CancelShipmentRequest {
110
+ id: string;
111
+ reason: string;
112
+ }
113
+ export interface TrackRequest {
114
+ carrier: string;
115
+ ttn: string;
116
+ }
117
+ export interface TrackResponse {
118
+ ok: boolean;
119
+ status: string;
120
+ statusLabel: string;
121
+ lastEvent: string;
122
+ lastEventAt: number;
123
+ trackingUrl: string;
124
+ errorMessage: string;
125
+ }
126
+ export interface ListShipmentsRequest {
127
+ page: number;
128
+ limit: number;
129
+ carrier: string;
130
+ status: string;
131
+ orderId: string;
132
+ }
133
+ export interface ListShipmentsResponse {
134
+ items: Shipment[];
135
+ totalItems: number;
136
+ totalPages: number;
137
+ currentPage: number;
138
+ perPage: number;
139
+ }
140
+ export interface ShipmentResponse {
141
+ ok: boolean;
142
+ shipment: Shipment | undefined;
143
+ errorMessage: string;
144
+ }
145
+ export declare const DELIVERY_V1_PACKAGE_NAME = "delivery.v1";
146
+ export interface DeliveryServiceClient {
147
+ searchCities(request: SearchCitiesRequest): Observable<SearchCitiesResponse>;
148
+ listWarehouses(request: ListWarehousesRequest): Observable<ListWarehousesResponse>;
149
+ calculateShippingCost(request: CalculateRequest): Observable<CalculateResponse>;
150
+ createShipment(request: CreateShipmentRequest): Observable<ShipmentResponse>;
151
+ cancelShipment(request: CancelShipmentRequest): Observable<ShipmentResponse>;
152
+ trackShipment(request: TrackRequest): Observable<TrackResponse>;
153
+ listShipments(request: ListShipmentsRequest): Observable<ListShipmentsResponse>;
154
+ }
155
+ export interface DeliveryServiceController {
156
+ searchCities(request: SearchCitiesRequest): Promise<SearchCitiesResponse> | Observable<SearchCitiesResponse> | SearchCitiesResponse;
157
+ listWarehouses(request: ListWarehousesRequest): Promise<ListWarehousesResponse> | Observable<ListWarehousesResponse> | ListWarehousesResponse;
158
+ calculateShippingCost(request: CalculateRequest): Promise<CalculateResponse> | Observable<CalculateResponse> | CalculateResponse;
159
+ createShipment(request: CreateShipmentRequest): Promise<ShipmentResponse> | Observable<ShipmentResponse> | ShipmentResponse;
160
+ cancelShipment(request: CancelShipmentRequest): Promise<ShipmentResponse> | Observable<ShipmentResponse> | ShipmentResponse;
161
+ trackShipment(request: TrackRequest): Promise<TrackResponse> | Observable<TrackResponse> | TrackResponse;
162
+ listShipments(request: ListShipmentsRequest): Promise<ListShipmentsResponse> | Observable<ListShipmentsResponse> | ListShipmentsResponse;
163
+ }
164
+ export declare function DeliveryServiceControllerMethods(): (constructor: Function) => void;
165
+ export declare const DELIVERY_SERVICE_NAME = "DeliveryService";
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ // Code generated by protoc-gen-ts_proto. DO NOT EDIT.
3
+ // versions:
4
+ // protoc-gen-ts_proto v2.11.4
5
+ // protoc v3.21.12
6
+ // source: delivery.proto
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.DELIVERY_SERVICE_NAME = exports.DELIVERY_V1_PACKAGE_NAME = exports.protobufPackage = void 0;
9
+ exports.DeliveryServiceControllerMethods = DeliveryServiceControllerMethods;
10
+ /* eslint-disable */
11
+ const microservices_1 = require("@nestjs/microservices");
12
+ exports.protobufPackage = "delivery.v1";
13
+ exports.DELIVERY_V1_PACKAGE_NAME = "delivery.v1";
14
+ function DeliveryServiceControllerMethods() {
15
+ return function (constructor) {
16
+ const grpcMethods = [
17
+ "searchCities",
18
+ "listWarehouses",
19
+ "calculateShippingCost",
20
+ "createShipment",
21
+ "cancelShipment",
22
+ "trackShipment",
23
+ "listShipments",
24
+ ];
25
+ for (const method of grpcMethods) {
26
+ const descriptor = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
27
+ (0, microservices_1.GrpcMethod)("DeliveryService", method)(constructor.prototype[method], method, descriptor);
28
+ }
29
+ const grpcStreamMethods = [];
30
+ for (const method of grpcStreamMethods) {
31
+ const descriptor = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
32
+ (0, microservices_1.GrpcStreamMethod)("DeliveryService", method)(constructor.prototype[method], method, descriptor);
33
+ }
34
+ };
35
+ }
36
+ exports.DELIVERY_SERVICE_NAME = "DeliveryService";
@@ -0,0 +1,275 @@
1
+ import { Observable } from "rxjs";
2
+ export declare const protobufPackage = "order.v1";
3
+ export interface OrderItem {
4
+ id: string;
5
+ productId: string;
6
+ variantId: string;
7
+ sku: string;
8
+ name: string;
9
+ imageUrl: string;
10
+ quantity: number;
11
+ price: number;
12
+ lineDiscount: number;
13
+ lineTotal: number;
14
+ inStock: boolean;
15
+ }
16
+ export interface OrderRecipient {
17
+ isDifferentFromCustomer: boolean;
18
+ firstName: string;
19
+ lastName: string;
20
+ phone: string;
21
+ email: string;
22
+ }
23
+ export interface OrderDelivery {
24
+ method: string;
25
+ cityRef: string;
26
+ cityName: string;
27
+ warehouseRef: string;
28
+ warehouseName: string;
29
+ address: string;
30
+ pickupPointId: string;
31
+ shippingCost: number;
32
+ ttn: string;
33
+ trackingUrl: string;
34
+ estimatedDate: string;
35
+ shipmentStatus: string;
36
+ }
37
+ export interface OrderPayment {
38
+ provider: string;
39
+ providerInvoiceId: string;
40
+ status: string;
41
+ amount: number;
42
+ idempotencyKey: string;
43
+ paymentUrl: string;
44
+ holdAt: number;
45
+ capturedAt: number;
46
+ cancelledAt: number;
47
+ refundedAt: number;
48
+ }
49
+ export interface OrderNote {
50
+ id: string;
51
+ authorId: string;
52
+ authorName: string;
53
+ text: string;
54
+ createdAt: number;
55
+ }
56
+ export interface OrderHistoryEntry {
57
+ id: string;
58
+ action: string;
59
+ fromValue: string;
60
+ toValue: string;
61
+ actorId: string;
62
+ actorName: string;
63
+ payload: string;
64
+ createdAt: number;
65
+ }
66
+ export interface OrderTag {
67
+ tag: string;
68
+ }
69
+ export interface OrderCustomerSnapshot {
70
+ userId: string;
71
+ guestId: string;
72
+ firstName: string;
73
+ lastName: string;
74
+ phone: string;
75
+ email: string;
76
+ }
77
+ export interface OrderTotals {
78
+ itemsSubtotal: number;
79
+ promoDiscount: number;
80
+ couponDiscount: number;
81
+ certificateApplied: number;
82
+ bonusesUsed: number;
83
+ bonusesEarned: number;
84
+ shippingCost: number;
85
+ grandTotal: number;
86
+ }
87
+ export interface Order {
88
+ id: string;
89
+ orderNumber: string;
90
+ status: string;
91
+ source: string;
92
+ version: number;
93
+ customer: OrderCustomerSnapshot | undefined;
94
+ recipient: OrderRecipient | undefined;
95
+ items: OrderItem[];
96
+ delivery: OrderDelivery | undefined;
97
+ payment: OrderPayment | undefined;
98
+ totals: OrderTotals | undefined;
99
+ promoCode: string;
100
+ certificateCode: string;
101
+ doNotCall: boolean;
102
+ comment: string;
103
+ cancelReason: string;
104
+ managerId: string;
105
+ managerName: string;
106
+ tags: string[];
107
+ createdAt: number;
108
+ updatedAt: number;
109
+ }
110
+ export interface CreateOrderRequest {
111
+ idempotencyKey: string;
112
+ userId: string;
113
+ guestId: string;
114
+ source: string;
115
+ cartId: string;
116
+ }
117
+ export interface CreateManualOrderRequest {
118
+ idempotencyKey: string;
119
+ source: string;
120
+ createdById: string;
121
+ customer: OrderCustomerSnapshot | undefined;
122
+ recipient: OrderRecipient | undefined;
123
+ items: OrderItemInput[];
124
+ delivery: OrderDelivery | undefined;
125
+ payment: OrderPayment | undefined;
126
+ promoCode: string;
127
+ comment: string;
128
+ }
129
+ export interface OrderItemInput {
130
+ productId: string;
131
+ variantId: string;
132
+ quantity: number;
133
+ priceOverride: number;
134
+ }
135
+ export interface GetOrderRequest {
136
+ id: string;
137
+ }
138
+ export interface GetOrderByNumberRequest {
139
+ orderNumber: string;
140
+ }
141
+ export interface ListOrdersRequest {
142
+ page: number;
143
+ limit: number;
144
+ status: string;
145
+ source: string;
146
+ managerId: string;
147
+ customerQuery: string;
148
+ paymentProvider: string;
149
+ deliveryMethod: string;
150
+ skuQuery: string;
151
+ dateFrom: number;
152
+ dateTo: number;
153
+ totalFrom: number;
154
+ totalTo: number;
155
+ sortBy: string;
156
+ sortDir: string;
157
+ }
158
+ export interface ListUserOrdersRequest {
159
+ userId: string;
160
+ page: number;
161
+ limit: number;
162
+ status: string;
163
+ }
164
+ export interface ListOrdersResponse {
165
+ items: Order[];
166
+ totalItems: number;
167
+ totalPages: number;
168
+ currentPage: number;
169
+ perPage: number;
170
+ }
171
+ export interface UpdateStatusRequest {
172
+ id: string;
173
+ status: string;
174
+ reason: string;
175
+ actorId: string;
176
+ actorName: string;
177
+ }
178
+ export interface CancelOrderRequest {
179
+ id: string;
180
+ reason: string;
181
+ actorId: string;
182
+ actorName: string;
183
+ }
184
+ export interface AssignManagerRequest {
185
+ id: string;
186
+ managerId: string;
187
+ managerName: string;
188
+ actorId: string;
189
+ }
190
+ export interface AddNoteRequest {
191
+ id: string;
192
+ text: string;
193
+ authorId: string;
194
+ authorName: string;
195
+ }
196
+ export interface AddTagRequest {
197
+ id: string;
198
+ tag: string;
199
+ }
200
+ export interface RemoveTagRequest {
201
+ id: string;
202
+ tag: string;
203
+ }
204
+ export interface EditItemsRequest {
205
+ id: string;
206
+ items: OrderItemInput[];
207
+ actorId: string;
208
+ }
209
+ export interface SetTrackingNumberRequest {
210
+ id: string;
211
+ ttn: string;
212
+ trackingUrl: string;
213
+ actorId: string;
214
+ }
215
+ export interface ReorderOrderRequest {
216
+ id: string;
217
+ userId: string;
218
+ }
219
+ export interface ReorderResponse {
220
+ ok: boolean;
221
+ cartId: string;
222
+ added: number;
223
+ skipped: number;
224
+ error: string;
225
+ }
226
+ export interface ListHistoryRequest {
227
+ id: string;
228
+ }
229
+ export interface ListHistoryResponse {
230
+ entries: OrderHistoryEntry[];
231
+ }
232
+ export interface OrderResponse {
233
+ ok: boolean;
234
+ order: Order | undefined;
235
+ errorMessage: string;
236
+ }
237
+ export declare const ORDER_V1_PACKAGE_NAME = "order.v1";
238
+ export interface OrderServiceClient {
239
+ createOrder(request: CreateOrderRequest): Observable<OrderResponse>;
240
+ createManualOrder(request: CreateManualOrderRequest): Observable<OrderResponse>;
241
+ getOrder(request: GetOrderRequest): Observable<OrderResponse>;
242
+ getOrderByNumber(request: GetOrderByNumberRequest): Observable<OrderResponse>;
243
+ listOrders(request: ListOrdersRequest): Observable<ListOrdersResponse>;
244
+ listUserOrders(request: ListUserOrdersRequest): Observable<ListOrdersResponse>;
245
+ updateStatus(request: UpdateStatusRequest): Observable<OrderResponse>;
246
+ cancelOrder(request: CancelOrderRequest): Observable<OrderResponse>;
247
+ assignManager(request: AssignManagerRequest): Observable<OrderResponse>;
248
+ addNote(request: AddNoteRequest): Observable<OrderResponse>;
249
+ addTag(request: AddTagRequest): Observable<OrderResponse>;
250
+ removeTag(request: RemoveTagRequest): Observable<OrderResponse>;
251
+ editItems(request: EditItemsRequest): Observable<OrderResponse>;
252
+ setTrackingNumber(request: SetTrackingNumberRequest): Observable<OrderResponse>;
253
+ reorderOrder(request: ReorderOrderRequest): Observable<ReorderResponse>;
254
+ listHistory(request: ListHistoryRequest): Observable<ListHistoryResponse>;
255
+ }
256
+ export interface OrderServiceController {
257
+ createOrder(request: CreateOrderRequest): Promise<OrderResponse> | Observable<OrderResponse> | OrderResponse;
258
+ createManualOrder(request: CreateManualOrderRequest): Promise<OrderResponse> | Observable<OrderResponse> | OrderResponse;
259
+ getOrder(request: GetOrderRequest): Promise<OrderResponse> | Observable<OrderResponse> | OrderResponse;
260
+ getOrderByNumber(request: GetOrderByNumberRequest): Promise<OrderResponse> | Observable<OrderResponse> | OrderResponse;
261
+ listOrders(request: ListOrdersRequest): Promise<ListOrdersResponse> | Observable<ListOrdersResponse> | ListOrdersResponse;
262
+ listUserOrders(request: ListUserOrdersRequest): Promise<ListOrdersResponse> | Observable<ListOrdersResponse> | ListOrdersResponse;
263
+ updateStatus(request: UpdateStatusRequest): Promise<OrderResponse> | Observable<OrderResponse> | OrderResponse;
264
+ cancelOrder(request: CancelOrderRequest): Promise<OrderResponse> | Observable<OrderResponse> | OrderResponse;
265
+ assignManager(request: AssignManagerRequest): Promise<OrderResponse> | Observable<OrderResponse> | OrderResponse;
266
+ addNote(request: AddNoteRequest): Promise<OrderResponse> | Observable<OrderResponse> | OrderResponse;
267
+ addTag(request: AddTagRequest): Promise<OrderResponse> | Observable<OrderResponse> | OrderResponse;
268
+ removeTag(request: RemoveTagRequest): Promise<OrderResponse> | Observable<OrderResponse> | OrderResponse;
269
+ editItems(request: EditItemsRequest): Promise<OrderResponse> | Observable<OrderResponse> | OrderResponse;
270
+ setTrackingNumber(request: SetTrackingNumberRequest): Promise<OrderResponse> | Observable<OrderResponse> | OrderResponse;
271
+ reorderOrder(request: ReorderOrderRequest): Promise<ReorderResponse> | Observable<ReorderResponse> | ReorderResponse;
272
+ listHistory(request: ListHistoryRequest): Promise<ListHistoryResponse> | Observable<ListHistoryResponse> | ListHistoryResponse;
273
+ }
274
+ export declare function OrderServiceControllerMethods(): (constructor: Function) => void;
275
+ export declare const ORDER_SERVICE_NAME = "OrderService";
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ // Code generated by protoc-gen-ts_proto. DO NOT EDIT.
3
+ // versions:
4
+ // protoc-gen-ts_proto v2.11.4
5
+ // protoc v3.21.12
6
+ // source: order.proto
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.ORDER_SERVICE_NAME = exports.ORDER_V1_PACKAGE_NAME = exports.protobufPackage = void 0;
9
+ exports.OrderServiceControllerMethods = OrderServiceControllerMethods;
10
+ /* eslint-disable */
11
+ const microservices_1 = require("@nestjs/microservices");
12
+ exports.protobufPackage = "order.v1";
13
+ exports.ORDER_V1_PACKAGE_NAME = "order.v1";
14
+ function OrderServiceControllerMethods() {
15
+ return function (constructor) {
16
+ const grpcMethods = [
17
+ "createOrder",
18
+ "createManualOrder",
19
+ "getOrder",
20
+ "getOrderByNumber",
21
+ "listOrders",
22
+ "listUserOrders",
23
+ "updateStatus",
24
+ "cancelOrder",
25
+ "assignManager",
26
+ "addNote",
27
+ "addTag",
28
+ "removeTag",
29
+ "editItems",
30
+ "setTrackingNumber",
31
+ "reorderOrder",
32
+ "listHistory",
33
+ ];
34
+ for (const method of grpcMethods) {
35
+ const descriptor = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
36
+ (0, microservices_1.GrpcMethod)("OrderService", method)(constructor.prototype[method], method, descriptor);
37
+ }
38
+ const grpcStreamMethods = [];
39
+ for (const method of grpcStreamMethods) {
40
+ const descriptor = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
41
+ (0, microservices_1.GrpcStreamMethod)("OrderService", method)(constructor.prototype[method], method, descriptor);
42
+ }
43
+ };
44
+ }
45
+ exports.ORDER_SERVICE_NAME = "OrderService";
@@ -0,0 +1,146 @@
1
+ import { Observable } from "rxjs";
2
+ export declare const protobufPackage = "payment.v1";
3
+ export interface Payment {
4
+ id: string;
5
+ orderId: string;
6
+ provider: string;
7
+ providerInvoiceId: string;
8
+ status: string;
9
+ amount: number;
10
+ capturedAmount: number;
11
+ refundedAmount: number;
12
+ currency: string;
13
+ idempotencyKey: string;
14
+ paymentUrl: string;
15
+ failureReason: string;
16
+ createdAt: number;
17
+ updatedAt: number;
18
+ holdAt: number;
19
+ capturedAt: number;
20
+ cancelledAt: number;
21
+ refundedAt: number;
22
+ }
23
+ export interface PaymentProviderInfo {
24
+ key: string;
25
+ displayName: string;
26
+ enabled: boolean;
27
+ supportsInstallment: boolean;
28
+ description: string;
29
+ }
30
+ export interface CreateInvoiceRequest {
31
+ orderId: string;
32
+ orderNumber: string;
33
+ provider: string;
34
+ amount: number;
35
+ currency: string;
36
+ idempotencyKey: string;
37
+ returnUrl: string;
38
+ customerEmail: string;
39
+ customerPhone: string;
40
+ items: InvoiceItem[];
41
+ }
42
+ export interface InvoiceItem {
43
+ name: string;
44
+ sku: string;
45
+ qty: number;
46
+ price: number;
47
+ }
48
+ export interface GetPaymentRequest {
49
+ id: string;
50
+ }
51
+ export interface GetPaymentByOrderRequest {
52
+ orderId: string;
53
+ }
54
+ export interface ListPaymentsRequest {
55
+ page: number;
56
+ limit: number;
57
+ status: string;
58
+ provider: string;
59
+ dateFrom: number;
60
+ dateTo: number;
61
+ }
62
+ export interface ListPaymentsResponse {
63
+ items: Payment[];
64
+ totalItems: number;
65
+ totalPages: number;
66
+ currentPage: number;
67
+ perPage: number;
68
+ }
69
+ export interface CaptureRequest {
70
+ id: string;
71
+ /** 0 → captures full amount */
72
+ amount: number;
73
+ actorId: string;
74
+ }
75
+ export interface CancelRequest {
76
+ id: string;
77
+ reason: string;
78
+ actorId: string;
79
+ }
80
+ export interface RefundRequest {
81
+ id: string;
82
+ /** 0 → full refund of captured */
83
+ amount: number;
84
+ reason: string;
85
+ actorId: string;
86
+ }
87
+ export interface SyncStatusRequest {
88
+ id: string;
89
+ }
90
+ export interface ListProvidersRequest {
91
+ onlyEnabled: boolean;
92
+ }
93
+ export interface ListProvidersResponse {
94
+ providers: PaymentProviderInfo[];
95
+ }
96
+ export interface ToggleProviderRequest {
97
+ key: string;
98
+ enabled: boolean;
99
+ actorId: string;
100
+ }
101
+ export interface ToggleProviderResponse {
102
+ ok: boolean;
103
+ provider: PaymentProviderInfo | undefined;
104
+ }
105
+ export interface PaymentResponse {
106
+ ok: boolean;
107
+ payment: Payment | undefined;
108
+ errorMessage: string;
109
+ }
110
+ export declare const PAYMENT_V1_PACKAGE_NAME = "payment.v1";
111
+ export interface PaymentServiceClient {
112
+ /** CreateInvoice — провайдер створює інвойс у режимі hold (2-stage). */
113
+ createInvoice(request: CreateInvoiceRequest): Observable<PaymentResponse>;
114
+ getPayment(request: GetPaymentRequest): Observable<PaymentResponse>;
115
+ getPaymentByOrder(request: GetPaymentByOrderRequest): Observable<PaymentResponse>;
116
+ listPayments(request: ListPaymentsRequest): Observable<ListPaymentsResponse>;
117
+ /** Capture — фіксація списання раніше зарезервованих коштів. */
118
+ capture(request: CaptureRequest): Observable<PaymentResponse>;
119
+ /** Cancel — повне скасування hold (без списання). */
120
+ cancel(request: CancelRequest): Observable<PaymentResponse>;
121
+ /** Refund — повернення вже captured коштів (повне або часткове). */
122
+ refund(request: RefundRequest): Observable<PaymentResponse>;
123
+ /** SyncStatus — підтягує актуальний статус від провайдера (manual reconciliation). */
124
+ syncStatus(request: SyncStatusRequest): Observable<PaymentResponse>;
125
+ listProviders(request: ListProvidersRequest): Observable<ListProvidersResponse>;
126
+ toggleProvider(request: ToggleProviderRequest): Observable<ToggleProviderResponse>;
127
+ }
128
+ export interface PaymentServiceController {
129
+ /** CreateInvoice — провайдер створює інвойс у режимі hold (2-stage). */
130
+ createInvoice(request: CreateInvoiceRequest): Promise<PaymentResponse> | Observable<PaymentResponse> | PaymentResponse;
131
+ getPayment(request: GetPaymentRequest): Promise<PaymentResponse> | Observable<PaymentResponse> | PaymentResponse;
132
+ getPaymentByOrder(request: GetPaymentByOrderRequest): Promise<PaymentResponse> | Observable<PaymentResponse> | PaymentResponse;
133
+ listPayments(request: ListPaymentsRequest): Promise<ListPaymentsResponse> | Observable<ListPaymentsResponse> | ListPaymentsResponse;
134
+ /** Capture — фіксація списання раніше зарезервованих коштів. */
135
+ capture(request: CaptureRequest): Promise<PaymentResponse> | Observable<PaymentResponse> | PaymentResponse;
136
+ /** Cancel — повне скасування hold (без списання). */
137
+ cancel(request: CancelRequest): Promise<PaymentResponse> | Observable<PaymentResponse> | PaymentResponse;
138
+ /** Refund — повернення вже captured коштів (повне або часткове). */
139
+ refund(request: RefundRequest): Promise<PaymentResponse> | Observable<PaymentResponse> | PaymentResponse;
140
+ /** SyncStatus — підтягує актуальний статус від провайдера (manual reconciliation). */
141
+ syncStatus(request: SyncStatusRequest): Promise<PaymentResponse> | Observable<PaymentResponse> | PaymentResponse;
142
+ listProviders(request: ListProvidersRequest): Promise<ListProvidersResponse> | Observable<ListProvidersResponse> | ListProvidersResponse;
143
+ toggleProvider(request: ToggleProviderRequest): Promise<ToggleProviderResponse> | Observable<ToggleProviderResponse> | ToggleProviderResponse;
144
+ }
145
+ export declare function PaymentServiceControllerMethods(): (constructor: Function) => void;
146
+ export declare const PAYMENT_SERVICE_NAME = "PaymentService";