"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 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; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __exportStar = (this && this.__exportStar) || function(m, exports) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); __exportStar(require("../Customer/Contact"), exports); const class_transformer_1 = require("class-transformer"); const Contact_1 = __importDefault(require("../Customer/Contact")); const class_validator_1 = require("class-validator"); const Address_1 = __importDefault(require("./Address")); class Contact extends Contact_1.default { constructor() { super(...arguments); this.phone_number = null; } } __decorate([ (0, class_transformer_1.Expose)(), __metadata("design:type", String) ], Contact.prototype, "uid", void 0); __decorate([ (0, class_transformer_1.Expose)(), (0, class_validator_1.IsOptional)({ groups: ["updateCustomer"] }), (0, class_validator_1.NotEquals)(null || "", { groups: ["updateCustomer"], message: "Prénom ne peut pas être vide", }), (0, class_validator_1.IsNotEmpty)({ groups: ["createCustomer"], message: "Prénom ne peut pas être vide", }), __metadata("design:type", String) ], Contact.prototype, "first_name", void 0); __decorate([ (0, class_transformer_1.Expose)(), (0, class_validator_1.IsOptional)({ groups: ["updateCustomer"] }), (0, class_validator_1.NotEquals)(null || "", { groups: ["updateCustomer"], message: "Nom ne peut pas être vide", }), (0, class_validator_1.IsNotEmpty)({ groups: ["createCustomer"], message: "Nom ne peut pas être vide", }), __metadata("design:type", String) ], Contact.prototype, "last_name", void 0); __decorate([ (0, class_transformer_1.Expose)(), (0, class_validator_1.IsOptional)({ groups: ["updateCustomer"] }), (0, class_validator_1.NotEquals)(null || "", { groups: ["updateCustomer"], message: "Email ne peut pas être vide", }), (0, class_validator_1.IsNotEmpty)({ groups: ["createCustomer"], message: "Email ne peut pas être vide", }), (0, class_validator_1.IsEmail)({}, { groups: ["createCustomer", "updateCustomer"], message: "Format de l'email incorrect", }), __metadata("design:type", String) ], Contact.prototype, "email", void 0); __decorate([ (0, class_transformer_1.Expose)(), (0, class_validator_1.IsOptional)({ groups: ["updateCustomer"] }), (0, class_validator_1.NotEquals)(null || "", { groups: ["updateCustomer"], message: "Numéro de téléphone ne peut pas être vide", }), (0, class_validator_1.IsNotEmpty)({ groups: ["createCustomer"], message: "Numéro de téléphone ne peut pas être vide", }), (0, class_validator_1.Matches)(/^\+[2-9]{2,3}[0-9]{9}$/, { 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", }), __metadata("design:type", String) ], Contact.prototype, "cell_phone_number", void 0); __decorate([ (0, class_transformer_1.Expose)(), (0, class_validator_1.IsOptional)(), __metadata("design:type", Object) ], Contact.prototype, "phone_number", void 0); __decorate([ (0, class_transformer_1.Expose)(), (0, class_validator_1.IsOptional)({ groups: ["updateCustomer"] }), (0, class_validator_1.IsNotEmpty)({ groups: ["createCustomer"], message: "Civility is required" }), __metadata("design:type", String) ], Contact.prototype, "civility", void 0); __decorate([ (0, class_transformer_1.Expose)(), (0, class_validator_1.IsOptional)({ groups: ["createCustomer", "updateCustomer"] }), (0, class_validator_1.ValidateNested)({ groups: ["createCustomer", "updateCustomer"] }), (0, class_transformer_1.Type)(() => Address_1.default), __metadata("design:type", Address_1.default) ], Contact.prototype, "address", void 0); exports.default = Contact;