TP-55555/source-map-flow

This commit is contained in:
varnit-goyal_navi
2024-08-16 13:47:08 +05:30
parent 9380234b3c
commit c4de994f2e
10 changed files with 135 additions and 80 deletions

View File

@@ -16,6 +16,6 @@ func InitReleaseRepository(dbClient *gorm.DB) *gorm.DB {
}
func InitSourceMapRepository(dbClient *gorm.DB) *gorm.DB {
dbClient.AutoMigrate(&db.SourcMap{})
dbClient.AutoMigrate(&db.SourceMap{})
return dbClient
}

View File

@@ -42,8 +42,9 @@ type Handler struct {
}
type Repositories struct {
ProjectRepository *gorm.DB
ReleaseRepository *gorm.DB
ProjectRepository *gorm.DB
ReleaseRepository *gorm.DB
SourceMapRepository *gorm.DB
}
func InitDependencies() *Dependencies {
@@ -56,7 +57,7 @@ func InitDependencies() *Dependencies {
documentServiceClient := document.NewDocumentServiceHttpClient(httpClient, logger, configs.GetDocumentServiceHttpClientConfigs())
projectServiceClient := service.NewProjectCreator(logger, dbClient, s3Client, kafkaProducer)
sourceMapServiceClient := service.NewSourceMapService(dbClient)
sourceMapServiceClient := service.NewSourceMapService(dbClient, s3Client, configs.GetAWSConfig())
releaseServiceClient := service.NewReleaseService(logger, dbClient)
exceptionServiceClient := service.NewExceptionService(logger, dbClient, kafkaProducer)
@@ -83,8 +84,9 @@ func initServices(documentService *document.HttpClient, projectService *service.
func initRepositories(dbClient *gorm.DB) *Repositories {
return &Repositories{
ProjectRepository: database.InitProjectRepository(dbClient),
ReleaseRepository: database.InitReleaseRepository(dbClient),
ProjectRepository: database.InitProjectRepository(dbClient),
ReleaseRepository: database.InitReleaseRepository(dbClient),
SourceMapRepository: database.InitSourceMapRepository(dbClient),
}
}

View File

@@ -2,8 +2,6 @@ package handler
import (
"cybertron/service"
"net/http"
"github.com/gin-gonic/gin"
)
@@ -17,11 +15,14 @@ func NewSourceMapHandler(sourceMapService *service.SourceMapService) *SourceMapH
}
}
func (h *SourceMapHandler) GetSourceMap(c *gin.Context) {
sourceMap := h.sourceMapService.GetSourceMap()
c.JSON(http.StatusOK, sourceMap)
func (h *SourceMapHandler) GetSourceMapUploadUrl(c *gin.Context) {
h.sourceMapService.GetSourceMapUploadUrl(c)
}
func (h *SourceMapHandler) StoreSourceMap(c *gin.Context) {
h.sourceMapService.StoreSourceMap(c)
func (h *SourceMapHandler) SourceMapUploadAck(c *gin.Context) {
h.sourceMapService.SourceMapUploadAck(c)
}
func (h *SourceMapHandler) ValidateSourceMap(c *gin.Context) {
h.sourceMapService.ValidateSourceMap(c)
}

View File

@@ -1,16 +1,15 @@
package router
import (
"cybertron/internal/dependencies"
"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)
func SourceMapRouter(r *gin.Engine, dep *dependencies.Dependencies) {
sourceMapHandler := handler.NewSourceMapHandler(dep.Service.SourceMapService)
sourceMapGroup := r.Group("/api/v1")
sourceMapGroup.GET("/get-sourcemap-upload-url", sourceMapHandler.GetSourceMapUploadUrl)
sourceMapGroup.POST("/source-map-upload-ack", sourceMapHandler.SourceMapUploadAck)
sourceMapGroup.POST("/validate-source-map", sourceMapHandler.ValidateSourceMap)
}

View File

@@ -31,7 +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.SourceMapRouter(s.gin, s.dependencies)
router.ReleasesRouter(s.gin, s.dependencies)
router.ExceptionRouter(s.gin, s.dependencies)
}