@fiado/type-kit 3.580.0 → 3.581.0
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/_test_/unit/retailIntegration/reconciliationContracts.test.ts +44 -0
- package/_test_/unit/retailWizard/resendCentralSaleRequest.test.ts +36 -0
- package/bin/retailIntegration/dtos/ReconciliationPageMessage.d.ts +2 -0
- package/bin/retailIntegration/dtos/ReconciliationPageMessage.js +14 -0
- package/bin/retailIntegration/dtos/StartCatalogReconciliationRequest.js +3 -0
- package/bin/retailIntegration/dtos/StartOrgReconciliationRequest.js +2 -0
- package/bin/retailWizard/dtos/requests/ResendCentralSaleRequest.d.ts +5 -0
- package/bin/retailWizard/dtos/requests/ResendCentralSaleRequest.js +24 -0
- package/bin/retailWizard/enums/CentralResendKindEnum.d.ts +10 -0
- package/bin/retailWizard/enums/CentralResendKindEnum.js +14 -0
- package/bin/retailWizard/index.d.ts +2 -0
- package/bin/retailWizard/index.js +2 -0
- package/package.json +1 -1
- package/src/retailIntegration/dtos/ReconciliationPageMessage.ts +14 -0
- package/src/retailIntegration/dtos/StartCatalogReconciliationRequest.ts +3 -0
- package/src/retailIntegration/dtos/StartOrgReconciliationRequest.ts +2 -0
- package/src/retailWizard/dtos/requests/ResendCentralSaleRequest.ts +10 -0
- package/src/retailWizard/enums/CentralResendKindEnum.ts +10 -0
- package/src/retailWizard/index.ts +2 -0
|
@@ -119,3 +119,47 @@ describe('respuestas de la revisión', () => {
|
|
|
119
119
|
expect(catalog.storesPending).toBe(0);
|
|
120
120
|
});
|
|
121
121
|
});
|
|
122
|
+
|
|
123
|
+
describe('revisión con excludeExtraneousValues', () => {
|
|
124
|
+
function exposed<T extends object>(cls: ClassConstructor<T>, payload: object): T {
|
|
125
|
+
return plainToInstance(cls, payload, { excludeExtraneousValues: true });
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
it('StartOrgReconciliationRequest conserva entity y descarta lo ajeno', () => {
|
|
129
|
+
expect(exposed(StartOrgReconciliationRequest, { entity: 'USERS', extra: 1 })).toEqual({ entity: 'USERS' });
|
|
130
|
+
});
|
|
131
|
+
|
|
132
|
+
it('StartCatalogReconciliationRequest conserva entity y storeId', () => {
|
|
133
|
+
const dto = exposed(StartCatalogReconciliationRequest, { entity: 'INVENTORY', storeId: 's-1', extra: 1 });
|
|
134
|
+
expect({ ...dto }).toEqual({ entity: 'INVENTORY', storeId: 's-1' });
|
|
135
|
+
});
|
|
136
|
+
|
|
137
|
+
it('ReconciliationPageMessage conserva todos sus campos y valida sin errores', () => {
|
|
138
|
+
const payload = {
|
|
139
|
+
tenantId: 't-1',
|
|
140
|
+
retailerId: 'r-1',
|
|
141
|
+
entity: 'INVENTORY',
|
|
142
|
+
runId: 'run-1',
|
|
143
|
+
pageIndex: 2,
|
|
144
|
+
storeId: 's-1',
|
|
145
|
+
requeueCount: 3,
|
|
146
|
+
};
|
|
147
|
+
const dto = exposed(ReconciliationPageMessage, { ...payload, extra: 1 });
|
|
148
|
+
expect({ ...dto }).toEqual(payload);
|
|
149
|
+
expect(validateSync(dto)).toEqual([]);
|
|
150
|
+
});
|
|
151
|
+
});
|
|
152
|
+
|
|
153
|
+
describe('ReconciliationPageMessage.requeueCount', () => {
|
|
154
|
+
const valid = { tenantId: 't-1', retailerId: 'r-1', entity: 'STORES', runId: 'run-1', pageIndex: 0 };
|
|
155
|
+
|
|
156
|
+
it('es opcional y acepta enteros desde 0', () => {
|
|
157
|
+
expect(propsWithErrors(ReconciliationPageMessage, valid)).toEqual([]);
|
|
158
|
+
expect(propsWithErrors(ReconciliationPageMessage, { ...valid, requeueCount: 0 })).toEqual([]);
|
|
159
|
+
expect(propsWithErrors(ReconciliationPageMessage, { ...valid, requeueCount: 5 })).toEqual([]);
|
|
160
|
+
});
|
|
161
|
+
|
|
162
|
+
it.each([-1, 1.5, '2'])('rechaza %p', (requeueCount) => {
|
|
163
|
+
expect(propsWithErrors(ReconciliationPageMessage, { ...valid, requeueCount })).toContain('requeueCount');
|
|
164
|
+
});
|
|
165
|
+
});
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import 'reflect-metadata';
|
|
2
|
+
import { plainToInstance } from 'class-transformer';
|
|
3
|
+
import { validateSync } from 'class-validator';
|
|
4
|
+
import { CentralResendKindEnum, ResendCentralSaleRequest } from '../../../src/retailWizard';
|
|
5
|
+
import * as root from '../../../src';
|
|
6
|
+
|
|
7
|
+
function errorsOf(payload: object): string[] {
|
|
8
|
+
const dto = plainToInstance(ResendCentralSaleRequest, payload, { excludeExtraneousValues: true });
|
|
9
|
+
return validateSync(dto).map((e) => e.property);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
describe('CentralResendKindEnum', () => {
|
|
13
|
+
it('distingue el registro de la cancelación', () => {
|
|
14
|
+
expect(Object.values(CentralResendKindEnum)).toEqual(['SALE_REGISTER', 'SALE_CANCEL']);
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
describe('ResendCentralSaleRequest', () => {
|
|
19
|
+
it.each(['SALE_REGISTER', 'SALE_CANCEL'])('acepta %s', (kind) => {
|
|
20
|
+
expect(errorsOf({ kind })).toEqual([]);
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
it.each(['OTRO', undefined, 1])('rechaza %p', (kind) => {
|
|
24
|
+
expect(errorsOf({ kind })).toContain('kind');
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
it('conserva kind y descarta lo ajeno', () => {
|
|
28
|
+
const dto = plainToInstance(ResendCentralSaleRequest, { kind: 'SALE_CANCEL', extra: 1 }, { excludeExtraneousValues: true });
|
|
29
|
+
expect({ ...dto }).toEqual({ kind: 'SALE_CANCEL' });
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
it('se exporta desde la raíz de la lib', () => {
|
|
33
|
+
expect(root.RetailWizard.ResendCentralSaleRequest).toBe(ResendCentralSaleRequest);
|
|
34
|
+
expect(root.RetailWizard.CentralResendKindEnum).toBe(CentralResendKindEnum);
|
|
35
|
+
});
|
|
36
|
+
});
|
|
@@ -10,6 +10,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.ReconciliationPageMessage = void 0;
|
|
13
|
+
const class_transformer_1 = require("class-transformer");
|
|
13
14
|
const class_validator_1 = require("class-validator");
|
|
14
15
|
const ReconciliationEntityEnum_1 = require("../enums/ReconciliationEntityEnum");
|
|
15
16
|
/** Mensaje de la cola de revisión: una página, o una tienda completa en inventario. */
|
|
@@ -17,32 +18,45 @@ class ReconciliationPageMessage {
|
|
|
17
18
|
}
|
|
18
19
|
exports.ReconciliationPageMessage = ReconciliationPageMessage;
|
|
19
20
|
__decorate([
|
|
21
|
+
(0, class_transformer_1.Expose)(),
|
|
20
22
|
(0, class_validator_1.IsString)(),
|
|
21
23
|
(0, class_validator_1.IsNotEmpty)(),
|
|
22
24
|
__metadata("design:type", String)
|
|
23
25
|
], ReconciliationPageMessage.prototype, "tenantId", void 0);
|
|
24
26
|
__decorate([
|
|
27
|
+
(0, class_transformer_1.Expose)(),
|
|
25
28
|
(0, class_validator_1.IsString)(),
|
|
26
29
|
(0, class_validator_1.IsNotEmpty)(),
|
|
27
30
|
__metadata("design:type", String)
|
|
28
31
|
], ReconciliationPageMessage.prototype, "retailerId", void 0);
|
|
29
32
|
__decorate([
|
|
33
|
+
(0, class_transformer_1.Expose)(),
|
|
30
34
|
(0, class_validator_1.IsEnum)(ReconciliationEntityEnum_1.ReconciliationEntityEnum),
|
|
31
35
|
__metadata("design:type", String)
|
|
32
36
|
], ReconciliationPageMessage.prototype, "entity", void 0);
|
|
33
37
|
__decorate([
|
|
38
|
+
(0, class_transformer_1.Expose)(),
|
|
34
39
|
(0, class_validator_1.IsString)(),
|
|
35
40
|
(0, class_validator_1.IsNotEmpty)(),
|
|
36
41
|
__metadata("design:type", String)
|
|
37
42
|
], ReconciliationPageMessage.prototype, "runId", void 0);
|
|
38
43
|
__decorate([
|
|
44
|
+
(0, class_transformer_1.Expose)(),
|
|
39
45
|
(0, class_validator_1.IsInt)(),
|
|
40
46
|
(0, class_validator_1.Min)(0),
|
|
41
47
|
__metadata("design:type", Number)
|
|
42
48
|
], ReconciliationPageMessage.prototype, "pageIndex", void 0);
|
|
43
49
|
__decorate([
|
|
50
|
+
(0, class_transformer_1.Expose)(),
|
|
44
51
|
(0, class_validator_1.IsOptional)(),
|
|
45
52
|
(0, class_validator_1.IsString)(),
|
|
46
53
|
(0, class_validator_1.IsNotEmpty)(),
|
|
47
54
|
__metadata("design:type", String)
|
|
48
55
|
], ReconciliationPageMessage.prototype, "storeId", void 0);
|
|
56
|
+
__decorate([
|
|
57
|
+
(0, class_transformer_1.Expose)(),
|
|
58
|
+
(0, class_validator_1.IsOptional)(),
|
|
59
|
+
(0, class_validator_1.IsInt)(),
|
|
60
|
+
(0, class_validator_1.Min)(0),
|
|
61
|
+
__metadata("design:type", Number)
|
|
62
|
+
], ReconciliationPageMessage.prototype, "requeueCount", void 0);
|
|
@@ -10,6 +10,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.StartCatalogReconciliationRequest = void 0;
|
|
13
|
+
const class_transformer_1 = require("class-transformer");
|
|
13
14
|
const class_validator_1 = require("class-validator");
|
|
14
15
|
const ReconciliationEntityEnum_1 = require("../enums/ReconciliationEntityEnum");
|
|
15
16
|
/** Body de POST /backoffice/retailers/{retailerId}/reconciliations en catalog (backofficeStartCatalogReconciliation). */
|
|
@@ -17,10 +18,12 @@ class StartCatalogReconciliationRequest {
|
|
|
17
18
|
}
|
|
18
19
|
exports.StartCatalogReconciliationRequest = StartCatalogReconciliationRequest;
|
|
19
20
|
__decorate([
|
|
21
|
+
(0, class_transformer_1.Expose)(),
|
|
20
22
|
(0, class_validator_1.IsIn)([ReconciliationEntityEnum_1.ReconciliationEntityEnum.CATALOG, ReconciliationEntityEnum_1.ReconciliationEntityEnum.INVENTORY]),
|
|
21
23
|
__metadata("design:type", String)
|
|
22
24
|
], StartCatalogReconciliationRequest.prototype, "entity", void 0);
|
|
23
25
|
__decorate([
|
|
26
|
+
(0, class_transformer_1.Expose)(),
|
|
24
27
|
(0, class_validator_1.IsOptional)(),
|
|
25
28
|
(0, class_validator_1.IsString)(),
|
|
26
29
|
(0, class_validator_1.IsNotEmpty)(),
|
|
@@ -10,6 +10,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.StartOrgReconciliationRequest = void 0;
|
|
13
|
+
const class_transformer_1 = require("class-transformer");
|
|
13
14
|
const class_validator_1 = require("class-validator");
|
|
14
15
|
const ReconciliationEntityEnum_1 = require("../enums/ReconciliationEntityEnum");
|
|
15
16
|
/** Body de POST /backoffice/retailers/{retailerId}/reconciliations en org (backofficeStartOrgReconciliation). */
|
|
@@ -17,6 +18,7 @@ class StartOrgReconciliationRequest {
|
|
|
17
18
|
}
|
|
18
19
|
exports.StartOrgReconciliationRequest = StartOrgReconciliationRequest;
|
|
19
20
|
__decorate([
|
|
21
|
+
(0, class_transformer_1.Expose)(),
|
|
20
22
|
(0, class_validator_1.IsIn)([ReconciliationEntityEnum_1.ReconciliationEntityEnum.STORES, ReconciliationEntityEnum_1.ReconciliationEntityEnum.USERS]),
|
|
21
23
|
__metadata("design:type", String)
|
|
22
24
|
], StartOrgReconciliationRequest.prototype, "entity", void 0);
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.ResendCentralSaleRequest = void 0;
|
|
13
|
+
const class_transformer_1 = require("class-transformer");
|
|
14
|
+
const class_validator_1 = require("class-validator");
|
|
15
|
+
const CentralResendKindEnum_1 = require("../../enums/CentralResendKindEnum");
|
|
16
|
+
/** Body de POST /backoffice/sales/{saleId}/central-resend. */
|
|
17
|
+
class ResendCentralSaleRequest {
|
|
18
|
+
}
|
|
19
|
+
exports.ResendCentralSaleRequest = ResendCentralSaleRequest;
|
|
20
|
+
__decorate([
|
|
21
|
+
(0, class_transformer_1.Expose)(),
|
|
22
|
+
(0, class_validator_1.IsEnum)(CentralResendKindEnum_1.CentralResendKindEnum),
|
|
23
|
+
__metadata("design:type", String)
|
|
24
|
+
], ResendCentralSaleRequest.prototype, "kind", void 0);
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mensaje a Central que el backoffice reenvía.
|
|
3
|
+
*
|
|
4
|
+
* SALE_REGISTER - Registro de la venta.
|
|
5
|
+
* SALE_CANCEL - Cancelación de la venta.
|
|
6
|
+
*/
|
|
7
|
+
export declare enum CentralResendKindEnum {
|
|
8
|
+
SALE_REGISTER = "SALE_REGISTER",
|
|
9
|
+
SALE_CANCEL = "SALE_CANCEL"
|
|
10
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CentralResendKindEnum = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Mensaje a Central que el backoffice reenvía.
|
|
6
|
+
*
|
|
7
|
+
* SALE_REGISTER - Registro de la venta.
|
|
8
|
+
* SALE_CANCEL - Cancelación de la venta.
|
|
9
|
+
*/
|
|
10
|
+
var CentralResendKindEnum;
|
|
11
|
+
(function (CentralResendKindEnum) {
|
|
12
|
+
CentralResendKindEnum["SALE_REGISTER"] = "SALE_REGISTER";
|
|
13
|
+
CentralResendKindEnum["SALE_CANCEL"] = "SALE_CANCEL";
|
|
14
|
+
})(CentralResendKindEnum || (exports.CentralResendKindEnum = CentralResendKindEnum = {}));
|
|
@@ -149,6 +149,8 @@ export * from './dtos/requests/AddSaleExceptionNoteRequest';
|
|
|
149
149
|
export * from './dtos/requests/RunSalesReportRequest';
|
|
150
150
|
export * from './dtos/requests/BackofficeCancelSaleRequest';
|
|
151
151
|
export * from './dtos/requests/PortalCancelSaleRequest';
|
|
152
|
+
export * from './enums/CentralResendKindEnum';
|
|
153
|
+
export * from './dtos/requests/ResendCentralSaleRequest';
|
|
152
154
|
export * from './dtos/responses/BackofficeSalesStatsResponse';
|
|
153
155
|
export * from './dtos/responses/BackofficeSalesKpisResponse';
|
|
154
156
|
export * from './dtos/responses/BackofficeReportsResponse';
|
|
@@ -180,6 +180,8 @@ __exportStar(require("./dtos/requests/AddSaleExceptionNoteRequest"), exports);
|
|
|
180
180
|
__exportStar(require("./dtos/requests/RunSalesReportRequest"), exports);
|
|
181
181
|
__exportStar(require("./dtos/requests/BackofficeCancelSaleRequest"), exports);
|
|
182
182
|
__exportStar(require("./dtos/requests/PortalCancelSaleRequest"), exports);
|
|
183
|
+
__exportStar(require("./enums/CentralResendKindEnum"), exports);
|
|
184
|
+
__exportStar(require("./dtos/requests/ResendCentralSaleRequest"), exports);
|
|
183
185
|
// Responses
|
|
184
186
|
__exportStar(require("./dtos/responses/BackofficeSalesStatsResponse"), exports);
|
|
185
187
|
__exportStar(require("./dtos/responses/BackofficeSalesKpisResponse"), exports);
|
package/package.json
CHANGED
|
@@ -1,32 +1,46 @@
|
|
|
1
|
+
import { Expose } from 'class-transformer';
|
|
1
2
|
import { IsEnum, IsInt, IsNotEmpty, IsOptional, IsString, Min } from 'class-validator';
|
|
2
3
|
import { ReconciliationEntityEnum } from '../enums/ReconciliationEntityEnum';
|
|
3
4
|
|
|
4
5
|
/** Mensaje de la cola de revisión: una página, o una tienda completa en inventario. */
|
|
5
6
|
export class ReconciliationPageMessage {
|
|
7
|
+
@Expose()
|
|
6
8
|
@IsString()
|
|
7
9
|
@IsNotEmpty()
|
|
8
10
|
tenantId!: string;
|
|
9
11
|
|
|
12
|
+
@Expose()
|
|
10
13
|
@IsString()
|
|
11
14
|
@IsNotEmpty()
|
|
12
15
|
retailerId!: string;
|
|
13
16
|
|
|
17
|
+
@Expose()
|
|
14
18
|
@IsEnum(ReconciliationEntityEnum)
|
|
15
19
|
entity!: ReconciliationEntityEnum;
|
|
16
20
|
|
|
17
21
|
/** Corrida dueña del lease; otro runId en el LEASE vuelve el mensaje NOOP. */
|
|
22
|
+
@Expose()
|
|
18
23
|
@IsString()
|
|
19
24
|
@IsNotEmpty()
|
|
20
25
|
runId!: string;
|
|
21
26
|
|
|
22
27
|
/** Índice de la página que se pide; al re-encolar el resto lleva el índice siguiente. */
|
|
28
|
+
@Expose()
|
|
23
29
|
@IsInt()
|
|
24
30
|
@Min(0)
|
|
25
31
|
pageIndex!: number;
|
|
26
32
|
|
|
27
33
|
/** Tienda del mensaje en inventario. */
|
|
34
|
+
@Expose()
|
|
28
35
|
@IsOptional()
|
|
29
36
|
@IsString()
|
|
30
37
|
@IsNotEmpty()
|
|
31
38
|
storeId?: string;
|
|
39
|
+
|
|
40
|
+
/** Veces que el mensaje ya se re-encoló. */
|
|
41
|
+
@Expose()
|
|
42
|
+
@IsOptional()
|
|
43
|
+
@IsInt()
|
|
44
|
+
@Min(0)
|
|
45
|
+
requeueCount?: number;
|
|
32
46
|
}
|
|
@@ -1,12 +1,15 @@
|
|
|
1
|
+
import { Expose } from 'class-transformer';
|
|
1
2
|
import { IsIn, IsNotEmpty, IsOptional, IsString } from 'class-validator';
|
|
2
3
|
import { ReconciliationEntityEnum } from '../enums/ReconciliationEntityEnum';
|
|
3
4
|
|
|
4
5
|
/** Body de POST /backoffice/retailers/{retailerId}/reconciliations en catalog (backofficeStartCatalogReconciliation). */
|
|
5
6
|
export class StartCatalogReconciliationRequest {
|
|
7
|
+
@Expose()
|
|
6
8
|
@IsIn([ReconciliationEntityEnum.CATALOG, ReconciliationEntityEnum.INVENTORY])
|
|
7
9
|
entity!: ReconciliationEntityEnum.CATALOG | ReconciliationEntityEnum.INVENTORY;
|
|
8
10
|
|
|
9
11
|
/** Tienda a revisar en inventario; sin ella se revisan todas las del padrón. */
|
|
12
|
+
@Expose()
|
|
10
13
|
@IsOptional()
|
|
11
14
|
@IsString()
|
|
12
15
|
@IsNotEmpty()
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
+
import { Expose } from 'class-transformer';
|
|
1
2
|
import { IsIn } from 'class-validator';
|
|
2
3
|
import { ReconciliationEntityEnum } from '../enums/ReconciliationEntityEnum';
|
|
3
4
|
|
|
4
5
|
/** Body de POST /backoffice/retailers/{retailerId}/reconciliations en org (backofficeStartOrgReconciliation). */
|
|
5
6
|
export class StartOrgReconciliationRequest {
|
|
7
|
+
@Expose()
|
|
6
8
|
@IsIn([ReconciliationEntityEnum.STORES, ReconciliationEntityEnum.USERS])
|
|
7
9
|
entity!: ReconciliationEntityEnum.STORES | ReconciliationEntityEnum.USERS;
|
|
8
10
|
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Expose } from 'class-transformer';
|
|
2
|
+
import { IsEnum } from 'class-validator';
|
|
3
|
+
import { CentralResendKindEnum } from '../../enums/CentralResendKindEnum';
|
|
4
|
+
|
|
5
|
+
/** Body de POST /backoffice/sales/{saleId}/central-resend. */
|
|
6
|
+
export class ResendCentralSaleRequest {
|
|
7
|
+
@Expose()
|
|
8
|
+
@IsEnum(CentralResendKindEnum)
|
|
9
|
+
kind!: CentralResendKindEnum;
|
|
10
|
+
}
|
|
@@ -171,6 +171,8 @@ export * from './dtos/requests/AddSaleExceptionNoteRequest';
|
|
|
171
171
|
export * from './dtos/requests/RunSalesReportRequest';
|
|
172
172
|
export * from './dtos/requests/BackofficeCancelSaleRequest';
|
|
173
173
|
export * from './dtos/requests/PortalCancelSaleRequest';
|
|
174
|
+
export * from './enums/CentralResendKindEnum';
|
|
175
|
+
export * from './dtos/requests/ResendCentralSaleRequest';
|
|
174
176
|
|
|
175
177
|
// Responses
|
|
176
178
|
export * from './dtos/responses/BackofficeSalesStatsResponse';
|