tasks.go 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. package self_check
  2. import (
  3. "github.com/0xJacky/Nginx-UI/internal/helper"
  4. "github.com/uozi-tech/cosy"
  5. )
  6. type Task struct {
  7. Name string
  8. CheckFunc func() error
  9. FixFunc func() error
  10. }
  11. type Report struct {
  12. Name string `json:"name"`
  13. Err *cosy.Error `json:"err,omitempty"`
  14. }
  15. type Reports []*Report
  16. var selfCheckTasks = []*Task{
  17. {
  18. Name: "Directory-Sites",
  19. CheckFunc: CheckSitesDirectory,
  20. FixFunc: FixSitesDirectory,
  21. },
  22. {
  23. Name: "Directory-Streams",
  24. CheckFunc: CheckStreamDirectory,
  25. FixFunc: FixStreamDirectory,
  26. },
  27. {
  28. Name: "NginxConf-Sites-Enabled",
  29. CheckFunc: CheckNginxConfIncludeSites,
  30. FixFunc: FixNginxConfIncludeSites,
  31. },
  32. {
  33. Name: "NginxConf-Streams-Enabled",
  34. CheckFunc: CheckNginxConfIncludeStreams,
  35. FixFunc: FixNginxConfIncludeStreams,
  36. },
  37. {
  38. Name: "NginxConf-ConfD",
  39. CheckFunc: CheckNginxConfIncludeConfD,
  40. FixFunc: FixNginxConfIncludeConfD,
  41. },
  42. }
  43. var selfCheckTaskMap = make(map[string]*Task)
  44. func init() {
  45. for _, task := range selfCheckTasks {
  46. selfCheckTaskMap[task.Name] = task
  47. }
  48. if helper.InNginxUIOfficialDocker() {
  49. selfCheckTasks = append(selfCheckTasks, &Task{
  50. Name: "Docker-Socket",
  51. CheckFunc: CheckDockerSocket,
  52. })
  53. }
  54. }