mirror of
https://github.com/0xJacky/nginx-ui.git
synced 2025-05-11 02:15:48 +02:00
39 lines
763 B
Go
39 lines
763 B
Go
package self_check
|
|
|
|
import (
|
|
"errors"
|
|
|
|
"github.com/uozi-tech/cosy"
|
|
)
|
|
|
|
func Run() (reports Reports) {
|
|
reports = make(Reports, 0)
|
|
for _, task := range selfCheckTasks {
|
|
var cErr *cosy.Error
|
|
status := ReportStatusSuccess
|
|
if err := task.CheckFunc(); err != nil {
|
|
errors.As(err, &cErr)
|
|
status = ReportStatusError
|
|
}
|
|
reports = append(reports, &Report{
|
|
Key: task.Key,
|
|
Name: task.Name,
|
|
Description: task.Description,
|
|
Fixable: task.FixFunc != nil,
|
|
Err: cErr,
|
|
Status: status,
|
|
})
|
|
}
|
|
return
|
|
}
|
|
|
|
func AttemptFix(taskName string) (err error) {
|
|
task, ok := selfCheckTaskMap.Get(taskName)
|
|
if !ok {
|
|
return ErrTaskNotFound
|
|
}
|
|
if task.FixFunc == nil {
|
|
return ErrTaskNotFixable
|
|
}
|
|
return task.FixFunc()
|
|
}
|