Files
2026-07-13 13:33:09 +08:00

63 lines
1.2 KiB
Go

package cmd
import (
"fmt"
"plandex-cli/api"
"plandex-cli/auth"
"plandex-cli/lib"
"plandex-cli/term"
shared "plandex-shared"
"github.com/spf13/cobra"
)
var clearCmd = &cobra.Command{
Use: "clear",
Short: "Clear all context",
Long: `Clear all context.`,
Run: clearAllContext,
}
func clearAllContext(cmd *cobra.Command, args []string) {
auth.MustResolveAuthWithOrg()
lib.MustResolveProject()
if lib.CurrentPlanId == "" {
term.OutputNoCurrentPlanErrorAndExit()
}
term.StartSpinner("")
contexts, err := api.Client.ListContext(lib.CurrentPlanId, lib.CurrentBranch)
term.StopSpinner()
if err != nil {
term.OutputErrorAndExit("Error retrieving context: %v", err)
}
deleteIds := map[string]bool{}
for _, context := range contexts {
deleteIds[context.Id] = true
}
if len(deleteIds) > 0 {
res, err := api.Client.DeleteContext(lib.CurrentPlanId, lib.CurrentBranch, shared.DeleteContextRequest{
Ids: deleteIds,
})
if err != nil {
term.OutputErrorAndExit("Error deleting context: %v", err)
}
fmt.Println("✅ " + res.Msg)
} else {
fmt.Println("🤷‍♂️ No context removed")
}
}
func init() {
RootCmd.AddCommand(clearCmd)
}