package controllers import ( "net/http" "github.com/gin-gonic/gin" ) type ServiceController interface { HealthCheck(c *gin.Context) Router } type serviceControllerImpl struct{} func NewServiceController() ServiceController { return &serviceControllerImpl{} } // HealthCheck implements ServiceController. // @Summary Get health status // @Description Used internally for checking service health // @Tags Service // @Accept json // @Produce json // @Success 200 {object} HealthStatus "Says whether it's healthy or not" // @Router /service/health [get] func (s *serviceControllerImpl) HealthCheck(c *gin.Context) { c.JSON(http.StatusOK, gin.H{"healthy": true}) } // RegisterRoutes implements ServiceController. func (s *serviceControllerImpl) RegisterRoutes(group *gin.RouterGroup) { group.GET("/health", s.HealthCheck) } type HealthStatus struct { Healthy bool `json:"healthy"` }