import fetch from '@/utils/fetch'

/**
 * 【增】 - 用户
 *
 * @param {Object} data
 * @returns
 */
export const createUserApi = (data) =>
  fetch({ url: 'system/user', method: 'post', data })
export const registerApi = (data) =>
  fetch({ url: 'system/user/register', method: 'post', data })

/**
 * 【删】 - 删除多个用户
 * @param {string[]} ids
 * @returns
 */
export const deleteUsersApi = (ids) =>
  fetch({ url: 'system/user?ids=' + ids, method: 'delete' })

/**
 * 【改】 - 用户
 * @param {Object} data
 * @returns
 */
export const updateUserApi = ({ id, ...data }) =>
  fetch({ url: 'system/user/' + id, method: 'patch', data })

/**
 * 【查】 - 角色
 *
 * @returns
 */
export const findAllUserApi = (params) =>
  fetch({ url: 'system/user', method: 'get', params })

/**
 * 【查】 - 查询所有教员
 *
 * @returns
 */
export const findAllTeacherApi = () =>
  fetch({ url: 'system/user/findAllTeacher', method: 'get' })

/**
 * 【查】 - 根据角色查询学员
 *
 * @returns
 */
export const findUserByRoleApi = (baseRoleId) =>
  fetch({ url: '/system/user/role/' + baseRoleId, method: 'get' })

/**
 * 【查】 - 根据组织ID查询学员
 *
 * @returns
 */
export const findStudentByOrgIdApi = (orgId) =>
  fetch({ url: 'system/user/findStudentByOrgId', method: 'get', params: { orgId } })

/**
 * 【查】 - 查询老师所管辖的所有学生
 *
 * @param {string} teacherId 老师ID，默认当前登陆人
 * @returns
 */
export const findStudentByTeacherApi = (teacherId) =>
  fetch({ url: 'system/user/findStudentByTeacher', method: 'get', params: { teacherId } })

/**
 * 【改】 - 修改用户密码
 * @param {Object} data
 * @returns
 */
export const updatePasswordApi = (data) =>
  fetch({ url: 'system/user/updatePassword', method: 'post', data })

/**
 * 【改】 - 重置用户密码
 * @returns
 */
export const resetPasswordApi = (id) =>
  fetch({ url: 'system/user/resetPassword/' + id, method: 'patch' })

/**
 * 【新增】 - 批量添加
 * @returns
 */
export const batchCreateUserApi = (data) =>
  fetch({ url: 'system/user/batchCreate', method: 'post', data })
