Merge branch 'master' of github.com:navi-ppl/cybertron into TP-55555/error-log-consumer

This commit is contained in:
varnit-goyal_navi
2024-08-16 06:26:43 +05:30
9 changed files with 119 additions and 24 deletions

View File

@@ -14,3 +14,8 @@ func InitReleaseRepository(dbClient *gorm.DB) *gorm.DB {
dbClient.AutoMigrate(&db.Release{})
return dbClient
}
func InitSourceMapRepository(dbClient *gorm.DB) *gorm.DB {
dbClient.AutoMigrate(&db.SourcMap{})
return dbClient
}

View File

@@ -11,6 +11,7 @@ import (
"cybertron/pkg/kafka/producer"
"cybertron/pkg/log"
"cybertron/service"
"go.uber.org/zap"
"gorm.io/gorm"
)
@@ -26,14 +27,16 @@ type Dependencies struct {
type Service struct {
DocumentService *document.HttpClient
ProjectService *service.ProjectCreator
SourceMapService *service.SourceMapService
ReleaseService *service.ReleaseService
ExceptionService *service.ExceptionService
S3Client *aws.Actions
S3Client *aws.Actions
// Add your service here
}
type Handler struct {
ProjectHandler *handler.ProjectHandler
SourceMapHandler *handler.SourceMapHandler
ReleaseHandler *handler.ReleasesHandler
ExceptionHandler *handler.ExceptionHandler
}
@@ -53,11 +56,12 @@ func InitDependencies() *Dependencies {
documentServiceClient := document.NewDocumentServiceHttpClient(httpClient, logger, configs.GetDocumentServiceHttpClientConfigs())
projectServiceClient := service.NewProjectCreator(logger, dbClient, s3Client, kafkaProducer)
sourceMapServiceClient := service.NewSourceMapService(dbClient)
releaseServiceClient := service.NewReleaseService(logger, dbClient)
exceptionServiceClient := service.NewExceptionService(logger, dbClient, kafkaProducer)
services := initServices(documentServiceClient, projectServiceClient, releaseServiceClient, exceptionServiceClient)
handlers := initHandlers(projectServiceClient, releaseServiceClient, exceptionServiceClient)
services := initServices(documentServiceClient, projectServiceClient, sourceMapServiceClient, releaseServiceClient, exceptionServiceClient)
handlers := initHandlers(projectServiceClient, sourceMapServiceClient, releaseServiceClient, exceptionServiceClient)
return &Dependencies{
Service: services,
DBClient: dbClient,
@@ -67,10 +71,11 @@ func InitDependencies() *Dependencies {
}
}
func initServices(documentService *document.HttpClient, projectService *service.ProjectCreator, releaseService *service.ReleaseService, exceptionService *service.ExceptionService) *Service {
func initServices(documentService *document.HttpClient, projectService *service.ProjectCreator, sourceMapService *service.SourceMapService, releaseService *service.ReleaseService, exceptionService *service.ExceptionService) *Service {
return &Service{
DocumentService: documentService,
ProjectService: projectService,
SourceMapService: sourceMapService,
ReleaseService: releaseService,
ExceptionService: exceptionService,
}
@@ -83,12 +88,14 @@ func initRepositories(dbClient *gorm.DB) *Repositories {
}
}
func initHandlers(projectService *service.ProjectCreator, releaseService *service.ReleaseService, exceotionService *service.ExceptionService) *Handler {
func initHandlers(projectService *service.ProjectCreator, sourceMapService *service.SourceMapService, releaseService *service.ReleaseService, exceotionService *service.ExceptionService) *Handler {
projectHandler := handler.NewProjectHandler(projectService)
sourceMapHandler := handler.NewSourceMapHandler(sourceMapService)
releaseHandler := handler.NewReleaseHandler(releaseService)
exceptionHandler := handler.NewExceptionHandler(exceotionService)
return &Handler{
ProjectHandler: projectHandler,
SourceMapHandler: sourceMapHandler,
ReleaseHandler: releaseHandler,
ExceptionHandler: exceptionHandler,
}

View File

@@ -0,0 +1,27 @@
package handler
import (
"cybertron/service"
"net/http"
"github.com/gin-gonic/gin"
)
type SourceMapHandler struct {
sourceMapService *service.SourceMapService
}
func NewSourceMapHandler(sourceMapService *service.SourceMapService) *SourceMapHandler {
return &SourceMapHandler{
sourceMapService: sourceMapService,
}
}
func (h *SourceMapHandler) GetSourceMap(c *gin.Context) {
sourceMap := h.sourceMapService.GetSourceMap()
c.JSON(http.StatusOK, sourceMap)
}
func (h *SourceMapHandler) StoreSourceMap(c *gin.Context) {
h.sourceMapService.StoreSourceMap(c)
}

View File

@@ -0,0 +1,16 @@
package router
import (
"cybertron/internal/transport/handler"
"cybertron/service"
"github.com/gin-gonic/gin"
"gorm.io/gorm"
)
func SourceMapRouter(r *gin.Engine, dbClient *gorm.DB) {
sourceMapService := service.NewSourceMapService(dbClient)
sourceMapHandler := handler.NewSourceMapHandler(sourceMapService)
r.GET("/uploadsourcemap", sourceMapHandler.GetSourceMap)
r.POST("/storesourcemap", sourceMapHandler.StoreSourceMap)
}

View File

@@ -31,6 +31,7 @@ func NewServer(dep *dependencies.Dependencies) *Server {
func (s *Server) router() {
router.ReadinessRouter(s.gin)
router.ProjectRouter(s.gin, s.dependencies)
router.SourceMapRouter(s.gin, s.dependencies.DBClient)
router.ReleasesRouter(s.gin, s.dependencies)
router.ExceptionRouter(s.gin, s.dependencies)
}