Priority/backend.light/http_api.go

50 lines
972 B
Go
Raw Normal View History

2024-01-11 12:12:25 +00:00
package main
import (
"bytes"
"io"
"log"
"net/http"
"github.com/gin-gonic/gin"
)
func (app *App) RegisterApiRoutes() {
api := app.Engine.Group("/api")
api.GET("/sse", app.Stream.SseHeadersMiddleware(), app.Stream.Stream)
api.GET("/priority", app.GetPriority)
api.POST("/priority", app.SetPriority)
}
func (app *App) GetPriority(c *gin.Context) {
c.JSON(http.StatusOK, app.Stream.Data)
2024-01-16 10:58:26 +01:00
log.Printf("get priority: %+v", app.Stream.Data)
2024-01-11 12:12:25 +00:00
}
func (app *App) SetPriority(c *gin.Context) {
2024-01-16 10:58:26 +01:00
var priority = Priority{}
2024-01-11 12:12:25 +00:00
body, _ := io.ReadAll(c.Request.Body)
2024-01-16 10:58:26 +01:00
log.Printf("set priority body: %s", string(body))
2024-01-11 12:12:25 +00:00
c.Request.Body = io.NopCloser(bytes.NewReader(body))
2024-01-16 10:58:26 +01:00
err := c.ShouldBindJSON(&priority)
log.Printf("set priority: %+v - err: %+v", priority, err)
2024-01-11 12:12:25 +00:00
c.JSON(http.StatusOK, gin.H{
"code": http.StatusOK,
"message": priority,
})
var msg = Message{
Event: "priority",
Data: priority,
}
app.Stream.Send(msg)
app.Stream.Data = priority
}