diff --git a/lib/services/analysis-response.service.ts b/lib/services/analysis-response.service.ts
new file mode 100644
index 0000000..70cce8e
--- /dev/null
+++ b/lib/services/analysis-response.service.ts
@@ -0,0 +1,12 @@
+import { getSupabaseServerAdminClient } from '@kit/supabase/server-admin-client';
+
+export async function getAnalysisResponseAdmin(analysisOrderId: number) {
+ const { data } = await getSupabaseServerAdminClient()
+ .schema('medreport')
+ .from('analysis_responses')
+ .select('*')
+ .eq('analysis_order_id', analysisOrderId)
+ .single()
+ .throwOnError();
+ return data;
+}
diff --git a/packages/email-templates/src/emails/all-results-received.email.tsx b/packages/email-templates/src/emails/all-results-received.email.tsx
index 0083376..583f117 100644
--- a/packages/email-templates/src/emails/all-results-received.email.tsx
+++ b/packages/email-templates/src/emails/all-results-received.email.tsx
@@ -19,10 +19,10 @@ import { initializeEmailI18n } from '../lib/i18n';
export async function renderAllResultsReceivedEmail({
language,
- analysisOrderId,
+ analysisResponseId,
}: {
language: string;
- analysisOrderId: number;
+ analysisResponseId: number;
}) {
const namespace = 'all-results-received-email';
@@ -57,13 +57,13 @@ export async function renderAllResultsReceivedEmail({
{t(`${namespace}:openOrdersHeading`)}
{t(`${namespace}:linkText`)}
{t(`${namespace}:ifLinksDisabled`)}{' '}
- {`${process.env.NEXT_PUBLIC_SITE_URL}/doctor/analysis/${analysisOrderId}`}
+ {`${process.env.NEXT_PUBLIC_SITE_URL}/doctor/analysis/${analysisResponseId}`}
diff --git a/packages/email-templates/src/emails/first-results-received.email.tsx b/packages/email-templates/src/emails/first-results-received.email.tsx
index 40ba596..7aaac2d 100644
--- a/packages/email-templates/src/emails/first-results-received.email.tsx
+++ b/packages/email-templates/src/emails/first-results-received.email.tsx
@@ -19,10 +19,10 @@ import { initializeEmailI18n } from '../lib/i18n';
export async function renderFirstResultsReceivedEmail({
language,
- analysisOrderId,
+ analysisResponseId,
}: {
language: string;
- analysisOrderId: number;
+ analysisResponseId: number;
}) {
const namespace = 'first-results-received-email';
@@ -61,14 +61,14 @@ export async function renderFirstResultsReceivedEmail({
{t(`${namespace}:linkText`)}
{t(`${namespace}:ifLinksDisabled`)}{' '}
- {`${process.env.NEXT_PUBLIC_SITE_URL}/doctor/analysis/${analysisOrderId}`}
+ {`${process.env.NEXT_PUBLIC_SITE_URL}/doctor/analysis/${analysisResponseId}`}
diff --git a/packages/features/notifications/src/server/services/webhooks/order-notifications.service.ts b/packages/features/notifications/src/server/services/webhooks/order-notifications.service.ts
index f41cebd..f9a9023 100644
--- a/packages/features/notifications/src/server/services/webhooks/order-notifications.service.ts
+++ b/packages/features/notifications/src/server/services/webhooks/order-notifications.service.ts
@@ -16,6 +16,7 @@ import {
getDoctorAccounts,
getUserContactAdmin,
} from '~/lib/services/account.service';
+import { getAnalysisResponseAdmin } from '~/lib/services/analysis-response.service';
import {
NotificationAction,
createNotificationLog,
@@ -345,10 +346,12 @@ class OrderWebhooksService {
.map(({ email }) => email)
.filter((email): email is string => !!email);
+
+ const analysisResponse = await getAnalysisResponseAdmin(analysisOrder.id);
await sendEmailFromTemplate(
renderFirstResultsReceivedEmail,
{
- analysisOrderId: analysisOrder.id,
+ analysisResponseId: analysisResponse.id,
language: 'et',
},
doctorEmails,
@@ -380,10 +383,12 @@ class OrderWebhooksService {
return;
}
+ const analysisResponse = await getAnalysisResponseAdmin(analysisOrder.id);
+
await sendEmailFromTemplate(
renderAllResultsReceivedEmail,
{
- analysisOrderId: analysisOrder.id,
+ analysisResponseId: analysisResponse.id,
language: 'et',
},
assignedDoctorEmail,