feat(MED-131): update analyses sync to medusa store

This commit is contained in:
2025-08-04 11:52:09 +03:00
parent b665678dbb
commit ee60a78335
8 changed files with 460 additions and 186 deletions

View File

@@ -33,6 +33,7 @@ import { XMLParser } from 'fast-xml-parser';
import { uniqBy } from 'lodash';
import { Tables } from '@kit/supabase/database';
import { createAnalysisGroup } from './analysis-group.service';
const BASE_URL = process.env.MEDIPOST_URL!;
const USER = process.env.MEDIPOST_USER!;
@@ -196,25 +197,11 @@ async function saveAnalysisGroup(
analysisGroup: UuringuGrupp,
supabase: SupabaseClient,
) {
const { data: insertedAnalysisGroup, error } = await supabase
.schema('medreport')
.from('analysis_groups')
.upsert(
{
original_id: analysisGroup.UuringuGruppId,
name: analysisGroup.UuringuGruppNimi,
order: analysisGroup.UuringuGruppJarjekord,
},
{ onConflict: 'original_id', ignoreDuplicates: false },
)
.select('id');
if (error || !insertedAnalysisGroup[0]?.id) {
throw new Error(
`Failed to insert analysis group (id: ${analysisGroup.UuringuGruppId}), error: ${error?.message}`,
);
}
const analysisGroupId = insertedAnalysisGroup[0].id;
const analysisGroupId = await createAnalysisGroup({
id: analysisGroup.UuringuGruppId,
name: analysisGroup.UuringuGruppNimi,
order: analysisGroup.UuringuGruppJarjekord,
});
const analysisGroupCodes = toArray(analysisGroup.Kood);
const codes: Partial<Tables<{ schema: 'medreport' }, 'codes'>>[] =