import request from '@/utils/request'

/**
 * 模板信息接口（统一携带模板ID，确保数据关联正确）
 */

// 1. 查询模板信息列表（支持按行业类型、启用状态等筛选）
export function listTemplateInfo(query) {
  return request({
    url: '/smartPlatform/templateInfo/list',
    method: 'get',
    params: query
  })
}

// 2. 查询模板信息详情（携带模板ID，包含关联组成和文件）
export function getTemplateInfoDetail(params) {
  return request({
    url: '/smartPlatform/templateInfo/detail',
    method: 'get',
    params: params
  })
}

// 3. 新增模板信息（携带模板名称、行业类型等基础信息，支持上传文件）
export function addTemplateInfo(data) {
  return request({
    url: '/smartPlatform/templateInfo/add',
    method: 'post',
    data: data
  })
}

// 4. 修改模板信息（携带模板ID，支持更新基础信息和文件列表）
export function updateTemplateInfo(data) {
  return request({
    url: '/smartPlatform/templateInfo/edit',
    method: 'post',
    data: data
  })
}

// 5. 删除模板信息（携带模板ID，级联删除关联组成和文件）
export function delTemplateInfo(params) {
  return request({
    url: '/smartPlatform/templateInfo/delete',
    method: 'post',
    data: params
  })
}

// 6. 校验模板名称唯一性（新增/编辑时使用）
export function checkTemplateNameUnique(params) {
  return request({
    url: '/smartPlatform/templateInfo/checkNameUnique',
    method: 'get',
    params: params
  })
}

// 7. 发布模板
export function publishTemplate(templateId) {
  return request({
    url: `/smartPlatform/templateInfo/publish/${templateId}`,
    method: 'post'
  })
}

// 8. 查询模板历史版本列表
export function getTemplateHistoryVersions(templateId) {
  return request({
    url: '/smartPlatform/templateInfo/history/versions',
    method: 'get',
    params: {
      templateId: templateId
    }
  })
}
