- Add complete domain layer: Note, Vault, WikiLink, Tag, Frontmatter, Graph entities - Implement repository interfaces for data access abstraction - Create comprehensive configuration system with YAML and env support - Add CLI entry point with signal handling and graceful shutdown - Fix mermaid diagram syntax in design.md (array notation) - Add CLAUDE.md for development guidance 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
18 lines
621 B
Go
18 lines
621 B
Go
package repository
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/user/obsidian-mcp-server/internal/domain"
|
|
)
|
|
|
|
type NoteRepository interface {
|
|
Get(ctx context.Context, path string) (*domain.Note, error)
|
|
Create(ctx context.Context, note *domain.Note) error
|
|
Update(ctx context.Context, note *domain.Note) error
|
|
Delete(ctx context.Context, path string) error
|
|
List(ctx context.Context, pattern string, recursive bool) ([]*domain.Note, error)
|
|
Exists(ctx context.Context, path string) bool
|
|
FindByTag(ctx context.Context, tag string) ([]*domain.Note, error)
|
|
FindByContent(ctx context.Context, query string) ([]*domain.Note, error)
|
|
} |