// app/api/displays/route.ts
import { auth } from "@clerk/nextjs/server";
import prisma from "@/lib/prisma";
import { createDisplayJWT } from "@/lib/auth";
export async function POST(req: Request) {
const { userId, orgId, orgSlug } = await auth();
if (!userId || !orgId) {
return new Response("Unauthorized", { status: 401 });
}
const { name, mode } = await req.json();
const displayId = crypto.randomUUID();
const display = await prisma.display.create({
data: {
id: displayId,
name,
mode,
organizationId: orgId,
authToken: await createDisplayJWT(displayId, orgId),
twitchChannel: mode === "TWITCH" ? "default_channel" : null,
},
});
return Response.json(display);
}
export async function GET(req: Request) {
const { userId, orgId, orgSlug } = await auth();
if (!userId || !orgId) {
return new Response("Unauthorized", { status: 401 });
}
const displays = await prisma.display.findMany({
where: {
organizationId: orgId,
},
});
return Response.json(displays);
}