advanced_indexing_settings.go 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  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.AdvancedIndexingEnabled = 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.InitializeModernServices(kernel.Context)
  20. c.JSON(http.StatusOK, gin.H{
  21. "message": "Advanced indexing enabled successfully",
  22. })
  23. }
  24. // DisableAdvancedIndexing disables advanced indexing for nginx logs
  25. func DisableAdvancedIndexing(c *gin.Context) {
  26. settings.NginxLogSettings.AdvancedIndexingEnabled = false
  27. err := settings.Save()
  28. if err != nil {
  29. cosy.ErrHandler(c, err)
  30. return
  31. }
  32. // Stop the nginx_log services
  33. nginx_log.StopModernServices()
  34. c.JSON(http.StatusOK, gin.H{
  35. "message": "Advanced indexing disabled successfully",
  36. })
  37. }
  38. // GetAdvancedIndexingStatus returns the current status of advanced indexing
  39. func GetAdvancedIndexingStatus(c *gin.Context) {
  40. enabled := settings.NginxLogSettings.AdvancedIndexingEnabled
  41. c.JSON(http.StatusOK, gin.H{
  42. "enabled": enabled,
  43. })
  44. }