package config import ( "github.com/gin-gonic/gin" "lst.net/utils/db" logging "lst.net/utils/logger" ) type ConfigUpdateInput struct { Description *string `json:"description"` Value *string `json:"value"` Enabled *bool `json:"enabled"` AppService *string `json:"app_service"` } func RegisterConfigRoutes(l *gin.Engine, baseUrl string) { // seed the db on start up db.SeedConfigs(db.DB) configGroup := l.Group(baseUrl + "/api/config") configGroup.GET("/configs", getconfigs) configGroup.POST("/configs", newConfig) } func getconfigs(c *gin.Context) { log := logging.New() configs, err := db.GetAllConfigs(db.DB) log.Info("Current Configs", "system", map[string]interface{}{ "endpoint": "/api/config/configs", "client_ip": c.ClientIP(), "user_agent": c.Request.UserAgent(), }) if err != nil { c.JSON(500, gin.H{"message": "There was an error getting the configs", "error": err}) } c.JSON(200, gin.H{"message": "Current configs", "data": configs}) } func newConfig(c *gin.Context) { var config ConfigUpdateInput err := c.ShouldBindBodyWithJSON(&config) if err != nil { c.JSON(500, gin.H{"message": "Internal Server Error"}) } c.JSON(200, gin.H{"message": "New config was just added", "data": config}) }