super-harness / src /app /api /chat /export /route.ts
Cyber Catalyst Team
Deploy to HF Spaces with LFS
4782147
Raw
History Blame Contribute Delete
828 Bytes
import { ChatExportByThreadIdSchema } from "app-types/chat-export";
import { getSession } from "auth/auth-instance";
import { chatExportRepository, chatRepository } from "lib/db/repository";
export async function POST(req: Request) {
const { threadId, expiresAt } = await ChatExportByThreadIdSchema.parse(
await req.json(),
);
const session = await getSession();
if (!session) {
return new Response("Unauthorized", { status: 401 });
}
const isAccess = await chatRepository.checkAccess(threadId, session.user.id);
if (!isAccess) {
return new Response("Unauthorized", { status: 401 });
}
await chatExportRepository.exportChat({
threadId,
exporterId: session.user.id,
expiresAt: expiresAt ?? undefined,
});
return Response.json({
message: "Chat exported successfully",
});
}