@mamindom/contracts 1.0.143 → 1.0.145
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 +107 -11
- package/dist/gen/product.js +4 -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 +16 -48
- package/dist/gen/seo_filter.js +1 -0
- 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 +129 -18
- 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 +37 -32
- 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 +147 -28
- package/gen/promotion.ts +3 -33
- package/gen/rbac.ts +1 -25
- package/gen/search.ts +0 -22
- package/gen/seo_filter.ts +27 -63
- 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 +129 -18
- package/proto/promotion.proto +9 -22
- package/proto/rbac.proto +7 -9
- package/proto/search.proto +10 -14
- package/proto/seo_filter.proto +37 -32
- package/proto/shop_filters.proto +1 -3
- package/proto/users.proto +5 -8
- package/proto/warehouse.proto +38 -0
package/gen/product.ts
CHANGED
|
@@ -121,10 +121,7 @@ export interface ProductListItemResponse {
|
|
|
121
121
|
rating: number;
|
|
122
122
|
reviewCount: number;
|
|
123
123
|
stickers: ProductStickerResponse[];
|
|
124
|
-
activePromo?:
|
|
125
|
-
| ProductPromoInfo
|
|
126
|
-
| undefined;
|
|
127
|
-
/** Вага у кг для розрахунку доставки (0 → fallback на defaultItemWeightKg). */
|
|
124
|
+
activePromo?: ProductPromoInfo | undefined;
|
|
128
125
|
weightKg: number;
|
|
129
126
|
}
|
|
130
127
|
|
|
@@ -173,7 +170,6 @@ export interface ProductDetailResponse {
|
|
|
173
170
|
manualRating?: number | undefined;
|
|
174
171
|
activePromo?: ProductPromoInfo | undefined;
|
|
175
172
|
colors: ProductColorResponse[];
|
|
176
|
-
/** Вага товару у кг для розрахунку доставки (variant може override'ити). */
|
|
177
173
|
weightKg: number;
|
|
178
174
|
}
|
|
179
175
|
|
|
@@ -696,10 +692,7 @@ export interface ProductVariantDetailResponse {
|
|
|
696
692
|
images: ProductImageResponse[];
|
|
697
693
|
attributes: ProductAttributeResponse[];
|
|
698
694
|
overrides: VariantOverrides | undefined;
|
|
699
|
-
colorId?:
|
|
700
|
-
| string
|
|
701
|
-
| undefined;
|
|
702
|
-
/** Override-вага варіанту у кг; 0 означає "успадкувати від продукту". */
|
|
695
|
+
colorId?: string | undefined;
|
|
703
696
|
weightKg: number;
|
|
704
697
|
}
|
|
705
698
|
|
|
@@ -767,10 +760,7 @@ export interface CreateProductVariantRequest {
|
|
|
767
760
|
videoUrl?: string | undefined;
|
|
768
761
|
images: ProductImagePayload[];
|
|
769
762
|
attributeValueIds: string[];
|
|
770
|
-
colorId?:
|
|
771
|
-
| string
|
|
772
|
-
| undefined;
|
|
773
|
-
/** Override-вага варіанту у кг (null/unset → успадкувати від продукту). */
|
|
763
|
+
colorId?: string | undefined;
|
|
774
764
|
weightKg?: number | undefined;
|
|
775
765
|
}
|
|
776
766
|
|
|
@@ -823,10 +813,7 @@ export interface UpdateProductVariantRequest {
|
|
|
823
813
|
videoUrl?: string | undefined;
|
|
824
814
|
images: ProductImagePayload[];
|
|
825
815
|
attributeValueIds: string[];
|
|
826
|
-
colorId?:
|
|
827
|
-
| string
|
|
828
|
-
| undefined;
|
|
829
|
-
/** Override-вага варіанту у кг (null/unset → успадкувати від продукту). */
|
|
816
|
+
colorId?: string | undefined;
|
|
830
817
|
weightKg?: number | undefined;
|
|
831
818
|
clearPrice: boolean;
|
|
832
819
|
clearOldPrice: boolean;
|
|
@@ -916,20 +903,14 @@ export interface VariantLookupResult {
|
|
|
916
903
|
productId: string;
|
|
917
904
|
sku: string;
|
|
918
905
|
found: boolean;
|
|
919
|
-
/** Резолвлена з урахуванням variant override. */
|
|
920
906
|
price: number;
|
|
921
907
|
oldPrice?: number | undefined;
|
|
922
908
|
stock: number;
|
|
923
909
|
hasOwnPrice: boolean;
|
|
924
|
-
/** Локалізована назва (uk → ru → перше) для зручності клієнта. */
|
|
925
910
|
nameUk: string;
|
|
926
911
|
mainImage: string;
|
|
927
|
-
colorId?:
|
|
928
|
-
| string
|
|
929
|
-
| undefined;
|
|
930
|
-
/** Вага у кг (variant.weight_kg ?? product.weight_kg ?? 0). */
|
|
912
|
+
colorId?: string | undefined;
|
|
931
913
|
weightKg: number;
|
|
932
|
-
/** Розмір з variant.options.size — для відображення у замовленнях. */
|
|
933
914
|
size: string;
|
|
934
915
|
}
|
|
935
916
|
|
|
@@ -1053,6 +1034,120 @@ export interface ColorSortOrderItem {
|
|
|
1053
1034
|
sortOrder: number;
|
|
1054
1035
|
}
|
|
1055
1036
|
|
|
1037
|
+
export interface ProductSyncItem {
|
|
1038
|
+
productGuid: string;
|
|
1039
|
+
sku: string;
|
|
1040
|
+
name: { [key: string]: string };
|
|
1041
|
+
brandValueGuid?: string | undefined;
|
|
1042
|
+
attributeValueGuids: string[];
|
|
1043
|
+
characteristicGuids: string[];
|
|
1044
|
+
categoryGuids: string[];
|
|
1045
|
+
}
|
|
1046
|
+
|
|
1047
|
+
export interface ProductSyncItem_NameEntry {
|
|
1048
|
+
key: string;
|
|
1049
|
+
value: string;
|
|
1050
|
+
}
|
|
1051
|
+
|
|
1052
|
+
export interface UpsertProductsRequest {
|
|
1053
|
+
items: ProductSyncItem[];
|
|
1054
|
+
syncId: string;
|
|
1055
|
+
createdBy: string;
|
|
1056
|
+
colorPropertyGuid: string;
|
|
1057
|
+
}
|
|
1058
|
+
|
|
1059
|
+
export interface ProductUpsertResult {
|
|
1060
|
+
guid: string;
|
|
1061
|
+
status: string;
|
|
1062
|
+
reason?: string | undefined;
|
|
1063
|
+
id?: string | undefined;
|
|
1064
|
+
attributesLinked: number;
|
|
1065
|
+
attributesSkipped: number;
|
|
1066
|
+
variantsCreated: number;
|
|
1067
|
+
variantsUpdated: number;
|
|
1068
|
+
variantsSkipped: number;
|
|
1069
|
+
}
|
|
1070
|
+
|
|
1071
|
+
export interface UpsertProductsResponse {
|
|
1072
|
+
results: ProductUpsertResult[];
|
|
1073
|
+
}
|
|
1074
|
+
|
|
1075
|
+
export interface PriceSyncItem {
|
|
1076
|
+
productGuid: string;
|
|
1077
|
+
characteristicGuid?: string | undefined;
|
|
1078
|
+
price: number;
|
|
1079
|
+
oldPrice?: number | undefined;
|
|
1080
|
+
}
|
|
1081
|
+
|
|
1082
|
+
export interface UpsertPricesRequest {
|
|
1083
|
+
items: PriceSyncItem[];
|
|
1084
|
+
syncId: string;
|
|
1085
|
+
}
|
|
1086
|
+
|
|
1087
|
+
export interface PriceUpsertResult {
|
|
1088
|
+
guid: string;
|
|
1089
|
+
status: string;
|
|
1090
|
+
reason?: string | undefined;
|
|
1091
|
+
}
|
|
1092
|
+
|
|
1093
|
+
export interface UpsertPricesResponse {
|
|
1094
|
+
results: PriceUpsertResult[];
|
|
1095
|
+
}
|
|
1096
|
+
|
|
1097
|
+
export interface CharacteristicPropertyLink {
|
|
1098
|
+
propertyGuid: string;
|
|
1099
|
+
valueGuid: string;
|
|
1100
|
+
}
|
|
1101
|
+
|
|
1102
|
+
export interface CharacteristicSyncItem {
|
|
1103
|
+
characteristicGuid: string;
|
|
1104
|
+
name: { [key: string]: string };
|
|
1105
|
+
properties: CharacteristicPropertyLink[];
|
|
1106
|
+
}
|
|
1107
|
+
|
|
1108
|
+
export interface CharacteristicSyncItem_NameEntry {
|
|
1109
|
+
key: string;
|
|
1110
|
+
value: string;
|
|
1111
|
+
}
|
|
1112
|
+
|
|
1113
|
+
export interface UpsertCharacteristicsRequest {
|
|
1114
|
+
items: CharacteristicSyncItem[];
|
|
1115
|
+
syncId: string;
|
|
1116
|
+
}
|
|
1117
|
+
|
|
1118
|
+
export interface CharacteristicUpsertResult {
|
|
1119
|
+
guid: string;
|
|
1120
|
+
status: string;
|
|
1121
|
+
reason?: string | undefined;
|
|
1122
|
+
id?: string | undefined;
|
|
1123
|
+
}
|
|
1124
|
+
|
|
1125
|
+
export interface UpsertCharacteristicsResponse {
|
|
1126
|
+
results: CharacteristicUpsertResult[];
|
|
1127
|
+
}
|
|
1128
|
+
|
|
1129
|
+
export interface StockSyncItem {
|
|
1130
|
+
productGuid: string;
|
|
1131
|
+
characteristicGuid?: string | undefined;
|
|
1132
|
+
warehouseGuid: string;
|
|
1133
|
+
quantity: number;
|
|
1134
|
+
}
|
|
1135
|
+
|
|
1136
|
+
export interface UpsertStocksRequest {
|
|
1137
|
+
items: StockSyncItem[];
|
|
1138
|
+
syncId: string;
|
|
1139
|
+
}
|
|
1140
|
+
|
|
1141
|
+
export interface StockUpsertResult {
|
|
1142
|
+
guid: string;
|
|
1143
|
+
status: string;
|
|
1144
|
+
reason?: string | undefined;
|
|
1145
|
+
}
|
|
1146
|
+
|
|
1147
|
+
export interface UpsertStocksResponse {
|
|
1148
|
+
results: StockUpsertResult[];
|
|
1149
|
+
}
|
|
1150
|
+
|
|
1056
1151
|
export const CATALOG_V1_PACKAGE_NAME = "catalog.v1";
|
|
1057
1152
|
|
|
1058
1153
|
export interface ProductServiceClient {
|
|
@@ -1068,6 +1163,14 @@ export interface ProductServiceClient {
|
|
|
1068
1163
|
|
|
1069
1164
|
setManualRating(request: SetManualRatingRequest): Observable<SuccessResponse>;
|
|
1070
1165
|
|
|
1166
|
+
upsertProducts(request: UpsertProductsRequest): Observable<UpsertProductsResponse>;
|
|
1167
|
+
|
|
1168
|
+
upsertPrices(request: UpsertPricesRequest): Observable<UpsertPricesResponse>;
|
|
1169
|
+
|
|
1170
|
+
upsertCharacteristics(request: UpsertCharacteristicsRequest): Observable<UpsertCharacteristicsResponse>;
|
|
1171
|
+
|
|
1172
|
+
upsertStocks(request: UpsertStocksRequest): Observable<UpsertStocksResponse>;
|
|
1173
|
+
|
|
1071
1174
|
bulkUpdateStatus(request: BulkUpdateStatusRequest): Observable<SuccessResponse>;
|
|
1072
1175
|
|
|
1073
1176
|
bulkUpdateCategory(request: BulkUpdateCategoryRequest): Observable<SuccessResponse>;
|
|
@@ -1134,8 +1237,6 @@ export interface ProductServiceClient {
|
|
|
1134
1237
|
|
|
1135
1238
|
getVariantSizeCharts(request: GetVariantSizeChartsRequest): Observable<GetProductSizeChartsResponse>;
|
|
1136
1239
|
|
|
1137
|
-
/** ─── Product colors (нова ієрархія: Product → Color → Variant) ────────────── */
|
|
1138
|
-
|
|
1139
1240
|
createProductColor(request: CreateProductColorRequest): Observable<ProductColorResponse>;
|
|
1140
1241
|
|
|
1141
1242
|
updateProductColor(request: UpdateProductColorRequest): Observable<ProductColorResponse>;
|
|
@@ -1170,6 +1271,22 @@ export interface ProductServiceController {
|
|
|
1170
1271
|
request: SetManualRatingRequest,
|
|
1171
1272
|
): Promise<SuccessResponse> | Observable<SuccessResponse> | SuccessResponse;
|
|
1172
1273
|
|
|
1274
|
+
upsertProducts(
|
|
1275
|
+
request: UpsertProductsRequest,
|
|
1276
|
+
): Promise<UpsertProductsResponse> | Observable<UpsertProductsResponse> | UpsertProductsResponse;
|
|
1277
|
+
|
|
1278
|
+
upsertPrices(
|
|
1279
|
+
request: UpsertPricesRequest,
|
|
1280
|
+
): Promise<UpsertPricesResponse> | Observable<UpsertPricesResponse> | UpsertPricesResponse;
|
|
1281
|
+
|
|
1282
|
+
upsertCharacteristics(
|
|
1283
|
+
request: UpsertCharacteristicsRequest,
|
|
1284
|
+
): Promise<UpsertCharacteristicsResponse> | Observable<UpsertCharacteristicsResponse> | UpsertCharacteristicsResponse;
|
|
1285
|
+
|
|
1286
|
+
upsertStocks(
|
|
1287
|
+
request: UpsertStocksRequest,
|
|
1288
|
+
): Promise<UpsertStocksResponse> | Observable<UpsertStocksResponse> | UpsertStocksResponse;
|
|
1289
|
+
|
|
1173
1290
|
bulkUpdateStatus(
|
|
1174
1291
|
request: BulkUpdateStatusRequest,
|
|
1175
1292
|
): Promise<SuccessResponse> | Observable<SuccessResponse> | SuccessResponse;
|
|
@@ -1302,8 +1419,6 @@ export interface ProductServiceController {
|
|
|
1302
1419
|
request: GetVariantSizeChartsRequest,
|
|
1303
1420
|
): Promise<GetProductSizeChartsResponse> | Observable<GetProductSizeChartsResponse> | GetProductSizeChartsResponse;
|
|
1304
1421
|
|
|
1305
|
-
/** ─── Product colors (нова ієрархія: Product → Color → Variant) ────────────── */
|
|
1306
|
-
|
|
1307
1422
|
createProductColor(
|
|
1308
1423
|
request: CreateProductColorRequest,
|
|
1309
1424
|
): Promise<ProductColorResponse> | Observable<ProductColorResponse> | ProductColorResponse;
|
|
@@ -1334,6 +1449,10 @@ export function ProductServiceControllerMethods() {
|
|
|
1334
1449
|
"updateProduct",
|
|
1335
1450
|
"deleteProduct",
|
|
1336
1451
|
"setManualRating",
|
|
1452
|
+
"upsertProducts",
|
|
1453
|
+
"upsertPrices",
|
|
1454
|
+
"upsertCharacteristics",
|
|
1455
|
+
"upsertStocks",
|
|
1337
1456
|
"bulkUpdateStatus",
|
|
1338
1457
|
"bulkUpdateCategory",
|
|
1339
1458
|
"bulkUpdateDiscount",
|
package/gen/promotion.ts
CHANGED
|
@@ -163,14 +163,8 @@ export interface GetPromotionsRequest {
|
|
|
163
163
|
search?: string | undefined;
|
|
164
164
|
categoryId?: string | undefined;
|
|
165
165
|
dateFrom?: string | undefined;
|
|
166
|
-
dateTo?:
|
|
167
|
-
|
|
168
|
-
| undefined;
|
|
169
|
-
/** startDate | endDate | priority | discountValue */
|
|
170
|
-
sortBy?:
|
|
171
|
-
| string
|
|
172
|
-
| undefined;
|
|
173
|
-
/** asc | desc */
|
|
166
|
+
dateTo?: string | undefined;
|
|
167
|
+
sortBy?: string | undefined;
|
|
174
168
|
sortDir?: string | undefined;
|
|
175
169
|
}
|
|
176
170
|
|
|
@@ -373,10 +367,6 @@ export interface GetPromotionEligibleProductIdsRequest {
|
|
|
373
367
|
promotionId: string;
|
|
374
368
|
}
|
|
375
369
|
|
|
376
|
-
/**
|
|
377
|
-
* Returns the full membership of the promotion (NOT resolved to a flat list).
|
|
378
|
-
* Catalog-service joins these (UNION include − exclude) using its own data.
|
|
379
|
-
*/
|
|
380
370
|
export interface GetPromotionEligibleProductIdsResponse {
|
|
381
371
|
includeProductIds: string[];
|
|
382
372
|
includeCategoryIds: string[];
|
|
@@ -399,17 +389,13 @@ export interface ActivePromotionSnapshotItem {
|
|
|
399
389
|
priority: number;
|
|
400
390
|
seoSlug?: string | undefined;
|
|
401
391
|
startsAt?: string | undefined;
|
|
402
|
-
endsAt?:
|
|
403
|
-
| string
|
|
404
|
-
| undefined;
|
|
405
|
-
/** Resolved eligible product IDs (already deduped, exclusions applied). */
|
|
392
|
+
endsAt?: string | undefined;
|
|
406
393
|
productIds: string[];
|
|
407
394
|
categoryIds: string[];
|
|
408
395
|
brandIds: string[];
|
|
409
396
|
excludedProductIds: string[];
|
|
410
397
|
excludedCategoryIds: string[];
|
|
411
398
|
excludedBrandIds: string[];
|
|
412
|
-
/** Per-product label/color override (key = productId). */
|
|
413
399
|
productLabels: { [key: string]: string };
|
|
414
400
|
productLabelColors: { [key: string]: string };
|
|
415
401
|
}
|
|
@@ -509,8 +495,6 @@ export interface PromotionServiceClient {
|
|
|
509
495
|
request: GetActivePromotionsSnapshotRequest,
|
|
510
496
|
): Observable<GetActivePromotionsSnapshotResponse>;
|
|
511
497
|
|
|
512
|
-
/** Products */
|
|
513
|
-
|
|
514
498
|
getPromotionProducts(request: GetPromotionProductsRequest): Observable<GetPromotionProductsResponse>;
|
|
515
499
|
|
|
516
500
|
getPromotionEligibleProductIds(
|
|
@@ -521,20 +505,14 @@ export interface PromotionServiceClient {
|
|
|
521
505
|
|
|
522
506
|
removePromotionProducts(request: RemovePromotionProductsRequest): Observable<SuccessResponse>;
|
|
523
507
|
|
|
524
|
-
/** Categories */
|
|
525
|
-
|
|
526
508
|
getPromotionCategories(request: GetPromotionCategoriesRequest): Observable<GetPromotionCategoriesResponse>;
|
|
527
509
|
|
|
528
510
|
setPromotionCategories(request: SetPromotionCategoriesRequest): Observable<SuccessResponse>;
|
|
529
511
|
|
|
530
|
-
/** Brands */
|
|
531
|
-
|
|
532
512
|
getPromotionBrands(request: GetPromotionBrandsRequest): Observable<GetPromotionBrandsResponse>;
|
|
533
513
|
|
|
534
514
|
setPromotionBrands(request: SetPromotionBrandsRequest): Observable<SuccessResponse>;
|
|
535
515
|
|
|
536
|
-
/** Bundles */
|
|
537
|
-
|
|
538
516
|
getPromotionBundles(request: GetPromotionBundlesRequest): Observable<GetPromotionBundlesResponse>;
|
|
539
517
|
|
|
540
518
|
addPromotionBundles(request: AddPromotionBundlesRequest): Observable<SuccessResponse>;
|
|
@@ -586,8 +564,6 @@ export interface PromotionServiceController {
|
|
|
586
564
|
| Observable<GetActivePromotionsSnapshotResponse>
|
|
587
565
|
| GetActivePromotionsSnapshotResponse;
|
|
588
566
|
|
|
589
|
-
/** Products */
|
|
590
|
-
|
|
591
567
|
getPromotionProducts(
|
|
592
568
|
request: GetPromotionProductsRequest,
|
|
593
569
|
): Promise<GetPromotionProductsResponse> | Observable<GetPromotionProductsResponse> | GetPromotionProductsResponse;
|
|
@@ -607,8 +583,6 @@ export interface PromotionServiceController {
|
|
|
607
583
|
request: RemovePromotionProductsRequest,
|
|
608
584
|
): Promise<SuccessResponse> | Observable<SuccessResponse> | SuccessResponse;
|
|
609
585
|
|
|
610
|
-
/** Categories */
|
|
611
|
-
|
|
612
586
|
getPromotionCategories(
|
|
613
587
|
request: GetPromotionCategoriesRequest,
|
|
614
588
|
):
|
|
@@ -620,8 +594,6 @@ export interface PromotionServiceController {
|
|
|
620
594
|
request: SetPromotionCategoriesRequest,
|
|
621
595
|
): Promise<SuccessResponse> | Observable<SuccessResponse> | SuccessResponse;
|
|
622
596
|
|
|
623
|
-
/** Brands */
|
|
624
|
-
|
|
625
597
|
getPromotionBrands(
|
|
626
598
|
request: GetPromotionBrandsRequest,
|
|
627
599
|
): Promise<GetPromotionBrandsResponse> | Observable<GetPromotionBrandsResponse> | GetPromotionBrandsResponse;
|
|
@@ -630,8 +602,6 @@ export interface PromotionServiceController {
|
|
|
630
602
|
request: SetPromotionBrandsRequest,
|
|
631
603
|
): Promise<SuccessResponse> | Observable<SuccessResponse> | SuccessResponse;
|
|
632
604
|
|
|
633
|
-
/** Bundles */
|
|
634
|
-
|
|
635
605
|
getPromotionBundles(
|
|
636
606
|
request: GetPromotionBundlesRequest,
|
|
637
607
|
): Promise<GetPromotionBundlesResponse> | Observable<GetPromotionBundlesResponse> | GetPromotionBundlesResponse;
|
package/gen/rbac.ts
CHANGED
|
@@ -63,10 +63,7 @@ export interface UpdateRoleRequest {
|
|
|
63
63
|
id: string;
|
|
64
64
|
name?: string | undefined;
|
|
65
65
|
description?: string | undefined;
|
|
66
|
-
color?:
|
|
67
|
-
| string
|
|
68
|
-
| undefined;
|
|
69
|
-
/** Якщо передано — повна заміна; якщо не передано — без змін. */
|
|
66
|
+
color?: string | undefined;
|
|
70
67
|
permissionKeys: string[];
|
|
71
68
|
replacePermissions: boolean;
|
|
72
69
|
}
|
|
@@ -81,10 +78,6 @@ export interface DeleteRoleResponse {
|
|
|
81
78
|
|
|
82
79
|
export interface AssignAccountRoleRequest {
|
|
83
80
|
accountId: string;
|
|
84
|
-
/**
|
|
85
|
-
* Якщо custom_role_id порожній — користувач відвʼязується від кастомної ролі,
|
|
86
|
-
* і дозволи беруться з системної.
|
|
87
|
-
*/
|
|
88
81
|
customRoleId?: string | undefined;
|
|
89
82
|
}
|
|
90
83
|
|
|
@@ -97,12 +90,7 @@ export interface GetAccountPermissionsRequest {
|
|
|
97
90
|
}
|
|
98
91
|
|
|
99
92
|
export interface GetAccountPermissionsResponse {
|
|
100
|
-
/**
|
|
101
|
-
* Effective permissions з урахуванням system role + custom role override.
|
|
102
|
-
* Може містити "*" — повний доступ (ADMIN).
|
|
103
|
-
*/
|
|
104
93
|
permissionKeys: string[];
|
|
105
|
-
/** Слаг ефективної ролі (для UI/labels). */
|
|
106
94
|
roleSlug: string;
|
|
107
95
|
roleName: string;
|
|
108
96
|
}
|
|
@@ -110,12 +98,8 @@ export interface GetAccountPermissionsResponse {
|
|
|
110
98
|
export const RBAC_V1_PACKAGE_NAME = "rbac.v1";
|
|
111
99
|
|
|
112
100
|
export interface RbacServiceClient {
|
|
113
|
-
/** Permissions catalog (read-only, seeded). */
|
|
114
|
-
|
|
115
101
|
listPermissions(request: ListPermissionsRequest): Observable<ListPermissionsResponse>;
|
|
116
102
|
|
|
117
|
-
/** Roles CRUD. */
|
|
118
|
-
|
|
119
103
|
listRoles(request: ListRolesRequest): Observable<ListRolesResponse>;
|
|
120
104
|
|
|
121
105
|
getRole(request: GetRoleRequest): Observable<RbacRole>;
|
|
@@ -126,22 +110,16 @@ export interface RbacServiceClient {
|
|
|
126
110
|
|
|
127
111
|
deleteRole(request: DeleteRoleRequest): Observable<DeleteRoleResponse>;
|
|
128
112
|
|
|
129
|
-
/** Account ↔ role bindings. */
|
|
130
|
-
|
|
131
113
|
assignAccountRole(request: AssignAccountRoleRequest): Observable<AssignAccountRoleResponse>;
|
|
132
114
|
|
|
133
115
|
getAccountPermissions(request: GetAccountPermissionsRequest): Observable<GetAccountPermissionsResponse>;
|
|
134
116
|
}
|
|
135
117
|
|
|
136
118
|
export interface RbacServiceController {
|
|
137
|
-
/** Permissions catalog (read-only, seeded). */
|
|
138
|
-
|
|
139
119
|
listPermissions(
|
|
140
120
|
request: ListPermissionsRequest,
|
|
141
121
|
): Promise<ListPermissionsResponse> | Observable<ListPermissionsResponse> | ListPermissionsResponse;
|
|
142
122
|
|
|
143
|
-
/** Roles CRUD. */
|
|
144
|
-
|
|
145
123
|
listRoles(request: ListRolesRequest): Promise<ListRolesResponse> | Observable<ListRolesResponse> | ListRolesResponse;
|
|
146
124
|
|
|
147
125
|
getRole(request: GetRoleRequest): Promise<RbacRole> | Observable<RbacRole> | RbacRole;
|
|
@@ -154,8 +132,6 @@ export interface RbacServiceController {
|
|
|
154
132
|
request: DeleteRoleRequest,
|
|
155
133
|
): Promise<DeleteRoleResponse> | Observable<DeleteRoleResponse> | DeleteRoleResponse;
|
|
156
134
|
|
|
157
|
-
/** Account ↔ role bindings. */
|
|
158
|
-
|
|
159
135
|
assignAccountRole(
|
|
160
136
|
request: AssignAccountRoleRequest,
|
|
161
137
|
): Promise<AssignAccountRoleResponse> | Observable<AssignAccountRoleResponse> | AssignAccountRoleResponse;
|
package/gen/search.ts
CHANGED
|
@@ -19,11 +19,8 @@ export enum SynonymType {
|
|
|
19
19
|
|
|
20
20
|
export interface SuggestRequest {
|
|
21
21
|
q: string;
|
|
22
|
-
/** 1..20, default 8 */
|
|
23
22
|
limit: number;
|
|
24
|
-
/** default true */
|
|
25
23
|
onlyInStock: boolean;
|
|
26
|
-
/** 'uk' | 'ru', default 'uk' */
|
|
27
24
|
locale: string;
|
|
28
25
|
}
|
|
29
26
|
|
|
@@ -31,7 +28,6 @@ export interface SuggestProduct {
|
|
|
31
28
|
id: string;
|
|
32
29
|
sku: string;
|
|
33
30
|
slug: string;
|
|
34
|
-
/** already локалізована (uk/ru) */
|
|
35
31
|
name: string;
|
|
36
32
|
mainImage: string;
|
|
37
33
|
price: number;
|
|
@@ -53,7 +49,6 @@ export interface SuggestResponse {
|
|
|
53
49
|
products: SuggestProduct[];
|
|
54
50
|
categories: SuggestCategory[];
|
|
55
51
|
popularQueries: string[];
|
|
56
|
-
/** загальна кількість збігів у продуктах */
|
|
57
52
|
total: number;
|
|
58
53
|
}
|
|
59
54
|
|
|
@@ -147,7 +142,6 @@ export interface ReorderPopularQueryItem {
|
|
|
147
142
|
}
|
|
148
143
|
|
|
149
144
|
export interface ListZeroResultsRequest {
|
|
150
|
-
/** default 100, max 500 */
|
|
151
145
|
limit?: number | undefined;
|
|
152
146
|
}
|
|
153
147
|
|
|
@@ -166,12 +160,8 @@ export interface ClearZeroResultsRequest {
|
|
|
166
160
|
export const CATALOG_V1_PACKAGE_NAME = "catalog.v1";
|
|
167
161
|
|
|
168
162
|
export interface SearchServiceClient {
|
|
169
|
-
/** ─── Public (autocomplete) ─────────────────────────────────────────────── */
|
|
170
|
-
|
|
171
163
|
suggest(request: SuggestRequest): Observable<SuggestResponse>;
|
|
172
164
|
|
|
173
|
-
/** ─── Admin: synonyms ───────────────────────────────────────────────────── */
|
|
174
|
-
|
|
175
165
|
listSynonyms(request: ListSynonymsRequest): Observable<ListSynonymsResponse>;
|
|
176
166
|
|
|
177
167
|
createSynonym(request: CreateSynonymRequest): Observable<SynonymResponse>;
|
|
@@ -182,8 +172,6 @@ export interface SearchServiceClient {
|
|
|
182
172
|
|
|
183
173
|
syncSynonymsToTypesense(request: SyncSynonymsRequest): Observable<SuccessResponse>;
|
|
184
174
|
|
|
185
|
-
/** ─── Admin: popular queries ────────────────────────────────────────────── */
|
|
186
|
-
|
|
187
175
|
listPopularQueries(request: ListPopularQueriesRequest): Observable<ListPopularQueriesResponse>;
|
|
188
176
|
|
|
189
177
|
createPopularQuery(request: CreatePopularQueryRequest): Observable<PopularQueryResponse>;
|
|
@@ -194,20 +182,14 @@ export interface SearchServiceClient {
|
|
|
194
182
|
|
|
195
183
|
reorderPopularQueries(request: ReorderPopularQueriesRequest): Observable<SuccessResponse>;
|
|
196
184
|
|
|
197
|
-
/** ─── Admin: zero-result analytics ──────────────────────────────────────── */
|
|
198
|
-
|
|
199
185
|
listZeroResults(request: ListZeroResultsRequest): Observable<ListZeroResultsResponse>;
|
|
200
186
|
|
|
201
187
|
clearZeroResults(request: ClearZeroResultsRequest): Observable<SuccessResponse>;
|
|
202
188
|
}
|
|
203
189
|
|
|
204
190
|
export interface SearchServiceController {
|
|
205
|
-
/** ─── Public (autocomplete) ─────────────────────────────────────────────── */
|
|
206
|
-
|
|
207
191
|
suggest(request: SuggestRequest): Promise<SuggestResponse> | Observable<SuggestResponse> | SuggestResponse;
|
|
208
192
|
|
|
209
|
-
/** ─── Admin: synonyms ───────────────────────────────────────────────────── */
|
|
210
|
-
|
|
211
193
|
listSynonyms(
|
|
212
194
|
request: ListSynonymsRequest,
|
|
213
195
|
): Promise<ListSynonymsResponse> | Observable<ListSynonymsResponse> | ListSynonymsResponse;
|
|
@@ -226,8 +208,6 @@ export interface SearchServiceController {
|
|
|
226
208
|
request: SyncSynonymsRequest,
|
|
227
209
|
): Promise<SuccessResponse> | Observable<SuccessResponse> | SuccessResponse;
|
|
228
210
|
|
|
229
|
-
/** ─── Admin: popular queries ────────────────────────────────────────────── */
|
|
230
|
-
|
|
231
211
|
listPopularQueries(
|
|
232
212
|
request: ListPopularQueriesRequest,
|
|
233
213
|
): Promise<ListPopularQueriesResponse> | Observable<ListPopularQueriesResponse> | ListPopularQueriesResponse;
|
|
@@ -248,8 +228,6 @@ export interface SearchServiceController {
|
|
|
248
228
|
request: ReorderPopularQueriesRequest,
|
|
249
229
|
): Promise<SuccessResponse> | Observable<SuccessResponse> | SuccessResponse;
|
|
250
230
|
|
|
251
|
-
/** ─── Admin: zero-result analytics ──────────────────────────────────────── */
|
|
252
|
-
|
|
253
231
|
listZeroResults(
|
|
254
232
|
request: ListZeroResultsRequest,
|
|
255
233
|
): Promise<ListZeroResultsResponse> | Observable<ListZeroResultsResponse> | ListZeroResultsResponse;
|