import { request } from '@/utils/request'
import { Base } from '@/enums/api'
import { DomainTreeResParams, AddDomainResParams } from '@/types/domain'

/**
 * 获取组织树
 */
export const getOrgTree = () => {
  return request.post<DomainTreeResParams>({
    url: Base.CFG_ORG_TREE,
    data: {}
  })
}

/**
 * 添加组织机构
 * @param pid 上一级组织机构id，如果当前添加的是一级组织机构，此字段为空或为200
 * @param name 新添加的组织机构名称
 * @param memo 备注
 */
export const addOrg = (name: string, pid?: number, memo?: string) => {
  return request.post<AddDomainResParams>({
    url: Base.CFG_ORG_ADD,
    data: {
      pid,
      name,
      memo
    }
  })
}

/**
 * 修改组织机构
 * @param orgId 组织机构id
 * @param name 修改后的组织机构名称
 * @param memo 修改后的组织机构备注
 */
export const modifyOrg = (orgId: number, name?: string, memo?: string) => {
  return request.post<BaseResParams>({
    url: Base.CFG_ORG_MODIFY,
    data: {
      id: orgId,
      name,
      memo
    }
  })
}

/**
 * 删除组织
 * @param orgId 组织机构id
 */
export const removeOrg = (orgId: number) => {
  return request.post<BaseResParams>({
    url: Base.CFG_ORG_REMOVE,
    data: {
      id: orgId
    }
  })
}
