github.com/soulteary/pocket-bookcase@v0.0.0-20240428065142-0b5a9a0fc98a/internal/http/routes/system.go (about)

     1  package routes
     2  
     3  import (
     4  	"github.com/gin-gonic/gin"
     5  	"github.com/sirupsen/logrus"
     6  	"github.com/soulteary/pocket-bookcase/internal/http/response"
     7  	"github.com/soulteary/pocket-bookcase/internal/model"
     8  )
     9  
    10  type SystemRoutes struct {
    11  	logger *logrus.Logger
    12  }
    13  
    14  func (r *SystemRoutes) Setup(group *gin.RouterGroup) model.Routes {
    15  	group.GET("/liveness", r.livenessHandler)
    16  	return r
    17  }
    18  
    19  func (r *SystemRoutes) livenessHandler(c *gin.Context) {
    20  	response.Send(c, 200, struct {
    21  		Version string `json:"version"`
    22  		Commit  string `json:"commit"`
    23  		Date    string `json:"date"`
    24  	}{
    25  		Version: model.BuildVersion,
    26  		Commit:  model.BuildCommit,
    27  		Date:    model.BuildDate,
    28  	})
    29  }
    30  
    31  func NewSystemRoutes(logger *logrus.Logger) *SystemRoutes {
    32  	return &SystemRoutes{
    33  		logger: logger,
    34  	}
    35  }