import type { BaseModel, ReduceForSaveVO, ReduceForUpdateVO, ReduceForPageQuery } from '@/apis';
import type { Nullable } from '@/types';

export interface NdmVimpLog extends BaseModel {
  /**
   * 请求IP
   */
  requestIp: string;
  /**
   * 操作内容
   */
  description: string;
  /**
   * 类路径
   */
  classPath: string;
  /**
   * 函数名
   */
  methodName: string;
  /**
   * 起始时间
   */
  startTime: string;
  /**
   * 结束时间
   */
  endTime: string;
  /**
   * 消耗时间
   */
  consumedTime: string;
  /**
   * 操作参数
   */
  params: string;
  /**
   * 操作结果
   */
  result: string;
  /**
   * 请求类型
   */
  httpMethod: string;
  /**
   * 请求用户
   */
  userId: string;
  /**
   * 日志类型
   */
  logType: number;
  /**
   * 目标国标码
   */
  targetCode: string;
}

export type NdmVimpLogResultVO = Nullable<NdmVimpLog>;

export type NdmVimpLogSaveVO = Partial<Omit<NdmVimpLog, ReduceForSaveVO>>;

export type NdmVimpLogUpdateVO = Partial<Omit<NdmVimpLog, ReduceForUpdateVO>>;

export type NdmVimpLogPageQuery = Partial<Omit<NdmVimpLog, ReduceForPageQuery>>;
