/**
 红白名单管理接口
 @author linqian
 @Date：2021-07-14
 */
import request from '@/utils/request';
import handleSearchCondition from '@/utils/searchable';
const baseUrl = `/authsvr/v2`;

/** *********************************** 白名单 ************************************/

// 白名单列表url
export const whiteListTableUrl = `${baseUrl}/whitelist/userWhiteListPage`;

// 保存白名单
export function saveWhiteList(data) {
  return request({
    url: `${baseUrl}/whitelist/userWhiteListAdd`,
    method: 'POST',
    data
  });
}

// 白名单批量删除
export function delWhiteList(data) {
  return request({
    url: `${baseUrl}/whitelist/whiteListDel`,
    method: 'POST',
    data
  });
}

// 白名单批量修改等级
export function updateWhiteListLevel(data) {
  return request({
    url: `${baseUrl}/whitelist/whiteListUpdateLevel`,
    method: 'POST',
    data
  });
}

// 机构下未添加白名单的人员tableUrl
export const notInWhiteUserTableUrl = `${baseUrl}/authuserinfo/notInWhiteListUserPage`;

/** ********************************* 红名单 ************************************/

// 应用功能红名单列表
export function getRedAppFuncList({ page, size, searchCondition }) {
  return request({
    url: `${baseUrl}/redlist/funRedListPage`,
    method: 'POST',
    data: handleSearchCondition( {page, size, searchCondition })
  });
}

// 添加应用功能红名单
export function saveRedAppFunc(data) {
  return request({
    url: `${baseUrl}/redlist/funRedListAdd`,
    method: 'POST',
    data
  });
}

// 批量设置应用功能红名单
export function updateRedAppFuncLevel(data) {
  return request({
    url: `${baseUrl}/redlist/redListUpdateLevel`,
    method: 'POST',
    data
  });
}

// 单条移除应用功能红名单
export function delRedAppFunc(params) {
  return request({
    url: `${baseUrl}/redlist/funRedListDel`,
    method: 'DELETE',
    params
  });
}

// 批量移除应用功能红名单
export function delBatchRedAppFunc(data) {
  return request({
    url: `${baseUrl}/redlist/funRedListBatchDel`,
    method: 'POST',
    data
  });
}

// 查询已被添加为红名单的功能id
export function getFunIdsInRedList() {
  return request({
    url: `${baseUrl}/redlist/funIdsInRedList`,
    method: 'GET'
  });
}
