import httpRequest from '@/utils/axios'
/* ------------------------------------高级设置------------------------------------ */
/**
 * 获取角色列表
 */
export function getRoleList(params) {
  return httpRequest.get('/api/cms/admin/v1/roles', { params })
}
/**
 * 获取权限列表
 */
export function getPermissionList(params) {
  return httpRequest.get('/api/cms/admin/v1/permissions', { params })
}
/**
 * 创建角色
 */
export function createRole(data) {
  return httpRequest.post('/api/cms/admin/v1/role/create', data)
}
/**
 * 获取角色详情
 */
export function getRoleDetails(params) {
  return httpRequest.get(`/api/cms/admin/v1/role/${params.role_id}/detail`, { params })
}
/**
 * 更新角色
 */
export function updateRole(data) {
  return httpRequest.put(`/api/cms/admin/v1/role/${data.role_id}/update`, data)
}
/**
 * 删除角色
 */
export function deleteRole(data) {
  return httpRequest.delete(`/api/cms/admin/v1/role/${data.role_id}/delete`, data)
}

/* ------------------------------------员工管理------------------------------------ */
/**
 * 获取员工列表
 */
export function getStaffList(params) {
  return httpRequest.get('/api/cms/admin/v1/users', { params })
}
/**
 * 创建员工
 */
export function createStaff(data) {
  return httpRequest.post('/api/cms/admin/v1/user/create', data)
}
/**
 * 更新员工
 */
export function updateStaff(data) {
  return httpRequest.put(`/api/cms/admin/v1/user/${data.sso_id}/update`, data)
}
/**
 * 批量删除员工
 */
export function batchDeleteStaff(data) {
  return httpRequest.post('/api/cms/admin/v1/user/batch-delete', data)
}
/**
 * 删除用户缓存
 */
export function clearUserCached(id) {
  return httpRequest.get(`/api/cms/admin/v1/user/${id}/clear-cached`)
}
/* ------------------------------------项目管理------------------------------------ */
/**
 * 获取项目列表
 * @param {string} name 项目名称
 * @param {string} type_id 项目id
 * @param {number} status 创建的时候是否展示：0不展示，1展示
 */
export function getProjectList(params) {
  return httpRequest.get('/api/cms/admin/v1/projects', { params })
}
/**
 * 创建项目
 */
export function createProject(data) {
  return httpRequest.post('/api/cms/admin/v1/project/create', data)
}
/**
 * 更新项目
 */
export function updateProject(data) {
  return httpRequest.put(`/api/cms/admin/v1/project/${data.project_id}/update`, data)
}
/**
 * 删除项目
 */
export function deleteProject(data) {
  return httpRequest.delete(`/api/cms/admin/v1/project/${data.project_id}/delete`, data)
}

/* ------------------------------------类型管理------------------------------------ */
/**
 * 获取类型列表
 * @param {number} type 0项目类型 1内容类型
 */
export function getTypeList(params) {
  return httpRequest.get('/api/cms/admin/v1/types', { params })
}
/**
 * 创建类型
 */
export function createType(data) {
  return httpRequest.post('/api/cms/admin/v1/type/create', data)
}
/**
 * 更新类型
 */
export function updateType(data) {
  return httpRequest.put(`/api/cms/admin/v1/type/${data.type_id}/update`, data)
}
/**
 * 获取所有的内容分类
 */
export function getContentTypesList(params) {
  return httpRequest.get('/api/cms/admin/v1/type/content-types', { params })
}
/**
 * 批量删除类型
 */
export function batchDeleteType(data) {
  return httpRequest.post('/api/cms/admin/v1/type/batch-delete', data)
}
