@floristcloud/api-lib 1.2.148 → 1.2.150

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.
@@ -5,8 +5,10 @@ var ActionLogTypeEnum;
5
5
  (function (ActionLogTypeEnum) {
6
6
  ActionLogTypeEnum["CONFIRM_ORDER"] = "CONFIRM_ORDER";
7
7
  ActionLogTypeEnum["UPDATE_ORDER_STATUS"] = "UPDATE_ORDER_STATUS";
8
+ ActionLogTypeEnum["UPDATE_ORDER"] = "UPDATE_ORDER";
8
9
  ActionLogTypeEnum["CREATE_ORDER"] = "CREATE_ORDER";
9
10
  ActionLogTypeEnum["DELETE_ORDER"] = "DELETE_ORDER";
11
+ ActionLogTypeEnum["CREATE_ORDER_ITEM"] = "CREATE_ORDER_ITEM";
10
12
  ActionLogTypeEnum["DELETE_ORDER_ITEM"] = "DELETE_ORDER_ITEM";
11
13
  ActionLogTypeEnum["UPDATE_ORDER_ITEM"] = "UPDATE_ORDER_ITEM";
12
14
  ActionLogTypeEnum["VERIFY_ORDER_ITEM"] = "VERIFY_ORDER_ITEM";
@@ -22,6 +24,8 @@ var ActionLogTypeEnum;
22
24
  ActionLogTypeEnum["DELETE_PREORDER"] = "DELETE_PREORDER";
23
25
  ActionLogTypeEnum["DELETE_PREORDER_ITEM"] = "DELETE_PREORDER_ITEM";
24
26
  ActionLogTypeEnum["UPDATE_PREORDER_ITEM"] = "UPDATE_PREORDER_ITEM";
27
+ ActionLogTypeEnum["CREATE_PREORDER_ITEM"] = "CREATE_PREORDER_ITEM";
28
+ ActionLogTypeEnum["MOVE_PREORDER_ITEM"] = "MOVE_PREORDER_ITEM";
25
29
  ActionLogTypeEnum["UPDATE_CONSIGNMENT_ITEM"] = "UPDATE_CONSIGNMENT_ITEM";
26
30
  ActionLogTypeEnum["CREATE_CONSIGNMENT_ITEMS"] = "CREATE_CONSIGNMENT_ITEMS";
27
31
  ActionLogTypeEnum["DELETE_CONSIGNMENT_ITEMS"] = "DELETE_CONSIGNMENT_ITEMS";
@@ -133,3 +133,4 @@ __exportStar(require("./product-image-duplicate-mode.enum"), exports);
133
133
  __exportStar(require("./user-activity-section.enum"), exports);
134
134
  __exportStar(require("./user-activity-action-type.enum"), exports);
135
135
  __exportStar(require("./user-activity-source.enum"), exports);
136
+ __exportStar(require("./order-updated-field.enum"), exports);
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OrderUpdatedFieldEnum = void 0;
4
+ /**
5
+ * Поля заказа, изменение которых попадает в журнал.
6
+ *
7
+ * Перечисление, а не свободная строка: фронт подписывает изменение по этому значению, и опечатка
8
+ * в названии поля обязана ломать компиляцию, а не превращаться в пустую строку в журнале.
9
+ * Статус сюда не входит — у него свой тип записи `UPDATE_ORDER_STATUS`.
10
+ */
11
+ var OrderUpdatedFieldEnum;
12
+ (function (OrderUpdatedFieldEnum) {
13
+ OrderUpdatedFieldEnum["CLIENT"] = "CLIENT";
14
+ OrderUpdatedFieldEnum["BRANCH"] = "BRANCH";
15
+ OrderUpdatedFieldEnum["DELIVERY_COST"] = "DELIVERY_COST";
16
+ OrderUpdatedFieldEnum["TYPE"] = "TYPE";
17
+ OrderUpdatedFieldEnum["COMMENT"] = "COMMENT";
18
+ OrderUpdatedFieldEnum["CLIENT_COMMENT"] = "CLIENT_COMMENT";
19
+ OrderUpdatedFieldEnum["TAG"] = "TAG";
20
+ OrderUpdatedFieldEnum["IS_PAID"] = "IS_PAID";
21
+ OrderUpdatedFieldEnum["COMPLETED_AT"] = "COMPLETED_AT";
22
+ OrderUpdatedFieldEnum["PAYMENT_DUE_AT"] = "PAYMENT_DUE_AT";
23
+ })(OrderUpdatedFieldEnum || (exports.OrderUpdatedFieldEnum = OrderUpdatedFieldEnum = {}));
@@ -5,8 +5,11 @@ const zod_1 = require("zod");
5
5
  const order_delete_action_log_payload_schema_1 = require("./order-delete-action-log-payload.schema");
6
6
  const order_merge_action_log_schema_1 = require("./order-merge-action-log.schema");
7
7
  const order_product_delete_action_log_schema_1 = require("./order-product-delete-action-log.schema");
8
+ const order_product_create_action_log_schema_1 = require("./order-product-create-action-log.schema");
9
+ const order_fields_update_action_log_schema_1 = require("./order-fields-update-action-log.schema");
8
10
  const order_product_move_action_log_schema_1 = require("./order-product-move-action-log.schema");
9
11
  const order_product_update_action_log_schema_1 = require("./order-product-update-action-log.schema");
12
+ const order_product_verify_action_log_schema_1 = require("./order-product-verify-action-log.schema");
10
13
  const order_update_action_log_schema_1 = require("./order-update-action-log.schema");
11
14
  const transaction_add_action_log_schema_1 = require("./transaction-add-action-log.schema");
12
15
  const transaction_delete_action_log_schema_1 = require("./transaction-delete-action-log.schema");
@@ -15,6 +18,8 @@ const pre_order_create_action_log_schema_1 = require("./pre-order-create-action-
15
18
  const pre_order_delete_action_log_schema_1 = require("./pre-order-delete-action-log.schema");
16
19
  const pre_order_product_update_action_log_schema_1 = require("./pre-order-product-update-action-log.schema");
17
20
  const pre_order_product_delete_action_log_schema_1 = require("./pre-order-product-delete-action-log.schema");
21
+ const pre_order_product_create_action_log_schema_1 = require("./pre-order-product-create-action-log.schema");
22
+ const pre_order_product_move_action_log_schema_1 = require("./pre-order-product-move-action-log.schema");
18
23
  const consignment_product_update_action_log_schema_1 = require("./consignment-product-update-action-log.schema");
19
24
  const consignment_items_create_action_log_schema_1 = require("./consignment-items-create-action-log.schema");
20
25
  const consignment_items_delete_action_log_schema_1 = require("./consignment-items-delete-action-log.schema");
@@ -23,13 +28,19 @@ const transfer_consignment_items_action_log_schema_1 = require("./transfer-consi
23
28
  const normalize_attributes_action_log_schema_1 = require("./normalize-attributes-action-log.schema");
24
29
  const merge_product_images_action_log_schema_1 = require("./merge-product-images-action-log.schema");
25
30
  const import_transactions_action_log_schema_1 = require("./import-transactions-action-log.schema");
31
+ // Плоский союз payload без привязки к типу действия. Источник правды о паре тип↔payload —
32
+ // ActionLogSchema, здесь только формы: вариант, забытый тут, не ломает чтение журнала, но
33
+ // оставляет потребителя контракта с типом, в котором не хватает полей.
26
34
  exports.ActionLogPayloadSchema = zod_1.z.union([
27
35
  order_delete_action_log_payload_schema_1.OrderDeleteActionLogPayloadSchema,
28
36
  order_merge_action_log_schema_1.OrderMergeActionLogSchema,
37
+ order_product_create_action_log_schema_1.OrderProductCreateActionLogSchema,
29
38
  order_product_delete_action_log_schema_1.OrderProductDeleteActionLogSchema,
30
39
  order_product_move_action_log_schema_1.OrderProductMoveActionLogSchema,
31
40
  order_product_update_action_log_schema_1.OrderProductUpdateActionLogSchema,
41
+ order_product_verify_action_log_schema_1.OrderProductVerifyActionLogSchema,
32
42
  order_update_action_log_schema_1.OrderUpdateActionLogSchema,
43
+ order_fields_update_action_log_schema_1.OrderFieldsUpdateActionLogSchema,
33
44
  transaction_add_action_log_schema_1.TransactionAddActionLogSchema,
34
45
  transaction_delete_action_log_schema_1.TransactionDeleteActionLogSchema,
35
46
  order_create_action_log_schema_1.OrderCreateActionLogSchema,
@@ -37,6 +48,8 @@ exports.ActionLogPayloadSchema = zod_1.z.union([
37
48
  pre_order_delete_action_log_schema_1.PreOrderDeleteActionLogSchema,
38
49
  pre_order_product_update_action_log_schema_1.PreOrderProductUpdateActionLogSchema,
39
50
  pre_order_product_delete_action_log_schema_1.PreOrderProductDeleteActionLogSchema,
51
+ pre_order_product_create_action_log_schema_1.PreOrderProductCreateActionLogSchema,
52
+ pre_order_product_move_action_log_schema_1.PreOrderProductMoveActionLogSchema,
40
53
  consignment_product_update_action_log_schema_1.ConsignmentProductUpdateActionLogSchema,
41
54
  consignment_items_create_action_log_schema_1.ConsignmentItemsCreateActionLogSchema,
42
55
  consignment_items_delete_action_log_schema_1.ConsignmentItemsDeleteActionLogSchema,
@@ -6,6 +6,8 @@ const enum_1 = require("../../enum");
6
6
  const order_delete_action_log_payload_schema_1 = require("./order-delete-action-log-payload.schema");
7
7
  const order_merge_action_log_schema_1 = require("./order-merge-action-log.schema");
8
8
  const order_product_delete_action_log_schema_1 = require("./order-product-delete-action-log.schema");
9
+ const order_product_create_action_log_schema_1 = require("./order-product-create-action-log.schema");
10
+ const order_fields_update_action_log_schema_1 = require("./order-fields-update-action-log.schema");
9
11
  const order_product_move_action_log_schema_1 = require("./order-product-move-action-log.schema");
10
12
  const order_product_update_action_log_schema_1 = require("./order-product-update-action-log.schema");
11
13
  const order_product_verify_action_log_schema_1 = require("./order-product-verify-action-log.schema");
@@ -17,6 +19,8 @@ const pre_order_create_action_log_schema_1 = require("./pre-order-create-action-
17
19
  const pre_order_delete_action_log_schema_1 = require("./pre-order-delete-action-log.schema");
18
20
  const pre_order_product_update_action_log_schema_1 = require("./pre-order-product-update-action-log.schema");
19
21
  const pre_order_product_delete_action_log_schema_1 = require("./pre-order-product-delete-action-log.schema");
22
+ const pre_order_product_create_action_log_schema_1 = require("./pre-order-product-create-action-log.schema");
23
+ const pre_order_product_move_action_log_schema_1 = require("./pre-order-product-move-action-log.schema");
20
24
  const consignment_product_update_action_log_schema_1 = require("./consignment-product-update-action-log.schema");
21
25
  const consignment_items_create_action_log_schema_1 = require("./consignment-items-create-action-log.schema");
22
26
  const consignment_items_delete_action_log_schema_1 = require("./consignment-items-delete-action-log.schema");
@@ -45,6 +49,18 @@ exports.ActionLogSchema = zod_1.z.discriminatedUnion('actionType', [
45
49
  payload: order_product_delete_action_log_schema_1.OrderProductDeleteActionLogSchema,
46
50
  })
47
51
  .merge(BaseActionFields),
52
+ zod_1.z
53
+ .object({
54
+ actionType: zod_1.z.literal(enum_1.ActionLogTypeEnum.CREATE_ORDER_ITEM),
55
+ payload: order_product_create_action_log_schema_1.OrderProductCreateActionLogSchema,
56
+ })
57
+ .merge(BaseActionFields),
58
+ zod_1.z
59
+ .object({
60
+ actionType: zod_1.z.literal(enum_1.ActionLogTypeEnum.UPDATE_ORDER),
61
+ payload: order_fields_update_action_log_schema_1.OrderFieldsUpdateActionLogSchema,
62
+ })
63
+ .merge(BaseActionFields),
48
64
  zod_1.z
49
65
  .object({
50
66
  actionType: zod_1.z.literal(enum_1.ActionLogTypeEnum.UPDATE_ORDER_ITEM),
@@ -117,6 +133,18 @@ exports.ActionLogSchema = zod_1.z.discriminatedUnion('actionType', [
117
133
  payload: pre_order_product_delete_action_log_schema_1.PreOrderProductDeleteActionLogSchema,
118
134
  })
119
135
  .merge(BaseActionFields),
136
+ zod_1.z
137
+ .object({
138
+ actionType: zod_1.z.literal(enum_1.ActionLogTypeEnum.CREATE_PREORDER_ITEM),
139
+ payload: pre_order_product_create_action_log_schema_1.PreOrderProductCreateActionLogSchema,
140
+ })
141
+ .merge(BaseActionFields),
142
+ zod_1.z
143
+ .object({
144
+ actionType: zod_1.z.literal(enum_1.ActionLogTypeEnum.MOVE_PREORDER_ITEM),
145
+ payload: pre_order_product_move_action_log_schema_1.PreOrderProductMoveActionLogSchema,
146
+ })
147
+ .merge(BaseActionFields),
120
148
  zod_1.z
121
149
  .object({
122
150
  actionType: zod_1.z.literal(enum_1.ActionLogTypeEnum.CONFIRM_ORDER),
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OrderFieldsUpdateActionLogSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const order_updated_field_enum_1 = require("../../enum/order-updated-field.enum");
6
+ /**
7
+ * Правка заказа помимо статуса: клиент, филиал, стоимость доставки, тип, комментарии, метка,
8
+ * признак оплаты и даты. Раньше такие изменения следов не оставляли — в журнале была только смена
9
+ * статуса, хотя правка меняет и сумму заказа, и баланс клиента.
10
+ *
11
+ * Отдельно от `OrderUpdateActionLogSchema`: та описывает смену статуса (`UPDATE_ORDER_STATUS`) и
12
+ * хранит пару старый/новый статус.
13
+ *
14
+ * Значения хранятся строками: журнал показывает снимок, а не типизированные данные, и одна форма
15
+ * на все поля избавляет от ветвления при отрисовке. `null` — значение отсутствовало.
16
+ */
17
+ exports.OrderFieldsUpdateActionLogSchema = zod_1.z.object({
18
+ changes: zod_1.z
19
+ .array(zod_1.z.object({
20
+ field: zod_1.z.nativeEnum(order_updated_field_enum_1.OrderUpdatedFieldEnum),
21
+ oldValue: zod_1.z.string().nullable(),
22
+ newValue: zod_1.z.string().nullable(),
23
+ }))
24
+ .min(1),
25
+ });
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OrderProductCreateActionLogSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const order_product_info_schema_1 = require("./order-product-info.schema");
6
+ /**
7
+ * Позиция, добавленная в заказ. Форма та же, что у удаления: журнал показывает, что именно
8
+ * появилось в заказе — товар, категорию, количество, цену и поставку на момент добавления.
9
+ */
10
+ exports.OrderProductCreateActionLogSchema = zod_1.z.object({
11
+ orderProduct: order_product_info_schema_1.OrderProductInfoSchema,
12
+ });
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PreOrderProductCreateActionLogSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const pre_order_product_info_schema_1 = require("./pre-order-product-info.schema");
6
+ /**
7
+ * Позиция, добавленная в предзаказ. Форма та же, что у удаления: журнал показывает, что именно
8
+ * появилось в предзаказе — название, категорию, количество и цену на момент добавления.
9
+ */
10
+ exports.PreOrderProductCreateActionLogSchema = zod_1.z.object({
11
+ preOrderProduct: pre_order_product_info_schema_1.PreOrderProductInfoSchema,
12
+ });
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PreOrderProductMoveActionLogSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const pre_order_product_info_schema_1 = require("./pre-order-product-info.schema");
6
+ /**
7
+ * Перенос позиции между предзаказами.
8
+ *
9
+ * Запись пишется в журнал обоих предзаказов — ушедшего и принявшего, — поэтому в payload лежат оба
10
+ * uuid: по одной записи нельзя понять, откуда смотрят. Исходная позиция при переносе удаляется
11
+ * всегда. `isSourcePreOrderDeleted` — фактический итог для исходного предзаказа: удалён ли он,
12
+ * опустев после переноса. Это не флаг запроса: при частичном переносе предзаказ остаётся.
13
+ */
14
+ exports.PreOrderProductMoveActionLogSchema = zod_1.z.object({
15
+ preOrderProduct: pre_order_product_info_schema_1.PreOrderProductInfoSchema,
16
+ fromPreOrderUUID: zod_1.z.string(),
17
+ toPreOrderUUID: zod_1.z.string(),
18
+ isSourcePreOrderDeleted: zod_1.z.boolean(),
19
+ });
@@ -1,8 +1,10 @@
1
1
  export enum ActionLogTypeEnum {
2
2
  CONFIRM_ORDER = 'CONFIRM_ORDER',
3
3
  UPDATE_ORDER_STATUS = 'UPDATE_ORDER_STATUS',
4
+ UPDATE_ORDER = 'UPDATE_ORDER',
4
5
  CREATE_ORDER = 'CREATE_ORDER',
5
6
  DELETE_ORDER = 'DELETE_ORDER',
7
+ CREATE_ORDER_ITEM = 'CREATE_ORDER_ITEM',
6
8
  DELETE_ORDER_ITEM = 'DELETE_ORDER_ITEM',
7
9
  UPDATE_ORDER_ITEM = 'UPDATE_ORDER_ITEM',
8
10
  VERIFY_ORDER_ITEM = 'VERIFY_ORDER_ITEM',
@@ -18,6 +20,8 @@ export enum ActionLogTypeEnum {
18
20
  DELETE_PREORDER = 'DELETE_PREORDER',
19
21
  DELETE_PREORDER_ITEM = 'DELETE_PREORDER_ITEM',
20
22
  UPDATE_PREORDER_ITEM = 'UPDATE_PREORDER_ITEM',
23
+ CREATE_PREORDER_ITEM = 'CREATE_PREORDER_ITEM',
24
+ MOVE_PREORDER_ITEM = 'MOVE_PREORDER_ITEM',
21
25
  UPDATE_CONSIGNMENT_ITEM = 'UPDATE_CONSIGNMENT_ITEM',
22
26
  CREATE_CONSIGNMENT_ITEMS = 'CREATE_CONSIGNMENT_ITEMS',
23
27
  DELETE_CONSIGNMENT_ITEMS = 'DELETE_CONSIGNMENT_ITEMS',
package/enum/index.ts CHANGED
@@ -117,3 +117,4 @@ export * from './product-image-duplicate-mode.enum';
117
117
  export * from './user-activity-section.enum';
118
118
  export * from './user-activity-action-type.enum';
119
119
  export * from './user-activity-source.enum';
120
+ export * from './order-updated-field.enum';
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Поля заказа, изменение которых попадает в журнал.
3
+ *
4
+ * Перечисление, а не свободная строка: фронт подписывает изменение по этому значению, и опечатка
5
+ * в названии поля обязана ломать компиляцию, а не превращаться в пустую строку в журнале.
6
+ * Статус сюда не входит — у него свой тип записи `UPDATE_ORDER_STATUS`.
7
+ */
8
+ export enum OrderUpdatedFieldEnum {
9
+ CLIENT = 'CLIENT',
10
+ BRANCH = 'BRANCH',
11
+ DELIVERY_COST = 'DELIVERY_COST',
12
+ TYPE = 'TYPE',
13
+ COMMENT = 'COMMENT',
14
+ CLIENT_COMMENT = 'CLIENT_COMMENT',
15
+ TAG = 'TAG',
16
+ IS_PAID = 'IS_PAID',
17
+ COMPLETED_AT = 'COMPLETED_AT',
18
+ PAYMENT_DUE_AT = 'PAYMENT_DUE_AT',
19
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@floristcloud/api-lib",
3
- "version": "1.2.148",
3
+ "version": "1.2.150",
4
4
  "description": "",
5
5
  "main": "./build/index.js",
6
6
  "scripts": {
@@ -2,8 +2,11 @@ import { z } from 'zod';
2
2
  import { OrderDeleteActionLogPayloadSchema } from './order-delete-action-log-payload.schema';
3
3
  import { OrderMergeActionLogSchema } from './order-merge-action-log.schema';
4
4
  import { OrderProductDeleteActionLogSchema } from './order-product-delete-action-log.schema';
5
+ import { OrderProductCreateActionLogSchema } from './order-product-create-action-log.schema';
6
+ import { OrderFieldsUpdateActionLogSchema } from './order-fields-update-action-log.schema';
5
7
  import { OrderProductMoveActionLogSchema } from './order-product-move-action-log.schema';
6
8
  import { OrderProductUpdateActionLogSchema } from './order-product-update-action-log.schema';
9
+ import { OrderProductVerifyActionLogSchema } from './order-product-verify-action-log.schema';
7
10
  import { OrderUpdateActionLogSchema } from './order-update-action-log.schema';
8
11
  import { TransactionAddActionLogSchema } from './transaction-add-action-log.schema';
9
12
  import { TransactionDeleteActionLogSchema } from './transaction-delete-action-log.schema';
@@ -12,6 +15,8 @@ import { PreOrderCreateActionLogSchema } from './pre-order-create-action-log.sch
12
15
  import { PreOrderDeleteActionLogSchema } from './pre-order-delete-action-log.schema';
13
16
  import { PreOrderProductUpdateActionLogSchema } from './pre-order-product-update-action-log.schema';
14
17
  import { PreOrderProductDeleteActionLogSchema } from './pre-order-product-delete-action-log.schema';
18
+ import { PreOrderProductCreateActionLogSchema } from './pre-order-product-create-action-log.schema';
19
+ import { PreOrderProductMoveActionLogSchema } from './pre-order-product-move-action-log.schema';
15
20
  import { ConsignmentProductUpdateActionLogSchema } from './consignment-product-update-action-log.schema';
16
21
  import { ConsignmentItemsCreateActionLogSchema } from './consignment-items-create-action-log.schema';
17
22
  import { ConsignmentItemsDeleteActionLogSchema } from './consignment-items-delete-action-log.schema';
@@ -21,13 +26,19 @@ import { NormalizeAttributesActionLogSchema } from './normalize-attributes-actio
21
26
  import { MergeProductImagesActionLogSchema } from './merge-product-images-action-log.schema';
22
27
  import { ImportTransactionsActionLogSchema } from './import-transactions-action-log.schema';
23
28
 
29
+ // Плоский союз payload без привязки к типу действия. Источник правды о паре тип↔payload —
30
+ // ActionLogSchema, здесь только формы: вариант, забытый тут, не ломает чтение журнала, но
31
+ // оставляет потребителя контракта с типом, в котором не хватает полей.
24
32
  export const ActionLogPayloadSchema = z.union([
25
33
  OrderDeleteActionLogPayloadSchema,
26
34
  OrderMergeActionLogSchema,
35
+ OrderProductCreateActionLogSchema,
27
36
  OrderProductDeleteActionLogSchema,
28
37
  OrderProductMoveActionLogSchema,
29
38
  OrderProductUpdateActionLogSchema,
39
+ OrderProductVerifyActionLogSchema,
30
40
  OrderUpdateActionLogSchema,
41
+ OrderFieldsUpdateActionLogSchema,
31
42
  TransactionAddActionLogSchema,
32
43
  TransactionDeleteActionLogSchema,
33
44
  OrderCreateActionLogSchema,
@@ -35,6 +46,8 @@ export const ActionLogPayloadSchema = z.union([
35
46
  PreOrderDeleteActionLogSchema,
36
47
  PreOrderProductUpdateActionLogSchema,
37
48
  PreOrderProductDeleteActionLogSchema,
49
+ PreOrderProductCreateActionLogSchema,
50
+ PreOrderProductMoveActionLogSchema,
38
51
  ConsignmentProductUpdateActionLogSchema,
39
52
  ConsignmentItemsCreateActionLogSchema,
40
53
  ConsignmentItemsDeleteActionLogSchema,
@@ -3,6 +3,8 @@ import { ActionLogTypeEnum } from '../../enum';
3
3
  import { OrderDeleteActionLogPayloadSchema } from './order-delete-action-log-payload.schema';
4
4
  import { OrderMergeActionLogSchema } from './order-merge-action-log.schema';
5
5
  import { OrderProductDeleteActionLogSchema } from './order-product-delete-action-log.schema';
6
+ import { OrderProductCreateActionLogSchema } from './order-product-create-action-log.schema';
7
+ import { OrderFieldsUpdateActionLogSchema } from './order-fields-update-action-log.schema';
6
8
  import { OrderProductMoveActionLogSchema } from './order-product-move-action-log.schema';
7
9
  import { OrderProductUpdateActionLogSchema } from './order-product-update-action-log.schema';
8
10
  import { OrderProductVerifyActionLogSchema } from './order-product-verify-action-log.schema';
@@ -14,6 +16,8 @@ import { PreOrderCreateActionLogSchema } from './pre-order-create-action-log.sch
14
16
  import { PreOrderDeleteActionLogSchema } from './pre-order-delete-action-log.schema';
15
17
  import { PreOrderProductUpdateActionLogSchema } from './pre-order-product-update-action-log.schema';
16
18
  import { PreOrderProductDeleteActionLogSchema } from './pre-order-product-delete-action-log.schema';
19
+ import { PreOrderProductCreateActionLogSchema } from './pre-order-product-create-action-log.schema';
20
+ import { PreOrderProductMoveActionLogSchema } from './pre-order-product-move-action-log.schema';
17
21
  import { ConsignmentProductUpdateActionLogSchema } from './consignment-product-update-action-log.schema';
18
22
  import { ConsignmentItemsCreateActionLogSchema } from './consignment-items-create-action-log.schema';
19
23
  import { ConsignmentItemsDeleteActionLogSchema } from './consignment-items-delete-action-log.schema';
@@ -44,6 +48,18 @@ export const ActionLogSchema = z.discriminatedUnion('actionType', [
44
48
  payload: OrderProductDeleteActionLogSchema,
45
49
  })
46
50
  .merge(BaseActionFields),
51
+ z
52
+ .object({
53
+ actionType: z.literal(ActionLogTypeEnum.CREATE_ORDER_ITEM),
54
+ payload: OrderProductCreateActionLogSchema,
55
+ })
56
+ .merge(BaseActionFields),
57
+ z
58
+ .object({
59
+ actionType: z.literal(ActionLogTypeEnum.UPDATE_ORDER),
60
+ payload: OrderFieldsUpdateActionLogSchema,
61
+ })
62
+ .merge(BaseActionFields),
47
63
  z
48
64
  .object({
49
65
  actionType: z.literal(ActionLogTypeEnum.UPDATE_ORDER_ITEM),
@@ -116,6 +132,18 @@ export const ActionLogSchema = z.discriminatedUnion('actionType', [
116
132
  payload: PreOrderProductDeleteActionLogSchema,
117
133
  })
118
134
  .merge(BaseActionFields),
135
+ z
136
+ .object({
137
+ actionType: z.literal(ActionLogTypeEnum.CREATE_PREORDER_ITEM),
138
+ payload: PreOrderProductCreateActionLogSchema,
139
+ })
140
+ .merge(BaseActionFields),
141
+ z
142
+ .object({
143
+ actionType: z.literal(ActionLogTypeEnum.MOVE_PREORDER_ITEM),
144
+ payload: PreOrderProductMoveActionLogSchema,
145
+ })
146
+ .merge(BaseActionFields),
119
147
  z
120
148
  .object({
121
149
  actionType: z.literal(ActionLogTypeEnum.CONFIRM_ORDER),
@@ -0,0 +1,25 @@
1
+ import { z } from 'zod';
2
+ import { OrderUpdatedFieldEnum } from '../../enum/order-updated-field.enum';
3
+
4
+ /**
5
+ * Правка заказа помимо статуса: клиент, филиал, стоимость доставки, тип, комментарии, метка,
6
+ * признак оплаты и даты. Раньше такие изменения следов не оставляли — в журнале была только смена
7
+ * статуса, хотя правка меняет и сумму заказа, и баланс клиента.
8
+ *
9
+ * Отдельно от `OrderUpdateActionLogSchema`: та описывает смену статуса (`UPDATE_ORDER_STATUS`) и
10
+ * хранит пару старый/новый статус.
11
+ *
12
+ * Значения хранятся строками: журнал показывает снимок, а не типизированные данные, и одна форма
13
+ * на все поля избавляет от ветвления при отрисовке. `null` — значение отсутствовало.
14
+ */
15
+ export const OrderFieldsUpdateActionLogSchema = z.object({
16
+ changes: z
17
+ .array(
18
+ z.object({
19
+ field: z.nativeEnum(OrderUpdatedFieldEnum),
20
+ oldValue: z.string().nullable(),
21
+ newValue: z.string().nullable(),
22
+ }),
23
+ )
24
+ .min(1),
25
+ });
@@ -0,0 +1,10 @@
1
+ import { z } from 'zod';
2
+ import { OrderProductInfoSchema } from './order-product-info.schema';
3
+
4
+ /**
5
+ * Позиция, добавленная в заказ. Форма та же, что у удаления: журнал показывает, что именно
6
+ * появилось в заказе — товар, категорию, количество, цену и поставку на момент добавления.
7
+ */
8
+ export const OrderProductCreateActionLogSchema = z.object({
9
+ orderProduct: OrderProductInfoSchema,
10
+ });
@@ -0,0 +1,10 @@
1
+ import { z } from 'zod';
2
+ import { PreOrderProductInfoSchema } from './pre-order-product-info.schema';
3
+
4
+ /**
5
+ * Позиция, добавленная в предзаказ. Форма та же, что у удаления: журнал показывает, что именно
6
+ * появилось в предзаказе — название, категорию, количество и цену на момент добавления.
7
+ */
8
+ export const PreOrderProductCreateActionLogSchema = z.object({
9
+ preOrderProduct: PreOrderProductInfoSchema,
10
+ });
@@ -0,0 +1,17 @@
1
+ import { z } from 'zod';
2
+ import { PreOrderProductInfoSchema } from './pre-order-product-info.schema';
3
+
4
+ /**
5
+ * Перенос позиции между предзаказами.
6
+ *
7
+ * Запись пишется в журнал обоих предзаказов — ушедшего и принявшего, — поэтому в payload лежат оба
8
+ * uuid: по одной записи нельзя понять, откуда смотрят. Исходная позиция при переносе удаляется
9
+ * всегда. `isSourcePreOrderDeleted` — фактический итог для исходного предзаказа: удалён ли он,
10
+ * опустев после переноса. Это не флаг запроса: при частичном переносе предзаказ остаётся.
11
+ */
12
+ export const PreOrderProductMoveActionLogSchema = z.object({
13
+ preOrderProduct: PreOrderProductInfoSchema,
14
+ fromPreOrderUUID: z.string(),
15
+ toPreOrderUUID: z.string(),
16
+ isSourcePreOrderDeleted: z.boolean(),
17
+ });