76 lines
3.6 KiB
JavaScript
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
|