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.go22
1 files changed, 17 insertions, 5 deletions
diff --git a/internal/models/types.go b/internal/models/types.go
index fdde455..4a923a8 100644
--- a/internal/models/types.go
+++ b/internal/models/types.go
@@ -29,6 +29,23 @@ type Task struct {
NextOccurrenceOverride *time.Time `json:"next_occurrence_override,omitempty"`
}
+// Project is a lightweight grouping for doot-native tasks. Exactly one
+// project per task (Task.ProjectID); labels handle cross-cutting tagging.
+type Project struct {
+ ID string `json:"id"`
+ Name string `json:"name"`
+ Color string `json:"color"`
+ CreatedAt time.Time `json:"created_at"`
+ Archived bool `json:"archived"`
+}
+
+// LabelColor maps a label's free-text name to its display color. A label
+// with no matching row here just has no color assigned yet.
+type LabelColor struct {
+ Name string `json:"name"`
+ Color string `json:"color"`
+}
+
// Meal represents a meal from PlanToEat
type Meal struct {
ID string `json:"id"`
@@ -126,11 +143,6 @@ type Card struct {
URL string `json:"url"`
}
-// Project represents a project (used for source config grouping)
-type Project struct {
- ID string `json:"id"`
- Name string `json:"name"`
-}
// CalendarEvent represents a Google Calendar event
type CalendarEvent struct {