export interface SensorData {
  id: number;
  waterLevel: number;
  timestamp: Date;
  sensorID: number;
  sensor: Sensor;
}
export interface Sensor {
  gridPos: any;
  id: number;
  batteryPercentage: number;
  wharfID: number;
  wharf: Wharf;
  sensorDatas: SensorData[];
  defaultWaterLevelChanges?: DefaultWaterLevelChangesEntity[] | null;
  sensorPumps?: SensorPumpsEntity[] | null;
  sensorEnergyConsumptions?: SensorEnergyConsumptionsEntity[] | null;
}
export interface Wharf {
  id: number;
  name: string;
  address: string;
  startDate: string;
  endDate: string;
  flowRates?: FlowRatesEntity[] | null;
  logs?: LogsEntity[] | null;
  pumps?: PumpsEntityOrPump[] | null;
  sensors?: string[] | null;
  webUserWharves?: WebUserWharvesEntity[] | null;
}
export interface FlowRatesEntity {
  id: number;
  timestamp: string;
  value: number;
  wharfID: number;
  wharf: string;
}
export interface LogsEntity {
  id: number;
  description: string;
  wharfID: number;
  wharf: string;
}
export interface PumpsEntityOrPump {
  id: number;
  pumpModelID: number;
  position: string;
  wharfID: number;
  sensorPumps?: string[] | null;
  pumpEnergyConsumptions?: PumpEnergyConsumptionsEntity[] | null;
  pumpDatas?: PumpDatasEntity[] | null;
  wharf: string;
  pumpModel: PumpModel;
}
export interface PumpEnergyConsumptionsEntity {
  id: number;
  percentage: number;
  value: number;
  timestamp: string;
  isDefault: boolean;
  pumpID: number;
  pump: string;
}
export interface PumpDatasEntity {
  id: number;
  value: number;
  pumpID: number;
  timestamp: string;
  pump: string;
}
export interface PumpModel {
  id: number;
  model: string;
  pump?: string[] | null;
}
export interface WebUserWharvesEntity {
  id: number;
  wharfID: number;
  webUserID: number;
  webUser: WebUser;
  wharf: string;
}
export interface WebUser {
  id: number;
  name: string;
  email: string;
  password: string;
  isAdmin: boolean;
  isWharfManager: boolean;
  webUserWharves?: string[] | null;
}
export interface DefaultWaterLevelChangesEntity {
  id: number;
  percentage: number;
  waterLevelPerHour: number;
  timestamp: string;
  sensorID: number;
  sensor: string;
}
export interface SensorPumpsEntity {
  id: number;
  sensorID: number;
  pumpID: number;
  priority: number;
  sensor: string;
  pump: PumpsEntityOrPump;
}
export interface SensorEnergyConsumptionsEntity {
  id: number;
  value: number;
  timestamp: string;
  isDefault: boolean;
  sensorID: number;
  sensor: string;
}
