package io.netfoundry.reporting.domain;

import java.util.UUID;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.netfoundry.reporting.util.AggregateField;
import io.netfoundry.reporting.util.MatchPhrase;
import io.netfoundry.reporting.util.ReportingTemplate;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

@Data
public class ReportingRequest {
  private String endpointName;
  private String serviceName;
  private String hostName;
  private String matchPhraseNameValue;
  private UUID networkId;
  private UUID endpointId;
  private UUID serviceId;
  private String gte;
  private String lte;
  private String size;
  private String interval;
  private String calenderInterval;
  private String aggTermSize;
  private String timeZone;
  // use it for internal calls
  @JsonIgnore
  private UUID organizationId;
  @NotNull
  private ReportingTemplate template;
  private AggregateField aggregatorField;
  private MatchPhrase matchPhrase;


}
