28 lines
879 B
TypeScript
28 lines
879 B
TypeScript
import { prisma } from "../../utils/prisma";
|
|
import { getAuthContext } from "../../utils/auth";
|
|
|
|
export default defineEventHandler(async (event) => {
|
|
const auth = await getAuthContext(event);
|
|
const id = getRouterParam(event, "id");
|
|
if (!id) throw createError({ statusCode: 400, statusMessage: "id is required" });
|
|
|
|
const contact = await prisma.contact.findFirst({
|
|
where: { id, teamId: auth.teamId },
|
|
include: { note: { select: { content: true } } },
|
|
});
|
|
if (!contact) throw createError({ statusCode: 404, statusMessage: "not found" });
|
|
|
|
return {
|
|
id: contact.id,
|
|
name: contact.name,
|
|
avatar: contact.avatarUrl ?? "",
|
|
company: contact.company ?? "",
|
|
country: contact.country ?? "",
|
|
location: contact.location ?? "",
|
|
email: contact.email ?? "",
|
|
phone: contact.phone ?? "",
|
|
description: contact.note?.content ?? "",
|
|
};
|
|
});
|
|
|