add booking and payment schema
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
import { prisma } from "@/lib/prisma";
|
||||
import { Prisma } from "@/app/generated/prisma/client";
|
||||
|
||||
export const paymentRepo = {
|
||||
async findById(id: string) {
|
||||
return prisma.payment.findUnique({ where: { id } });
|
||||
},
|
||||
|
||||
async findByExternalOrderId(externalOrderId: string) {
|
||||
return prisma.payment.findUnique({ where: { externalOrderId } });
|
||||
},
|
||||
|
||||
async findActiveManualForBooking(bookingId: string) {
|
||||
return prisma.payment.findFirst({
|
||||
where: {
|
||||
bookingId,
|
||||
provider: "MANUAL",
|
||||
status: { in: ["PENDING", "AWAITING"] },
|
||||
},
|
||||
orderBy: { createdAt: "desc" },
|
||||
});
|
||||
},
|
||||
|
||||
async create(
|
||||
data: Pick<
|
||||
Prisma.PaymentUncheckedCreateInput,
|
||||
| "bookingId"
|
||||
| "provider"
|
||||
| "externalOrderId"
|
||||
| "amount"
|
||||
| "status"
|
||||
| "method"
|
||||
| "expiresAt"
|
||||
>
|
||||
) {
|
||||
return prisma.payment.create({ data });
|
||||
},
|
||||
|
||||
async update(id: string, data: Prisma.PaymentUpdateInput) {
|
||||
return prisma.payment.update({ where: { id }, data });
|
||||
},
|
||||
};
|
||||
Reference in New Issue
Block a user