first commit
This commit is contained in:
No files matched your search
@@ -1,19 +1,22 @@
|
||||
package v1
|
||||
|
||||
import (
|
||||
AplicareHandler "api-service/internal/aplicare"
|
||||
"api-service/internal/config"
|
||||
"api-service/internal/database"
|
||||
"api-service/internal/handlers/antreanbpjs"
|
||||
authHandlers "api-service/internal/handlers/auth"
|
||||
healthcheckHandlers "api-service/internal/handlers/healthcheck"
|
||||
pesertaHandlers "api-service/internal/handlers/peserta"
|
||||
retribusiHandlers "api-service/internal/handlers/retribusi"
|
||||
"api-service/internal/middleware"
|
||||
services "api-service/internal/services/auth"
|
||||
"api-service/pkg/logger"
|
||||
"context"
|
||||
"os"
|
||||
"os/signal"
|
||||
"syscall"
|
||||
"time"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/go-playground/validator/v10"
|
||||
swaggerFiles "github.com/swaggo/files"
|
||||
ginSwagger "github.com/swaggo/gin-swagger"
|
||||
)
|
||||
@@ -111,37 +114,35 @@ func RegisterRoutes(cfg *config.Config) *gin.Engine {
|
||||
// PUBLISHED ROUTES
|
||||
// =============================================================================
|
||||
|
||||
// Participant eligibility information (peserta) routes
|
||||
pesertaHandler := pesertaHandlers.NewPesertaHandler(pesertaHandlers.PesertaHandlerConfig{
|
||||
// Retribusi endpoints with WebSocket notifications
|
||||
|
||||
antreanbpjsHandler := antreanbpjs.NewVClaimHandler(antreanbpjs.VClaimHandlerConfig{
|
||||
Config: cfg,
|
||||
Logger: *logger.Default(),
|
||||
Validator: validator.New(),
|
||||
Validator: nil,
|
||||
})
|
||||
pesertaGroup := v1.Group("/peserta")
|
||||
pesertaGroup.GET("/nokartu/:nokartu", pesertaHandler.GetBynokartu)
|
||||
pesertaGroup.GET("/nik/:nik", pesertaHandler.GetBynik)
|
||||
antreanbpjsGroup := v1.Group("/poli")
|
||||
antreanbpjsGroup.GET("/ketersediaan", antreanbpjsHandler.GetPoli)
|
||||
antreanbpjsGroup.GET("/apapun", antreanbpjsHandler.Gethealth)
|
||||
|
||||
// Retribusi endpoints with WebSocket notifications
|
||||
retribusiHandler := retribusiHandlers.NewRetribusiHandler()
|
||||
retribusiGroup := v1.Group("/retribusi")
|
||||
aplicaresHandler := AplicareHandler.NewAplicaresHandler(AplicareHandler.AplicaresHandlerConfig{
|
||||
Config: cfg,
|
||||
Logger: *logger.Default(),
|
||||
Validator: nil,
|
||||
})
|
||||
|
||||
// Start background scheduler — berhenti otomatis saat app shutdown
|
||||
ctx, _ := signal.NotifyContext(context.Background(), os.Interrupt, syscall.SIGTERM)
|
||||
aplicaresHandler.StartScheduler(ctx)
|
||||
|
||||
ag := v1.Group("/aplicares")
|
||||
{
|
||||
retribusiGroup.GET("", retribusiHandler.GetRetribusi)
|
||||
retribusiGroup.GET("/dynamic", retribusiHandler.GetRetribusiDynamic)
|
||||
retribusiGroup.GET("/search", retribusiHandler.SearchRetribusiAdvanced)
|
||||
retribusiGroup.GET("/id/:id", retribusiHandler.GetRetribusiByID)
|
||||
|
||||
// POST/PUT/DELETE with automatic WebSocket notifications
|
||||
retribusiGroup.POST("", func(c *gin.Context) {
|
||||
retribusiHandler.CreateRetribusi(c)
|
||||
})
|
||||
|
||||
retribusiGroup.PUT("/id/:id", func(c *gin.Context) {
|
||||
retribusiHandler.UpdateRetribusi(c)
|
||||
})
|
||||
|
||||
retribusiGroup.DELETE("/id/:id", func(c *gin.Context) {
|
||||
retribusiHandler.DeleteRetribusi(c)
|
||||
})
|
||||
ag.GET("/beds", aplicaresHandler.GetBeds)
|
||||
ag.GET("/state", aplicaresHandler.GetState)
|
||||
ag.POST("/sync", aplicaresHandler.TriggerSync)
|
||||
ag.GET("/check-bpjs", aplicaresHandler.CheckBPJS)
|
||||
ag.GET("/ref/kelas", aplicaresHandler.GetRefKelas)
|
||||
ag.GET("/logs", aplicaresHandler.GetSyncLogs)
|
||||
}
|
||||
|
||||
// =============================================================================
|
||||
@@ -151,23 +152,6 @@ func RegisterRoutes(cfg *config.Config) *gin.Engine {
|
||||
protected := v1.Group("/")
|
||||
protected.Use(middleware.ConfigurableAuthMiddleware(cfg))
|
||||
// Protected retribusi endpoints (Authentication Required)
|
||||
protectedRetribusiGroup := protected.Group("/retribusi")
|
||||
{
|
||||
protectedRetribusiGroup.GET("", retribusiHandler.GetRetribusi)
|
||||
protectedRetribusiGroup.GET("/dynamic", retribusiHandler.GetRetribusiDynamic)
|
||||
protectedRetribusiGroup.GET("/search", retribusiHandler.SearchRetribusiAdvanced)
|
||||
protectedRetribusiGroup.GET("/id/:id", retribusiHandler.GetRetribusiByID)
|
||||
protectedRetribusiGroup.POST("", func(c *gin.Context) {
|
||||
retribusiHandler.CreateRetribusi(c)
|
||||
})
|
||||
|
||||
protectedRetribusiGroup.PUT("/id/:id", func(c *gin.Context) {
|
||||
retribusiHandler.UpdateRetribusi(c)
|
||||
})
|
||||
|
||||
protectedRetribusiGroup.DELETE("/id/:id", func(c *gin.Context) {
|
||||
retribusiHandler.DeleteRetribusi(c)
|
||||
})
|
||||
}
|
||||
return router
|
||||
}
|
||||
Reference in New Issue
Block a user