diff options
| author | Peter Stone <thepeterstone@gmail.com> | 2026-01-26 20:55:50 -1000 |
|---|---|---|
| committer | Peter Stone <thepeterstone@gmail.com> | 2026-01-26 20:55:50 -1000 |
| commit | a3156a2f399ea03c645ee23b0099d9d722ce7e1e (patch) | |
| tree | 03c813717e77ae27d8aee9e676f1b75a6a01648c /internal/api/interfaces.go | |
| parent | 70e6e51b6781a3986c51e3496b81c88665286872 (diff) | |
Add Google Tasks integration (#43)
- New GoogleTasksClient for fetching and managing Google Tasks
- Tasks appear in Timeline view with yellow indicator dot
- Tap checkbox to complete/uncomplete tasks via Google API
- Shares credentials file with Google Calendar (GOOGLE_CREDENTIALS_FILE)
- Configure task list via GOOGLE_TASKS_LIST_ID env var (default: @default)
- Supports comma-separated list IDs for multiple lists
New files:
- internal/api/google_tasks.go - Google Tasks API client
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Diffstat (limited to 'internal/api/interfaces.go')
| -rw-r--r-- | internal/api/interfaces.go | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/internal/api/interfaces.go b/internal/api/interfaces.go index 70bba1f..aa351ab 100644 --- a/internal/api/interfaces.go +++ b/internal/api/interfaces.go @@ -42,10 +42,19 @@ type GoogleCalendarAPI interface { GetEventsByDateRange(ctx context.Context, start, end time.Time) ([]models.CalendarEvent, error) } +// GoogleTasksAPI defines the interface for Google Tasks operations +type GoogleTasksAPI interface { + GetTasks(ctx context.Context) ([]models.GoogleTask, error) + GetTasksByDateRange(ctx context.Context, start, end time.Time) ([]models.GoogleTask, error) + CompleteTask(ctx context.Context, listID, taskID string) error + UncompleteTask(ctx context.Context, listID, taskID string) error +} + // Ensure concrete types implement interfaces var ( _ TodoistAPI = (*TodoistClient)(nil) _ TrelloAPI = (*TrelloClient)(nil) _ PlanToEatAPI = (*PlanToEatClient)(nil) _ GoogleCalendarAPI = (*GoogleCalendarClient)(nil) + _ GoogleTasksAPI = (*GoogleTasksClient)(nil) ) |
