// src/users/dto/create-user.dto.ts

import { ApiProperty } from '@nestjs/swagger';
import { IsBoolean, IsNotEmpty, IsNumber, IsOptional, IsString, MinLength } from 'class-validator';

export class CreateUserDto {
	@IsString()
	@IsNotEmpty()
	@ApiProperty()
	name: string;

	@IsString()
	@IsNotEmpty()
	@ApiProperty()
	email: string;

	@IsString()
	@IsNotEmpty()
	@MinLength(6)
	@ApiProperty()
	password: string;

	@IsString()
	@IsOptional()
	@IsNotEmpty()
	@ApiProperty()
	role: string;

	@IsNumber()
	@IsOptional()
	@ApiProperty()
	clientId: number | null;

	@IsBoolean()
	@IsOptional()
	@ApiProperty()
	favourite: boolean;

    @ApiProperty()
	@IsOptional()
	@IsString()
	address1: string;

	@ApiProperty()
	@IsOptional()
	@IsString()
	address2: string;

	@ApiProperty()
	@IsOptional()
	@IsString()
	city: string;

	@ApiProperty()
	@IsOptional()
	@IsString()
	state: string;

	@ApiProperty()
    @IsOptional()
	@IsString()
	postcode: string;

	@ApiProperty()
	@IsOptional()
	@IsString()
	country: string;

	@ApiProperty()
	@IsOptional()
	@IsString()
	phone: string;

    @ApiProperty()
    @IsOptional()
    @IsBoolean()
    active: boolean;
}
