import request from '@/utils/request'

// 角色下拉
export function roleSelect() {
	return request({
		url: '/admin/v1/role/select',
		method: 'post',
	})
}

// 查询角色列表
export function listRole(data) {
	return request({
		url: '/admin/v1/role',
		method: 'post',
		data,
	})
}

// 查询角色详细
export function getRole(roleId) {
	return request({
		url: '/system/role/' + roleId,
		method: 'get',
	})
}

// 新增角色
export function addRole(data) {
	return request({
		url: '/admin/v1/role/add',
		method: 'post',
		data: data,
	})
}

// 修改角色
export function updateRole(data) {
	return request({
		url: '/admin/v1/role/edit',
		method: 'post',
		data: data,
	})
}

// 角色数据权限
export function dataScope(data) {
	return request({
		url: '/system/role/dataScope',
		method: 'put',
		data: data,
	})
}

// 角色状态修改
export function changeRoleStatus(roleId, status) {
	const data = {
		roleId,
		status,
	}
	return request({
		url: '/system/role/changeStatus',
		method: 'put',
		data: data,
	})
}

// 删除角色
export function delRole(data) {
	return request({
		url: '/admin/v1/role/delete',
		method: 'post',
		data,
	})
}

// 查询角色所有菜单数据权限
export function roleMenuList(data) {
	return request({
		url: '/admin/v1/role/menu',
		method: 'post',
		data,
	})
}
// 角色菜单权限绑定
export function roleMenuBind(data) {
	return request({
		url: '/admin/v1/role/menu/bind',
		method: 'post',
		data,
	})
}
// 查询角色所有数据权限
export function roleAuthList(data) {
	return request({
		url: '/admin/v1/role/auth',
		method: 'post',
		data,
	})
}
// 角色数据权限绑定
export function roleAuthBind(data) {
	return request({
		url: '/admin/v1/role/auth/bind',
		method: 'post',
		data,
	})
}

// 查询角色已授权用户列表
export function allocatedUserList(query) {
	return request({
		url: '/system/role/authUser/allocatedList',
		method: 'get',
		params: query,
	})
}

// 查询角色未授权用户列表
export function unallocatedUserList(query) {
	return request({
		url: '/system/role/authUser/unallocatedList',
		method: 'get',
		params: query,
	})
}

// 取消用户授权角色
export function authUserCancel(data) {
	return request({
		url: '/system/role/authUser/cancel',
		method: 'put',
		data: data,
	})
}

// 批量取消用户授权角色
export function authUserCancelAll(data) {
	return request({
		url: '/system/role/authUser/cancelAll',
		method: 'put',
		params: data,
	})
}

// 授权用户选择
export function authUserSelectAll(data) {
	return request({
		url: '/system/role/authUser/selectAll',
		method: 'put',
		params: data,
	})
}
