Files
alrahma_sunday_school_api/apps/api/dist/modules/payments/payment.repo.js
T
2026-06-11 03:22:12 -04:00

76 lines
3.6 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.findByCompany = findByCompany;
exports.findByReservation = findByReservation;
exports.findByAmanpay = findByAmanpay;
exports.findByPaypal = findByPaypal;
exports.findByPaypalForCompany = findByPaypalForCompany;
exports.findPaymentOrThrow = findPaymentOrThrow;
exports.findReservationOrThrow = findReservationOrThrow;
exports.findReservation = findReservation;
exports.markPaymentSucceeded = markPaymentSucceeded;
exports.markPaymentFailed = markPaymentFailed;
exports.incrementReservationPaid = incrementReservationPaid;
exports.createPayment = createPayment;
exports.updatePaypalCapture = updatePaypalCapture;
exports.setReservationPaidAmount = setReservationPaidAmount;
exports.setReservationRefunded = setReservationRefunded;
exports.setPaymentRefunded = setPaymentRefunded;
const prisma_1 = require("../../lib/prisma");
function findByCompany(companyId) {
return prisma_1.prisma.rentalPayment.findMany({
where: { companyId },
include: { reservation: { include: { customer: true, vehicle: true } } },
orderBy: { createdAt: 'desc' },
take: 100,
});
}
function findByReservation(reservationId, companyId) {
return prisma_1.prisma.rentalPayment.findMany({ where: { reservationId, companyId }, orderBy: { createdAt: 'desc' } });
}
function findByAmanpay(transactionId) {
return prisma_1.prisma.rentalPayment.findFirst({ where: { amanpayTransactionId: transactionId } });
}
function findByPaypal(captureId) {
return prisma_1.prisma.rentalPayment.findFirst({ where: { paypalCaptureId: captureId } });
}
function findByPaypalForCompany(paypalOrderId, companyId) {
return prisma_1.prisma.rentalPayment.findFirstOrThrow({ where: { paypalCaptureId: paypalOrderId, companyId } });
}
function findPaymentOrThrow(paymentId, companyId, reservationId) {
return prisma_1.prisma.rentalPayment.findFirstOrThrow({ where: { id: paymentId, companyId, reservationId } });
}
function findReservationOrThrow(id, companyId) {
return prisma_1.prisma.reservation.findFirstOrThrow({
where: { id, companyId },
include: { vehicle: true, customer: true },
});
}
function findReservation(id, companyId) {
return prisma_1.prisma.reservation.findFirstOrThrow({ where: { id, companyId } });
}
function markPaymentSucceeded(id) {
return prisma_1.prisma.rentalPayment.update({ where: { id }, data: { status: 'SUCCEEDED', paidAt: new Date() } });
}
function markPaymentFailed(query) {
return prisma_1.prisma.rentalPayment.updateMany({ where: query, data: { status: 'FAILED' } });
}
function incrementReservationPaid(reservationId, amount) {
return prisma_1.prisma.reservation.update({ where: { id: reservationId }, data: { paymentStatus: 'PAID', paidAmount: { increment: amount } } });
}
function createPayment(data) {
return prisma_1.prisma.rentalPayment.create({ data: data });
}
function updatePaypalCapture(id, captureId) {
return prisma_1.prisma.rentalPayment.update({ where: { id }, data: { status: 'SUCCEEDED', paidAt: new Date(), paypalCaptureId: captureId } });
}
function setReservationPaidAmount(reservationId, paidAmount, paymentStatus) {
return prisma_1.prisma.reservation.update({ where: { id: reservationId }, data: { paidAmount, paymentStatus: paymentStatus } });
}
function setReservationRefunded(reservationId) {
return prisma_1.prisma.reservation.update({ where: { id: reservationId }, data: { paymentStatus: 'REFUNDED' } });
}
function setPaymentRefunded(id, partial) {
return prisma_1.prisma.rentalPayment.update({ where: { id }, data: { status: partial ? 'PARTIALLY_REFUNDED' : 'REFUNDED' } });
}
//# sourceMappingURL=payment.repo.js.map