Documentation
¶
Index ¶
- type BookListOptions
- type BookRepository
- func (r *BookRepository) Count(ctx context.Context, opts BookListOptions) (int64, error)
- func (r *BookRepository) Create(ctx context.Context, book *models.Book) (int64, error)
- func (r *BookRepository) Delete(ctx context.Context, id int64) error
- func (r *BookRepository) Find(ctx context.Context, conditions BookListOptions) ([]*models.Book, error)
- func (r *BookRepository) FinishReading(ctx context.Context, id int64) error
- func (r *BookRepository) Get(ctx context.Context, id int64) (*models.Book, error)
- func (r *BookRepository) GetByAuthor(ctx context.Context, author string) ([]*models.Book, error)
- func (r *BookRepository) GetFinished(ctx context.Context) ([]*models.Book, error)
- func (r *BookRepository) GetQueued(ctx context.Context) ([]*models.Book, error)
- func (r *BookRepository) GetReading(ctx context.Context) ([]*models.Book, error)
- func (r *BookRepository) List(ctx context.Context, opts BookListOptions) ([]*models.Book, error)
- func (r *BookRepository) StartReading(ctx context.Context, id int64) error
- func (r *BookRepository) Update(ctx context.Context, book *models.Book) error
- func (r *BookRepository) UpdateProgress(ctx context.Context, id int64, progress int) error
- type MovieListOptions
- type MovieRepository
- func (r *MovieRepository) Count(ctx context.Context, opts MovieListOptions) (int64, error)
- func (r *MovieRepository) Create(ctx context.Context, movie *models.Movie) (int64, error)
- func (r *MovieRepository) Delete(ctx context.Context, id int64) error
- func (r *MovieRepository) Find(ctx context.Context, conditions MovieListOptions) ([]*models.Movie, error)
- func (r *MovieRepository) Get(ctx context.Context, id int64) (*models.Movie, error)
- func (r *MovieRepository) GetQueued(ctx context.Context) ([]*models.Movie, error)
- func (r *MovieRepository) GetWatched(ctx context.Context) ([]*models.Movie, error)
- func (r *MovieRepository) List(ctx context.Context, opts MovieListOptions) ([]*models.Movie, error)
- func (r *MovieRepository) MarkWatched(ctx context.Context, id int64) error
- func (r *MovieRepository) Update(ctx context.Context, movie *models.Movie) error
- type NoteListOptions
- type NoteRepository
- func (r *NoteRepository) AddTag(ctx context.Context, id int64, tag string) error
- func (r *NoteRepository) Archive(ctx context.Context, id int64) error
- func (r *NoteRepository) Create(ctx context.Context, note *models.Note) (int64, error)
- func (r *NoteRepository) Delete(ctx context.Context, id int64) error
- func (r *NoteRepository) Get(ctx context.Context, id int64) (*models.Note, error)
- func (r *NoteRepository) GetActive(ctx context.Context) ([]*models.Note, error)
- func (r *NoteRepository) GetArchived(ctx context.Context) ([]*models.Note, error)
- func (r *NoteRepository) GetByTags(ctx context.Context, tags []string) ([]*models.Note, error)
- func (r *NoteRepository) GetByTitle(ctx context.Context, title string) ([]*models.Note, error)
- func (r *NoteRepository) GetRecent(ctx context.Context, limit int) ([]*models.Note, error)
- func (r *NoteRepository) List(ctx context.Context, options NoteListOptions) ([]*models.Note, error)
- func (r *NoteRepository) RemoveTag(ctx context.Context, id int64, tag string) error
- func (r *NoteRepository) SearchContent(ctx context.Context, searchText string) ([]*models.Note, error)
- func (r *NoteRepository) Unarchive(ctx context.Context, id int64) error
- func (r *NoteRepository) Update(ctx context.Context, note *models.Note) error
- type ProjectSummary
- type Repositories
- type TVListOptions
- type TVRepository
- func (r *TVRepository) Count(ctx context.Context, opts TVListOptions) (int64, error)
- func (r *TVRepository) Create(ctx context.Context, tvShow *models.TVShow) (int64, error)
- func (r *TVRepository) Delete(ctx context.Context, id int64) error
- func (r *TVRepository) Find(ctx context.Context, conditions TVListOptions) ([]*models.TVShow, error)
- func (r *TVRepository) Get(ctx context.Context, id int64) (*models.TVShow, error)
- func (r *TVRepository) GetBySeason(ctx context.Context, title string, season int) ([]*models.TVShow, error)
- func (r *TVRepository) GetByTitle(ctx context.Context, title string) ([]*models.TVShow, error)
- func (r *TVRepository) GetQueued(ctx context.Context) ([]*models.TVShow, error)
- func (r *TVRepository) GetWatched(ctx context.Context) ([]*models.TVShow, error)
- func (r *TVRepository) GetWatching(ctx context.Context) ([]*models.TVShow, error)
- func (r *TVRepository) List(ctx context.Context, opts TVListOptions) ([]*models.TVShow, error)
- func (r *TVRepository) MarkWatched(ctx context.Context, id int64) error
- func (r *TVRepository) StartWatching(ctx context.Context, id int64) error
- func (r *TVRepository) Update(ctx context.Context, tvShow *models.TVShow) error
- type TagSummary
- type TaskListOptions
- type TaskRepository
- func (r *TaskRepository) Count(ctx context.Context, opts TaskListOptions) (int64, error)
- func (r *TaskRepository) Create(ctx context.Context, task *models.Task) (int64, error)
- func (r *TaskRepository) Delete(ctx context.Context, id int64) error
- func (r *TaskRepository) Find(ctx context.Context, conditions TaskListOptions) ([]*models.Task, error)
- func (r *TaskRepository) Get(ctx context.Context, id int64) (*models.Task, error)
- func (r *TaskRepository) GetAbandoned(ctx context.Context) ([]*models.Task, error)
- func (r *TaskRepository) GetBlocked(ctx context.Context) ([]*models.Task, error)
- func (r *TaskRepository) GetByPriority(ctx context.Context, priority string) ([]*models.Task, error)
- func (r *TaskRepository) GetByProject(ctx context.Context, project string) ([]*models.Task, error)
- func (r *TaskRepository) GetByUUID(ctx context.Context, uuid string) (*models.Task, error)
- func (r *TaskRepository) GetCompleted(ctx context.Context) ([]*models.Task, error)
- func (r *TaskRepository) GetDone(ctx context.Context) ([]*models.Task, error)
- func (r *TaskRepository) GetHighPriority(ctx context.Context) ([]*models.Task, error)
- func (r *TaskRepository) GetInProgress(ctx context.Context) ([]*models.Task, error)
- func (r *TaskRepository) GetLowPriority(ctx context.Context) ([]*models.Task, error)
- func (r *TaskRepository) GetMediumPriority(ctx context.Context) ([]*models.Task, error)
- func (r *TaskRepository) GetPending(ctx context.Context) ([]*models.Task, error)
- func (r *TaskRepository) GetPrioritySummary(ctx context.Context) (map[string]int64, error)
- func (r *TaskRepository) GetProjects(ctx context.Context) ([]ProjectSummary, error)
- func (r *TaskRepository) GetStatusSummary(ctx context.Context) (map[string]int64, error)
- func (r *TaskRepository) GetTags(ctx context.Context) ([]TagSummary, error)
- func (r *TaskRepository) GetTasksByTag(ctx context.Context, tag string) ([]*models.Task, error)
- func (r *TaskRepository) GetTodo(ctx context.Context) ([]*models.Task, error)
- func (r *TaskRepository) List(ctx context.Context, opts TaskListOptions) ([]*models.Task, error)
- func (r *TaskRepository) Update(ctx context.Context, task *models.Task) error
- type TimeEntryRepository
- func (r *TimeEntryRepository) Delete(ctx context.Context, id int64) error
- func (r *TimeEntryRepository) Get(ctx context.Context, id int64) (*models.TimeEntry, error)
- func (r *TimeEntryRepository) GetActiveByTaskID(ctx context.Context, taskID int64) (*models.TimeEntry, error)
- func (r *TimeEntryRepository) GetByDateRange(ctx context.Context, start, end time.Time) ([]*models.TimeEntry, error)
- func (r *TimeEntryRepository) GetByTaskID(ctx context.Context, taskID int64) ([]*models.TimeEntry, error)
- func (r *TimeEntryRepository) GetTotalTimeByTaskID(ctx context.Context, taskID int64) (time.Duration, error)
- func (r *TimeEntryRepository) Start(ctx context.Context, taskID int64, description string) (*models.TimeEntry, error)
- func (r *TimeEntryRepository) Stop(ctx context.Context, id int64) (*models.TimeEntry, error)
- func (r *TimeEntryRepository) StopActiveByTaskID(ctx context.Context, taskID int64) (*models.TimeEntry, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BookListOptions ¶
type BookListOptions struct {
Status string
Author string
MinProgress int
MinRating float64
Search string
SortBy string
SortOrder string
Limit int
Offset int
}
BookListOptions defines options for listing books
type BookRepository ¶
type BookRepository struct {
// contains filtered or unexported fields
}
BookRepository provides database operations for books
func NewBookRepository ¶
func NewBookRepository(db *sql.DB) *BookRepository
NewBookRepository creates a new book repository
func (*BookRepository) Count ¶
func (r *BookRepository) Count(ctx context.Context, opts BookListOptions) (int64, error)
Count returns the number of books matching conditions
func (*BookRepository) Delete ¶
func (r *BookRepository) Delete(ctx context.Context, id int64) error
Delete removes a book by ID
func (*BookRepository) Find ¶
func (r *BookRepository) Find(ctx context.Context, conditions BookListOptions) ([]*models.Book, error)
Find retrieves books matching specific conditions
func (*BookRepository) FinishReading ¶
func (r *BookRepository) FinishReading(ctx context.Context, id int64) error
FinishReading marks a book as finished
func (*BookRepository) GetByAuthor ¶
GetByAuthor retrieves all books by a specific author
func (*BookRepository) GetFinished ¶
GetFinished retrieves all finished books
func (*BookRepository) GetReading ¶
GetReading retrieves all books currently being read
func (*BookRepository) List ¶
func (r *BookRepository) List(ctx context.Context, opts BookListOptions) ([]*models.Book, error)
List retrieves books with optional filtering and sorting
func (*BookRepository) StartReading ¶
func (r *BookRepository) StartReading(ctx context.Context, id int64) error
StartReading marks a book as started
func (*BookRepository) UpdateProgress ¶
UpdateProgress updates the reading progress of a book
type MovieListOptions ¶
type MovieListOptions struct {
Status string
Year int
MinRating float64
Search string
SortBy string
SortOrder string
Limit int
Offset int
}
MovieListOptions defines options for listing movies
type MovieRepository ¶
type MovieRepository struct {
// contains filtered or unexported fields
}
MovieRepository provides database operations for movies
func NewMovieRepository ¶
func NewMovieRepository(db *sql.DB) *MovieRepository
NewMovieRepository creates a new movie repository
func (*MovieRepository) Count ¶
func (r *MovieRepository) Count(ctx context.Context, opts MovieListOptions) (int64, error)
Count returns the number of movies matching conditions
func (*MovieRepository) Delete ¶
func (r *MovieRepository) Delete(ctx context.Context, id int64) error
Delete removes a movie by ID
func (*MovieRepository) Find ¶
func (r *MovieRepository) Find(ctx context.Context, conditions MovieListOptions) ([]*models.Movie, error)
Find retrieves movies matching specific conditions
func (*MovieRepository) GetWatched ¶
GetWatched retrieves all watched movies
func (*MovieRepository) List ¶
func (r *MovieRepository) List(ctx context.Context, opts MovieListOptions) ([]*models.Movie, error)
List retrieves movies with optional filtering and sorting
func (*MovieRepository) MarkWatched ¶
func (r *MovieRepository) MarkWatched(ctx context.Context, id int64) error
MarkWatched marks a movie as watched
type NoteListOptions ¶
type NoteListOptions struct {
Tags []string
Archived *bool
Title string
Content string
Limit int
Offset int
}
NoteListOptions defines filtering options for listing notes
type NoteRepository ¶
type NoteRepository struct {
// contains filtered or unexported fields
}
NoteRepository provides database operations for notes
func NewNoteRepository ¶
func NewNoteRepository(db *sql.DB) *NoteRepository
NewNoteRepository creates a new note repository
func (*NoteRepository) Archive ¶
func (r *NoteRepository) Archive(ctx context.Context, id int64) error
Archive marks a note as archived
func (*NoteRepository) Delete ¶
func (r *NoteRepository) Delete(ctx context.Context, id int64) error
Delete removes a note by its ID
func (*NoteRepository) GetArchived ¶
GetArchived retrieves all archived notes
func (*NoteRepository) GetByTitle ¶
GetByTitle searches for notes by title pattern
func (*NoteRepository) List ¶
func (r *NoteRepository) List(ctx context.Context, options NoteListOptions) ([]*models.Note, error)
List retrieves notes with optional filtering
func (*NoteRepository) SearchContent ¶
func (r *NoteRepository) SearchContent(ctx context.Context, searchText string) ([]*models.Note, error)
SearchContent searches for notes containing the specified text in content
type ProjectSummary ¶
ProjectSummary represents a project with its task count
type Repositories ¶
type Repositories struct {
Tasks *TaskRepository
Movies *MovieRepository
TV *TVRepository
Books *BookRepository
Notes *NoteRepository
TimeEntries *TimeEntryRepository
}
Repositories provides access to all resource repositories
func NewRepositories ¶
func NewRepositories(db *sql.DB) *Repositories
NewRepositories creates a new set of repositories
type TVListOptions ¶
type TVListOptions struct {
Status string
Title string
Season int
MinRating float64
Search string
SortBy string
SortOrder string
Limit int
Offset int
}
TVListOptions defines options for listing TV shows
type TVRepository ¶
type TVRepository struct {
// contains filtered or unexported fields
}
TVRepository provides database operations for TV shows
func NewTVRepository ¶
func NewTVRepository(db *sql.DB) *TVRepository
NewTVRepository creates a new TV show repository
func (*TVRepository) Count ¶
func (r *TVRepository) Count(ctx context.Context, opts TVListOptions) (int64, error)
Count returns the number of TV shows matching conditions
func (*TVRepository) Delete ¶
func (r *TVRepository) Delete(ctx context.Context, id int64) error
Delete removes a TV show by ID
func (*TVRepository) Find ¶
func (r *TVRepository) Find(ctx context.Context, conditions TVListOptions) ([]*models.TVShow, error)
Find retrieves TV shows matching specific conditions
func (*TVRepository) GetBySeason ¶
func (r *TVRepository) GetBySeason(ctx context.Context, title string, season int) ([]*models.TVShow, error)
GetBySeason retrieves all episodes for a specific season of a show
func (*TVRepository) GetByTitle ¶
GetByTitle retrieves all episodes for a specific TV show title
func (*TVRepository) GetWatched ¶
GetWatched retrieves all watched TV shows
func (*TVRepository) GetWatching ¶
GetWatching retrieves all TV shows currently being watched
func (*TVRepository) List ¶
func (r *TVRepository) List(ctx context.Context, opts TVListOptions) ([]*models.TVShow, error)
List retrieves TV shows with optional filtering and sorting
func (*TVRepository) MarkWatched ¶
func (r *TVRepository) MarkWatched(ctx context.Context, id int64) error
MarkWatched marks a TV show episode as watched
func (*TVRepository) StartWatching ¶
func (r *TVRepository) StartWatching(ctx context.Context, id int64) error
StartWatching marks a TV show as currently being watched
type TagSummary ¶
TagSummary represents a tag with its task count
type TaskListOptions ¶
type TaskListOptions struct {
Status string
Priority string
Project string
DueAfter time.Time
DueBefore time.Time
Search string
SortBy string
SortOrder string
Limit int
Offset int
}
TaskListOptions defines options for listing tasks
type TaskRepository ¶
type TaskRepository struct {
// contains filtered or unexported fields
}
TaskRepository provides database operations for tasks
func NewTaskRepository ¶
func NewTaskRepository(db *sql.DB) *TaskRepository
NewTaskRepository creates a new task repository
func (*TaskRepository) Count ¶
func (r *TaskRepository) Count(ctx context.Context, opts TaskListOptions) (int64, error)
Count returns the number of tasks matching conditions
func (*TaskRepository) Delete ¶
func (r *TaskRepository) Delete(ctx context.Context, id int64) error
Delete removes a task by ID
func (*TaskRepository) Find ¶
func (r *TaskRepository) Find(ctx context.Context, conditions TaskListOptions) ([]*models.Task, error)
Find retrieves tasks matching specific conditions
func (*TaskRepository) GetAbandoned ¶
GetAbandoned retrieves all tasks with abandoned status
func (*TaskRepository) GetBlocked ¶
GetBlocked retrieves all tasks with blocked status
func (*TaskRepository) GetByPriority ¶
func (r *TaskRepository) GetByPriority(ctx context.Context, priority string) ([]*models.Task, error)
GetByPriority retrieves all tasks with a specific priority
We need special handling for empty priority by using raw SQL
func (*TaskRepository) GetByProject ¶
GetByProject retrieves all tasks for a specific project
func (*TaskRepository) GetCompleted ¶
GetCompleted retrieves all completed tasks
func (*TaskRepository) GetHighPriority ¶
GetHighPriority retrieves all high priority tasks
func (*TaskRepository) GetInProgress ¶
GetInProgress retrieves all tasks with in-progress status
func (*TaskRepository) GetLowPriority ¶
GetLowPriority retrieves all low priority tasks
func (*TaskRepository) GetMediumPriority ¶
GetMediumPriority retrieves all medium priority tasks
func (*TaskRepository) GetPending ¶
GetPending retrieves all pending tasks
func (*TaskRepository) GetPrioritySummary ¶
GetPrioritySummary returns a summary of tasks by priority
func (*TaskRepository) GetProjects ¶
func (r *TaskRepository) GetProjects(ctx context.Context) ([]ProjectSummary, error)
GetProjects retrieves all unique project names with their task counts
func (*TaskRepository) GetStatusSummary ¶
GetStatusSummary returns a summary of tasks by status
func (*TaskRepository) GetTags ¶
func (r *TaskRepository) GetTags(ctx context.Context) ([]TagSummary, error)
GetTags retrieves all unique tags with their task counts
func (*TaskRepository) GetTasksByTag ¶
GetTasksByTag retrieves all tasks with a specific tag
func (*TaskRepository) List ¶
func (r *TaskRepository) List(ctx context.Context, opts TaskListOptions) ([]*models.Task, error)
List retrieves tasks with optional filtering and sorting
type TimeEntryRepository ¶
type TimeEntryRepository struct {
// contains filtered or unexported fields
}
TimeEntryRepository provides database operations for time entries
func NewTimeEntryRepository ¶
func NewTimeEntryRepository(db *sql.DB) *TimeEntryRepository
NewTimeEntryRepository creates a new time entry repository
func (*TimeEntryRepository) Delete ¶
func (r *TimeEntryRepository) Delete(ctx context.Context, id int64) error
Delete removes a time entry
func (*TimeEntryRepository) GetActiveByTaskID ¶
func (r *TimeEntryRepository) GetActiveByTaskID(ctx context.Context, taskID int64) (*models.TimeEntry, error)
GetActiveByTaskID retrieves the active time entry for a task (if any)
func (*TimeEntryRepository) GetByDateRange ¶
func (r *TimeEntryRepository) GetByDateRange(ctx context.Context, start, end time.Time) ([]*models.TimeEntry, error)
GetByDateRange retrieves time entries within a date range
func (*TimeEntryRepository) GetByTaskID ¶
func (r *TimeEntryRepository) GetByTaskID(ctx context.Context, taskID int64) ([]*models.TimeEntry, error)
GetByTaskID retrieves all time entries for a task
func (*TimeEntryRepository) GetTotalTimeByTaskID ¶
func (r *TimeEntryRepository) GetTotalTimeByTaskID(ctx context.Context, taskID int64) (time.Duration, error)
GetTotalTimeByTaskID calculates total time spent on a task
func (*TimeEntryRepository) Start ¶
func (r *TimeEntryRepository) Start(ctx context.Context, taskID int64, description string) (*models.TimeEntry, error)
Start creates a new active time entry for a task
func (*TimeEntryRepository) StopActiveByTaskID ¶
func (r *TimeEntryRepository) StopActiveByTaskID(ctx context.Context, taskID int64) (*models.TimeEntry, error)
StopActiveByTaskID stops the active time entry for a task