import { request } from '@/api/request'

/** {{Module}}类型 */
export interface {{Module}}Item {
  id: number
  created_at: string
  updated_at: string
  name: string
  description?: string
  enabled: boolean
}

/** {{Module}}列表响应 */
export interface {{Module}}ListResponse {
  total: number
  page: number
  page_size: number
  data: {{Module}}Item[]
}

/** {{Module}}列表请求参数 */
export interface {{Module}}ListParams {
  page?: number
  size?: number
  keyword?: string
  enabled?: boolean
}

/** 创建{{Module}}请求参数 */
export interface {{Module}}CreateData {
  name: string
  description?: string
  enabled?: boolean
}

/** 更新{{Module}}请求参数 */
export interface {{Module}}UpdateData {
  name?: string
  description?: string
  enabled?: boolean
}

/** 获取{{Module}}列表（分页） */
export const fetch{{Module}}List = (params?: {{Module}}ListParams) => {
  return request.get<{{Module}}ListResponse>('/DC-Control/v1/{{module}}s', { params })
}

/** 获取{{Module}}详情 */
export const fetch{{Module}}Detail = (id: number) => {
  return request.get<{{Module}}Item>(`/DC-Control/v1/{{module}}s/${id}`)
}

/** 创建{{Module}} */
export const create{{Module}} = (data: {{Module}}CreateData) => {
  return request.post<{ message: string; id: number }>('/DC-Control/v1/{{module}}s', data)
}

/** 更新{{Module}} */
export const update{{Module}} = (id: number, data: {{Module}}UpdateData) => {
  return request.put<{ message: string }>(`/DC-Control/v1/{{module}}s/${id}`, data)
}

/** 删除{{Module}} */
export const delete{{Module}} = (id: number) => {
  return request.delete<{ message: string }>(`/DC-Control/v1/{{module}}s/${id}`)
}