/**
 * @description 部门相关类型定义
 * @author yslg
 * @since 2025-10-06
 */

import { BaseDTO } from '../base';
import { SysRole } from '../role';

/**
 * 系统部门
 */
export interface SysDept extends BaseDTO {
  /** 部门ID */
  deptID?: string;
  /** 父部门ID */
  parentID?: string;
  /** 部门名称 */
  name?: string;
  /** 部门描述 */
  description?: string;
  /** 创建人 */
  creator?: string;
  /** 更新人 */
  updater?: string;
  /** 子部门列表（前端使用） */
  children?: SysDept[];
}

/**
 * 部门角色VO
 */
export interface DeptRoleVO {
  /** 部门信息 */
  dept?: SysDept;
  /** 角色信息 */
  role?: SysRole;
  depts?: SysDept[];
  roles?: SysRole[];
}

/**
 * 部门角色关联
 */
export interface SysDeptRole extends BaseDTO {
  id?: string;
  /** 部门ID */
  deptID?: string;
  /** 角色ID */
  roleID?: string;
}

