diff options
Diffstat (limited to 'internal/store/sqlite.go')
| -rw-r--r-- | internal/store/sqlite.go | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/internal/store/sqlite.go b/internal/store/sqlite.go index 465c3c1..24a24d7 100644 --- a/internal/store/sqlite.go +++ b/internal/store/sqlite.go @@ -735,14 +735,16 @@ func (s *Store) GetShoppingItemChecks(source string) (map[string]bool, error) { return checks, rows.Err() } -// GetTasksByDateRange retrieves tasks due within a specific date range +// GetTasksByDateRange retrieves tasks due within a specific date range, +// including overdue tasks (due before start) so they appear in the timeline. func (s *Store) GetTasksByDateRange(start, end time.Time) ([]models.Task, error) { rows, err := s.db.Query(` SELECT id, content, description, project_id, project_name, due_date, priority, completed, labels, url, created_at FROM tasks - WHERE due_date BETWEEN ? AND ? + WHERE due_date IS NOT NULL AND due_date <= ? + AND completed = FALSE ORDER BY due_date ASC, priority DESC - `, start, end) + `, end) if err != nil { return nil, err } @@ -755,15 +757,16 @@ func (s *Store) GetMealsByDateRange(start, end time.Time) ([]models.Meal, error) return s.GetMeals(start, end) } -// GetCardsByDateRange retrieves cards due within a specific date range +// GetCardsByDateRange retrieves cards due within a specific date range, +// including overdue cards (due before start) so they appear in the timeline. func (s *Store) GetCardsByDateRange(start, end time.Time) ([]models.Card, error) { rows, err := s.db.Query(` SELECT c.id, c.name, b.name, c.list_id, c.list_name, c.due_date, c.url FROM cards c JOIN boards b ON c.board_id = b.id - WHERE c.due_date BETWEEN ? AND ? + WHERE c.due_date IS NOT NULL AND c.due_date <= ? ORDER BY c.due_date ASC - `, start, end) + `, end) if err != nil { return nil, err } |
