summaryrefslogtreecommitdiff
path: root/internal/store/sqlite.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/store/sqlite.go')
-rw-r--r--internal/store/sqlite.go15
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
}