/** 操作日志类型 */
export type OperationLogInfo = {
  /** 操作ID */
  id: string;
  /** 操作名称 */
  operation_name: string;
  /** 操作类型 */
  operation_type: number;
  /** 请求路径 */
  request_path: string;
  /** 请求方法 */
  request_method: string;
  /** 请求参数 */
  request_params: string;
  /** 响应结果 */
  response_result: string;
  /** 主机 */
  host: string;
  /** 位置 */
  location: string;
  /** 浏览器 */
  browser: string;
  /** 操作系统 */
  os: string;
  /** 用户代理 */
  user_agent: string;
  /** 操作员ID */
  operator_id: string;
  /** 操作员名称 */
  operator_name: string;
  /** 操作员昵称 */
  operator_nickname: string;
  /** 部门ID */
  department_id: string;
  /** 部门名称 */
  department_name: string;
  /** 操作状态 */
  status: number;
  /** 操作时间 */
  operation_time: string;
  /** 操作消耗时间 */
  cost_time: number;
};

/** 用户登录信息类型 */
export type UserLoginLogInfo = {
  /** 登录记录ID */
  id: string;
  /** 用户ID */
  user_id: string;
  /** 用户名 */
  username: string;
  /** 用户昵称 */
  user_nickname: string;
  /** 部门ID */
  department_id: string;
  /** 部门名称 */
  department_name: string;
  /** 登录IP地址 */
  login_ip: string;
  /** 登录位置 */
  login_location: string;
  /** 浏览器 */
  browser: string;
  /** 操作系统 */
  os: string;
  /** 状态 */
  status: number;
  /** 登录时间 */
  login_time: string;
  /** 会话ID */
  session_id: string;
  /**在线状态 */
  online: boolean;
  /** 创建时间 */
  create_time: string;
  /** 修改时间 */
  update_time: string;
};

/** CPU 信息类型 */
export type CpuInfo = {
  /** CPU 核心数 */
  cpuNum: number;
  /** CPU 使用率 */
  used: number;
  /** 系统使用率 */
  sys: number;
  /** CPU 空闲率 */
  free: number;
};

/** Python 进程信息类型 */
export type PythonInfo = {
  /** 总内存 */
  total: string;
  /** 已用内存 */
  used: string;
  /** 空闲内存 */
  free: string;
  /** 内存使用率 */
  usage: number;
  /** 进程名称 */
  name: string;
  /** Python 版本 */
  version: string;
  /** 启动时间 */
  startTime: string;
  /** 运行时间 */
  runTime: string;
  /** Python 可执行文件路径 */
  home: string;
};

/** 内存信息类型 */
export type MemoryInfo = {
  /** 总内存 */
  total: string;
  /** 已用内存 */
  used: string;
  /** 空闲内存 */
  free: string;
  /** 内存使用率 */
  usage: number;
};

/** 系统信息类型 */
export type SystemInfo = {
  /** 计算机 IP 地址 */
  computerIp: string;
  /** 计算机名称 */
  computerName: string;
  /** 操作系统架构 */
  osArch: string;
  /** 操作系统名称 */
  osName: string;
  /** 用户目录 */
  userDir: string;
};

/** 系统文件信息类型 */
export type SystemFileInfo = {
  /** 目录名称 */
  dirName: string;
  /** 文件系统类型 */
  sysTypeName: string;
  /** 磁盘类型名称 */
  typeName: string;
  /** 总空间 */
  total: string;
  /** 已用空间 */
  used: string;
  /** 空闲空间 */
  free: string;
  /** 空间使用率 */
  usage: string;
};

/** 系统监控信息类型 */
export type SystemMonitorInfo = {
  /** CPU 信息 */
  cpu: CpuInfo;
  /** Python 进程信息 */
  python: PythonInfo;
  /** 内存信息 */
  memory: MemoryInfo;
  /** 系统信息 */
  system: SystemInfo;
  /** 系统文件信息列表 */
  systemFiles: SystemFileInfo[];
};

/** 命令统计信息类型 */
export type CommandStat = {
  /** 命令名称 */
  name: string;
  /** 命令调用次数 */
  value: string;
};

/** Redis 数据库信息类型 */
export type RedisDbInfo = {
  /** 键数量 */
  keys: number;
  /** 过期键数量 */
  expires: number;
  /** 平均 TTL（生存时间） */
  avg_ttl: number;
};

/** Redis 信息类型 */
export type RedisInfo = {
  /** Redis 版本 */
  redis_version: string;
  /** Git SHA1 */
  redis_git_sha1: string;
  /** Git 脏标记 */
  redis_git_dirty: number;
  /** 构建 ID */
  redis_build_id: string;
  /** 运行模式 */
  redis_mode: string;
  /** 操作系统 */
  os: string;
  /** 架构位数 */
  arch_bits: number;
  /** 多路复用 API */
  multiplexing_api: string;
  /** 原子变量 API */
  atomicvar_api: string;
  /** 进程 ID */
  process_id: number;
  /** 运行 ID */
  run_id: string;
  /** TCP 端口 */
  tcp_port: number;
  /** 运行时间（秒） */
  uptime_in_seconds: number;
  /** 运行时间（天） */
  uptime_in_days: number;
  /** 频率 */
  hz: number;
  /** 配置频率 */
  configured_hz: number;
  /** LRU 时钟 */
  lru_clock: number;
  /** 可执行文件路径 */
  executable: string;
  /** 配置文件路径 */
  config_file: string;
  /** 已连接客户端数量 */
  connected_clients: number;
  /** 客户端最大输入缓冲区 */
  client_recent_max_input_buffer: number;
  /** 客户端最大输出缓冲区 */
  client_recent_max_output_buffer: number;
  /** 阻塞客户端数量 */
  blocked_clients: number;
  /** 已用内存 */
  used_memory: number;
  /** 已用内存（人类可读格式） */
  used_memory_human: string;
  /** 已用内存 RSS */
  used_memory_rss: number;
  /** 已用内存 RSS（人类可读格式） */
  used_memory_rss_human: string;
  /** 内存使用峰值 */
  used_memory_peak: number;
  /** 内存使用峰值（人类可读格式） */
  used_memory_peak_human: string;
  /** 内存使用峰值百分比 */
  used_memory_peak_perc: string;
  /** 内存开销 */
  used_memory_overhead: number;
  /** 启动时内存使用 */
  used_memory_startup: number;
  /** 数据集内存使用 */
  used_memory_dataset: number;
  /** 数据集内存使用百分比 */
  used_memory_dataset_perc: string;
  /** 分配器已分配内存 */
  allocator_allocated: number;
  /** 分配器活跃内存 */
  allocator_active: number;
  /** 分配器常驻内存 */
  allocator_resident: number;
  /** 系统总内存 */
  total_system_memory: number;
  /** 系统总内存（人类可读格式） */
  total_system_memory_human: string;
  /** Lua 引擎内存使用 */
  used_memory_lua: number;
  /** Lua 引擎内存使用（人类可读格式） */
  used_memory_lua_human: string;
  /** 脚本内存使用 */
  used_memory_scripts: number;
  /** 脚本内存使用（人类可读格式） */
  used_memory_scripts_human: string;
  /** 缓存脚本数量 */
  number_of_cached_scripts: number;
  /** 最大内存限制 */
  maxmemory: number;
  /** 最大内存限制（人类可读格式） */
  maxmemory_human: string;
  /** 内存淘汰策略 */
  maxmemory_policy: string;
  /** 分配器碎片比率 */
  allocator_frag_ratio: number;
  /** 分配器碎片字节数 */
  allocator_frag_bytes: number;
  /** 分配器 RSS 比率 */
  allocator_rss_ratio: number;
  /** 分配器 RSS 字节数 */
  allocator_rss_bytes: number;
  /** RSS 开销比率 */
  rss_overhead_ratio: number;
  /** RSS 开销字节数 */
  rss_overhead_bytes: number;
  /** 内存碎片比率 */
  mem_fragmentation_ratio: number;
  /** 内存碎片字节数 */
  mem_fragmentation_bytes: number;
  /** 未计入淘汰的内存 */
  mem_not_counted_for_evict: number;
  /** 复制积压内存 */
  mem_replication_backlog: number;
  /** 从节点客户端内存 */
  mem_clients_slaves: number;
  /** 普通客户端内存 */
  mem_clients_normal: number;
  /** AOF 缓冲区内存 */
  mem_aof_buffer: number;
  /** 内存分配器 */
  mem_allocator: string;
  /** 活跃碎片整理是否运行 */
  active_defrag_running: number;
  /** 延迟释放对象数量 */
  lazyfree_pending_objects: number;
  /** 是否正在加载 */
  loading: number;
  /** 上次保存后的更改次数 */
  rdb_changes_since_last_save: number;
  /** 是否正在进行 RDB 保存 */
  rdb_bgsave_in_progress: number;
  /** 上次 RDB 保存时间 */
  rdb_last_save_time: number;
  /** 上次 RDB 保存状态 */
  rdb_last_bgsave_status: string;
  /** 上次 RDB 保存耗时（秒） */
  rdb_last_bgsave_time_sec: number;
  /** 当前 RDB 保存耗时（秒） */
  rdb_current_bgsave_time_sec: number;
  /** 上次 RDB 保存的写时复制大小 */
  rdb_last_cow_size: number;
  /** AOF 是否启用 */
  aof_enabled: number;
  /** 是否正在进行 AOF 重写 */
  aof_rewrite_in_progress: number;
  /** 是否计划进行 AOF 重写 */
  aof_rewrite_scheduled: number;
  /** 上次 AOF 重写耗时（秒） */
  aof_last_rewrite_time_sec: number;
  /** 当前 AOF 重写耗时（秒） */
  aof_current_rewrite_time_sec: number;
  /** 上次 AOF 重写状态 */
  aof_last_bgrewrite_status: string;
  /** 上次 AOF 写入状态 */
  aof_last_write_status: string;
  /** 上次 AOF 写时复制大小 */
  aof_last_cow_size: number;
  /** 总连接数 */
  total_connections_received: number;
  /** 总命令处理数 */
  total_commands_processed: number;
  /** 每秒操作数 */
  instantaneous_ops_per_sec: number;
  /** 总网络输入字节数 */
  total_net_input_bytes: number;
  /** 总网络输出字节数 */
  total_net_output_bytes: number;
  /** 瞬时输入带宽（KB/s） */
  instantaneous_input_kbps: number;
  /** 瞬时输出带宽（KB/s） */
  instantaneous_output_kbps: number;
  /** 拒绝连接数 */
  rejected_connections: number;
  /** 完全同步次数 */
  sync_full: number;
  /** 部分同步成功次数 */
  sync_partial_ok: number;
  /** 部分同步失败次数 */
  sync_partial_err: number;
  /** 过期键数量 */
  expired_keys: number;
  /** 过期键百分比 */
  expired_stale_perc: number;
  /** 达到时间上限的过期键数量 */
  expired_time_cap_reached_count: number;
  /** 淘汰键数量 */
  evicted_keys: number;
  /** 键空间命中数 */
  keyspace_hits: number;
  /** 键空间未命中数 */
  keyspace_misses: number;
  /** 发布订阅频道数 */
  pubsub_channels: number;
  /** 发布订阅模式数 */
  pubsub_patterns: number;
  /** 上次 fork 耗时（微秒） */
  latest_fork_usec: number;
  /** 迁移缓存套接字数 */
  migrate_cached_sockets: number;
  /** 从节点跟踪的过期键数量 */
  slave_expires_tracked_keys: number;
  /** 活跃碎片整理命中数 */
  active_defrag_hits: number;
  /** 活跃碎片整理未命中数 */
  active_defrag_misses: number;
  /** 活跃碎片整理键命中数 */
  active_defrag_key_hits: number;
  /** 活跃碎片整理键未命中数 */
  active_defrag_key_misses: number;
  /** 角色（主/从） */
  role: string;
  /** 已连接从节点数量 */
  connected_slaves: number;
  /** 主节点复制 ID */
  master_replid: string;
  /** 主节点复制 ID2 */
  master_replid2: string;
  /** 主节点复制偏移量 */
  master_repl_offset: number;
  /** 第二复制偏移量 */
  second_repl_offset: number;
  /** 复制积压是否激活 */
  repl_backlog_active: number;
  /** 复制积压大小 */
  repl_backlog_size: number;
  /** 复制积压第一个字节偏移量 */
  repl_backlog_first_byte_offset: number;
  /** 复制积压历史长度 */
  repl_backlog_histlen: number;
  /** 系统 CPU 使用时间 */
  used_cpu_sys: number;
  /** 用户 CPU 使用时间 */
  used_cpu_user: number;
  /** 子进程系统 CPU 使用时间 */
  used_cpu_sys_children: number;
  /** 子进程用户 CPU 使用时间 */
  used_cpu_user_children: number;
  /** 是否启用集群 */
  cluster_enabled: number;
  /** 数据库信息 */
  db2: RedisDbInfo;
};

/** Redis 监控信息类型 */
export type RedisMonitorInfo = {
  /** 命令统计信息 */
  commandStats: CommandStat[];
  /** 数据库大小 */
  dbSize: number;
  /** Redis 详细信息 */
  info: RedisInfo;
};

/** 缓存项信息类型 */
export type CacheItem = {
  /** 缓存键 */
  cacheKey: string;
  /** 缓存名称 */
  cacheName: string;
  /** 缓存值 */
  cacheValue: string;
  /** 备注 */
  remark: string;
};

/** 缓存列表类型 */
export type CacheList = CacheItem[];
