From cbb0b53de1d06918c142171fd084f14f03798bc1 Mon Sep 17 00:00:00 2001
From: Peter Stone <thepeterstone@gmail.com>
Date: Sat, 31 Jan 2026 20:16:12 -1000
Subject: Add feature toggles system with settings UI (#74)

- Add feature_toggles table (migration 012)
- Add source_config table for future source selection (migration 013)
- Create settings page at /settings with:
  - Feature toggle management (enable/disable/create/delete)
  - Data source configuration (sync and toggle boards/calendars)
- Add store methods for feature toggles and source config
- Add GetCalendarList and GetTaskLists to Google API clients
- Document feature toggle workflow in DESIGN.md

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
---
 migrations/013_source_config.sql | 13 +++++++++++++
 1 file changed, 13 insertions(+)
 create mode 100644 migrations/013_source_config.sql

(limited to 'migrations/013_source_config.sql')

diff --git a/migrations/013_source_config.sql b/migrations/013_source_config.sql
new file mode 100644
index 0000000..7083d33
--- /dev/null
+++ b/migrations/013_source_config.sql
@@ -0,0 +1,13 @@
+-- Source configuration for selecting which items to fetch
+CREATE TABLE IF NOT EXISTS source_config (
+    id INTEGER PRIMARY KEY AUTOINCREMENT,
+    source TEXT NOT NULL,           -- 'trello', 'todoist', 'gcal', 'gtasks'
+    item_type TEXT NOT NULL,        -- 'board', 'project', 'calendar', 'tasklist'
+    item_id TEXT NOT NULL,          -- ID from the source
+    item_name TEXT NOT NULL,        -- Display name
+    enabled INTEGER NOT NULL DEFAULT 1,
+    updated_at TEXT NOT NULL DEFAULT (datetime('now', 'localtime')),
+    UNIQUE(source, item_type, item_id)
+);
+
+CREATE INDEX IF NOT EXISTS idx_source_config_source ON source_config(source, enabled);
-- 
cgit v1.2.3

