"""Ideen-Queue-Endpoints — dünner REST-Layer über services/ideen.py (natives Hermes-Kanban).
LAN-only wie alle MC2-Endpoints; das Mensch-Gate bleibt die Karte im Auftragsbuch."""

from fastapi import APIRouter, HTTPException
from pydantic import BaseModel

from services import ideen

router = APIRouter(prefix="/api")


class IdeeIn(BaseModel):
    titel: str
    notiz: str = ""


class TaskIn(BaseModel):
    id: str


class AntwortIn(BaseModel):
    id: str
    antwort: str


@router.get("/ideen")
def list_queue() -> dict:
    return ideen.list_queue()


@router.post("/ideen")
def add_idea(body: IdeeIn) -> dict:
    res = ideen.add_idea(body.titel, body.notiz)
    if not res.get("ok"):
        raise HTTPException(400, res.get("error", "Idee konnte nicht angelegt werden."))
    return res


@router.post("/ideen/antwort")
def answer(body: AntwortIn) -> dict:
    res = ideen.answer_task(body.id, body.antwort)
    if not res.get("ok"):
        raise HTTPException(400, res.get("error", "Antwort konnte nicht gesendet werden."))
    return res


@router.post("/ideen/archivieren")
def archive(body: TaskIn) -> dict:
    res = ideen.archive_task(body.id)
    if not res.get("ok"):
        raise HTTPException(400, res.get("error", "Archivieren fehlgeschlagen."))
    return res


@router.get("/ideen/{id}/log")
def get_log(id: str) -> dict:
    return ideen.log_of(id)
