settings.go 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. package settings
  2. import (
  3. "github.com/0xJacky/Nginx-UI/api"
  4. "github.com/0xJacky/Nginx-UI/internal/cron"
  5. "github.com/0xJacky/Nginx-UI/internal/nginx"
  6. "github.com/0xJacky/Nginx-UI/settings"
  7. "github.com/gin-gonic/gin"
  8. cSettings "github.com/uozi-tech/cosy/settings"
  9. "net/http"
  10. )
  11. func GetServerName(c *gin.Context) {
  12. c.JSON(http.StatusOK, gin.H{
  13. "name": settings.NodeSettings.Name,
  14. })
  15. }
  16. func GetSettings(c *gin.Context) {
  17. settings.NginxSettings.AccessLogPath = nginx.GetAccessLogPath()
  18. settings.NginxSettings.ErrorLogPath = nginx.GetErrorLogPath()
  19. c.JSON(http.StatusOK, gin.H{
  20. "server": cSettings.ServerSettings,
  21. "nginx": settings.NginxSettings,
  22. "openai": settings.OpenAISettings,
  23. "logrotate": settings.LogrotateSettings,
  24. "auth": settings.AuthSettings,
  25. })
  26. }
  27. func SaveSettings(c *gin.Context) {
  28. var json struct {
  29. Server cSettings.Server `json:"server"`
  30. Nginx settings.Nginx `json:"nginx"`
  31. Openai settings.OpenAI `json:"openai"`
  32. Logrotate settings.Logrotate `json:"logrotate"`
  33. Auth settings.Auth `json:"auth"`
  34. }
  35. if !api.BindAndValid(c, &json) {
  36. return
  37. }
  38. if settings.LogrotateSettings.Enabled != json.Logrotate.Enabled ||
  39. settings.LogrotateSettings.Interval != json.Logrotate.Interval {
  40. go cron.RestartLogrotate()
  41. }
  42. cSettings.ProtectedFill(cSettings.ServerSettings, &json.Server)
  43. cSettings.ProtectedFill(settings.NginxSettings, &json.Nginx)
  44. cSettings.ProtectedFill(settings.OpenAISettings, &json.Openai)
  45. cSettings.ProtectedFill(settings.LogrotateSettings, &json.Logrotate)
  46. cSettings.ProtectedFill(settings.AuthSettings, &json.Auth)
  47. err := settings.Save()
  48. if err != nil {
  49. api.ErrHandler(c, err)
  50. return
  51. }
  52. GetSettings(c)
  53. }