import { prisma } from "./prisma";
import type { SessionUser } from "./roles";
import { isRole } from "./roles";

export function toSessionUser(user: {
  id: string;
  email: string;
  name: string;
  role: string;
  verificationStatus: string;
  wholesaleStatus: string;
}): SessionUser {
  return {
    id: user.id,
    email: user.email,
    name: user.name,
    role: isRole(user.role) ? user.role : "member",
    verificationStatus: user.verificationStatus,
    wholesaleStatus: user.wholesaleStatus,
  };
}

export async function refreshUser(id: string) {
  const user = await prisma.user.findUnique({ where: { id } });
  return user ? toSessionUser(user) : null;
}
