summaryrefslogtreecommitdiff
path: root/internal/models/types.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/models/types.go')
-rw-r--r--internal/models/types.go25
1 files changed, 18 insertions, 7 deletions
diff --git a/internal/models/types.go b/internal/models/types.go
index d9e955b..a604b28 100644
--- a/internal/models/types.go
+++ b/internal/models/types.go
@@ -57,6 +57,16 @@ type Project struct {
Name string `json:"name"`
}
+// CalendarEvent represents a Google Calendar event
+type CalendarEvent struct {
+ ID string `json:"id"`
+ Summary string `json:"summary"`
+ Description string `json:"description"`
+ Start time.Time `json:"start"`
+ End time.Time `json:"end"`
+ HTMLLink string `json:"html_link"`
+}
+
// CacheMetadata tracks when data was last fetched
type CacheMetadata struct {
Key string `json:"key"`
@@ -72,11 +82,12 @@ func (cm *CacheMetadata) IsCacheValid() bool {
// DashboardData aggregates all data for the main view
type DashboardData struct {
- Tasks []Task `json:"tasks"`
- Meals []Meal `json:"meals"`
- Boards []Board `json:"boards,omitempty"`
- TrelloTasks []Card `json:"trello_tasks,omitempty"`
- Projects []Project `json:"projects,omitempty"`
- LastUpdated time.Time `json:"last_updated"`
- Errors []string `json:"errors,omitempty"`
+ Tasks []Task `json:"tasks"`
+ Meals []Meal `json:"meals"`
+ Boards []Board `json:"boards,omitempty"`
+ TrelloTasks []Card `json:"trello_tasks,omitempty"`
+ Projects []Project `json:"projects,omitempty"`
+ Events []CalendarEvent `json:"events,omitempty"`
+ LastUpdated time.Time `json:"last_updated"`
+ Errors []string `json:"errors,omitempty"`
}