Files
medreport_mrb2b/app/api/job/handler/sync-analysis-results.ts

30 lines
959 B
TypeScript

import { readPrivateMessageResponse } from "~/lib/services/medipost.service";
export default async function syncAnalysisResults() {
console.info("Syncing analysis results");
let processedMessageIds: string[] = [];
const excludedMessageIds: string[] = [];
while (true) {
console.info("Fetching private messages");
const { messageIdErrored, messageIdProcessed } = await readPrivateMessageResponse({ excludedMessageIds });
if (messageIdProcessed) {
processedMessageIds.push(messageIdProcessed);
}
if (!messageIdErrored) {
console.info("No more messages to process");
break;
}
if (excludedMessageIds.includes(messageIdErrored)) {
console.info(`Message id=${messageIdErrored} has already been processed, stopping`);
break;
}
excludedMessageIds.push(messageIdErrored);
}
console.info(`Processed ${processedMessageIds.length} messages, ids: ${processedMessageIds.join(', ')}`);
}