// 管理员相关类型定义

export interface Admin {
  id: string
  account: string
  username: string
  email?: string
  phone?: string
  avatar?: string
  role: 'super_admin' | 'admin' | 'operator'
  permissions?: string
  status: number
  lastLoginTime?: string
  lastLoginIp?: string
  loginCount?: number
  department?: string
  position?: string
  createTime?: string
  updateTime?: string
}

export interface AdminLoginRequest {
  account: string
  password: string
}

export interface AdminAuthResponse {
  accessToken: string
  refreshToken: string
  expiresIn: number
  adminInfo: Admin
  loginTime: string
}

export interface AdminPageRequest {
  current: number
  size: number
  account?: string
  username?: string
  email?: string
  phone?: string
  role?: string
  status?: number
  department?: string
  keyword?: string
}

export interface AdminCreateRequest {
  account: string
  password: string
  username: string
  email?: string
  phone?: string
  avatar?: string
  role: string
  permissions?: string
  department?: string
  position?: string
}

export interface AdminUpdateRequest {
  id: string
  username?: string
  email?: string
  phone?: string
  avatar?: string
  role?: string
  permissions?: string
  status?: number
  department?: string
  position?: string
}
