ZindagiAssan_Backend / src /shared /http /api-response.ts
Talha812's picture
Upload 45 files
2c16c8c verified
raw
history blame contribute delete
986 Bytes
// src/shared/utils/api.response.ts
import { HttpStatusCode } from "./status-code";
export interface ApiSuccessResponse<T = any> {
success: true;
data?: T;
statusCode?: number;
message: string;
}
export interface ApiErrorResponse {
success: false;
statusCode?: number;
errorCode: string;
message: string;
errors?: any;
}
export type ApiResponseType<T = any> = ApiSuccessResponse<T> | ApiErrorResponse;
export class ApiResponse {
static success<T = any>(
message = 'Success',
data: T,
statusCode = HttpStatusCode.OK
): ApiSuccessResponse<T> {
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,
};
}
}