diff --git a/apps/admin/src/lib/domains/ckflow/repository.ts b/apps/admin/src/lib/domains/ckflow/repository.ts index b4fa34b..b09cbb2 100644 --- a/apps/admin/src/lib/domains/ckflow/repository.ts +++ b/apps/admin/src/lib/domains/ckflow/repository.ts @@ -1,3 +1,6 @@ +import { and, desc, eq, type Database } from "@pkg/db"; +import { checkoutFlowSession, product } from "@pkg/db/schema"; +import { getError, Logger } from "@pkg/logger"; import { ERROR_CODES, type Result } from "@pkg/result"; import { CKActionType, @@ -5,14 +8,11 @@ import { type FlowInfo, type PendingAction, } from "./data"; -import { getError, Logger } from "@pkg/logger"; -import { and, desc, eq, type Database } from "@pkg/db"; -import { checkoutFlowSession, flightTicketInfo } from "@pkg/db/schema"; export class CheckoutFlowRepository { constructor(private db: Database) {} - // Common method to parse and enrich flow info with ticket details + // Common method to parse and enrich flow info with product details private async parseFlowInfo( sessionData: any, includeStaleness = true, @@ -43,48 +43,30 @@ export class CheckoutFlowRepository { : false; } - // Fetch ticket info if we have a ticket ID - let ticketInfo = undefined; - if (sessionData.ticketId) { + // Fetch product info if we have a product ID + let productInfo = undefined; + if (sessionData.productId) { try { - const ticketResult = - await this.db.query.flightTicketInfo.findFirst({ - where: eq(flightTicketInfo.id, sessionData.ticketId), - }); - - if (ticketResult) { - ticketInfo = { - id: ticketResult.id, - ticketId: ticketResult.ticketId, - departure: ticketResult.departure, - arrival: ticketResult.arrival, - departureDate: ticketResult.departureDate - .toISOString() - .split("T")[0], - returnDate: ticketResult.returnDate - ? ticketResult.returnDate - .toISOString() - .split("T")[0] - : undefined, - flightType: ticketResult.flightType, - cabinClass: ticketResult.cabinClass, - priceDetails: ticketResult.priceDetails as any, - }; + const prodResult = await this.db.query.product.findFirst({ + where: eq(product.id, sessionData.productId), + }); + if (prodResult) { + productInfo = { ...prodResult }; } } catch (err) { Logger.warn( - "Failed to fetch ticket info for session detail", + "Failed to fetch product info for session detail", err, ); - // Continue without ticket info - it's optional + // Continue without product info - it's optional } } // Prepare dates for the model const flowInfoData = { ...sessionData, - ticketInfo, - ticketId: sessionData.ticketId, + productInfo: productInfo, + productId: sessionData.productId, pendingActions: sessionData.pendingActions as any, personalInfo: sessionData.personalInfo as any, paymentInfo: sessionData.paymentInfo as any, diff --git a/apps/admin/src/lib/domains/ckflow/view/active-sessions-list.svelte b/apps/admin/src/lib/domains/ckflow/view/active-sessions-list.svelte index 35261ab..57f9691 100644 --- a/apps/admin/src/lib/domains/ckflow/view/active-sessions-list.svelte +++ b/apps/admin/src/lib/domains/ckflow/view/active-sessions-list.svelte @@ -1,18 +1,8 @@ diff --git a/apps/admin/src/lib/domains/order/view/order-main-info.svelte b/apps/admin/src/lib/domains/order/view/order-main-info.svelte index 46912f1..6946c60 100644 --- a/apps/admin/src/lib/domains/order/view/order-main-info.svelte +++ b/apps/admin/src/lib/domains/order/view/order-main-info.svelte @@ -1,12 +1,12 @@