@mamindom/contracts 1.0.193 → 1.0.201
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/user-authenticated.interface.d.ts +2 -0
- package/dist/events/orders/index.d.ts +1 -0
- package/dist/events/orders/index.js +1 -0
- package/dist/events/orders/order-side-effects.interface.d.ts +67 -0
- package/dist/events/orders/order-side-effects.interface.js +2 -0
- package/dist/gen/banner.d.ts +18 -27
- package/dist/gen/calculation.d.ts +21 -10
- package/dist/gen/calculation.js +1 -1
- package/dist/gen/cart.d.ts +31 -0
- package/dist/gen/cart.js +1 -0
- package/dist/gen/category.d.ts +1 -0
- package/dist/gen/coupon.d.ts +1 -0
- package/dist/gen/delivery_settings.d.ts +0 -3
- package/dist/gen/notification.d.ts +75 -2
- package/dist/gen/notification.js +34 -1
- package/dist/gen/order.d.ts +29 -1
- package/dist/gen/order.js +1 -0
- package/dist/gen/payment.d.ts +30 -4
- package/dist/gen/payment.js +3 -0
- package/dist/gen/post.d.ts +3 -0
- package/dist/gen/post_comment.d.ts +1 -0
- package/dist/gen/product.d.ts +21 -13
- package/dist/gen/promotion.d.ts +2 -0
- package/dist/gen/shop_filters.d.ts +0 -1
- package/dist/gen/site_settings.d.ts +2 -0
- package/dist/proto/banner.proto +8 -29
- package/dist/proto/calculation.proto +39 -8
- package/dist/proto/cart.proto +47 -0
- package/dist/proto/category.proto +1 -0
- package/dist/proto/coupon.proto +3 -0
- package/dist/proto/delivery_settings.proto +3 -3
- package/dist/proto/notification.proto +84 -2
- package/dist/proto/order.proto +43 -1
- package/dist/proto/payment.proto +49 -2
- package/dist/proto/post.proto +5 -0
- package/dist/proto/post_comment.proto +5 -2
- package/dist/proto/product.proto +12 -11
- package/dist/proto/promotion.proto +4 -0
- package/dist/proto/shop_filters.proto +1 -1
- package/dist/proto/site_settings.proto +4 -0
- package/events/auth/otp-requested.interface.ts +3 -4
- package/events/auth/user-authenticated.interface.ts +3 -0
- package/events/orders/index.ts +1 -0
- package/events/orders/order-side-effects.interface.ts +82 -0
- package/gen/banner.ts +16 -29
- package/gen/calculation.ts +26 -14
- package/gen/cart.ts +38 -0
- package/gen/category.ts +1 -0
- package/gen/coupon.ts +1 -0
- package/gen/delivery_settings.ts +0 -3
- package/gen/notification.ts +136 -2
- package/gen/order.ts +38 -1
- package/gen/payment.ts +49 -4
- package/gen/post.ts +3 -0
- package/gen/post_comment.ts +1 -0
- package/gen/product.ts +19 -16
- package/gen/promotion.ts +2 -0
- package/gen/shop_filters.ts +1 -4
- package/gen/site_settings.ts +2 -0
- package/package.json +1 -1
- package/proto/banner.proto +8 -29
- package/proto/calculation.proto +39 -8
- package/proto/cart.proto +47 -0
- package/proto/category.proto +1 -0
- package/proto/coupon.proto +3 -0
- package/proto/delivery_settings.proto +3 -3
- package/proto/notification.proto +84 -2
- package/proto/order.proto +43 -1
- package/proto/payment.proto +49 -2
- package/proto/post.proto +5 -0
- package/proto/post_comment.proto +5 -2
- package/proto/product.proto +12 -11
- package/proto/promotion.proto +4 -0
- package/proto/shop_filters.proto +1 -1
- package/proto/site_settings.proto +4 -0
package/gen/delivery_settings.ts
CHANGED
|
@@ -14,7 +14,6 @@ export interface DeliverySettingsResponse {
|
|
|
14
14
|
defaultItemWeightKg: number;
|
|
15
15
|
freeShippingThreshold: number;
|
|
16
16
|
defaultDeclaredValue: number;
|
|
17
|
-
npSenderWarehouseRef?: string | undefined;
|
|
18
17
|
updatedAt: string;
|
|
19
18
|
}
|
|
20
19
|
|
|
@@ -25,8 +24,6 @@ export interface UpdateDeliverySettingsRequest {
|
|
|
25
24
|
defaultItemWeightKg?: number | undefined;
|
|
26
25
|
freeShippingThreshold?: number | undefined;
|
|
27
26
|
defaultDeclaredValue?: number | undefined;
|
|
28
|
-
npSenderWarehouseRef?: string | undefined;
|
|
29
|
-
clearNpSenderWarehouseRef: boolean;
|
|
30
27
|
}
|
|
31
28
|
|
|
32
29
|
export interface ListCarriersRequest {
|
package/gen/notification.ts
CHANGED
|
@@ -28,6 +28,7 @@ export enum CampaignRecipientStatusEnum {
|
|
|
28
28
|
RECIPIENT_FAILED = 3,
|
|
29
29
|
RECIPIENT_SKIPPED_OPT_OUT = 4,
|
|
30
30
|
RECIPIENT_SKIPPED_NO_CONTACT = 5,
|
|
31
|
+
RECIPIENT_SENDING = 6,
|
|
31
32
|
UNRECOGNIZED = -1,
|
|
32
33
|
}
|
|
33
34
|
|
|
@@ -98,6 +99,66 @@ export interface SendToCustomerResponse {
|
|
|
98
99
|
logId: string;
|
|
99
100
|
}
|
|
100
101
|
|
|
102
|
+
export interface NewsletterSubscribeRequest {
|
|
103
|
+
email: string;
|
|
104
|
+
locale?: string | undefined;
|
|
105
|
+
source?: string | undefined;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
export interface NewsletterSubscribeResponse {
|
|
109
|
+
ok: boolean;
|
|
110
|
+
errorMessage: string;
|
|
111
|
+
alreadySubscribed: boolean;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
export interface ListNewsletterSubscribersRequest {
|
|
115
|
+
page: number;
|
|
116
|
+
limit: number;
|
|
117
|
+
search?: string | undefined;
|
|
118
|
+
active?: boolean | undefined;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
export interface NewsletterSubscriberItem {
|
|
122
|
+
id: string;
|
|
123
|
+
email: string;
|
|
124
|
+
locale: string;
|
|
125
|
+
source: string;
|
|
126
|
+
active: boolean;
|
|
127
|
+
createdAt: string;
|
|
128
|
+
unsubscribedAt?: string | undefined;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
export interface ListNewsletterSubscribersResponse {
|
|
132
|
+
items: NewsletterSubscriberItem[];
|
|
133
|
+
total: number;
|
|
134
|
+
page: number;
|
|
135
|
+
limit: number;
|
|
136
|
+
activeTotal: number;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
export interface VerifyUnsubscribeTokenRequest {
|
|
140
|
+
token: string;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
export interface VerifyUnsubscribeTokenResponse {
|
|
144
|
+
ok: boolean;
|
|
145
|
+
errorMessage: string;
|
|
146
|
+
email?: string | undefined;
|
|
147
|
+
userId?: string | undefined;
|
|
148
|
+
unsubscribedFrom: string[];
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
export interface ApplyUnsubscribeRequest {
|
|
152
|
+
token: string;
|
|
153
|
+
categories: string[];
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
export interface ApplyUnsubscribeResponse {
|
|
157
|
+
ok: boolean;
|
|
158
|
+
errorMessage: string;
|
|
159
|
+
categories: string[];
|
|
160
|
+
}
|
|
161
|
+
|
|
101
162
|
export interface EnqueueRecipientsRequest {
|
|
102
163
|
campaignId: string;
|
|
103
164
|
recipients: CampaignResolvedRecipient[];
|
|
@@ -327,6 +388,7 @@ export interface UpsertTemplateRequest {
|
|
|
327
388
|
bodyText: string;
|
|
328
389
|
variablesJson: string;
|
|
329
390
|
isActive: boolean;
|
|
391
|
+
actorId?: string | undefined;
|
|
330
392
|
}
|
|
331
393
|
|
|
332
394
|
export interface UpdateTemplateRequest {
|
|
@@ -334,8 +396,8 @@ export interface UpdateTemplateRequest {
|
|
|
334
396
|
title?: string | undefined;
|
|
335
397
|
subject?: string | undefined;
|
|
336
398
|
contentJson?: string | undefined;
|
|
337
|
-
bodyHtml
|
|
338
|
-
bodyText
|
|
399
|
+
bodyHtml?: string | undefined;
|
|
400
|
+
bodyText?: string | undefined;
|
|
339
401
|
variablesJson?: string | undefined;
|
|
340
402
|
isActive?: boolean | undefined;
|
|
341
403
|
actorId?: string | undefined;
|
|
@@ -597,6 +659,78 @@ export function NotificationLogsServiceControllerMethods() {
|
|
|
597
659
|
|
|
598
660
|
export const NOTIFICATION_LOGS_SERVICE_NAME = "NotificationLogsService";
|
|
599
661
|
|
|
662
|
+
export interface NotificationConsentServiceClient {
|
|
663
|
+
verifyUnsubscribeToken(request: VerifyUnsubscribeTokenRequest): Observable<VerifyUnsubscribeTokenResponse>;
|
|
664
|
+
|
|
665
|
+
applyUnsubscribe(request: ApplyUnsubscribeRequest): Observable<ApplyUnsubscribeResponse>;
|
|
666
|
+
}
|
|
667
|
+
|
|
668
|
+
export interface NotificationConsentServiceController {
|
|
669
|
+
verifyUnsubscribeToken(
|
|
670
|
+
request: VerifyUnsubscribeTokenRequest,
|
|
671
|
+
):
|
|
672
|
+
| Promise<VerifyUnsubscribeTokenResponse>
|
|
673
|
+
| Observable<VerifyUnsubscribeTokenResponse>
|
|
674
|
+
| VerifyUnsubscribeTokenResponse;
|
|
675
|
+
|
|
676
|
+
applyUnsubscribe(
|
|
677
|
+
request: ApplyUnsubscribeRequest,
|
|
678
|
+
): Promise<ApplyUnsubscribeResponse> | Observable<ApplyUnsubscribeResponse> | ApplyUnsubscribeResponse;
|
|
679
|
+
}
|
|
680
|
+
|
|
681
|
+
export function NotificationConsentServiceControllerMethods() {
|
|
682
|
+
return function (constructor: Function) {
|
|
683
|
+
const grpcMethods: string[] = ["verifyUnsubscribeToken", "applyUnsubscribe"];
|
|
684
|
+
for (const method of grpcMethods) {
|
|
685
|
+
const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
|
|
686
|
+
GrpcMethod("NotificationConsentService", method)(constructor.prototype[method], method, descriptor);
|
|
687
|
+
}
|
|
688
|
+
const grpcStreamMethods: string[] = [];
|
|
689
|
+
for (const method of grpcStreamMethods) {
|
|
690
|
+
const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
|
|
691
|
+
GrpcStreamMethod("NotificationConsentService", method)(constructor.prototype[method], method, descriptor);
|
|
692
|
+
}
|
|
693
|
+
};
|
|
694
|
+
}
|
|
695
|
+
|
|
696
|
+
export const NOTIFICATION_CONSENT_SERVICE_NAME = "NotificationConsentService";
|
|
697
|
+
|
|
698
|
+
export interface NewsletterServiceClient {
|
|
699
|
+
subscribe(request: NewsletterSubscribeRequest): Observable<NewsletterSubscribeResponse>;
|
|
700
|
+
|
|
701
|
+
listSubscribers(request: ListNewsletterSubscribersRequest): Observable<ListNewsletterSubscribersResponse>;
|
|
702
|
+
}
|
|
703
|
+
|
|
704
|
+
export interface NewsletterServiceController {
|
|
705
|
+
subscribe(
|
|
706
|
+
request: NewsletterSubscribeRequest,
|
|
707
|
+
): Promise<NewsletterSubscribeResponse> | Observable<NewsletterSubscribeResponse> | NewsletterSubscribeResponse;
|
|
708
|
+
|
|
709
|
+
listSubscribers(
|
|
710
|
+
request: ListNewsletterSubscribersRequest,
|
|
711
|
+
):
|
|
712
|
+
| Promise<ListNewsletterSubscribersResponse>
|
|
713
|
+
| Observable<ListNewsletterSubscribersResponse>
|
|
714
|
+
| ListNewsletterSubscribersResponse;
|
|
715
|
+
}
|
|
716
|
+
|
|
717
|
+
export function NewsletterServiceControllerMethods() {
|
|
718
|
+
return function (constructor: Function) {
|
|
719
|
+
const grpcMethods: string[] = ["subscribe", "listSubscribers"];
|
|
720
|
+
for (const method of grpcMethods) {
|
|
721
|
+
const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
|
|
722
|
+
GrpcMethod("NewsletterService", method)(constructor.prototype[method], method, descriptor);
|
|
723
|
+
}
|
|
724
|
+
const grpcStreamMethods: string[] = [];
|
|
725
|
+
for (const method of grpcStreamMethods) {
|
|
726
|
+
const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
|
|
727
|
+
GrpcStreamMethod("NewsletterService", method)(constructor.prototype[method], method, descriptor);
|
|
728
|
+
}
|
|
729
|
+
};
|
|
730
|
+
}
|
|
731
|
+
|
|
732
|
+
export const NEWSLETTER_SERVICE_NAME = "NewsletterService";
|
|
733
|
+
|
|
600
734
|
export interface TelegramChatsServiceClient {
|
|
601
735
|
listChats(request: ListChatsRequest): Observable<ListChatsResponse>;
|
|
602
736
|
|
package/gen/order.ts
CHANGED
|
@@ -212,7 +212,7 @@ export interface Order {
|
|
|
212
212
|
delivery: OrderDelivery | undefined;
|
|
213
213
|
payment: OrderPayment | undefined;
|
|
214
214
|
totals: OrderTotals | undefined;
|
|
215
|
-
|
|
215
|
+
promoCodes: string[];
|
|
216
216
|
certificateCode: string;
|
|
217
217
|
doNotCall: boolean;
|
|
218
218
|
comment: string;
|
|
@@ -368,6 +368,28 @@ export interface EditItemsRequest {
|
|
|
368
368
|
id: string;
|
|
369
369
|
items: OrderItemInput[];
|
|
370
370
|
actorId: string;
|
|
371
|
+
acceptDiscountChange: boolean;
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
export interface PreviewRecalculationRequest {
|
|
375
|
+
id: string;
|
|
376
|
+
items: OrderItemInput[];
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
export interface DiscountChange {
|
|
380
|
+
kind: string;
|
|
381
|
+
name: string;
|
|
382
|
+
before: number;
|
|
383
|
+
after: number;
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
export interface PreviewRecalculationResponse {
|
|
387
|
+
ok: boolean;
|
|
388
|
+
errorMessage: string;
|
|
389
|
+
before: OrderTotals | undefined;
|
|
390
|
+
after: OrderTotals | undefined;
|
|
391
|
+
discountChanges: DiscountChange[];
|
|
392
|
+
discountsDecreased: boolean;
|
|
371
393
|
}
|
|
372
394
|
|
|
373
395
|
export interface ApplyRecalculationRequest {
|
|
@@ -381,6 +403,7 @@ export interface ApplyRecalculationRequest {
|
|
|
381
403
|
bonusesUsed: number;
|
|
382
404
|
shippingCost: number;
|
|
383
405
|
grandTotal: number;
|
|
406
|
+
idempotencyKey: string;
|
|
384
407
|
}
|
|
385
408
|
|
|
386
409
|
export interface SetTrackingNumberRequest {
|
|
@@ -395,12 +418,19 @@ export interface ReorderOrderRequest {
|
|
|
395
418
|
userId: string;
|
|
396
419
|
}
|
|
397
420
|
|
|
421
|
+
export interface ReorderSkippedItem {
|
|
422
|
+
productId: string;
|
|
423
|
+
variantId: string;
|
|
424
|
+
reason: string;
|
|
425
|
+
}
|
|
426
|
+
|
|
398
427
|
export interface ReorderResponse {
|
|
399
428
|
ok: boolean;
|
|
400
429
|
cartId: string;
|
|
401
430
|
added: number;
|
|
402
431
|
skipped: number;
|
|
403
432
|
error: string;
|
|
433
|
+
skippedItems: ReorderSkippedItem[];
|
|
404
434
|
}
|
|
405
435
|
|
|
406
436
|
export interface ListHistoryRequest {
|
|
@@ -450,6 +480,8 @@ export interface OrderServiceClient {
|
|
|
450
480
|
|
|
451
481
|
editItems(request: EditItemsRequest): Observable<OrderResponse>;
|
|
452
482
|
|
|
483
|
+
previewRecalculation(request: PreviewRecalculationRequest): Observable<PreviewRecalculationResponse>;
|
|
484
|
+
|
|
453
485
|
setTrackingNumber(request: SetTrackingNumberRequest): Observable<OrderResponse>;
|
|
454
486
|
|
|
455
487
|
applyRecalculation(request: ApplyRecalculationRequest): Observable<OrderResponse>;
|
|
@@ -506,6 +538,10 @@ export interface OrderServiceController {
|
|
|
506
538
|
|
|
507
539
|
editItems(request: EditItemsRequest): Promise<OrderResponse> | Observable<OrderResponse> | OrderResponse;
|
|
508
540
|
|
|
541
|
+
previewRecalculation(
|
|
542
|
+
request: PreviewRecalculationRequest,
|
|
543
|
+
): Promise<PreviewRecalculationResponse> | Observable<PreviewRecalculationResponse> | PreviewRecalculationResponse;
|
|
544
|
+
|
|
509
545
|
setTrackingNumber(
|
|
510
546
|
request: SetTrackingNumberRequest,
|
|
511
547
|
): Promise<OrderResponse> | Observable<OrderResponse> | OrderResponse;
|
|
@@ -549,6 +585,7 @@ export function OrderServiceControllerMethods() {
|
|
|
549
585
|
"addTag",
|
|
550
586
|
"removeTag",
|
|
551
587
|
"editItems",
|
|
588
|
+
"previewRecalculation",
|
|
552
589
|
"setTrackingNumber",
|
|
553
590
|
"applyRecalculation",
|
|
554
591
|
"setCrmOrderId",
|
package/gen/payment.ts
CHANGED
|
@@ -29,6 +29,8 @@ export interface Payment {
|
|
|
29
29
|
capturedAt: number;
|
|
30
30
|
cancelledAt: number;
|
|
31
31
|
refundedAt: number;
|
|
32
|
+
captureSource: string;
|
|
33
|
+
captureNote: string;
|
|
32
34
|
}
|
|
33
35
|
|
|
34
36
|
export interface PaymentProviderInfo {
|
|
@@ -38,11 +40,9 @@ export interface PaymentProviderInfo {
|
|
|
38
40
|
supportsInstallment: boolean;
|
|
39
41
|
description: string;
|
|
40
42
|
configured: boolean;
|
|
41
|
-
/**
|
|
42
|
-
* Для installment-провайдерів — максимум частин оплати (з конфігу `parts`).
|
|
43
|
-
* 0 для звичайних провайдерів. Фронт показує «до N платежів» без env-синхронізації.
|
|
44
|
-
*/
|
|
45
43
|
installmentMaxParts: number;
|
|
44
|
+
environment: string;
|
|
45
|
+
blockedByMode: boolean;
|
|
46
46
|
}
|
|
47
47
|
|
|
48
48
|
export interface CreateInvoiceRequest {
|
|
@@ -96,6 +96,13 @@ export interface CaptureRequest {
|
|
|
96
96
|
actorId: string;
|
|
97
97
|
}
|
|
98
98
|
|
|
99
|
+
export interface MarkPaidOfflineRequest {
|
|
100
|
+
id: string;
|
|
101
|
+
amount: number;
|
|
102
|
+
note: string;
|
|
103
|
+
actorId: string;
|
|
104
|
+
}
|
|
105
|
+
|
|
99
106
|
export interface CancelRequest {
|
|
100
107
|
id: string;
|
|
101
108
|
reason: string;
|
|
@@ -175,6 +182,23 @@ export interface UpdateProviderConfigRequest {
|
|
|
175
182
|
actorId: string;
|
|
176
183
|
}
|
|
177
184
|
|
|
185
|
+
export interface GetPaymentsModeRequest {
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
export interface SetPaymentsModeRequest {
|
|
189
|
+
mode: string;
|
|
190
|
+
actorId: string;
|
|
191
|
+
confirmation: string;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
export interface PaymentsModeResponse {
|
|
195
|
+
ok: boolean;
|
|
196
|
+
mode: string;
|
|
197
|
+
updatedAt: number;
|
|
198
|
+
updatedBy: string;
|
|
199
|
+
blockedProviders: string[];
|
|
200
|
+
}
|
|
201
|
+
|
|
178
202
|
export const PAYMENT_V1_PACKAGE_NAME = "payment.v1";
|
|
179
203
|
|
|
180
204
|
export interface PaymentServiceClient {
|
|
@@ -188,6 +212,8 @@ export interface PaymentServiceClient {
|
|
|
188
212
|
|
|
189
213
|
capture(request: CaptureRequest): Observable<PaymentResponse>;
|
|
190
214
|
|
|
215
|
+
markPaidOffline(request: MarkPaidOfflineRequest): Observable<PaymentResponse>;
|
|
216
|
+
|
|
191
217
|
cancel(request: CancelRequest): Observable<PaymentResponse>;
|
|
192
218
|
|
|
193
219
|
refund(request: RefundRequest): Observable<PaymentResponse>;
|
|
@@ -203,6 +229,10 @@ export interface PaymentServiceClient {
|
|
|
203
229
|
getProviderConfig(request: GetProviderConfigRequest): Observable<ProviderConfigResponse>;
|
|
204
230
|
|
|
205
231
|
updateProviderConfig(request: UpdateProviderConfigRequest): Observable<ProviderConfigResponse>;
|
|
232
|
+
|
|
233
|
+
getPaymentsMode(request: GetPaymentsModeRequest): Observable<PaymentsModeResponse>;
|
|
234
|
+
|
|
235
|
+
setPaymentsMode(request: SetPaymentsModeRequest): Observable<PaymentsModeResponse>;
|
|
206
236
|
}
|
|
207
237
|
|
|
208
238
|
export interface PaymentServiceController {
|
|
@@ -222,6 +252,10 @@ export interface PaymentServiceController {
|
|
|
222
252
|
|
|
223
253
|
capture(request: CaptureRequest): Promise<PaymentResponse> | Observable<PaymentResponse> | PaymentResponse;
|
|
224
254
|
|
|
255
|
+
markPaidOffline(
|
|
256
|
+
request: MarkPaidOfflineRequest,
|
|
257
|
+
): Promise<PaymentResponse> | Observable<PaymentResponse> | PaymentResponse;
|
|
258
|
+
|
|
225
259
|
cancel(request: CancelRequest): Promise<PaymentResponse> | Observable<PaymentResponse> | PaymentResponse;
|
|
226
260
|
|
|
227
261
|
refund(request: RefundRequest): Promise<PaymentResponse> | Observable<PaymentResponse> | PaymentResponse;
|
|
@@ -247,6 +281,14 @@ export interface PaymentServiceController {
|
|
|
247
281
|
updateProviderConfig(
|
|
248
282
|
request: UpdateProviderConfigRequest,
|
|
249
283
|
): Promise<ProviderConfigResponse> | Observable<ProviderConfigResponse> | ProviderConfigResponse;
|
|
284
|
+
|
|
285
|
+
getPaymentsMode(
|
|
286
|
+
request: GetPaymentsModeRequest,
|
|
287
|
+
): Promise<PaymentsModeResponse> | Observable<PaymentsModeResponse> | PaymentsModeResponse;
|
|
288
|
+
|
|
289
|
+
setPaymentsMode(
|
|
290
|
+
request: SetPaymentsModeRequest,
|
|
291
|
+
): Promise<PaymentsModeResponse> | Observable<PaymentsModeResponse> | PaymentsModeResponse;
|
|
250
292
|
}
|
|
251
293
|
|
|
252
294
|
export function PaymentServiceControllerMethods() {
|
|
@@ -257,6 +299,7 @@ export function PaymentServiceControllerMethods() {
|
|
|
257
299
|
"getPaymentByOrder",
|
|
258
300
|
"listPayments",
|
|
259
301
|
"capture",
|
|
302
|
+
"markPaidOffline",
|
|
260
303
|
"cancel",
|
|
261
304
|
"refund",
|
|
262
305
|
"syncStatus",
|
|
@@ -265,6 +308,8 @@ export function PaymentServiceControllerMethods() {
|
|
|
265
308
|
"toggleProvider",
|
|
266
309
|
"getProviderConfig",
|
|
267
310
|
"updateProviderConfig",
|
|
311
|
+
"getPaymentsMode",
|
|
312
|
+
"setPaymentsMode",
|
|
268
313
|
];
|
|
269
314
|
for (const method of grpcMethods) {
|
|
270
315
|
const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
|
package/gen/post.ts
CHANGED
|
@@ -242,6 +242,9 @@ export interface UpdatePostRequest {
|
|
|
242
242
|
tagIds: string[];
|
|
243
243
|
images: PostImagePayload[];
|
|
244
244
|
updatedById: string;
|
|
245
|
+
clearCategories: boolean;
|
|
246
|
+
clearTags: boolean;
|
|
247
|
+
clearImages: boolean;
|
|
245
248
|
}
|
|
246
249
|
|
|
247
250
|
export interface UpdatePostRequest_TitleEntry {
|
package/gen/post_comment.ts
CHANGED
package/gen/product.ts
CHANGED
|
@@ -125,7 +125,6 @@ export interface ProductListItemResponse {
|
|
|
125
125
|
activePromo?: ProductPromoInfo | undefined;
|
|
126
126
|
weightKg: number;
|
|
127
127
|
updatedAt: string;
|
|
128
|
-
/** Артикул із 1С. Неунікальний, на відміну від sku, тож зберігається окремо. */
|
|
129
128
|
article1c?: string | undefined;
|
|
130
129
|
}
|
|
131
130
|
|
|
@@ -177,6 +176,7 @@ export interface ProductDetailResponse {
|
|
|
177
176
|
weightKg: number;
|
|
178
177
|
article1c?: string | undefined;
|
|
179
178
|
barcodes: string[];
|
|
179
|
+
seoText: { [key: string]: string };
|
|
180
180
|
}
|
|
181
181
|
|
|
182
182
|
export interface ProductDetailResponse_NameEntry {
|
|
@@ -224,6 +224,11 @@ export interface ProductDetailResponse_ColorLabelEntry {
|
|
|
224
224
|
value: string;
|
|
225
225
|
}
|
|
226
226
|
|
|
227
|
+
export interface ProductDetailResponse_SeoTextEntry {
|
|
228
|
+
key: string;
|
|
229
|
+
value: string;
|
|
230
|
+
}
|
|
231
|
+
|
|
227
232
|
export interface ProductImageResponse {
|
|
228
233
|
id: string;
|
|
229
234
|
url: string;
|
|
@@ -404,6 +409,7 @@ export interface CreateProductRequest {
|
|
|
404
409
|
colorLabel: { [key: string]: string };
|
|
405
410
|
colorHex?: string | undefined;
|
|
406
411
|
weightKg?: number | undefined;
|
|
412
|
+
seoText: { [key: string]: string };
|
|
407
413
|
}
|
|
408
414
|
|
|
409
415
|
export interface CreateProductRequest_NameEntry {
|
|
@@ -436,6 +442,11 @@ export interface CreateProductRequest_ColorLabelEntry {
|
|
|
436
442
|
value: string;
|
|
437
443
|
}
|
|
438
444
|
|
|
445
|
+
export interface CreateProductRequest_SeoTextEntry {
|
|
446
|
+
key: string;
|
|
447
|
+
value: string;
|
|
448
|
+
}
|
|
449
|
+
|
|
439
450
|
export interface UpdateProductRequest {
|
|
440
451
|
id: string;
|
|
441
452
|
sku?: string | undefined;
|
|
@@ -463,23 +474,12 @@ export interface UpdateProductRequest {
|
|
|
463
474
|
colorHex?: string | undefined;
|
|
464
475
|
manualRating?: number | undefined;
|
|
465
476
|
weightKg?: number | undefined;
|
|
466
|
-
guid1c?:
|
|
467
|
-
| string
|
|
468
|
-
| undefined;
|
|
469
|
-
/**
|
|
470
|
-
* Явне очищення списків.
|
|
471
|
-
*
|
|
472
|
-
* У proto3 `repeated` не відрізняє «не передано» від «передано порожнім»,
|
|
473
|
-
* тож порожній масив сам по собі означає «не чіпати». Раніше цього
|
|
474
|
-
* розрізнення не було: клієнт, який не надіслав `images`, отримував від
|
|
475
|
-
* gateway [] — і всі фото товару видалялися разом із файлами в S3.
|
|
476
|
-
*
|
|
477
|
-
* Той самий підхід уже застосований в UpdateProductVariantRequest.
|
|
478
|
-
*/
|
|
477
|
+
guid1c?: string | undefined;
|
|
479
478
|
clearImages: boolean;
|
|
480
479
|
clearCategories: boolean;
|
|
481
480
|
clearStickers: boolean;
|
|
482
481
|
clearAttributes: boolean;
|
|
482
|
+
seoText: { [key: string]: string };
|
|
483
483
|
}
|
|
484
484
|
|
|
485
485
|
export interface UpdateProductRequest_NameEntry {
|
|
@@ -512,6 +512,11 @@ export interface UpdateProductRequest_ColorLabelEntry {
|
|
|
512
512
|
value: string;
|
|
513
513
|
}
|
|
514
514
|
|
|
515
|
+
export interface UpdateProductRequest_SeoTextEntry {
|
|
516
|
+
key: string;
|
|
517
|
+
value: string;
|
|
518
|
+
}
|
|
519
|
+
|
|
515
520
|
export interface SetManualRatingRequest {
|
|
516
521
|
id: string;
|
|
517
522
|
manualRating?: number | undefined;
|
|
@@ -644,9 +649,7 @@ export interface ProductGroupMember {
|
|
|
644
649
|
colorHex: string;
|
|
645
650
|
price: number;
|
|
646
651
|
status: ProductStatus;
|
|
647
|
-
/** Потрібен вітрині: перемикач кольору веде на картку сусіда за ЧПУ. */
|
|
648
652
|
slug: string;
|
|
649
|
-
/** Чи є що купити — сусід без залишку показується неактивним, а не зникає. */
|
|
650
653
|
inStock: boolean;
|
|
651
654
|
}
|
|
652
655
|
|
package/gen/promotion.ts
CHANGED
|
@@ -287,6 +287,8 @@ export interface UpdatePromotionRequest {
|
|
|
287
287
|
cascadeSteps?: string | undefined;
|
|
288
288
|
bundlePrice?: number | undefined;
|
|
289
289
|
bundleSize?: number | undefined;
|
|
290
|
+
replaceConditions?: boolean | undefined;
|
|
291
|
+
replaceExclusions?: boolean | undefined;
|
|
290
292
|
}
|
|
291
293
|
|
|
292
294
|
export interface UpdatePromotionRequest_NameEntry {
|
package/gen/shop_filters.ts
CHANGED
|
@@ -47,10 +47,7 @@ export interface ShopFilterOption {
|
|
|
47
47
|
value: string;
|
|
48
48
|
label: string;
|
|
49
49
|
count: number;
|
|
50
|
-
slug?:
|
|
51
|
-
| string
|
|
52
|
-
| undefined;
|
|
53
|
-
/** Для розмірів: атрибут-джерело значення (вкладки у фільтрі «Розмір»). */
|
|
50
|
+
slug?: string | undefined;
|
|
54
51
|
groupSlug?: string | undefined;
|
|
55
52
|
groupLabel?: string | undefined;
|
|
56
53
|
}
|
package/gen/site_settings.ts
CHANGED
|
@@ -42,6 +42,7 @@ export interface SiteSettingsResponse {
|
|
|
42
42
|
updatedAt: string;
|
|
43
43
|
workingHours?: string | undefined;
|
|
44
44
|
workingHoursNote?: string | undefined;
|
|
45
|
+
sizeCategorySlugs?: string | undefined;
|
|
45
46
|
}
|
|
46
47
|
|
|
47
48
|
export interface GetSiteSettingsRequest {
|
|
@@ -58,6 +59,7 @@ export interface UpdateSiteSettingsRequest {
|
|
|
58
59
|
clearTelegramUrl: boolean;
|
|
59
60
|
workingHours?: string | undefined;
|
|
60
61
|
workingHoursNote?: string | undefined;
|
|
62
|
+
sizeCategorySlugs?: string | undefined;
|
|
61
63
|
}
|
|
62
64
|
|
|
63
65
|
export const CONTENT_V1_PACKAGE_NAME = "content.v1";
|
package/package.json
CHANGED
package/proto/banner.proto
CHANGED
|
@@ -182,6 +182,10 @@ message UpdateBannerSlideRequest {
|
|
|
182
182
|
|
|
183
183
|
optional string styling = 13;
|
|
184
184
|
optional int32 sort_order = 14;
|
|
185
|
+
|
|
186
|
+
|
|
187
|
+
bool clear_buttons = 15;
|
|
188
|
+
bool clear_links = 16;
|
|
185
189
|
}
|
|
186
190
|
|
|
187
191
|
message DeleteBannerSlideRequest {
|
|
@@ -201,7 +205,6 @@ message UpdateSlideOrderRequest {
|
|
|
201
205
|
message GetBannersByPlacementRequest {
|
|
202
206
|
BannerPlacement placement = 1;
|
|
203
207
|
optional string category_id = 2;
|
|
204
|
-
optional string lang = 3;
|
|
205
208
|
}
|
|
206
209
|
|
|
207
210
|
message PublicBannerResponse {
|
|
@@ -214,12 +217,12 @@ message PublicBannerResponse {
|
|
|
214
217
|
message PublicSlideResponse {
|
|
215
218
|
string image = 1;
|
|
216
219
|
optional string mobile_image = 2;
|
|
217
|
-
|
|
218
|
-
|
|
220
|
+
map<string, string> title = 3;
|
|
221
|
+
map<string, string> subtitle = 4;
|
|
219
222
|
|
|
220
|
-
repeated
|
|
223
|
+
repeated BannerSlideButton buttons = 5;
|
|
221
224
|
optional ElementPosition buttons_position = 6;
|
|
222
|
-
repeated
|
|
225
|
+
repeated BannerSlideLink links = 7;
|
|
223
226
|
optional ElementPosition links_position = 8;
|
|
224
227
|
optional string links_layout = 9;
|
|
225
228
|
|
|
@@ -259,27 +262,3 @@ message BannerSlideLink {
|
|
|
259
262
|
string href = 2;
|
|
260
263
|
optional string category_id = 3;
|
|
261
264
|
}
|
|
262
|
-
|
|
263
|
-
message PublicBannerSlideButton {
|
|
264
|
-
string text = 1;
|
|
265
|
-
string href = 2;
|
|
266
|
-
optional string variant = 3;
|
|
267
|
-
optional string background_color = 4;
|
|
268
|
-
optional string text_color = 5;
|
|
269
|
-
optional string border_color = 6;
|
|
270
|
-
optional string border_radius = 7;
|
|
271
|
-
optional string font_size = 8;
|
|
272
|
-
optional string padding_x = 9;
|
|
273
|
-
optional string padding_y = 10;
|
|
274
|
-
optional string font_size_mobile = 11;
|
|
275
|
-
optional string padding_x_mobile = 12;
|
|
276
|
-
optional string padding_y_mobile = 13;
|
|
277
|
-
optional string text_align = 14;
|
|
278
|
-
optional string text_align_mobile = 15;
|
|
279
|
-
}
|
|
280
|
-
|
|
281
|
-
message PublicBannerSlideLink {
|
|
282
|
-
string text = 1;
|
|
283
|
-
string href = 2;
|
|
284
|
-
optional string category_id = 3;
|
|
285
|
-
}
|