@mamindom/contracts 1.0.144 → 1.0.146
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/gen/attribute.d.ts +40 -0
- package/dist/gen/attribute.js +1 -0
- package/dist/gen/brand.d.ts +19 -0
- package/dist/gen/brand.js +8 -1
- package/dist/gen/bundle.d.ts +0 -2
- package/dist/gen/cart.d.ts +0 -28
- package/dist/gen/category.d.ts +26 -0
- package/dist/gen/category.js +1 -0
- package/dist/gen/delivery.d.ts +0 -1
- package/dist/gen/delivery_settings.d.ts +0 -4
- package/dist/gen/faq.d.ts +0 -6
- package/dist/gen/manager.d.ts +0 -12
- package/dist/gen/notification.d.ts +0 -71
- package/dist/gen/order.d.ts +0 -29
- package/dist/gen/page.d.ts +0 -5
- package/dist/gen/payment.d.ts +0 -22
- package/dist/gen/pickup.d.ts +0 -9
- package/dist/gen/product.d.ts +108 -11
- package/dist/gen/product.js +5 -0
- package/dist/gen/promotion.d.ts +0 -16
- package/dist/gen/rbac.d.ts +0 -16
- package/dist/gen/search.d.ts +0 -14
- package/dist/gen/seo_filter.d.ts +0 -57
- package/dist/gen/shop_filters.d.ts +0 -5
- package/dist/gen/users.d.ts +0 -9
- package/dist/gen/warehouse.d.ts +34 -0
- package/dist/gen/warehouse.js +28 -0
- package/dist/proto/attribute.proto +35 -0
- package/dist/proto/brand.proto +25 -0
- package/dist/proto/bundle.proto +2 -2
- package/dist/proto/cart.proto +5 -14
- package/dist/proto/category.proto +26 -0
- package/dist/proto/delivery.proto +1 -6
- package/dist/proto/delivery_settings.proto +4 -4
- package/dist/proto/faq.proto +3 -10
- package/dist/proto/manager.proto +3 -5
- package/dist/proto/notification.proto +33 -56
- package/dist/proto/order.proto +9 -21
- package/dist/proto/page.proto +1 -3
- package/dist/proto/payment.proto +8 -14
- package/dist/proto/pickup.proto +7 -9
- package/dist/proto/product.proto +144 -34
- package/dist/proto/promotion.proto +9 -22
- package/dist/proto/rbac.proto +7 -9
- package/dist/proto/search.proto +10 -14
- package/dist/proto/seo_filter.proto +17 -36
- package/dist/proto/shop_filters.proto +1 -3
- package/dist/proto/users.proto +5 -8
- package/dist/proto/warehouse.proto +38 -0
- package/dist/src/proto/paths.d.ts +1 -0
- package/dist/src/proto/paths.js +1 -0
- package/gen/attribute.ts +48 -0
- package/gen/brand.ts +35 -1
- package/gen/bundle.ts +1 -5
- package/gen/cart.ts +1 -35
- package/gen/category.ts +34 -0
- package/gen/delivery.ts +0 -1
- package/gen/delivery_settings.ts +0 -4
- package/gen/faq.ts +0 -12
- package/gen/manager.ts +1 -17
- package/gen/notification.ts +5 -98
- package/gen/order.ts +0 -33
- package/gen/page.ts +0 -5
- package/gen/payment.ts +0 -34
- package/gen/pickup.ts +2 -19
- package/gen/product.ts +148 -28
- package/gen/promotion.ts +3 -33
- package/gen/rbac.ts +1 -25
- package/gen/search.ts +0 -22
- package/gen/seo_filter.ts +3 -74
- package/gen/shop_filters.ts +0 -5
- package/gen/users.ts +1 -20
- package/gen/warehouse.ts +67 -0
- package/package.json +1 -1
- package/proto/attribute.proto +35 -0
- package/proto/brand.proto +25 -0
- package/proto/bundle.proto +2 -2
- package/proto/cart.proto +5 -14
- package/proto/category.proto +26 -0
- package/proto/delivery.proto +1 -6
- package/proto/delivery_settings.proto +4 -4
- package/proto/faq.proto +3 -10
- package/proto/manager.proto +3 -5
- package/proto/notification.proto +33 -56
- package/proto/order.proto +9 -21
- package/proto/page.proto +1 -3
- package/proto/payment.proto +8 -14
- package/proto/pickup.proto +7 -9
- package/proto/product.proto +144 -34
- package/proto/promotion.proto +9 -22
- package/proto/rbac.proto +7 -9
- package/proto/search.proto +10 -14
- package/proto/seo_filter.proto +17 -36
- package/proto/shop_filters.proto +1 -3
- package/proto/users.proto +5 -8
- package/proto/warehouse.proto +38 -0
package/gen/seo_filter.ts
CHANGED
|
@@ -11,23 +11,14 @@ import { DeleteResponse, PaginationMeta, PaginationRequest } from "./common";
|
|
|
11
11
|
|
|
12
12
|
export const protobufPackage = "catalog.v1";
|
|
13
13
|
|
|
14
|
-
/**
|
|
15
|
-
* Частина combo. Однаковий формат і у DB (combo_parts JSON), і у gRPC.
|
|
16
|
-
* type: 'brand'|'price'|'color'|'size'
|
|
17
|
-
*/
|
|
18
14
|
export interface FilterPart {
|
|
19
15
|
type: string;
|
|
20
|
-
/** Для brand/color/size: */
|
|
21
16
|
valueId?: string | undefined;
|
|
22
|
-
valueSlug?:
|
|
23
|
-
| string
|
|
24
|
-
| undefined;
|
|
25
|
-
/** Для price: */
|
|
17
|
+
valueSlug?: string | undefined;
|
|
26
18
|
priceMin?: number | undefined;
|
|
27
19
|
priceMax?: number | undefined;
|
|
28
20
|
}
|
|
29
21
|
|
|
30
|
-
/** Локалізовані поля (uk/ru) у форматі { uk: "...", ru: "..." }. */
|
|
31
22
|
export interface LocaleStrings {
|
|
32
23
|
uk: string;
|
|
33
24
|
ru: string;
|
|
@@ -51,34 +42,17 @@ export interface SeoFilterResponse {
|
|
|
51
42
|
|
|
52
43
|
export interface ResolveSeoFilterRequest {
|
|
53
44
|
categoryId: string;
|
|
54
|
-
/**
|
|
55
|
-
* Канонічно відсортовані URL segments як приходять з Next.js, напр.
|
|
56
|
-
* ["brend-cybex", "cina-1000-5000"]. Caller гарантує що порядок canonical.
|
|
57
|
-
*/
|
|
58
45
|
urlSegments: string[];
|
|
59
|
-
/** 'uk' | 'ru' */
|
|
60
46
|
locale: string;
|
|
61
47
|
}
|
|
62
48
|
|
|
63
49
|
export interface ResolveSeoFilterResponse {
|
|
64
|
-
/** Якщо false → caller рендерить категорію з noindex,follow. */
|
|
65
50
|
found: boolean;
|
|
66
|
-
/**
|
|
67
|
-
* Якщо false → caller додає <meta robots="noindex,follow"> навіть якщо
|
|
68
|
-
* запис знайдено (наприклад, isIndexed=false manual override).
|
|
69
|
-
*/
|
|
70
51
|
isIndexed: boolean;
|
|
71
52
|
title: LocaleStrings | undefined;
|
|
72
53
|
description: LocaleStrings | undefined;
|
|
73
|
-
h1:
|
|
74
|
-
| LocaleStrings
|
|
75
|
-
| undefined;
|
|
76
|
-
/** Canonical-URL-path без host: "/uk/c/koliaski/brend-cybex" */
|
|
54
|
+
h1: LocaleStrings | undefined;
|
|
77
55
|
canonicalPath: string;
|
|
78
|
-
/**
|
|
79
|
-
* Денормалізовані combo_parts з resolved valueId — для побудови
|
|
80
|
-
* запиту до products (categoryId + filter ids).
|
|
81
|
-
*/
|
|
82
56
|
resolvedParts: FilterPart[];
|
|
83
57
|
}
|
|
84
58
|
|
|
@@ -86,10 +60,7 @@ export interface ListSeoFiltersRequest {
|
|
|
86
60
|
pagination: PaginationRequest | undefined;
|
|
87
61
|
categoryId?: string | undefined;
|
|
88
62
|
isIndexed?: boolean | undefined;
|
|
89
|
-
isAuto?:
|
|
90
|
-
| boolean
|
|
91
|
-
| undefined;
|
|
92
|
-
/** Пошук за uk/ru title (для адмін-фільтра). */
|
|
63
|
+
isAuto?: boolean | undefined;
|
|
93
64
|
search?: string | undefined;
|
|
94
65
|
}
|
|
95
66
|
|
|
@@ -125,18 +96,13 @@ export interface DeleteSeoFilterRequest {
|
|
|
125
96
|
|
|
126
97
|
export interface SuggestSeoFiltersRequest {
|
|
127
98
|
categoryId: string;
|
|
128
|
-
/** default 20 */
|
|
129
99
|
limit: number;
|
|
130
100
|
}
|
|
131
101
|
|
|
132
102
|
export interface SuggestSeoFilterCandidate {
|
|
133
|
-
/** Запропоновані combo_parts (валідні, з resolved slug). */
|
|
134
103
|
comboParts: FilterPart[];
|
|
135
|
-
/** Оцінка популярності: clicks / impressions / товарообіг (single число). */
|
|
136
104
|
score: number;
|
|
137
|
-
/** Чи існує вже SeoFilter з таким комбо (тоді UI ховає кнопку Create). */
|
|
138
105
|
alreadyExists: boolean;
|
|
139
|
-
/** Pre-built canonical URL path для preview. */
|
|
140
106
|
previewSegments: LocaleStrings | undefined;
|
|
141
107
|
}
|
|
142
108
|
|
|
@@ -145,7 +111,6 @@ export interface SuggestSeoFiltersResponse {
|
|
|
145
111
|
}
|
|
146
112
|
|
|
147
113
|
export interface ListIndexedForSitemapRequest {
|
|
148
|
-
/** Опційний фільтр — для cursor-pagination якщо записів стане багато. */
|
|
149
114
|
limit?: number | undefined;
|
|
150
115
|
afterId?: string | undefined;
|
|
151
116
|
}
|
|
@@ -164,15 +129,7 @@ export interface ListIndexedForSitemapResponse {
|
|
|
164
129
|
|
|
165
130
|
export const CATALOG_V1_PACKAGE_NAME = "catalog.v1";
|
|
166
131
|
|
|
167
|
-
/** ─── Public ────────────────────────────────────────────────────────────── */
|
|
168
|
-
|
|
169
132
|
export interface SeoFilterServiceClient {
|
|
170
|
-
/**
|
|
171
|
-
* Резолв ЧПУ-URL → metadata + canonical. Викликається SSR Next.js для
|
|
172
|
-
* кожного category/[[...filters]] запиту. Якщо combo не знайдено —
|
|
173
|
-
* повертає isIndexed=false і автогенерований fallback metadata.
|
|
174
|
-
*/
|
|
175
|
-
|
|
176
133
|
resolveSeoFilter(request: ResolveSeoFilterRequest): Observable<ResolveSeoFilterResponse>;
|
|
177
134
|
|
|
178
135
|
listSeoFilters(request: ListSeoFiltersRequest): Observable<ListSeoFiltersResponse>;
|
|
@@ -185,30 +142,12 @@ export interface SeoFilterServiceClient {
|
|
|
185
142
|
|
|
186
143
|
deleteSeoFilter(request: DeleteSeoFilterRequest): Observable<DeleteResponse>;
|
|
187
144
|
|
|
188
|
-
/**
|
|
189
|
-
* Топ-N непокритих combinations (за impressions/popularity) — для
|
|
190
|
-
* швидкого створення SeoFilter з адмін-форми "Автопідказки".
|
|
191
|
-
*/
|
|
192
|
-
|
|
193
145
|
suggestSeoFilters(request: SuggestSeoFiltersRequest): Observable<SuggestSeoFiltersResponse>;
|
|
194
146
|
|
|
195
|
-
/**
|
|
196
|
-
* Список усіх індексованих SeoFilter URL — для побудови sitemap.xml.
|
|
197
|
-
* Повертає одночасно uk+ru сегменти (denormalized) + category slug.
|
|
198
|
-
*/
|
|
199
|
-
|
|
200
147
|
listIndexedForSitemap(request: ListIndexedForSitemapRequest): Observable<ListIndexedForSitemapResponse>;
|
|
201
148
|
}
|
|
202
149
|
|
|
203
|
-
/** ─── Public ────────────────────────────────────────────────────────────── */
|
|
204
|
-
|
|
205
150
|
export interface SeoFilterServiceController {
|
|
206
|
-
/**
|
|
207
|
-
* Резолв ЧПУ-URL → metadata + canonical. Викликається SSR Next.js для
|
|
208
|
-
* кожного category/[[...filters]] запиту. Якщо combo не знайдено —
|
|
209
|
-
* повертає isIndexed=false і автогенерований fallback metadata.
|
|
210
|
-
*/
|
|
211
|
-
|
|
212
151
|
resolveSeoFilter(
|
|
213
152
|
request: ResolveSeoFilterRequest,
|
|
214
153
|
): Promise<ResolveSeoFilterResponse> | Observable<ResolveSeoFilterResponse> | ResolveSeoFilterResponse;
|
|
@@ -233,20 +172,10 @@ export interface SeoFilterServiceController {
|
|
|
233
172
|
request: DeleteSeoFilterRequest,
|
|
234
173
|
): Promise<DeleteResponse> | Observable<DeleteResponse> | DeleteResponse;
|
|
235
174
|
|
|
236
|
-
/**
|
|
237
|
-
* Топ-N непокритих combinations (за impressions/popularity) — для
|
|
238
|
-
* швидкого створення SeoFilter з адмін-форми "Автопідказки".
|
|
239
|
-
*/
|
|
240
|
-
|
|
241
175
|
suggestSeoFilters(
|
|
242
176
|
request: SuggestSeoFiltersRequest,
|
|
243
177
|
): Promise<SuggestSeoFiltersResponse> | Observable<SuggestSeoFiltersResponse> | SuggestSeoFiltersResponse;
|
|
244
178
|
|
|
245
|
-
/**
|
|
246
|
-
* Список усіх індексованих SeoFilter URL — для побудови sitemap.xml.
|
|
247
|
-
* Повертає одночасно uk+ru сегменти (denormalized) + category slug.
|
|
248
|
-
*/
|
|
249
|
-
|
|
250
179
|
listIndexedForSitemap(
|
|
251
180
|
request: ListIndexedForSitemapRequest,
|
|
252
181
|
): Promise<ListIndexedForSitemapResponse> | Observable<ListIndexedForSitemapResponse> | ListIndexedForSitemapResponse;
|
package/gen/shop_filters.ts
CHANGED
|
@@ -47,11 +47,6 @@ export interface ShopFilterOption {
|
|
|
47
47
|
value: string;
|
|
48
48
|
label: string;
|
|
49
49
|
count: number;
|
|
50
|
-
/**
|
|
51
|
-
* slug ОПЦІЙНИЙ — потрібен для побудови ЧПУ-URL фільтрами
|
|
52
|
-
* (brend-<slug>, kolir-<slug>, rozmir-<slug>). Якщо slug ще не
|
|
53
|
-
* згенеровано через backfill — пусто, frontend fallback на id.
|
|
54
|
-
*/
|
|
55
50
|
slug?: string | undefined;
|
|
56
51
|
}
|
|
57
52
|
|
package/gen/users.ts
CHANGED
|
@@ -68,10 +68,7 @@ export interface User {
|
|
|
68
68
|
export interface AdminUpdateCustomerRequest {
|
|
69
69
|
id: string;
|
|
70
70
|
firstName?: string | undefined;
|
|
71
|
-
lastName?:
|
|
72
|
-
| string
|
|
73
|
-
| undefined;
|
|
74
|
-
/** internal_note редагується тут окремо, бо це CRM-поле — не видиме клієнту. */
|
|
71
|
+
lastName?: string | undefined;
|
|
75
72
|
internalNote?: string | undefined;
|
|
76
73
|
}
|
|
77
74
|
|
|
@@ -366,8 +363,6 @@ export interface UsersServiceClient {
|
|
|
366
363
|
|
|
367
364
|
deleteAccount(request: DeleteAccountRequest): Observable<DeleteAccountResponse>;
|
|
368
365
|
|
|
369
|
-
/** Family */
|
|
370
|
-
|
|
371
366
|
getFamily(request: GetFamilyRequest): Observable<GetFamilyResponse>;
|
|
372
367
|
|
|
373
368
|
addChild(request: AddChildRequest): Observable<ChildResponse>;
|
|
@@ -376,14 +371,10 @@ export interface UsersServiceClient {
|
|
|
376
371
|
|
|
377
372
|
removeChild(request: RemoveChildRequest): Observable<RemoveChildResponse>;
|
|
378
373
|
|
|
379
|
-
/** Pregnancy */
|
|
380
|
-
|
|
381
374
|
getPregnancy(request: GetPregnancyRequest): Observable<GetPregnancyResponse>;
|
|
382
375
|
|
|
383
376
|
updatePregnancy(request: UpdatePregnancyRequest): Observable<GetPregnancyResponse>;
|
|
384
377
|
|
|
385
|
-
/** Cart */
|
|
386
|
-
|
|
387
378
|
getCart(request: GetCartRequest): Observable<GetCartResponse>;
|
|
388
379
|
|
|
389
380
|
upsertCartItem(request: UpsertCartItemRequest): Observable<GetCartResponse>;
|
|
@@ -394,8 +385,6 @@ export interface UsersServiceClient {
|
|
|
394
385
|
|
|
395
386
|
syncCart(request: SyncCartRequest): Observable<GetCartResponse>;
|
|
396
387
|
|
|
397
|
-
/** Admin CRM — редагування клієнта менеджером (customers.edit на gateway). */
|
|
398
|
-
|
|
399
388
|
adminUpdateCustomer(request: AdminUpdateCustomerRequest): Observable<AdminUpdateCustomerResponse>;
|
|
400
389
|
}
|
|
401
390
|
|
|
@@ -463,8 +452,6 @@ export interface UsersServiceController {
|
|
|
463
452
|
request: DeleteAccountRequest,
|
|
464
453
|
): Promise<DeleteAccountResponse> | Observable<DeleteAccountResponse> | DeleteAccountResponse;
|
|
465
454
|
|
|
466
|
-
/** Family */
|
|
467
|
-
|
|
468
455
|
getFamily(request: GetFamilyRequest): Promise<GetFamilyResponse> | Observable<GetFamilyResponse> | GetFamilyResponse;
|
|
469
456
|
|
|
470
457
|
addChild(request: AddChildRequest): Promise<ChildResponse> | Observable<ChildResponse> | ChildResponse;
|
|
@@ -475,8 +462,6 @@ export interface UsersServiceController {
|
|
|
475
462
|
request: RemoveChildRequest,
|
|
476
463
|
): Promise<RemoveChildResponse> | Observable<RemoveChildResponse> | RemoveChildResponse;
|
|
477
464
|
|
|
478
|
-
/** Pregnancy */
|
|
479
|
-
|
|
480
465
|
getPregnancy(
|
|
481
466
|
request: GetPregnancyRequest,
|
|
482
467
|
): Promise<GetPregnancyResponse> | Observable<GetPregnancyResponse> | GetPregnancyResponse;
|
|
@@ -485,8 +470,6 @@ export interface UsersServiceController {
|
|
|
485
470
|
request: UpdatePregnancyRequest,
|
|
486
471
|
): Promise<GetPregnancyResponse> | Observable<GetPregnancyResponse> | GetPregnancyResponse;
|
|
487
472
|
|
|
488
|
-
/** Cart */
|
|
489
|
-
|
|
490
473
|
getCart(request: GetCartRequest): Promise<GetCartResponse> | Observable<GetCartResponse> | GetCartResponse;
|
|
491
474
|
|
|
492
475
|
upsertCartItem(
|
|
@@ -501,8 +484,6 @@ export interface UsersServiceController {
|
|
|
501
484
|
|
|
502
485
|
syncCart(request: SyncCartRequest): Promise<GetCartResponse> | Observable<GetCartResponse> | GetCartResponse;
|
|
503
486
|
|
|
504
|
-
/** Admin CRM — редагування клієнта менеджером (customers.edit на gateway). */
|
|
505
|
-
|
|
506
487
|
adminUpdateCustomer(
|
|
507
488
|
request: AdminUpdateCustomerRequest,
|
|
508
489
|
): Promise<AdminUpdateCustomerResponse> | Observable<AdminUpdateCustomerResponse> | AdminUpdateCustomerResponse;
|
package/gen/warehouse.ts
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
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: warehouse.proto
|
|
6
|
+
|
|
7
|
+
/* eslint-disable */
|
|
8
|
+
import { GrpcMethod, GrpcStreamMethod } from "@nestjs/microservices";
|
|
9
|
+
import { Observable } from "rxjs";
|
|
10
|
+
|
|
11
|
+
export const protobufPackage = "catalog.v1";
|
|
12
|
+
|
|
13
|
+
export interface WarehouseSyncItem {
|
|
14
|
+
warehouseGuid: string;
|
|
15
|
+
name: string;
|
|
16
|
+
code1c: string;
|
|
17
|
+
pfCode?: string | undefined;
|
|
18
|
+
address?: string | undefined;
|
|
19
|
+
phone?: string | undefined;
|
|
20
|
+
isRetail?: boolean | undefined;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export interface UpsertWarehousesRequest {
|
|
24
|
+
items: WarehouseSyncItem[];
|
|
25
|
+
syncId: string;
|
|
26
|
+
onlineWarehouseCode: string;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export interface WarehouseUpsertResult {
|
|
30
|
+
guid: string;
|
|
31
|
+
status: string;
|
|
32
|
+
reason?: string | undefined;
|
|
33
|
+
id?: string | undefined;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export interface UpsertWarehousesResponse {
|
|
37
|
+
results: WarehouseUpsertResult[];
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export const CATALOG_V1_PACKAGE_NAME = "catalog.v1";
|
|
41
|
+
|
|
42
|
+
export interface WarehouseServiceClient {
|
|
43
|
+
upsertWarehouses(request: UpsertWarehousesRequest): Observable<UpsertWarehousesResponse>;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export interface WarehouseServiceController {
|
|
47
|
+
upsertWarehouses(
|
|
48
|
+
request: UpsertWarehousesRequest,
|
|
49
|
+
): Promise<UpsertWarehousesResponse> | Observable<UpsertWarehousesResponse> | UpsertWarehousesResponse;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export function WarehouseServiceControllerMethods() {
|
|
53
|
+
return function (constructor: Function) {
|
|
54
|
+
const grpcMethods: string[] = ["upsertWarehouses"];
|
|
55
|
+
for (const method of grpcMethods) {
|
|
56
|
+
const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
|
|
57
|
+
GrpcMethod("WarehouseService", method)(constructor.prototype[method], method, descriptor);
|
|
58
|
+
}
|
|
59
|
+
const grpcStreamMethods: string[] = [];
|
|
60
|
+
for (const method of grpcStreamMethods) {
|
|
61
|
+
const descriptor: any = Reflect.getOwnPropertyDescriptor(constructor.prototype, method);
|
|
62
|
+
GrpcStreamMethod("WarehouseService", method)(constructor.prototype[method], method, descriptor);
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
export const WAREHOUSE_SERVICE_NAME = "WarehouseService";
|
package/package.json
CHANGED
package/proto/attribute.proto
CHANGED
|
@@ -32,6 +32,41 @@ service AttributeService {
|
|
|
32
32
|
rpc UnbindAttributeFromCategory (BindAttributeRequest) returns (SuccessResponse);
|
|
33
33
|
|
|
34
34
|
rpc GetAllAttributesWithValues (GetAllAttributesWithValuesRequest) returns (GetAllAttributesWithValuesResponse);
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
rpc UpsertAttributes (UpsertAttributesRequest) returns (UpsertAttributesResponse);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
message AttributeSyncValueItem {
|
|
42
|
+
string value_guid = 1;
|
|
43
|
+
map<string, string> value = 2;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
message AttributeSyncItem {
|
|
47
|
+
string property_guid = 1;
|
|
48
|
+
map<string, string> name = 2;
|
|
49
|
+
bool is_color = 3;
|
|
50
|
+
repeated AttributeSyncValueItem values = 4;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
message UpsertAttributesRequest {
|
|
54
|
+
repeated AttributeSyncItem items = 1;
|
|
55
|
+
string sync_id = 2;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
message AttributeUpsertResult {
|
|
59
|
+
string guid = 1;
|
|
60
|
+
string status = 2;
|
|
61
|
+
optional string reason = 3;
|
|
62
|
+
optional string id = 4;
|
|
63
|
+
int32 values_created = 5;
|
|
64
|
+
int32 values_updated = 6;
|
|
65
|
+
int32 values_failed = 7;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
message UpsertAttributesResponse {
|
|
69
|
+
repeated AttributeUpsertResult results = 1;
|
|
35
70
|
}
|
|
36
71
|
|
|
37
72
|
message GetAllAttributesWithValuesRequest {}
|
package/proto/brand.proto
CHANGED
|
@@ -13,6 +13,31 @@ service BrandService {
|
|
|
13
13
|
rpc CreateBrand (CreateBrandRequest) returns (BrandResponse);
|
|
14
14
|
rpc UpdateBrand (UpdateBrandRequest) returns (BrandResponse);
|
|
15
15
|
rpc DeleteBrand (DeleteBrandRequest) returns (DeleteResponse);
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
rpc UpsertBrands (UpsertBrandsRequest) returns (UpsertBrandsResponse);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
message BrandSyncItem {
|
|
23
|
+
string brand_guid = 1;
|
|
24
|
+
string name = 2;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
message UpsertBrandsRequest {
|
|
28
|
+
repeated BrandSyncItem items = 1;
|
|
29
|
+
string sync_id = 2;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
message BrandUpsertResult {
|
|
33
|
+
string guid = 1;
|
|
34
|
+
string status = 2;
|
|
35
|
+
optional string reason = 3;
|
|
36
|
+
optional string id = 4;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
message UpsertBrandsResponse {
|
|
40
|
+
repeated BrandUpsertResult results = 1;
|
|
16
41
|
}
|
|
17
42
|
|
|
18
43
|
|
package/proto/bundle.proto
CHANGED
|
@@ -241,7 +241,7 @@ message CloneBundleRequest {
|
|
|
241
241
|
message ExportBundlesRequest {
|
|
242
242
|
optional BundleStatus status = 1;
|
|
243
243
|
optional BundleType bundle_type = 2;
|
|
244
|
-
string format = 3;
|
|
244
|
+
string format = 3;
|
|
245
245
|
}
|
|
246
246
|
|
|
247
247
|
message AddCrossSellLinkRequest {
|
|
@@ -275,7 +275,7 @@ message BundleListItemResponse {
|
|
|
275
275
|
double final_price = 13;
|
|
276
276
|
bool in_stock = 14;
|
|
277
277
|
|
|
278
|
-
|
|
278
|
+
|
|
279
279
|
BundleType bundle_type = 15;
|
|
280
280
|
repeated DisplayPlacement display_placements = 16;
|
|
281
281
|
}
|
package/proto/cart.proto
CHANGED
|
@@ -13,8 +13,7 @@ service CartService {
|
|
|
13
13
|
rpc ApplyPromo(ApplyPromoRequest) returns (CartResponse);
|
|
14
14
|
rpc RemovePromo(RemovePromoRequest) returns (CartResponse);
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
// потребує синхронізації з 1С (фаза інтеграцій).
|
|
16
|
+
|
|
18
17
|
rpc ApplyCertificate(ApplyCertificateRequest) returns (CartResponse);
|
|
19
18
|
rpc RemoveCertificate(RemoveCertificateRequest) returns (CartResponse);
|
|
20
19
|
|
|
@@ -25,8 +24,7 @@ service CartService {
|
|
|
25
24
|
rpc SetDeliveryDraft(SetDeliveryDraftRequest) returns (CartResponse);
|
|
26
25
|
rpc SetPaymentDraft(SetPaymentDraftRequest) returns (CartResponse);
|
|
27
26
|
rpc SetComment(SetCommentRequest) returns (CartResponse);
|
|
28
|
-
|
|
29
|
-
// Фронт під час оформлення замовлення викликає це замість 4 окремих set-*.
|
|
27
|
+
|
|
30
28
|
rpc SetCheckoutDraft(SetCheckoutDraftRequest) returns (CartResponse);
|
|
31
29
|
|
|
32
30
|
rpc Recalculate(RecalculateRequest) returns (CartResponse);
|
|
@@ -38,7 +36,6 @@ service CartService {
|
|
|
38
36
|
rpc GetWishlist(WishlistOwnerRequest) returns (WishlistResponse);
|
|
39
37
|
}
|
|
40
38
|
|
|
41
|
-
// ─── Cart core ──────────────────────────────────────────────────
|
|
42
39
|
|
|
43
40
|
message CartItem {
|
|
44
41
|
string product_id = 1;
|
|
@@ -104,8 +101,7 @@ message DeliveryDraft {
|
|
|
104
101
|
string pickup_point_id = 7;
|
|
105
102
|
double cost = 8;
|
|
106
103
|
bool free_shipping = 9;
|
|
107
|
-
|
|
108
|
-
// потім order-service зміг записати в snapshot замовлення.
|
|
104
|
+
|
|
109
105
|
string region = 10;
|
|
110
106
|
}
|
|
111
107
|
|
|
@@ -144,7 +140,6 @@ message Cart {
|
|
|
144
140
|
int64 expires_at = 17;
|
|
145
141
|
}
|
|
146
142
|
|
|
147
|
-
// ─── Wishlist ───────────────────────────────────────────────────
|
|
148
143
|
|
|
149
144
|
message WishlistItem {
|
|
150
145
|
string product_id = 1;
|
|
@@ -162,7 +157,6 @@ message WishlistResponse {
|
|
|
162
157
|
repeated WishlistItem items = 1;
|
|
163
158
|
}
|
|
164
159
|
|
|
165
|
-
// ─── Requests ───────────────────────────────────────────────────
|
|
166
160
|
|
|
167
161
|
message CartOwner {
|
|
168
162
|
string user_id = 1;
|
|
@@ -246,15 +240,13 @@ message SetCommentRequest {
|
|
|
246
240
|
|
|
247
241
|
message SetCheckoutDraftRequest {
|
|
248
242
|
CartOwner owner = 1;
|
|
249
|
-
|
|
250
|
-
// означає "не міняти"). Recalculate виконується одноразово в кінці.
|
|
243
|
+
|
|
251
244
|
Recipient recipient = 2;
|
|
252
245
|
DeliveryDraft delivery = 3;
|
|
253
246
|
PaymentDraft payment = 4;
|
|
254
247
|
string comment = 5;
|
|
255
248
|
bool do_not_call = 6;
|
|
256
|
-
|
|
257
|
-
// від явного запиту прибрати, бо у proto3 порожній string === unset.
|
|
249
|
+
|
|
258
250
|
bool has_recipient = 7;
|
|
259
251
|
bool has_delivery = 8;
|
|
260
252
|
bool has_payment = 9;
|
|
@@ -280,7 +272,6 @@ message WishlistItemRequest {
|
|
|
280
272
|
string variant_id = 3;
|
|
281
273
|
}
|
|
282
274
|
|
|
283
|
-
// ─── Responses ──────────────────────────────────────────────────
|
|
284
275
|
|
|
285
276
|
message CartResponse {
|
|
286
277
|
bool ok = 1;
|
package/proto/category.proto
CHANGED
|
@@ -23,6 +23,32 @@ service CategoryAdminService {
|
|
|
23
23
|
rpc UpdateCategoryOrder (UpdateCategoryOrderRequest) returns (SuccessResponse);
|
|
24
24
|
|
|
25
25
|
rpc GetAllCategories (GetAllCategoriesRequest) returns (GetAllCategoriesResponse);
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
rpc UpsertCategories (UpsertCategoriesRequest) returns (UpsertCategoriesResponse);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
message CategorySyncItem {
|
|
33
|
+
string category_guid = 1;
|
|
34
|
+
optional string parent_guid = 2;
|
|
35
|
+
map<string, string> name = 3;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
message UpsertCategoriesRequest {
|
|
39
|
+
repeated CategorySyncItem items = 1;
|
|
40
|
+
string sync_id = 2;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
message CategoryUpsertResult {
|
|
44
|
+
string guid = 1;
|
|
45
|
+
string status = 2;
|
|
46
|
+
optional string reason = 3;
|
|
47
|
+
optional string id = 4;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
message UpsertCategoriesResponse {
|
|
51
|
+
repeated CategoryUpsertResult results = 1;
|
|
26
52
|
}
|
|
27
53
|
|
|
28
54
|
message GetAllCategoriesRequest {}
|
package/proto/delivery.proto
CHANGED
|
@@ -16,10 +16,6 @@ service DeliveryService {
|
|
|
16
16
|
rpc ListShipments(ListShipmentsRequest) returns (ListShipmentsResponse);
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
-
// ─── Domain ────────────────────────────────────────────────────
|
|
20
|
-
|
|
21
|
-
// carrier: nova_poshta | ukrposhta | pickup | courier
|
|
22
|
-
// method: warehouse | postomat | address | pickup
|
|
23
19
|
|
|
24
20
|
message City {
|
|
25
21
|
string ref = 1;
|
|
@@ -77,7 +73,6 @@ message ShipmentParcelItem {
|
|
|
77
73
|
double weight_kg = 5;
|
|
78
74
|
}
|
|
79
75
|
|
|
80
|
-
// ─── Requests ──────────────────────────────────────────────────
|
|
81
76
|
|
|
82
77
|
message Area {
|
|
83
78
|
string ref = 1;
|
|
@@ -107,7 +102,7 @@ message ListAreasResponse {
|
|
|
107
102
|
message ListWarehousesRequest {
|
|
108
103
|
string carrier = 1;
|
|
109
104
|
string city_ref = 2;
|
|
110
|
-
string type = 3;
|
|
105
|
+
string type = 3;
|
|
111
106
|
string query = 4;
|
|
112
107
|
int32 limit = 5;
|
|
113
108
|
}
|
|
@@ -10,13 +10,13 @@ service DeliverySettingsService {
|
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
message DeliverySettingsResponse {
|
|
13
|
-
|
|
13
|
+
|
|
14
14
|
double default_item_weight_kg = 1;
|
|
15
|
-
|
|
15
|
+
|
|
16
16
|
double free_shipping_threshold = 2;
|
|
17
|
-
|
|
17
|
+
|
|
18
18
|
double default_declared_value = 3;
|
|
19
|
-
|
|
19
|
+
|
|
20
20
|
optional string np_sender_warehouse_ref = 4;
|
|
21
21
|
|
|
22
22
|
string updated_at = 5;
|
package/proto/faq.proto
CHANGED
|
@@ -6,11 +6,11 @@ import "common_post.proto";
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
service FaqService {
|
|
9
|
-
|
|
9
|
+
|
|
10
10
|
rpc GetFaqStorefront (GetFaqStorefrontRequest) returns (GetFaqStorefrontResponse);
|
|
11
11
|
rpc SearchFaq (SearchFaqRequest) returns (SearchFaqResponse);
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
|
|
14
14
|
rpc GetFaqCategories (GetFaqCategoriesRequest) returns (GetFaqCategoriesResponse);
|
|
15
15
|
rpc GetFaqCategory (FaqCategoryIdRequest) returns (FaqCategoryResponse);
|
|
16
16
|
rpc CreateFaqCategory (CreateFaqCategoryRequest) returns (FaqCategoryResponse);
|
|
@@ -18,7 +18,7 @@ service FaqService {
|
|
|
18
18
|
rpc DeleteFaqCategory (FaqCategoryIdRequest) returns (DeleteResponse);
|
|
19
19
|
rpc ReorderFaqCategories (ReorderFaqRequest) returns (SuccessResponse);
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
|
|
22
22
|
rpc GetFaqItems (GetFaqItemsRequest) returns (GetFaqItemsResponse);
|
|
23
23
|
rpc GetFaqItem (FaqItemIdRequest) returns (FaqItemResponse);
|
|
24
24
|
rpc CreateFaqItem (CreateFaqItemRequest) returns (FaqItemResponse);
|
|
@@ -77,7 +77,6 @@ message FaqCategoryWithItems {
|
|
|
77
77
|
}
|
|
78
78
|
|
|
79
79
|
|
|
80
|
-
// ── Storefront ──────────────────────────────────────────────────────────────
|
|
81
80
|
|
|
82
81
|
message GetFaqStorefrontRequest {
|
|
83
82
|
optional int32 popular_limit = 1;
|
|
@@ -97,9 +96,6 @@ message SearchFaqResponse {
|
|
|
97
96
|
repeated FaqItemResponse items = 1;
|
|
98
97
|
}
|
|
99
98
|
|
|
100
|
-
|
|
101
|
-
// ── Categories CRUD ─────────────────────────────────────────────────────────
|
|
102
|
-
|
|
103
99
|
message FaqCategoryIdRequest {
|
|
104
100
|
string id = 1;
|
|
105
101
|
}
|
|
@@ -131,8 +127,6 @@ message UpdateFaqCategoryRequest {
|
|
|
131
127
|
}
|
|
132
128
|
|
|
133
129
|
|
|
134
|
-
// ── Items CRUD ──────────────────────────────────────────────────────────────
|
|
135
|
-
|
|
136
130
|
message FaqItemIdRequest {
|
|
137
131
|
string id = 1;
|
|
138
132
|
}
|
|
@@ -169,7 +163,6 @@ message UpdateFaqItemRequest {
|
|
|
169
163
|
}
|
|
170
164
|
|
|
171
165
|
|
|
172
|
-
// ── Reorder / Bulk ──────────────────────────────────────────────────────────
|
|
173
166
|
|
|
174
167
|
message FaqSortEntry {
|
|
175
168
|
string id = 1;
|
package/proto/manager.proto
CHANGED
|
@@ -5,9 +5,7 @@ package manager.v1;
|
|
|
5
5
|
service ManagerService {
|
|
6
6
|
rpc ListManagers(ListManagersRequest) returns (ListManagersResponse);
|
|
7
7
|
rpc GetManager(GetManagerRequest) returns (ManagerProfileDto);
|
|
8
|
-
|
|
9
|
-
// у gateway щоб з'ясувати ManagerProfile.id для логіну-під-менеджером —
|
|
10
|
-
// order.managerId зберігає ManagerProfile.id, а не Account.id.
|
|
8
|
+
|
|
11
9
|
rpc GetManagerByAccount(GetManagerByAccountRequest) returns (ManagerProfileDto);
|
|
12
10
|
rpc CreateManager(CreateManagerRequest) returns (ManagerProfileDto);
|
|
13
11
|
rpc UpdateManager(UpdateManagerRequest) returns (ManagerProfileDto);
|
|
@@ -54,7 +52,7 @@ message CreateManagerRequest {
|
|
|
54
52
|
string account_id = 1;
|
|
55
53
|
optional string display_name = 2;
|
|
56
54
|
optional string email = 3;
|
|
57
|
-
optional string reassignment_strategy = 4;
|
|
55
|
+
optional string reassignment_strategy = 4;
|
|
58
56
|
}
|
|
59
57
|
|
|
60
58
|
message UpdateManagerRequest {
|
|
@@ -77,7 +75,7 @@ message ReorderManagersRequest {
|
|
|
77
75
|
|
|
78
76
|
message AddVacationRequest {
|
|
79
77
|
string manager_id = 1;
|
|
80
|
-
string starts_at = 2;
|
|
78
|
+
string starts_at = 2;
|
|
81
79
|
string ends_at = 3;
|
|
82
80
|
optional string reason = 4;
|
|
83
81
|
}
|