package server import ( "github.com/gin-contrib/cors" "github.com/gin-gonic/gin" swaggerFiles "github.com/swaggo/files" ginSwagger "github.com/swaggo/gin-swagger" "mongotest/pkg/handlers/master_data" "mongotest/pkg/handlers/mongo" "mongotest/pkg/handlers/user" "net/http" ) func (s *Server) RegisterRoutes() http.Handler { r := gin.Default() r.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler)) r.POST("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler)) r.PUT("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler)) r.DELETE("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler)) r.GET("/", s.HelloWorldHandler) api := r.Group("/api") local := api.Group("/local") { local.GET("/getdatalog", mongo.GetDataLog) local.GET("/getalluser", user.GetAllUser) local.GET("/getuser/:id", user.GetUserByID) local.POST("/insertuser", user.InsertUser) local.PUT("/updateuser", user.UpdateUser) local.DELETE("/deleteuser", user.DeleteUser) } master := api.Group("/master") { master.POST("/createdocument", master_data.InsertDataMaster) } r.Use(cors.New(cors.Config{ AllowOrigins: []string{"*"}, // or specific domains like "http://example.com" AllowMethods: []string{"GET", "POST", "PUT", "DELETE"}, AllowHeaders: []string{"Origin", "Content-Type"}, AllowCredentials: true, })) return r } func (s *Server) HelloWorldHandler(c *gin.Context) { resp := make(map[string]string) resp["message"] = "Hello World" c.JSON(http.StatusOK, resp) }