import { Role } from "@prisma/client";
import { ForbiddenError } from "@/server/errors";

export function hasRole(userRoles: Role[], allowed: Role[]) {
  if (userRoles.includes(Role.SUPER_ADMIN)) {
    return true;
  }
  return allowed.some((role) => userRoles.includes(role));
}

export function requireRole(userRoles: Role[], allowed: Role[]) {
  if (!hasRole(userRoles, allowed)) {
    throw new ForbiddenError();
  }
}
