/**
 * 用户-团队关系接口定义
 * 作者: 阿瑞
 * 功能: 定义用户与团队关系数据模型结构
 * 版本: 1.0
 */

/**
 * 团队成员角色枚举
 */
export enum TeamMemberRole {
  OWNER = 'owner',   // 拥有者
  ADMIN = 'admin',   // 管理员
  MEMBER = 'member'  // 成员
}

/**
 * 用户-团队关系接口
 */
export interface IUserTeamRelation {
  id: number;           // 关系ID（主键）
  user_id: number;      // 用户ID
  team_id: number;      // 团队ID
  role: TeamMemberRole; // 角色（owner=拥有者，admin=管理员，member=成员）
  created_at: Date;     // 创建时间
  updated_at?: Date;    // 更新时间
}

/**
 * 创建用户-团队关系请求参数
 */
export interface ICreateUserTeamRelationParams {
  user_id: number;      // 用户ID
  team_id: number;      // 团队ID
  role: TeamMemberRole; // 角色
}

/**
 * 更新用户-团队关系请求参数
 */
export interface IUpdateUserTeamRelationParams {
  role: TeamMemberRole; // 角色
}

/**
 * 带用户和团队信息的关系详情
 */
export interface IUserTeamRelationDetail extends IUserTeamRelation {
  user_name?: string;   // 用户名称
  team_name?: string;   // 团队名称
} 