advance.go 745 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. package streams
  2. import (
  3. "net/http"
  4. "github.com/0xJacky/Nginx-UI/api"
  5. "github.com/0xJacky/Nginx-UI/internal/nginx"
  6. "github.com/0xJacky/Nginx-UI/query"
  7. "github.com/gin-gonic/gin"
  8. "github.com/uozi-tech/cosy"
  9. )
  10. func AdvancedEdit(c *gin.Context) {
  11. var json struct {
  12. Advanced bool `json:"advanced"`
  13. }
  14. if !cosy.BindAndValid(c, &json) {
  15. return
  16. }
  17. name := c.Param("name")
  18. path := nginx.GetConfPath("streams-available", name)
  19. s := query.Stream
  20. _, err := s.Where(s.Path.Eq(path)).FirstOrCreate()
  21. if err != nil {
  22. api.ErrHandler(c, err)
  23. return
  24. }
  25. _, err = s.Where(s.Path.Eq(path)).Update(s.Advanced, json.Advanced)
  26. if err != nil {
  27. api.ErrHandler(c, err)
  28. return
  29. }
  30. c.JSON(http.StatusOK, gin.H{
  31. "message": "ok",
  32. })
  33. }