import prisma from "../config/prisma.js";

export class UpiRepository {
  async count() {
    return prisma.upi.count();
  }

  async create(upiId: string, createdBy?: bigint) {
    return prisma.upi.create({
      data: {
        upiId,
        ...(createdBy !== undefined ? { createdBy } : {}),
      },
    });
  }

  async findAll() {
    return prisma.upi.findMany({
      orderBy: { id: 'desc' }
    });
  }

  async findById(id: number) {
    return prisma.upi.findUnique({ where: { id } });
  }

  async update(id: number, upiId: string) {
    return prisma.upi.update({ where: { id }, data: { upiId } });
  }

  async delete(id: number) {
    return prisma.upi.delete({ where: { id } });
  }
}
