diff --git a/app/api/job/handler/sync-analysis-groups.ts b/app/api/job/handler/sync-analysis-groups.ts
index fa4dc3e..fe76f2d 100644
--- a/app/api/job/handler/sync-analysis-groups.ts
+++ b/app/api/job/handler/sync-analysis-groups.ts
@@ -1,7 +1,7 @@
import axios from 'axios';
import { XMLParser } from 'fast-xml-parser';
import fs from 'fs';
-import { createAnalysisGroup } from '~/lib/services/analysis-group.service';
+import { createAnalysisGroup, getAnalysisGroups } from '~/lib/services/analysis-group.service';
import { IMedipostPublicMessageDataParsed } from '~/lib/services/medipost.types';
import { createAnalysis, createNoDataReceivedEntry, createNoNewDataReceivedEntry, createSyncFailEntry, createSyncSuccessEntry } from '~/lib/services/analyses.service';
import { getLastCheckedDate } from '~/lib/services/sync-entries.service';
@@ -64,6 +64,8 @@ export default async function syncAnalysisGroups() {
);
}
+ const existingAnalysisGroups = await getAnalysisGroups();
+
// SAVE PUBLIC MESSAGE DATA
const providers = toArray(parsed?.Saadetis?.Teenused.Teostaja);
@@ -79,6 +81,12 @@ export default async function syncAnalysisGroups() {
const codes: ICode[] = [];
for (const analysisGroup of analysisGroups) {
+ const existingAnalysisGroup = existingAnalysisGroups?.find(({ original_id }) => original_id === analysisGroup.UuringuGruppId);
+ if (existingAnalysisGroup) {
+ console.info(`Analysis group '${analysisGroup.UuringuGruppNimi}' already exists`);
+ continue;
+ }
+
// SAVE ANALYSIS GROUP
const analysisGroupId = await createAnalysisGroup({
id: analysisGroup.UuringuGruppId,
diff --git a/app/home/(user)/_components/compare-packages-modal.tsx b/app/home/(user)/_components/compare-packages-modal.tsx
index 247c6ca..545edf4 100644
--- a/app/home/(user)/_components/compare-packages-modal.tsx
+++ b/app/home/(user)/_components/compare-packages-modal.tsx
@@ -24,7 +24,7 @@ import { PackageHeader } from '@/components/package-header';
import { InfoTooltip } from '@/components/ui/info-tooltip';
import { StoreProduct } from '@medusajs/types';
import type { AnalysisElement } from '~/lib/services/analysis-element.service';
-import { getAnalysisElementOriginalIds } from '@lib/data/products';
+import { getAnalysisElementOriginalIds } from '@/utils/medusa-product';
const CheckWithBackground = () => {
return (
@@ -34,6 +34,24 @@ const CheckWithBackground = () => {
);
};
+const PackageTableHead = async ({ product, nrOfAnalyses }: { product: StoreProduct, nrOfAnalyses: number }) => {
+ const { t, language } = await createI18nServerInstance();
+ const variant = product.variants?.[0];
+ const titleKey = product.title;
+ const price = variant?.calculated_price?.calculated_amount ?? 0;
+ return (
+
+
+
+ )
+}
+
const ComparePackagesModal = async ({
analysisElements,
analysisPackages,
@@ -43,7 +61,7 @@ const ComparePackagesModal = async ({
analysisPackages: StoreProduct[];
triggerElement: JSX.Element;
}) => {
- const { t, language } = await createI18nServerInstance();
+ const { t } = await createI18nServerInstance();
const standardPackage = analysisPackages.find(({ metadata }) => metadata?.analysisPackageTier === 'standard')!;
const standardPlusPackage = analysisPackages.find(({ metadata }) => metadata?.analysisPackageTier === 'standard-plus')!;
@@ -53,9 +71,9 @@ const ComparePackagesModal = async ({
return null;
}
- const standardPackageAnalyses = await getAnalysisElementOriginalIds([standardPackage]);
- const standardPlusPackageAnalyses = await getAnalysisElementOriginalIds([standardPlusPackage]);
- const premiumPackageAnalyses = await getAnalysisElementOriginalIds([premiumPackage]);
+ const standardPackageAnalyses = getAnalysisElementOriginalIds([standardPackage]);
+ const standardPlusPackageAnalyses = getAnalysisElementOriginalIds([standardPlusPackage]);
+ const premiumPackageAnalyses = getAnalysisElementOriginalIds([premiumPackage]);
return (