@floristcloud/api-lib 1.2.180 → 1.2.182
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/consignment/execute-consignment-product-update.command.js +4 -54
- package/build/commands/consignment/import-consignment.command.js +4 -33
- package/build/commands/consignment/import-packing-consignment.command.js +4 -20
- package/build/commands/index.js +1 -0
- package/build/commands/integration/moysklad/execute-moysklad-import.command.js +4 -40
- package/build/commands/integration/moysklad/scan-moysklad-clients-import.query.js +2 -1
- package/build/commands/integration/moysklad/scan-moysklad-import.query.js +2 -59
- package/build/commands/integration/one-c/index.js +1 -0
- package/build/commands/integration/one-c/update-one-c-settings.command.js +10 -0
- package/build/commands/measure-unit/archive-measure-unit.command.js +8 -0
- package/build/commands/measure-unit/create-measure-unit.command.js +10 -0
- package/build/commands/measure-unit/get-measure-unit-by-uuid.query.js +8 -0
- package/build/commands/measure-unit/get-measure-unit-list.query.js +10 -0
- package/build/commands/measure-unit/index.js +24 -0
- package/build/commands/measure-unit/reorder-measure-units.command.js +10 -0
- package/build/commands/measure-unit/set-default-measure-unit.command.js +8 -0
- package/build/commands/measure-unit/unarchive-measure-unit.command.js +8 -0
- package/build/commands/measure-unit/update-measure-unit.command.js +10 -0
- package/build/commands/order/group/order-vat-transition-analyze.command.js +10 -0
- package/build/commands/order/group/order-vat-transition-execute.command.js +10 -0
- package/build/commands/order/index.js +2 -0
- package/build/commands/pre-order/import-standing-order.command.js +2 -18
- package/build/commands/pre-order-collection-item/import-pre-order-collection-item.command.js +4 -32
- package/build/commands/pre-order-collection-item/update-group-pre-order-collection-item.command.js +4 -14
- package/build/commands/product/create-product.command.js +4 -39
- package/build/commands/product/group/update-group-product-update-batch.command.js +4 -41
- package/build/commands/product/update-product.command.js +4 -39
- package/build/commands/report/get-daily-orders-summary.query.js +4 -62
- package/build/constant/error.js +40 -3
- package/build/constant/index.js +1 -0
- package/build/constant/measure-unit-limits.js +4 -0
- package/build/enum/external-entity-type.enum.js +1 -0
- package/build/enum/index.js +2 -0
- package/build/enum/measure-unit-match-source.enum.js +10 -0
- package/build/enum/moysklad-import-item-status.enum.js +10 -0
- package/build/enum/order-updated-field.enum.js +2 -0
- package/build/schemas/consignment/consignment-product-multiplicity-option-update.schema.js +13 -0
- package/build/schemas/consignment/consignment-product-position-update.schema.js +38 -0
- package/build/schemas/consignment/execute-consignment-product-update-request.schema.js +8 -0
- package/build/schemas/consignment/execute-consignment-product-update-response-data-errors.schema.js +8 -0
- package/build/schemas/consignment/execute-consignment-product-update-response-data.schema.js +13 -0
- package/build/schemas/consignment/execute-consignment-product-update-response.schema.js +8 -0
- package/build/schemas/consignment/import-consignment-request-constant-data.schema.js +10 -0
- package/build/schemas/consignment/import-consignment-request.schema.js +17 -0
- package/build/schemas/consignment/import-consignment-response-data-warnings.schema.js +10 -0
- package/build/schemas/consignment/import-consignment-response-data.schema.js +12 -0
- package/build/schemas/consignment/import-consignment-response.schema.js +9 -0
- package/build/schemas/consignment/import-packing-consignment-request.schema.js +9 -0
- package/build/schemas/consignment/import-packing-consignment-response-data-warnings.schema.js +11 -0
- package/build/schemas/consignment/import-packing-consignment-response-data.schema.js +12 -0
- package/build/schemas/consignment/import-packing-consignment-response.schema.js +9 -0
- package/build/schemas/consignment/index.js +31 -0
- package/build/schemas/index.js +8 -0
- package/build/schemas/integration/moysklad/execute-moysklad-import-request.schema.js +17 -0
- package/build/schemas/integration/moysklad/execute-moysklad-import-response-data.schema.js +13 -0
- package/build/schemas/integration/moysklad/execute-moysklad-import-response.schema.js +9 -0
- package/build/schemas/integration/moysklad/index.js +16 -0
- package/build/schemas/integration/moysklad/moysklad-category-match.schema.js +9 -0
- package/build/schemas/integration/moysklad/moysklad-executable-item.schema.js +30 -0
- package/build/schemas/integration/moysklad/moysklad-measure-unit-alias-added.schema.js +8 -0
- package/build/schemas/integration/moysklad/moysklad-measure-unit-create-mapping.schema.js +9 -0
- package/build/schemas/integration/moysklad/moysklad-measure-unit-dictionary-item.schema.js +9 -0
- package/build/schemas/integration/moysklad/moysklad-measure-unit-link-mapping.schema.js +9 -0
- package/build/schemas/integration/moysklad/moysklad-measure-unit-mapping.schema.js +10 -0
- package/build/schemas/integration/moysklad/moysklad-scanned-item.schema.js +34 -0
- package/build/schemas/integration/moysklad/moysklad-scanned-measure-unit.schema.js +13 -0
- package/build/schemas/integration/moysklad/scan-moysklad-import-response-data-categories.schema.js +8 -0
- package/build/schemas/integration/moysklad/scan-moysklad-import-response-data-summary.schema.js +13 -0
- package/build/schemas/integration/moysklad/scan-moysklad-import-response-data.schema.js +24 -0
- package/build/schemas/integration/moysklad/scan-moysklad-import-response.schema.js +9 -0
- package/build/schemas/integration/one-c/index.js +2 -0
- package/build/schemas/integration/one-c/one-c-status.schema.js +1 -0
- package/build/schemas/integration/one-c/update-one-c-settings-request.schema.js +5 -0
- package/build/schemas/integration/one-c/update-one-c-settings-response.schema.js +6 -0
- package/build/schemas/measure-unit/create-measure-unit-request.schema.js +19 -0
- package/build/schemas/measure-unit/get-measure-unit-list-request.schema.js +7 -0
- package/build/schemas/measure-unit/index.js +25 -0
- package/build/schemas/measure-unit/measure-unit-list-response.schema.js +6 -0
- package/build/schemas/measure-unit/measure-unit-response.schema.js +6 -0
- package/build/schemas/measure-unit/measure-unit-short.schema.js +10 -0
- package/build/schemas/measure-unit/measure-unit-text.schema.js +7 -0
- package/build/schemas/measure-unit/measure-unit.schema.js +16 -0
- package/build/schemas/measure-unit/reorder-measure-units-request.schema.js +12 -0
- package/build/schemas/measure-unit/update-measure-unit-request.schema.js +5 -0
- package/build/schemas/order/index.js +9 -0
- package/build/schemas/order/order-vat-transition-analyze-item.schema.js +25 -0
- package/build/schemas/order/order-vat-transition-analyze-response.schema.js +9 -0
- package/build/schemas/order/order-vat-transition-analyze-result.schema.js +13 -0
- package/build/schemas/order/order-vat-transition-analyze-summary.schema.js +15 -0
- package/build/schemas/order/order-vat-transition-execute-failure.schema.js +10 -0
- package/build/schemas/order/order-vat-transition-execute-request.schema.js +12 -0
- package/build/schemas/order/order-vat-transition-execute-response.schema.js +9 -0
- package/build/schemas/order/order-vat-transition-execute-result.schema.js +16 -0
- package/build/schemas/order/order-vat-transition-request.schema.js +14 -0
- package/build/schemas/pre-order/import-standing-order-response-data.schema.js +12 -0
- package/build/schemas/pre-order/import-standing-order-response.schema.js +9 -0
- package/build/schemas/pre-order/index.js +3 -0
- package/build/schemas/pre-order/standing-order-import-row-error.schema.js +12 -0
- package/build/schemas/pre-order-collection-item/create-pre-order-collection-item.schema.js +2 -1
- package/build/schemas/pre-order-collection-item/import-pre-order-collection-item-request.schema.js +5 -0
- package/build/schemas/pre-order-collection-item/import-pre-order-collection-item-response-data.schema.js +16 -0
- package/build/schemas/pre-order-collection-item/import-pre-order-collection-item-response.schema.js +9 -0
- package/build/schemas/pre-order-collection-item/index.js +11 -0
- package/build/schemas/pre-order-collection-item/pre-order-collection-item-base.schema.js +3 -0
- package/build/schemas/pre-order-collection-item/pre-order-collection-item-for-client.schema.js +3 -0
- package/build/schemas/pre-order-collection-item/pre-order-collection-item-import-created-row.schema.js +8 -0
- package/build/schemas/pre-order-collection-item/pre-order-collection-item-import-global-error.schema.js +8 -0
- package/build/schemas/pre-order-collection-item/pre-order-collection-item-import-issue-params.schema.js +5 -0
- package/build/schemas/pre-order-collection-item/pre-order-collection-item-import-issue.schema.js +12 -0
- package/build/schemas/pre-order-collection-item/pre-order-collection-item-import-row-error.schema.js +9 -0
- package/build/schemas/pre-order-collection-item/pre-order-collection-item-position-update.schema.js +2 -0
- package/build/schemas/pre-order-collection-item/pre-order-collection-item-update-batch-response-data.schema.js +2 -0
- package/build/schemas/pre-order-collection-item/update-group-pre-order-collection-item-request.schema.js +9 -0
- package/build/schemas/pre-order-collection-item/update-group-pre-order-collection-item-response-data.schema.js +7 -0
- package/build/schemas/pre-order-collection-item/update-group-pre-order-collection-item-response.schema.js +9 -0
- package/build/schemas/pre-order-collection-item/update-pre-order-collection-item.schema.js +2 -1
- package/build/schemas/product/create-product-request.schema.js +36 -0
- package/build/schemas/product/create-product-response.schema.js +9 -0
- package/build/schemas/product/group/index.js +21 -0
- package/build/schemas/product/group/update-group-product-update-batch-request-data.schema.js +24 -0
- package/build/schemas/product/group/update-group-product-update-batch-request.schema.js +9 -0
- package/build/schemas/product/group/update-group-product-update-batch-response-data-errors.schema.js +8 -0
- package/build/schemas/product/group/update-group-product-update-batch-response-data.schema.js +11 -0
- package/build/schemas/product/group/update-group-product-update-batch-response.schema.js +9 -0
- package/build/schemas/product/index.js +4 -0
- package/build/schemas/product/product-base.schema.js +3 -0
- package/build/schemas/product/product-for-client.schema.js +3 -0
- package/build/schemas/product/update-product-request.schema.js +36 -0
- package/build/schemas/product/update-product-response.schema.js +9 -0
- package/build/schemas/report/daily-orders-summary-by-day-item.schema.js +6 -0
- package/build/schemas/report/daily-orders-summary-by-responsible-item.schema.js +6 -0
- package/build/schemas/report/daily-orders-summary-legacy-units.schema.js +9 -0
- package/build/schemas/report/daily-orders-summary-metrics.schema.js +17 -0
- package/build/schemas/report/daily-orders-summary-totals.schema.js +6 -0
- package/build/schemas/report/get-daily-orders-summary-request.schema.js +39 -0
- package/build/schemas/report/get-daily-orders-summary-response-data.schema.js +12 -0
- package/build/schemas/report/get-daily-orders-summary-response.schema.js +8 -0
- package/build/schemas/report/index.js +24 -0
- package/build/schemas/report/measure-unit-quantity.schema.js +10 -0
- package/build/schemas/report/sales-by-client-row.schema.js +2 -0
- package/commands/consignment/execute-consignment-product-update.command.ts +5 -60
- package/commands/consignment/import-consignment.command.ts +3 -35
- package/commands/consignment/import-packing-consignment.command.ts +3 -22
- package/commands/index.ts +1 -0
- package/commands/integration/moysklad/execute-moysklad-import.command.ts +3 -42
- package/commands/integration/moysklad/scan-moysklad-clients-import.query.ts +2 -1
- package/commands/integration/moysklad/scan-moysklad-import.query.ts +2 -62
- package/commands/integration/one-c/index.ts +2 -0
- package/commands/integration/one-c/update-one-c-settings.command.ts +10 -0
- package/commands/measure-unit/archive-measure-unit.command.ts +7 -0
- package/commands/measure-unit/create-measure-unit.command.ts +10 -0
- package/commands/measure-unit/get-measure-unit-by-uuid.query.ts +7 -0
- package/commands/measure-unit/get-measure-unit-list.query.ts +10 -0
- package/commands/measure-unit/index.ts +8 -0
- package/commands/measure-unit/reorder-measure-units.command.ts +10 -0
- package/commands/measure-unit/set-default-measure-unit.command.ts +7 -0
- package/commands/measure-unit/unarchive-measure-unit.command.ts +7 -0
- package/commands/measure-unit/update-measure-unit.command.ts +10 -0
- package/commands/order/group/order-vat-transition-analyze.command.ts +11 -0
- package/commands/order/group/order-vat-transition-execute.command.ts +11 -0
- package/commands/order/index.ts +2 -0
- package/commands/pre-order/import-standing-order.command.ts +2 -19
- package/commands/pre-order-collection-item/import-pre-order-collection-item.command.ts +3 -40
- package/commands/pre-order-collection-item/update-group-pre-order-collection-item.command.ts +3 -14
- package/commands/product/create-product.command.ts +3 -40
- package/commands/product/group/update-group-product-update-batch.command.ts +3 -43
- package/commands/product/update-product.command.ts +3 -40
- package/commands/report/get-daily-orders-summary.query.ts +3 -74
- package/constant/error.ts +41 -3
- package/constant/index.ts +1 -0
- package/constant/measure-unit-limits.ts +1 -0
- package/enum/external-entity-type.enum.ts +1 -0
- package/enum/index.ts +2 -0
- package/enum/measure-unit-match-source.enum.ts +6 -0
- package/enum/moysklad-import-item-status.enum.ts +6 -0
- package/enum/order-updated-field.enum.ts +2 -0
- package/package.json +1 -1
- package/schemas/consignment/consignment-product-multiplicity-option-update.schema.ts +11 -0
- package/schemas/consignment/consignment-product-position-update.schema.ts +36 -0
- package/schemas/consignment/execute-consignment-product-update-request.schema.ts +6 -0
- package/schemas/consignment/execute-consignment-product-update-response-data-errors.schema.ts +6 -0
- package/schemas/consignment/execute-consignment-product-update-response-data.schema.ts +11 -0
- package/schemas/consignment/execute-consignment-product-update-response.schema.ts +6 -0
- package/schemas/consignment/import-consignment-request-constant-data.schema.ts +8 -0
- package/schemas/consignment/import-consignment-request.schema.ts +15 -0
- package/schemas/consignment/import-consignment-response-data-warnings.schema.ts +8 -0
- package/schemas/consignment/import-consignment-response-data.schema.ts +10 -0
- package/schemas/consignment/import-consignment-response.schema.ts +7 -0
- package/schemas/consignment/import-packing-consignment-request.schema.ts +7 -0
- package/schemas/consignment/import-packing-consignment-response-data-warnings.schema.ts +9 -0
- package/schemas/consignment/import-packing-consignment-response-data.schema.ts +10 -0
- package/schemas/consignment/import-packing-consignment-response.schema.ts +7 -0
- package/schemas/consignment/index.ts +16 -0
- package/schemas/index.ts +14 -0
- package/schemas/integration/moysklad/execute-moysklad-import-request.schema.ts +15 -0
- package/schemas/integration/moysklad/execute-moysklad-import-response-data.schema.ts +11 -0
- package/schemas/integration/moysklad/execute-moysklad-import-response.schema.ts +7 -0
- package/schemas/integration/moysklad/index.ts +18 -0
- package/schemas/integration/moysklad/moysklad-category-match.schema.ts +7 -0
- package/schemas/integration/moysklad/moysklad-executable-item.schema.ts +28 -0
- package/schemas/integration/moysklad/moysklad-measure-unit-alias-added.schema.ts +6 -0
- package/schemas/integration/moysklad/moysklad-measure-unit-create-mapping.schema.ts +7 -0
- package/schemas/integration/moysklad/moysklad-measure-unit-dictionary-item.schema.ts +7 -0
- package/schemas/integration/moysklad/moysklad-measure-unit-link-mapping.schema.ts +7 -0
- package/schemas/integration/moysklad/moysklad-measure-unit-mapping.schema.ts +8 -0
- package/schemas/integration/moysklad/moysklad-scanned-item.schema.ts +32 -0
- package/schemas/integration/moysklad/moysklad-scanned-measure-unit.schema.ts +11 -0
- package/schemas/integration/moysklad/scan-moysklad-import-response-data-categories.schema.ts +6 -0
- package/schemas/integration/moysklad/scan-moysklad-import-response-data-summary.schema.ts +11 -0
- package/schemas/integration/moysklad/scan-moysklad-import-response-data.schema.ts +22 -0
- package/schemas/integration/moysklad/scan-moysklad-import-response.schema.ts +7 -0
- package/schemas/integration/one-c/index.ts +2 -0
- package/schemas/integration/one-c/one-c-status.schema.ts +1 -0
- package/schemas/integration/one-c/update-one-c-settings-request.schema.ts +3 -0
- package/schemas/integration/one-c/update-one-c-settings-response.schema.ts +4 -0
- package/schemas/measure-unit/create-measure-unit-request.schema.ts +17 -0
- package/schemas/measure-unit/get-measure-unit-list-request.schema.ts +5 -0
- package/schemas/measure-unit/index.ts +9 -0
- package/schemas/measure-unit/measure-unit-list-response.schema.ts +4 -0
- package/schemas/measure-unit/measure-unit-response.schema.ts +4 -0
- package/schemas/measure-unit/measure-unit-short.schema.ts +8 -0
- package/schemas/measure-unit/measure-unit-text.schema.ts +8 -0
- package/schemas/measure-unit/measure-unit.schema.ts +14 -0
- package/schemas/measure-unit/reorder-measure-units-request.schema.ts +10 -0
- package/schemas/measure-unit/update-measure-unit-request.schema.ts +3 -0
- package/schemas/order/index.ts +10 -0
- package/schemas/order/order-vat-transition-analyze-item.schema.ts +23 -0
- package/schemas/order/order-vat-transition-analyze-response.schema.ts +7 -0
- package/schemas/order/order-vat-transition-analyze-result.schema.ts +11 -0
- package/schemas/order/order-vat-transition-analyze-summary.schema.ts +13 -0
- package/schemas/order/order-vat-transition-execute-failure.schema.ts +8 -0
- package/schemas/order/order-vat-transition-execute-request.schema.ts +10 -0
- package/schemas/order/order-vat-transition-execute-response.schema.ts +7 -0
- package/schemas/order/order-vat-transition-execute-result.schema.ts +14 -0
- package/schemas/order/order-vat-transition-request.schema.ts +12 -0
- package/schemas/pre-order/import-standing-order-response-data.schema.ts +10 -0
- package/schemas/pre-order/import-standing-order-response.schema.ts +7 -0
- package/schemas/pre-order/index.ts +4 -0
- package/schemas/pre-order/standing-order-import-row-error.schema.ts +10 -0
- package/schemas/pre-order-collection-item/create-pre-order-collection-item.schema.ts +2 -1
- package/schemas/pre-order-collection-item/import-pre-order-collection-item-request.schema.ts +3 -0
- package/schemas/pre-order-collection-item/import-pre-order-collection-item-response-data.schema.ts +14 -0
- package/schemas/pre-order-collection-item/import-pre-order-collection-item-response.schema.ts +7 -0
- package/schemas/pre-order-collection-item/index.ts +12 -0
- package/schemas/pre-order-collection-item/pre-order-collection-item-base.schema.ts +3 -0
- package/schemas/pre-order-collection-item/pre-order-collection-item-for-client.schema.ts +3 -0
- package/schemas/pre-order-collection-item/pre-order-collection-item-import-created-row.schema.ts +6 -0
- package/schemas/pre-order-collection-item/pre-order-collection-item-import-global-error.schema.ts +6 -0
- package/schemas/pre-order-collection-item/pre-order-collection-item-import-issue-params.schema.ts +6 -0
- package/schemas/pre-order-collection-item/pre-order-collection-item-import-issue.schema.ts +10 -0
- package/schemas/pre-order-collection-item/pre-order-collection-item-import-row-error.schema.ts +7 -0
- package/schemas/pre-order-collection-item/pre-order-collection-item-position-update.schema.ts +2 -0
- package/schemas/pre-order-collection-item/pre-order-collection-item-update-batch-response-data.schema.ts +2 -0
- package/schemas/pre-order-collection-item/update-group-pre-order-collection-item-request.schema.ts +7 -0
- package/schemas/pre-order-collection-item/update-group-pre-order-collection-item-response-data.schema.ts +5 -0
- package/schemas/pre-order-collection-item/update-group-pre-order-collection-item-response.schema.ts +7 -0
- package/schemas/pre-order-collection-item/update-pre-order-collection-item.schema.ts +2 -1
- package/schemas/product/create-product-request.schema.ts +35 -0
- package/schemas/product/create-product-response.schema.ts +7 -0
- package/schemas/product/group/index.ts +5 -0
- package/schemas/product/group/update-group-product-update-batch-request-data.schema.ts +22 -0
- package/schemas/product/group/update-group-product-update-batch-request.schema.ts +7 -0
- package/schemas/product/group/update-group-product-update-batch-response-data-errors.schema.ts +6 -0
- package/schemas/product/group/update-group-product-update-batch-response-data.schema.ts +9 -0
- package/schemas/product/group/update-group-product-update-batch-response.schema.ts +7 -0
- package/schemas/product/index.ts +5 -0
- package/schemas/product/product-base.schema.ts +3 -0
- package/schemas/product/product-for-client.schema.ts +3 -0
- package/schemas/product/update-product-request.schema.ts +35 -0
- package/schemas/product/update-product-response.schema.ts +7 -0
- package/schemas/report/daily-orders-summary-by-day-item.schema.ts +7 -0
- package/schemas/report/daily-orders-summary-by-responsible-item.schema.ts +8 -0
- package/schemas/report/daily-orders-summary-legacy-units.schema.ts +7 -0
- package/schemas/report/daily-orders-summary-metrics.schema.ts +15 -0
- package/schemas/report/daily-orders-summary-totals.schema.ts +4 -0
- package/schemas/report/get-daily-orders-summary-request.schema.ts +37 -0
- package/schemas/report/get-daily-orders-summary-response-data.schema.ts +10 -0
- package/schemas/report/get-daily-orders-summary-response.schema.ts +6 -0
- package/schemas/report/index.ts +8 -0
- package/schemas/report/measure-unit-quantity.schema.ts +8 -0
- package/schemas/report/sales-by-client-row.schema.ts +2 -0
|
@@ -1,43 +1,6 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { MoneySchema } from '../../schemas/money.schema';
|
|
5
|
-
|
|
6
|
-
const UpdateProductRequestSchema = z.object({
|
|
7
|
-
name: z.string(),
|
|
8
|
-
consignmentUUID: z.string(),
|
|
9
|
-
categoryUUID: z.string(),
|
|
10
|
-
balance: z.number(),
|
|
11
|
-
quantity: z.number(),
|
|
12
|
-
price: MoneySchema,
|
|
13
|
-
costPrice: MoneySchema,
|
|
14
|
-
multiplicity: z.number(),
|
|
15
|
-
isOpen: z.coerce.boolean(),
|
|
16
|
-
|
|
17
|
-
article: z.string().nullable(),
|
|
18
|
-
vbn: z.string().nullable(),
|
|
19
|
-
barcode: z.string().nullable(),
|
|
20
|
-
color: z.string().nullable(),
|
|
21
|
-
size: z.string().nullable(),
|
|
22
|
-
size2: z.string().nullable(),
|
|
23
|
-
size3: z.string().nullable(),
|
|
24
|
-
invoicePrice: MoneySchema.nullable(),
|
|
25
|
-
invoiceNumber: z.string().nullable(),
|
|
26
|
-
imageUUID: z.string().nullable(),
|
|
27
|
-
country: z.string().nullable(),
|
|
28
|
-
description: z.string().nullable(),
|
|
29
|
-
quality: z.string().nullable(),
|
|
30
|
-
grower: z.string().nullable(),
|
|
31
|
-
vat: z.number().nullable(),
|
|
32
|
-
multiplicityDescription: z.string().nullable(),
|
|
33
|
-
salesUnit: z.nativeEnum(SalesUnitEnum).optional().nullable(),
|
|
34
|
-
marks: z.array(z.nativeEnum(ProductMarkEnum)).optional(),
|
|
35
|
-
});
|
|
36
|
-
|
|
37
|
-
const UpdateProductResponseSchema = z.object({
|
|
38
|
-
message: z.string().optional(),
|
|
39
|
-
data: ProductExtendedForAdminSchema,
|
|
40
|
-
});
|
|
1
|
+
import type { z } from 'zod';
|
|
2
|
+
import { UpdateProductRequestSchema } from '../../schemas/product/update-product-request.schema';
|
|
3
|
+
import { UpdateProductResponseSchema } from '../../schemas/product/update-product-response.schema';
|
|
41
4
|
|
|
42
5
|
export namespace UpdateProductContractCommand {
|
|
43
6
|
export const RequestSchema = UpdateProductRequestSchema;
|
|
@@ -1,77 +1,6 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { dateRangeCheck, isStatementPeriodWithinLimit } from '../../helpers/date.helper';
|
|
5
|
-
import { MoneySchema } from '../../schemas/money.schema';
|
|
6
|
-
|
|
7
|
-
const GetDailyOrdersSummaryRequestSchema = z
|
|
8
|
-
.object({
|
|
9
|
-
startDate: z.coerce.date(),
|
|
10
|
-
endDate: z.coerce.date(),
|
|
11
|
-
// Ось периода — общая с отчётами продаж, чтобы сводка и отчёт за тот же период не разошлись
|
|
12
|
-
// в семантике. Дизъюнкции «любая из дат» здесь нет намеренно, см. ReportOrderDateBasisEnum.
|
|
13
|
-
//
|
|
14
|
-
// COMPLETED_AT сужает сводку до отгруженных заказов: даты отгрузки у остальных статусов
|
|
15
|
-
// просто нет. Поэтому на этой оси ordersCompleted равен ordersCreated, а фильтр по любому
|
|
16
|
-
// статусу кроме COMPLETED даёт нули — на фронте эти два фильтра совмещать не нужно.
|
|
17
|
-
dateBasis: z.nativeEnum(ReportOrderDateBasisEnum).default(ReportOrderDateBasisEnum.CREATED_AT),
|
|
18
|
-
// Необязательное сужение по статусу. Принимается и CSV (`?status=NEW,ACCEPTED`), и повтор
|
|
19
|
-
// параметра — как excludeClientUUID в ReportOrderFilterSchema.
|
|
20
|
-
//
|
|
21
|
-
// Служебные статусы здесь НЕ отсеиваются, хотя в сводку они и так не попадают: отсев на
|
|
22
|
-
// этом слое означал бы «фильтр пуст → фильтра нет», и `?status=TEMPLATE` вернул бы весь
|
|
23
|
-
// отчёт вместо нулей. Отбрасывает их билдер — там пустой результат остаётся пустым.
|
|
24
|
-
status: z
|
|
25
|
-
.union([z.string(), z.array(z.string())])
|
|
26
|
-
.transform(value => (Array.isArray(value) ? value : value.split(',')).map(item => item.trim()).filter(Boolean))
|
|
27
|
-
.pipe(z.array(z.nativeEnum(OrderStatusEnum)))
|
|
28
|
-
.optional(),
|
|
29
|
-
})
|
|
30
|
-
.refine(value => dateRangeCheck(value.startDate, value.endDate), {
|
|
31
|
-
message: 'validation.dateRange',
|
|
32
|
-
path: ['endDate', 'startDate'],
|
|
33
|
-
})
|
|
34
|
-
.refine(value => isStatementPeriodWithinLimit(value.startDate, value.endDate), {
|
|
35
|
-
message: 'validation.reportPeriodMax',
|
|
36
|
-
path: ['endDate', 'startDate'],
|
|
37
|
-
});
|
|
38
|
-
|
|
39
|
-
const UnitsByMeasureSchema = z.object({
|
|
40
|
-
PIECE: z.number(),
|
|
41
|
-
PACK: z.number(),
|
|
42
|
-
BOX: z.number(),
|
|
43
|
-
});
|
|
44
|
-
|
|
45
|
-
const metricsShape = {
|
|
46
|
-
ordersCreated: z.number(),
|
|
47
|
-
ordersCompleted: z.number(),
|
|
48
|
-
totalSum: MoneySchema,
|
|
49
|
-
// Часть totalSum по заказам со статусом COMPLETED. На оси COMPLETED_AT равна totalSum:
|
|
50
|
-
// там весь срез и так отгружен.
|
|
51
|
-
completedSum: MoneySchema,
|
|
52
|
-
unitsByMeasure: UnitsByMeasureSchema,
|
|
53
|
-
};
|
|
54
|
-
|
|
55
|
-
const DailyOrdersSummaryTotalsSchema = z.object({ ...metricsShape });
|
|
56
|
-
|
|
57
|
-
const DailyOrdersSummaryByDayItemSchema = z.object({
|
|
58
|
-
date: z.string(),
|
|
59
|
-
...metricsShape,
|
|
60
|
-
});
|
|
61
|
-
|
|
62
|
-
const DailyOrdersSummaryByResponsibleItemSchema = z.object({
|
|
63
|
-
responsibleUserUUID: z.string().nullable(),
|
|
64
|
-
responsibleUserName: z.string().nullable(),
|
|
65
|
-
...metricsShape,
|
|
66
|
-
});
|
|
67
|
-
|
|
68
|
-
const GetDailyOrdersSummaryResponseSchema = z.object({
|
|
69
|
-
data: z.object({
|
|
70
|
-
totals: DailyOrdersSummaryTotalsSchema,
|
|
71
|
-
byDay: z.array(DailyOrdersSummaryByDayItemSchema),
|
|
72
|
-
byResponsible: z.array(DailyOrdersSummaryByResponsibleItemSchema),
|
|
73
|
-
}),
|
|
74
|
-
});
|
|
1
|
+
import type { z } from 'zod';
|
|
2
|
+
import { GetDailyOrdersSummaryRequestSchema } from '../../schemas/report/get-daily-orders-summary-request.schema';
|
|
3
|
+
import { GetDailyOrdersSummaryResponseSchema } from '../../schemas/report/get-daily-orders-summary-response.schema';
|
|
75
4
|
|
|
76
5
|
export namespace GetDailyOrdersSummaryContractQuery {
|
|
77
6
|
export const RequestSchema = GetDailyOrdersSummaryRequestSchema;
|
package/constant/error.ts
CHANGED
|
@@ -234,6 +234,34 @@ export const ERRORS = {
|
|
|
234
234
|
BRANCH_NOT_FOUND: { code: 'B004', message: 'Branch not founded', httpCode: 404 },
|
|
235
235
|
BRANCH_NOT_DELETED: { code: 'B005', message: 'Branch not deleted', httpCode: 500 },
|
|
236
236
|
BRANCH_NOT_UPDATED: { code: 'B006', message: 'Branch not updated', httpCode: 500 },
|
|
237
|
+
// MEASURE_UNIT
|
|
238
|
+
MEASURE_UNIT_NOT_FOUND: { code: 'MU001', message: 'Measure unit not found', httpCode: 404 },
|
|
239
|
+
MEASURE_UNIT_NAME_EXISTS: { code: 'MU002', message: 'Measure unit name is already used', httpCode: 409 },
|
|
240
|
+
MEASURE_UNIT_SHORT_NAME_EXISTS: { code: 'MU003', message: 'Measure unit short name is already used', httpCode: 409 },
|
|
241
|
+
MEASURE_UNIT_ALIAS_CONFLICT: { code: 'MU004', message: 'Measure unit alias overlaps another unit', httpCode: 409 },
|
|
242
|
+
MEASURE_UNIT_INVALID_OKEI: { code: 'MU005', message: 'OKEI code must contain three digits', httpCode: 400 },
|
|
243
|
+
MEASURE_UNIT_DEFAULT_ARCHIVE: { code: 'MU006', message: 'Cannot archive the default measure unit', httpCode: 400 },
|
|
244
|
+
MEASURE_UNIT_ARCHIVED_DEFAULT: { code: 'MU007', message: 'Cannot make an archived measure unit default', httpCode: 400 },
|
|
245
|
+
MEASURE_UNIT_ARCHIVED: { code: 'MU008', message: 'Measure unit is archived', httpCode: 400 },
|
|
246
|
+
MEASURE_UNIT_INVALID_ORDER: {
|
|
247
|
+
code: 'MU009',
|
|
248
|
+
message: 'Measure unit order must contain all units or all active units exactly once',
|
|
249
|
+
httpCode: 400,
|
|
250
|
+
},
|
|
251
|
+
MEASURE_UNIT_FAILED: { code: 'MU010', message: 'Failed to process measure units', httpCode: 500 },
|
|
252
|
+
MEASURE_UNIT_INVALID_NAME: { code: 'MU011', message: 'Measure unit names must not be empty', httpCode: 400 },
|
|
253
|
+
MEASURE_UNIT_ALREADY_LINKED: { code: 'MU012', message: 'Measure unit is already linked to another external unit', httpCode: 409 },
|
|
254
|
+
MEASURE_UNIT_INVALID_TEXT: {
|
|
255
|
+
code: 'MU013',
|
|
256
|
+
message: 'Measure unit names or aliases exceed limits or contain control characters (name/alias: 100, short name: 32, aliases: 50)',
|
|
257
|
+
httpCode: 400,
|
|
258
|
+
},
|
|
259
|
+
MEASURE_UNIT_LIMIT_EXCEEDED: {
|
|
260
|
+
code: 'MU014',
|
|
261
|
+
message: 'Company may have at most 100 measure units, including archived units',
|
|
262
|
+
httpCode: 400,
|
|
263
|
+
},
|
|
264
|
+
|
|
237
265
|
//PRODUCT
|
|
238
266
|
PRODUCT_NOT_CREATED: { code: 'P001', message: 'Failed to create product', httpCode: 500 },
|
|
239
267
|
PRODUCT_FETCH_FAILED: { code: 'P002', message: 'Error when retrieving a product', httpCode: 500 },
|
|
@@ -544,6 +572,13 @@ export const ERRORS = {
|
|
|
544
572
|
ORDER_PLANNED_SHIPMENT_DATE_NOT_UPDATED: { code: 'O062', message: 'Failed to update order planned shipment date', httpCode: 500 },
|
|
545
573
|
// Источник объединения удаляется, и его связь с документом ERP пропала бы молча.
|
|
546
574
|
ORDER_MERGE_SOURCE_HAS_EXTERNAL_NUMBER: { code: 'O064', message: 'Source order has an external number', httpCode: 400 },
|
|
575
|
+
// FC-569: заказ отгружен до даты перехода на НДС — пересчёт его не трогает.
|
|
576
|
+
ORDER_VAT_TRANSITION_NOT_ELIGIBLE: {
|
|
577
|
+
code: 'O065',
|
|
578
|
+
message: 'The order was shipped before the VAT transition date',
|
|
579
|
+
httpCode: 409,
|
|
580
|
+
},
|
|
581
|
+
ORDER_VAT_TRANSITION_FAILED: { code: 'O066', message: 'Failed to recalculate order VAT', httpCode: 500 },
|
|
547
582
|
ORDER_MERGE_BALANCE_STATUS_NOT_ALLOWED: {
|
|
548
583
|
code: 'O033',
|
|
549
584
|
message: 'Order status is balance affecting, merge not allowed',
|
|
@@ -1936,9 +1971,12 @@ export const ERRORS = {
|
|
|
1936
1971
|
},
|
|
1937
1972
|
TRANSFER_DOCUMENT_AMOUNT_INVALID: { code: 'TDOC009', message: 'Transfer document amount must be greater than zero', httpCode: 400 },
|
|
1938
1973
|
TRANSFER_DOCUMENT_EXPORT_FAILED: { code: 'TDOC010', message: 'Failed to build transfer document file', httpCode: 500 },
|
|
1939
|
-
|
|
1940
|
-
|
|
1941
|
-
|
|
1974
|
+
// FC-569: статус документа выводится из заказов — с НДС счёт-фактура (статус 1), без НДС акт (статус 2),
|
|
1975
|
+
// и заказы обоих видов в один документ не сходятся. TDOC011 («плательщики НДС не поддерживаются»)
|
|
1976
|
+
// больше не выдаётся: статус 1 выпускается.
|
|
1977
|
+
TRANSFER_DOCUMENT_VAT_MIXED: {
|
|
1978
|
+
code: 'TDOC015',
|
|
1979
|
+
message: 'Orders with and without VAT cannot be issued in one transfer document',
|
|
1942
1980
|
httpCode: 409,
|
|
1943
1981
|
},
|
|
1944
1982
|
// Реквизиты сторон проверяем до выпуска: движок считает пустое значение штатным и напечатал бы
|
package/constant/index.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const MEASURE_UNIT_LIMITS = { name: 100, shortName: 32, alias: 100, aliases: 50, perCompany: 100 };
|
package/enum/index.ts
CHANGED
|
@@ -55,6 +55,7 @@ export * from './language.enum';
|
|
|
55
55
|
export * from './legal-identifier-field.enum';
|
|
56
56
|
export * from './match-confidence.enum';
|
|
57
57
|
export * from './moysklad-sync-status.enum';
|
|
58
|
+
export * from './moysklad-import-item-status.enum';
|
|
58
59
|
export * from './normalization-decision-action.enum';
|
|
59
60
|
export * from './normalization-target.enum';
|
|
60
61
|
export * from './normalization-value-state.enum';
|
|
@@ -162,3 +163,4 @@ export * from './pre-order-fulfillment-status.enum';
|
|
|
162
163
|
|
|
163
164
|
export * from './delivery-pricing-rule-scope.enum';
|
|
164
165
|
export * from './delivery-pricing-in-transit-mode.enum';
|
|
166
|
+
export * from './measure-unit-match-source.enum';
|
|
@@ -18,4 +18,6 @@ export enum OrderUpdatedFieldEnum {
|
|
|
18
18
|
PAYMENT_DUE_AT = 'PAYMENT_DUE_AT',
|
|
19
19
|
PLANNED_SHIPMENT_DATE = 'PLANNED_SHIPMENT_DATE',
|
|
20
20
|
EXTERNAL_NUMBER = 'EXTERNAL_NUMBER',
|
|
21
|
+
// Пересчёт НДС заказа при переходе компании на НДС (FC-569): итог налога до и после.
|
|
22
|
+
VAT_AMOUNT = 'VAT_AMOUNT',
|
|
21
23
|
}
|
package/package.json
CHANGED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { MoneySchema } from '../money.schema';
|
|
3
|
+
|
|
4
|
+
export const ConsignmentProductMultiplicityOptionUpdateSchema = z.object({
|
|
5
|
+
title: z.string().nullable().optional(),
|
|
6
|
+
optionMultiplicity: z.number().nullable().optional(),
|
|
7
|
+
optionPrice: MoneySchema.nullable().optional(),
|
|
8
|
+
// Отсутствие поля — флаг не меняем; у создаваемой кратности берётся умолчание (скидки разрешены).
|
|
9
|
+
// Пустая ячейка в файле сюда не доезжает: разбор превращает её в отсутствие поля, а не в `false`.
|
|
10
|
+
isDiscountAllowed: z.boolean().optional(),
|
|
11
|
+
});
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { SalesUnitEnum } from '../../enum/sales-unit.enum';
|
|
3
|
+
import { MoneySchema } from '../money.schema';
|
|
4
|
+
import { ConsignmentProductMultiplicityOptionUpdateSchema } from './consignment-product-multiplicity-option-update.schema';
|
|
5
|
+
|
|
6
|
+
export const ConsignmentProductPositionUpdateSchema = z.object({
|
|
7
|
+
measureUnitUUID: z.string().uuid().optional(),
|
|
8
|
+
salesUnit: z.nativeEnum(SalesUnitEnum).nullable().optional(),
|
|
9
|
+
measureUnitText: z.string().nullable().optional(),
|
|
10
|
+
name: z.string().nullable().optional(),
|
|
11
|
+
multiplicity: z.number().nullable().optional(),
|
|
12
|
+
quantity: z.number().nullable().optional(),
|
|
13
|
+
balance: z.number().nullable().optional(),
|
|
14
|
+
price: MoneySchema.nullable().optional(),
|
|
15
|
+
costPrice: MoneySchema.nullable().optional(),
|
|
16
|
+
invoicePrice: MoneySchema.nullable().optional(),
|
|
17
|
+
invoiceNumber: z.string().nullable().optional(),
|
|
18
|
+
multiplicityDescription: z.string().nullable().optional(),
|
|
19
|
+
vat: z.number().nullable().optional(),
|
|
20
|
+
article: z.string().nullable().optional(),
|
|
21
|
+
color: z.string().nullable().optional(),
|
|
22
|
+
vbn: z.string().nullable().optional(),
|
|
23
|
+
barcode: z.string().nullable().optional(),
|
|
24
|
+
size: z.string().nullable().optional(),
|
|
25
|
+
size2: z.string().nullable().optional(),
|
|
26
|
+
size3: z.string().nullable().optional(),
|
|
27
|
+
country: z.string().nullable().optional(),
|
|
28
|
+
description: z.string().nullable().optional(),
|
|
29
|
+
quality: z.string().nullable().optional(),
|
|
30
|
+
grower: z.string().nullable().optional(),
|
|
31
|
+
// `null` — слот кратности очищен, кратность надо удалить; отсутствие поля — слотом не управляем.
|
|
32
|
+
// Различие существенное: обновление по схеме импорта видит только те колонки, что она отображает,
|
|
33
|
+
// и не должно сносить кратность, которую просто не читает.
|
|
34
|
+
option1: ConsignmentProductMultiplicityOptionUpdateSchema.nullable().optional(),
|
|
35
|
+
option2: ConsignmentProductMultiplicityOptionUpdateSchema.nullable().optional(),
|
|
36
|
+
});
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { ConsignmentProductPositionUpdateSchema } from './consignment-product-position-update.schema';
|
|
3
|
+
|
|
4
|
+
export const ExecuteConsignmentProductUpdateRequestSchema = z.object({
|
|
5
|
+
updates: z.record(z.string(), ConsignmentProductPositionUpdateSchema),
|
|
6
|
+
});
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { ExecuteConsignmentProductUpdateResponseDataErrorsSchema } from './execute-consignment-product-update-response-data-errors.schema';
|
|
3
|
+
|
|
4
|
+
export const ExecuteConsignmentProductUpdateResponseDataSchema = z.object({
|
|
5
|
+
unrecognizedMeasureUnitCount: z.number(),
|
|
6
|
+
unrecognizedMeasureUnitExamples: z.array(z.string()),
|
|
7
|
+
success: z.boolean(),
|
|
8
|
+
successCount: z.number(),
|
|
9
|
+
failedCount: z.number(),
|
|
10
|
+
errors: z.array(ExecuteConsignmentProductUpdateResponseDataErrorsSchema),
|
|
11
|
+
});
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { ExecuteConsignmentProductUpdateResponseDataSchema } from './execute-consignment-product-update-response-data.schema';
|
|
3
|
+
|
|
4
|
+
export const ExecuteConsignmentProductUpdateResponseSchema = z.object({
|
|
5
|
+
data: ExecuteConsignmentProductUpdateResponseDataSchema,
|
|
6
|
+
});
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { ConsignmentImportSchemaRelationEntityPropertyEnum } from '../../enum';
|
|
3
|
+
|
|
4
|
+
export const ImportConsignmentRequestConstantDataSchema = z.object({
|
|
5
|
+
[ConsignmentImportSchemaRelationEntityPropertyEnum.INVOICE_NUMBER]: z.string().nullable().optional(),
|
|
6
|
+
[ConsignmentImportSchemaRelationEntityPropertyEnum.GROWER]: z.string().nullable().optional(),
|
|
7
|
+
[ConsignmentImportSchemaRelationEntityPropertyEnum.COUNTRY]: z.string().nullable().optional(),
|
|
8
|
+
});
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { ConsignmentImportNameConventionEnum } from '../../enum';
|
|
3
|
+
import { ImportConsignmentRequestConstantDataSchema } from './import-consignment-request-constant-data.schema';
|
|
4
|
+
|
|
5
|
+
export const ImportConsignmentRequestSchema = z.object({
|
|
6
|
+
isAggregate: z.coerce.boolean().optional().default(false),
|
|
7
|
+
isSeparateByGrower: z.coerce.boolean().optional().default(false),
|
|
8
|
+
isCutCategoryFromName: z.coerce.boolean().optional().default(false),
|
|
9
|
+
isFindImage: z.coerce.boolean().optional().default(false),
|
|
10
|
+
isRemoveSize: z.coerce.boolean().optional().default(false),
|
|
11
|
+
tradeMargin: z.coerce.number().optional().default(0),
|
|
12
|
+
coefficient: z.coerce.number().optional().default(0),
|
|
13
|
+
nameConvention: z.nativeEnum(ConsignmentImportNameConventionEnum).optional(),
|
|
14
|
+
constantData: ImportConsignmentRequestConstantDataSchema.optional(),
|
|
15
|
+
});
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { DataNotExistsSchema } from './consignment.schema';
|
|
3
|
+
import { ProductErrorTypeSchema } from './consignment.schema';
|
|
4
|
+
|
|
5
|
+
export const ImportConsignmentResponseDataWarningsSchema = z.object({
|
|
6
|
+
row: z.number(),
|
|
7
|
+
errors: z.array(z.union([ProductErrorTypeSchema, DataNotExistsSchema])),
|
|
8
|
+
});
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { ImportConsignmentResponseDataWarningsSchema } from './import-consignment-response-data-warnings.schema';
|
|
3
|
+
|
|
4
|
+
export const ImportConsignmentResponseDataSchema = z.object({
|
|
5
|
+
success: z.boolean(),
|
|
6
|
+
rows: z.number(),
|
|
7
|
+
unrecognizedMeasureUnitCount: z.number(),
|
|
8
|
+
unrecognizedMeasureUnitExamples: z.array(z.string()),
|
|
9
|
+
warnings: z.array(ImportConsignmentResponseDataWarningsSchema),
|
|
10
|
+
});
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { ImportConsignmentResponseDataSchema } from './import-consignment-response-data.schema';
|
|
3
|
+
|
|
4
|
+
export const ImportConsignmentResponseSchema = z.object({
|
|
5
|
+
message: z.string().optional(),
|
|
6
|
+
data: ImportConsignmentResponseDataSchema,
|
|
7
|
+
});
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
|
|
3
|
+
export const ImportPackingConsignmentRequestSchema = z.object({
|
|
4
|
+
isSeparateByGrower: z.coerce.boolean().optional().default(false),
|
|
5
|
+
isCutCategoryFromName: z.coerce.boolean().optional().default(false),
|
|
6
|
+
isRemoveSize: z.coerce.boolean().optional().default(false),
|
|
7
|
+
});
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { DataNotExistsSchema } from './consignment.schema';
|
|
3
|
+
import { ProductErrorTypeSchema } from './consignment.schema';
|
|
4
|
+
|
|
5
|
+
export const ImportPackingConsignmentResponseDataWarningsSchema = z.object({
|
|
6
|
+
row: z.number(),
|
|
7
|
+
productUUID: z.string().uuid().optional(),
|
|
8
|
+
errors: z.array(z.union([ProductErrorTypeSchema, DataNotExistsSchema])),
|
|
9
|
+
});
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { ImportPackingConsignmentResponseDataWarningsSchema } from './import-packing-consignment-response-data-warnings.schema';
|
|
3
|
+
|
|
4
|
+
export const ImportPackingConsignmentResponseDataSchema = z.object({
|
|
5
|
+
success: z.boolean(),
|
|
6
|
+
rows: z.number(),
|
|
7
|
+
unrecognizedMeasureUnitCount: z.number(),
|
|
8
|
+
unrecognizedMeasureUnitExamples: z.array(z.string()),
|
|
9
|
+
warnings: z.array(ImportPackingConsignmentResponseDataWarningsSchema),
|
|
10
|
+
});
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { ImportPackingConsignmentResponseDataSchema } from './import-packing-consignment-response-data.schema';
|
|
3
|
+
|
|
4
|
+
export const ImportPackingConsignmentResponseSchema = z.object({
|
|
5
|
+
message: z.string().optional(),
|
|
6
|
+
data: ImportPackingConsignmentResponseDataSchema,
|
|
7
|
+
});
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export * from './import-consignment-request-constant-data.schema';
|
|
2
|
+
export * from './import-consignment-request.schema';
|
|
3
|
+
export * from './import-consignment-response-data-warnings.schema';
|
|
4
|
+
export * from './import-consignment-response-data.schema';
|
|
5
|
+
export * from './import-consignment-response.schema';
|
|
6
|
+
export * from './import-packing-consignment-request.schema';
|
|
7
|
+
export * from './import-packing-consignment-response-data-warnings.schema';
|
|
8
|
+
export * from './import-packing-consignment-response-data.schema';
|
|
9
|
+
export * from './import-packing-consignment-response.schema';
|
|
10
|
+
|
|
11
|
+
export * from './consignment-product-multiplicity-option-update.schema';
|
|
12
|
+
export * from './consignment-product-position-update.schema';
|
|
13
|
+
export * from './execute-consignment-product-update-request.schema';
|
|
14
|
+
export * from './execute-consignment-product-update-response-data-errors.schema';
|
|
15
|
+
export * from './execute-consignment-product-update-response-data.schema';
|
|
16
|
+
export * from './execute-consignment-product-update-response.schema';
|
package/schemas/index.ts
CHANGED
|
@@ -129,3 +129,17 @@ export * from './write-off/write-off-archive-file.schema';
|
|
|
129
129
|
export * from './write-off/write-off-export.schema';
|
|
130
130
|
export * from './write-off/write-off-list.schema';
|
|
131
131
|
export * from './write-off/write-off.schema';
|
|
132
|
+
export * from './measure-unit';
|
|
133
|
+
|
|
134
|
+
export * from './integration/one-c/update-one-c-settings-request.schema';
|
|
135
|
+
export * from './integration/one-c/update-one-c-settings-response.schema';
|
|
136
|
+
|
|
137
|
+
export * from './report/measure-unit-quantity.schema';
|
|
138
|
+
|
|
139
|
+
export * from './consignment';
|
|
140
|
+
|
|
141
|
+
export * from './product/group';
|
|
142
|
+
|
|
143
|
+
export * from './report';
|
|
144
|
+
|
|
145
|
+
export * from './integration/moysklad';
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { MEASURE_UNIT_LIMITS } from '../../../constant/measure-unit-limits';
|
|
3
|
+
import { MoyskladMeasureUnitMappingSchema } from './moysklad-measure-unit-mapping.schema';
|
|
4
|
+
import { MoyskladExecutableItemSchema } from './moysklad-executable-item.schema';
|
|
5
|
+
|
|
6
|
+
export const ExecuteMoyskladImportRequestSchema = z.object({
|
|
7
|
+
measureUnitMapping: z
|
|
8
|
+
.array(MoyskladMeasureUnitMappingSchema)
|
|
9
|
+
.max(MEASURE_UNIT_LIMITS.perCompany, 'MeasureUnit.mapping.max')
|
|
10
|
+
.refine(items => new Set(items.map(item => item.externalId)).size === items.length, 'Duplicate externalId')
|
|
11
|
+
.optional(),
|
|
12
|
+
items: z.array(MoyskladExecutableItemSchema),
|
|
13
|
+
missingExternalIds: z.array(z.string()).default([]),
|
|
14
|
+
orphanedExternalIds: z.array(z.string()).default([]),
|
|
15
|
+
});
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { MoyskladMeasureUnitAliasAddedSchema } from './moysklad-measure-unit-alias-added.schema';
|
|
3
|
+
|
|
4
|
+
export const ExecuteMoyskladImportResponseDataSchema = z.object({
|
|
5
|
+
measureUnitAliasesAdded: z.array(MoyskladMeasureUnitAliasAddedSchema),
|
|
6
|
+
created: z.number(),
|
|
7
|
+
updated: z.number(),
|
|
8
|
+
archived: z.number(),
|
|
9
|
+
orphansCleaned: z.number(),
|
|
10
|
+
consignmentUUID: z.string(),
|
|
11
|
+
});
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { ExecuteMoyskladImportResponseDataSchema } from './execute-moysklad-import-response-data.schema';
|
|
3
|
+
|
|
4
|
+
export const ExecuteMoyskladImportResponseSchema = z.object({
|
|
5
|
+
message: z.string().optional(),
|
|
6
|
+
data: ExecuteMoyskladImportResponseDataSchema,
|
|
7
|
+
});
|
|
@@ -6,3 +6,21 @@ export * from './moysklad-order-state-mapping.schema';
|
|
|
6
6
|
export * from './moysklad-order-state-mapping.type';
|
|
7
7
|
export * from './moysklad-status.schema';
|
|
8
8
|
export * from './moysklad-sync-dead-info.schema';
|
|
9
|
+
|
|
10
|
+
export * from './moysklad-scanned-item.schema';
|
|
11
|
+
export * from './moysklad-category-match.schema';
|
|
12
|
+
export * from './scan-moysklad-import-response-data-categories.schema';
|
|
13
|
+
export * from './scan-moysklad-import-response-data-summary.schema';
|
|
14
|
+
export * from './scan-moysklad-import-response-data.schema';
|
|
15
|
+
export * from './scan-moysklad-import-response.schema';
|
|
16
|
+
export * from './moysklad-executable-item.schema';
|
|
17
|
+
export * from './execute-moysklad-import-request.schema';
|
|
18
|
+
export * from './execute-moysklad-import-response-data.schema';
|
|
19
|
+
export * from './execute-moysklad-import-response.schema';
|
|
20
|
+
export * from './moysklad-measure-unit-link-mapping.schema';
|
|
21
|
+
export * from './moysklad-measure-unit-create-mapping.schema';
|
|
22
|
+
export * from './moysklad-measure-unit-mapping.schema';
|
|
23
|
+
export * from './moysklad-scanned-measure-unit.schema';
|
|
24
|
+
|
|
25
|
+
export * from './moysklad-measure-unit-alias-added.schema';
|
|
26
|
+
export * from './moysklad-measure-unit-dictionary-item.schema';
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { MoyskladImportItemStatusEnum, SalesUnitEnum } from '../../../enum';
|
|
3
|
+
import { MoneySchema } from '../../money.schema';
|
|
4
|
+
|
|
5
|
+
export const MoyskladExecutableItemSchema = z.object({
|
|
6
|
+
externalSourceId: z.string(),
|
|
7
|
+
externalHref: z.string(),
|
|
8
|
+
name: z.string(),
|
|
9
|
+
article: z.string().nullable(),
|
|
10
|
+
barcode: z.string().nullable(),
|
|
11
|
+
size: z.string().nullable(),
|
|
12
|
+
color: z.string().nullable(),
|
|
13
|
+
country: z.string().nullable(),
|
|
14
|
+
grower: z.string().nullable(),
|
|
15
|
+
price: MoneySchema,
|
|
16
|
+
costPrice: MoneySchema,
|
|
17
|
+
balance: z.number(),
|
|
18
|
+
vat: z.number().nullable(),
|
|
19
|
+
measureUnitExternalId: z.string().nullable().optional(),
|
|
20
|
+
measureUnitUUID: z.string().uuid().optional(),
|
|
21
|
+
uomCode: z.string().nullable().optional(),
|
|
22
|
+
uomName: z.string().nullable().optional(),
|
|
23
|
+
salesUnit: z.nativeEnum(SalesUnitEnum).nullable().optional(),
|
|
24
|
+
status: z.nativeEnum(MoyskladImportItemStatusEnum),
|
|
25
|
+
internalUUID: z.string().nullable(),
|
|
26
|
+
resolvedCategoryUUID: z.string().nullable(),
|
|
27
|
+
resolvedImageUUID: z.string().nullable(),
|
|
28
|
+
});
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { CreateMeasureUnitRequestSchema } from '../../measure-unit/create-measure-unit-request.schema';
|
|
3
|
+
|
|
4
|
+
export const MoyskladMeasureUnitCreateMappingSchema = CreateMeasureUnitRequestSchema.omit({ aliases: true }).extend({
|
|
5
|
+
externalId: z.string().min(1),
|
|
6
|
+
action: z.literal('CREATE'),
|
|
7
|
+
});
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { MeasureUnitShortSchema } from '../../measure-unit/measure-unit-short.schema';
|
|
3
|
+
|
|
4
|
+
export const MoyskladMeasureUnitDictionaryItemSchema = MeasureUnitShortSchema.extend({
|
|
5
|
+
linkedExternalId: z.string().nullable(),
|
|
6
|
+
linkedExternalName: z.string().nullable(),
|
|
7
|
+
});
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { MoyskladMeasureUnitLinkMappingSchema } from './moysklad-measure-unit-link-mapping.schema';
|
|
3
|
+
import { MoyskladMeasureUnitCreateMappingSchema } from './moysklad-measure-unit-create-mapping.schema';
|
|
4
|
+
|
|
5
|
+
export const MoyskladMeasureUnitMappingSchema = z.discriminatedUnion('action', [
|
|
6
|
+
MoyskladMeasureUnitLinkMappingSchema,
|
|
7
|
+
MoyskladMeasureUnitCreateMappingSchema,
|
|
8
|
+
]);
|