summaryrefslogtreecommitdiff
path: root/internal/api/google_tasks.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/api/google_tasks.go')
-rw-r--r--internal/api/google_tasks.go17
1 files changed, 17 insertions, 0 deletions
diff --git a/internal/api/google_tasks.go b/internal/api/google_tasks.go
index 0b4d7c2..77a00ed 100644
--- a/internal/api/google_tasks.go
+++ b/internal/api/google_tasks.go
@@ -171,3 +171,20 @@ func (c *GoogleTasksClient) UncompleteTask(ctx context.Context, listID, taskID s
}
return nil
}
+
+// GetTaskLists returns all task lists accessible to the user
+func (c *GoogleTasksClient) GetTaskLists(ctx context.Context) ([]models.TaskListInfo, error) {
+ list, err := c.srv.Tasklists.List().Context(ctx).Do()
+ if err != nil {
+ return nil, fmt.Errorf("failed to fetch task lists: %v", err)
+ }
+
+ var lists []models.TaskListInfo
+ for _, item := range list.Items {
+ lists = append(lists, models.TaskListInfo{
+ ID: item.Id,
+ Name: item.Title,
+ })
+ }
+ return lists, nil
+}