diff --git a/app/home/(user)/(dashboard)/cart/montonio-callback/actions.ts b/app/home/(user)/(dashboard)/cart/montonio-callback/actions.ts index c7f67c4..ff97af4 100644 --- a/app/home/(user)/(dashboard)/cart/montonio-callback/actions.ts +++ b/app/home/(user)/(dashboard)/cart/montonio-callback/actions.ts @@ -124,38 +124,27 @@ async function getCartByOrderToken(decoded: MontonioOrderToken) { async function getOrderResultParameters(medusaOrder: StoreOrder) { const { productTypes } = await listProductTypes(); - const analysisPackagesType = productTypes.find( - ({ metadata }) => metadata?.handle === ANALYSIS_PACKAGES_TYPE_HANDLE, - ); - const analysisType = productTypes.find( - ({ metadata }) => metadata?.handle === ANALYSIS_TYPE_HANDLE, - ); + const analysisPackagesType = productTypes.find(({ metadata }) => metadata?.handle === ANALYSIS_PACKAGES_TYPE_HANDLE); + const analysisType = productTypes.find(({ metadata }) => metadata?.handle === ANALYSIS_TYPE_HANDLE); - const analysisPackageOrderItem = medusaOrder.items?.find( - ({ product_type_id }) => product_type_id === analysisPackagesType?.id, - ); - const analysisItems = medusaOrder.items?.filter( - ({ product_type_id }) => product_type_id === analysisType?.id, - ); + const analysisPackageOrderItem = medusaOrder.items?.find(({ product_type_id }) => product_type_id === analysisPackagesType?.id); + const analysisItems = medusaOrder.items?.filter(({ product_type_id }) => product_type_id === analysisType?.id); return { medusaOrderId: medusaOrder.id, email: medusaOrder.email, analysisPackageOrder: analysisPackageOrderItem ? { - partnerLocationName: - (analysisPackageOrderItem?.metadata - ?.partner_location_name as string) ?? '', - analysisPackageName: analysisPackageOrderItem?.title ?? '', - } + partnerLocationName: analysisPackageOrderItem?.metadata?.partner_location_name as string ?? '', + analysisPackageName: analysisPackageOrderItem?.title ?? '', + } + : null, + analysisItemsOrder: Array.isArray(analysisItems) && analysisItems.length > 0 + ? analysisItems.map(({ product }) => ({ + analysisName: product?.title ?? '', + analysisId: product?.metadata?.analysisIdOriginal as string ?? '', + })) : null, - analysisItemsOrder: - Array.isArray(analysisItems) && analysisItems.length > 0 - ? analysisItems.map(({ product }) => ({ - analysisName: product?.title ?? '', - analysisId: (product?.metadata?.analysisIdOriginal as string) ?? '', - })) - : null, }; } @@ -196,22 +185,14 @@ export async function processMontonioCallback(orderToken: string) { const decoded = await decodeOrderToken(orderToken); const cart = await getCartByOrderToken(decoded); - const medusaOrder = await placeOrder(cart.id, { - revalidateCacheTags: false, - }); - const orderedAnalysisElements = await getOrderedAnalysisIds({ - medusaOrder, - }); + const medusaOrder = await placeOrder(cart.id, { revalidateCacheTags: false }); + const orderedAnalysisElements = await getOrderedAnalysisIds({ medusaOrder }); const orderContainsSynlabItems = !!orderedAnalysisElements?.length; try { - const existingAnalysisOrder = await getAnalysisOrder({ - medusaOrderId: medusaOrder.id, - }); - console.info( - `Analysis order already exists for medusaOrderId=${medusaOrder.id}, orderId=${existingAnalysisOrder.id}`, - ); + const existingAnalysisOrder = await getAnalysisOrder({ medusaOrderId: medusaOrder.id }); + console.info(`Analysis order already exists for medusaOrderId=${medusaOrder.id}, orderId=${existingAnalysisOrder.id}`); return { success: true, orderId: existingAnalysisOrder.id }; } catch { // ignored @@ -227,8 +208,7 @@ export async function processMontonioCallback(orderToken: string) { const orderResult = await getOrderResultParameters(medusaOrder); - const { medusaOrderId, email, analysisPackageOrder, analysisItemsOrder } = - orderResult; + const { medusaOrderId, email, analysisPackageOrder, analysisItemsOrder } = orderResult; const orderedTtoServices = await getOrderedTtoServices({ medusaOrder }); let bookServiceResults: { @@ -251,20 +231,14 @@ export async function processMontonioCallback(orderToken: string) { if (email) { if (analysisPackageOrder) { - await sendAnalysisPackageOrderEmail({ - account, - email, - analysisPackageOrder, - }); + await sendAnalysisPackageOrderEmail({ account, email, analysisPackageOrder }); } else { console.info(`Order has no analysis package, skipping email.`); } if (analysisItemsOrder) { // @TODO send email for separate analyses - console.warn( - `Order has analysis items, but no email template exists yet`, - ); + console.warn(`Order has analysis items, but no email template exists yet`); } else { console.info(`Order has no analysis items, skipping email.`); }