export class MessageResponse { readonly success: boolean; readonly message: string; constructor(message?: string) { this.success = true; this.message = message ?? 'Success'; } } export class DataResponse extends MessageResponse { readonly data: T; constructor(data: T, message?: string) { super(message); this.data = data; } } // Skipped export class GlobalErrorResponseDTO { success: boolean; message: string; statusCode: number; }