don't upsert if audit log doesn't have medipost_private_message_id, improve logging
This commit is contained in:
@@ -163,8 +163,9 @@ async function sendAnalysisPackageOrderEmail({
|
||||
partnerLocationName,
|
||||
language,
|
||||
});
|
||||
console.info(`Successfully sent analysis package order email to ${email}`);
|
||||
} catch (error) {
|
||||
console.error("Failed to send email", error);
|
||||
console.error(`Failed to send analysis package order email to ${email}`, error);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -49,27 +49,30 @@ export async function upsertMedipostActionLog({
|
||||
medipostExternalOrderId?: string | null;
|
||||
medipostPrivateMessageId?: string | null;
|
||||
}) {
|
||||
const { data } = await getSupabaseServerAdminClient()
|
||||
.schema('medreport')
|
||||
.from('medipost_actions')
|
||||
.upsert(
|
||||
{
|
||||
action,
|
||||
xml,
|
||||
has_analysis_results: hasAnalysisResults,
|
||||
medusa_order_id: medusaOrderId,
|
||||
response_xml: responseXml,
|
||||
has_error: hasError,
|
||||
medipost_external_order_id: medipostExternalOrderId,
|
||||
medipost_private_message_id: medipostPrivateMessageId,
|
||||
},
|
||||
{
|
||||
onConflict: 'medipost_private_message_id',
|
||||
ignoreDuplicates: false
|
||||
}
|
||||
)
|
||||
.select('id')
|
||||
.throwOnError();
|
||||
const recordData = {
|
||||
action,
|
||||
xml,
|
||||
has_analysis_results: hasAnalysisResults,
|
||||
medusa_order_id: medusaOrderId,
|
||||
response_xml: responseXml,
|
||||
has_error: hasError,
|
||||
medipost_external_order_id: medipostExternalOrderId,
|
||||
medipost_private_message_id: medipostPrivateMessageId,
|
||||
};
|
||||
|
||||
const query = getSupabaseServerAdminClient().schema('medreport').from('medipost_actions');
|
||||
const { data } = medipostPrivateMessageId
|
||||
? await query
|
||||
.upsert(recordData, {
|
||||
onConflict: 'medipost_private_message_id',
|
||||
ignoreDuplicates: false
|
||||
})
|
||||
.select('id')
|
||||
.throwOnError()
|
||||
: await query
|
||||
.insert(recordData)
|
||||
.select('id')
|
||||
.throwOnError();
|
||||
|
||||
const medipostActionId = data?.[0]?.id;
|
||||
if (!medipostActionId) {
|
||||
|
||||
@@ -303,6 +303,7 @@ export async function readPrivateMessageResponse({
|
||||
const hasInvalidOrderId = isNaN(analysisOrderId);
|
||||
|
||||
if (hasInvalidOrderId || !messageResponse || !patientPersonalCode) {
|
||||
console.error(`Invalid order id or message response or patient personal code, medipostExternalOrderId=${medipostExternalOrderId}, privateMessageId=${privateMessageId}`);
|
||||
await upsertMedipostActionLog({
|
||||
action: 'sync_analysis_results_from_medipost',
|
||||
xml: privateMessageXml,
|
||||
@@ -340,6 +341,7 @@ export async function readPrivateMessageResponse({
|
||||
|
||||
const status = await syncPrivateMessage({ messageResponse, order: analysisOrder });
|
||||
|
||||
console.info(`Successfully synced analysis results from Medipost message privateMessageId=${privateMessageId}`);
|
||||
await upsertMedipostActionLog({
|
||||
action: 'sync_analysis_results_from_medipost',
|
||||
xml: privateMessageXml,
|
||||
@@ -473,6 +475,7 @@ export async function sendOrderToMedipost({
|
||||
isMedipostError,
|
||||
errorMessage: e.response,
|
||||
});
|
||||
console.error(`Failed to send order to Medipost, medusaOrderId=${medusaOrderId}, error=${e.response}`);
|
||||
await upsertMedipostActionLog({
|
||||
action: 'send_order_to_medipost',
|
||||
xml: orderXml,
|
||||
@@ -482,6 +485,7 @@ export async function sendOrderToMedipost({
|
||||
hasError: true,
|
||||
});
|
||||
} else {
|
||||
console.error(`Failed to send order to Medipost, medusaOrderId=${medusaOrderId}, error=${e}`);
|
||||
await logMedipostDispatch({
|
||||
medusaOrderId,
|
||||
isSuccess: false,
|
||||
@@ -498,6 +502,7 @@ export async function sendOrderToMedipost({
|
||||
|
||||
throw e;
|
||||
}
|
||||
console.info(`Successfully sent order to Medipost, medusaOrderId=${medusaOrderId}`);
|
||||
await logMedipostDispatch({
|
||||
medusaOrderId,
|
||||
isSuccess: true,
|
||||
|
||||
@@ -330,7 +330,7 @@ export async function medusaLoginOrRegister(credentials: {
|
||||
await medusaRegister({ email, password, name, lastName });
|
||||
return await medusaLogin(email, password);
|
||||
} catch (registerError) {
|
||||
console.error("Failed to create Medusa account for user with email=${email}", registerError);
|
||||
console.error(`Failed to create Medusa account for user with email=${email}`, registerError);
|
||||
throw medusaError(registerError);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user