Files

54 lines
1.5 KiB
Go

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