export interface ApiResponse { success: boolean; message?: string; data?: T; pagination?: { total: number; page: number; pageSize: number; hasMore: boolean; }; errors?: Array<{ field?: string; message: string }>; } export function successResponse(data: T, message = 'Operation executed successfully'): ApiResponse { return { success: true, message, data, }; } export function paginatedResponse( data: T[], total: number, page: number, pageSize: number, message = 'Operation executed successfully' ): ApiResponse { return { success: true, message, data, pagination: { total, page, pageSize, hasMore: page * pageSize < total, }, }; } export function errorResponse( message = 'An error occurred', errors: Array<{ field?: string; message: string }> = [] ): ApiResponse { return { success: false, message, errors, }; }