// 分类属性相关API服务
import api from './apiService'

/**
 * 分类属性服务类
 */
class CategoryAttributeService {
  /**
   * 获取所有分类属性
   * @returns {Promise<import('../types').ApiResponse<import('../types').CategoryAttribute[]>>}
   */
  getAllAttributes() {
    return api.get('/categoryattributes')
  }

  /**
   * 根据ID获取分类属性
   * @param {number} attributeid - 属性ID  
   * @returns {Promise<import('../types').ApiResponse<import('../types').CategoryAttribute>>}
   */
  getAttributeById(attributeid) {
    return api.get(`/categoryattributes/${attributeid}`)
  }

  /**
   * 根据分类ID获取属性列表
   * @param {number} categoryid - 分类ID
   * @returns {Promise<import('../types').ApiResponse<import('../types').CategoryAttribute[]>>}
   */
  getAttributesByCategory(categoryid) {
    return api.get(`/categoryattributes/category/${categoryid}`)
  }

  /**
   * 创建分类属性
   * @param {import('../types').CategoryAttributeDto} attributeData - 属性数据
   * @returns {Promise<import('../types').ApiResponse<import('../types').CategoryAttribute>>}
   */
  createAttribute(attributeData) {
    return api.post('/categoryattributes', attributeData)
  }
}

// 创建并导出服务实例
const categoryAttributeService = new CategoryAttributeService()
export default categoryAttributeService

// 导出服务类供特殊场景使用
export { CategoryAttributeService }