/**
 * @description 系统日志类型定义
 * @author yslg
 * @since 2025-10-30
 */

import { BaseDTO } from '../base';

/**
 * 登录日志
 */
export interface LoginLog extends BaseDTO {
  /** 用户名 */
  username?: string;
  /** 用户ID */
  userId?: string;
  /** 登录IP */
  ipAddress?: string;
  /** 登录地点 */
  location?: string;
  /** 浏览器 */
  browser?: string;
  /** 操作系统 */
  os?: string;
  /** 登录状态: success-成功, failed-失败 */
  status?: number;
  /** 登录信息 */
  message?: string;
  /** 登录时间 */
  loginTime?: string;
  /** 部门ID */
  deptId?: string;
  /** 部门名称 */
  deptName?: string;
  /** 开始时间 (查询条件) */
  startTime?: string;
  /** 结束时间 (查询条件) */
  endTime?: string;
}

/**
 * 操作日志
 */
export interface OperationLog extends BaseDTO {
  /** 操作人用户名 */
  username?: string;
  /** 操作人ID */
  userId?: string;
  /** 操作模块 */
  module?: string;
  /** 操作类型: create-新增, update-修改, delete-删除, read-查询 */
  operation?: 'create' | 'update' | 'delete' | 'read' | string;
  /** 操作描述 */
  description?: string;
  /** 请求方法 */
  method?: string;
  /** 请求路径 */
  requestUrl?: string;
  /** 请求参数 */
  requestParams?: string;
  /** 响应结果 */
  responseData?: string;
  /** IP地址 */
  ipAddress?: string;
  /** 操作地点 */
  location?: string;
  /** 操作耗时(毫秒) */
  duration?: number;
  /** 操作状态: success-成功, failed-失败 */
  status?: 'success' | 'failed' | string;
  /** 错误信息 */
  errorMessage?: string;
  /** 操作时间 */
  operationTime?: string;
  /** 部门ID */
  deptId?: string;
  /** 部门名称 */
  deptName?: string;
  /** 开始时间 (查询条件) */
  startTime?: string;
  /** 结束时间 (查询条件) */
  endTime?: string;
}

