-
Notifications
You must be signed in to change notification settings - Fork 31
/
utils.go
46 lines (40 loc) · 1.07 KB
/
utils.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
package unlink
import (
"context"
app "github.com/aziontech/azion-cli/pkg/cmd/delete/edge_application"
"github.com/aziontech/azion-cli/pkg/cmdutil"
"github.com/aziontech/azion-cli/pkg/logger"
helpers "github.com/aziontech/azion-cli/utils"
"go.uber.org/zap"
)
func shouldClean(f *cmdutil.Factory) bool {
msg := "Do you want to unlink this project? (y/N)"
return helpers.Confirm(f.GlobalFlagAll, msg, false)
}
func clean(f *cmdutil.Factory, cmd *UnlinkCmd) error {
var err error
var shouldCascade bool
if empty, _ := cmd.IsDirEmpty("./azion"); !empty {
if f.GlobalFlagAll {
shouldCascade = true
} else {
answer := helpers.Confirm(f.GlobalFlagAll, "Would you like to delete remote resources as well? (y/N)", false)
shouldCascade = answer
}
if shouldCascade {
cmd := app.NewDeleteCmd(f)
ctx := context.Background()
err := cmd.Cascade(ctx)
if err != nil {
return err
}
}
err = cmd.CleanDir("./azion")
if err != nil {
logger.Debug("Error while trying to clean azion directory", zap.Error(err))
return err
}
return nil
}
return nil
}