switch namespaces from tags to relations with auto-creation

This commit is contained in:
2026-03-28 04:15:36 +01:00
parent 9b250c20f9
commit f907657c6f
6 changed files with 128 additions and 66 deletions

View File

@@ -30,12 +30,9 @@ var createCmd = &cobra.Command{
if slices.Contains(cTags, "_type::issue") && !slices.ContainsFunc(cTags, func(e string) bool { return strings.HasPrefix(e, "_status::") }) {
cTags = append(cTags, "_status::open")
}
if !slices.ContainsFunc(cTags, func(e string) bool { return strings.HasPrefix(e, "_namespace::") }) {
cTags = append(cTags, "_namespace::"+db.GetCurrentUser())
}
rels := make(map[models.RelType][]string)
relCreated := false
relCreated, relNamespace := false, false
for _, r := range cRels {
rt, tgt, err := db.ParseRelFlag(r)
if err != nil {
@@ -45,11 +42,17 @@ var createCmd = &cobra.Command{
if rt == models.RelCreated {
relCreated = true
}
if rt == models.RelInNamespace {
relNamespace = true
}
rels[rt] = append(rels[rt], tgt)
}
if !relCreated {
rels[models.RelCreated] = append(rels[models.RelCreated], db.GetCurrentUser())
}
if !relNamespace {
rels[models.RelInNamespace] = append(rels[models.RelInNamespace], db.GetCurrentUser())
}
if n, err := d.CreateNode(db.CreateParams{Title: args[0], Content: cContent, DueDate: cDue, Tags: cTags, Rels: rels}); err != nil {
fmt.Fprintln(os.Stderr, "failed to create:", err)

View File

@@ -23,7 +23,7 @@ var listCmd = &cobra.Command{
if nodes, err := d.ListNodes(db.ListFilter{TagPrefixes: lTags, Assignee: lAssignee}); err == nil {
output.PrintNodes(cmd.OutOrStdout(), nodes, jsonFlag)
} else {
fmt.Fprintln(os.Stderr, "err: %v", err)
fmt.Fprintf(os.Stderr, "err: %v\n", err)
}
},
}