thrilled-be-core
Version:
Core Express backend package with middleware, logging, security, and base application setup
32 lines • 2.12 kB
TypeScript
import { Response } from 'express';
import { HttpStatusCodes, ApiResponse, ApiError } from '../types';
/**
* Creates a standardized API response
*/
export declare function formatResponse<T>(res: Response, statusCode: HttpStatusCodes, message: string, data?: T, meta?: ApiResponse<T>['meta'], errors?: ApiError[]): Response<ApiResponse<T>>;
/**
* Helper for pagination metadata
* */
export declare function createPaginationMeta(options: {
page: number;
limit: number;
total?: number;
}): ApiResponse<unknown>['meta'];
/**
* Common response helper methods
*/
export declare const apiResponse: {
success: <T>(res: Response, message?: string, data?: T, meta?: ApiResponse<T>["meta"]) => Response<ApiResponse<T>, Record<string, any>>;
created: <T>(res: Response, message?: string, data?: T) => Response<ApiResponse<T>, Record<string, any>>;
noContent: (res: Response, message?: string) => Response<ApiResponse<unknown>, Record<string, any>>;
badRequest: (res: Response, message?: string, errors?: ApiError[]) => Response<ApiResponse<undefined>, Record<string, any>>;
unauthorized: (res: Response, message?: string) => Response<ApiResponse<unknown>, Record<string, any>>;
forbidden: (res: Response, message?: string) => Response<ApiResponse<unknown>, Record<string, any>>;
notFound: (res: Response, message?: string) => Response<ApiResponse<unknown>, Record<string, any>>;
conflict: (res: Response, message?: string) => Response<ApiResponse<unknown>, Record<string, any>>;
unprocessableEntity: (res: Response, message?: string, errors?: ApiError[]) => Response<ApiResponse<undefined>, Record<string, any>>;
serverError: (res: Response, message?: string) => Response<ApiResponse<unknown>, Record<string, any>>;
serviceUnavailable: (res: Response, message?: string) => Response<ApiResponse<unknown>, Record<string, any>>;
custom: <T>(res: Response, statusCode: HttpStatusCodes, message: string, data?: T, meta?: ApiResponse<T>["meta"], errors?: ApiError[]) => Response<ApiResponse<T>, Record<string, any>>;
};
//# sourceMappingURL=responseFormatter.d.ts.map