advance.go 786 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package sites
  2. import (
  3. "net/http"
  4. "github.com/0xJacky/Nginx-UI/internal/helper"
  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 DomainEditByAdvancedMode(c *gin.Context) {
  11. var json struct {
  12. Advanced bool `json:"advanced"`
  13. }
  14. if !cosy.BindAndValid(c, &json) {
  15. return
  16. }
  17. name := helper.UnescapeURL(c.Param("name"))
  18. path := nginx.GetConfPath("sites-available", name)
  19. s := query.Site
  20. _, err := s.Where(s.Path.Eq(path)).FirstOrCreate()
  21. if err != nil {
  22. cosy.ErrHandler(c, err)
  23. return
  24. }
  25. _, err = s.Where(s.Path.Eq(path)).Update(s.Advanced, json.Advanced)
  26. if err != nil {
  27. cosy.ErrHandler(c, err)
  28. return
  29. }
  30. c.JSON(http.StatusOK, gin.H{
  31. "message": "ok",
  32. })
  33. }