export async function PUT()

in src/app/api/v1/admin/qa-customs/route.ts [11:40]


export async function PUT(req: NextRequest) {
  const err = errorIfProduction();
  if (err !== null) return err;

  const session = await getServerSession();
  if (!isAdmin(session?.user.email || "")) return unauthError();

  const emailHash = session?.user.subscriber?.primary_sha1;
  if (!emailHash)
    return NextResponse.json(
      { error: "Email hash is absent" },
      { status: 400 },
    );

  const columnName = req.nextUrl.searchParams.get("columnName");
  const isVisible = req.nextUrl.searchParams.get("isVisible");
  if (!columnName || !isVisible)
    return NextResponse.json(
      { error: "Column name or isVisible value is missing" },
      { status: 400 },
    );
  const toggle = isVisible === "false" ? false : true;

  await setQaToggle(columnName, toggle, emailHash);

  return NextResponse.json(
    { error: `${columnName} toggled to ${toggle}` },
    { status: 200 },
  );
}