import { PageParams } from "../base/BaseDataModel";

/**
 * 数据权限主体参数
 */
export interface DataPermissionDto {
    /* 编号
    *
    * @mbg.generated
    */
    id: number | undefined;

    /**
     * 权限名称
     *
     * @mbg.generated
     */
    permissionName: string;

    /**
     * 菜单编号
     *
     * @mbg.generated
     */
    menuId: number | string;

    /**
     * 实体名称
     *
     * @mbg.generated
     */
    entityName: string;

    /**
     * 数据库类型
     *
     * @mbg.generated
     */
    dataBaseType: number | undefined;

    /**
     * 表名
     *
     * @mbg.generated
     */
    tableName: string;

    /**
     * 创建时间
     */
    createTime?: string
}

/**
 * 数据权限列表查询参数
 */
export interface DataPermissionParam extends PageParams {
    /**
     * 权限名称
     *
     * @mbg.generated
     */
    permissionName?: string;

    /**
     * 菜单编号
     *
     * @mbg.generated
     */
    menuId?: number | string;

    /**
     * 实体名称
     *
     * @mbg.generated
     */
    entityName?: string;


    /**
     * 表名
     *
     * @mbg.generated
     */
    tableName?: string;
}

/**
 * 查询用户数据权限参数
 */
export interface UserDataPermissionParam {
    /**
     * 编号
     *
     * @mbg.generated
     */
    id?: number;

    /**
     * 用户编号
     *
     * @mbg.generated
     */
    userId: number;

    /**
     * 角色数据权限编号
     *
     * @mbg.generated
     */
    dataPermissionId: number;
}
/**
 * 用户数据权限Result
 */
export interface UserDataPermissionDto {
    /**
     * 编号
     *
     * @mbg.generated
     */
    id: number;

    /**
     * 用户编号
     *
     * @mbg.generated
     */
    userId: number;

    /**
     * 用户数据权限编号
     *
     * @mbg.generated
     */
    dataPermissionId: number;

    /**
     * 菜单编号
     *
     * @mbg.generated
     */
    menuId: number;

    /**
     * 数据权限类型
     *
     * @mbg.generated
     */
    dataPermissionType: number;

    /**
     * 用户数据临时编号
     *
     * @mbg.generated
     */
    tempCode: string;
    /**
     * 数据权限部门
     */
    dataPermissionDepartmentDtoList: DataPermissionDepartmentDto[];
}
/**
 * 数据权限部门
 */
export interface DataPermissionDepartmentDto {
    /**
     * 编号
     *
     * @mbg.generated
     */
    id?: number;

    /**
     * 用户数据权限编号
     *
     * @mbg.generated
     */
    userDataPermissionId?: number;

    /**
     * 角色数据权限编号
     *
     * @mbg.generated
     */
    roleDataPermissionId?: number;

    /**
     * 部门编号
     *
     * @mbg.generated
     */
    departmentId: number;

    /**
     * 临时编号
     *
     * @mbg.generated
     */
    tempCode?: string;
}

/**
 * 查询角色数据权限参数
 */
export interface RoleDataPermissionParam {
    /**
     * 编号
     *
     * @mbg.generated
     */
    id?: number;

    /**
     * 角色编号
     *
     * @mbg.generated
     */
    roleId: number;

    /**
     * 角色数据权限编号
     *
     * @mbg.generated
     */
    dataPermissionId: number;
}
/**
 * 角色数据权限Result
 */
export interface RoleDataPermissionDto {
    /**
     * 编号
     *
     * @mbg.generated
     */
    id: number;

    /**
     * 角色编号
     *
     * @mbg.generated
     */
    roleId: number;

    /**
     * 角色数据权限编号
     *
     * @mbg.generated
     */
    dataPermissionId: number;

    /**
     * 菜单编号
     *
     * @mbg.generated
     */
    menuId: number;

    /**
     * 数据权限类型
     *
     * @mbg.generated
     */
    dataPermissionType: number;

    /**
     * 创建时间
     *
     * @mbg.generated
     */
    createTime: string;

    /**
     * 创建人编号
     *
     * @mbg.generated
     */
    createUserId: number;

    /**
     * 创建人名
     *
     * @mbg.generated
     */
    createUserName: string;

    /**
     * 临时编号
     *
     * @mbg.generated
     */
    tempCode: string;

    /**
     * 数据权限部门
     */
    dataPermissionDepartmentDtoList: DataPermissionDepartmentDto[];
}
