import { toggleDmReaction } from "../../db/chat"; // Erlaubte Reaktions-Emojis (= die WhatsApp-Standardleiste). Begrenzt Müll in // der DB; eine "+"-Custom-Auswahl ist ein späteres Feature. const ALLOWED_EMOJIS = ["👍", "❤️", "😂", "😮", "😢", "🙏", "👏"]; /** * POST /api/chat/reaction * Toggle einer Emoji-Reaktion auf eine DM (WhatsApp-Verhalten: gleiches Emoji * entfernt, anderes ersetzt). Body: { messageId, emoji }. * Group-Chat-Reaktionen sind in diesem Release nicht aktiv (nur DM). */ export default defineEventHandler(async (event) => { const user = await requireUser(event); const body = await readBody(event); const messageId = body?.messageId as string | undefined; const emoji = body?.emoji as string | undefined; if (!messageId || !emoji) { throw createError({ statusCode: 400, message: "messageId und emoji erforderlich", }); } if (!ALLOWED_EMOJIS.includes(emoji)) { throw createError({ statusCode: 400, message: "Emoji nicht erlaubt" }); } const result = await toggleDmReaction(user.id, messageId, emoji); // emoji = null wenn die Reaktion entfernt wurde return { emoji: result.emoji }; });