"use server"; import { prisma } from "@/lib/utils"; import { auth } from "@/auth"; import Pusher from "pusher"; const pusher = new Pusher({ appId: process.env.PUSHER_APP_ID!, key: process.env.NEXT_PUBLIC_PUSHER_KEY!, secret: process.env.PUSHER_SECRET!, cluster: "us2", useTLS: true, }); export async function postData(formData: FormData) { const session = await auth(); const userMessage = formData.get("message"); const data = await prisma.message.create({ data: { message: userMessage as string, email: session?.user?.email as string, }, include: { User: { select: { name: true, image: true, }, }, }, }); await pusher.trigger("chat", "message", { message: JSON.stringify(data), }); } export async function updateData(formData: FormData) { const session = await auth(); const newUsername = formData.get("username") as string; const user = await prisma.user.findFirst({ where: { name: session?.user?.name }, select: { name: true, id: true, }, }); if (user) { await prisma.user.update({ where: { id: user.id }, data: { name: newUsername }, }); } }