@floristcloud/api-lib 1.2.157 → 1.2.159
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/commands/consignment/analyze-consignment-product-update.command.js +42 -0
- package/build/commands/consignment/index.js +1 -0
- package/build/commands/pre-order-collection-item/move-pre-order-collection-items-analyze.command.js +3 -0
- package/build/constant/error-i18n-key.js +3 -0
- package/build/constant/error.js +30 -1
- package/build/enum/index.js +1 -0
- package/build/enum/move-pre-order-source-outcome.enum.js +13 -0
- package/commands/consignment/analyze-consignment-product-update.command.ts +44 -0
- package/commands/consignment/index.ts +1 -0
- package/commands/pre-order-collection-item/move-pre-order-collection-items-analyze.command.ts +3 -0
- package/constant/error-i18n-key.ts +3 -0
- package/constant/error.ts +30 -1
- package/enum/index.ts +1 -0
- package/enum/move-pre-order-source-outcome.enum.ts +9 -0
- package/package.json +1 -1
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AnalyzeConsignmentProductUpdateContractCommand = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const error_message_schema_1 = require("../../schemas/error-message.schema");
|
|
6
|
+
const AnalyzeMatchedRowSchema = zod_1.z.object({
|
|
7
|
+
uuid: zod_1.z.string(),
|
|
8
|
+
// Изменения позиции фронт не разбирает, а пересылает как есть в execute: там они и валидируются.
|
|
9
|
+
updates: zod_1.z.record(zod_1.z.string(), zod_1.z.unknown()),
|
|
10
|
+
rowIndex: zod_1.z.number(),
|
|
11
|
+
originalData: zod_1.z.record(zod_1.z.string(), zod_1.z.unknown()),
|
|
12
|
+
});
|
|
13
|
+
const AnalyzeUnmatchedRowSchema = zod_1.z.object({
|
|
14
|
+
// Индекс от первой строки данных; для показа пользователю — `row`.
|
|
15
|
+
rowIndex: zod_1.z.number(),
|
|
16
|
+
// Номер строки в Excel, как его видит пользователь.
|
|
17
|
+
row: zod_1.z.number(),
|
|
18
|
+
data: zod_1.z.record(zod_1.z.string(), zod_1.z.unknown()),
|
|
19
|
+
// Подробная причина по-английски, для логов и как запасной текст.
|
|
20
|
+
reason: zod_1.z.string(),
|
|
21
|
+
// Причина для перевода: `code` из ERRORS и параметры подстановки.
|
|
22
|
+
error: error_message_schema_1.ErrorMessageSchema,
|
|
23
|
+
});
|
|
24
|
+
const AnalyzeRowErrorSchema = error_message_schema_1.ErrorMessageSchema.extend({
|
|
25
|
+
row: zod_1.z.number(),
|
|
26
|
+
});
|
|
27
|
+
const AnalyzeConsignmentProductUpdateResponseSchema = zod_1.z.object({
|
|
28
|
+
data: zod_1.z.object({
|
|
29
|
+
success: zod_1.z.boolean(),
|
|
30
|
+
totalRows: zod_1.z.number(),
|
|
31
|
+
matchedCount: zod_1.z.number(),
|
|
32
|
+
unmatchedCount: zod_1.z.number(),
|
|
33
|
+
matched: zod_1.z.array(AnalyzeMatchedRowSchema),
|
|
34
|
+
unmatched: zod_1.z.array(AnalyzeUnmatchedRowSchema),
|
|
35
|
+
errors: zod_1.z.array(AnalyzeRowErrorSchema),
|
|
36
|
+
warnings: zod_1.z.array(AnalyzeRowErrorSchema),
|
|
37
|
+
}),
|
|
38
|
+
});
|
|
39
|
+
var AnalyzeConsignmentProductUpdateContractCommand;
|
|
40
|
+
(function (AnalyzeConsignmentProductUpdateContractCommand) {
|
|
41
|
+
AnalyzeConsignmentProductUpdateContractCommand.ResponseSchema = AnalyzeConsignmentProductUpdateResponseSchema;
|
|
42
|
+
})(AnalyzeConsignmentProductUpdateContractCommand || (exports.AnalyzeConsignmentProductUpdateContractCommand = AnalyzeConsignmentProductUpdateContractCommand = {}));
|
|
@@ -31,3 +31,4 @@ __exportStar(require("./execute-consignment-product-update.command"), exports);
|
|
|
31
31
|
__exportStar(require("./determine-consignment-product-images.command"), exports);
|
|
32
32
|
__exportStar(require("./analyze-consignment-product-enrichment.query"), exports);
|
|
33
33
|
__exportStar(require("./execute-consignment-product-enrichment.command"), exports);
|
|
34
|
+
__exportStar(require("./analyze-consignment-product-update.command"), exports);
|
package/build/commands/pre-order-collection-item/move-pre-order-collection-items-analyze.command.js
CHANGED
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.MovePreOrderCollectionItemsAnalyzeContractCommand = void 0;
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
5
|
const schemas_1 = require("../../schemas");
|
|
6
|
+
const enum_1 = require("../../enum");
|
|
6
7
|
const MovePreOrderCollectionItemsAnalyzeRequestSchema = zod_1.z.object({
|
|
7
8
|
targetPreOrderCollectionUUID: zod_1.z.string().uuid(),
|
|
8
9
|
preOrderCollectionItemUUIDs: zod_1.z.array(zod_1.z.string().uuid()).min(1),
|
|
@@ -19,8 +20,10 @@ const AffectedPreOrderSchema = zod_1.z.object({
|
|
|
19
20
|
clientName: zod_1.z.string(),
|
|
20
21
|
clientCode: zod_1.z.string().nullable().optional(),
|
|
21
22
|
branchName: zod_1.z.string().nullable().optional(),
|
|
23
|
+
// true — у клиента в целевой коллекции нет предзаказа: строки попадут в новый либо предзаказ переедет целиком (MOVED).
|
|
22
24
|
willCreateNewPreOrder: zod_1.z.boolean(),
|
|
23
25
|
targetPreOrderUUID: zod_1.z.string().uuid().nullable().optional(),
|
|
26
|
+
sourcePreOrderOutcome: zod_1.z.nativeEnum(enum_1.MovePreOrderSourceOutcomeEnum),
|
|
24
27
|
});
|
|
25
28
|
const MoveItemDetailSchema = zod_1.z.object({
|
|
26
29
|
preOrderCollectionItemUUID: zod_1.z.string().uuid(),
|
|
@@ -21,6 +21,9 @@ exports.ErrorI18nKey = {
|
|
|
21
21
|
moveItemsBatchLimitExceeded: 'moveItems.batchLimitExceeded',
|
|
22
22
|
moveItemsItemsNotFound: 'moveItems.itemsNotFound',
|
|
23
23
|
moveItemsInPreOrdersWarning: 'moveItems.inPreOrdersWarning',
|
|
24
|
+
moveItemsStandingOrderCatalog: 'moveItems.standingOrderCatalog',
|
|
25
|
+
moveItemsInCompletedPreOrders: 'moveItems.inCompletedPreOrders',
|
|
26
|
+
moveItemsSourceNotFound: 'moveItems.sourceNotFound',
|
|
24
27
|
consignmentImportTooManyRows: 'consignmentImport.tooManyRows',
|
|
25
28
|
clientImportTooManyRows: 'clientImport.tooManyRows',
|
|
26
29
|
clientImportInvalidFileFormat: 'clientImport.invalidFileFormat',
|
package/build/constant/error.js
CHANGED
|
@@ -262,7 +262,16 @@ exports.ERRORS = {
|
|
|
262
262
|
CONSIGNMENT_PRODUCT_UPDATE_INVALID_CONFIG: { code: 'CON018', message: 'Invalid config format', httpCode: 400 },
|
|
263
263
|
CONSIGNMENT_PRODUCT_UPDATE_NO_DATA_ROWS: { code: 'CON019', message: 'File has no data rows', httpCode: 400 },
|
|
264
264
|
CONSIGNMENT_PRODUCT_UPDATE_TOO_MANY_ROWS: { code: 'CON020', message: 'Too many rows', httpCode: 400 },
|
|
265
|
-
|
|
265
|
+
// Причины, по которым строка файла не попала в обновление: `httpCode` 200 — это не ошибка запроса,
|
|
266
|
+
// а построчный результат анализа. Параметры для перевода — в `i18nParams` у строки.
|
|
267
|
+
CONSIGNMENT_PRODUCT_UPDATE_UUID_NOT_PROVIDED: { code: 'CON030', message: 'UUID not provided', httpCode: 200 },
|
|
268
|
+
CONSIGNMENT_PRODUCT_UPDATE_INVALID_CELL: { code: 'CON031', message: 'Invalid cell value', httpCode: 200 },
|
|
269
|
+
CONSIGNMENT_PRODUCT_UPDATE_UNRECOGNIZED_BOOLEAN_CELL: { code: 'CON032', message: 'Value is not recognized as yes/no', httpCode: 200 },
|
|
270
|
+
CONSIGNMENT_PRODUCT_UPDATE_CONSIGNMENT_EMPTY: { code: 'CON033', message: 'No products in consignment', httpCode: 200 },
|
|
271
|
+
CONSIGNMENT_PRODUCT_UPDATE_NO_MATCH_CRITERIA: { code: 'CON034', message: 'No matching criteria filled in the row', httpCode: 200 },
|
|
272
|
+
CONSIGNMENT_PRODUCT_UPDATE_NO_MATCH: { code: 'CON035', message: 'No product matches the row', httpCode: 200 },
|
|
273
|
+
CONSIGNMENT_PRODUCT_UPDATE_AMBIGUOUS_MATCH: { code: 'CON036', message: 'Several products match the row', httpCode: 200 },
|
|
274
|
+
CONSIGNMENT_PRODUCT_UPDATE_ROWS_SHARE_PRODUCT: { code: 'CON037', message: 'Several rows target the same product', httpCode: 200 },
|
|
266
275
|
CONSIGNMENT_PRODUCT_UPDATE_ANALYSIS_FAILED: { code: 'CON022', message: 'Update analysis failed', httpCode: 500 },
|
|
267
276
|
CONSIGNMENT_PRODUCT_UPDATE_BATCH_TOO_LARGE: { code: 'CON023', message: 'Batch size too large', httpCode: 400 },
|
|
268
277
|
CONSIGNMENT_IMPORT_TOO_MANY_ROWS: { code: 'CON024', message: 'Too many rows for this import mode', httpCode: 400 },
|
|
@@ -1165,6 +1174,26 @@ exports.ERRORS = {
|
|
|
1165
1174
|
message: 'Batch size too large',
|
|
1166
1175
|
httpCode: 400,
|
|
1167
1176
|
},
|
|
1177
|
+
PRE_ORDER_COLLECTION_ITEM_MOVE_STANDING_ORDER_CATALOG: {
|
|
1178
|
+
code: 'POCI029',
|
|
1179
|
+
message: 'Items cannot be moved to or from the standing order catalog',
|
|
1180
|
+
httpCode: 400,
|
|
1181
|
+
},
|
|
1182
|
+
PRE_ORDER_COLLECTION_ITEM_MOVE_IN_COMPLETED_PRE_ORDERS: {
|
|
1183
|
+
code: 'POCI030',
|
|
1184
|
+
message: 'Some items are in completed pre-orders',
|
|
1185
|
+
httpCode: 400,
|
|
1186
|
+
},
|
|
1187
|
+
PRE_ORDER_COLLECTION_ITEM_MOVE_SOURCE_NOT_FOUND: {
|
|
1188
|
+
code: 'POCI031',
|
|
1189
|
+
message: 'Source pre order collection not found',
|
|
1190
|
+
httpCode: 404,
|
|
1191
|
+
},
|
|
1192
|
+
PRE_ORDER_COLLECTION_ITEM_MOVE_CONFLICT: {
|
|
1193
|
+
code: 'POCI032',
|
|
1194
|
+
message: 'Pre-orders changed during the move, retry the operation',
|
|
1195
|
+
httpCode: 409,
|
|
1196
|
+
},
|
|
1168
1197
|
// EMPLOYEE SCHEDULE
|
|
1169
1198
|
EMPLOYEE_SCHEDULE_NOT_CREATED: { code: 'ES001', message: 'Failed to create employee schedule', httpCode: 500 },
|
|
1170
1199
|
EMPLOYEE_SCHEDULE_NOT_DELETED: { code: 'ES002', message: 'Failed to delete employee schedule', httpCode: 500 },
|
package/build/enum/index.js
CHANGED
|
@@ -42,6 +42,7 @@ __exportStar(require("./package-type.enum"), exports);
|
|
|
42
42
|
__exportStar(require("./product-in-package-status.enum"), exports);
|
|
43
43
|
__exportStar(require("./pre-order-collection-status.enum"), exports);
|
|
44
44
|
__exportStar(require("./pre-order-collection-type.enum"), exports);
|
|
45
|
+
__exportStar(require("./move-pre-order-source-outcome.enum"), exports);
|
|
45
46
|
__exportStar(require("./pre-order-status.enum"), exports);
|
|
46
47
|
__exportStar(require("./userRole.enum"), exports);
|
|
47
48
|
__exportStar(require("./parse-status.enum"), exports);
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MovePreOrderSourceOutcomeEnum = void 0;
|
|
4
|
+
/** Что станет с предзаказом клиента в исходной коллекции после переноса позиций. */
|
|
5
|
+
var MovePreOrderSourceOutcomeEnum;
|
|
6
|
+
(function (MovePreOrderSourceOutcomeEnum) {
|
|
7
|
+
// В предзаказе остаются другие позиции: перенесённые строки уходят в предзаказ целевой коллекции.
|
|
8
|
+
MovePreOrderSourceOutcomeEnum["KEPT"] = "KEPT";
|
|
9
|
+
// Переносятся все строки, а в целевой коллекции у клиента предзаказа нет: предзаказ переезжает целиком со своим номером.
|
|
10
|
+
MovePreOrderSourceOutcomeEnum["MOVED"] = "MOVED";
|
|
11
|
+
// Переносятся все строки в уже существующий предзаказ целевой коллекции: опустевший исходный удаляется.
|
|
12
|
+
MovePreOrderSourceOutcomeEnum["DELETED"] = "DELETED";
|
|
13
|
+
})(MovePreOrderSourceOutcomeEnum || (exports.MovePreOrderSourceOutcomeEnum = MovePreOrderSourceOutcomeEnum = {}));
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { ErrorMessageSchema } from '../../schemas/error-message.schema';
|
|
3
|
+
|
|
4
|
+
const AnalyzeMatchedRowSchema = z.object({
|
|
5
|
+
uuid: z.string(),
|
|
6
|
+
// Изменения позиции фронт не разбирает, а пересылает как есть в execute: там они и валидируются.
|
|
7
|
+
updates: z.record(z.string(), z.unknown()),
|
|
8
|
+
rowIndex: z.number(),
|
|
9
|
+
originalData: z.record(z.string(), z.unknown()),
|
|
10
|
+
});
|
|
11
|
+
|
|
12
|
+
const AnalyzeUnmatchedRowSchema = z.object({
|
|
13
|
+
// Индекс от первой строки данных; для показа пользователю — `row`.
|
|
14
|
+
rowIndex: z.number(),
|
|
15
|
+
// Номер строки в Excel, как его видит пользователь.
|
|
16
|
+
row: z.number(),
|
|
17
|
+
data: z.record(z.string(), z.unknown()),
|
|
18
|
+
// Подробная причина по-английски, для логов и как запасной текст.
|
|
19
|
+
reason: z.string(),
|
|
20
|
+
// Причина для перевода: `code` из ERRORS и параметры подстановки.
|
|
21
|
+
error: ErrorMessageSchema,
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
const AnalyzeRowErrorSchema = ErrorMessageSchema.extend({
|
|
25
|
+
row: z.number(),
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
const AnalyzeConsignmentProductUpdateResponseSchema = z.object({
|
|
29
|
+
data: z.object({
|
|
30
|
+
success: z.boolean(),
|
|
31
|
+
totalRows: z.number(),
|
|
32
|
+
matchedCount: z.number(),
|
|
33
|
+
unmatchedCount: z.number(),
|
|
34
|
+
matched: z.array(AnalyzeMatchedRowSchema),
|
|
35
|
+
unmatched: z.array(AnalyzeUnmatchedRowSchema),
|
|
36
|
+
errors: z.array(AnalyzeRowErrorSchema),
|
|
37
|
+
warnings: z.array(AnalyzeRowErrorSchema),
|
|
38
|
+
}),
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
export namespace AnalyzeConsignmentProductUpdateContractCommand {
|
|
42
|
+
export const ResponseSchema = AnalyzeConsignmentProductUpdateResponseSchema;
|
|
43
|
+
export type Response = z.infer<typeof ResponseSchema>;
|
|
44
|
+
}
|
|
@@ -15,3 +15,4 @@ export * from './execute-consignment-product-update.command';
|
|
|
15
15
|
export * from './determine-consignment-product-images.command';
|
|
16
16
|
export * from './analyze-consignment-product-enrichment.query';
|
|
17
17
|
export * from './execute-consignment-product-enrichment.command';
|
|
18
|
+
export * from './analyze-consignment-product-update.command';
|
package/commands/pre-order-collection-item/move-pre-order-collection-items-analyze.command.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { ErrorMessageSchema } from '../../schemas';
|
|
3
|
+
import { MovePreOrderSourceOutcomeEnum } from '../../enum';
|
|
3
4
|
|
|
4
5
|
const MovePreOrderCollectionItemsAnalyzeRequestSchema = z.object({
|
|
5
6
|
targetPreOrderCollectionUUID: z.string().uuid(),
|
|
@@ -19,8 +20,10 @@ const AffectedPreOrderSchema = z.object({
|
|
|
19
20
|
clientName: z.string(),
|
|
20
21
|
clientCode: z.string().nullable().optional(),
|
|
21
22
|
branchName: z.string().nullable().optional(),
|
|
23
|
+
// true — у клиента в целевой коллекции нет предзаказа: строки попадут в новый либо предзаказ переедет целиком (MOVED).
|
|
22
24
|
willCreateNewPreOrder: z.boolean(),
|
|
23
25
|
targetPreOrderUUID: z.string().uuid().nullable().optional(),
|
|
26
|
+
sourcePreOrderOutcome: z.nativeEnum(MovePreOrderSourceOutcomeEnum),
|
|
24
27
|
});
|
|
25
28
|
|
|
26
29
|
const MoveItemDetailSchema = z.object({
|
|
@@ -18,6 +18,9 @@ export const ErrorI18nKey = {
|
|
|
18
18
|
moveItemsBatchLimitExceeded: 'moveItems.batchLimitExceeded',
|
|
19
19
|
moveItemsItemsNotFound: 'moveItems.itemsNotFound',
|
|
20
20
|
moveItemsInPreOrdersWarning: 'moveItems.inPreOrdersWarning',
|
|
21
|
+
moveItemsStandingOrderCatalog: 'moveItems.standingOrderCatalog',
|
|
22
|
+
moveItemsInCompletedPreOrders: 'moveItems.inCompletedPreOrders',
|
|
23
|
+
moveItemsSourceNotFound: 'moveItems.sourceNotFound',
|
|
21
24
|
consignmentImportTooManyRows: 'consignmentImport.tooManyRows',
|
|
22
25
|
clientImportTooManyRows: 'clientImport.tooManyRows',
|
|
23
26
|
clientImportInvalidFileFormat: 'clientImport.invalidFileFormat',
|
package/constant/error.ts
CHANGED
|
@@ -271,7 +271,16 @@ export const ERRORS = {
|
|
|
271
271
|
CONSIGNMENT_PRODUCT_UPDATE_INVALID_CONFIG: { code: 'CON018', message: 'Invalid config format', httpCode: 400 },
|
|
272
272
|
CONSIGNMENT_PRODUCT_UPDATE_NO_DATA_ROWS: { code: 'CON019', message: 'File has no data rows', httpCode: 400 },
|
|
273
273
|
CONSIGNMENT_PRODUCT_UPDATE_TOO_MANY_ROWS: { code: 'CON020', message: 'Too many rows', httpCode: 400 },
|
|
274
|
-
|
|
274
|
+
// Причины, по которым строка файла не попала в обновление: `httpCode` 200 — это не ошибка запроса,
|
|
275
|
+
// а построчный результат анализа. Параметры для перевода — в `i18nParams` у строки.
|
|
276
|
+
CONSIGNMENT_PRODUCT_UPDATE_UUID_NOT_PROVIDED: { code: 'CON030', message: 'UUID not provided', httpCode: 200 },
|
|
277
|
+
CONSIGNMENT_PRODUCT_UPDATE_INVALID_CELL: { code: 'CON031', message: 'Invalid cell value', httpCode: 200 },
|
|
278
|
+
CONSIGNMENT_PRODUCT_UPDATE_UNRECOGNIZED_BOOLEAN_CELL: { code: 'CON032', message: 'Value is not recognized as yes/no', httpCode: 200 },
|
|
279
|
+
CONSIGNMENT_PRODUCT_UPDATE_CONSIGNMENT_EMPTY: { code: 'CON033', message: 'No products in consignment', httpCode: 200 },
|
|
280
|
+
CONSIGNMENT_PRODUCT_UPDATE_NO_MATCH_CRITERIA: { code: 'CON034', message: 'No matching criteria filled in the row', httpCode: 200 },
|
|
281
|
+
CONSIGNMENT_PRODUCT_UPDATE_NO_MATCH: { code: 'CON035', message: 'No product matches the row', httpCode: 200 },
|
|
282
|
+
CONSIGNMENT_PRODUCT_UPDATE_AMBIGUOUS_MATCH: { code: 'CON036', message: 'Several products match the row', httpCode: 200 },
|
|
283
|
+
CONSIGNMENT_PRODUCT_UPDATE_ROWS_SHARE_PRODUCT: { code: 'CON037', message: 'Several rows target the same product', httpCode: 200 },
|
|
275
284
|
CONSIGNMENT_PRODUCT_UPDATE_ANALYSIS_FAILED: { code: 'CON022', message: 'Update analysis failed', httpCode: 500 },
|
|
276
285
|
CONSIGNMENT_PRODUCT_UPDATE_BATCH_TOO_LARGE: { code: 'CON023', message: 'Batch size too large', httpCode: 400 },
|
|
277
286
|
CONSIGNMENT_IMPORT_TOO_MANY_ROWS: { code: 'CON024', message: 'Too many rows for this import mode', httpCode: 400 },
|
|
@@ -1206,6 +1215,26 @@ export const ERRORS = {
|
|
|
1206
1215
|
message: 'Batch size too large',
|
|
1207
1216
|
httpCode: 400,
|
|
1208
1217
|
},
|
|
1218
|
+
PRE_ORDER_COLLECTION_ITEM_MOVE_STANDING_ORDER_CATALOG: {
|
|
1219
|
+
code: 'POCI029',
|
|
1220
|
+
message: 'Items cannot be moved to or from the standing order catalog',
|
|
1221
|
+
httpCode: 400,
|
|
1222
|
+
},
|
|
1223
|
+
PRE_ORDER_COLLECTION_ITEM_MOVE_IN_COMPLETED_PRE_ORDERS: {
|
|
1224
|
+
code: 'POCI030',
|
|
1225
|
+
message: 'Some items are in completed pre-orders',
|
|
1226
|
+
httpCode: 400,
|
|
1227
|
+
},
|
|
1228
|
+
PRE_ORDER_COLLECTION_ITEM_MOVE_SOURCE_NOT_FOUND: {
|
|
1229
|
+
code: 'POCI031',
|
|
1230
|
+
message: 'Source pre order collection not found',
|
|
1231
|
+
httpCode: 404,
|
|
1232
|
+
},
|
|
1233
|
+
PRE_ORDER_COLLECTION_ITEM_MOVE_CONFLICT: {
|
|
1234
|
+
code: 'POCI032',
|
|
1235
|
+
message: 'Pre-orders changed during the move, retry the operation',
|
|
1236
|
+
httpCode: 409,
|
|
1237
|
+
},
|
|
1209
1238
|
|
|
1210
1239
|
// EMPLOYEE SCHEDULE
|
|
1211
1240
|
EMPLOYEE_SCHEDULE_NOT_CREATED: { code: 'ES001', message: 'Failed to create employee schedule', httpCode: 500 },
|
package/enum/index.ts
CHANGED
|
@@ -26,6 +26,7 @@ export * from './package-type.enum';
|
|
|
26
26
|
export * from './product-in-package-status.enum';
|
|
27
27
|
export * from './pre-order-collection-status.enum';
|
|
28
28
|
export * from './pre-order-collection-type.enum';
|
|
29
|
+
export * from './move-pre-order-source-outcome.enum';
|
|
29
30
|
export * from './pre-order-status.enum';
|
|
30
31
|
export * from './userRole.enum';
|
|
31
32
|
export * from './parse-status.enum';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/** Что станет с предзаказом клиента в исходной коллекции после переноса позиций. */
|
|
2
|
+
export enum MovePreOrderSourceOutcomeEnum {
|
|
3
|
+
// В предзаказе остаются другие позиции: перенесённые строки уходят в предзаказ целевой коллекции.
|
|
4
|
+
KEPT = 'KEPT',
|
|
5
|
+
// Переносятся все строки, а в целевой коллекции у клиента предзаказа нет: предзаказ переезжает целиком со своим номером.
|
|
6
|
+
MOVED = 'MOVED',
|
|
7
|
+
// Переносятся все строки в уже существующий предзаказ целевой коллекции: опустевший исходный удаляется.
|
|
8
|
+
DELETED = 'DELETED',
|
|
9
|
+
}
|