feat(MED-131): conditional env

This commit is contained in:
2025-08-04 18:31:17 +03:00
parent bd78b28f3c
commit 47675252ed
2 changed files with 10 additions and 16 deletions

View File

@@ -8,13 +8,10 @@ import { createI18nServerInstance } from "~/lib/i18n/i18n.server";
import { createOrder } from '~/lib/services/order.service'; import { createOrder } from '~/lib/services/order.service';
import { getOrderedAnalysisElementsIds, sendOrderToMedipost } from '~/lib/services/medipost.service'; import { getOrderedAnalysisElementsIds, sendOrderToMedipost } from '~/lib/services/medipost.service';
const emailSender = process.env.EMAIL_SENDER;
const siteUrl = process.env.NEXT_PUBLIC_SITE_URL!;
const ANALYSIS_PACKAGES_TYPE_HANDLE = 'analysis-packages'; const ANALYSIS_PACKAGES_TYPE_HANDLE = 'analysis-packages';
const MONTONIO_PAID_STATUS = 'PAID'; const MONTONIO_PAID_STATUS = 'PAID';
const env = z const env = () => z
.object({ .object({
emailSender: z emailSender: z
.string({ .string({
@@ -28,8 +25,8 @@ const env = z
.min(1), .min(1),
}) })
.parse({ .parse({
emailSender, emailSender: process.env.EMAIL_SENDER,
siteUrl, siteUrl: process.env.NEXT_PUBLIC_SITE_URL!,
}); });
const sendEmail = async ({ email, analysisPackageName, personName, partnerLocationName, language }: { email: string, analysisPackageName: string, personName: string, partnerLocationName: string, language: string }) => { const sendEmail = async ({ email, analysisPackageName, personName, partnerLocationName, language }: { email: string, analysisPackageName: string, personName: string, partnerLocationName: string, language: string }) => {
@@ -48,7 +45,7 @@ const sendEmail = async ({ email, analysisPackageName, personName, partnerLocati
await mailer await mailer
.sendEmail({ .sendEmail({
from: env.emailSender, from: env().emailSender,
to: email, to: email,
subject, subject,
html, html,
@@ -104,7 +101,7 @@ const handleOrderToken = async (orderToken: string) => {
export async function GET(request: Request) { export async function GET(request: Request) {
const { language } = await createI18nServerInstance(); const { language } = await createI18nServerInstance();
const baseUrl = new URL(env.siteUrl); const baseUrl = new URL(env().siteUrl);
try { try {
const orderToken = new URL(request.url).searchParams.get('order-token'); const orderToken = new URL(request.url).searchParams.get('order-token');
if (!orderToken) { if (!orderToken) {

View File

@@ -8,10 +8,7 @@ import { StoreCartLineItem, StoreProductVariant } from '@medusajs/types';
import { MontonioOrderHandlerService } from '@/packages/billing/montonio/src'; import { MontonioOrderHandlerService } from '@/packages/billing/montonio/src';
import { requireUserInServerComponent } from '../server/require-user-in-server-component'; import { requireUserInServerComponent } from '../server/require-user-in-server-component';
const medusaBackendPublicUrl = process.env.MEDUSA_BACKEND_PUBLIC_URL!; const env = () => z
const siteUrl = process.env.NEXT_PUBLIC_SITE_URL!;
const env = z
.object({ .object({
medusaBackendPublicUrl: z medusaBackendPublicUrl: z
.string({ .string({
@@ -25,8 +22,8 @@ const env = z
.min(1), .min(1),
}) })
.parse({ .parse({
medusaBackendPublicUrl, medusaBackendPublicUrl: process.env.MEDUSA_BACKEND_PUBLIC_URL!,
siteUrl, siteUrl: process.env.NEXT_PUBLIC_SITE_URL!,
}); });
export async function handleAddToCart({ export async function handleAddToCart({
@@ -81,8 +78,8 @@ export async function handleNavigateToPayment({ language, paymentSessionId }: {
} }
const paymentLink = await new MontonioOrderHandlerService().getMontonioPaymentLink({ const paymentLink = await new MontonioOrderHandlerService().getMontonioPaymentLink({
notificationUrl: `${env.medusaBackendPublicUrl}/hooks/payment/montonio_montonio`, notificationUrl: `${env().medusaBackendPublicUrl}/hooks/payment/montonio_montonio`,
returnUrl: `${env.siteUrl}/home/cart/montonio-callback`, returnUrl: `${env().siteUrl}/home/cart/montonio-callback`,
amount: cart.total, amount: cart.total,
currency: cart.currency_code.toUpperCase(), currency: cart.currency_code.toUpperCase(),
description: `Order from Medreport`, description: `Order from Medreport`,