1
0

settings.go 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. package nginx_log
  2. import (
  3. "net/http"
  4. "github.com/0xJacky/Nginx-UI/internal/kernel"
  5. "github.com/0xJacky/Nginx-UI/internal/nginx_log"
  6. "github.com/0xJacky/Nginx-UI/settings"
  7. "github.com/gin-gonic/gin"
  8. "github.com/uozi-tech/cosy"
  9. )
  10. // EnableAdvancedIndexing enables advanced indexing for nginx logs
  11. func EnableAdvancedIndexing(c *gin.Context) {
  12. settings.NginxLogSettings.IndexingEnabled = true
  13. err := settings.Save()
  14. if err != nil {
  15. cosy.ErrHandler(c, err)
  16. return
  17. }
  18. // Start the nginx_log services
  19. nginx_log.InitializeServices(kernel.Context)
  20. // Migrate fallback cache entries to LogFileManager
  21. nginx_log.MigrateFallbackCache()
  22. c.JSON(http.StatusOK, gin.H{
  23. "message": "Advanced indexing enabled successfully",
  24. })
  25. }
  26. // DisableAdvancedIndexing disables advanced indexing for nginx logs
  27. func DisableAdvancedIndexing(c *gin.Context) {
  28. settings.NginxLogSettings.IndexingEnabled = false
  29. err := settings.Save()
  30. if err != nil {
  31. cosy.ErrHandler(c, err)
  32. return
  33. }
  34. // Stop the nginx_log services
  35. nginx_log.StopServices()
  36. c.JSON(http.StatusOK, gin.H{
  37. "message": "Advanced indexing disabled successfully",
  38. })
  39. }
  40. // GetAdvancedIndexingStatus returns the current status of advanced indexing
  41. func GetAdvancedIndexingStatus(c *gin.Context) {
  42. enabled := settings.NginxLogSettings.IndexingEnabled
  43. c.JSON(http.StatusOK, gin.H{
  44. "enabled": enabled,
  45. })
  46. }