Fix /doctor/analysis/[id] expects id to be analysisResponse.id, not analysisOrder.id
This commit is contained in:
12
lib/services/analysis-response.service.ts
Normal file
12
lib/services/analysis-response.service.ts
Normal file
@@ -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;
|
||||||
|
}
|
||||||
@@ -19,10 +19,10 @@ import { initializeEmailI18n } from '../lib/i18n';
|
|||||||
|
|
||||||
export async function renderAllResultsReceivedEmail({
|
export async function renderAllResultsReceivedEmail({
|
||||||
language,
|
language,
|
||||||
analysisOrderId,
|
analysisResponseId,
|
||||||
}: {
|
}: {
|
||||||
language: string;
|
language: string;
|
||||||
analysisOrderId: number;
|
analysisResponseId: number;
|
||||||
}) {
|
}) {
|
||||||
const namespace = 'all-results-received-email';
|
const namespace = 'all-results-received-email';
|
||||||
|
|
||||||
@@ -57,13 +57,13 @@ export async function renderAllResultsReceivedEmail({
|
|||||||
{t(`${namespace}:openOrdersHeading`)}
|
{t(`${namespace}:openOrdersHeading`)}
|
||||||
</Text>
|
</Text>
|
||||||
<EmailButton
|
<EmailButton
|
||||||
href={`${process.env.NEXT_PUBLIC_SITE_URL}/doctor/analysis/${analysisOrderId}`}
|
href={`${process.env.NEXT_PUBLIC_SITE_URL}/doctor/analysis/${analysisResponseId}`}
|
||||||
>
|
>
|
||||||
{t(`${namespace}:linkText`)}
|
{t(`${namespace}:linkText`)}
|
||||||
</EmailButton>
|
</EmailButton>
|
||||||
<Text>
|
<Text>
|
||||||
{t(`${namespace}:ifLinksDisabled`)}{' '}
|
{t(`${namespace}:ifLinksDisabled`)}{' '}
|
||||||
{`${process.env.NEXT_PUBLIC_SITE_URL}/doctor/analysis/${analysisOrderId}`}
|
{`${process.env.NEXT_PUBLIC_SITE_URL}/doctor/analysis/${analysisResponseId}`}
|
||||||
</Text>
|
</Text>
|
||||||
<CommonFooter t={t} />
|
<CommonFooter t={t} />
|
||||||
</EmailContent>
|
</EmailContent>
|
||||||
|
|||||||
@@ -19,10 +19,10 @@ import { initializeEmailI18n } from '../lib/i18n';
|
|||||||
|
|
||||||
export async function renderFirstResultsReceivedEmail({
|
export async function renderFirstResultsReceivedEmail({
|
||||||
language,
|
language,
|
||||||
analysisOrderId,
|
analysisResponseId,
|
||||||
}: {
|
}: {
|
||||||
language: string;
|
language: string;
|
||||||
analysisOrderId: number;
|
analysisResponseId: number;
|
||||||
}) {
|
}) {
|
||||||
const namespace = 'first-results-received-email';
|
const namespace = 'first-results-received-email';
|
||||||
|
|
||||||
@@ -61,14 +61,14 @@ export async function renderFirstResultsReceivedEmail({
|
|||||||
</Text>
|
</Text>
|
||||||
|
|
||||||
<EmailButton
|
<EmailButton
|
||||||
href={`${process.env.NEXT_PUBLIC_SITE_URL}/doctor/analysis/${analysisOrderId}`}
|
href={`${process.env.NEXT_PUBLIC_SITE_URL}/doctor/analysis/${analysisResponseId}`}
|
||||||
>
|
>
|
||||||
{t(`${namespace}:linkText`)}
|
{t(`${namespace}:linkText`)}
|
||||||
</EmailButton>
|
</EmailButton>
|
||||||
|
|
||||||
<Text>
|
<Text>
|
||||||
{t(`${namespace}:ifLinksDisabled`)}{' '}
|
{t(`${namespace}:ifLinksDisabled`)}{' '}
|
||||||
{`${process.env.NEXT_PUBLIC_SITE_URL}/doctor/analysis/${analysisOrderId}`}
|
{`${process.env.NEXT_PUBLIC_SITE_URL}/doctor/analysis/${analysisResponseId}`}
|
||||||
</Text>
|
</Text>
|
||||||
<CommonFooter t={t} />
|
<CommonFooter t={t} />
|
||||||
</EmailContent>
|
</EmailContent>
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ import {
|
|||||||
getDoctorAccounts,
|
getDoctorAccounts,
|
||||||
getUserContactAdmin,
|
getUserContactAdmin,
|
||||||
} from '~/lib/services/account.service';
|
} from '~/lib/services/account.service';
|
||||||
|
import { getAnalysisResponseAdmin } from '~/lib/services/analysis-response.service';
|
||||||
import {
|
import {
|
||||||
NotificationAction,
|
NotificationAction,
|
||||||
createNotificationLog,
|
createNotificationLog,
|
||||||
@@ -345,10 +346,12 @@ class OrderWebhooksService {
|
|||||||
.map(({ email }) => email)
|
.map(({ email }) => email)
|
||||||
.filter((email): email is string => !!email);
|
.filter((email): email is string => !!email);
|
||||||
|
|
||||||
|
|
||||||
|
const analysisResponse = await getAnalysisResponseAdmin(analysisOrder.id);
|
||||||
await sendEmailFromTemplate(
|
await sendEmailFromTemplate(
|
||||||
renderFirstResultsReceivedEmail,
|
renderFirstResultsReceivedEmail,
|
||||||
{
|
{
|
||||||
analysisOrderId: analysisOrder.id,
|
analysisResponseId: analysisResponse.id,
|
||||||
language: 'et',
|
language: 'et',
|
||||||
},
|
},
|
||||||
doctorEmails,
|
doctorEmails,
|
||||||
@@ -380,10 +383,12 @@ class OrderWebhooksService {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const analysisResponse = await getAnalysisResponseAdmin(analysisOrder.id);
|
||||||
|
|
||||||
await sendEmailFromTemplate(
|
await sendEmailFromTemplate(
|
||||||
renderAllResultsReceivedEmail,
|
renderAllResultsReceivedEmail,
|
||||||
{
|
{
|
||||||
analysisOrderId: analysisOrder.id,
|
analysisResponseId: analysisResponse.id,
|
||||||
language: 'et',
|
language: 'et',
|
||||||
},
|
},
|
||||||
assignedDoctorEmail,
|
assignedDoctorEmail,
|
||||||
|
|||||||
Reference in New Issue
Block a user