24 lines
811 B
TypeScript
24 lines
811 B
TypeScript
import { readBody } from "h3";
|
|
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 body = await readBody<{ content?: string }>(event);
|
|
const content = (body?.content ?? "").toString();
|
|
|
|
const contact = await prisma.contact.findFirst({ where: { id, teamId: auth.teamId } });
|
|
if (!contact) throw createError({ statusCode: 404, statusMessage: "not found" });
|
|
|
|
await prisma.contactNote.upsert({
|
|
where: { contactId: id },
|
|
update: { content },
|
|
create: { contactId: id, content },
|
|
});
|
|
|
|
return { ok: true };
|
|
});
|
|
|