import request from './request'

/**
 * 优质工作流视频 API
 */

// ==================== 公开接口 ====================

/**
 * 获取已启用的工作流视频列表（无需认证）
 */
export function getActiveWorkflowVideos() {
  return request({
    url: '/workflow-videos',
    method: 'GET'
  })
}

// ==================== 管理员接口 ====================

/**
 * 管理后台 - 获取所有工作流视频（分页）
 */
export function getAdminWorkflowVideos(page = 0, size = 20) {
  return request({
    url: '/admin/workflow-videos',
    method: 'GET',
    params: { page, size }
  })
}

/**
 * 管理后台 - 创建工作流视频
 */
export function createWorkflowVideo(data) {
  return request({
    url: '/admin/workflow-videos',
    method: 'POST',
    data
  })
}

/**
 * 管理后台 - 更新工作流视频
 */
export function updateWorkflowVideo(id, data) {
  return request({
    url: `/admin/workflow-videos/${id}`,
    method: 'PUT',
    data
  })
}

/**
 * 管理后台 - 删除工作流视频
 */
export function deleteWorkflowVideo(id) {
  return request({
    url: `/admin/workflow-videos/${id}`,
    method: 'DELETE'
  })
}

/**
 * 管理后台 - 上传视频文件
 */
export function uploadWorkflowVideoFile(file) {
  const formData = new FormData()
  formData.append('file', file)
  return request({
    url: '/admin/workflow-videos/upload-video',
    method: 'POST',
    headers: { 'Content-Type': 'multipart/form-data' },
    data: formData,
    timeout: 600000 // 10分钟超时，视频文件可能较大
  })
}

/**
 * 管理后台 - 上传缩略图
 */
export function uploadWorkflowThumbnail(file) {
  const formData = new FormData()
  formData.append('file', file)
  return request({
    url: '/admin/workflow-videos/upload-thumbnail',
    method: 'POST',
    headers: { 'Content-Type': 'multipart/form-data' },
    data: formData
  })
}
