@floristcloud/api-lib 1.2.176 → 1.2.177
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/pre-order/get-pre-order-by-pre-order-collection-uuid.command.js +2 -6
- package/build/commands/pre-order/group/analyze-create-orders-from-pre-orders.command.js +4 -35
- package/build/commands/pre-order/group/group-create-orders-from-pre-orders.command.js +4 -51
- package/build/commands/pre-order/index.js +1 -0
- package/build/commands/pre-order/revert-pre-order-conversion.command.js +8 -0
- package/build/commands/pre-order/webshop/checkout-pre-order-webshop.command.js +4 -14
- package/build/commands/pre-order/webshop/create-pre-order-webshop.command.js +2 -6
- package/build/commands/pre-order/webshop/update-pre-order-webshop.command.js +2 -6
- package/build/constant/error.js +35 -0
- package/build/enum/index.js +6 -0
- package/build/enum/pre-order-conversion-difference-field.enum.js +11 -0
- package/build/enum/pre-order-conversion-match-kind.enum.js +8 -0
- package/build/enum/pre-order-conversion-remainder-reason.enum.js +10 -0
- package/build/enum/pre-order-conversion-skip-reason.enum.js +7 -0
- package/build/enum/pre-order-conversion-warning.enum.js +8 -0
- package/build/enum/pre-order-fulfillment-status.enum.js +10 -0
- package/build/schemas/pre-order/analyze-create-orders-from-pre-orders-data.schema.js +10 -0
- package/build/schemas/pre-order/analyze-create-orders-from-pre-orders-request.schema.js +13 -0
- package/build/schemas/pre-order/analyze-create-orders-from-pre-orders-response.schema.js +9 -0
- package/build/schemas/pre-order/checkout-pre-order-webshop-request.schema.js +7 -0
- package/build/schemas/pre-order/checkout-pre-order-webshop-response.schema.js +6 -0
- package/build/schemas/pre-order/create-pre-order-webshop-response.schema.js +6 -0
- package/build/schemas/pre-order/get-pre-order-by-collection-for-client-response.schema.js +6 -0
- package/build/schemas/pre-order/group-create-orders-from-pre-orders-data.schema.js +12 -0
- package/build/schemas/pre-order/group-create-orders-from-pre-orders-request.schema.js +17 -0
- package/build/schemas/pre-order/group-create-orders-from-pre-orders-response.schema.js +9 -0
- package/build/schemas/pre-order/index.js +39 -0
- package/build/schemas/pre-order/pre-order-conversion-allocation.schema.js +23 -0
- package/build/schemas/pre-order/pre-order-conversion-analysis.schema.js +12 -0
- package/build/schemas/pre-order/pre-order-conversion-attributes.schema.js +12 -0
- package/build/schemas/pre-order/pre-order-conversion-change.schema.js +9 -0
- package/build/schemas/pre-order/pre-order-conversion-created.schema.js +11 -0
- package/build/schemas/pre-order/pre-order-conversion-current-order.schema.js +11 -0
- package/build/schemas/pre-order/pre-order-conversion-difference.schema.js +12 -0
- package/build/schemas/pre-order/pre-order-conversion-error.schema.js +9 -0
- package/build/schemas/pre-order/pre-order-conversion-failed-error.schema.js +8 -0
- package/build/schemas/pre-order/pre-order-conversion-failed.schema.js +6 -0
- package/build/schemas/pre-order/pre-order-conversion-mapping.schema.js +14 -0
- package/build/schemas/pre-order/pre-order-conversion-match-description.schema.js +9 -0
- package/build/schemas/pre-order/pre-order-conversion-match.schema.js +13 -0
- package/build/schemas/pre-order/pre-order-conversion-order.schema.js +6 -0
- package/build/schemas/pre-order/pre-order-conversion-plan-allocation.schema.js +5 -0
- package/build/schemas/pre-order/pre-order-conversion-plan-entry.schema.js +10 -0
- package/build/schemas/pre-order/pre-order-conversion-plan-line.schema.js +9 -0
- package/build/schemas/pre-order/pre-order-conversion-preview-plan-entry.schema.js +5 -0
- package/build/schemas/pre-order/pre-order-conversion-remainder.schema.js +9 -0
- package/build/schemas/pre-order/pre-order-conversion-skipped.schema.js +6 -0
- package/build/schemas/pre-order/pre-order-conversion-summary-line.schema.js +20 -0
- package/build/schemas/pre-order/pre-order-conversion-summary.schema.js +14 -0
- package/build/schemas/pre-order/pre-order-for-client.schema.js +4 -0
- package/build/schemas/pre-order/pre-order-fulfillment-stop-price.schema.js +6 -0
- package/build/schemas/pre-order/pre-order-fulfillment-substitute.schema.js +5 -0
- package/build/schemas/pre-order/pre-order-fulfillment.schema.js +16 -0
- package/build/schemas/pre-order/pre-order.schema.js +14 -1
- package/build/schemas/pre-order/revert-pre-order-conversion-order.schema.js +8 -0
- package/build/schemas/pre-order/revert-pre-order-conversion-response.schema.js +8 -0
- package/build/schemas/pre-order/revert-pre-order-conversion-result.schema.js +10 -0
- package/build/schemas/pre-order/update-pre-order-webshop-response.schema.js +6 -0
- package/commands/pre-order/get-pre-order-by-pre-order-collection-uuid.command.ts +3 -7
- package/commands/pre-order/group/analyze-create-orders-from-pre-orders.command.ts +3 -49
- package/commands/pre-order/group/group-create-orders-from-pre-orders.command.ts +3 -51
- package/commands/pre-order/index.ts +1 -0
- package/commands/pre-order/revert-pre-order-conversion.command.ts +7 -0
- package/commands/pre-order/webshop/checkout-pre-order-webshop.command.ts +3 -14
- package/commands/pre-order/webshop/create-pre-order-webshop.command.ts +3 -7
- package/commands/pre-order/webshop/update-pre-order-webshop.command.ts +3 -7
- package/constant/error.ts +35 -0
- package/enum/index.ts +7 -0
- package/enum/pre-order-conversion-difference-field.enum.ts +7 -0
- package/enum/pre-order-conversion-match-kind.enum.ts +4 -0
- package/enum/pre-order-conversion-remainder-reason.enum.ts +6 -0
- package/enum/pre-order-conversion-skip-reason.enum.ts +3 -0
- package/enum/pre-order-conversion-warning.enum.ts +4 -0
- package/enum/pre-order-fulfillment-status.enum.ts +6 -0
- package/package.json +1 -1
- package/schemas/pre-order/analyze-create-orders-from-pre-orders-data.schema.ts +8 -0
- package/schemas/pre-order/analyze-create-orders-from-pre-orders-request.schema.ts +11 -0
- package/schemas/pre-order/analyze-create-orders-from-pre-orders-response.schema.ts +7 -0
- package/schemas/pre-order/checkout-pre-order-webshop-request.schema.ts +4 -0
- package/schemas/pre-order/checkout-pre-order-webshop-response.schema.ts +3 -0
- package/schemas/pre-order/create-pre-order-webshop-response.schema.ts +3 -0
- package/schemas/pre-order/get-pre-order-by-collection-for-client-response.schema.ts +3 -0
- package/schemas/pre-order/group-create-orders-from-pre-orders-data.schema.ts +10 -0
- package/schemas/pre-order/group-create-orders-from-pre-orders-request.schema.ts +15 -0
- package/schemas/pre-order/group-create-orders-from-pre-orders-response.schema.ts +7 -0
- package/schemas/pre-order/index.ts +43 -0
- package/schemas/pre-order/pre-order-conversion-allocation.schema.ts +21 -0
- package/schemas/pre-order/pre-order-conversion-analysis.schema.ts +10 -0
- package/schemas/pre-order/pre-order-conversion-attributes.schema.ts +10 -0
- package/schemas/pre-order/pre-order-conversion-change.schema.ts +7 -0
- package/schemas/pre-order/pre-order-conversion-created.schema.ts +9 -0
- package/schemas/pre-order/pre-order-conversion-current-order.schema.ts +8 -0
- package/schemas/pre-order/pre-order-conversion-difference.schema.ts +10 -0
- package/schemas/pre-order/pre-order-conversion-error.schema.ts +7 -0
- package/schemas/pre-order/pre-order-conversion-failed-error.schema.ts +6 -0
- package/schemas/pre-order/pre-order-conversion-failed.schema.ts +4 -0
- package/schemas/pre-order/pre-order-conversion-mapping.schema.ts +12 -0
- package/schemas/pre-order/pre-order-conversion-match-description.schema.ts +7 -0
- package/schemas/pre-order/pre-order-conversion-match.schema.ts +11 -0
- package/schemas/pre-order/pre-order-conversion-order.schema.ts +4 -0
- package/schemas/pre-order/pre-order-conversion-plan-allocation.schema.ts +3 -0
- package/schemas/pre-order/pre-order-conversion-plan-entry.schema.ts +8 -0
- package/schemas/pre-order/pre-order-conversion-plan-line.schema.ts +7 -0
- package/schemas/pre-order/pre-order-conversion-preview-plan-entry.schema.ts +3 -0
- package/schemas/pre-order/pre-order-conversion-remainder.schema.ts +7 -0
- package/schemas/pre-order/pre-order-conversion-skipped.schema.ts +4 -0
- package/schemas/pre-order/pre-order-conversion-summary-line.schema.ts +18 -0
- package/schemas/pre-order/pre-order-conversion-summary.schema.ts +12 -0
- package/schemas/pre-order/pre-order-for-client.schema.ts +4 -0
- package/schemas/pre-order/pre-order-fulfillment-stop-price.schema.ts +3 -0
- package/schemas/pre-order/pre-order-fulfillment-substitute.schema.ts +2 -0
- package/schemas/pre-order/pre-order-fulfillment.schema.ts +13 -0
- package/schemas/pre-order/pre-order.schema.ts +14 -1
- package/schemas/pre-order/revert-pre-order-conversion-order.schema.ts +6 -0
- package/schemas/pre-order/revert-pre-order-conversion-response.schema.ts +6 -0
- package/schemas/pre-order/revert-pre-order-conversion-result.schema.ts +8 -0
- package/schemas/pre-order/update-pre-order-webshop-response.schema.ts +3 -0
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { PreOrderConversionSkippedSchema } from './pre-order-conversion-skipped.schema';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import { PreOrderConversionCreatedSchema } from './pre-order-conversion-created.schema';
|
|
4
|
+
import { PreOrderConversionFailedSchema } from './pre-order-conversion-failed.schema';
|
|
5
|
+
|
|
6
|
+
export const GroupCreateOrdersFromPreOrdersDataSchema = z.object({
|
|
7
|
+
created: PreOrderConversionCreatedSchema.array(),
|
|
8
|
+
skipped: PreOrderConversionSkippedSchema.array(),
|
|
9
|
+
failed: PreOrderConversionFailedSchema.array(),
|
|
10
|
+
});
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { MatchingConfigSchema } from '../pre-order-product/matching-config.schema';
|
|
3
|
+
import { PreOrderConversionPlanEntrySchema } from './pre-order-conversion-plan-entry.schema';
|
|
4
|
+
|
|
5
|
+
export const GroupCreateOrdersFromPreOrdersRequestSchema = z.object({
|
|
6
|
+
preOrderUUIDs: z.uuid().array(),
|
|
7
|
+
consignmentUUIDs: z.uuid().array(),
|
|
8
|
+
matchingConfig: MatchingConfigSchema.optional().nullable(),
|
|
9
|
+
isProportionalAllocation: z.coerce.boolean().optional(),
|
|
10
|
+
orderProductTag: z.string().nullable().optional(),
|
|
11
|
+
confirmCloseRemainder: z.boolean().optional(),
|
|
12
|
+
// Оформляется только подтверждённый сотрудником план: без него сервер подобрал бы товары заново, и в заказы
|
|
13
|
+
// ушли бы распределения и цены, которых сотрудник не видел.
|
|
14
|
+
plan: PreOrderConversionPlanEntrySchema.array(),
|
|
15
|
+
});
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { GroupCreateOrdersFromPreOrdersDataSchema } from './group-create-orders-from-pre-orders-data.schema';
|
|
3
|
+
|
|
4
|
+
export const GroupCreateOrdersFromPreOrdersResponseSchema = z.object({
|
|
5
|
+
message: z.string().optional(),
|
|
6
|
+
data: GroupCreateOrdersFromPreOrdersDataSchema,
|
|
7
|
+
});
|
|
@@ -37,3 +37,46 @@ export * from './standing-order-conversion-plan-line.schema';
|
|
|
37
37
|
export * from './standing-order-conversion-result.schema';
|
|
38
38
|
export * from './standing-order-conversion-target-pre-order.schema';
|
|
39
39
|
export * from './standing-order-conversion-target.schema';
|
|
40
|
+
export * from './pre-order-conversion-plan-allocation.schema';
|
|
41
|
+
export * from './pre-order-conversion-failed-error.schema';
|
|
42
|
+
export * from './group-create-orders-from-pre-orders-data.schema';
|
|
43
|
+
export * from './group-create-orders-from-pre-orders-request.schema';
|
|
44
|
+
export * from './group-create-orders-from-pre-orders-response.schema';
|
|
45
|
+
export * from './pre-order-conversion-match.schema';
|
|
46
|
+
export * from './pre-order-conversion-mapping.schema';
|
|
47
|
+
export * from './pre-order-conversion-analysis.schema';
|
|
48
|
+
export * from './pre-order-conversion-error.schema';
|
|
49
|
+
export * from './analyze-create-orders-from-pre-orders-data.schema';
|
|
50
|
+
export * from './analyze-create-orders-from-pre-orders-request.schema';
|
|
51
|
+
export * from './analyze-create-orders-from-pre-orders-response.schema';
|
|
52
|
+
export * from './pre-order-conversion-plan-line.schema';
|
|
53
|
+
export * from './pre-order-conversion-plan-entry.schema';
|
|
54
|
+
export * from './pre-order-conversion-order.schema';
|
|
55
|
+
export * from './pre-order-conversion-created.schema';
|
|
56
|
+
export * from './pre-order-conversion-failed.schema';
|
|
57
|
+
export * from './pre-order-conversion-attributes.schema';
|
|
58
|
+
export * from './pre-order-conversion-difference.schema';
|
|
59
|
+
export * from './pre-order-conversion-remainder.schema';
|
|
60
|
+
export * from './pre-order-conversion-allocation.schema';
|
|
61
|
+
export * from './pre-order-conversion-summary-line.schema';
|
|
62
|
+
export * from './pre-order-conversion-summary.schema';
|
|
63
|
+
export * from './pre-order-conversion-match-description.schema';
|
|
64
|
+
export * from './pre-order-conversion-change.schema';
|
|
65
|
+
export * from './pre-order-conversion-skipped.schema';
|
|
66
|
+
export * from './pre-order-conversion-preview-plan-entry.schema';
|
|
67
|
+
|
|
68
|
+
export * from './pre-order-fulfillment-substitute.schema';
|
|
69
|
+
|
|
70
|
+
export * from './pre-order-fulfillment-stop-price.schema';
|
|
71
|
+
|
|
72
|
+
export * from './pre-order-fulfillment.schema';
|
|
73
|
+
|
|
74
|
+
export * from './pre-order-conversion-current-order.schema';
|
|
75
|
+
export * from './create-pre-order-webshop-response.schema';
|
|
76
|
+
export * from './update-pre-order-webshop-response.schema';
|
|
77
|
+
export * from './checkout-pre-order-webshop-request.schema';
|
|
78
|
+
export * from './checkout-pre-order-webshop-response.schema';
|
|
79
|
+
export * from './get-pre-order-by-collection-for-client-response.schema';
|
|
80
|
+
export * from './revert-pre-order-conversion-order.schema';
|
|
81
|
+
export * from './revert-pre-order-conversion-result.schema';
|
|
82
|
+
export * from './revert-pre-order-conversion-response.schema';
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { PreOrderConversionWarningEnum } from '../../enum/pre-order-conversion-warning.enum';
|
|
2
|
+
import { PreOrderConversionMatchKindEnum } from '../../enum/pre-order-conversion-match-kind.enum';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { MoneySchema } from '../money.schema';
|
|
5
|
+
import { PreOrderConversionDifferenceSchema } from './pre-order-conversion-difference.schema';
|
|
6
|
+
import { PreOrderConversionAttributesSchema } from './pre-order-conversion-attributes.schema';
|
|
7
|
+
|
|
8
|
+
export const PreOrderConversionAllocationSchema = z.object({
|
|
9
|
+
orderUUID: z.uuid(),
|
|
10
|
+
orderId: z.number().int(),
|
|
11
|
+
orderProductUUID: z.uuid(),
|
|
12
|
+
productUUID: z.uuid(),
|
|
13
|
+
quantity: z.number().int().positive(),
|
|
14
|
+
orderProductQuantity: z.number().int().positive(),
|
|
15
|
+
price: MoneySchema,
|
|
16
|
+
multiplicityOptionUUID: z.string().nullable(),
|
|
17
|
+
kind: z.enum(PreOrderConversionMatchKindEnum),
|
|
18
|
+
differences: PreOrderConversionDifferenceSchema.array(),
|
|
19
|
+
warnings: z.enum(PreOrderConversionWarningEnum).array(),
|
|
20
|
+
product: PreOrderConversionAttributesSchema,
|
|
21
|
+
});
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { PreOrderWithClientSchema } from './pre-order.schema';
|
|
3
|
+
import { PreOrderConversionMappingSchema } from './pre-order-conversion-mapping.schema';
|
|
4
|
+
|
|
5
|
+
export const PreOrderConversionAnalysisSchema = z.object({
|
|
6
|
+
version: z.string().optional(),
|
|
7
|
+
preOrder: PreOrderWithClientSchema,
|
|
8
|
+
mappings: z.record(z.string(), PreOrderConversionMappingSchema),
|
|
9
|
+
warnings: z.array(z.string()),
|
|
10
|
+
});
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
|
|
3
|
+
export const PreOrderConversionAttributesSchema = z.object({
|
|
4
|
+
name: z.string().nullable(),
|
|
5
|
+
size: z.string().nullable(),
|
|
6
|
+
color: z.string().nullable(),
|
|
7
|
+
grower: z.string().nullable(),
|
|
8
|
+
categoryUUID: z.string().nullable(),
|
|
9
|
+
categoryName: z.string().nullable(),
|
|
10
|
+
});
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { PreOrderConversionSummarySchema } from './pre-order-conversion-summary.schema';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import { PreOrderConversionOrderSchema } from './pre-order-conversion-order.schema';
|
|
4
|
+
|
|
5
|
+
export const PreOrderConversionCreatedSchema = z.object({
|
|
6
|
+
preOrderUUID: z.uuid(),
|
|
7
|
+
conversionSummary: PreOrderConversionSummarySchema.nullable().optional(),
|
|
8
|
+
orders: PreOrderConversionOrderSchema.array(),
|
|
9
|
+
});
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { OrderStatusEnum } from '../../enum/order-status.enum';
|
|
3
|
+
export const PreOrderConversionCurrentOrderSchema = z.object({
|
|
4
|
+
uuid: z.uuid(),
|
|
5
|
+
number: z.number().int(),
|
|
6
|
+
status: z.enum(OrderStatusEnum).nullable(),
|
|
7
|
+
exists: z.boolean(),
|
|
8
|
+
});
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { PreOrderConversionDifferenceFieldEnum } from '../../enum/pre-order-conversion-difference-field.enum';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
|
|
4
|
+
export const PreOrderConversionDifferenceSchema = z.object({
|
|
5
|
+
field: z.enum(PreOrderConversionDifferenceFieldEnum),
|
|
6
|
+
requestedLabel: z.string().nullable().optional(),
|
|
7
|
+
selectedLabel: z.string().nullable().optional(),
|
|
8
|
+
requested: z.string(),
|
|
9
|
+
selected: z.string().nullable(),
|
|
10
|
+
});
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { PreOrderConversionRemainderSchema } from './pre-order-conversion-remainder.schema';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import { PreOrderProductExtendedSchema } from '../pre-order-product/pre-order-product.schema';
|
|
4
|
+
import { PreOrderConversionMatchSchema } from './pre-order-conversion-match.schema';
|
|
5
|
+
|
|
6
|
+
export const PreOrderConversionMappingSchema = z.object({
|
|
7
|
+
item: PreOrderProductExtendedSchema,
|
|
8
|
+
matches: z.array(PreOrderConversionMatchSchema),
|
|
9
|
+
warnings: z.array(z.string()),
|
|
10
|
+
remainder: PreOrderConversionRemainderSchema.array().optional(),
|
|
11
|
+
remainingQuantity: z.number(),
|
|
12
|
+
});
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { PreOrderConversionMatchDescriptionSchema } from './pre-order-conversion-match-description.schema';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import { ProductExtendedForAdminSchema } from '../product/product-extended-for-admin.schema';
|
|
4
|
+
|
|
5
|
+
export const PreOrderConversionMatchSchema = z.object({
|
|
6
|
+
product: ProductExtendedForAdminSchema,
|
|
7
|
+
quantity: z.number(),
|
|
8
|
+
description: PreOrderConversionMatchDescriptionSchema.optional(),
|
|
9
|
+
price: z.string().optional(),
|
|
10
|
+
remainingBalance: z.number(),
|
|
11
|
+
});
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { PreOrderConversionPlanLineSchema } from './pre-order-conversion-plan-line.schema';
|
|
3
|
+
|
|
4
|
+
export const PreOrderConversionPlanEntrySchema = z.object({
|
|
5
|
+
preOrderUUID: z.uuid(),
|
|
6
|
+
version: z.string().min(1),
|
|
7
|
+
lines: PreOrderConversionPlanLineSchema.array(),
|
|
8
|
+
});
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { PreOrderConversionPlanAllocationSchema } from './pre-order-conversion-plan-allocation.schema';
|
|
3
|
+
|
|
4
|
+
export const PreOrderConversionPlanLineSchema = z.object({
|
|
5
|
+
preOrderProductUUID: z.uuid(),
|
|
6
|
+
allocations: PreOrderConversionPlanAllocationSchema.array(),
|
|
7
|
+
});
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { PreOrderConversionRemainderReasonEnum } from '../../enum/pre-order-conversion-remainder-reason.enum';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
|
|
4
|
+
export const PreOrderConversionRemainderSchema = z.object({
|
|
5
|
+
reason: z.enum(PreOrderConversionRemainderReasonEnum),
|
|
6
|
+
quantity: z.number().int().nonnegative(),
|
|
7
|
+
});
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { MoneySchema } from '../money.schema';
|
|
3
|
+
import { PreOrderConversionAttributesSchema } from './pre-order-conversion-attributes.schema';
|
|
4
|
+
import { PreOrderConversionRemainderSchema } from './pre-order-conversion-remainder.schema';
|
|
5
|
+
import { PreOrderConversionAllocationSchema } from './pre-order-conversion-allocation.schema';
|
|
6
|
+
|
|
7
|
+
export const PreOrderConversionSummaryLineSchema = z.object({
|
|
8
|
+
preOrderProductUUID: z.uuid(),
|
|
9
|
+
requested: PreOrderConversionAttributesSchema,
|
|
10
|
+
comment: z.string().nullable(),
|
|
11
|
+
stopPrice: MoneySchema.nullable(),
|
|
12
|
+
isReplaceable: z.boolean(),
|
|
13
|
+
requestedQuantity: z.number().int().nonnegative(),
|
|
14
|
+
allocatedQuantity: z.number().int().nonnegative(),
|
|
15
|
+
closedQuantity: z.number().int().nonnegative(),
|
|
16
|
+
remainder: PreOrderConversionRemainderSchema.array(),
|
|
17
|
+
allocations: PreOrderConversionAllocationSchema.array(),
|
|
18
|
+
});
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { PreOrderStatusEnum } from '../../enum/pre-order-status.enum';
|
|
3
|
+
import { PreOrderConversionSummaryLineSchema } from './pre-order-conversion-summary-line.schema';
|
|
4
|
+
|
|
5
|
+
export const PreOrderConversionSummarySchema = z.object({
|
|
6
|
+
version: z.literal(1),
|
|
7
|
+
convertedAt: z.iso.datetime(),
|
|
8
|
+
creatorUserUUID: z.uuid(),
|
|
9
|
+
// Статус до оформления — в него предзаказ вернётся при откате. В ранних снимках поля нет.
|
|
10
|
+
previousStatus: z.enum(PreOrderStatusEnum).optional(),
|
|
11
|
+
lines: PreOrderConversionSummaryLineSchema.array(),
|
|
12
|
+
});
|
|
@@ -1,7 +1,11 @@
|
|
|
1
|
+
import { PreOrderFulfillmentSchema } from './pre-order-fulfillment.schema';
|
|
1
2
|
import { z } from 'zod';
|
|
2
3
|
import { PreOrderStatusEnum } from '../../enum';
|
|
3
4
|
|
|
4
5
|
export const PreOrderForClientSchema = z.object({
|
|
6
|
+
fulfillment: z.record(z.uuid(), PreOrderFulfillmentSchema).nullable().optional(),
|
|
7
|
+
orderNumbers: z.number().int().array().optional(),
|
|
8
|
+
hasUnavailableOrders: z.boolean().optional(),
|
|
5
9
|
uuid: z.string(),
|
|
6
10
|
clientUUID: z.string(),
|
|
7
11
|
branchUUID: z.string().nullable(),
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { PreOrderFulfillmentStatusEnum } from '../../enum/pre-order-fulfillment-status.enum';
|
|
3
|
+
import { PreOrderConversionAttributesSchema } from './pre-order-conversion-attributes.schema';
|
|
4
|
+
import { PreOrderFulfillmentSubstituteSchema } from './pre-order-fulfillment-substitute.schema';
|
|
5
|
+
import { PreOrderFulfillmentStopPriceSchema } from './pre-order-fulfillment-stop-price.schema';
|
|
6
|
+
export const PreOrderFulfillmentSchema = z.object({
|
|
7
|
+
status: z.enum(PreOrderFulfillmentStatusEnum),
|
|
8
|
+
allocated: z.number().int().nonnegative(),
|
|
9
|
+
requested: z.number().int().nonnegative(),
|
|
10
|
+
requestedAttributes: PreOrderConversionAttributesSchema.nullable(),
|
|
11
|
+
substitutes: PreOrderFulfillmentSubstituteSchema.array(),
|
|
12
|
+
stopPrice: PreOrderFulfillmentStopPriceSchema.nullable(),
|
|
13
|
+
});
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import { PreOrderConversionCurrentOrderSchema } from './pre-order-conversion-current-order.schema';
|
|
2
|
+
import { PreOrderConversionChangeSchema } from './pre-order-conversion-change.schema';
|
|
3
|
+
import { PreOrderConversionSummarySchema } from './pre-order-conversion-summary.schema';
|
|
1
4
|
import { z } from 'zod';
|
|
2
5
|
import { PreOrderStatusEnum } from '../../enum/pre-order-status.enum';
|
|
3
6
|
import { ClientSchema } from '../client/client-base.schema';
|
|
@@ -6,6 +9,9 @@ import { PreOrderCollectionSchema } from '../pre-order-collection/pre-order-coll
|
|
|
6
9
|
import { MoneySchema } from '../money.schema';
|
|
7
10
|
|
|
8
11
|
export const PreOrderSchema = z.object({
|
|
12
|
+
conversionOrders: PreOrderConversionCurrentOrderSchema.array().optional(),
|
|
13
|
+
conversionChanges: PreOrderConversionChangeSchema.array().optional(),
|
|
14
|
+
conversionSummary: PreOrderConversionSummarySchema.nullable().optional(),
|
|
9
15
|
uuid: z.string(),
|
|
10
16
|
clientUUID: z.string(),
|
|
11
17
|
branchUUID: z.string().nullable(),
|
|
@@ -57,7 +63,14 @@ export const UpdatablePreOrderStatusSchema = z.enum([
|
|
|
57
63
|
PreOrderStatusEnum.COMPLETED,
|
|
58
64
|
]);
|
|
59
65
|
|
|
60
|
-
export const UpdatePreOrderSchema = PreOrderSchema.omit({
|
|
66
|
+
export const UpdatePreOrderSchema = PreOrderSchema.omit({
|
|
67
|
+
uuid: true,
|
|
68
|
+
preOrderNum: true,
|
|
69
|
+
createdAt: true,
|
|
70
|
+
conversionOrders: true,
|
|
71
|
+
conversionSummary: true,
|
|
72
|
+
conversionChanges: true,
|
|
73
|
+
})
|
|
61
74
|
.partial()
|
|
62
75
|
.extend({ status: UpdatablePreOrderStatusSchema.optional() });
|
|
63
76
|
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { PreOrderStatusEnum } from '../../enum/pre-order-status.enum';
|
|
3
|
+
import { RevertPreOrderConversionOrderSchema } from './revert-pre-order-conversion-order.schema';
|
|
4
|
+
|
|
5
|
+
export const RevertPreOrderConversionResultSchema = z.object({
|
|
6
|
+
status: z.enum(PreOrderStatusEnum),
|
|
7
|
+
deletedOrders: RevertPreOrderConversionOrderSchema.array(),
|
|
8
|
+
});
|