28 lines
795 B
TypeScript
28 lines
795 B
TypeScript
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
|
|
}
|