summaryrefslogtreecommitdiff
path: root/internal/models
diff options
context:
space:
mode:
Diffstat (limited to 'internal/models')
-rw-r--r--internal/models/timeline.go14
-rw-r--r--internal/models/types.go13
2 files changed, 22 insertions, 5 deletions
diff --git a/internal/models/timeline.go b/internal/models/timeline.go
index 3475696..0968d41 100644
--- a/internal/models/timeline.go
+++ b/internal/models/timeline.go
@@ -9,10 +9,11 @@ import (
type TimelineItemType string
const (
- TimelineItemTypeTask TimelineItemType = "task"
- TimelineItemTypeMeal TimelineItemType = "meal"
- TimelineItemTypeCard TimelineItemType = "card"
- TimelineItemTypeEvent TimelineItemType = "event"
+ TimelineItemTypeTask TimelineItemType = "task"
+ TimelineItemTypeMeal TimelineItemType = "meal"
+ TimelineItemTypeCard TimelineItemType = "card"
+ TimelineItemTypeEvent TimelineItemType = "event"
+ TimelineItemTypeGTask TimelineItemType = "gtask" // Google Tasks
)
type DaySection string
@@ -36,7 +37,10 @@ type TimelineItem struct {
// UI enhancement fields
IsCompleted bool `json:"is_completed"`
DaySection DaySection `json:"day_section"`
- Source string `json:"source"` // "todoist", "trello", "plantoeat", "calendar"
+ Source string `json:"source"` // "todoist", "trello", "plantoeat", "calendar", "gtasks"
+
+ // Source-specific metadata
+ ListID string `json:"list_id,omitempty"` // For Google Tasks
}
// ComputeDaySection sets the DaySection based on the item's time
diff --git a/internal/models/types.go b/internal/models/types.go
index 6dc8716..4bf8462 100644
--- a/internal/models/types.go
+++ b/internal/models/types.go
@@ -101,6 +101,19 @@ type CalendarEvent struct {
HTMLLink string `json:"html_link"`
}
+// GoogleTask represents a task from Google Tasks
+type GoogleTask struct {
+ ID string `json:"id"`
+ Title string `json:"title"`
+ Notes string `json:"notes,omitempty"`
+ DueDate *time.Time `json:"due_date,omitempty"`
+ Status string `json:"status"` // "needsAction" or "completed"
+ Completed bool `json:"completed"`
+ ListID string `json:"list_id"`
+ URL string `json:"url"`
+ UpdatedAt time.Time `json:"updated_at"`
+}
+
// Bug represents a bug report
type Bug struct {
ID int64 `json:"id"`