@alba-cars/common-modules
Version:
A package containing DTOs, validation classes and common modules and interfaces for Alba Cars
180 lines (179 loc) • 8.12 kB
JavaScript
;
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 __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.TestDriveRequestUpdateDTO = exports.TestDriveRequestCreateDTO = exports.TestDriveRequestGetDTO = exports.TestDriveRequestGetDTOOptions = void 0;
/* eslint-disable @typescript-eslint/no-unused-vars */
const class_validator_1 = require("class-validator");
const class_transformer_1 = require("class-transformer");
const BaseDTO_1 = require("../../../vehicle/data/dto/BaseDTO");
const VehicleDTO_1 = require("../../../vehicle/data/dto/VehicleDTO");
const enums_1 = require("../enums");
class TestDriveRequestGetDTOOptions {
}
exports.TestDriveRequestGetDTOOptions = TestDriveRequestGetDTOOptions;
class TestDriveRequestGetDTO {
validate() {
const errors = (0, class_validator_1.validateSync)(this);
return errors.map((error) => { var _a; return Object.values((_a = error.constraints) !== null && _a !== void 0 ? _a : {}); }).flat();
}
static fromPlain(plain) {
return (0, class_transformer_1.plainToClass)(TestDriveRequestGetDTO, plain);
}
static toPlain(entity) {
return (0, class_transformer_1.instanceToPlain)(entity);
}
}
exports.TestDriveRequestGetDTO = TestDriveRequestGetDTO;
class TestDriveRequestCreateDTO {
validate() {
const errors = (0, class_validator_1.validateSync)(this);
return errors.map((error) => { var _a; return Object.values((_a = error.constraints) !== null && _a !== void 0 ? _a : {}); }).flat();
}
constructor(data) {
Object.assign(this, data);
if (!this.status)
this.status = enums_1.TestDriveRequestStatus.NOT_CONTACTED;
if (!this.leadThrough)
this.leadThrough = enums_1.LeadThrough.WEBSITE;
}
static fromPlain(plain) {
const dto = (0, class_transformer_1.plainToClass)(TestDriveRequestCreateDTO, plain);
if (!dto.status)
dto.status = enums_1.TestDriveRequestStatus.NOT_CONTACTED;
if (!dto.leadThrough)
dto.leadThrough = enums_1.LeadThrough.WEBSITE;
return dto;
}
toPlain() {
return (0, class_transformer_1.instanceToPlain)(this);
}
}
__decorate([
(0, class_validator_1.IsNotEmpty)(),
(0, class_validator_1.ValidateNested)(),
(0, class_transformer_1.Type)(() => VehicleDTO_1.DynamicVehicleDTO),
__metadata("design:type", VehicleDTO_1.DynamicVehicleDTO)
], TestDriveRequestCreateDTO.prototype, "vehicle", void 0);
__decorate([
(0, class_validator_1.IsNotEmpty)(),
(0, class_validator_1.IsString)(),
(0, class_validator_1.MinLength)(2),
(0, class_validator_1.MaxLength)(255),
__metadata("design:type", String)
], TestDriveRequestCreateDTO.prototype, "testerName", void 0);
__decorate([
(0, class_validator_1.IsNotEmpty)(),
(0, class_validator_1.IsString)(),
(0, class_validator_1.MinLength)(8),
(0, class_validator_1.MaxLength)(20),
__metadata("design:type", String)
], TestDriveRequestCreateDTO.prototype, "testerMobile", void 0);
__decorate([
(0, class_validator_1.IsOptional)(),
(0, class_validator_1.IsString)(),
(0, class_validator_1.IsEmail)(),
__metadata("design:type", String)
], TestDriveRequestCreateDTO.prototype, "testerEmail", void 0);
__decorate([
(0, class_validator_1.IsNotEmpty)(),
(0, class_validator_1.IsDateString)(),
__metadata("design:type", String)
], TestDriveRequestCreateDTO.prototype, "requestedDate", void 0);
__decorate([
(0, class_validator_1.IsOptional)(),
(0, class_validator_1.IsDateString)(),
__metadata("design:type", String)
], TestDriveRequestCreateDTO.prototype, "testDriveDate", void 0);
__decorate([
(0, class_validator_1.IsOptional)(),
(0, class_validator_1.IsEnum)(enums_1.TestDriveRequestStatus),
__metadata("design:type", Number)
], TestDriveRequestCreateDTO.prototype, "status", void 0);
__decorate([
(0, class_validator_1.IsOptional)(),
(0, class_validator_1.IsEnum)(enums_1.LeadThrough),
__metadata("design:type", String)
], TestDriveRequestCreateDTO.prototype, "leadThrough", void 0);
__decorate([
(0, class_validator_1.IsOptional)(),
(0, class_validator_1.IsString)(),
__metadata("design:type", String)
], TestDriveRequestCreateDTO.prototype, "comments", void 0);
__decorate([
(0, class_validator_1.IsOptional)(),
(0, class_validator_1.IsString)(),
__metadata("design:type", String)
], TestDriveRequestCreateDTO.prototype, "createdById", void 0);
exports.TestDriveRequestCreateDTO = TestDriveRequestCreateDTO;
class TestDriveRequestUpdateDTO extends BaseDTO_1.BaseUpdateDTO {
validate() {
const errors = (0, class_validator_1.validateSync)(this);
return errors.map((error) => { var _a; return Object.values((_a = error.constraints) !== null && _a !== void 0 ? _a : {}); }).flat();
}
static fromPlain(plain) {
return (0, class_transformer_1.plainToClass)(TestDriveRequestUpdateDTO, plain);
}
toPlain() {
return (0, class_transformer_1.instanceToPlain)(this);
}
}
__decorate([
(0, class_validator_1.IsOptional)(),
(0, class_validator_1.ValidateNested)(),
(0, class_transformer_1.Type)(() => VehicleDTO_1.DynamicVehicleDTO),
__metadata("design:type", VehicleDTO_1.DynamicVehicleDTO)
], TestDriveRequestUpdateDTO.prototype, "vehicle", void 0);
__decorate([
(0, class_validator_1.IsOptional)(),
(0, class_validator_1.IsString)(),
(0, class_validator_1.MinLength)(2),
(0, class_validator_1.MaxLength)(255),
__metadata("design:type", String)
], TestDriveRequestUpdateDTO.prototype, "testerName", void 0);
__decorate([
(0, class_validator_1.IsOptional)(),
(0, class_validator_1.IsString)(),
(0, class_validator_1.MinLength)(8),
(0, class_validator_1.MaxLength)(20),
__metadata("design:type", String)
], TestDriveRequestUpdateDTO.prototype, "testerMobile", void 0);
__decorate([
(0, class_validator_1.IsOptional)(),
(0, class_validator_1.IsString)(),
(0, class_validator_1.IsEmail)(),
__metadata("design:type", String)
], TestDriveRequestUpdateDTO.prototype, "testerEmail", void 0);
__decorate([
(0, class_validator_1.IsOptional)(),
(0, class_validator_1.IsDate)(),
__metadata("design:type", Date)
], TestDriveRequestUpdateDTO.prototype, "requestedDate", void 0);
__decorate([
(0, class_validator_1.IsOptional)(),
(0, class_validator_1.IsDate)(),
__metadata("design:type", Date)
], TestDriveRequestUpdateDTO.prototype, "testDriveDate", void 0);
__decorate([
(0, class_validator_1.IsOptional)(),
(0, class_validator_1.IsEnum)(enums_1.TestDriveRequestStatus),
__metadata("design:type", Number)
], TestDriveRequestUpdateDTO.prototype, "status", void 0);
__decorate([
(0, class_validator_1.IsOptional)(),
(0, class_validator_1.IsEnum)(enums_1.LeadThrough),
__metadata("design:type", String)
], TestDriveRequestUpdateDTO.prototype, "leadThrough", void 0);
__decorate([
(0, class_validator_1.IsOptional)(),
(0, class_validator_1.IsString)(),
__metadata("design:type", String)
], TestDriveRequestUpdateDTO.prototype, "comments", void 0);
exports.TestDriveRequestUpdateDTO = TestDriveRequestUpdateDTO;