@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/product.ts
CHANGED
|
@@ -17,6 +17,7 @@ export enum ProductStatus {
|
|
|
17
17
|
PRODUCT_STATUS_ACTIVE = 2,
|
|
18
18
|
PRODUCT_STATUS_INACTIVE = 3,
|
|
19
19
|
PRODUCT_STATUS_ARCHIVED = 4,
|
|
20
|
+
PRODUCT_STATUS_MODERATION = 5,
|
|
20
21
|
UNRECOGNIZED = -1,
|
|
21
22
|
}
|
|
22
23
|
|
|
@@ -121,10 +122,7 @@ export interface ProductListItemResponse {
|
|
|
121
122
|
rating: number;
|
|
122
123
|
reviewCount: number;
|
|
123
124
|
stickers: ProductStickerResponse[];
|
|
124
|
-
activePromo?:
|
|
125
|
-
| ProductPromoInfo
|
|
126
|
-
| undefined;
|
|
127
|
-
/** Вага у кг для розрахунку доставки (0 → fallback на defaultItemWeightKg). */
|
|
125
|
+
activePromo?: ProductPromoInfo | undefined;
|
|
128
126
|
weightKg: number;
|
|
129
127
|
}
|
|
130
128
|
|
|
@@ -173,7 +171,6 @@ export interface ProductDetailResponse {
|
|
|
173
171
|
manualRating?: number | undefined;
|
|
174
172
|
activePromo?: ProductPromoInfo | undefined;
|
|
175
173
|
colors: ProductColorResponse[];
|
|
176
|
-
/** Вага товару у кг для розрахунку доставки (variant може override'ити). */
|
|
177
174
|
weightKg: number;
|
|
178
175
|
}
|
|
179
176
|
|
|
@@ -696,10 +693,7 @@ export interface ProductVariantDetailResponse {
|
|
|
696
693
|
images: ProductImageResponse[];
|
|
697
694
|
attributes: ProductAttributeResponse[];
|
|
698
695
|
overrides: VariantOverrides | undefined;
|
|
699
|
-
colorId?:
|
|
700
|
-
| string
|
|
701
|
-
| undefined;
|
|
702
|
-
/** Override-вага варіанту у кг; 0 означає "успадкувати від продукту". */
|
|
696
|
+
colorId?: string | undefined;
|
|
703
697
|
weightKg: number;
|
|
704
698
|
}
|
|
705
699
|
|
|
@@ -767,10 +761,7 @@ export interface CreateProductVariantRequest {
|
|
|
767
761
|
videoUrl?: string | undefined;
|
|
768
762
|
images: ProductImagePayload[];
|
|
769
763
|
attributeValueIds: string[];
|
|
770
|
-
colorId?:
|
|
771
|
-
| string
|
|
772
|
-
| undefined;
|
|
773
|
-
/** Override-вага варіанту у кг (null/unset → успадкувати від продукту). */
|
|
764
|
+
colorId?: string | undefined;
|
|
774
765
|
weightKg?: number | undefined;
|
|
775
766
|
}
|
|
776
767
|
|
|
@@ -823,10 +814,7 @@ export interface UpdateProductVariantRequest {
|
|
|
823
814
|
videoUrl?: string | undefined;
|
|
824
815
|
images: ProductImagePayload[];
|
|
825
816
|
attributeValueIds: string[];
|
|
826
|
-
colorId?:
|
|
827
|
-
| string
|
|
828
|
-
| undefined;
|
|
829
|
-
/** Override-вага варіанту у кг (null/unset → успадкувати від продукту). */
|
|
817
|
+
colorId?: string | undefined;
|
|
830
818
|
weightKg?: number | undefined;
|
|
831
819
|
clearPrice: boolean;
|
|
832
820
|
clearOldPrice: boolean;
|
|
@@ -916,20 +904,14 @@ export interface VariantLookupResult {
|
|
|
916
904
|
productId: string;
|
|
917
905
|
sku: string;
|
|
918
906
|
found: boolean;
|
|
919
|
-
/** Резолвлена з урахуванням variant override. */
|
|
920
907
|
price: number;
|
|
921
908
|
oldPrice?: number | undefined;
|
|
922
909
|
stock: number;
|
|
923
910
|
hasOwnPrice: boolean;
|
|
924
|
-
/** Локалізована назва (uk → ru → перше) для зручності клієнта. */
|
|
925
911
|
nameUk: string;
|
|
926
912
|
mainImage: string;
|
|
927
|
-
colorId?:
|
|
928
|
-
| string
|
|
929
|
-
| undefined;
|
|
930
|
-
/** Вага у кг (variant.weight_kg ?? product.weight_kg ?? 0). */
|
|
913
|
+
colorId?: string | undefined;
|
|
931
914
|
weightKg: number;
|
|
932
|
-
/** Розмір з variant.options.size — для відображення у замовленнях. */
|
|
933
915
|
size: string;
|
|
934
916
|
}
|
|
935
917
|
|
|
@@ -1053,6 +1035,120 @@ export interface ColorSortOrderItem {
|
|
|
1053
1035
|
sortOrder: number;
|
|
1054
1036
|
}
|
|
1055
1037
|
|
|
1038
|
+
export interface ProductSyncItem {
|
|
1039
|
+
productGuid: string;
|
|
1040
|
+
sku: string;
|
|
1041
|
+
name: { [key: string]: string };
|
|
1042
|
+
brandValueGuid?: string | undefined;
|
|
1043
|
+
attributeValueGuids: string[];
|
|
1044
|
+
characteristicGuids: string[];
|
|
1045
|
+
categoryGuids: string[];
|
|
1046
|
+
}
|
|
1047
|
+
|
|
1048
|
+
export interface ProductSyncItem_NameEntry {
|
|
1049
|
+
key: string;
|
|
1050
|
+
value: string;
|
|
1051
|
+
}
|
|
1052
|
+
|
|
1053
|
+
export interface UpsertProductsRequest {
|
|
1054
|
+
items: ProductSyncItem[];
|
|
1055
|
+
syncId: string;
|
|
1056
|
+
createdBy: string;
|
|
1057
|
+
colorPropertyGuid: string;
|
|
1058
|
+
}
|
|
1059
|
+
|
|
1060
|
+
export interface ProductUpsertResult {
|
|
1061
|
+
guid: string;
|
|
1062
|
+
status: string;
|
|
1063
|
+
reason?: string | undefined;
|
|
1064
|
+
id?: string | undefined;
|
|
1065
|
+
attributesLinked: number;
|
|
1066
|
+
attributesSkipped: number;
|
|
1067
|
+
variantsCreated: number;
|
|
1068
|
+
variantsUpdated: number;
|
|
1069
|
+
variantsSkipped: number;
|
|
1070
|
+
}
|
|
1071
|
+
|
|
1072
|
+
export interface UpsertProductsResponse {
|
|
1073
|
+
results: ProductUpsertResult[];
|
|
1074
|
+
}
|
|
1075
|
+
|
|
1076
|
+
export interface PriceSyncItem {
|
|
1077
|
+
productGuid: string;
|
|
1078
|
+
characteristicGuid?: string | undefined;
|
|
1079
|
+
price: number;
|
|
1080
|
+
oldPrice?: number | undefined;
|
|
1081
|
+
}
|
|
1082
|
+
|
|
1083
|
+
export interface UpsertPricesRequest {
|
|
1084
|
+
items: PriceSyncItem[];
|
|
1085
|
+
syncId: string;
|
|
1086
|
+
}
|
|
1087
|
+
|
|
1088
|
+
export interface PriceUpsertResult {
|
|
1089
|
+
guid: string;
|
|
1090
|
+
status: string;
|
|
1091
|
+
reason?: string | undefined;
|
|
1092
|
+
}
|
|
1093
|
+
|
|
1094
|
+
export interface UpsertPricesResponse {
|
|
1095
|
+
results: PriceUpsertResult[];
|
|
1096
|
+
}
|
|
1097
|
+
|
|
1098
|
+
export interface CharacteristicPropertyLink {
|
|
1099
|
+
propertyGuid: string;
|
|
1100
|
+
valueGuid: string;
|
|
1101
|
+
}
|
|
1102
|
+
|
|
1103
|
+
export interface CharacteristicSyncItem {
|
|
1104
|
+
characteristicGuid: string;
|
|
1105
|
+
name: { [key: string]: string };
|
|
1106
|
+
properties: CharacteristicPropertyLink[];
|
|
1107
|
+
}
|
|
1108
|
+
|
|
1109
|
+
export interface CharacteristicSyncItem_NameEntry {
|
|
1110
|
+
key: string;
|
|
1111
|
+
value: string;
|
|
1112
|
+
}
|
|
1113
|
+
|
|
1114
|
+
export interface UpsertCharacteristicsRequest {
|
|
1115
|
+
items: CharacteristicSyncItem[];
|
|
1116
|
+
syncId: string;
|
|
1117
|
+
}
|
|
1118
|
+
|
|
1119
|
+
export interface CharacteristicUpsertResult {
|
|
1120
|
+
guid: string;
|
|
1121
|
+
status: string;
|
|
1122
|
+
reason?: string | undefined;
|
|
1123
|
+
id?: string | undefined;
|
|
1124
|
+
}
|
|
1125
|
+
|
|
1126
|
+
export interface UpsertCharacteristicsResponse {
|
|
1127
|
+
results: CharacteristicUpsertResult[];
|
|
1128
|
+
}
|
|
1129
|
+
|
|
1130
|
+
export interface StockSyncItem {
|
|
1131
|
+
productGuid: string;
|
|
1132
|
+
characteristicGuid?: string | undefined;
|
|
1133
|
+
warehouseGuid: string;
|
|
1134
|
+
quantity: number;
|
|
1135
|
+
}
|
|
1136
|
+
|
|
1137
|
+
export interface UpsertStocksRequest {
|
|
1138
|
+
items: StockSyncItem[];
|
|
1139
|
+
syncId: string;
|
|
1140
|
+
}
|
|
1141
|
+
|
|
1142
|
+
export interface StockUpsertResult {
|
|
1143
|
+
guid: string;
|
|
1144
|
+
status: string;
|
|
1145
|
+
reason?: string | undefined;
|
|
1146
|
+
}
|
|
1147
|
+
|
|
1148
|
+
export interface UpsertStocksResponse {
|
|
1149
|
+
results: StockUpsertResult[];
|
|
1150
|
+
}
|
|
1151
|
+
|
|
1056
1152
|
export const CATALOG_V1_PACKAGE_NAME = "catalog.v1";
|
|
1057
1153
|
|
|
1058
1154
|
export interface ProductServiceClient {
|
|
@@ -1068,6 +1164,14 @@ export interface ProductServiceClient {
|
|
|
1068
1164
|
|
|
1069
1165
|
setManualRating(request: SetManualRatingRequest): Observable<SuccessResponse>;
|
|
1070
1166
|
|
|
1167
|
+
upsertProducts(request: UpsertProductsRequest): Observable<UpsertProductsResponse>;
|
|
1168
|
+
|
|
1169
|
+
upsertPrices(request: UpsertPricesRequest): Observable<UpsertPricesResponse>;
|
|
1170
|
+
|
|
1171
|
+
upsertCharacteristics(request: UpsertCharacteristicsRequest): Observable<UpsertCharacteristicsResponse>;
|
|
1172
|
+
|
|
1173
|
+
upsertStocks(request: UpsertStocksRequest): Observable<UpsertStocksResponse>;
|
|
1174
|
+
|
|
1071
1175
|
bulkUpdateStatus(request: BulkUpdateStatusRequest): Observable<SuccessResponse>;
|
|
1072
1176
|
|
|
1073
1177
|
bulkUpdateCategory(request: BulkUpdateCategoryRequest): Observable<SuccessResponse>;
|
|
@@ -1134,8 +1238,6 @@ export interface ProductServiceClient {
|
|
|
1134
1238
|
|
|
1135
1239
|
getVariantSizeCharts(request: GetVariantSizeChartsRequest): Observable<GetProductSizeChartsResponse>;
|
|
1136
1240
|
|
|
1137
|
-
/** ─── Product colors (нова ієрархія: Product → Color → Variant) ────────────── */
|
|
1138
|
-
|
|
1139
1241
|
createProductColor(request: CreateProductColorRequest): Observable<ProductColorResponse>;
|
|
1140
1242
|
|
|
1141
1243
|
updateProductColor(request: UpdateProductColorRequest): Observable<ProductColorResponse>;
|
|
@@ -1170,6 +1272,22 @@ export interface ProductServiceController {
|
|
|
1170
1272
|
request: SetManualRatingRequest,
|
|
1171
1273
|
): Promise<SuccessResponse> | Observable<SuccessResponse> | SuccessResponse;
|
|
1172
1274
|
|
|
1275
|
+
upsertProducts(
|
|
1276
|
+
request: UpsertProductsRequest,
|
|
1277
|
+
): Promise<UpsertProductsResponse> | Observable<UpsertProductsResponse> | UpsertProductsResponse;
|
|
1278
|
+
|
|
1279
|
+
upsertPrices(
|
|
1280
|
+
request: UpsertPricesRequest,
|
|
1281
|
+
): Promise<UpsertPricesResponse> | Observable<UpsertPricesResponse> | UpsertPricesResponse;
|
|
1282
|
+
|
|
1283
|
+
upsertCharacteristics(
|
|
1284
|
+
request: UpsertCharacteristicsRequest,
|
|
1285
|
+
): Promise<UpsertCharacteristicsResponse> | Observable<UpsertCharacteristicsResponse> | UpsertCharacteristicsResponse;
|
|
1286
|
+
|
|
1287
|
+
upsertStocks(
|
|
1288
|
+
request: UpsertStocksRequest,
|
|
1289
|
+
): Promise<UpsertStocksResponse> | Observable<UpsertStocksResponse> | UpsertStocksResponse;
|
|
1290
|
+
|
|
1173
1291
|
bulkUpdateStatus(
|
|
1174
1292
|
request: BulkUpdateStatusRequest,
|
|
1175
1293
|
): Promise<SuccessResponse> | Observable<SuccessResponse> | SuccessResponse;
|
|
@@ -1302,8 +1420,6 @@ export interface ProductServiceController {
|
|
|
1302
1420
|
request: GetVariantSizeChartsRequest,
|
|
1303
1421
|
): Promise<GetProductSizeChartsResponse> | Observable<GetProductSizeChartsResponse> | GetProductSizeChartsResponse;
|
|
1304
1422
|
|
|
1305
|
-
/** ─── Product colors (нова ієрархія: Product → Color → Variant) ────────────── */
|
|
1306
|
-
|
|
1307
1423
|
createProductColor(
|
|
1308
1424
|
request: CreateProductColorRequest,
|
|
1309
1425
|
): Promise<ProductColorResponse> | Observable<ProductColorResponse> | ProductColorResponse;
|
|
@@ -1334,6 +1450,10 @@ export function ProductServiceControllerMethods() {
|
|
|
1334
1450
|
"updateProduct",
|
|
1335
1451
|
"deleteProduct",
|
|
1336
1452
|
"setManualRating",
|
|
1453
|
+
"upsertProducts",
|
|
1454
|
+
"upsertPrices",
|
|
1455
|
+
"upsertCharacteristics",
|
|
1456
|
+
"upsertStocks",
|
|
1337
1457
|
"bulkUpdateStatus",
|
|
1338
1458
|
"bulkUpdateCategory",
|
|
1339
1459
|
"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;
|