package dev.awesomedev.mirim.web;

import dev.awesomedev.mirim.service.LlmAssistant;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * 이 파일이 하는 일:
 * 화면 우측 하단 "AI 학습 도우미"의 질문을 받는 API. 로그인한 사용자만 쓴다
 * (SecurityConfig가 /api/** 를 인증 뒤로 둔다). 실제 답은 {@link LlmAssistant}가 만든다.
 */
@RestController
@RequestMapping("/api/assistant")
public class AssistantController {

    private final LlmAssistant assistant;

    public AssistantController(LlmAssistant assistant) {
        this.assistant = assistant;
    }

    public record AskRequest(String question) {
    }

    public record AskResponse(String answer, boolean enabled) {
    }

    /** POST /api/assistant/ask — 질문 하나에 답 하나. 대화 맥락은 아직 안 쌓는다(단발). */
    @PostMapping("/ask")
    public AskResponse ask(@RequestBody AskRequest req) {
        return new AskResponse(assistant.ask(req.question()), assistant.isEnabled());
    }
}
