import type { Dayjs } from 'dayjs';

import { requestClient } from '#/api/request';

export namespace InfraCategoryApi {
  /** 分类信息 */
  export interface Category {
    id: number; // 编号
    name?: string; // 名字
    parentId?: number; // 父编号
  children?: Category[];
  }
}

/** 查询分类列表 */
export function getCategoryList(params: any) {
  return requestClient.get<InfraCategoryApi.Category[]>(
    '/infra/category/list',
    { params },
  );
}

/** 查询分类详情 */
export function getCategory(id: number) {
  return requestClient.get<InfraCategoryApi.Category>(
    `/infra/category/get?id=${id}`,
  );
}

/** 新增分类 */
export function createCategory(data: InfraCategoryApi.Category) {
  return requestClient.post('/infra/category/create', data);
}

/** 修改分类 */
export function updateCategory(data: InfraCategoryApi.Category) {
  return requestClient.put('/infra/category/update', data);
}

/** 删除分类 */
export function deleteCategory(id: number) {
  return requestClient.delete(`/infra/category/delete?id=${id}`);
}

/** 导出分类 */
export function exportCategory(params: any) {
  return requestClient.download('/infra/category/export-excel', { params });
}