config.go 1.5 KB

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