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

/**
 * 授权模板
 */
export default {
    /**
     * 创建授权模板
     * @param params 
     * @returns 
     */
    SaveCreateAuthTemp(params: AuthTemplateTypes.AuthTemplateType) {
        return request('/api/authorize/AddAuthorTemp', {
            method: 'POST',
            data: {
                ...params
            }
        });
    },

    /**
     * 删除授权模板
     * @param params 
     * @returns 
     */
    DeleteAuthTemp(id: string) {
        return request(`/api/authorize/RemoveAuthorTemp?input=${id}`, {
            method: 'GET'
        });
    },

    /**
     * 修改授权模板
     * @param params 
     * @returns 
     */
    SaveModifyAuthTemp(params: AuthTemplateTypes.AuthTemplateType) {
        return request('/api/authorize/EditAuthorTemp', {
            method: 'POST',
            data: {
                ...params
            }
        });
    },

    /**
     * 授权模板分页查询
     * @param params 
     * @returns 
     */
    GetPagedListAuthTemp(params: AuthTemplateTypes.PageParams) {
        return request('/api/authorize/QueryAuthorTemp', {
            method: 'POST',
            data: {
                ...params
            }
        });
    },

    /**
     * 模板 授权模块
     */
    SaveUpdateItems(params: AuthTemplateTypes.TempAuthModule) {
        return request('/api/authorize/EditTemplateItem', {
            method: 'POST',
            data: {
                ...params
            }
        });
    },

    /**
     * 根据模板ID 查询已授权用户|角色
     * @param params 
     * @returns 
     */
    GetauthorizeObjects(params: AuthTemplateTypes.AuthObjectParams) {
        return request('/api/authorize/GetauthorizeObjects', {
            method: 'POST',
            data: {
                ...params
            }
        });
    },

    /**
     * 添加授权
     */
    Addauthorize(params: AuthTemplateTypes.AddAuthParams) {
        return request('/api/authorize/Addauthorize', {
            method: 'POST',
            data: {
                ...params
            }
        });
    },

    /**
     * 移除授权
     */
    Removeauthorize(params: AuthTemplateTypes.RemoveAuthParams) {
        return request('/api/authorize/Removeauthorize', {
            method: 'POST',
            data: {
                ...params
            }
        });
    },

    /**
     * 获取授权模板列表
     * @param templateId 
     */
    GetModules(templateId: string) {
        return request(`/api/authorize/GetModuleByTemplateId?input=${templateId}`, {
            method: 'GET'
        });
    }
}