/**
 * 登录日志相关类型定义
 */

/**
 * 登录状态
 * - 0: 失败
 * - 1: 成功
 */
export type LoginStatus = 0 | 1

export type LoginType = 1 | 2 | 3

/**
 * 登录状态文本映射
 */
export const LoginStatusText: Record<LoginStatus, string> = {
  0: '失败',
  1: '成功',
}

/**
 * 登录状态颜色映射（Ant Design Tag 颜色）
 */
export const LoginStatusColor: Record<LoginStatus, string> = {
  0: 'error',
  1: 'success',
}

export const LoginTypeText: Record<LoginType, string> = {
  1: '用户名/密码',
  2: '邮箱/密码',
  3: '手机/密码',
}

/**
 * 登录日志信息
 */
export interface LoginLog {
  id: number
  user_id?: number
  login_type: LoginType
  device_id: string
  ip: string
  location?: string
  status: LoginStatus
  fail_reason?: string
  created_at: string
}

/**
 * 登录日志列表查询参数
 */
export interface LoginLogListParams {
  page?: number
  page_size?: number
  user_id?: number
  status?: LoginStatus
  start_at?: string
  end_at?: string
}

/**
 * 登录日志列表响应
 */
export interface LoginLogListResponse {
  items: LoginLog[]
  total: number
  page: number
  page_size: number
}
