import { PasswordFieldValidator, UsernameFieldValidator } from '@/common/utils' import { ApiProperty, PartialType } from '@nestjs/swagger' import { IsEnum, IsOptional, IsString } from 'class-validator' import { AccountStatus, ConsumerRole } from 'generated/prisma/enums' export class CreateConsumerAccountDto { @IsString() @UsernameFieldValidator() @ApiProperty({ required: true }) username: string @IsString() @PasswordFieldValidator() @ApiProperty({ required: true }) password: string @IsEnum(ConsumerRole) @ApiProperty({ required: true, enum: ConsumerRole }) role: ConsumerRole } export class UpdateAccountDto extends PartialType(CreateConsumerAccountDto) { @IsOptional() @IsEnum(AccountStatus) @ApiProperty({ enum: AccountStatus }) status?: AccountStatus }