Files
phylum/server/internal/command/trash/empty.go
2025-03-19 13:16:42 +05:30

42 lines
1015 B
Go

package trash
import (
"bufio"
"fmt"
"os"
"strings"
"github.com/shroff/phylum/server/internal/command/common"
"github.com/spf13/cobra"
)
func setupEmptyCommand() *cobra.Command {
cmd := cobra.Command{
Use: "empty",
Short: "Empty Trash",
Args: cobra.NoArgs,
Run: func(cmd *cobra.Command, args []string) {
f := common.UserFileSystem(cmd)
printTrashSummary(f)
if noConfirm, err := cmd.Flags().GetBool("no-confirm"); err != nil {
fmt.Println("cannot read flag: " + err.Error())
os.Exit(1)
} else if !noConfirm {
reader := bufio.NewReader(os.Stdin)
fmt.Print("Are you sure you want to continue (y/N)?: ")
text, _ := reader.ReadString('\n')
text = strings.TrimLeft(text, "\r\n\t ")
text = strings.TrimRight(text, "\r\n\t ")
if text != "Y" && text != "y" {
fmt.Println("Aborting")
os.Exit(0)
}
}
fmt.Println("Deleting")
f.TrashEmpty()
},
}
cmd.Flags().BoolP("no-confirm", "y", false, "Do not ask for confirmation")
return &cmd
}