Files
api-antrian-operasi/internal/routes/routes.go
T
2026-02-05 10:16:31 +07:00

57 lines
1.6 KiB
Go

package routes
import (
"antrian-operasi/internal/config"
"antrian-operasi/internal/database"
antrianoperasi "antrian-operasi/internal/domain/antrian_operasi"
"antrian-operasi/internal/domain/dashboard"
"antrian-operasi/internal/domain/reference/diagnosa"
"antrian-operasi/internal/domain/reference/dokter"
"antrian-operasi/internal/domain/reference/kategori"
"antrian-operasi/internal/domain/reference/pasien"
"antrian-operasi/internal/domain/reference/spesialis"
"antrian-operasi/internal/domain/reference/tindakan"
"antrian-operasi/internal/middleware"
"net/http"
"github.com/gin-gonic/gin"
swaggerFiles "github.com/swaggo/files"
ginSwagger "github.com/swaggo/gin-swagger"
)
func RegisterRoutes(cfg *config.Config, dbService database.Service) *gin.Engine {
gin.SetMode(cfg.Server.Mode)
router := gin.New()
router.GET("/ping", func(c *gin.Context) {
c.JSON(http.StatusOK, gin.H{
"message": "pong",
})
})
router.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
// init middleware
router.Use(middleware.SecureCORSConfig(cfg.Security))
api := router.Group("/api")
{
antrianoperasi.RegisterRoutes(api, dbService)
}
reference := api.Group("/reference")
{
kategori.RegisterRoutes(reference, dbService)
spesialis.RegisterRoutes(reference, dbService)
dokter.RegisterRoutes(reference, dbService)
pasien.RegisterRoutes(reference, dbService)
diagnosa.RegisterRoutes(reference, dbService)
tindakan.RegisterRoutes(reference, dbService)
}
dboard := api.Group("dashboard")
{
dashboard.RegisterRoutes(dboard, dbService)
}
return router
}