import { request } from '@/utils/request'
import { Module } from '@/enums/api'
import { ModuleTreeResParams, AddModuleResParams } from '@/types/module'

/**
 * 获取功能模块树
 */
export const getModuleTree = () => {
  return request.post<ModuleTreeResParams>({
    url: Module.SYSTEM_MODULE_TREE,
    data: {}
  })
}

/**
 * 添加功能模块
 * @param pid 当前选中模块id，在此id下添加,最高级为0
 * @param name 模块名称
 * @param tag  模块标记
 */
export const addModule = (
  pid: number,
  name: string,
  tag: string,
  memo?: string
) => {
  return request.post<AddModuleResParams>({
    url: Module.SYSTEM_MODULE_ADD,
    data: { pid, name, tag, memo }
  })
}

/**
 * 修改功能模块信息
 * @param moduleId 功能模块id
 * @param name 名称
 * @param memo 备注信息
 */
export const modifyModule = (
  moduleId: number,
  name?: string,
  memo?: string
) => {
  return request.post<BaseResParams>({
    url: Module.SYSTEM_MODULE_MODIFY,
    data: { id: moduleId, name, memo }
  })
}

/**
 * 删除功能模块
 * @param moduleId 模块id
 */
export const removeModule = (moduleId: number) => {
  return request.post<BaseResParams>({
    url: Module.SYSTEM_MODULE_REMOVE,
    data: { id: moduleId }
  })
}
