49 lines
972 B
Go
49 lines
972 B
Go
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)
|
|
|
|
log.Printf("get priority: %+v", app.Stream.Data)
|
|
}
|
|
|
|
func (app *App) SetPriority(c *gin.Context) {
|
|
var priority = Priority{}
|
|
|
|
body, _ := io.ReadAll(c.Request.Body)
|
|
log.Printf("set priority body: %s", string(body))
|
|
c.Request.Body = io.NopCloser(bytes.NewReader(body))
|
|
|
|
err := c.ShouldBindJSON(&priority)
|
|
log.Printf("set priority: %+v - err: %+v", priority, err)
|
|
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
|
|
}
|