Files
swiss-datashare/backend/src/user/dto/user.dto.ts

29 lines
512 B
TypeScript
Raw Normal View History

import { Expose, plainToClass } from "class-transformer";
2022-12-01 23:07:49 +01:00
import { IsEmail, IsNotEmpty, IsOptional, IsString } from "class-validator";
2022-10-10 17:58:42 +02:00
export class UserDTO {
@Expose()
id: string;
@Expose()
2022-12-01 23:07:49 +01:00
@IsOptional()
@IsString()
username: string;
@Expose()
2022-12-01 23:07:49 +01:00
@IsOptional()
@IsEmail()
email: string;
@IsNotEmpty()
@IsString()
password: string;
2022-12-01 23:07:49 +01:00
@Expose()
isAdmin: boolean;
2022-10-10 17:58:42 +02:00
from(partial: Partial<UserDTO>) {
return plainToClass(UserDTO, partial, { excludeExtraneousValues: true });
}
}