@mamindom/contracts 1.0.119 → 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.
- package/dist/events/auth/index.d.ts +1 -0
- package/dist/events/auth/index.js +17 -0
- package/dist/events/auth/otp-requested.interface.d.ts +5 -0
- package/dist/events/auth/otp-requested.interface.js +2 -0
- package/dist/events/delivery/index.d.ts +2 -0
- package/dist/events/delivery/index.js +18 -0
- package/dist/events/delivery/shipment-created.interface.d.ts +10 -0
- package/dist/events/delivery/shipment-created.interface.js +2 -0
- package/dist/events/delivery/shipment-tracked.interface.d.ts +11 -0
- package/dist/events/delivery/shipment-tracked.interface.js +2 -0
- package/dist/events/index.d.ts +4 -0
- package/dist/events/index.js +20 -0
- package/dist/events/orders/index.d.ts +3 -0
- package/dist/events/orders/index.js +19 -0
- package/dist/events/orders/order-cancelled.interface.d.ts +10 -0
- package/dist/events/orders/order-cancelled.interface.js +2 -0
- package/dist/events/orders/order-created.interface.d.ts +37 -0
- package/dist/events/orders/order-created.interface.js +2 -0
- package/dist/events/orders/order-status-changed.interface.d.ts +10 -0
- package/dist/events/orders/order-status-changed.interface.js +2 -0
- package/dist/events/payments/index.d.ts +5 -0
- package/dist/events/payments/index.js +21 -0
- package/dist/events/payments/payment-cancelled.interface.d.ts +9 -0
- package/dist/events/payments/payment-cancelled.interface.js +2 -0
- package/dist/events/payments/payment-captured.interface.d.ts +10 -0
- package/dist/events/payments/payment-captured.interface.js +2 -0
- package/dist/events/payments/payment-failed.interface.d.ts +9 -0
- package/dist/events/payments/payment-failed.interface.js +2 -0
- package/dist/events/payments/payment-held.interface.d.ts +9 -0
- package/dist/events/payments/payment-held.interface.js +2 -0
- package/dist/events/payments/payment-refunded.interface.d.ts +12 -0
- package/dist/events/payments/payment-refunded.interface.js +2 -0
- package/dist/gen/cart.d.ts +248 -0
- package/dist/gen/cart.js +49 -0
- package/dist/gen/delivery.d.ts +165 -0
- package/dist/gen/delivery.js +36 -0
- package/dist/gen/order.d.ts +275 -0
- package/dist/gen/order.js +45 -0
- package/dist/gen/payment.d.ts +146 -0
- package/dist/gen/payment.js +39 -0
- package/dist/gen/site_settings.d.ts +33 -0
- package/dist/gen/site_settings.js +28 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +17 -0
- package/dist/proto/cart.proto +269 -0
- package/dist/proto/delivery.proto +184 -0
- package/dist/proto/order.proto +308 -0
- package/dist/proto/payment.proto +153 -0
- package/dist/proto/site_settings.proto +38 -0
- package/dist/src/proto/paths.d.ts +5 -0
- package/dist/src/proto/paths.js +6 -1
- package/events/delivery/index.ts +2 -0
- package/events/delivery/shipment-created.interface.ts +10 -0
- package/events/delivery/shipment-tracked.interface.ts +11 -0
- package/events/index.ts +3 -0
- package/events/orders/index.ts +3 -0
- package/events/orders/order-cancelled.interface.ts +10 -0
- package/events/orders/order-created.interface.ts +37 -0
- package/events/orders/order-status-changed.interface.ts +10 -0
- package/events/payments/index.ts +5 -0
- package/events/payments/payment-cancelled.interface.ts +9 -0
- package/events/payments/payment-captured.interface.ts +10 -0
- package/events/payments/payment-failed.interface.ts +9 -0
- package/events/payments/payment-held.interface.ts +9 -0
- package/events/payments/payment-refunded.interface.ts +12 -0
- package/gen/cart.ts +376 -0
- package/gen/delivery.ts +241 -0
- package/gen/order.ts +392 -0
- package/gen/payment.ts +239 -0
- package/gen/site_settings.ts +69 -0
- package/package.json +1 -1
- package/proto/cart.proto +269 -0
- package/proto/delivery.proto +184 -0
- package/proto/order.proto +308 -0
- package/proto/payment.proto +153 -0
- package/proto/site_settings.proto +38 -0
package/gen/cart.ts
ADDED
|
@@ -0,0 +1,376 @@
|
|
|
1
|
+
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
|
2
|
+
// versions:
|
|
3
|
+
// protoc-gen-ts_proto v2.11.4
|
|
4
|
+
// protoc v3.21.12
|
|
5
|
+
// source: cart.proto
|
|
6
|
+
|
|
7
|
+
/* eslint-disable */
|
|
8
|
+
import { GrpcMethod, GrpcStreamMethod } from "@nestjs/microservices";
|
|
9
|
+
import { Observable } from "rxjs";
|
|
10
|
+
|
|
11
|
+
export const protobufPackage = "cart.v1";
|
|
12
|
+
|
|
13
|
+
export interface CartItem {
|
|
14
|
+
productId: string;
|
|
15
|
+
variantId: string;
|
|
16
|
+
colorId: string;
|
|
17
|
+
sku: string;
|
|
18
|
+
name: string;
|
|
19
|
+
imageUrl: string;
|
|
20
|
+
slug: string;
|
|
21
|
+
categoryId: string;
|
|
22
|
+
brandId: string;
|
|
23
|
+
quantity: number;
|
|
24
|
+
price: number;
|
|
25
|
+
priceOld: number;
|
|
26
|
+
lineSubtotal: number;
|
|
27
|
+
lineDiscount: number;
|
|
28
|
+
lineTotal: number;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export interface AppliedPromotion {
|
|
32
|
+
promotionId: string;
|
|
33
|
+
promotionName: string;
|
|
34
|
+
discountAmount: number;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export interface AppliedCoupon {
|
|
38
|
+
couponId: string;
|
|
39
|
+
code: string;
|
|
40
|
+
promotionId: string;
|
|
41
|
+
discountAmount: number;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export interface AppliedCertificate {
|
|
45
|
+
code: string;
|
|
46
|
+
nominal: number;
|
|
47
|
+
balance: number;
|
|
48
|
+
applied: number;
|
|
49
|
+
verified: boolean;
|
|
50
|
+
error: string;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export interface AppliedBonuses {
|
|
54
|
+
available: number;
|
|
55
|
+
applied: number;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
export interface Recipient {
|
|
59
|
+
isDifferentFromCustomer: boolean;
|
|
60
|
+
firstName: string;
|
|
61
|
+
lastName: string;
|
|
62
|
+
phone: string;
|
|
63
|
+
email: string;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
export interface DeliveryDraft {
|
|
67
|
+
method: string;
|
|
68
|
+
cityRef: string;
|
|
69
|
+
cityName: string;
|
|
70
|
+
warehouseRef: string;
|
|
71
|
+
warehouseName: string;
|
|
72
|
+
address: string;
|
|
73
|
+
pickupPointId: string;
|
|
74
|
+
cost: number;
|
|
75
|
+
freeShipping: boolean;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
export interface PaymentDraft {
|
|
79
|
+
provider: string;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
export interface CartTotals {
|
|
83
|
+
itemsSubtotal: number;
|
|
84
|
+
promoDiscount: number;
|
|
85
|
+
couponDiscount: number;
|
|
86
|
+
certificateApplied: number;
|
|
87
|
+
bonusesApplied: number;
|
|
88
|
+
shippingCost: number;
|
|
89
|
+
grandTotal: number;
|
|
90
|
+
bonusesToEarn: number;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
export interface Cart {
|
|
94
|
+
cartId: string;
|
|
95
|
+
userId: string;
|
|
96
|
+
guestId: string;
|
|
97
|
+
items: CartItem[];
|
|
98
|
+
appliedPromotions: AppliedPromotion[];
|
|
99
|
+
appliedCoupons: AppliedCoupon[];
|
|
100
|
+
promoCodes: string[];
|
|
101
|
+
certificate: AppliedCertificate | undefined;
|
|
102
|
+
bonuses: AppliedBonuses | undefined;
|
|
103
|
+
recipient: Recipient | undefined;
|
|
104
|
+
delivery: DeliveryDraft | undefined;
|
|
105
|
+
payment: PaymentDraft | undefined;
|
|
106
|
+
comment: string;
|
|
107
|
+
doNotCall: boolean;
|
|
108
|
+
totals: CartTotals | undefined;
|
|
109
|
+
updatedAt: number;
|
|
110
|
+
expiresAt: number;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
export interface WishlistItem {
|
|
114
|
+
productId: string;
|
|
115
|
+
variantId: string;
|
|
116
|
+
sku: string;
|
|
117
|
+
name: string;
|
|
118
|
+
imageUrl: string;
|
|
119
|
+
slug: string;
|
|
120
|
+
price: number;
|
|
121
|
+
inStock: boolean;
|
|
122
|
+
addedAt: number;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
export interface WishlistResponse {
|
|
126
|
+
items: WishlistItem[];
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
export interface CartOwner {
|
|
130
|
+
userId: string;
|
|
131
|
+
guestId: string;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
export interface GetCartRequest {
|
|
135
|
+
owner: CartOwner | undefined;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
export interface ClearCartRequest {
|
|
139
|
+
owner: CartOwner | undefined;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
export interface AddItemRequest {
|
|
143
|
+
owner: CartOwner | undefined;
|
|
144
|
+
productId: string;
|
|
145
|
+
variantId: string;
|
|
146
|
+
quantity: number;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
export interface UpdateItemQtyRequest {
|
|
150
|
+
owner: CartOwner | undefined;
|
|
151
|
+
variantId: string;
|
|
152
|
+
quantity: number;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
export interface RemoveItemRequest {
|
|
156
|
+
owner: CartOwner | undefined;
|
|
157
|
+
variantId: string;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
export interface ApplyPromoRequest {
|
|
161
|
+
owner: CartOwner | undefined;
|
|
162
|
+
code: string;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
export interface RemovePromoRequest {
|
|
166
|
+
owner: CartOwner | undefined;
|
|
167
|
+
code: string;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
export interface ApplyCertificateRequest {
|
|
171
|
+
owner: CartOwner | undefined;
|
|
172
|
+
code: string;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
export interface RemoveCertificateRequest {
|
|
176
|
+
owner: CartOwner | undefined;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
export interface ApplyBonusesRequest {
|
|
180
|
+
owner: CartOwner | undefined;
|
|
181
|
+
amount: number;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
export interface RemoveBonusesRequest {
|
|
185
|
+
owner: CartOwner | undefined;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
export interface SetRecipientRequest {
|
|
189
|
+
owner: CartOwner | undefined;
|
|
190
|
+
recipient: Recipient | undefined;
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
export interface SetDeliveryDraftRequest {
|
|
194
|
+
owner: CartOwner | undefined;
|
|
195
|
+
delivery: DeliveryDraft | undefined;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
export interface SetPaymentDraftRequest {
|
|
199
|
+
owner: CartOwner | undefined;
|
|
200
|
+
payment: PaymentDraft | undefined;
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
export interface SetCommentRequest {
|
|
204
|
+
owner: CartOwner | undefined;
|
|
205
|
+
comment: string;
|
|
206
|
+
doNotCall: boolean;
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
export interface RecalculateRequest {
|
|
210
|
+
owner: CartOwner | undefined;
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
export interface MergeGuestToUserRequest {
|
|
214
|
+
guestId: string;
|
|
215
|
+
userId: string;
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
export interface WishlistOwnerRequest {
|
|
219
|
+
userId: string;
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
export interface WishlistItemRequest {
|
|
223
|
+
userId: string;
|
|
224
|
+
productId: string;
|
|
225
|
+
variantId: string;
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
export interface CartResponse {
|
|
229
|
+
ok: boolean;
|
|
230
|
+
cart: Cart | undefined;
|
|
231
|
+
errorMessage: string;
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
export interface SuccessResponse {
|
|
235
|
+
ok: boolean;
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
export const CART_V1_PACKAGE_NAME = "cart.v1";
|
|
239
|
+
|
|
240
|
+
export interface CartServiceClient {
|
|
241
|
+
getCart(request: GetCartRequest): Observable<CartResponse>;
|
|
242
|
+
|
|
243
|
+
addItem(request: AddItemRequest): Observable<CartResponse>;
|
|
244
|
+
|
|
245
|
+
updateItemQty(request: UpdateItemQtyRequest): Observable<CartResponse>;
|
|
246
|
+
|
|
247
|
+
removeItem(request: RemoveItemRequest): Observable<CartResponse>;
|
|
248
|
+
|
|
249
|
+
clearCart(request: ClearCartRequest): Observable<SuccessResponse>;
|
|
250
|
+
|
|
251
|
+
applyPromo(request: ApplyPromoRequest): Observable<CartResponse>;
|
|
252
|
+
|
|
253
|
+
removePromo(request: RemovePromoRequest): Observable<CartResponse>;
|
|
254
|
+
|
|
255
|
+
/**
|
|
256
|
+
* ApplyCertificate — поки stub. Реальна перевірка номіналу/балансу
|
|
257
|
+
* потребує синхронізації з 1С (фаза інтеграцій).
|
|
258
|
+
*/
|
|
259
|
+
|
|
260
|
+
applyCertificate(request: ApplyCertificateRequest): Observable<CartResponse>;
|
|
261
|
+
|
|
262
|
+
removeCertificate(request: RemoveCertificateRequest): Observable<CartResponse>;
|
|
263
|
+
|
|
264
|
+
applyBonuses(request: ApplyBonusesRequest): Observable<CartResponse>;
|
|
265
|
+
|
|
266
|
+
removeBonuses(request: RemoveBonusesRequest): Observable<CartResponse>;
|
|
267
|
+
|
|
268
|
+
setRecipient(request: SetRecipientRequest): Observable<CartResponse>;
|
|
269
|
+
|
|
270
|
+
setDeliveryDraft(request: SetDeliveryDraftRequest): Observable<CartResponse>;
|
|
271
|
+
|
|
272
|
+
setPaymentDraft(request: SetPaymentDraftRequest): Observable<CartResponse>;
|
|
273
|
+
|
|
274
|
+
setComment(request: SetCommentRequest): Observable<CartResponse>;
|
|
275
|
+
|
|
276
|
+
recalculate(request: RecalculateRequest): Observable<CartResponse>;
|
|
277
|
+
|
|
278
|
+
mergeGuestToUser(request: MergeGuestToUserRequest): Observable<CartResponse>;
|
|
279
|
+
|
|
280
|
+
addToWishlist(request: WishlistItemRequest): Observable<WishlistResponse>;
|
|
281
|
+
|
|
282
|
+
removeFromWishlist(request: WishlistItemRequest): Observable<WishlistResponse>;
|
|
283
|
+
|
|
284
|
+
getWishlist(request: WishlistOwnerRequest): Observable<WishlistResponse>;
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
export interface CartServiceController {
|
|
288
|
+
getCart(request: GetCartRequest): Promise<CartResponse> | Observable<CartResponse> | CartResponse;
|
|
289
|
+
|
|
290
|
+
addItem(request: AddItemRequest): Promise<CartResponse> | Observable<CartResponse> | CartResponse;
|
|
291
|
+
|
|
292
|
+
updateItemQty(request: UpdateItemQtyRequest): Promise<CartResponse> | Observable<CartResponse> | CartResponse;
|
|
293
|
+
|
|
294
|
+
removeItem(request: RemoveItemRequest): Promise<CartResponse> | Observable<CartResponse> | CartResponse;
|
|
295
|
+
|
|
296
|
+
clearCart(request: ClearCartRequest): Promise<SuccessResponse> | Observable<SuccessResponse> | SuccessResponse;
|
|
297
|
+
|
|
298
|
+
applyPromo(request: ApplyPromoRequest): Promise<CartResponse> | Observable<CartResponse> | CartResponse;
|
|
299
|
+
|
|
300
|
+
removePromo(request: RemovePromoRequest): Promise<CartResponse> | Observable<CartResponse> | CartResponse;
|
|
301
|
+
|
|
302
|
+
/**
|
|
303
|
+
* ApplyCertificate — поки stub. Реальна перевірка номіналу/балансу
|
|
304
|
+
* потребує синхронізації з 1С (фаза інтеграцій).
|
|
305
|
+
*/
|
|
306
|
+
|
|
307
|
+
applyCertificate(request: ApplyCertificateRequest): Promise<CartResponse> | Observable<CartResponse> | CartResponse;
|
|
308
|
+
|
|
309
|
+
removeCertificate(request: RemoveCertificateRequest): Promise<CartResponse> | Observable<CartResponse> | CartResponse;
|
|
310
|
+
|
|
311
|
+
applyBonuses(request: ApplyBonusesRequest): Promise<CartResponse> | Observable<CartResponse> | CartResponse;
|
|
312
|
+
|
|
313
|
+
removeBonuses(request: RemoveBonusesRequest): Promise<CartResponse> | Observable<CartResponse> | CartResponse;
|
|
314
|
+
|
|
315
|
+
setRecipient(request: SetRecipientRequest): Promise<CartResponse> | Observable<CartResponse> | CartResponse;
|
|
316
|
+
|
|
317
|
+
setDeliveryDraft(request: SetDeliveryDraftRequest): Promise<CartResponse> | Observable<CartResponse> | CartResponse;
|
|
318
|
+
|
|
319
|
+
setPaymentDraft(request: SetPaymentDraftRequest): Promise<CartResponse> | Observable<CartResponse> | CartResponse;
|
|
320
|
+
|
|
321
|
+
setComment(request: SetCommentRequest): Promise<CartResponse> | Observable<CartResponse> | CartResponse;
|
|
322
|
+
|
|
323
|
+
recalculate(request: RecalculateRequest): Promise<CartResponse> | Observable<CartResponse> | CartResponse;
|
|
324
|
+
|
|
325
|
+
mergeGuestToUser(request: MergeGuestToUserRequest): Promise<CartResponse> | Observable<CartResponse> | CartResponse;
|
|
326
|
+
|
|
327
|
+
addToWishlist(
|
|
328
|
+
request: WishlistItemRequest,
|
|
329
|
+
): Promise<WishlistResponse> | Observable<WishlistResponse> | WishlistResponse;
|
|
330
|
+
|
|
331
|
+
removeFromWishlist(
|
|
332
|
+
request: WishlistItemRequest,
|
|
333
|
+
): Promise<WishlistResponse> | Observable<WishlistResponse> | WishlistResponse;
|
|
334
|
+
|
|
335
|
+
getWishlist(
|
|
336
|
+
request: WishlistOwnerRequest,
|
|
337
|
+
): Promise<WishlistResponse> | Observable<WishlistResponse> | WishlistResponse;
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
export function CartServiceControllerMethods() {
|
|
341
|
+
return function (constructor: Function) {
|
|
342
|
+
const grpcMethods: string[] = [
|
|
343
|
+
"getCart",
|
|
344
|
+
"addItem",
|
|
345
|
+
"updateItemQty",
|
|
346
|
+
"removeItem",
|
|
347
|
+
"clearCart",
|
|
348
|
+
"applyPromo",
|
|
349
|
+
"removePromo",
|
|
350
|
+
"applyCertificate",
|
|
351
|
+
"removeCertificate",
|
|
352
|
+
"applyBonuses",
|
|
353
|
+
"removeBonuses",
|
|
354
|
+
"setRecipient",
|
|
355
|
+
"setDeliveryDraft",
|
|
356
|
+
"setPaymentDraft",
|
|
357
|
+
"setComment",
|
|
358
|
+
"recalculate",
|
|
359
|
+
"mergeGuestToUser",
|
|
360
|
+
"addToWishlist",
|
|
361
|
+
"removeFromWishlist",
|
|
362
|
+
"getWishlist",
|
|
363
|
+
];
|
|
364
|
+
for (const method of grpcMethods) {
|
|
365
|
+
const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
|
|
366
|
+
GrpcMethod("CartService", method)(constructor.prototype[method], method, descriptor);
|
|
367
|
+
}
|
|
368
|
+
const grpcStreamMethods: string[] = [];
|
|
369
|
+
for (const method of grpcStreamMethods) {
|
|
370
|
+
const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
|
|
371
|
+
GrpcStreamMethod("CartService", method)(constructor.prototype[method], method, descriptor);
|
|
372
|
+
}
|
|
373
|
+
};
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
export const CART_SERVICE_NAME = "CartService";
|
package/gen/delivery.ts
ADDED
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
|
2
|
+
// versions:
|
|
3
|
+
// protoc-gen-ts_proto v2.11.4
|
|
4
|
+
// protoc v3.21.12
|
|
5
|
+
// source: delivery.proto
|
|
6
|
+
|
|
7
|
+
/* eslint-disable */
|
|
8
|
+
import { GrpcMethod, GrpcStreamMethod } from "@nestjs/microservices";
|
|
9
|
+
import { Observable } from "rxjs";
|
|
10
|
+
|
|
11
|
+
export const protobufPackage = "delivery.v1";
|
|
12
|
+
|
|
13
|
+
export interface City {
|
|
14
|
+
ref: string;
|
|
15
|
+
carrier: string;
|
|
16
|
+
name: string;
|
|
17
|
+
nameRu: string;
|
|
18
|
+
region: string;
|
|
19
|
+
areaRef: string;
|
|
20
|
+
settlementType: string;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export interface Warehouse {
|
|
24
|
+
ref: string;
|
|
25
|
+
carrier: string;
|
|
26
|
+
cityRef: string;
|
|
27
|
+
number: string;
|
|
28
|
+
name: string;
|
|
29
|
+
shortAddress: string;
|
|
30
|
+
type: string;
|
|
31
|
+
schedule: string;
|
|
32
|
+
maxWeightKg: number;
|
|
33
|
+
postomat: boolean;
|
|
34
|
+
lat: number;
|
|
35
|
+
lng: number;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export interface Shipment {
|
|
39
|
+
id: string;
|
|
40
|
+
orderId: string;
|
|
41
|
+
carrier: string;
|
|
42
|
+
method: string;
|
|
43
|
+
ttn: string;
|
|
44
|
+
status: string;
|
|
45
|
+
trackingUrl: string;
|
|
46
|
+
senderCity: string;
|
|
47
|
+
senderWarehouse: string;
|
|
48
|
+
recipientName: string;
|
|
49
|
+
recipientPhone: string;
|
|
50
|
+
recipientCityRef: string;
|
|
51
|
+
recipientWarehouseRef: string;
|
|
52
|
+
recipientAddress: string;
|
|
53
|
+
cost: number;
|
|
54
|
+
weightKg: number;
|
|
55
|
+
description: string;
|
|
56
|
+
estimatedDate: string;
|
|
57
|
+
createdAt: number;
|
|
58
|
+
updatedAt: number;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export interface ShipmentParcelItem {
|
|
62
|
+
sku: string;
|
|
63
|
+
name: string;
|
|
64
|
+
qty: number;
|
|
65
|
+
price: number;
|
|
66
|
+
weightKg: number;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
export interface SearchCitiesRequest {
|
|
70
|
+
carrier: string;
|
|
71
|
+
query: string;
|
|
72
|
+
limit: number;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
export interface SearchCitiesResponse {
|
|
76
|
+
items: City[];
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
export interface ListWarehousesRequest {
|
|
80
|
+
carrier: string;
|
|
81
|
+
cityRef: string;
|
|
82
|
+
/** warehouse | postomat | both */
|
|
83
|
+
type: string;
|
|
84
|
+
query: string;
|
|
85
|
+
limit: number;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
export interface ListWarehousesResponse {
|
|
89
|
+
items: Warehouse[];
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
export interface CalculateRequest {
|
|
93
|
+
carrier: string;
|
|
94
|
+
method: string;
|
|
95
|
+
senderCity: string;
|
|
96
|
+
recipientCity: string;
|
|
97
|
+
weightKg: number;
|
|
98
|
+
declaredValue: number;
|
|
99
|
+
serviceType: string;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
export interface CalculateResponse {
|
|
103
|
+
ok: boolean;
|
|
104
|
+
cost: number;
|
|
105
|
+
currency: string;
|
|
106
|
+
estimatedDate: string;
|
|
107
|
+
errorMessage: string;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
export interface CreateShipmentRequest {
|
|
111
|
+
orderId: string;
|
|
112
|
+
carrier: string;
|
|
113
|
+
method: string;
|
|
114
|
+
recipientName: string;
|
|
115
|
+
recipientPhone: string;
|
|
116
|
+
recipientEmail: string;
|
|
117
|
+
recipientCityRef: string;
|
|
118
|
+
recipientCityName: string;
|
|
119
|
+
recipientWarehouseRef: string;
|
|
120
|
+
recipientWarehouseName: string;
|
|
121
|
+
recipientAddress: string;
|
|
122
|
+
description: string;
|
|
123
|
+
weightKg: number;
|
|
124
|
+
declaredValue: number;
|
|
125
|
+
cashOnDelivery: boolean;
|
|
126
|
+
codAmount: number;
|
|
127
|
+
items: ShipmentParcelItem[];
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
export interface CancelShipmentRequest {
|
|
131
|
+
id: string;
|
|
132
|
+
reason: string;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
export interface TrackRequest {
|
|
136
|
+
carrier: string;
|
|
137
|
+
ttn: string;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
export interface TrackResponse {
|
|
141
|
+
ok: boolean;
|
|
142
|
+
status: string;
|
|
143
|
+
statusLabel: string;
|
|
144
|
+
lastEvent: string;
|
|
145
|
+
lastEventAt: number;
|
|
146
|
+
trackingUrl: string;
|
|
147
|
+
errorMessage: string;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
export interface ListShipmentsRequest {
|
|
151
|
+
page: number;
|
|
152
|
+
limit: number;
|
|
153
|
+
carrier: string;
|
|
154
|
+
status: string;
|
|
155
|
+
orderId: string;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
export interface ListShipmentsResponse {
|
|
159
|
+
items: Shipment[];
|
|
160
|
+
totalItems: number;
|
|
161
|
+
totalPages: number;
|
|
162
|
+
currentPage: number;
|
|
163
|
+
perPage: number;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
export interface ShipmentResponse {
|
|
167
|
+
ok: boolean;
|
|
168
|
+
shipment: Shipment | undefined;
|
|
169
|
+
errorMessage: string;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
export const DELIVERY_V1_PACKAGE_NAME = "delivery.v1";
|
|
173
|
+
|
|
174
|
+
export interface DeliveryServiceClient {
|
|
175
|
+
searchCities(request: SearchCitiesRequest): Observable<SearchCitiesResponse>;
|
|
176
|
+
|
|
177
|
+
listWarehouses(request: ListWarehousesRequest): Observable<ListWarehousesResponse>;
|
|
178
|
+
|
|
179
|
+
calculateShippingCost(request: CalculateRequest): Observable<CalculateResponse>;
|
|
180
|
+
|
|
181
|
+
createShipment(request: CreateShipmentRequest): Observable<ShipmentResponse>;
|
|
182
|
+
|
|
183
|
+
cancelShipment(request: CancelShipmentRequest): Observable<ShipmentResponse>;
|
|
184
|
+
|
|
185
|
+
trackShipment(request: TrackRequest): Observable<TrackResponse>;
|
|
186
|
+
|
|
187
|
+
listShipments(request: ListShipmentsRequest): Observable<ListShipmentsResponse>;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
export interface DeliveryServiceController {
|
|
191
|
+
searchCities(
|
|
192
|
+
request: SearchCitiesRequest,
|
|
193
|
+
): Promise<SearchCitiesResponse> | Observable<SearchCitiesResponse> | SearchCitiesResponse;
|
|
194
|
+
|
|
195
|
+
listWarehouses(
|
|
196
|
+
request: ListWarehousesRequest,
|
|
197
|
+
): Promise<ListWarehousesResponse> | Observable<ListWarehousesResponse> | ListWarehousesResponse;
|
|
198
|
+
|
|
199
|
+
calculateShippingCost(
|
|
200
|
+
request: CalculateRequest,
|
|
201
|
+
): Promise<CalculateResponse> | Observable<CalculateResponse> | CalculateResponse;
|
|
202
|
+
|
|
203
|
+
createShipment(
|
|
204
|
+
request: CreateShipmentRequest,
|
|
205
|
+
): Promise<ShipmentResponse> | Observable<ShipmentResponse> | ShipmentResponse;
|
|
206
|
+
|
|
207
|
+
cancelShipment(
|
|
208
|
+
request: CancelShipmentRequest,
|
|
209
|
+
): Promise<ShipmentResponse> | Observable<ShipmentResponse> | ShipmentResponse;
|
|
210
|
+
|
|
211
|
+
trackShipment(request: TrackRequest): Promise<TrackResponse> | Observable<TrackResponse> | TrackResponse;
|
|
212
|
+
|
|
213
|
+
listShipments(
|
|
214
|
+
request: ListShipmentsRequest,
|
|
215
|
+
): Promise<ListShipmentsResponse> | Observable<ListShipmentsResponse> | ListShipmentsResponse;
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
export function DeliveryServiceControllerMethods() {
|
|
219
|
+
return function (constructor: Function) {
|
|
220
|
+
const grpcMethods: string[] = [
|
|
221
|
+
"searchCities",
|
|
222
|
+
"listWarehouses",
|
|
223
|
+
"calculateShippingCost",
|
|
224
|
+
"createShipment",
|
|
225
|
+
"cancelShipment",
|
|
226
|
+
"trackShipment",
|
|
227
|
+
"listShipments",
|
|
228
|
+
];
|
|
229
|
+
for (const method of grpcMethods) {
|
|
230
|
+
const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
|
|
231
|
+
GrpcMethod("DeliveryService", method)(constructor.prototype[method], method, descriptor);
|
|
232
|
+
}
|
|
233
|
+
const grpcStreamMethods: string[] = [];
|
|
234
|
+
for (const method of grpcStreamMethods) {
|
|
235
|
+
const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
|
|
236
|
+
GrpcStreamMethod("DeliveryService", method)(constructor.prototype[method], method, descriptor);
|
|
237
|
+
}
|
|
238
|
+
};
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
export const DELIVERY_SERVICE_NAME = "DeliveryService";
|