import { enumError, ValidatedBase } from 'validated-base'; import { RECORD_TYPE } from '@/models/record'; import { IsEnum, IsNumber, IsString } from 'class-validator'; interface CreateRecordInterface { type: RECORD_TYPE; userId: string; value: number; } /** * @class */ export class CreateRecord extends ValidatedBase implements CreateRecordInterface { /** * @param {CreateRecordInterface} params * @param {boolean} validate */ constructor(params: CreateRecordInterface, validate = true) { super(); this.type = params.type; this.userId = params.userId; this.value = params.value; if (validate) { this.validate(); } } @IsEnum(RECORD_TYPE, { message: enumError(RECORD_TYPE) }) type: RECORD_TYPE; @IsString() userId: string; @IsNumber() value: number; }