Files
medreport_mrb2b/lib/services/medipost/medipostValidate.service.ts
Danel Kungla 0c2cfe6d18 prettier fix
2025-09-19 17:22:36 +03:00

27 lines
823 B
TypeScript

'use server';
import type { IMedipostResponseXMLBase } from '@/packages/shared/src/types/medipost-analysis';
import { parseXML } from '../util/xml.service';
import { MedipostValidationError } from './MedipostValidationError';
export async function validateMedipostResponse(
response: string,
{ canHaveEmptyCode = false }: { canHaveEmptyCode?: boolean } = {},
) {
const parsed: IMedipostResponseXMLBase = await parseXML(response);
const code = parsed.ANSWER?.CODE;
if (canHaveEmptyCode) {
if (code && code !== 0) {
console.error('Bad response', response);
throw new MedipostValidationError(response);
}
return;
}
if (typeof code !== 'number' || (code !== 0 && !canHaveEmptyCode)) {
console.error('Bad response', response);
throw new MedipostValidationError(response);
}
}