Files
app-test-golang/internal/routes/v1/routes.go
2025-11-26 07:24:49 +00:00

55 lines
1.9 KiB
Go

package v1
import (
"api-service/internal/config"
"github.com/gin-gonic/gin"
)
func RegisterRoutes(cfg *config.Config) *gin.Engine {
// Atur mode Gin berdasarkan konfigurasi
gin.SetMode(cfg.Server.Mode)
router := gin.New()
// =============================================================================
// GLOBAL MIDDLEWARE STACK (Middleware yang diperlukan SEMUA route)
// =============================================================================
// =============================================================================
// INISIALISASI SERVIS & HANDLER
// =============================================================================
// =============================================================================
// SWAGGER DOCUMENTATION (Publik - TANPA SecurityHeaders)
// =============================================================================
// =============================================================================
// API GROUPS (Dengan Keamanan Ketat)
// =============================================================================
// Terapkan middleware keamanan dan validasi input HANYA ke grup API.
// Ini adalah perubahan utama.
// --- HEALTH CHECK & SYSTEM ROUTES ---
// --- API v1 GROUP ---
// =============================================================================
// PUBLIC ROUTES (No Authentication Required)
// =============================================================================
// =============================================================================
// PROTECTED ROUTES (Authentication Required)
// =============================================================================
// =============================================================================
// DEBUG ROUTES (Publik - Tanpa keamanan ketat)
// =============================================================================
return router
}