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,