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

export interface NdmPermission extends BaseModel {
  /**
   * 员工ID
   */
  employeeId: string;
  /**
   * 服务器IP地址
   */
  ipAddress: string;
  /**
   * 站号
   */
  stationCode: Station['code'];
  /**
   * 站名
   */
  name: string;
  /**
   * 权限类型
   */
  type: PermissionType;
}

export type NdmPermissionResultVO = Nullable<NdmPermission>;

export type NdmPermissionSaveVO = Partial<Omit<NdmPermission, ReduceForSaveVO>>;

export type NdmPermissionUpdateVO = Optional<Omit<NdmPermission, ReduceForUpdateVO>>;

export type NdmPermissionPageQuery = Partial<Omit<NdmPermission, ReduceForPageQuery>>;
