nullable cell_phone_number

This commit is contained in:
Vins 2023-12-19 14:59:27 +01:00
parent 735cfc8290
commit fc76a3ac63
3 changed files with 79 additions and 78 deletions

View File

@ -6,7 +6,7 @@ export default class Contact extends ContactCustomer {
first_name: string; first_name: string;
last_name: string; last_name: string;
email: string; email: string;
cell_phone_number: string; cell_phone_number?: string | null;
phone_number?: string | null; phone_number?: string | null;
civility: ECivility | string; civility: ECivility | string;
address?: Address; address?: Address;

View File

@ -34,6 +34,7 @@ const Address_1 = __importDefault(require("./Address"));
class Contact extends Contact_1.default { class Contact extends Contact_1.default {
constructor() { constructor() {
super(...arguments); super(...arguments);
this.cell_phone_number = null;
this.phone_number = null; this.phone_number = null;
} }
} }
@ -99,7 +100,7 @@ __decorate([
groups: ["createCustomer", "updateCustomer"], groups: ["createCustomer", "updateCustomer"],
message: "Le numéro de téléphone doit être au format 0X XX XX XX XX ou +33X XX XX XX XX", message: "Le numéro de téléphone doit être au format 0X XX XX XX XX ou +33X XX XX XX XX",
}), }),
__metadata("design:type", String) __metadata("design:type", Object)
], Contact.prototype, "cell_phone_number", void 0); ], Contact.prototype, "cell_phone_number", void 0);
__decorate([ __decorate([
(0, class_transformer_1.Expose)(), (0, class_transformer_1.Expose)(),

View File

@ -2,91 +2,91 @@ export * from "../Customer/Contact";
import { Expose, Type } from "class-transformer"; import { Expose, Type } from "class-transformer";
import ContactCustomer, { ECivility } from "../Customer/Contact"; import ContactCustomer, { ECivility } from "../Customer/Contact";
import { import {
IsEmail, IsEmail,
IsNotEmpty, IsNotEmpty,
IsOptional, IsOptional,
Matches, Matches,
NotEquals, NotEquals,
ValidateNested, ValidateNested,
} from "class-validator"; } from "class-validator";
import Address from "./Address"; import Address from "./Address";
export default class Contact extends ContactCustomer { export default class Contact extends ContactCustomer {
@Expose() @Expose()
public override uid?: string; public override uid?: string;
@Expose() @Expose()
@IsOptional({ groups: ["updateCustomer"] }) @IsOptional({ groups: ["updateCustomer"] })
@NotEquals(null || "", { @NotEquals(null || "", {
groups: ["updateCustomer"], groups: ["updateCustomer"],
message: "Prénom ne peut pas être vide", message: "Prénom ne peut pas être vide",
}) })
@IsNotEmpty({ @IsNotEmpty({
groups: ["createCustomer"], groups: ["createCustomer"],
message: "Prénom ne peut pas être vide", message: "Prénom ne peut pas être vide",
}) })
public override first_name!: string; public override first_name!: string;
@Expose() @Expose()
@IsOptional({ groups: ["updateCustomer"] }) @IsOptional({ groups: ["updateCustomer"] })
@NotEquals(null || "", { @NotEquals(null || "", {
groups: ["updateCustomer"], groups: ["updateCustomer"],
message: "Nom ne peut pas être vide", message: "Nom ne peut pas être vide",
}) })
@IsNotEmpty({ @IsNotEmpty({
groups: ["createCustomer"], groups: ["createCustomer"],
message: "Nom ne peut pas être vide", message: "Nom ne peut pas être vide",
}) })
public override last_name!: string; public override last_name!: string;
@Expose() @Expose()
@IsOptional({ groups: ["updateCustomer"] }) @IsOptional({ groups: ["updateCustomer"] })
@NotEquals(null || "", { @NotEquals(null || "", {
groups: ["updateCustomer"], groups: ["updateCustomer"],
message: "Email ne peut pas être vide", message: "Email ne peut pas être vide",
}) })
@IsNotEmpty({ @IsNotEmpty({
groups: ["createCustomer"], groups: ["createCustomer"],
message: "Email ne peut pas être vide", message: "Email ne peut pas être vide",
}) })
@IsEmail( @IsEmail(
{}, {},
{ {
groups: ["createCustomer", "updateCustomer"], groups: ["createCustomer", "updateCustomer"],
message: "Format de l'email incorrect", message: "Format de l'email incorrect",
} }
) )
public override email!: string; public override email!: string;
@Expose() @Expose()
@IsOptional({ groups: ["updateCustomer"] }) @IsOptional({ groups: ["updateCustomer"] })
@NotEquals(null || "", { @NotEquals(null || "", {
groups: ["updateCustomer"], groups: ["updateCustomer"],
message: "Numéro de téléphone ne peut pas être vide", message: "Numéro de téléphone ne peut pas être vide",
}) })
@IsNotEmpty({ @IsNotEmpty({
groups: ["createCustomer"], groups: ["createCustomer"],
message: "Numéro de téléphone ne peut pas être vide", message: "Numéro de téléphone ne peut pas être vide",
}) })
@Matches(/^\+[2-9]{2,3}[0-9]{9}$/, { @Matches(/^\+[2-9]{2,3}[0-9]{9}$/, {
groups: ["createCustomer", "updateCustomer"], groups: ["createCustomer", "updateCustomer"],
message: message:
"Le numéro de téléphone doit être au format 0X XX XX XX XX ou +33X XX XX XX XX", "Le numéro de téléphone doit être au format 0X XX XX XX XX ou +33X XX XX XX XX",
}) })
public override cell_phone_number!: string; public override cell_phone_number?: string | null = null;
@Expose() @Expose()
@IsOptional() @IsOptional()
public override phone_number?: string | null = null; public override phone_number?: string | null = null;
@Expose() @Expose()
@IsOptional({ groups: ["updateCustomer"] }) @IsOptional({ groups: ["updateCustomer"] })
@IsNotEmpty({ groups: ["createCustomer"], message: "Civility is required" }) @IsNotEmpty({ groups: ["createCustomer"], message: "Civility is required" })
public override civility!: ECivility | string; public override civility!: ECivility | string;
@Expose() @Expose()
@IsOptional({ groups: ["createCustomer", "updateCustomer"] }) @IsOptional({ groups: ["createCustomer", "updateCustomer"] })
@ValidateNested({ groups: ["createCustomer", "updateCustomer"] }) @ValidateNested({ groups: ["createCustomer", "updateCustomer"] })
@Type(() => Address) @Type(() => Address)
public override address?: Address; public override address?: Address;
} }