package skilldesk.controller;

import io.micronaut.http.HttpRequest;
import io.micronaut.http.MediaType;
import io.micronaut.http.annotation.Controller;
import io.micronaut.http.annotation.Get;
import io.micronaut.http.annotation.Produces;

import java.util.List;
import java.util.Map;

@Controller("/")
public class RootController {

    @Get
    @Produces(MediaType.APPLICATION_JSON)
    public Map<String, Object> index(HttpRequest<?> request) {
        String host = request.getHeaders().get("Host");
        String base = "http://" + host;
        return Map.of(
            "service", "skillDesk API",
            "endpoints", List.of(
                Map.of("method", "GET",    "url", base + "/api/message",       "description", "첫 번째 메시지 조회"),
                Map.of("method", "GET",    "url", base + "/api/messages",      "description", "전체 메시지 목록 조회"),
                Map.of("method", "POST",   "url", base + "/api/messages",      "description", "새 메시지 생성"),
                Map.of("method", "PUT",    "url", base + "/api/messages/{id}", "description", "메시지 수정"),
                Map.of("method", "DELETE", "url", base + "/api/messages/{id}", "description", "메시지 삭제")
            )
        );
    }
}
