package com.arms.api.tts.controller;

import com.arms.api.tts.model.dto.TtsRequestDTO;
import com.arms.api.tts.model.vo.TtsResponseVO;
import com.arms.api.tts.service.TtsService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.HttpHeaders;
import org.springframework.http.ResponseEntity;
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;

@Slf4j
@RestController
@RequiredArgsConstructor
@RequestMapping("/tts")
public class TtsController {

    private final TtsService ttsService;

    @PostMapping("/convert")
    public ResponseEntity<byte[]> convert(@RequestBody TtsRequestDTO request) {
        TtsResponseVO response = ttsService.convert(request);

        return ResponseEntity.ok()
                .header(HttpHeaders.CONTENT_TYPE, response.getContentType())
                .body(response.getAudioData());
    }
}
