// src/shared/utils/api.response.ts import { HttpStatusCode } from "./status-code"; export interface ApiSuccessResponse { success: true; data?: T; statusCode?: number; message: string; } export interface ApiErrorResponse { success: false; statusCode?: number; errorCode: string; message: string; errors?: any; } export type ApiResponseType = ApiSuccessResponse | ApiErrorResponse; export class ApiResponse { static success( message = 'Success', data: T, statusCode = HttpStatusCode.OK ): ApiSuccessResponse { return { success: true, data, message, statusCode, }; } static error( message: string, errorCode: string, errors: any = null, statusCode = HttpStatusCode.BAD_REQUEST ): ApiErrorResponse { return { success: false, message, errorCode, errors, statusCode, }; } }