feat: create email template for TTO reservation confirmation

feat: implement order notifications service with TTO reservation confirmation handling

feat: create migration for TTO booking email webhook trigger
This commit is contained in:
Danel Kungla
2025-09-30 16:05:43 +03:00
parent 4003284f3a
commit 72f6f2b716
56 changed files with 3692 additions and 294 deletions

View File

@@ -3,6 +3,7 @@ import { PageBody, PageHeader } from '@/packages/ui/src/makerkit/page';
import { retrieveCart } from '@lib/data/cart';
import { listProductTypes } from '@lib/data/products';
import { AccountBalanceService } from '@kit/accounts/services/account-balance.service';
import { Trans } from '@kit/ui/trans';
import { withI18n } from '~/lib/i18n/with-i18n';
@@ -11,9 +12,8 @@ import { findProductTypeIdByHandle } from '~/lib/utils';
import Cart from '../../_components/cart';
import CartTimer from '../../_components/cart/cart-timer';
import { loadCurrentUserAccount } from '../../_lib/server/load-user-account';
import { AccountBalanceService } from '@kit/accounts/services/account-balance.service';
import { EnrichedCartItem } from '../../_components/cart/types';
import { loadCurrentUserAccount } from '../../_lib/server/load-user-account';
export async function generateMetadata() {
const { t } = await createI18nServerInstance();
@@ -24,11 +24,7 @@ export async function generateMetadata() {
}
async function CartPage() {
const [
cart,
{ productTypes },
{ account },
] = await Promise.all([
const [cart, { productTypes }, { account }] = await Promise.all([
retrieveCart(),
listProductTypes(),
loadCurrentUserAccount(),
@@ -38,7 +34,9 @@ async function CartPage() {
return null;
}
const balanceSummary = await new AccountBalanceService().getBalanceSummary(account.id);
const balanceSummary = await new AccountBalanceService().getBalanceSummary(
account.id,
);
const synlabAnalysisTypeId = findProductTypeIdByHandle(
productTypes,