import { IsBoolean, IsInt, IsNotEmpty, IsString, Max, Min } from 'class-validator'; class BaseApiResponse { @IsBoolean() success: W; @IsInt() @Min(0) @Max(1000) statusCode: number; @IsString() timestamp: string; @IsNotEmpty() data: T; } export class ApiSuccessResponse extends BaseApiResponse< T, true > {} export class ApiErrorData { @IsString() message: string; } export class ApiErrorResponse extends BaseApiResponse {} export type ApiResponse = ApiSuccessResponse | ApiErrorResponse;