import { fetch, post } from '@api/api';

/**
 * 查询用户信息
 * @param params 请求参数
 * @param headers 请求头
 */
export function fetchUserInfo() {
  return fetch({
    url: '/upms/current-user/info'
  });
}
/**
 * 查询菜单树数据
 * @param params 请求参数
 * @param headers 请求头
 */
export function leftMenus(params = {}, headers = {}) {
  return fetch({
    url: '/upms/current-user/left-menus',
    params: params,
    headers: headers
  });
}

/**
 * 判断密码是否过期
 * @param params 请求参数
 * @param headers 请求头
 */
export function passwordCheckStatus(params = {}, headers = {}) {
  return fetch({
    url: '/upms/current-user/check-password-status',
    params: params,
    headers: headers
  });
}

/**
 * 切换角色
 * @param params 请求参数
 * @param headers 请求头
 */
export function switchRole(params = {}, headers = {}) {
  return post({
    url: '/upms/current-user/switch-role',
    params: params,
    headers: headers
  });
}

/**
 * 更新用户密码
 * @param params 请求参数
 * @param headers 请求头
 */
export function updateUserPwd(params = {}, headers = {}) {
  return post({
    url: '/upms/current-user/update-pwd',
    params: params,
    headers: headers
  });
}

/**
 * 切换角色
 * @param params 请求参数
 * @param headers 请求头
 */
export function logout(params = {}, headers = {}) {
  return post({
    url: '/upms/current-user/logout',
    params: params,
    headers: headers
  });
}
/**
 * 刷新token
 */
export function refreshToken(params = {}) {
  return post({
    url: '/upms/current-user/refresh-token',
    params: params
  });
}
/**
 * 更新用户自己
 * @param params 请求参数
 * @param headers 请求头
 */
export function updateSelfUserDetail(params = {}, headers = {}) {
  return post({
    url: '/upms/current-user/update-self',
    params: params,
    headers: headers
  });
}

/**
 * 查询用户
 * @param params 请求参数
 * @param headers 请求头
 */
export function queryUserPage(params = {}, headers = {}) {
  return fetch({
    url: '/upms/admin/user/page',
    params: params,
    headers: headers
  });
}

/**
 * 新增用户
 * @param params 请求参数
 * @param headers 请求头
 */
export function createUser(params = {}, headers = {}) {
  return post({
    url: '/upms/admin/user/create',
    params: params,
    headers: headers
  });
}

/**
 * 删除用户
 * @param params 请求参数
 * @param headers 请求头
 */
export function removeUser(params = {}, headers = {}) {
  return post({
    url: '/upms/admin/user/remove',
    params: params,
    headers: headers
  });
}

/**
 * 查询用户账号
 * @param params 请求参数
 * @param headers 请求头
 */
export function queryUserAccount(params = {}, headers = {}) {
  return fetch({
    url: '/upms/admin/user/account',
    params: params,
    headers: headers
  });
}

/**
 * 给用户增加角色
 * @param params 请求参数
 * @param headers 请求头
 */
export function addRole(params = {}, headers = {}) {
  return post({
    url: '/upms/admin/user/role-add',
    params: params,
    headers: headers
  });
}

/**
 * 给用户移除角色
 * @param params 请求参数
 * @param headers 请求头
 */
export function delRole(params = {}, headers = {}) {
  return post({
    url: '/upms/admin/user/role-delete',
    params: params,
    headers: headers
  });
}

/**
 * 变更锁定状态
 * @param params 请求参数
 * @param headers 请求头
 */
export function changeLock(params = {}, headers = {}) {
  return post({
    url: '/upms/admin/user/change-lock',
    params: params,
    headers: headers
  });
}

/**
 * 重置用户密码
 * @param params 请求参数
 * @param headers 请求头
 */
export function resetPwd(params = {}, headers = {}) {
  return post({
    url: '/upms/admin/user/reset-pwd',
    params: params,
    headers: headers
  });
}

/**
 * 查询单个用户
 * @param params 请求参数
 * @param headers 请求头
 */
export function fetchUserById(params = {}, headers = {}) {
  return fetch({
    url: '/upms/admin/user/detail/by-id',
    params: params,
    headers: headers
  });
}

/**
 * 更新用户
 * @param params 请求参数
 * @param headers 请求头
 */
export function updateUserDetail(params = {}, headers = {}) {
  return post({
    url: '/upms/admin/user/detail/update',
    params: params,
    headers: headers
  });
}

/**
 * ===================================================以下哪些都是没用的=================================================
 */
/**
 * 上传用户头像
 * @param params 请求参数
 * @param headers 请求头
 */
export function uploadUserAvatar() {
  return {
    url: '/recruit-common/attachment/upload-image',
    extraData: {
      fileSpace: 'user-avatar',
      isCompress: '1'
    },
    uploadType: 'localOss'
  };
}
