|
|
import { HttpStatus } from '@api/routes/index.router'; |
|
|
|
|
|
export interface MetaErrorResponse { |
|
|
status: number; |
|
|
error: string; |
|
|
message: string; |
|
|
details: { |
|
|
whatsapp_error: string; |
|
|
whatsapp_code: string | number; |
|
|
error_user_title: string; |
|
|
error_user_msg: string; |
|
|
error_type: string; |
|
|
error_subcode: number | null; |
|
|
fbtrace_id: string | null; |
|
|
context: string; |
|
|
type: string; |
|
|
}; |
|
|
timestamp: string; |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
export function createMetaErrorResponse(error: any, context: string): MetaErrorResponse { |
|
|
|
|
|
const metaError = error.template || error; |
|
|
const errorUserTitle = metaError.error_user_title || metaError.message || 'Unknown error'; |
|
|
const errorUserMsg = metaError.error_user_msg || metaError.message || 'Unknown error'; |
|
|
|
|
|
return { |
|
|
status: HttpStatus.BAD_REQUEST, |
|
|
error: 'Bad Request', |
|
|
message: errorUserTitle, |
|
|
details: { |
|
|
whatsapp_error: errorUserMsg, |
|
|
whatsapp_code: metaError.code || 'UNKNOWN_ERROR', |
|
|
error_user_title: errorUserTitle, |
|
|
error_user_msg: errorUserMsg, |
|
|
error_type: metaError.type || 'UNKNOWN', |
|
|
error_subcode: metaError.error_subcode || null, |
|
|
fbtrace_id: metaError.fbtrace_id || null, |
|
|
context, |
|
|
type: 'whatsapp_api_error', |
|
|
}, |
|
|
timestamp: new Date().toISOString(), |
|
|
}; |
|
|
} |
|
|
|