Files
api-bpjs-surkon/main.go
2024-09-18 08:26:29 +07:00

69 lines
1.6 KiB
Go

package main
import (
"bridging-rssa/database"
"bridging-rssa/ginHandlers"
"bridging-rssa/ginHandlers/bpjs"
"log"
"net/http"
_ "bridging-rssa/docs"
"github.com/gin-gonic/gin"
"github.com/joho/godotenv"
"github.com/rs/cors"
swaggerFiles "github.com/swaggo/files"
ginSwagger "github.com/swaggo/gin-swagger"
)
// @title Crud User
// @version 1
// @Description Rest API CRUD User
// @host localhost:8080
func main() {
err := godotenv.Load()
if err != nil {
log.Fatal("Error loading .env file")
}
database.ConnectDB()
r := gin.Default()
v1 := r.Group("/api")
user := v1.Group("/user")
{
user.GET("/", ginHandlers.GetAllUser)
user.GET("/:id", ginHandlers.GetUserId)
user.POST("/create", ginHandlers.CreateUser)
user.PUT("/update/:id", ginHandlers.UpdateUser)
user.DELETE("/delete/:id", ginHandlers.DeleteUser)
}
subspesialis := v1.Group("/subspesialis")
{
subspesialis.GET("/", bpjs.GetAllSubspesialis)
}
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))
err = r.Run()
if err != nil {
log.Fatal(err)
}
c := cors.New(cors.Options{
AllowedOrigins: []string{"*"},
AllowedMethods: []string{"GET", "POST", "PUT", "DELETE"},
AllowedHeaders: []string{"Content-Type"},
AllowCredentials: true,
})
handler := c.Handler(r)
log.Println("Server berjalan di port 8002")
log.Fatal(http.ListenAndServe(":8002", handler))
}