summaryrefslogtreecommitdiff
path: root/internal/models/widget.go
blob: 8d0bdd66f5d3ccc569aae06f8aa2a20ab8e87fd8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package models

import "time"

// WidgetItem is a single item in the widget API response.
// Source values: "doot", "trello", "plantoeat", "calendar", "gtasks"
// Type values:   "task", "event"
type WidgetItem struct {
	ID          string     `json:"id"`
	Title       string     `json:"title"`
	Source      string     `json:"source"`
	Type        string     `json:"type"`
	Start       *time.Time `json:"start,omitempty"` // nil = no specific time (floating task)
	End         *time.Time `json:"end,omitempty"`
	IsAllDay    bool       `json:"is_all_day"`
	URL         string     `json:"url,omitempty"`
	Completable bool       `json:"completable"` // true = doot task (checkbox shown)
}

// WidgetResponse is the full /api/widget response body.
type WidgetResponse struct {
	Now   time.Time    `json:"now"`
	Items []WidgetItem `json:"items"`
}