refactor: simplify db and cmd flags, reduce code duplication

- Abstract property flags into addPropertyFlags in cmd/root.go and apply to commands
- Remove unused GetUserByUsername from db.go (it's redundant with service.resolveUserIDByName)
- Use configured user in WithMentions directly in inbox command
- Refactor resolve methods in node_service_sqlite.go to reduce duplication
This commit is contained in:
2026-03-29 19:22:44 +02:00
parent 05261522a0
commit a04750dd15
7 changed files with 31 additions and 75 deletions

View File

@@ -13,7 +13,7 @@ import (
"github.com/spf13/cobra"
)
var cDue, cContent, cDummy string
var cDue, cContent string
var cTags, cRels []string
var createCmd = &cobra.Command{
@@ -60,11 +60,9 @@ var createCmd = &cobra.Command{
func init() {
rootCmd.AddCommand(createCmd)
addPropertyFlags(createCmd)
createCmd.Flags().Set("type", "issue")
f := createCmd.Flags()
f.StringVar(&cDummy, "type", "issue", "")
f.StringVar(&cDummy, "status", "", "")
f.StringVar(&cDummy, "prio", "", "")
f.StringVar(&cDummy, "namespace", "", "")
f.StringVar(&cDue, "due", "", "")
f.StringVar(&cContent, "content", "", "")
f.StringArrayVar(&cTags, "tag", nil, "")

View File

@@ -18,17 +18,8 @@ var inboxCmd = &cobra.Command{
fmt.Fprintln(os.Stderr, err)
return
}
userID, err := d.GetUserByUsername(cfg.GetUser())
if err != nil {
fmt.Fprintln(os.Stderr, err)
return
}
if userID == "" {
output.PrintNodes(cmd.OutOrStdout(), nil, jsonFlag)
return
}
svc := service.NewSQLiteNodeService(d.DB, cfg.GetUser())
if nodes, err := svc.List(service.WithMentions(userID)); err == nil {
if nodes, err := svc.List(service.WithMentions(cfg.GetUser())); err == nil {
output.PrintNodes(cmd.OutOrStdout(), nodes, jsonFlag)
}
},

View File

@@ -10,7 +10,7 @@ import (
"github.com/spf13/cobra"
)
var lDummy, lAssignee string
var lAssignee string
var lTags []string
var listCmd = &cobra.Command{
@@ -32,11 +32,8 @@ var listCmd = &cobra.Command{
func init() {
rootCmd.AddCommand(listCmd)
addPropertyFlags(listCmd)
f := listCmd.Flags()
f.StringVar(&lDummy, "type", "", "")
f.StringVar(&lDummy, "status", "", "")
f.StringVar(&lDummy, "prio", "", "")
f.StringVar(&lDummy, "namespace", "", "")
f.StringVar(&lAssignee, "assignee", "", "")
f.StringArrayVar(&lTags, "tag", nil, "")
}

View File

@@ -76,3 +76,10 @@ func transformArgs(args []string) []string {
func init() {
rootCmd.PersistentFlags().BoolVar(&jsonFlag, "json", false, "")
}
func addPropertyFlags(cmd *cobra.Command) {
cmd.Flags().String("type", "", "node type")
cmd.Flags().String("status", "", "node status")
cmd.Flags().String("prio", "", "node priority")
cmd.Flags().String("namespace", "", "node namespace")
}

View File

@@ -14,7 +14,7 @@ import (
)
var (
uTitle, uContent, uDue, dummy string
uTitle, uContent, uDue string
uClearDue bool
uAddTags, uRmTags, uAddRels, uRmRels []string
)
@@ -118,13 +118,12 @@ var updateCmd = &cobra.Command{
func init() {
rootCmd.AddCommand(updateCmd)
addPropertyFlags(updateCmd)
f := updateCmd.Flags()
f.StringVar(&uTitle, "title", "", "")
f.StringVar(&uContent, "content", "", "")
f.StringVar(&uDue, "due", "", "")
f.BoolVar(&uClearDue, "clear-due", false, "")
f.StringVar(&dummy, "status", "", "")
f.StringVar(&dummy, "prio", "", "")
f.StringArrayVar(&uAddTags, "tag", nil, "")
f.StringArrayVar(&uRmTags, "tag-remove", nil, "")
f.StringArrayVar(&uAddRels, "rel", nil, "")