/**
 * Puesto (Position) DTOs
 * @module HR
 */

import {
  IsString,
  IsOptional,
  IsBoolean,
  MaxLength,
} from 'class-validator';

export class CreatePuestoDto {
  @IsString()
  @MaxLength(20)
  codigo: string;

  @IsString()
  @MaxLength(100)
  nombre: string;

  @IsOptional()
  @IsString()
  descripcion?: string;

  @IsOptional()
  @IsString()
  @MaxLength(20)
  nivelRiesgo?: string;

  @IsOptional()
  @IsBoolean()
  requiereCapacitacionEspecial?: boolean;

  @IsOptional()
  @IsBoolean()
  activo?: boolean;
}

export class UpdatePuestoDto {
  @IsOptional()
  @IsString()
  @MaxLength(20)
  codigo?: string;

  @IsOptional()
  @IsString()
  @MaxLength(100)
  nombre?: string;

  @IsOptional()
  @IsString()
  descripcion?: string;

  @IsOptional()
  @IsString()
  @MaxLength(20)
  nivelRiesgo?: string;

  @IsOptional()
  @IsBoolean()
  requiereCapacitacionEspecial?: boolean;

  @IsOptional()
  @IsBoolean()
  activo?: boolean;
}
