Skip to content

Commit

Permalink
feat(events): 73 add events for rest cmd
Browse files Browse the repository at this point in the history
  • Loading branch information
Isaac Martinez committed Mar 25, 2023
1 parent 0a5c450 commit f31d1db
Show file tree
Hide file tree
Showing 5 changed files with 62 additions and 0 deletions.
7 changes: 7 additions & 0 deletions pkg/cli/actions/reset.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,16 @@ import (
"github.com/AlecAivazis/survey/v2"
"github.com/Minnek-Digital-Studio/cominnek/config"
"github.com/Minnek-Digital-Studio/cominnek/pkg/ask"
"github.com/Minnek-Digital-Studio/cominnek/pkg/emitters"
"github.com/Minnek-Digital-Studio/cominnek/pkg/git"
)

var haveNumber = func() bool { return config.AppData.Reset.Number != "" }
var haveType = func() bool { return config.AppData.Reset.Type != "" }
var haveCommit = func() bool { return config.AppData.Reset.Commit != "" }

var resetEmitter = new(emitters.Reset)

func showConfirmation() {
if config.AppData.Reset.Confirm {
return
Expand Down Expand Up @@ -72,6 +75,7 @@ func resetQuestions() {
}, &config.AppData.Reset.Number, survey.WithValidator(survey.Required),
survey.WithValidator(func(val interface{}) error {
if _, err := strconv.Atoi(val.(string)); err != nil {
resetEmitter.Failed("please enter a number")
return errors.New("please enter a number")
}
return nil
Expand All @@ -93,6 +97,7 @@ func resetQuestions() {

func Reset() {
resetQuestions()
resetEmitter.Init("Reset type: " + config.AppData.Reset.Type)

if config.AppData.Reset.Confirm {
r_type := config.AppData.Reset.Type
Expand All @@ -101,6 +106,8 @@ func Reset() {

git.Reset(r_type, r_number, r_commit)
since := time.Since(config.AppData.Start).String()

resetEmitter.Success("Reset successful (" + since + ")")
println("Reset successful (" + since + ")")
}
}
23 changes: 23 additions & 0 deletions pkg/emitters/reset.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
package emitters

import (
"github.com/Minnek-Digital-Studio/cominnek/pkg/events"
eventNames "github.com/Minnek-Digital-Studio/cominnek/pkg/events/names"
)

var resetNames = new(eventNames.Reset)

type Reset struct {
}

func (c *Reset) Init(data string) {
events.App.Emit(resetNames.Init(), data)
}

func (c *Reset) Failed(error string) {
events.App.Emit(resetNames.Failed(), error)
}

func (c *Reset) Success(data string) {
events.App.Emit(resetNames.Success(), data)
}
22 changes: 22 additions & 0 deletions pkg/events/names/reset.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package eventNames

import "github.com/kataras/go-events"

func _buildResetName(event string) events.EventName {
return builder("reset", event)
}

type Reset struct {
}

func (c *Reset) Init() events.EventName {
return _buildResetName("init")
}

func (c *Reset) Failed() events.EventName{
return _buildResetName("failed")
}

func (c *Reset) Success() events.EventName {
return _buildResetName("success")
}
6 changes: 6 additions & 0 deletions pkg/events/watcher.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ var pushNames = new(eventNames.Push)
var branchNames = new(eventNames.Branch)
var publishNames = new(eventNames.Publish)
var pullRequest = new(eventNames.PullRequest)
var resetNames = new(eventNames.Reset)

func Watcher() {
App.On("init:root", func(payload ...interface{}) {})
Expand Down Expand Up @@ -37,4 +38,9 @@ func Watcher() {
App.On(pullRequest.Init(), func(payload ...interface{}) {})
App.On(pullRequest.Failed(), func(payload ...interface{}) {})
App.On(pullRequest.Success(), func(payload ...interface{}) {})

//! Reset
App.On(resetNames.Init(), func(payload ...interface{}) {})
App.On(resetNames.Failed(), func(payload ...interface{}) {})
App.On(resetNames.Success(), func(payload ...interface{}) {})
}
4 changes: 4 additions & 0 deletions pkg/git/Reset.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,20 @@ import (
"os"

git_controller "github.com/Minnek-Digital-Studio/cominnek/controllers/git"
"github.com/Minnek-Digital-Studio/cominnek/pkg/emitters"
"github.com/Minnek-Digital-Studio/cominnek/pkg/shell"
"github.com/fatih/color"
)

var resetEmitter = new(emitters.Reset)

func Reset(r_type string, r_number string, r_commit string) {
color.Yellow("\nResetting\n")
cmd := git_controller.ResetBy(r_type, r_number, r_commit)
_, _, err := shell.OutLive(cmd)

if err != nil {
resetEmitter.Failed(err.Error())
os.Exit(1)
}
}

0 comments on commit f31d1db

Please sign in to comment.