@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.
- package/build/enum/action-log-type.enum.js +4 -0
- package/build/enum/index.js +1 -0
- package/build/enum/order-updated-field.enum.js +23 -0
- package/build/schemas/action-log/action-log-payload.schema.js +13 -0
- package/build/schemas/action-log/action-log.schema.js +28 -0
- package/build/schemas/action-log/order-fields-update-action-log.schema.js +25 -0
- package/build/schemas/action-log/order-product-create-action-log.schema.js +12 -0
- package/build/schemas/action-log/pre-order-product-create-action-log.schema.js +12 -0
- package/build/schemas/action-log/pre-order-product-move-action-log.schema.js +19 -0
- package/enum/action-log-type.enum.ts +4 -0
- package/enum/index.ts +1 -0
- package/enum/order-updated-field.enum.ts +19 -0
- package/package.json +1 -1
- package/schemas/action-log/action-log-payload.schema.ts +13 -0
- package/schemas/action-log/action-log.schema.ts +28 -0
- package/schemas/action-log/order-fields-update-action-log.schema.ts +25 -0
- package/schemas/action-log/order-product-create-action-log.schema.ts +10 -0
- package/schemas/action-log/pre-order-product-create-action-log.schema.ts +10 -0
- package/schemas/action-log/pre-order-product-move-action-log.schema.ts +17 -0
|
@@ -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";
|
package/build/enum/index.js
CHANGED
|
@@ -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
|
@@ -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
|
@@ -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
|
+
});
|