temp commit

This commit is contained in:
akshat-sonic
2023-02-13 16:31:13 +05:30
parent 27d2f61482
commit 8fae68fa0e
8 changed files with 146 additions and 4 deletions

View File

@@ -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
}

View File

@@ -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;
}

View File

@@ -79,4 +79,9 @@ public class ExperimentEntity {
@UpdateTimestamp
LocalDateTime updatedAt;
@Column(name = "owner")
String experimentOwner;
}

View File

@@ -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;
}

View File

@@ -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> {
}

View File

@@ -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);

View File

@@ -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;
}
}

View File

@@ -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