Files
litmus-be/litmus-db/src/main/java/com/navi/medici/entity/ExperimentEntity.java
2023-02-16 17:31:19 +05:30

103 lines
2.1 KiB
Java

package com.navi.medici.entity;
import com.navi.medici.enums.ExperimentType;
import java.time.LocalDateTime;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Version;
import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.experimental.FieldDefaults;
import org.hibernate.annotations.CreationTimestamp;
import org.hibernate.annotations.UpdateTimestamp;
@Entity
@Table(name = "experiments")
@Getter
@Setter
@Builder
@NoArgsConstructor
@AllArgsConstructor
@FieldDefaults(level = AccessLevel.PRIVATE)
public class ExperimentEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
Long id;
@Column(name = "experiment_id")
String experimentId;
@Column(name = "name")
String name;
@Column(name = "enabled")
Boolean enabled;
@Column(name = "description")
String description;
@Column(name = "archived")
Boolean archived;
@Column(name = "strategies")
String strategies;
@Column(name = "variants")
String variants;
@Column(name = "experiment_type")
@Enumerated(EnumType.STRING)
ExperimentType type;
@Column(name = "start_time")
LocalDateTime startTime;
@Column(name = "end_time")
LocalDateTime endTime;
@Column(name = "vertical")
String vertical;
@Version
private Integer version;
@Column(name = "created_at")
@CreationTimestamp
LocalDateTime createdAt;
@Column(name = "updated_at")
@UpdateTimestamp
LocalDateTime updatedAt;
String primaryMetric;
String secondaryMetric;
String experimentOwner;
Long sampleSizeRequired;
Double baselineConversion;
Double minimumDetectableEffect;
Double confidenceInterval;
Long testUsers;
String experimentStatus;
String experimentImpact;
}