// import { IsEmail, IsArray, IsOptional, IsString, IsNumber, IsEnum, IsDateString } from "class-validator";
// import { LeaveApprovalStatus, LeaveTypes } from "prisma/generated/postgres/client";
// import { Type } from "class-transformer";

// //sets wich types to use
// export const REQUEST_TYPES = Object.values(LeaveTypes) as readonly LeaveTypes[];
// export type RequestTypes = (typeof REQUEST_TYPES)[number];

// export class LeaveRequestDto {
//     @IsEmail() @IsString()
//     email!: string;

//     @IsArray()
//     @IsDateString()
//     dates!: string[];

//     @IsEnum(LeaveTypes)
//     type!: string;

//     @IsString()
//     comment!: string;

//     @IsOptional()
//     @Type(() => Number)
//     @IsNumber({ maxDecimalPlaces: 2 })
//     requested_hours?: number;

//     @IsEnum(LeaveApprovalStatus)
//     approval_status?: LeaveApprovalStatus
// }

// export class LeaveRequestViewDto {
//     id: number;
//     leave_type!: LeaveTypes;
//     date!: string;
//     comment!: string;
//     approval_status: LeaveApprovalStatus;
//     email!: string;
//     employee_full_name!: string;
//     payable_hours?: number;
//     requested_hours?: number;
//     action?: 'create' | 'update' | 'delete';
// }