Files
medreport_mrb2b/lib/services/medipost/medipostValidate.service.ts

26 lines
783 B
TypeScript

'use server';
import {
IMedipostResponseXMLBase,
} from '@/lib/types/medipost';
import { MedipostValidationError } from './MedipostValidationError';
import { parseXML } from '../util/xml.service';
export async function validateMedipostResponse(response: string, { canHaveEmptyCode = false }: { canHaveEmptyCode?: boolean } = {}) {
const parsed: IMedipostResponseXMLBase = 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);
}
}