load btc invoice details in checkout session and storefront order queries
Ensure bitcoin invoice metadata is available when rendering checkout sessions and customer order pages. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -6,7 +6,7 @@ import type { CookieCartSummary } from '../../storefrontCart/types/CookieCartSum
|
|||||||
import { deriveCheckoutSessionState } from '../../../utils/checkout/deriveCheckoutSessionState';
|
import { deriveCheckoutSessionState } from '../../../utils/checkout/deriveCheckoutSessionState';
|
||||||
import { InvoiceReason } from '../../payment/types/InvoiceReason';
|
import { InvoiceReason } from '../../payment/types/InvoiceReason';
|
||||||
import { InvoiceService } from '../../payment/services/InvoiceService';
|
import { InvoiceService } from '../../payment/services/InvoiceService';
|
||||||
import { PaymentMethod } from '../../payment/types/PaymentMethod';
|
import type { PaymentMethod } from '../../payment/types/PaymentMethod';
|
||||||
import { CheckoutSessionDiscount } from '../entities/CheckoutSessionDiscount';
|
import { CheckoutSessionDiscount } from '../entities/CheckoutSessionDiscount';
|
||||||
import { CheckoutSessionLine } from '../entities/CheckoutSessionLine';
|
import { CheckoutSessionLine } from '../entities/CheckoutSessionLine';
|
||||||
import { CheckoutSession } from '../entities/CheckoutSession';
|
import { CheckoutSession } from '../entities/CheckoutSession';
|
||||||
@@ -26,7 +26,14 @@ export class CheckoutSessionService {
|
|||||||
async findById(id: string): Promise<CheckoutSession | null> {
|
async findById(id: string): Promise<CheckoutSession | null> {
|
||||||
return this.sessionRepo.findOne({
|
return this.sessionRepo.findOne({
|
||||||
where: { id },
|
where: { id },
|
||||||
relations: ['lines', 'discounts', 'invoice', 'invoice.moneroDetails', 'invoice.payments']
|
relations: [
|
||||||
|
'lines',
|
||||||
|
'discounts',
|
||||||
|
'invoice',
|
||||||
|
'invoice.moneroDetails',
|
||||||
|
'invoice.btcDetails',
|
||||||
|
'invoice.payments'
|
||||||
|
]
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -87,7 +94,7 @@ export class CheckoutSessionService {
|
|||||||
async cancelSession(sessionId: string): Promise<void> {
|
async cancelSession(sessionId: string): Promise<void> {
|
||||||
const session = await this.sessionRepo.findOne({
|
const session = await this.sessionRepo.findOne({
|
||||||
where: { id: sessionId },
|
where: { id: sessionId },
|
||||||
relations: ['invoice', 'invoice.moneroDetails', 'invoice.payments']
|
relations: ['invoice', 'invoice.moneroDetails', 'invoice.btcDetails', 'invoice.payments']
|
||||||
});
|
});
|
||||||
|
|
||||||
if (!session) {
|
if (!session) {
|
||||||
|
|||||||
@@ -68,6 +68,7 @@ export class StorefrontOrderService {
|
|||||||
.createQueryBuilder('order')
|
.createQueryBuilder('order')
|
||||||
.leftJoinAndSelect('order.checkoutInvoice', 'checkoutInvoice')
|
.leftJoinAndSelect('order.checkoutInvoice', 'checkoutInvoice')
|
||||||
.leftJoinAndSelect('checkoutInvoice.moneroDetails', 'moneroDetails')
|
.leftJoinAndSelect('checkoutInvoice.moneroDetails', 'moneroDetails')
|
||||||
|
.leftJoinAndSelect('checkoutInvoice.btcDetails', 'btcDetails')
|
||||||
.leftJoinAndSelect('checkoutInvoice.payments', 'payment')
|
.leftJoinAndSelect('checkoutInvoice.payments', 'payment')
|
||||||
.where('order.id = :orderId', { orderId })
|
.where('order.id = :orderId', { orderId })
|
||||||
.getOne();
|
.getOne();
|
||||||
|
|||||||
@@ -11,9 +11,11 @@ export const createOrderDetailQuery = (orderRepo: Repository<Order>, orderId: st
|
|||||||
.leftJoinAndSelect('order.discounts', 'orderDiscount')
|
.leftJoinAndSelect('order.discounts', 'orderDiscount')
|
||||||
.leftJoinAndSelect('order.checkoutInvoice', 'checkoutInvoice')
|
.leftJoinAndSelect('order.checkoutInvoice', 'checkoutInvoice')
|
||||||
.leftJoinAndSelect('checkoutInvoice.moneroDetails', 'checkoutMoneroDetails')
|
.leftJoinAndSelect('checkoutInvoice.moneroDetails', 'checkoutMoneroDetails')
|
||||||
|
.leftJoinAndSelect('checkoutInvoice.btcDetails', 'checkoutBtcDetails')
|
||||||
.leftJoinAndSelect('checkoutInvoice.payments', 'checkoutPayment')
|
.leftJoinAndSelect('checkoutInvoice.payments', 'checkoutPayment')
|
||||||
.leftJoinAndSelect('order.shippingInvoice', 'shippingInvoice')
|
.leftJoinAndSelect('order.shippingInvoice', 'shippingInvoice')
|
||||||
.leftJoinAndSelect('shippingInvoice.moneroDetails', 'shippingMoneroDetails')
|
.leftJoinAndSelect('shippingInvoice.moneroDetails', 'shippingMoneroDetails')
|
||||||
|
.leftJoinAndSelect('shippingInvoice.btcDetails', 'shippingBtcDetails')
|
||||||
.leftJoinAndSelect('shippingInvoice.payments', 'shippingPayment')
|
.leftJoinAndSelect('shippingInvoice.payments', 'shippingPayment')
|
||||||
.leftJoinAndSelect('order.messages', 'message')
|
.leftJoinAndSelect('order.messages', 'message')
|
||||||
.addSelect('order.accessToken')
|
.addSelect('order.accessToken')
|
||||||
|
|||||||
Reference in New Issue
Block a user