temp commit
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
package com.navi.medici.controller.v1;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.log4j.Log4j2;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/v1/metrics")
|
||||
@Log4j2
|
||||
@RequiredArgsConstructor
|
||||
public class MetricController {
|
||||
|
||||
@PostMapping
|
||||
public MetricResponse
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
package com.navi.medici.entity;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
import org.hibernate.annotations.CreationTimestamp;
|
||||
import org.hibernate.annotations.UpdateTimestamp;
|
||||
|
||||
import javax.persistence.Column;
|
||||
import javax.persistence.GeneratedValue;
|
||||
import javax.persistence.GenerationType;
|
||||
import javax.persistence.Id;
|
||||
import javax.persistence.MappedSuperclass;
|
||||
import javax.persistence.Version;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@MappedSuperclass
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@SuperBuilder
|
||||
public abstract class BaseEntity {
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
@Column(updatable = false, nullable = false)
|
||||
private Long id;
|
||||
|
||||
@CreationTimestamp
|
||||
@JsonIgnore
|
||||
@Column(updatable = false)
|
||||
private LocalDateTime createdAt;
|
||||
|
||||
@UpdateTimestamp
|
||||
@JsonIgnore
|
||||
private LocalDateTime updatedAt;
|
||||
|
||||
@Version
|
||||
private int version;
|
||||
}
|
||||
@@ -79,4 +79,9 @@ public class ExperimentEntity {
|
||||
@UpdateTimestamp
|
||||
LocalDateTime updatedAt;
|
||||
|
||||
@Column(name = "owner")
|
||||
String experimentOwner;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
package com.navi.medici.entity;
|
||||
|
||||
import com.navi.medici.enums.MetricType;
|
||||
import lombok.AccessLevel;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
import lombok.experimental.FieldDefaults;
|
||||
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.EnumType;
|
||||
import javax.persistence.Enumerated;
|
||||
import javax.persistence.Table;
|
||||
|
||||
@Entity
|
||||
@Table(name = "metrics")
|
||||
@Getter
|
||||
@Setter
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@FieldDefaults(level = AccessLevel.PRIVATE)
|
||||
public class MetricEntity extends BaseEntity{
|
||||
|
||||
String metricName;
|
||||
|
||||
String metricId;
|
||||
|
||||
@Enumerated(EnumType.STRING)
|
||||
MetricType metricType;
|
||||
String metricOwner;
|
||||
String athenaQuery;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
package com.navi.medici.repository;
|
||||
|
||||
import com.navi.medici.entity.MetricEntity;
|
||||
import org.springframework.data.repository.CrudRepository;
|
||||
|
||||
public interface MetricRepository extends CrudRepository<MetricEntity, Long> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
--liquibase formatted sql
|
||||
|
||||
--changeset author:akshatsonic id:202302131535
|
||||
CREATE TABLE metrics (
|
||||
id SERIAL PRIMARY KEY,
|
||||
metric_id varchar(36) NOT NULL,
|
||||
metric_name varchar(100) NOT NULL,
|
||||
metric_type varchar(100) NOT NULL,
|
||||
metric_owner varchar(100) NOT NULL,
|
||||
athena_query text NOT NULL,
|
||||
version BIGINT,
|
||||
created_at timestamp,
|
||||
updated_at timestamp
|
||||
);
|
||||
|
||||
|
||||
CREATE INDEX idx_metric_id ON metrics(metric_id);
|
||||
CREATE INDEX idx_metric_name ON metrics(metric_name);
|
||||
@@ -0,0 +1,12 @@
|
||||
package com.navi.medici.enums;
|
||||
|
||||
public enum MetricType {
|
||||
BUSINESS("Business"),
|
||||
TECH("Tech");
|
||||
|
||||
private String value;
|
||||
|
||||
MetricType(String value) {
|
||||
this.value = value;
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,10 @@
|
||||
DATASOURCE_URL=jdbc:postgresql://dev-db-service-db.np.navi-tech.in:5432/litmus
|
||||
DATASOURCE_USERNAME=service_user
|
||||
DATASOURCE_PASSWORD=JRCFCMXUXBJHGZVTPBNTXHYCCFVMWN
|
||||
REDIS_HOST=dev-env-redis.twod4l.0001.aps1.cache.amazonaws.com
|
||||
#DATASOURCE_URL=jdbc:postgresql://dev-db-service-db.np.navi-tech.in:5432/litmus
|
||||
#DATASOURCE_USERNAME=service_user
|
||||
#DATASOURCE_PASSWORD=JRCFCMXUXBJHGZVTPBNTXHYCCFVMWN
|
||||
DATASOURCE_URL=jdbc:postgresql://localhost:5432/litmus
|
||||
DATASOURCE_USERNAME=postgres
|
||||
DATASOURCE_PASSWORD=
|
||||
#REDIS_HOST=dev-env-redis.twod4l.0001.aps1.cache.amazonaws.com
|
||||
REDIS_HOST=localhost
|
||||
SEGMENT_S3_BUCKET=
|
||||
DEFAULT_POLLING_TIME_SECONDS=300
|
||||
Reference in New Issue
Block a user