18 lines
788 B
TypeScript
18 lines
788 B
TypeScript
import { getAuthContext } from "../../utils/auth";
|
|
import { prisma } from "../../utils/prisma";
|
|
|
|
export default defineEventHandler(async (event) => {
|
|
try {
|
|
const auth = await getAuthContext(event);
|
|
const [user, team, conv] = await Promise.all([
|
|
prisma.user.findUnique({ where: { id: auth.userId } }),
|
|
prisma.team.findUnique({ where: { id: auth.teamId } }),
|
|
prisma.chatConversation.findUnique({ where: { id: auth.conversationId } }),
|
|
]);
|
|
if (!user || !team || !conv) throw new Error("unauth");
|
|
return { user: { id: user.id, email: user.email, name: user.name }, team: { id: team.id, name: team.name }, conversation: { id: conv.id, title: conv.title } };
|
|
} catch {
|
|
throw createError({ statusCode: 401, statusMessage: "Unauthorized" });
|
|
}
|
|
});
|