summaryrefslogtreecommitdiff
path: root/migrations
diff options
context:
space:
mode:
authorPeter Stone <thepeterstone@gmail.com>2026-02-17 14:43:42 -1000
committerPeter Stone <thepeterstone@gmail.com>2026-02-17 14:43:42 -1000
commitec7d895c00c571b37ad9255b99b2e1756776c9e1 (patch)
tree31f8a925375fd5b00ee5febfe5d83f35487b1dd3 /migrations
parent44fa97ce901bbfc5957e6d9ba90a53086bb5950b (diff)
Add calendar cache layer, incremental sync tests, completion assertions
- Google Calendar events now cached via CacheFetcher pattern with stale-cache fallback on API errors (new migration 015, store methods, fetchCalendarEvents handler, BuildTimeline reads from store) - Todoist incremental sync path covered by 5 new tests - Task completion tests assert response body, headers, and template data Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Diffstat (limited to 'migrations')
-rw-r--r--migrations/015_calendar_events.sql11
1 files changed, 11 insertions, 0 deletions
diff --git a/migrations/015_calendar_events.sql b/migrations/015_calendar_events.sql
new file mode 100644
index 0000000..071f735
--- /dev/null
+++ b/migrations/015_calendar_events.sql
@@ -0,0 +1,11 @@
+CREATE TABLE IF NOT EXISTS calendar_events (
+ id TEXT PRIMARY KEY,
+ summary TEXT NOT NULL,
+ description TEXT,
+ start_time DATETIME NOT NULL,
+ end_time DATETIME NOT NULL,
+ html_link TEXT,
+ updated_at DATETIME DEFAULT CURRENT_TIMESTAMP
+);
+
+CREATE INDEX IF NOT EXISTS idx_calendar_events_start ON calendar_events(start_time);