import { Expose } from 'class-transformer';
import { IsEnum, IsOptional, ValidationArguments } from 'class-validator';
import { TimeTrackingKioskStatus } from '../../business/types/kioskStatus';

export default class ListTimeTrackingKiosksVC {
    @IsOptional()
    @IsEnum(TimeTrackingKioskStatus, {
        message: (args: ValidationArguments) => {
            const value = args.value as string;
            return `Invalid status: "${value}". Allowed values are: ${Object.values(TimeTrackingKioskStatus).join(', ')}`;
        },
    })
    @Expose()
    status?: string;
}
