@floristcloud/api-lib 1.2.133 → 1.2.135
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/attribute-normalization/analyze-attribute-normalization.query.js +19 -0
- package/build/commands/attribute-normalization/execute-attribute-normalization.command.js +28 -0
- package/build/commands/attribute-normalization/get-grower-suggestions.query.js +26 -0
- package/build/commands/attribute-normalization/index.js +9 -0
- package/build/commands/index.js +1 -0
- package/build/commands/pre-order-collection-item/get-pre-order-collection-item-extended-with-clients-pre-order-product-list.query.js +17 -2
- package/build/commands/product-image/analyze-product-image-merge.query.js +22 -0
- package/build/commands/product-image/execute-product-image-merge.command.js +25 -0
- package/build/commands/product-image/index.js +5 -0
- package/build/constant/attribute-normalization.constant.js +12 -0
- package/build/constant/error.js +50 -0
- package/build/constant/index.js +2 -0
- package/build/constant/product-image-merge.constant.js +11 -0
- package/build/enum/action-log-type.enum.js +2 -0
- package/build/enum/index.js +5 -0
- package/build/enum/normalization-decision-action.enum.js +13 -0
- package/build/enum/normalization-target.enum.js +12 -0
- package/build/enum/normalization-value-state.enum.js +13 -0
- package/build/enum/normalized-attribute.enum.js +10 -0
- package/build/enum/product-image-duplicate-mode.enum.js +11 -0
- package/build/helpers/pagination.helper.js +10 -1
- package/build/schemas/action-log/action-log-payload.schema.js +4 -0
- package/build/schemas/action-log/merge-product-images-action-log.schema.js +11 -0
- package/build/schemas/action-log/normalize-attributes-action-log.schema.js +21 -0
- package/build/schemas/attribute-normalization/attribute-normalization-scope.schema.js +32 -0
- package/build/schemas/attribute-normalization/normalization-decision.schema.js +20 -0
- package/build/schemas/attribute-normalization/normalization-row-count.schema.js +8 -0
- package/build/schemas/attribute-normalization/normalization-summary.schema.js +30 -0
- package/build/schemas/attribute-normalization/normalization-value.schema.js +19 -0
- package/build/schemas/attribute-normalization/product-image-duplicate-forecast.schema.js +15 -0
- package/build/schemas/index.js +8 -0
- package/build/schemas/pre-order-collection-item/pre-order-collection-item.schema.js +13 -2
- package/build/schemas/product-image/product-image-merge-candidate.schema.js +22 -0
- package/build/schemas/product-image/product-image-merge-group.schema.js +11 -0
- package/commands/attribute-normalization/analyze-attribute-normalization.query.ts +24 -0
- package/commands/attribute-normalization/execute-attribute-normalization.command.ts +32 -0
- package/commands/attribute-normalization/get-grower-suggestions.query.ts +28 -0
- package/commands/attribute-normalization/index.ts +3 -0
- package/commands/index.ts +1 -0
- package/commands/pre-order-collection-item/get-pre-order-collection-item-extended-with-clients-pre-order-product-list.query.ts +24 -9
- package/commands/product-image/analyze-product-image-merge.query.ts +28 -0
- package/commands/product-image/execute-product-image-merge.command.ts +27 -0
- package/commands/product-image/index.ts +2 -0
- package/constant/attribute-normalization.constant.ts +9 -0
- package/constant/error.ts +50 -0
- package/constant/index.ts +2 -0
- package/constant/product-image-merge.constant.ts +8 -0
- package/enum/action-log-type.enum.ts +2 -0
- package/enum/index.ts +5 -0
- package/enum/normalization-decision-action.enum.ts +9 -0
- package/enum/normalization-target.enum.ts +8 -0
- package/enum/normalization-value-state.enum.ts +9 -0
- package/enum/normalized-attribute.enum.ts +6 -0
- package/enum/product-image-duplicate-mode.enum.ts +7 -0
- package/helpers/pagination.helper.ts +10 -0
- package/package.json +1 -1
- package/schemas/action-log/action-log-payload.schema.ts +4 -0
- package/schemas/action-log/merge-product-images-action-log.schema.ts +9 -0
- package/schemas/action-log/normalize-attributes-action-log.schema.ts +21 -0
- package/schemas/attribute-normalization/attribute-normalization-scope.schema.ts +31 -0
- package/schemas/attribute-normalization/normalization-decision.schema.ts +18 -0
- package/schemas/attribute-normalization/normalization-row-count.schema.ts +6 -0
- package/schemas/attribute-normalization/normalization-summary.schema.ts +28 -0
- package/schemas/attribute-normalization/normalization-value.schema.ts +17 -0
- package/schemas/attribute-normalization/product-image-duplicate-forecast.schema.ts +13 -0
- package/schemas/index.ts +8 -0
- package/schemas/pre-order-collection-item/pre-order-collection-item.schema.ts +14 -1
- package/schemas/product-image/product-image-merge-candidate.schema.ts +20 -0
- package/schemas/product-image/product-image-merge-group.schema.ts +9 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
|
|
3
|
+
// Прогноз по дублям карточек номенклатуры после прогона. Уникального ключа по идентичности
|
|
4
|
+
// у карточек нет, поэтому прогон может сделать две карточки неразличимыми, и резолвер начнёт
|
|
5
|
+
// выбирать между ними произвольно. Апдейт при этом не упадёт — предупредить можно только заранее.
|
|
6
|
+
export const ProductImageDuplicateForecastSchema = z.object({
|
|
7
|
+
// false — посчитать не удалось (карточек больше предела). Это НЕ то же самое,
|
|
8
|
+
// что «дублей не будет»: при false числа ниже не значат ничего.
|
|
9
|
+
isCounted: z.boolean(),
|
|
10
|
+
total: z.number(),
|
|
11
|
+
// Из них те, что сегодня ещё различимы: именно их создаст этот прогон.
|
|
12
|
+
new: z.number(),
|
|
13
|
+
});
|
package/schemas/index.ts
CHANGED
|
@@ -84,3 +84,11 @@ export * from './positive-money.schema';
|
|
|
84
84
|
export * from './report/report-order-filter.schema';
|
|
85
85
|
export * from './transfer-document/transfer-document.schema';
|
|
86
86
|
export * from './transfer-document/transfer-document-detailed.schema';
|
|
87
|
+
export * from './attribute-normalization/attribute-normalization-scope.schema';
|
|
88
|
+
export * from './product-image/product-image-merge-candidate.schema';
|
|
89
|
+
export * from './product-image/product-image-merge-group.schema';
|
|
90
|
+
export * from './attribute-normalization/normalization-row-count.schema';
|
|
91
|
+
export * from './attribute-normalization/normalization-value.schema';
|
|
92
|
+
export * from './attribute-normalization/normalization-summary.schema';
|
|
93
|
+
export * from './attribute-normalization/normalization-decision.schema';
|
|
94
|
+
export * from './attribute-normalization/product-image-duplicate-forecast.schema';
|
|
@@ -4,6 +4,7 @@ import { CategorySchema } from '../category/category.schema';
|
|
|
4
4
|
import { ProductImageSchema } from '../product-image/product-image.schema';
|
|
5
5
|
import { ClientSchema } from '../client';
|
|
6
6
|
import { PreOrderProductSchema } from '../pre-order-product/pre-order-product.schema';
|
|
7
|
+
import { PreOrderSchema } from '../pre-order/pre-order.schema';
|
|
7
8
|
import { SalesUnitEnum } from '../../enum';
|
|
8
9
|
import { PreOrderCollectionItemMultiplicityOptionSchema } from './pre-order-collection-item-multiplicity-option.schema';
|
|
9
10
|
import { MoneySchema } from '../money.schema';
|
|
@@ -115,8 +116,20 @@ export const PreOrderCollectionItemExtendedSchema = PreOrderCollectionItemSchema
|
|
|
115
116
|
preOrderedQuantity: z.number().optional(),
|
|
116
117
|
});
|
|
117
118
|
|
|
119
|
+
// Метаданные предзаказа для колонок «№ / дата / статус» в списке «кто предзаказал позицию».
|
|
120
|
+
export const PreOrderCollectionItemClientPreOrderProductSchema = z.object({
|
|
121
|
+
client: ClientSchema,
|
|
122
|
+
preOrderProduct: PreOrderProductSchema,
|
|
123
|
+
preOrder: PreOrderSchema.pick({ uuid: true, preOrderNum: true, status: true, createdAt: true }),
|
|
124
|
+
});
|
|
125
|
+
|
|
118
126
|
export const PreOrderCollectionItemExtendedWithClientsPreOrderProductSchema = PreOrderCollectionItemExtendedSchema.extend({
|
|
119
|
-
clientsWithPreOrderProduct: z.array(
|
|
127
|
+
clientsWithPreOrderProduct: z.array(PreOrderCollectionItemClientPreOrderProductSchema),
|
|
128
|
+
});
|
|
129
|
+
|
|
130
|
+
export const PreOrderCollectionItemExtendedWithClientsPreOrderProductListSchema = z.object({
|
|
131
|
+
list: z.array(PreOrderCollectionItemExtendedWithClientsPreOrderProductSchema),
|
|
132
|
+
total: z.number(),
|
|
120
133
|
});
|
|
121
134
|
|
|
122
135
|
export const PreOrderCollectionItemExtendedListSchema = z.object({
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
|
|
3
|
+
// Карточка — участник группы дублей, с числом ссылок на неё.
|
|
4
|
+
export const ProductImageMergeCandidateSchema = z.object({
|
|
5
|
+
uuid: z.string(),
|
|
6
|
+
name: z.string(),
|
|
7
|
+
// Ключ файла в хранилище: без него нечем показать превью фото группы, а основную
|
|
8
|
+
// карточку админ выбирает в том числе по картинке.
|
|
9
|
+
productImageUrl: z.string(),
|
|
10
|
+
categoryUUID: z.string().nullable(),
|
|
11
|
+
grower: z.string().nullable(),
|
|
12
|
+
country: z.string().nullable(),
|
|
13
|
+
color: z.string().nullable(),
|
|
14
|
+
productCount: z.number(),
|
|
15
|
+
preOrderCollectionItemCount: z.number(),
|
|
16
|
+
aliasCount: z.number(),
|
|
17
|
+
// Карточка, которую операция предлагает оставить: больше всего ссылок, при равенстве —
|
|
18
|
+
// меньший uuid, чтобы повторный анализ давал тот же ответ.
|
|
19
|
+
isPrimary: z.boolean(),
|
|
20
|
+
});
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { ProductImageMergeCandidateSchema } from './product-image-merge-candidate.schema';
|
|
3
|
+
|
|
4
|
+
// Группа карточек, неразличимых по идентичности.
|
|
5
|
+
export const ProductImageMergeGroupSchema = z.object({
|
|
6
|
+
// Ключ группы — нормализованная идентичность, по которой карточки признаны одинаковыми.
|
|
7
|
+
key: z.string(),
|
|
8
|
+
candidates: z.array(ProductImageMergeCandidateSchema),
|
|
9
|
+
});
|