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 };
});
