/**
 * 用户角色接口定义
 * 作者: 阿瑞
 * 功能: 定义用户角色数据模型结构
 * 版本: 1.0
 */

/**
 * 系统默认角色类型
 */
export enum DefaultRoleType {
  SUPER_ADMIN = 'super_admin',
  ADMIN = 'admin',
  USER = 'user'
}

/**
 * 系统角色类型枚举
 */
export enum SystemRoleType {
  USER = 'user',
  ADMIN = 'admin',
  BOSS = 'boss',
  FINANCE = 'finance',
  OPERATION = 'operation',
  CUSTOMER = 'customer'
}

/**
 * 用户角色接口
 */
export interface IUserRole {
  id: number;             // 角色ID（主键）
  type: string;           // 角色类型
  name: string;           // 角色显示名称
  is_custom: boolean;     // 是否自定义（1=是，0=否）
  workspace_id: number;   // 所属工作空间ID
  created_at: Date;       // 创建时间
  updated_at?: Date;      // 更新时间
}

/**
 * 创建用户角色请求参数
 */
export interface ICreateUserRoleParams {
  type: string;           // 角色类型
  name: string;           // 角色显示名称
  is_custom?: boolean;    // 是否自定义
  workspace_id: number;   // 所属工作空间ID
}

/**
 * 更新用户角色请求参数
 */
export interface IUpdateUserRoleParams {
  name?: string;          // 角色显示名称
  is_custom?: boolean;    // 是否自定义
} 