Skip to content

Commit

Permalink
REST: removed code complexity
Browse files Browse the repository at this point in the history
  • Loading branch information
azak-azkaran committed Nov 4, 2020
1 parent aff4565 commit 42988cd
Showing 1 changed file with 34 additions and 33 deletions.
67 changes: 34 additions & 33 deletions restrouter.go
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,37 @@ type GitMessage struct {
PrintOutput bool `json:"print"`
}

func HandleGit(mode string, v GitConfig, run bool, printOutput bool, home string) (bool, error) {
var job Job
switch mode {
case "clone":
job = CreateJobFromFunction(func() error {
return GitClone(v.Rep, v.Directory, home, v.PersonalToken)
}, mode+" "+v.Name)
case "pull":
job = CreateJobFromFunction(func() error {
err := GitCreateRemote(v.Directory, home, v.Rep)
if err != nil {
return err
} else {
return GitPull(v.Directory, home, v.PersonalToken)
}
}, mode+" "+v.Name)
default:
return false, errors.New("Not supported Mode: " + mode)
}

var err error

if run {
err = job.RunJob(printOutput)
} else {
err = job.RunJobBackground(printOutput)
}

return err == nil, err
}

func HandleBackup(cmd *exec.Cmd, name string, printOutput bool, test bool, run bool, c *gin.Context) {
job := CreateJobFromCommand(cmd, name)
var err error
Expand Down Expand Up @@ -380,39 +411,9 @@ func postGit(c *gin.Context) {
var buffer bytes.Buffer
ok := true
for _, v := range config.Git {

var job Job
switch msg.Mode {
case "clone":
job = CreateJobFromFunction(func() error {
return GitClone(v.Rep, v.Directory, config.Agent.HomeFolder, v.PersonalToken)
}, msg.Mode+" "+v.Name)
case "pull":
job = CreateJobFromFunction(func() error {
err := GitCreateRemote(v.Directory, config.Agent.HomeFolder, v.Rep)
if err != nil {
return err
} else {
return GitPull(v.Directory, config.Agent.HomeFolder, v.PersonalToken)
}
}, msg.Mode+" "+v.Name)
default:
returnErr(errors.New("Not supported Mode: "+msg.Mode), ERROR_GIT, c)
return
}

var err error

if msg.Run {
err = job.RunJob(msg.PrintOutput)
} else {
err = job.RunJobBackground(msg.PrintOutput)
}

if err != nil {
ok = false
buffer.WriteString("\n")
buffer.WriteString(err.Error())
ok, err = HandleGit(msg.Mode, v, msg.Run, msg.PrintOutput, config.Agent.HomeFolder)
if !ok && err != nil {
buffer.WriteString("\nJob: " + v.Name + " " + err.Error())
}
}

Expand Down

0 comments on commit 42988cd

Please sign in to comment.