@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.
Files changed (117) hide show
  1. package/build/commands/pre-order/get-pre-order-by-pre-order-collection-uuid.command.js +2 -6
  2. package/build/commands/pre-order/group/analyze-create-orders-from-pre-orders.command.js +4 -35
  3. package/build/commands/pre-order/group/group-create-orders-from-pre-orders.command.js +4 -51
  4. package/build/commands/pre-order/index.js +1 -0
  5. package/build/commands/pre-order/revert-pre-order-conversion.command.js +8 -0
  6. package/build/commands/pre-order/webshop/checkout-pre-order-webshop.command.js +4 -14
  7. package/build/commands/pre-order/webshop/create-pre-order-webshop.command.js +2 -6
  8. package/build/commands/pre-order/webshop/update-pre-order-webshop.command.js +2 -6
  9. package/build/constant/error.js +35 -0
  10. package/build/enum/index.js +6 -0
  11. package/build/enum/pre-order-conversion-difference-field.enum.js +11 -0
  12. package/build/enum/pre-order-conversion-match-kind.enum.js +8 -0
  13. package/build/enum/pre-order-conversion-remainder-reason.enum.js +10 -0
  14. package/build/enum/pre-order-conversion-skip-reason.enum.js +7 -0
  15. package/build/enum/pre-order-conversion-warning.enum.js +8 -0
  16. package/build/enum/pre-order-fulfillment-status.enum.js +10 -0
  17. package/build/schemas/pre-order/analyze-create-orders-from-pre-orders-data.schema.js +10 -0
  18. package/build/schemas/pre-order/analyze-create-orders-from-pre-orders-request.schema.js +13 -0
  19. package/build/schemas/pre-order/analyze-create-orders-from-pre-orders-response.schema.js +9 -0
  20. package/build/schemas/pre-order/checkout-pre-order-webshop-request.schema.js +7 -0
  21. package/build/schemas/pre-order/checkout-pre-order-webshop-response.schema.js +6 -0
  22. package/build/schemas/pre-order/create-pre-order-webshop-response.schema.js +6 -0
  23. package/build/schemas/pre-order/get-pre-order-by-collection-for-client-response.schema.js +6 -0
  24. package/build/schemas/pre-order/group-create-orders-from-pre-orders-data.schema.js +12 -0
  25. package/build/schemas/pre-order/group-create-orders-from-pre-orders-request.schema.js +17 -0
  26. package/build/schemas/pre-order/group-create-orders-from-pre-orders-response.schema.js +9 -0
  27. package/build/schemas/pre-order/index.js +39 -0
  28. package/build/schemas/pre-order/pre-order-conversion-allocation.schema.js +23 -0
  29. package/build/schemas/pre-order/pre-order-conversion-analysis.schema.js +12 -0
  30. package/build/schemas/pre-order/pre-order-conversion-attributes.schema.js +12 -0
  31. package/build/schemas/pre-order/pre-order-conversion-change.schema.js +9 -0
  32. package/build/schemas/pre-order/pre-order-conversion-created.schema.js +11 -0
  33. package/build/schemas/pre-order/pre-order-conversion-current-order.schema.js +11 -0
  34. package/build/schemas/pre-order/pre-order-conversion-difference.schema.js +12 -0
  35. package/build/schemas/pre-order/pre-order-conversion-error.schema.js +9 -0
  36. package/build/schemas/pre-order/pre-order-conversion-failed-error.schema.js +8 -0
  37. package/build/schemas/pre-order/pre-order-conversion-failed.schema.js +6 -0
  38. package/build/schemas/pre-order/pre-order-conversion-mapping.schema.js +14 -0
  39. package/build/schemas/pre-order/pre-order-conversion-match-description.schema.js +9 -0
  40. package/build/schemas/pre-order/pre-order-conversion-match.schema.js +13 -0
  41. package/build/schemas/pre-order/pre-order-conversion-order.schema.js +6 -0
  42. package/build/schemas/pre-order/pre-order-conversion-plan-allocation.schema.js +5 -0
  43. package/build/schemas/pre-order/pre-order-conversion-plan-entry.schema.js +10 -0
  44. package/build/schemas/pre-order/pre-order-conversion-plan-line.schema.js +9 -0
  45. package/build/schemas/pre-order/pre-order-conversion-preview-plan-entry.schema.js +5 -0
  46. package/build/schemas/pre-order/pre-order-conversion-remainder.schema.js +9 -0
  47. package/build/schemas/pre-order/pre-order-conversion-skipped.schema.js +6 -0
  48. package/build/schemas/pre-order/pre-order-conversion-summary-line.schema.js +20 -0
  49. package/build/schemas/pre-order/pre-order-conversion-summary.schema.js +14 -0
  50. package/build/schemas/pre-order/pre-order-for-client.schema.js +4 -0
  51. package/build/schemas/pre-order/pre-order-fulfillment-stop-price.schema.js +6 -0
  52. package/build/schemas/pre-order/pre-order-fulfillment-substitute.schema.js +5 -0
  53. package/build/schemas/pre-order/pre-order-fulfillment.schema.js +16 -0
  54. package/build/schemas/pre-order/pre-order.schema.js +14 -1
  55. package/build/schemas/pre-order/revert-pre-order-conversion-order.schema.js +8 -0
  56. package/build/schemas/pre-order/revert-pre-order-conversion-response.schema.js +8 -0
  57. package/build/schemas/pre-order/revert-pre-order-conversion-result.schema.js +10 -0
  58. package/build/schemas/pre-order/update-pre-order-webshop-response.schema.js +6 -0
  59. package/commands/pre-order/get-pre-order-by-pre-order-collection-uuid.command.ts +3 -7
  60. package/commands/pre-order/group/analyze-create-orders-from-pre-orders.command.ts +3 -49
  61. package/commands/pre-order/group/group-create-orders-from-pre-orders.command.ts +3 -51
  62. package/commands/pre-order/index.ts +1 -0
  63. package/commands/pre-order/revert-pre-order-conversion.command.ts +7 -0
  64. package/commands/pre-order/webshop/checkout-pre-order-webshop.command.ts +3 -14
  65. package/commands/pre-order/webshop/create-pre-order-webshop.command.ts +3 -7
  66. package/commands/pre-order/webshop/update-pre-order-webshop.command.ts +3 -7
  67. package/constant/error.ts +35 -0
  68. package/enum/index.ts +7 -0
  69. package/enum/pre-order-conversion-difference-field.enum.ts +7 -0
  70. package/enum/pre-order-conversion-match-kind.enum.ts +4 -0
  71. package/enum/pre-order-conversion-remainder-reason.enum.ts +6 -0
  72. package/enum/pre-order-conversion-skip-reason.enum.ts +3 -0
  73. package/enum/pre-order-conversion-warning.enum.ts +4 -0
  74. package/enum/pre-order-fulfillment-status.enum.ts +6 -0
  75. package/package.json +1 -1
  76. package/schemas/pre-order/analyze-create-orders-from-pre-orders-data.schema.ts +8 -0
  77. package/schemas/pre-order/analyze-create-orders-from-pre-orders-request.schema.ts +11 -0
  78. package/schemas/pre-order/analyze-create-orders-from-pre-orders-response.schema.ts +7 -0
  79. package/schemas/pre-order/checkout-pre-order-webshop-request.schema.ts +4 -0
  80. package/schemas/pre-order/checkout-pre-order-webshop-response.schema.ts +3 -0
  81. package/schemas/pre-order/create-pre-order-webshop-response.schema.ts +3 -0
  82. package/schemas/pre-order/get-pre-order-by-collection-for-client-response.schema.ts +3 -0
  83. package/schemas/pre-order/group-create-orders-from-pre-orders-data.schema.ts +10 -0
  84. package/schemas/pre-order/group-create-orders-from-pre-orders-request.schema.ts +15 -0
  85. package/schemas/pre-order/group-create-orders-from-pre-orders-response.schema.ts +7 -0
  86. package/schemas/pre-order/index.ts +43 -0
  87. package/schemas/pre-order/pre-order-conversion-allocation.schema.ts +21 -0
  88. package/schemas/pre-order/pre-order-conversion-analysis.schema.ts +10 -0
  89. package/schemas/pre-order/pre-order-conversion-attributes.schema.ts +10 -0
  90. package/schemas/pre-order/pre-order-conversion-change.schema.ts +7 -0
  91. package/schemas/pre-order/pre-order-conversion-created.schema.ts +9 -0
  92. package/schemas/pre-order/pre-order-conversion-current-order.schema.ts +8 -0
  93. package/schemas/pre-order/pre-order-conversion-difference.schema.ts +10 -0
  94. package/schemas/pre-order/pre-order-conversion-error.schema.ts +7 -0
  95. package/schemas/pre-order/pre-order-conversion-failed-error.schema.ts +6 -0
  96. package/schemas/pre-order/pre-order-conversion-failed.schema.ts +4 -0
  97. package/schemas/pre-order/pre-order-conversion-mapping.schema.ts +12 -0
  98. package/schemas/pre-order/pre-order-conversion-match-description.schema.ts +7 -0
  99. package/schemas/pre-order/pre-order-conversion-match.schema.ts +11 -0
  100. package/schemas/pre-order/pre-order-conversion-order.schema.ts +4 -0
  101. package/schemas/pre-order/pre-order-conversion-plan-allocation.schema.ts +3 -0
  102. package/schemas/pre-order/pre-order-conversion-plan-entry.schema.ts +8 -0
  103. package/schemas/pre-order/pre-order-conversion-plan-line.schema.ts +7 -0
  104. package/schemas/pre-order/pre-order-conversion-preview-plan-entry.schema.ts +3 -0
  105. package/schemas/pre-order/pre-order-conversion-remainder.schema.ts +7 -0
  106. package/schemas/pre-order/pre-order-conversion-skipped.schema.ts +4 -0
  107. package/schemas/pre-order/pre-order-conversion-summary-line.schema.ts +18 -0
  108. package/schemas/pre-order/pre-order-conversion-summary.schema.ts +12 -0
  109. package/schemas/pre-order/pre-order-for-client.schema.ts +4 -0
  110. package/schemas/pre-order/pre-order-fulfillment-stop-price.schema.ts +3 -0
  111. package/schemas/pre-order/pre-order-fulfillment-substitute.schema.ts +2 -0
  112. package/schemas/pre-order/pre-order-fulfillment.schema.ts +13 -0
  113. package/schemas/pre-order/pre-order.schema.ts +14 -1
  114. package/schemas/pre-order/revert-pre-order-conversion-order.schema.ts +6 -0
  115. package/schemas/pre-order/revert-pre-order-conversion-response.schema.ts +6 -0
  116. package/schemas/pre-order/revert-pre-order-conversion-result.schema.ts +8 -0
  117. package/schemas/pre-order/update-pre-order-webshop-response.schema.ts +3 -0
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PreOrderConversionMappingSchema = void 0;
4
+ const pre_order_conversion_remainder_schema_1 = require("./pre-order-conversion-remainder.schema");
5
+ const zod_1 = require("zod");
6
+ const pre_order_product_schema_1 = require("../pre-order-product/pre-order-product.schema");
7
+ const pre_order_conversion_match_schema_1 = require("./pre-order-conversion-match.schema");
8
+ exports.PreOrderConversionMappingSchema = zod_1.z.object({
9
+ item: pre_order_product_schema_1.PreOrderProductExtendedSchema,
10
+ matches: zod_1.z.array(pre_order_conversion_match_schema_1.PreOrderConversionMatchSchema),
11
+ warnings: zod_1.z.array(zod_1.z.string()),
12
+ remainder: pre_order_conversion_remainder_schema_1.PreOrderConversionRemainderSchema.array().optional(),
13
+ remainingQuantity: zod_1.z.number(),
14
+ });
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PreOrderConversionMatchDescriptionSchema = void 0;
4
+ const pre_order_conversion_allocation_schema_1 = require("./pre-order-conversion-allocation.schema");
5
+ exports.PreOrderConversionMatchDescriptionSchema = pre_order_conversion_allocation_schema_1.PreOrderConversionAllocationSchema.pick({
6
+ kind: true,
7
+ differences: true,
8
+ warnings: true,
9
+ });
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PreOrderConversionMatchSchema = void 0;
4
+ const pre_order_conversion_match_description_schema_1 = require("./pre-order-conversion-match-description.schema");
5
+ const zod_1 = require("zod");
6
+ const product_extended_for_admin_schema_1 = require("../product/product-extended-for-admin.schema");
7
+ exports.PreOrderConversionMatchSchema = zod_1.z.object({
8
+ product: product_extended_for_admin_schema_1.ProductExtendedForAdminSchema,
9
+ quantity: zod_1.z.number(),
10
+ description: pre_order_conversion_match_description_schema_1.PreOrderConversionMatchDescriptionSchema.optional(),
11
+ price: zod_1.z.string().optional(),
12
+ remainingBalance: zod_1.z.number(),
13
+ });
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PreOrderConversionOrderSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const order_schema_1 = require("../order/order.schema");
6
+ exports.PreOrderConversionOrderSchema = order_schema_1.OrderSchema.extend({ warnings: zod_1.z.string().array() });
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PreOrderConversionPlanAllocationSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ exports.PreOrderConversionPlanAllocationSchema = zod_1.z.object({ productUUID: zod_1.z.uuid(), quantity: zod_1.z.number().int().positive() });
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PreOrderConversionPlanEntrySchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const pre_order_conversion_plan_line_schema_1 = require("./pre-order-conversion-plan-line.schema");
6
+ exports.PreOrderConversionPlanEntrySchema = zod_1.z.object({
7
+ preOrderUUID: zod_1.z.uuid(),
8
+ version: zod_1.z.string().min(1),
9
+ lines: pre_order_conversion_plan_line_schema_1.PreOrderConversionPlanLineSchema.array(),
10
+ });
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PreOrderConversionPlanLineSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const pre_order_conversion_plan_allocation_schema_1 = require("./pre-order-conversion-plan-allocation.schema");
6
+ exports.PreOrderConversionPlanLineSchema = zod_1.z.object({
7
+ preOrderProductUUID: zod_1.z.uuid(),
8
+ allocations: pre_order_conversion_plan_allocation_schema_1.PreOrderConversionPlanAllocationSchema.array(),
9
+ });
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PreOrderConversionPreviewPlanEntrySchema = void 0;
4
+ const pre_order_conversion_plan_entry_schema_1 = require("./pre-order-conversion-plan-entry.schema");
5
+ exports.PreOrderConversionPreviewPlanEntrySchema = pre_order_conversion_plan_entry_schema_1.PreOrderConversionPlanEntrySchema.omit({ version: true });
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PreOrderConversionRemainderSchema = void 0;
4
+ const pre_order_conversion_remainder_reason_enum_1 = require("../../enum/pre-order-conversion-remainder-reason.enum");
5
+ const zod_1 = require("zod");
6
+ exports.PreOrderConversionRemainderSchema = zod_1.z.object({
7
+ reason: zod_1.z.enum(pre_order_conversion_remainder_reason_enum_1.PreOrderConversionRemainderReasonEnum),
8
+ quantity: zod_1.z.number().int().nonnegative(),
9
+ });
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PreOrderConversionSkippedSchema = void 0;
4
+ const pre_order_conversion_skip_reason_enum_1 = require("../../enum/pre-order-conversion-skip-reason.enum");
5
+ const zod_1 = require("zod");
6
+ exports.PreOrderConversionSkippedSchema = zod_1.z.object({ preOrderUUID: zod_1.z.uuid(), reason: zod_1.z.enum(pre_order_conversion_skip_reason_enum_1.PreOrderConversionSkipReasonEnum) });
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PreOrderConversionSummaryLineSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const money_schema_1 = require("../money.schema");
6
+ const pre_order_conversion_attributes_schema_1 = require("./pre-order-conversion-attributes.schema");
7
+ const pre_order_conversion_remainder_schema_1 = require("./pre-order-conversion-remainder.schema");
8
+ const pre_order_conversion_allocation_schema_1 = require("./pre-order-conversion-allocation.schema");
9
+ exports.PreOrderConversionSummaryLineSchema = zod_1.z.object({
10
+ preOrderProductUUID: zod_1.z.uuid(),
11
+ requested: pre_order_conversion_attributes_schema_1.PreOrderConversionAttributesSchema,
12
+ comment: zod_1.z.string().nullable(),
13
+ stopPrice: money_schema_1.MoneySchema.nullable(),
14
+ isReplaceable: zod_1.z.boolean(),
15
+ requestedQuantity: zod_1.z.number().int().nonnegative(),
16
+ allocatedQuantity: zod_1.z.number().int().nonnegative(),
17
+ closedQuantity: zod_1.z.number().int().nonnegative(),
18
+ remainder: pre_order_conversion_remainder_schema_1.PreOrderConversionRemainderSchema.array(),
19
+ allocations: pre_order_conversion_allocation_schema_1.PreOrderConversionAllocationSchema.array(),
20
+ });
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PreOrderConversionSummarySchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const pre_order_status_enum_1 = require("../../enum/pre-order-status.enum");
6
+ const pre_order_conversion_summary_line_schema_1 = require("./pre-order-conversion-summary-line.schema");
7
+ exports.PreOrderConversionSummarySchema = zod_1.z.object({
8
+ version: zod_1.z.literal(1),
9
+ convertedAt: zod_1.z.iso.datetime(),
10
+ creatorUserUUID: zod_1.z.uuid(),
11
+ // Статус до оформления — в него предзаказ вернётся при откате. В ранних снимках поля нет.
12
+ previousStatus: zod_1.z.enum(pre_order_status_enum_1.PreOrderStatusEnum).optional(),
13
+ lines: pre_order_conversion_summary_line_schema_1.PreOrderConversionSummaryLineSchema.array(),
14
+ });
@@ -1,9 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PreOrderForClientSchema = void 0;
4
+ const pre_order_fulfillment_schema_1 = require("./pre-order-fulfillment.schema");
4
5
  const zod_1 = require("zod");
5
6
  const enum_1 = require("../../enum");
6
7
  exports.PreOrderForClientSchema = zod_1.z.object({
8
+ fulfillment: zod_1.z.record(zod_1.z.uuid(), pre_order_fulfillment_schema_1.PreOrderFulfillmentSchema).nullable().optional(),
9
+ orderNumbers: zod_1.z.number().int().array().optional(),
10
+ hasUnavailableOrders: zod_1.z.boolean().optional(),
7
11
  uuid: zod_1.z.string(),
8
12
  clientUUID: zod_1.z.string(),
9
13
  branchUUID: zod_1.z.string().nullable(),
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PreOrderFulfillmentStopPriceSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const money_schema_1 = require("../money.schema");
6
+ exports.PreOrderFulfillmentStopPriceSchema = zod_1.z.object({ limit: money_schema_1.MoneySchema, prices: money_schema_1.MoneySchema.array(), currency: zod_1.z.string() });
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PreOrderFulfillmentSubstituteSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ exports.PreOrderFulfillmentSubstituteSchema = zod_1.z.object({ name: zod_1.z.string(), quantity: zod_1.z.number().int().positive() });
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PreOrderFulfillmentSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const pre_order_fulfillment_status_enum_1 = require("../../enum/pre-order-fulfillment-status.enum");
6
+ const pre_order_conversion_attributes_schema_1 = require("./pre-order-conversion-attributes.schema");
7
+ const pre_order_fulfillment_substitute_schema_1 = require("./pre-order-fulfillment-substitute.schema");
8
+ const pre_order_fulfillment_stop_price_schema_1 = require("./pre-order-fulfillment-stop-price.schema");
9
+ exports.PreOrderFulfillmentSchema = zod_1.z.object({
10
+ status: zod_1.z.enum(pre_order_fulfillment_status_enum_1.PreOrderFulfillmentStatusEnum),
11
+ allocated: zod_1.z.number().int().nonnegative(),
12
+ requested: zod_1.z.number().int().nonnegative(),
13
+ requestedAttributes: pre_order_conversion_attributes_schema_1.PreOrderConversionAttributesSchema.nullable(),
14
+ substitutes: pre_order_fulfillment_substitute_schema_1.PreOrderFulfillmentSubstituteSchema.array(),
15
+ stopPrice: pre_order_fulfillment_stop_price_schema_1.PreOrderFulfillmentStopPriceSchema.nullable(),
16
+ });
@@ -1,6 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.UpdatePreOrderWebshopSchema = exports.CreatePreOrderWebshopSchema = exports.UpdatePreOrderSchema = exports.UpdatablePreOrderStatusSchema = exports.CreatePreOrderSchema = exports.PreOrderListSchema = exports.PreOrderWithClientSchema = exports.PreOrderExtendedSchema = exports.PreOrderSchema = void 0;
4
+ const pre_order_conversion_current_order_schema_1 = require("./pre-order-conversion-current-order.schema");
5
+ const pre_order_conversion_change_schema_1 = require("./pre-order-conversion-change.schema");
6
+ const pre_order_conversion_summary_schema_1 = require("./pre-order-conversion-summary.schema");
4
7
  const zod_1 = require("zod");
5
8
  const pre_order_status_enum_1 = require("../../enum/pre-order-status.enum");
6
9
  const client_base_schema_1 = require("../client/client-base.schema");
@@ -8,6 +11,9 @@ const branch_schema_1 = require("../branch/branch.schema");
8
11
  const pre_order_collection_schema_1 = require("../pre-order-collection/pre-order-collection.schema");
9
12
  const money_schema_1 = require("../money.schema");
10
13
  exports.PreOrderSchema = zod_1.z.object({
14
+ conversionOrders: pre_order_conversion_current_order_schema_1.PreOrderConversionCurrentOrderSchema.array().optional(),
15
+ conversionChanges: pre_order_conversion_change_schema_1.PreOrderConversionChangeSchema.array().optional(),
16
+ conversionSummary: pre_order_conversion_summary_schema_1.PreOrderConversionSummarySchema.nullable().optional(),
11
17
  uuid: zod_1.z.string(),
12
18
  clientUUID: zod_1.z.string(),
13
19
  branchUUID: zod_1.z.string().nullable(),
@@ -53,7 +59,14 @@ exports.UpdatablePreOrderStatusSchema = zod_1.z.enum([
53
59
  pre_order_status_enum_1.PreOrderStatusEnum.VERIFIED,
54
60
  pre_order_status_enum_1.PreOrderStatusEnum.COMPLETED,
55
61
  ]);
56
- exports.UpdatePreOrderSchema = exports.PreOrderSchema.omit({ uuid: true, preOrderNum: true, createdAt: true })
62
+ exports.UpdatePreOrderSchema = exports.PreOrderSchema.omit({
63
+ uuid: true,
64
+ preOrderNum: true,
65
+ createdAt: true,
66
+ conversionOrders: true,
67
+ conversionSummary: true,
68
+ conversionChanges: true,
69
+ })
57
70
  .partial()
58
71
  .extend({ status: exports.UpdatablePreOrderStatusSchema.optional() });
59
72
  exports.CreatePreOrderWebshopSchema = exports.PreOrderSchema.pick({ branchUUID: true, comment: true }).extend({
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RevertPreOrderConversionOrderSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ exports.RevertPreOrderConversionOrderSchema = zod_1.z.object({
6
+ uuid: zod_1.z.uuid(),
7
+ number: zod_1.z.number().int(),
8
+ });
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RevertPreOrderConversionResponseSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const revert_pre_order_conversion_result_schema_1 = require("./revert-pre-order-conversion-result.schema");
6
+ exports.RevertPreOrderConversionResponseSchema = zod_1.z.object({
7
+ data: revert_pre_order_conversion_result_schema_1.RevertPreOrderConversionResultSchema,
8
+ });
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RevertPreOrderConversionResultSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const pre_order_status_enum_1 = require("../../enum/pre-order-status.enum");
6
+ const revert_pre_order_conversion_order_schema_1 = require("./revert-pre-order-conversion-order.schema");
7
+ exports.RevertPreOrderConversionResultSchema = zod_1.z.object({
8
+ status: zod_1.z.enum(pre_order_status_enum_1.PreOrderStatusEnum),
9
+ deletedOrders: revert_pre_order_conversion_order_schema_1.RevertPreOrderConversionOrderSchema.array(),
10
+ });
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UpdatePreOrderWebshopResponseSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const pre_order_for_client_schema_1 = require("./pre-order-for-client.schema");
6
+ exports.UpdatePreOrderWebshopResponseSchema = zod_1.z.object({ message: zod_1.z.string().optional(), data: pre_order_for_client_schema_1.PreOrderForClientSchema });
@@ -1,11 +1,7 @@
1
- import { z } from 'zod';
2
- import { PreOrderSchema } from '../../schemas';
3
-
4
- const GetPreOrderResponseSchema = z.object({
5
- data: PreOrderSchema,
6
- });
1
+ import type { z } from 'zod';
2
+ import { GetPreOrderByCollectionForClientResponseSchema } from '../../schemas/pre-order/get-pre-order-by-collection-for-client-response.schema';
7
3
 
8
4
  export namespace GetPreOrderByPreOrderCollectionUuidContractCommand {
9
- export const ResponseSchema = GetPreOrderResponseSchema;
5
+ export const ResponseSchema = GetPreOrderByCollectionForClientResponseSchema;
10
6
  export type Response = z.infer<typeof ResponseSchema>;
11
7
  }
@@ -1,52 +1,6 @@
1
- import { z } from 'zod';
2
- import {
3
- MatchingConfigSchema,
4
- PreOrderProductExtendedSchema,
5
- PreOrderWithClientSchema,
6
- ProductExtendedForAdminSchema,
7
- } from '../../../schemas';
8
-
9
- const AnalyzeCreateOrdersFromPreOrdersRequestSchema = z.object({
10
- preOrderUUIDs: z.uuid().array(),
11
- consignmentUUIDs: z.uuid().array(),
12
- matchingConfig: MatchingConfigSchema.optional().nullable(),
13
- isProportionalAllocation: z.coerce.boolean().optional(),
14
- });
15
-
16
- const AnalyzeCreateOrdersFromPreOrdersResponseSchema = z.object({
17
- message: z.string().optional(),
18
- data: z.object({
19
- analyses: z.array(
20
- z.object({
21
- preOrder: PreOrderWithClientSchema,
22
- mappings: z.record(
23
- z.string(),
24
- z.object({
25
- item: PreOrderProductExtendedSchema,
26
- matches: z.array(
27
- z.object({
28
- product: ProductExtendedForAdminSchema,
29
- quantity: z.number(),
30
- remainingBalance: z.number(),
31
- }),
32
- ),
33
- warnings: z.array(z.string()),
34
- remainingQuantity: z.number(),
35
- }),
36
- ),
37
- warnings: z.array(z.string()),
38
- }),
39
- ),
40
- errorList: z
41
- .array(
42
- z.object({
43
- code: z.string(),
44
- message: z.string(),
45
- }),
46
- )
47
- .optional(),
48
- }),
49
- });
1
+ import type { z } from 'zod';
2
+ import { AnalyzeCreateOrdersFromPreOrdersRequestSchema } from '../../../schemas/pre-order/analyze-create-orders-from-pre-orders-request.schema';
3
+ import { AnalyzeCreateOrdersFromPreOrdersResponseSchema } from '../../../schemas/pre-order/analyze-create-orders-from-pre-orders-response.schema';
50
4
 
51
5
  export namespace AnalyzeCreateOrdersFromPreOrdersContractCommand {
52
6
  export const RequestSchema = AnalyzeCreateOrdersFromPreOrdersRequestSchema;
@@ -1,54 +1,6 @@
1
- import { z } from 'zod';
2
- import { MatchingConfigSchema, OrderSchema } from '../../../schemas';
3
-
4
- const GroupCreateOrdersFromPreOrdersRequestSchema = z.object({
5
- preOrderUUIDs: z.uuid().array(),
6
- consignmentUUIDs: z.uuid().array(),
7
- matchingConfig: MatchingConfigSchema.optional().nullable(),
8
- isProportionalAllocation: z.coerce.boolean().optional(),
9
- orderProductTag: z.string().nullable().optional(),
10
- /**
11
- * The conversion the user confirmed in the preview. Without it the server re-runs the analysis
12
- * and converts whatever it finds at that moment; with it the analysis is skipped and exactly
13
- * these allocations are created. Carries product choice and quantity only — prices always stay
14
- * server-side (product price + discount rules).
15
- */
16
- plan: z
17
- .object({
18
- preOrderUUID: z.uuid(),
19
- lines: z
20
- .object({
21
- preOrderProductUUID: z.uuid(),
22
- allocations: z.object({ productUUID: z.uuid(), quantity: z.number().int().positive() }).array(),
23
- })
24
- .array(),
25
- })
26
- .array()
27
- .optional(),
28
- });
29
-
30
- const GroupCreateOrdersFromPreOrdersResponseSchema = z.object({
31
- message: z.string().optional(),
32
- data: z.object({
33
- created: z
34
- .object({
35
- preOrderUUID: z.uuid(),
36
- orders: OrderSchema.extend({
37
- warnings: z.string().array(),
38
- }).array(),
39
- })
40
- .array(),
41
- failed: z
42
- .object({
43
- preOrderUUID: z.uuid(),
44
- error: z.object({
45
- code: z.string(),
46
- message: z.string(),
47
- }),
48
- })
49
- .array(),
50
- }),
51
- });
1
+ import type { z } from 'zod';
2
+ import { GroupCreateOrdersFromPreOrdersRequestSchema } from '../../../schemas/pre-order/group-create-orders-from-pre-orders-request.schema';
3
+ import { GroupCreateOrdersFromPreOrdersResponseSchema } from '../../../schemas/pre-order/group-create-orders-from-pre-orders-response.schema';
52
4
 
53
5
  export namespace GroupCreateOrdersFromPreOrdersContractCommand {
54
6
  export const RequestSchema = GroupCreateOrdersFromPreOrdersRequestSchema;
@@ -11,3 +11,4 @@ export * from './create-order-from-pre-order.command';
11
11
  export * from './import-standing-order.command';
12
12
  export * from './get-standing-order-import-template.command';
13
13
  export * from './export-pre-order.command';
14
+ export * from './revert-pre-order-conversion.command';
@@ -0,0 +1,7 @@
1
+ import type { z } from 'zod';
2
+ import { RevertPreOrderConversionResponseSchema } from '../../schemas/pre-order/revert-pre-order-conversion-response.schema';
3
+
4
+ export namespace RevertPreOrderConversionContractCommand {
5
+ export const ResponseSchema = RevertPreOrderConversionResponseSchema;
6
+ export type Response = z.infer<typeof ResponseSchema>;
7
+ }
@@ -1,17 +1,6 @@
1
- import { z } from 'zod';
2
- import { PreOrderSchema } from '../../../schemas';
3
-
4
- const CheckoutPreOrderWebshopRequestSchema = z
5
- .object({
6
- comment: z.string().nullable().optional(),
7
- branchUUID: z.string().nullable().optional(),
8
- })
9
- .default({});
10
-
11
- const CheckoutPreOrderWebshopResponseSchema = z.object({
12
- message: z.string().optional(),
13
- data: PreOrderSchema,
14
- });
1
+ import { CheckoutPreOrderWebshopRequestSchema } from '../../../schemas/pre-order/checkout-pre-order-webshop-request.schema';
2
+ import { CheckoutPreOrderWebshopResponseSchema } from '../../../schemas/pre-order/checkout-pre-order-webshop-response.schema';
3
+ import type { z } from 'zod';
15
4
 
16
5
  export namespace CheckoutPreOrderWebshopContractCommand {
17
6
  export const RequestSchema = CheckoutPreOrderWebshopRequestSchema;
@@ -1,10 +1,6 @@
1
- import { z } from 'zod';
2
- import { CreatePreOrderWebshopSchema, PreOrderSchema } from '../../../schemas';
3
-
4
- const CreatePreOrderWebshopResponseSchema = z.object({
5
- message: z.string().optional(),
6
- data: PreOrderSchema,
7
- });
1
+ import { CreatePreOrderWebshopResponseSchema } from '../../../schemas/pre-order/create-pre-order-webshop-response.schema';
2
+ import type { z } from 'zod';
3
+ import { CreatePreOrderWebshopSchema } from '../../../schemas';
8
4
 
9
5
  export namespace CreatePreOrderWebshopContractCommand {
10
6
  export const RequestSchema = CreatePreOrderWebshopSchema;
@@ -1,10 +1,6 @@
1
- import { z } from 'zod';
2
- import { UpdatePreOrderWebshopSchema, PreOrderSchema } from '../../../schemas';
3
-
4
- const UpdatePreOrderWebshopResponseSchema = z.object({
5
- message: z.string().optional(),
6
- data: PreOrderSchema,
7
- });
1
+ import { UpdatePreOrderWebshopResponseSchema } from '../../../schemas/pre-order/update-pre-order-webshop-response.schema';
2
+ import type { z } from 'zod';
3
+ import { UpdatePreOrderWebshopSchema } from '../../../schemas';
8
4
 
9
5
  export namespace UpdatePreOrderWebshopContractCommand {
10
6
  export const RequestSchema = UpdatePreOrderWebshopSchema;
package/constant/error.ts CHANGED
@@ -1112,6 +1112,41 @@ export const ERRORS = {
1112
1112
  message: 'Failed to create standing-order position from pre-order position',
1113
1113
  httpCode: 400,
1114
1114
  },
1115
+ PRE_ORDER_ALREADY_CONVERTED: {
1116
+ code: 'PO059',
1117
+ message: 'The pre-order has already been converted into orders.',
1118
+ httpCode: 409,
1119
+ },
1120
+ PRE_ORDER_NOTHING_MATCHED: {
1121
+ code: 'PO057',
1122
+ message: 'Nothing matched; the pre-order remains open.',
1123
+ httpCode: 400,
1124
+ },
1125
+ PRE_ORDER_CLOSE_REMAINDER_CONFIRMATION_REQUIRED: {
1126
+ code: 'PO058',
1127
+ message: 'Confirm closing the unallocated remainder before conversion.',
1128
+ httpCode: 400,
1129
+ },
1130
+ PRE_ORDER_NOT_CONVERTED: {
1131
+ code: 'PO060',
1132
+ message: 'The pre-order has not been converted into orders.',
1133
+ httpCode: 409,
1134
+ },
1135
+ PRE_ORDER_CONVERSION_REVERT_ORDERS_IN_WORK: {
1136
+ code: 'PO061',
1137
+ message: 'Orders from this conversion are already in work, so the conversion cannot be reverted.',
1138
+ httpCode: 409,
1139
+ },
1140
+ PRE_ORDER_CONVERSION_REVERT_ROWS_MOVED: {
1141
+ code: 'PO062',
1142
+ message: 'Goods from this conversion were moved to other orders, so the conversion cannot be reverted.',
1143
+ httpCode: 409,
1144
+ },
1145
+ PRE_ORDER_CONVERSION_SUMMARY_UNREADABLE: {
1146
+ code: 'PO063',
1147
+ message: 'The conversion snapshot cannot be read, so the orders to delete are unknown.',
1148
+ httpCode: 409,
1149
+ },
1115
1150
  PRE_ORDER_CONVERSION_ANALYSIS_STALE: {
1116
1151
  code: 'PO048',
1117
1152
  message: 'The pre-order changed after the conversion analysis, analyze it again',
package/enum/index.ts CHANGED
@@ -152,3 +152,10 @@ export * from './write-off-status.enum';
152
152
  export * from './one-c-stock-conflict-status.enum';
153
153
  export * from './one-c-stock-conflict-line-action.enum';
154
154
  export * from './one-c-stock-conflict-line-restriction.enum';
155
+ export * from './pre-order-conversion-match-kind.enum';
156
+ export * from './pre-order-conversion-warning.enum';
157
+ export * from './pre-order-conversion-remainder-reason.enum';
158
+ export * from './pre-order-conversion-difference-field.enum';
159
+ export * from './pre-order-conversion-skip-reason.enum';
160
+
161
+ export * from './pre-order-fulfillment-status.enum';
@@ -0,0 +1,7 @@
1
+ export enum PreOrderConversionDifferenceFieldEnum {
2
+ NAME = 'name',
3
+ SIZE = 'size',
4
+ COLOR = 'color',
5
+ GROWER = 'grower',
6
+ CATEGORY = 'categoryUUID',
7
+ }
@@ -0,0 +1,4 @@
1
+ export enum PreOrderConversionMatchKindEnum {
2
+ EXACT = 'EXACT',
3
+ SUBSTITUTE = 'SUBSTITUTE',
4
+ }
@@ -0,0 +1,6 @@
1
+ export enum PreOrderConversionRemainderReasonEnum {
2
+ NO_MATCH = 'NO_MATCH',
3
+ INSUFFICIENT_STOCK = 'INSUFFICIENT_STOCK',
4
+ MULTIPLICITY = 'MULTIPLICITY',
5
+ EXCLUDED_BY_EMPLOYEE = 'EXCLUDED_BY_EMPLOYEE',
6
+ }
@@ -0,0 +1,3 @@
1
+ export enum PreOrderConversionSkipReasonEnum {
2
+ NOTHING_MATCHED = 'NOTHING_MATCHED',
3
+ }
@@ -0,0 +1,4 @@
1
+ export enum PreOrderConversionWarningEnum {
2
+ STOP_PRICE_EXCEEDED = 'STOP_PRICE_EXCEEDED',
3
+ REPLACEMENT_NOT_ALLOWED = 'REPLACEMENT_NOT_ALLOWED',
4
+ }
@@ -0,0 +1,6 @@
1
+ export enum PreOrderFulfillmentStatusEnum {
2
+ FULL = 'FULL',
3
+ PARTIAL = 'PARTIAL',
4
+ NOT_MATCHED = 'NOT_MATCHED',
5
+ NOT_IN_CONVERSION = 'NOT_IN_CONVERSION',
6
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@floristcloud/api-lib",
3
- "version": "1.2.176",
3
+ "version": "1.2.177",
4
4
  "description": "",
5
5
  "main": "./build/index.js",
6
6
  "scripts": {
@@ -0,0 +1,8 @@
1
+ import { z } from 'zod';
2
+ import { PreOrderConversionAnalysisSchema } from './pre-order-conversion-analysis.schema';
3
+ import { PreOrderConversionErrorSchema } from './pre-order-conversion-error.schema';
4
+
5
+ export const AnalyzeCreateOrdersFromPreOrdersDataSchema = z.object({
6
+ analyses: z.array(PreOrderConversionAnalysisSchema),
7
+ errorList: z.array(PreOrderConversionErrorSchema).optional(),
8
+ });
@@ -0,0 +1,11 @@
1
+ import { PreOrderConversionPreviewPlanEntrySchema } from './pre-order-conversion-preview-plan-entry.schema';
2
+ import { z } from 'zod';
3
+ import { MatchingConfigSchema } from '../pre-order-product/matching-config.schema';
4
+
5
+ export const AnalyzeCreateOrdersFromPreOrdersRequestSchema = z.object({
6
+ plan: PreOrderConversionPreviewPlanEntrySchema.array().optional(),
7
+ preOrderUUIDs: z.uuid().array(),
8
+ consignmentUUIDs: z.uuid().array(),
9
+ matchingConfig: MatchingConfigSchema.optional().nullable(),
10
+ isProportionalAllocation: z.coerce.boolean().optional(),
11
+ });
@@ -0,0 +1,7 @@
1
+ import { z } from 'zod';
2
+ import { AnalyzeCreateOrdersFromPreOrdersDataSchema } from './analyze-create-orders-from-pre-orders-data.schema';
3
+
4
+ export const AnalyzeCreateOrdersFromPreOrdersResponseSchema = z.object({
5
+ message: z.string().optional(),
6
+ data: AnalyzeCreateOrdersFromPreOrdersDataSchema,
7
+ });
@@ -0,0 +1,4 @@
1
+ import { z } from 'zod';
2
+ export const CheckoutPreOrderWebshopRequestSchema = z
3
+ .object({ comment: z.string().nullable().optional(), branchUUID: z.string().nullable().optional() })
4
+ .default({});
@@ -0,0 +1,3 @@
1
+ import { z } from 'zod';
2
+ import { PreOrderForClientSchema } from './pre-order-for-client.schema';
3
+ export const CheckoutPreOrderWebshopResponseSchema = z.object({ message: z.string().optional(), data: PreOrderForClientSchema });
@@ -0,0 +1,3 @@
1
+ import { z } from 'zod';
2
+ import { PreOrderForClientSchema } from './pre-order-for-client.schema';
3
+ export const CreatePreOrderWebshopResponseSchema = z.object({ message: z.string().optional(), data: PreOrderForClientSchema });
@@ -0,0 +1,3 @@
1
+ import { z } from 'zod';
2
+ import { PreOrderForClientSchema } from './pre-order-for-client.schema';
3
+ export const GetPreOrderByCollectionForClientResponseSchema = z.object({ data: PreOrderForClientSchema });