type.go 1.2 KB

123456789101112131415161718192021222324252627282930313233343536
  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. "github.com/sashabaranov/go-openai"
  9. )
  10. type SiteStatus string
  11. const (
  12. SiteStatusEnabled SiteStatus = "enabled"
  13. SiteStatusDisabled SiteStatus = "disabled"
  14. SiteStatusMaintenance SiteStatus = "maintenance"
  15. )
  16. // ProxyTarget is an alias for upstream.ProxyTarget
  17. type ProxyTarget = upstream.ProxyTarget
  18. type Site struct {
  19. *model.Site
  20. Name string `json:"name"`
  21. ModifiedAt time.Time `json:"modified_at"`
  22. Status SiteStatus `json:"status"`
  23. Config string `json:"config"`
  24. AutoCert bool `json:"auto_cert"`
  25. ChatGPTMessages []openai.ChatCompletionMessage `json:"chatgpt_messages,omitempty"`
  26. Tokenized *nginx.NgxConfig `json:"tokenized,omitempty"`
  27. CertInfo map[int][]*cert.Info `json:"cert_info,omitempty"`
  28. Filepath string `json:"filepath"`
  29. ProxyTargets []ProxyTarget `json:"proxy_targets,omitempty"`
  30. }