@floristcloud/api-lib 1.2.143 → 1.2.144
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/build/commands/product/webshop/get-product-list-for-client.query.js +6 -0
- package/build/enum/index.js +1 -0
- package/build/enum/product-client-sort-by.enum.js +17 -0
- package/commands/product/webshop/get-product-list-for-client.query.ts +7 -1
- package/enum/index.ts +1 -0
- package/enum/product-client-sort-by.enum.ts +13 -0
- package/package.json +1 -1
|
@@ -20,6 +20,12 @@ const GetProductListForClientRequestSchema = zod_1.z.object({
|
|
|
20
20
|
typeUUID: zod_1.z.string().optional(),
|
|
21
21
|
searchQuery: zod_1.z.string().optional(),
|
|
22
22
|
marks: zod_1.z.nativeEnum(enum_1.ProductMarkEnum).array().optional(),
|
|
23
|
+
// Без `sortBy` порядок остаётся прежним — по категории, названию и размеру. Сортировка по цене
|
|
24
|
+
// идёт по базовому прайсу, скидки клиента её не двигают: см. ProductClientSortByEnum.
|
|
25
|
+
sortBy: zod_1.z.nativeEnum(enum_1.ProductClientSortByEnum).optional(),
|
|
26
|
+
// Без `.default()`: он уезжает в `_output`, а значит и в опубликованный `Request`, делая поле
|
|
27
|
+
// обязательным для клиентов. Отсутствующее направление билдер и так читает как ASC.
|
|
28
|
+
sortOrder: zod_1.z.nativeEnum(enum_1.OrderByEnum).optional(),
|
|
23
29
|
});
|
|
24
30
|
const GetProductListForClientResponseSchema = zod_1.z.object({
|
|
25
31
|
message: zod_1.z.string().optional(),
|
package/build/enum/index.js
CHANGED
|
@@ -65,6 +65,7 @@ __exportStar(require("./position-report-type.enum"), exports);
|
|
|
65
65
|
__exportStar(require("./discount-price-routing.enum"), exports);
|
|
66
66
|
__exportStar(require("./sales-unit.enum"), exports);
|
|
67
67
|
__exportStar(require("./product-mark.enum"), exports);
|
|
68
|
+
__exportStar(require("./product-client-sort-by.enum"), exports);
|
|
68
69
|
__exportStar(require("./sales-by-position-group-by.enum"), exports);
|
|
69
70
|
__exportStar(require("./client-import-entity-property.enum"), exports);
|
|
70
71
|
__exportStar(require("./client-import-errors.enum"), exports);
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ProductClientSortByEnum = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Поле сортировки списка товаров витрины. Значение совпадает с именем поля ответа, чтобы клиент
|
|
6
|
+
* сортировал «по тому, что видит».
|
|
7
|
+
*
|
|
8
|
+
* `PRICE` — это базовый прайс товара, без скидок клиента. Порядок задаётся в SQL до пагинации, а
|
|
9
|
+
* скидки накладываются уже на выбранную страницу, поэтому сортировать по цене со скидкой значило бы
|
|
10
|
+
* либо считать её для всей выборки в памяти, либо продублировать цепочку правил в SQL. У клиента со
|
|
11
|
+
* сквозным процентом порядок от этого не меняется; расходится он там, где действует правило от
|
|
12
|
+
* себестоимости (COST_PLUS_MARKUP) или точечный ITEM_DISCOUNT.
|
|
13
|
+
*/
|
|
14
|
+
var ProductClientSortByEnum;
|
|
15
|
+
(function (ProductClientSortByEnum) {
|
|
16
|
+
ProductClientSortByEnum["PRICE"] = "price";
|
|
17
|
+
})(ProductClientSortByEnum || (exports.ProductClientSortByEnum = ProductClientSortByEnum = {}));
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { ProductMarkEnum } from '../../../enum';
|
|
2
|
+
import { OrderByEnum, ProductClientSortByEnum, ProductMarkEnum } from '../../../enum';
|
|
3
3
|
import { ProductListExtendedForClientSchema } from '../../../schemas';
|
|
4
4
|
|
|
5
5
|
const GetProductListForClientRequestSchema = z.object({
|
|
@@ -18,6 +18,12 @@ const GetProductListForClientRequestSchema = z.object({
|
|
|
18
18
|
typeUUID: z.string().optional(),
|
|
19
19
|
searchQuery: z.string().optional(),
|
|
20
20
|
marks: z.nativeEnum(ProductMarkEnum).array().optional(),
|
|
21
|
+
// Без `sortBy` порядок остаётся прежним — по категории, названию и размеру. Сортировка по цене
|
|
22
|
+
// идёт по базовому прайсу, скидки клиента её не двигают: см. ProductClientSortByEnum.
|
|
23
|
+
sortBy: z.nativeEnum(ProductClientSortByEnum).optional(),
|
|
24
|
+
// Без `.default()`: он уезжает в `_output`, а значит и в опубликованный `Request`, делая поле
|
|
25
|
+
// обязательным для клиентов. Отсутствующее направление билдер и так читает как ASC.
|
|
26
|
+
sortOrder: z.nativeEnum(OrderByEnum).optional(),
|
|
21
27
|
});
|
|
22
28
|
|
|
23
29
|
const GetProductListForClientResponseSchema = z.object({
|
package/enum/index.ts
CHANGED
|
@@ -49,6 +49,7 @@ export * from './position-report-type.enum';
|
|
|
49
49
|
export * from './discount-price-routing.enum';
|
|
50
50
|
export * from './sales-unit.enum';
|
|
51
51
|
export * from './product-mark.enum';
|
|
52
|
+
export * from './product-client-sort-by.enum';
|
|
52
53
|
export * from './sales-by-position-group-by.enum';
|
|
53
54
|
export * from './client-import-entity-property.enum';
|
|
54
55
|
export * from './client-import-errors.enum';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Поле сортировки списка товаров витрины. Значение совпадает с именем поля ответа, чтобы клиент
|
|
3
|
+
* сортировал «по тому, что видит».
|
|
4
|
+
*
|
|
5
|
+
* `PRICE` — это базовый прайс товара, без скидок клиента. Порядок задаётся в SQL до пагинации, а
|
|
6
|
+
* скидки накладываются уже на выбранную страницу, поэтому сортировать по цене со скидкой значило бы
|
|
7
|
+
* либо считать её для всей выборки в памяти, либо продублировать цепочку правил в SQL. У клиента со
|
|
8
|
+
* сквозным процентом порядок от этого не меняется; расходится он там, где действует правило от
|
|
9
|
+
* себестоимости (COST_PLUS_MARKUP) или точечный ITEM_DISCOUNT.
|
|
10
|
+
*/
|
|
11
|
+
export enum ProductClientSortByEnum {
|
|
12
|
+
PRICE = 'price',
|
|
13
|
+
}
|