Commit Graph

15 Commits

Author SHA1 Message Date
6288879468 refactor: unify tags and edges into single rels table 2026-04-01 12:50:45 +02:00
77d3205e12 refactor: simplify Node struct with public Tags/Relations fields 2026-04-01 00:13:43 +02:00
4020e5dab3 feat: add namespace-based access control with read/write permissions 2026-03-31 23:52:24 +02:00
4a2e868150 refactor: bind NodeService to a user and expose User() on the interface
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-31 23:18:36 +02:00
cb16bda200 refactor: simplify service interface to use tags/rels for all node properties
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-31 23:10:56 +02:00
4404518f50 test: add e2e test suite and fix namespace/mention/assignee flags
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-31 22:36:49 +02:00
8d831d131b refactor: clean up NodeService interface; move all integrity logic behind it 2026-03-31 15:55:47 +02:00
ed9117951f refactor: introduce store.Store graph interface with SQLite implementation 2026-03-31 15:38:06 +02:00
dadd3d9e13 refactor: add tag and relation methods to node to enforce integrity 2026-03-29 23:16:44 +02:00
4ebcb88628 refactor: remove db package and move database logic to service layer 2026-03-29 21:28:27 +02:00
6ff013dd2a refactor: convert inbox command to default alias 2026-03-29 19:56:15 +02:00
535626d198 feat: rename create and delete commands to add and del 2026-03-29 19:46:43 +02:00
a04750dd15 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
2026-03-29 19:22:44 +02:00
05261522a0 fix: alias argument expansion with flags and spaces
Fixes an issue where alias arguments containing spaces or flags were being split incorrectly by using strings.Fields on the substituted command string. Instead, the command string is tokenized first and then substitution happens on each token.

Also disables Cobra flag parsing for aliases dynamically so that arguments and flags correctly cascade down to the target command instead of throwing unknown flag errors.
2026-03-29 19:09:06 +02:00
13b4c4b651 Fix assignee filter bug in List 2026-03-29 18:58:34 +02:00