Clear generete structur bpjsAll

This commit is contained in:
2025-09-07 11:04:37 +07:00
parent b438fd8dd4
commit 779bbc976c
16 changed files with 13084 additions and 4378 deletions

View File

@@ -5,12 +5,15 @@ import (
"api-service/internal/database"
authHandlers "api-service/internal/handlers/auth"
healthcheckHandlers "api-service/internal/handlers/healthcheck"
pesertaHandlers "api-service/internal/handlers/peserta"
retribusiHandlers "api-service/internal/handlers/retribusi"
rujukanHandlers "api-service/internal/handlers/rujukan"
"api-service/internal/middleware"
services "api-service/internal/services/auth"
"api-service/pkg/logger"
"github.com/gin-gonic/gin"
"github.com/go-playground/validator/v10"
swaggerFiles "github.com/swaggo/files"
ginSwagger "github.com/swaggo/gin-swagger"
)
@@ -42,7 +45,19 @@ func RegisterRoutes(cfg *config.Config) *gin.Engine {
sistem.GET("/health", healthCheckHandler.CheckHealth)
// Swagger UI route
router.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
router.GET("/swagger/*any", ginSwagger.WrapHandler(
swaggerFiles.Handler, // Models configuration
ginSwagger.DefaultModelsExpandDepth(-1), // Hide models completely
// ginSwagger.DefaultModelExpandDepth(0), // Keep individual models collapsed
// General UI configuration
// ginSwagger.DocExpansion("none"), // Collapse all sections
ginSwagger.DeepLinking(true), // Enable deep linking
// ginSwagger.PersistAuthorization(true), // Persist auth between refreshes
// // Optional: Custom title
// ginSwagger.InstanceName("API Service v1.0.0"),
))
// API v1 group
v1 := router.Group("/api/v1")
@@ -66,37 +81,39 @@ func RegisterRoutes(cfg *config.Config) *gin.Engine {
// ============= PUBLISHED ROUTES ===============================================
// // Rujukan routes
// rujukanHandler := rujukan.NewVClaimHandler(rujukan.VClaimHandlerConfig{
// BpjsConfig: cfg.Bpjs,
// Logger: *logger.Default(),
// Validator: nil,
// })
// rujukanGroup := v1.Group("/rujukan")
// rujukanGroup.GET("/nokartu/:nokartu", rujukanHandler.GetRujukanBynokartu)
// rujukanGroup.GET("/norujukan/:norujukan", rujukanHandler.GetRujukanBynorujukan)
// Participant eligibility information (peserta) routes
pesertaHandler := pesertaHandlers.NewPesertaHandler(pesertaHandlers.PesertaHandlerConfig{
BpjsConfig: cfg.Bpjs,
Logger: *logger.Default(),
Validator: validator.New(),
})
pesertaGroup := v1.Group("/peserta")
pesertaGroup.GET("/Peserta/nokartu/:nokartu", pesertaHandler.GetBynokartu)
pesertaGroup.GET("/Peserta/nik/:nik", pesertaHandler.GetBynik)
// // Peserta routes
// pesertaHandler := peserta.NewVClaimHandler(peserta.VClaimHandlerConfig{
// BpjsConfig: cfg.Bpjs,
// Logger: *logger.Default(),
// Validator: nil,
// })
// pesertaGroup := v1.Group("/peserta")
// pesertaGroup.GET("/nokartu/:nokartu/tglSEP/:tglsep", pesertaHandler.GetPesertaBynokartu)
// pesertaGroup.GET("/nik/:nik/tglSEP/:tglsep", pesertaHandler.GetPesertaBynik)
// Rujukan management endpoints (rujukan) routes
rujukanHandler := rujukanHandlers.NewRujukanHandler(rujukanHandlers.RujukanHandlerConfig{
BpjsConfig: cfg.Bpjs,
Logger: *logger.Default(),
Validator: validator.New(),
})
rujukanGroup := v1.Group("/rujukan")
rujukanGroup.POST("/Rujukan/:norujukan", rujukanHandler.CreateRujukan)
rujukanGroup.PUT("/Rujukan/:norujukan", rujukanHandler.UpdateRujukan)
rujukanGroup.DELETE("/Rujukan/:norujukan", rujukanHandler.DeleteRujukan)
rujukanGroup.POST("/Rujukanbalik/:norujukan", rujukanHandler.CreateRujukanbalik)
rujukanGroup.PUT("/Rujukanbalik/:norujukan", rujukanHandler.UpdateRujukanbalik)
rujukanGroup.DELETE("/Rujukanbalik/:norujukan", rujukanHandler.DeleteRujukanbalik)
// // Sep routes
// sepHandler := sep.NewVClaimHandler(sep.VClaimHandlerConfig{
// BpjsConfig: cfg.Bpjs,
// Logger: *logger.Default(),
// Validator: nil,
// })
// sepGroup := v1.Group("/sep")
// sepGroup.GET("/sep/:nosep", sepHandler.GetSepSep)
// sepGroup.POST("/sep", sepHandler.CreateSepSep)
// sepGroup.PUT("/sep/:nosep", sepHandler.UpdateSepSep)
// sepGroup.DELETE("/sep/:nosep", sepHandler.DeleteSepSep)
// Search for rujukan endpoints (search) routes
searchHandler := rujukanHandlers.NewSearchHandler(rujukanHandlers.SearchHandlerConfig{
BpjsConfig: cfg.Bpjs,
Logger: *logger.Default(),
Validator: validator.New(),
})
searchGroup := v1.Group("/search")
searchGroup.GET("/bynorujukan/:norujukan", searchHandler.GetBynorujukan)
searchGroup.GET("/bynokartu/:nokartu", searchHandler.GetBynokartu)
// // Retribusi endpoints
// retribusiHandler := retribusiHandlers.NewRetribusiHandler()