import { request } from '@umijs/max';

/*
*
*账号
*
*/
const accountApi={
    //创建
    Add(parms: account.base_dto) {
        return request('/api/authorize/addaccount', {
            method: 'POST',
            data: {
                ...parms,
            },
        });
    },
    //删除
    Del(parms: account.base_dto) {
        return request(`/api/authorize/del`, {
            method: 'POST',
            data: {
                ...parms,
            },
        });
    },
    //修改
    Update(parms: account.base_dto) {
        return request('/api/authorize/update', {
            method: 'POST',
            data: {
                ...parms,
            },
        });
    },
    //列表
    List() {
        return request('/api/authorize/list', {
            method: 'POST',
        });
    },
    /**
     * 分页查询
     * @param parms 
     * @returns 
     */
    PagedList(parms: account.queryPage) {
        return request('/api/authorize/accountpagelist', {
            method: 'POST',
            data: {
                ...parms,
            },
        });
    }
}

/*
*
*模块
*
*/

const moduleApi={
    //创建模块
    SaveCreateModule(params: moduleTypes.ModuleType) {
        return request('/api/authorize/addmodule', {
            method: 'POST',
            data: {
                ...params
            }
        });
    },

    //获取模块视图
    GetTreeGridModule(params?: moduleTypes.ModuleType) {
        return request(`/api/authorize/gettreegrid`, {
            method: 'POST',
            data:{
                ...params
            }
        });
    },

    //修改模块
    SaveModifyModule(params: moduleTypes.ModuleType) {
        return request('/api/authorize/editmodule', {
            method: 'POST',
            data: {
                ...params
            }
        });
    },

    //删除模块
    DeleteModule(id: string) {
        return request(`/api/authorize/removemodule/${id}`, {
            method: 'GET'
        });
    },
}

/*
*
*角色
*
*/
const roleApi={
     //创建角色
     CreateRole(parms: RolelTypes.RoleType) {
        return request('/api/authorize/addrole', {
            method: 'POST',
            data: {
                ...parms,
            },
        });
    },

    //删除角色
    DeleteRole(id: string) {
        return request(`/api/authorize/removerole/${id}`, {
            method: 'GET'
        });
    },

    //修改角色
    ModifyRole(parms: RolelTypes.RoleType) {
        return request('/api/authorize/editrole', {
            method: 'POST',
            data: {
                ...parms,
            },
        });
    },


    //获取角色列表
    GetRoleList() {
        return request('/api/authorize/getroleList', {
            method: 'GET',
        });
    },

    /**
     * 角色分页查询
     * @param parms 
     * @returns 
     */
    GetRolePagedList(parms: RolelTypes.RolePageParams) {
        return request('/api/authorize/queryrole', {
            method: 'POST',
            data: {
                ...parms,
            },
        });
    },
    /*
    *
    * 获取角色模块
    *
    */
    GetRoleModuleList(roleId:string){
        return request(`/api/authorize/rolemodulelist/${roleId}`, {
            method: 'GET',
        });
    },
     /*
    *
    * 分配角色模块
    *
    */
     AddRoleModule(parms:any){
        return request(`/api/authorize/addrolemodule`, {
            method: 'POST',
            data: {
                ...parms,
            },
        });
    }
}
/*
*
*人员
*
*/
const userApi={
 //登录
 Login(parms: UserTypes.LoginParams) {
    return request('/api/authorize/login', {
        method: 'POST',
        data: {
            ...parms
        }
    });
},

//新增人员
CreateUser(params: UserTypes.PersonnelType) {
    return request('/api/authorize/addemployee', {
        method: 'POST',
        data: {
            ...params,
        },
    });
},

//修改人员信息
ModifyUser(params: UserTypes.PersonnelType) {
    return request('/api/authorize/editemployee', {
        method: 'POST',
        data: {
            ...params,
        },
    });
},


//根据用户ID查询用户信息
GetUserById(id: string) {
    return request(`/api/base/user/getuserbyid?id=${id}`, {
        method: 'GET',
    });
},

//人员分页查询
GetUserPagedList(params: UserTypes.UserPageParams) {
    return request('/api/authorize/queryemployee', {
        method: 'POST',
        data: {
            ...params,
        },
    });
},

/**
 * 获取用户已授权菜单
 */
GetUserAuthInfo() {
    return request('/api/base/authorize/getuserinfo', {
        method: 'POST',
    });
},

GetUserInfo() {
    return request('/api/authorize/getuserinfo', {
        method: 'GET',
    });
},
/**
 * 删除用户
 * @param params 
 */
RemoveUser(employeeId:string){
    return request(`/api/authorize/removeemployee?employeeId=${employeeId}`, {
        method: 'GET'
    });
},
/**
 * 绑定账户
 * @param params 
 */
BindAccount(params: account.base_dto) {
    return request('/api/authorize/addaccountbyuser', {
        method: 'POST',
        data: {
            ...params,
        },
    });
},
/**
 * 重置账户
 * @param params 
 * @returns 
 */
RestoreAccount(params: string) {
    return request(`/api/authorize/restoreaccountbyuser/${params}`, {
        method: 'GET',
    });
},
/**
 * 编辑密码
 * @param params 
 * @returns 
 */
EditPwd(params: account.updatePwdInput) {
    return request(`/api/authorize/editaccountpwd`, {
        method: 'POST',
        data: {
            ...params,
        },
    });
}
}

export { accountApi,moduleApi,roleApi,userApi }