config.go 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. package config
  2. import (
  3. "time"
  4. "github.com/0xJacky/Nginx-UI/internal/upstream"
  5. "github.com/0xJacky/Nginx-UI/model"
  6. )
  7. type ConfigStatus string
  8. const (
  9. StatusEnabled ConfigStatus = "enabled"
  10. StatusDisabled ConfigStatus = "disabled"
  11. StatusMaintenance ConfigStatus = "maintenance"
  12. )
  13. // ProxyTarget is an alias for upstream.ProxyTarget
  14. type ProxyTarget = upstream.ProxyTarget
  15. type Config struct {
  16. Name string `json:"name"`
  17. Content string `json:"content"`
  18. FilePath string `json:"filepath,omitempty"`
  19. ModifiedAt time.Time `json:"modified_at"`
  20. Size int64 `json:"size,omitempty"`
  21. IsDir bool `json:"is_dir"`
  22. EnvGroupID uint64 `json:"env_group_id"`
  23. EnvGroup *model.EnvGroup `json:"env_group,omitempty"`
  24. Status ConfigStatus `json:"status"`
  25. Dir string `json:"dir"`
  26. Urls []string `json:"urls,omitempty"`
  27. ProxyTargets []ProxyTarget `json:"proxy_targets,omitempty"`
  28. SyncNodeIds []uint64 `json:"sync_node_ids,omitempty"`
  29. SyncOverwrite bool `json:"sync_overwrite"`
  30. }