// Copyright (c) 2025 Nikolai Papin // // This file is part of Easywish // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See // the GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see . package controllers import ( "easywish/internal/models" "easywish/internal/utils/enums" "net/http" "github.com/gin-gonic/gin" ) type ServiceController struct {} func NewServiceController() Controller { ctrl := &ServiceController{} return &controllerImpl{ Path: "/service", Middleware: []gin.HandlerFunc{}, Methods: []ControllerMethod{ { HttpMethod: GET, Path: "/health", Authorization: enums.GuestRole, Middleware: []gin.HandlerFunc{}, Function: ctrl.healthHandler, }, }, } } // @Summary Get health status // @Description Used internally for checking service health // @Tags Service // @Accept json // @Produce json // @Success 200 {object} models.HealthStatusResponse "Says whether it's healthy or not" // @Router /service/health [get] func (ctrl *ServiceController) healthHandler(c *gin.Context) { c.JSON(http.StatusOK, models.HealthStatusResponse{Healthy: true,}) }