type.go 1.0 KB

12345678910111213141516171819202122232425262728293031323334
  1. package site
  2. import (
  3. "time"
  4. "github.com/0xJacky/Nginx-UI/internal/cert"
  5. "github.com/0xJacky/Nginx-UI/internal/nginx"
  6. "github.com/0xJacky/Nginx-UI/internal/upstream"
  7. "github.com/0xJacky/Nginx-UI/model"
  8. )
  9. type SiteStatus string
  10. const (
  11. SiteStatusEnabled SiteStatus = "enabled"
  12. SiteStatusDisabled SiteStatus = "disabled"
  13. SiteStatusMaintenance SiteStatus = "maintenance"
  14. )
  15. // ProxyTarget is an alias for upstream.ProxyTarget
  16. type ProxyTarget = upstream.ProxyTarget
  17. type Site struct {
  18. *model.Site
  19. Name string `json:"name"`
  20. ModifiedAt time.Time `json:"modified_at"`
  21. Status SiteStatus `json:"status"`
  22. Config string `json:"config"`
  23. AutoCert bool `json:"auto_cert"`
  24. Tokenized *nginx.NgxConfig `json:"tokenized,omitempty"`
  25. CertInfo map[int][]*cert.Info `json:"cert_info,omitempty"`
  26. Filepath string `json:"filepath"`
  27. ProxyTargets []ProxyTarget `json:"proxy_targets,omitempty"`
  28. }