/**
 * @desc 新增
 */

import * as defs from '../../baseClass'
import { defHttp } from '/@/utils/http/axios'

export class Params {
    /** 组件 */
    component?: string
    /** 是否启用 */
    enable?: boolean
    /** 是否隐藏 */
    hidden?: boolean
    /** 图标 */
    icon?: string
    /** 元数据 */
    meta?: string
    /** 名称 */
    name: string
    /** 路径 */
    path?: string
    /** 父级ID */
    pid?: string
    /** 重定向 */
    redirect?: string
    /** 序号 */
    serial?: number
    /** 权限类型 */
    type: 'DIR' | 'MENU' | 'BUTTON'
    /** 标识 */
    uid: string
}

export const init = new defs.Result()

export function request(params: Params, config?: http.RequestConfig<Params>, options?: http.RequestOptions) {
    return defHttp.request(
        {
            url: '/sys/permission/add',
            method: 'POST',
            data: params,

            ...config,
        },
        options,
    )
}
