import { RoleType } from '@/constants/app';
import { CertificationStatusType } from '@/constants/company';

// 用户信息
export interface UserInfo {
  userId: string; // 用户唯一标识
  nickName: string; // 用户昵称
  avatarUrl: string; // 用户头像
  isDefaultAvatar: boolean; // 是不是默认头像
  isDefaultNickname: boolean; // 是不是默认昵称
  isBindPhone?: boolean; // 是否绑定手机号
  phone: string;
  created?: string;
  updated?: string;
  isBoss?: boolean; // 是否通告主
  userBoss?: {
    level: string;
    expireTime: string;
    isExpire: boolean;
  };
  isCreateResume?: boolean;
  imAcctNo?: string;
  bossAuthStatus?: CertificationStatusType;
  existAvailableJob?: boolean;
  /**
   * 当前身份类型
   * 1 普通用户
   * 2 企业用户
   */
  roleType: RoleType;
}

export interface SetPhoneRequest {
  encryptedData: string;
  iv: string;
}

export interface UpdateUserInfoRequest {
  userId: string;
  avatarUrl?: string; // 新头像的 URL
  nickName?: string; // 新昵称
  imAcctNo?: string;
}

export interface UpdateUserInfoResponse {
  userId: string;
  avatarUrl?: string; // 新头像的 URL
  nickName?: string; // 新昵称
  imAcctNo?: string;
}

// 关注群接口请求参数
export interface FollowGroupRequest {
  userId: string;
  blGroupId: string; // 必选，要关注的群ID
}
