clean up rest api code

This commit is contained in:
William Clark 2023-12-06 19:21:54 +00:00
parent 6827006f94
commit 99e29ec2d5
4 changed files with 20 additions and 28 deletions

View File

@ -5,7 +5,7 @@ import (
"net/http"
"strconv"
"strings"
ccc "th7/config"
cfg "th7/config"
"th7/data/config"
"github.com/gin-gonic/gin"
@ -28,9 +28,6 @@ func (g *GinAdapter) getConfigByID(id int) (config.Channel, error) {
// check if a supplied key string is in the device struct (TH7)
func configDeviceIsValidKey(key string) bool {
deviceKeys := []string{
"debug", "nolog", "noweb", "led",
}
key = strings.ToLower(key)
@ -90,10 +87,6 @@ func (g *GinAdapter) validConfigChannel(id int) bool {
}
func configChannelIsValidKey(key string) bool {
// will add more later
channelKeys := []string{
"thermocouple", "gain", "offset",
}
key = strings.ToLower(key)
@ -108,9 +101,11 @@ func configChannelIsValidKey(key string) bool {
func (g *GinAdapter) configChannelUpdateValue(id int, key string, value string) error {
var cfgChannelPtr *config.Channel
key = strings.ToLower(key)
value = strings.ToLower(value)
var cfgChannelPtr *config.Channel
foundChannel := false
// find the channel, given and checked by id
@ -127,7 +122,7 @@ func (g *GinAdapter) configChannelUpdateValue(id int, key string, value string)
switch key {
case "thermocouple":
tc, err := ccc.GetThermocoupleType(value)
tc, err := cfg.GetThermocoupleType(value)
if err != nil {
return err
}
@ -159,17 +154,13 @@ func (g *GinAdapter) GetConfigChannelByIdHandler(c *gin.Context) {
id, err := strconv.Atoi(c.Param("id"))
if err != nil {
c.JSON(http.StatusBadRequest, gin.H{
"error": err,
})
c.String(http.StatusBadRequest, err.Error())
return
}
channel, err := g.getConfigByID(id)
if err != nil {
c.JSON(http.StatusBadRequest, gin.H{
"error": err,
})
c.String(http.StatusBadRequest, err.Error())
return
}
@ -202,16 +193,13 @@ func (g *GinAdapter) GetConfigDBHandler(c *gin.Context) {
var timestamp string
if g.cfg.API[0].Restricted {
c.JSON(http.StatusForbidden, gin.H{
"error": ErrConfigRestrictedDB,
})
c.String(http.StatusForbidden, ErrConfigRestrictedDB.Error())
return
}
timestamp = g.getTimestamp()
c.JSON(http.StatusOK, gin.H{
// "db": g.getConfigDB(),
"db": g.cfg.DB,
"time": timestamp,
})

View File

@ -31,17 +31,13 @@ func (g *GinAdapter) GetChannelByIDHandler(c *gin.Context) {
id, err := strconv.Atoi(c.Param("id"))
if err != nil {
c.JSON(http.StatusBadRequest, gin.H{
"error": err,
})
c.String(http.StatusBadRequest, err.Error())
return
}
channel, err := g.getChannelByID(id)
if err != nil {
c.JSON(http.StatusBadRequest, gin.H{
"error": err,
})
c.String(http.StatusBadRequest, err.Error())
return
}

View File

@ -49,8 +49,6 @@ func NewGinAdapter(corePort ports.CorePort, cfg config.Config) *GinAdapter {
adapter.router.POST("/config/channel/:id", adapter.SetConfigChannelByIdHandler)
adapter.router.POST("/config/db", adapter.SetConfigDBHandler)
//adapter.router.GET("/time", adapter.TimestampHandler)
adapter.router.LoadHTMLGlob("./templates/*.tmpl")
adapter.router.Static("/assets", "./static")
adapter.router.GET("/", adapter.IndexHandler)

View File

@ -7,6 +7,16 @@ type PostRequest struct {
Value string `form:"value" binding:"required"`
}
var (
channelKeys = []string{
"thermocouple", "gain", "offset",
}
deviceKeys = []string{
"debug", "nolog", "noweb", "led",
}
)
func (g *GinAdapter) getTimestamp() string {
return time.Now().Format(time.RFC1123)
}