init.go 802 B

1234567891011121314151617181920212223242526272829303132333435
  1. package upstream
  2. import (
  3. "github.com/0xJacky/Nginx-UI/internal/upstream"
  4. "github.com/0xJacky/Nginx-UI/model"
  5. "github.com/uozi-tech/cosy/logger"
  6. )
  7. func init() {
  8. // Register the disabled sockets checker callback
  9. service := upstream.GetUpstreamService()
  10. service.SetDisabledSocketsChecker(getDisabledSockets)
  11. }
  12. // getDisabledSockets queries the database for disabled sockets
  13. func getDisabledSockets() map[string]bool {
  14. disabled := make(map[string]bool)
  15. db := model.UseDB()
  16. if db == nil {
  17. return disabled
  18. }
  19. var configs []model.UpstreamConfig
  20. if err := db.Where("enabled = ?", false).Find(&configs).Error; err != nil {
  21. logger.Error("Failed to query disabled sockets:", err)
  22. return disabled
  23. }
  24. for _, config := range configs {
  25. disabled[config.Socket] = true
  26. }
  27. return disabled
  28. }