@merkaly/api 0.11.0 → 0.12.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/dist/inventory/catalog/product/request.validator.d.ts +4 -0
- package/dist/inventory/catalog/product/request.validator.js +16 -0
- package/dist/order/sale/checkout.request.validator.d.ts +12 -0
- package/dist/order/sale/checkout.request.validator.js +58 -0
- package/dist/order/sale/index.d.ts +3 -0
- package/dist/order/sale/index.js +2 -0
- package/dist/order/sale/procurement.d.ts +1 -1
- package/dist/order/sale/sale.entity.d.ts +2 -0
- package/dist/order/sale/sale.shipping.entity.d.ts +47 -0
- package/dist/order/sale/shipping.request.validator.d.ts +25 -0
- package/dist/order/sale/shipping.request.validator.js +176 -0
- package/package.json +1 -1
|
@@ -14,10 +14,14 @@ declare class UpdateProductVariantRequestValidator extends UpdateVariantRequestV
|
|
|
14
14
|
_id?: string;
|
|
15
15
|
constructor(variant?: CatalogVariantEntity);
|
|
16
16
|
}
|
|
17
|
+
declare class UpdateProductVariantsItemRequestValidator extends UpdateVariantRequestValidator {
|
|
18
|
+
_id: string;
|
|
19
|
+
}
|
|
17
20
|
export declare class UpdateProductRequestValidator extends ProductMetadataRequestValidator {
|
|
18
21
|
name: string;
|
|
19
22
|
active?: boolean;
|
|
20
23
|
variant?: UpdateProductVariantRequestValidator;
|
|
24
|
+
variants?: UpdateProductVariantsItemRequestValidator[];
|
|
21
25
|
constructor(product?: CatalogProductEntity);
|
|
22
26
|
}
|
|
23
27
|
export declare class CreateProductRequestValidator extends ProductMetadataRequestValidator {
|
|
@@ -30,6 +30,7 @@ class ProductMetadataRequestValidator extends abstract_validator_1.AbstractReque
|
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
32
|
__decorate([
|
|
33
|
+
(0, class_transformer_1.Transform)(({ value }) => typeof value === 'string' ? value.replace(/\s+/g, ' ').trim() : value),
|
|
33
34
|
(0, class_validator_1.IsString)(),
|
|
34
35
|
(0, class_validator_1.IsNotEmpty)(),
|
|
35
36
|
(0, class_validator_1.Length)(0, 100),
|
|
@@ -71,9 +72,17 @@ __decorate([
|
|
|
71
72
|
(0, class_validator_1.IsOptional)(),
|
|
72
73
|
__metadata("design:type", String)
|
|
73
74
|
], UpdateProductVariantRequestValidator.prototype, "_id", void 0);
|
|
75
|
+
class UpdateProductVariantsItemRequestValidator extends request_validator_1.UpdateVariantRequestValidator {
|
|
76
|
+
_id;
|
|
77
|
+
}
|
|
78
|
+
__decorate([
|
|
79
|
+
(0, class_validator_1.IsMongoId)(),
|
|
80
|
+
__metadata("design:type", String)
|
|
81
|
+
], UpdateProductVariantsItemRequestValidator.prototype, "_id", void 0);
|
|
74
82
|
export class UpdateProductRequestValidator extends ProductMetadataRequestValidator {
|
|
75
83
|
active;
|
|
76
84
|
variant;
|
|
85
|
+
variants;
|
|
77
86
|
constructor(product) {
|
|
78
87
|
super(product);
|
|
79
88
|
if (product)
|
|
@@ -97,6 +106,13 @@ __decorate([
|
|
|
97
106
|
(0, class_transformer_1.Type)(() => UpdateProductVariantRequestValidator),
|
|
98
107
|
__metadata("design:type", UpdateProductVariantRequestValidator)
|
|
99
108
|
], UpdateProductRequestValidator.prototype, "variant", void 0);
|
|
109
|
+
__decorate([
|
|
110
|
+
(0, class_validator_1.IsOptional)(),
|
|
111
|
+
(0, class_validator_1.IsArray)(),
|
|
112
|
+
(0, class_validator_1.ValidateNested)({ each: true }),
|
|
113
|
+
(0, class_transformer_1.Type)(() => UpdateProductVariantsItemRequestValidator),
|
|
114
|
+
__metadata("design:type", Array)
|
|
115
|
+
], UpdateProductRequestValidator.prototype, "variants", void 0);
|
|
100
116
|
export class CreateProductRequestValidator extends ProductMetadataRequestValidator {
|
|
101
117
|
variant;
|
|
102
118
|
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AbstractRequestValidator } from '../../abstract.validator.js';
|
|
2
|
+
import { SaleShippingRequestValidator } from './shipping.request.validator.js';
|
|
3
|
+
export declare class CheckoutItemRequestValidator extends AbstractRequestValidator {
|
|
4
|
+
product: string;
|
|
5
|
+
variant: string;
|
|
6
|
+
quantity: number;
|
|
7
|
+
}
|
|
8
|
+
export declare class CreateCheckoutRequestValidator extends AbstractRequestValidator {
|
|
9
|
+
items: CheckoutItemRequestValidator[];
|
|
10
|
+
shipping: SaleShippingRequestValidator;
|
|
11
|
+
notes?: string;
|
|
12
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import 'reflect-metadata';
|
|
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
|
+
import * as class_transformer_1 from "class-transformer";
|
|
12
|
+
import * as class_validator_1 from "class-validator";
|
|
13
|
+
import * as abstract_validator_1 from '../../abstract.validator.js';
|
|
14
|
+
import * as shipping_request_validator_1 from './shipping.request.validator.js';
|
|
15
|
+
export class CheckoutItemRequestValidator extends abstract_validator_1.AbstractRequestValidator {
|
|
16
|
+
product;
|
|
17
|
+
variant;
|
|
18
|
+
quantity = 1;
|
|
19
|
+
}
|
|
20
|
+
__decorate([
|
|
21
|
+
(0, class_validator_1.IsMongoId)(),
|
|
22
|
+
__metadata("design:type", String)
|
|
23
|
+
], CheckoutItemRequestValidator.prototype, "product", void 0);
|
|
24
|
+
__decorate([
|
|
25
|
+
(0, class_validator_1.IsMongoId)(),
|
|
26
|
+
__metadata("design:type", String)
|
|
27
|
+
], CheckoutItemRequestValidator.prototype, "variant", void 0);
|
|
28
|
+
__decorate([
|
|
29
|
+
(0, class_validator_1.IsInt)(),
|
|
30
|
+
(0, class_validator_1.Min)(1),
|
|
31
|
+
(0, class_validator_1.Max)(99),
|
|
32
|
+
__metadata("design:type", Object)
|
|
33
|
+
], CheckoutItemRequestValidator.prototype, "quantity", void 0);
|
|
34
|
+
export class CreateCheckoutRequestValidator extends abstract_validator_1.AbstractRequestValidator {
|
|
35
|
+
items = [];
|
|
36
|
+
shipping = new shipping_request_validator_1.SaleShippingRequestValidator();
|
|
37
|
+
notes;
|
|
38
|
+
}
|
|
39
|
+
__decorate([
|
|
40
|
+
(0, class_validator_1.IsArray)(),
|
|
41
|
+
(0, class_validator_1.ArrayNotEmpty)(),
|
|
42
|
+
(0, class_validator_1.ArrayMaxSize)(50),
|
|
43
|
+
(0, class_transformer_1.Type)(() => CheckoutItemRequestValidator),
|
|
44
|
+
(0, class_validator_1.ValidateNested)({ each: true }),
|
|
45
|
+
__metadata("design:type", Array)
|
|
46
|
+
], CreateCheckoutRequestValidator.prototype, "items", void 0);
|
|
47
|
+
__decorate([
|
|
48
|
+
(0, class_validator_1.IsDefined)(),
|
|
49
|
+
(0, class_transformer_1.Type)(() => shipping_request_validator_1.SaleShippingRequestValidator),
|
|
50
|
+
(0, class_validator_1.ValidateNested)(),
|
|
51
|
+
__metadata("design:type", Object)
|
|
52
|
+
], CreateCheckoutRequestValidator.prototype, "shipping", void 0);
|
|
53
|
+
__decorate([
|
|
54
|
+
(0, class_validator_1.IsString)(),
|
|
55
|
+
(0, class_validator_1.Length)(0, 500),
|
|
56
|
+
(0, class_validator_1.IsOptional)(),
|
|
57
|
+
__metadata("design:type", String)
|
|
58
|
+
], CreateCheckoutRequestValidator.prototype, "notes", void 0);
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
export * from './sale.entity';
|
|
2
|
+
export * from './sale.shipping.entity';
|
|
2
3
|
export * from './sale.enum';
|
|
3
4
|
export * from './sale.transition';
|
|
4
5
|
export * from './request.validator';
|
|
5
6
|
export * from './item.request.validator';
|
|
6
7
|
export * from './procurement';
|
|
7
8
|
export * from './procurement.request.validator';
|
|
9
|
+
export * from './shipping.request.validator';
|
|
10
|
+
export * from './checkout.request.validator';
|
package/dist/order/sale/index.js
CHANGED
|
@@ -3,3 +3,5 @@ export * from './sale.transition.js';
|
|
|
3
3
|
export * from './request.validator.js';
|
|
4
4
|
export * from './item.request.validator.js';
|
|
5
5
|
export * from './procurement.request.validator.js';
|
|
6
|
+
export * from './shipping.request.validator.js';
|
|
7
|
+
export * from './checkout.request.validator.js';
|
|
@@ -2,9 +2,11 @@ import { ContactCustomerEntity } from '../../contact/customer';
|
|
|
2
2
|
import { ItemEntity } from '../item';
|
|
3
3
|
import { TransactionEntity } from '../../transaction.entity.js';
|
|
4
4
|
import { OrderSaleStatusEnum } from './sale.enum.js';
|
|
5
|
+
import { OrderSaleShippingEntity } from './sale.shipping.entity.js';
|
|
5
6
|
import type { OrderPurchaseEntity } from '../purchase';
|
|
6
7
|
export declare class OrderSaleEntity extends TransactionEntity<OrderSaleStatusEnum> {
|
|
7
8
|
customer: ContactCustomerEntity;
|
|
8
9
|
items: ItemEntity[];
|
|
10
|
+
shipping?: OrderSaleShippingEntity;
|
|
9
11
|
readonly purchases: OrderPurchaseEntity[];
|
|
10
12
|
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
export declare class OrderSaleShippingRecipientEntity {
|
|
2
|
+
name: string;
|
|
3
|
+
email: string;
|
|
4
|
+
phone: string;
|
|
5
|
+
document: string;
|
|
6
|
+
}
|
|
7
|
+
export declare const OrderSaleShippingRecipientSchema: import("mongoose").Schema<OrderSaleShippingRecipientEntity, import("mongoose").Model<OrderSaleShippingRecipientEntity, any, any, any, import("mongoose").Document<unknown, any, OrderSaleShippingRecipientEntity, any, {}> & OrderSaleShippingRecipientEntity & {
|
|
8
|
+
_id: import("mongoose").Types.ObjectId;
|
|
9
|
+
} & {
|
|
10
|
+
__v: number;
|
|
11
|
+
}, any>, {}, {}, {}, {}, import("mongoose").DefaultSchemaOptions, OrderSaleShippingRecipientEntity, import("mongoose").Document<unknown, {}, import("mongoose").FlatRecord<OrderSaleShippingRecipientEntity>, {}, import("mongoose").ResolveSchemaOptions<import("mongoose").DefaultSchemaOptions>> & import("mongoose").FlatRecord<OrderSaleShippingRecipientEntity> & {
|
|
12
|
+
_id: import("mongoose").Types.ObjectId;
|
|
13
|
+
} & {
|
|
14
|
+
__v: number;
|
|
15
|
+
}>;
|
|
16
|
+
export declare class OrderSaleShippingAddressEntity {
|
|
17
|
+
postalCode: string;
|
|
18
|
+
street: string;
|
|
19
|
+
number: string;
|
|
20
|
+
complement?: string;
|
|
21
|
+
district: string;
|
|
22
|
+
city: string;
|
|
23
|
+
state: string;
|
|
24
|
+
country: string;
|
|
25
|
+
}
|
|
26
|
+
export declare const OrderSaleShippingAddressSchema: import("mongoose").Schema<OrderSaleShippingAddressEntity, import("mongoose").Model<OrderSaleShippingAddressEntity, any, any, any, import("mongoose").Document<unknown, any, OrderSaleShippingAddressEntity, any, {}> & OrderSaleShippingAddressEntity & {
|
|
27
|
+
_id: import("mongoose").Types.ObjectId;
|
|
28
|
+
} & {
|
|
29
|
+
__v: number;
|
|
30
|
+
}, any>, {}, {}, {}, {}, import("mongoose").DefaultSchemaOptions, OrderSaleShippingAddressEntity, import("mongoose").Document<unknown, {}, import("mongoose").FlatRecord<OrderSaleShippingAddressEntity>, {}, import("mongoose").ResolveSchemaOptions<import("mongoose").DefaultSchemaOptions>> & import("mongoose").FlatRecord<OrderSaleShippingAddressEntity> & {
|
|
31
|
+
_id: import("mongoose").Types.ObjectId;
|
|
32
|
+
} & {
|
|
33
|
+
__v: number;
|
|
34
|
+
}>;
|
|
35
|
+
export declare class OrderSaleShippingEntity {
|
|
36
|
+
recipient: OrderSaleShippingRecipientEntity;
|
|
37
|
+
address: OrderSaleShippingAddressEntity;
|
|
38
|
+
}
|
|
39
|
+
export declare const OrderSaleShippingSchema: import("mongoose").Schema<OrderSaleShippingEntity, import("mongoose").Model<OrderSaleShippingEntity, any, any, any, import("mongoose").Document<unknown, any, OrderSaleShippingEntity, any, {}> & OrderSaleShippingEntity & {
|
|
40
|
+
_id: import("mongoose").Types.ObjectId;
|
|
41
|
+
} & {
|
|
42
|
+
__v: number;
|
|
43
|
+
}, any>, {}, {}, {}, {}, import("mongoose").DefaultSchemaOptions, OrderSaleShippingEntity, import("mongoose").Document<unknown, {}, import("mongoose").FlatRecord<OrderSaleShippingEntity>, {}, import("mongoose").ResolveSchemaOptions<import("mongoose").DefaultSchemaOptions>> & import("mongoose").FlatRecord<OrderSaleShippingEntity> & {
|
|
44
|
+
_id: import("mongoose").Types.ObjectId;
|
|
45
|
+
} & {
|
|
46
|
+
__v: number;
|
|
47
|
+
}>;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { AbstractRequestValidator } from '../../abstract.validator.js';
|
|
2
|
+
import type { OrderSaleShippingEntity } from './sale.shipping.entity.js';
|
|
3
|
+
export declare const BRAZIL_STATES: string[];
|
|
4
|
+
export declare function isCpf(value: unknown): boolean;
|
|
5
|
+
export declare class SaleShippingRecipientRequestValidator extends AbstractRequestValidator {
|
|
6
|
+
name: string;
|
|
7
|
+
email: string;
|
|
8
|
+
phone: string;
|
|
9
|
+
document: string;
|
|
10
|
+
}
|
|
11
|
+
export declare class SaleShippingAddressRequestValidator extends AbstractRequestValidator {
|
|
12
|
+
postalCode: string;
|
|
13
|
+
street: string;
|
|
14
|
+
number: string;
|
|
15
|
+
complement?: string;
|
|
16
|
+
district: string;
|
|
17
|
+
city: string;
|
|
18
|
+
state: string;
|
|
19
|
+
country: string;
|
|
20
|
+
}
|
|
21
|
+
export declare class SaleShippingRequestValidator extends AbstractRequestValidator {
|
|
22
|
+
recipient: SaleShippingRecipientRequestValidator;
|
|
23
|
+
address: SaleShippingAddressRequestValidator;
|
|
24
|
+
constructor(shipping?: OrderSaleShippingEntity);
|
|
25
|
+
}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
import 'reflect-metadata';
|
|
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
|
+
import * as class_transformer_1 from "class-transformer";
|
|
12
|
+
import * as class_validator_1 from "class-validator";
|
|
13
|
+
import * as abstract_validator_1 from '../../abstract.validator.js';
|
|
14
|
+
export const BRAZIL_STATES = [
|
|
15
|
+
'AC',
|
|
16
|
+
'AL',
|
|
17
|
+
'AM',
|
|
18
|
+
'AP',
|
|
19
|
+
'BA',
|
|
20
|
+
'CE',
|
|
21
|
+
'DF',
|
|
22
|
+
'ES',
|
|
23
|
+
'GO',
|
|
24
|
+
'MA',
|
|
25
|
+
'MG',
|
|
26
|
+
'MS',
|
|
27
|
+
'MT',
|
|
28
|
+
'PA',
|
|
29
|
+
'PB',
|
|
30
|
+
'PE',
|
|
31
|
+
'PI',
|
|
32
|
+
'PR',
|
|
33
|
+
'RJ',
|
|
34
|
+
'RN',
|
|
35
|
+
'RO',
|
|
36
|
+
'RR',
|
|
37
|
+
'RS',
|
|
38
|
+
'SC',
|
|
39
|
+
'SE',
|
|
40
|
+
'SP',
|
|
41
|
+
'TO',
|
|
42
|
+
];
|
|
43
|
+
const trim = ({ value }) => (typeof value === 'string' ? value.trim() : value);
|
|
44
|
+
const digits = ({ value }) => typeof value === 'string' ? value.replace(/\D/g, '') : value;
|
|
45
|
+
const upper = ({ value }) => typeof value === 'string' ? value.trim().toUpperCase() : value;
|
|
46
|
+
export function isCpf(value) {
|
|
47
|
+
if (typeof value !== 'string' || !/^\d{11}$/.test(value) || /^(\d)\1{10}$/.test(value)) {
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
const digit = (length) => {
|
|
51
|
+
const sum = value
|
|
52
|
+
.slice(0, length)
|
|
53
|
+
.split('')
|
|
54
|
+
.reduce((acc, char, index) => acc + Number(char) * (length + 1 - index), 0);
|
|
55
|
+
return ((sum * 10) % 11) % 10;
|
|
56
|
+
};
|
|
57
|
+
return digit(9) === Number(value[9]) && digit(10) === Number(value[10]);
|
|
58
|
+
}
|
|
59
|
+
function IsCpf() {
|
|
60
|
+
return (0, class_validator_1.ValidateBy)({
|
|
61
|
+
name: 'isCpf',
|
|
62
|
+
validator: {
|
|
63
|
+
defaultMessage: () => '$property must be a valid CPF',
|
|
64
|
+
validate: isCpf,
|
|
65
|
+
},
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
export class SaleShippingRecipientRequestValidator extends abstract_validator_1.AbstractRequestValidator {
|
|
69
|
+
name;
|
|
70
|
+
email;
|
|
71
|
+
phone;
|
|
72
|
+
document;
|
|
73
|
+
}
|
|
74
|
+
__decorate([
|
|
75
|
+
(0, class_validator_1.IsString)(),
|
|
76
|
+
(0, class_validator_1.Length)(2, 120),
|
|
77
|
+
(0, class_transformer_1.Transform)(trim),
|
|
78
|
+
__metadata("design:type", String)
|
|
79
|
+
], SaleShippingRecipientRequestValidator.prototype, "name", void 0);
|
|
80
|
+
__decorate([
|
|
81
|
+
(0, class_validator_1.IsEmail)(),
|
|
82
|
+
(0, class_validator_1.Length)(3, 254),
|
|
83
|
+
(0, class_transformer_1.Transform)(({ value }) => (typeof value === 'string' ? value.trim().toLowerCase() : value)),
|
|
84
|
+
__metadata("design:type", String)
|
|
85
|
+
], SaleShippingRecipientRequestValidator.prototype, "email", void 0);
|
|
86
|
+
__decorate([
|
|
87
|
+
(0, class_validator_1.Matches)(/^(55)?\d{10,11}$/, { message: '$property must be a Brazilian phone with area code' }),
|
|
88
|
+
(0, class_transformer_1.Transform)(digits),
|
|
89
|
+
__metadata("design:type", String)
|
|
90
|
+
], SaleShippingRecipientRequestValidator.prototype, "phone", void 0);
|
|
91
|
+
__decorate([
|
|
92
|
+
IsCpf(),
|
|
93
|
+
(0, class_transformer_1.Transform)(digits),
|
|
94
|
+
__metadata("design:type", String)
|
|
95
|
+
], SaleShippingRecipientRequestValidator.prototype, "document", void 0);
|
|
96
|
+
export class SaleShippingAddressRequestValidator extends abstract_validator_1.AbstractRequestValidator {
|
|
97
|
+
postalCode;
|
|
98
|
+
street;
|
|
99
|
+
number;
|
|
100
|
+
complement;
|
|
101
|
+
district;
|
|
102
|
+
city;
|
|
103
|
+
state;
|
|
104
|
+
country;
|
|
105
|
+
}
|
|
106
|
+
__decorate([
|
|
107
|
+
(0, class_validator_1.Matches)(/^\d{8}$/, { message: '$property must be a CEP with 8 digits' }),
|
|
108
|
+
(0, class_transformer_1.Transform)(digits),
|
|
109
|
+
__metadata("design:type", String)
|
|
110
|
+
], SaleShippingAddressRequestValidator.prototype, "postalCode", void 0);
|
|
111
|
+
__decorate([
|
|
112
|
+
(0, class_validator_1.IsString)(),
|
|
113
|
+
(0, class_validator_1.Length)(2, 200),
|
|
114
|
+
(0, class_transformer_1.Transform)(trim),
|
|
115
|
+
__metadata("design:type", String)
|
|
116
|
+
], SaleShippingAddressRequestValidator.prototype, "street", void 0);
|
|
117
|
+
__decorate([
|
|
118
|
+
(0, class_validator_1.IsString)(),
|
|
119
|
+
(0, class_validator_1.Length)(1, 20),
|
|
120
|
+
(0, class_transformer_1.Transform)(trim),
|
|
121
|
+
__metadata("design:type", String)
|
|
122
|
+
], SaleShippingAddressRequestValidator.prototype, "number", void 0);
|
|
123
|
+
__decorate([
|
|
124
|
+
(0, class_validator_1.IsString)(),
|
|
125
|
+
(0, class_validator_1.Length)(0, 120),
|
|
126
|
+
(0, class_validator_1.IsOptional)(),
|
|
127
|
+
(0, class_transformer_1.Transform)(trim),
|
|
128
|
+
__metadata("design:type", String)
|
|
129
|
+
], SaleShippingAddressRequestValidator.prototype, "complement", void 0);
|
|
130
|
+
__decorate([
|
|
131
|
+
(0, class_validator_1.IsString)(),
|
|
132
|
+
(0, class_validator_1.Length)(2, 120),
|
|
133
|
+
(0, class_transformer_1.Transform)(trim),
|
|
134
|
+
__metadata("design:type", String)
|
|
135
|
+
], SaleShippingAddressRequestValidator.prototype, "district", void 0);
|
|
136
|
+
__decorate([
|
|
137
|
+
(0, class_validator_1.IsString)(),
|
|
138
|
+
(0, class_validator_1.Length)(2, 120),
|
|
139
|
+
(0, class_transformer_1.Transform)(trim),
|
|
140
|
+
__metadata("design:type", String)
|
|
141
|
+
], SaleShippingAddressRequestValidator.prototype, "city", void 0);
|
|
142
|
+
__decorate([
|
|
143
|
+
(0, class_validator_1.IsIn)(BRAZIL_STATES, { message: '$property must be a Brazilian UF' }),
|
|
144
|
+
(0, class_transformer_1.Transform)(upper),
|
|
145
|
+
__metadata("design:type", String)
|
|
146
|
+
], SaleShippingAddressRequestValidator.prototype, "state", void 0);
|
|
147
|
+
__decorate([
|
|
148
|
+
(0, class_validator_1.IsISO31661Alpha2)(),
|
|
149
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
150
|
+
(0, class_transformer_1.Transform)(upper),
|
|
151
|
+
__metadata("design:type", String)
|
|
152
|
+
], SaleShippingAddressRequestValidator.prototype, "country", void 0);
|
|
153
|
+
export class SaleShippingRequestValidator extends abstract_validator_1.AbstractRequestValidator {
|
|
154
|
+
recipient = new SaleShippingRecipientRequestValidator();
|
|
155
|
+
address = new SaleShippingAddressRequestValidator();
|
|
156
|
+
constructor(shipping) {
|
|
157
|
+
super();
|
|
158
|
+
if (!shipping) {
|
|
159
|
+
return;
|
|
160
|
+
}
|
|
161
|
+
Object.assign(this.recipient, shipping.recipient);
|
|
162
|
+
Object.assign(this.address, shipping.address);
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
__decorate([
|
|
166
|
+
(0, class_validator_1.IsDefined)(),
|
|
167
|
+
(0, class_transformer_1.Type)(() => SaleShippingRecipientRequestValidator),
|
|
168
|
+
(0, class_validator_1.ValidateNested)(),
|
|
169
|
+
__metadata("design:type", Object)
|
|
170
|
+
], SaleShippingRequestValidator.prototype, "recipient", void 0);
|
|
171
|
+
__decorate([
|
|
172
|
+
(0, class_validator_1.IsDefined)(),
|
|
173
|
+
(0, class_transformer_1.Type)(() => SaleShippingAddressRequestValidator),
|
|
174
|
+
(0, class_validator_1.ValidateNested)(),
|
|
175
|
+
__metadata("design:type", Object)
|
|
176
|
+
], SaleShippingRequestValidator.prototype, "address", void 0);
|