Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | 1x 1x 1x 1x 1x 2x 2x 2x 2x | /* eslint-disable */
import { ApiResponse } from './apiResponse';
import { ValidationError, NotFoundError, BaseError } from './errors';
import { getLogger } from './logger';
const logger = getLogger('');
export function handleError(error: unknown, event?: any): ApiResponse {
const requestId = event?.requestId || 'unknown';
if (error instanceof ValidationError) {
logger.warn('Validation error', {
requestId,
errorCode: error.errorCode,
message: error.message,
});
return ApiResponse.badRequest(error.message);
}
Iif (error instanceof NotFoundError) {
logger.info('Not found error', {
requestId,
errorCode: error.errorCode,
message: error.message,
});
return ApiResponse.notFound(error.message);
}
Iif (error instanceof BaseError) {
logger.error('Business error', {
requestId,
errorCode: error.errorCode,
message: error.message,
});
return ApiResponse.internalError(error.message);
}
// Unexpected errors
Iif (error instanceof Error) {
logger.error('Unexpected error', {
requestId,
message: error.message,
});
return ApiResponse.internalError('An unexpected error occurred');
}
// Non-Error objects
logger.error('Unknown error', {
requestId,
error: String(error),
});
return ApiResponse.internalError('An unexpected error occurred');
}
|