import prisma from '../config/db.js';
import type { CreatePermissionBody } from '../validators/permission.validator.js';
import type { Pagination } from '../utils/pagination.js';

export function createPermission(data: CreatePermissionBody) {
  return prisma.permission.create({ data });
}

export function getPermissions({ skip, take }: Pick<Pagination, 'skip' | 'take'>) {
  return prisma.permission.findMany({ orderBy: { name: 'asc' }, skip, take });
}

export function countPermissions() {
  return prisma.permission.count();
}

export async function deletePermission(id: number) {
  await prisma.permission.delete({ where: { id } });
}
