import { BaseInquiryResponseDto } from '../dto/base-inquiry-response.dto'; import { NormalizedErrorDto } from '../dto/normalized-error.dto'; import { translateError } from './translate-error.helper'; export function buildInquiryResponse>(params: { success: boolean; provider: string; trackingCode: string; message: string; duration: number; data?: T | null; error?: NormalizedErrorDto | null; }): BaseInquiryResponseDto { const error = params.success ? null : (params.error != null ? translateError(params.error) : null); return { success: params.success, provider: params.provider, trackingCode: params.trackingCode, message: params.success ? params.message : undefined, messageFa: undefined, duration: params.duration, data: params.success ? (params.data ?? null) : null, error, }; } export function normalizeInquiryResponse>( response: BaseInquiryResponseDto, ): BaseInquiryResponseDto { return { ...response, data: response.success ? (response.data ?? null) : null, error: response.success ? null : (response.error ?? null), }; }