/**
 * 语音转写 API（Phase B）
 *
 * 对应后端路由：
 *   POST /api/v1/admin/recordings/:id/transcribe   提交转写任务（异步）
 *   GET  /api/v1/admin/recordings/:id/transcript   查询转写结果
 *
 * 后端通过外部 LLM 配置中心 (MySQL t_llm_provider/t_llm_model/t_llm_key)
 * 选择启用的 ASR 模型 + Key，调用 openai_compatible /audio/transcriptions。
 *
 * 状态机：pending → running → ready / failed
 *
 * 503：LLM 配置库未启用，admin 应提示「请联系管理员配置 STT」
 * 202：任务已在跑，前端可继续轮询
 */
import request from '@/utils/request'

/**
 * 查询某段录制的最新转写结果
 * @param {number} recordingId
 * @returns {Promise<{data: TranscriptDTO|null}>}
 */
export function getTranscript(recordingId) {
  return request({
    url: `/api/v1/admin/recordings/${recordingId}/transcript`,
    method: 'get'
  })
}

/**
 * 提交转写任务
 * @param {number} recordingId
 * @param {Object} [opts]
 * @param {boolean} [opts.force=false] - true=已 ready 时强制重跑
 * @param {string}  [opts.language=''] - ISO-639 语言提示，"" 表示自动检测
 * @returns {Promise<{data: TranscriptDTO}>}
 */
export function submitTranscribe(recordingId, opts = {}) {
  return request({
    url: `/api/v1/admin/recordings/${recordingId}/transcribe`,
    method: 'post',
    data: {
      force: !!opts.force,
      language: opts.language || ''
    }
  })
}
