summaryrefslogtreecommitdiff
path: root/internal/models/types.go
diff options
context:
space:
mode:
authorPeter Stone <thepeterstone@gmail.com>2026-07-14 20:11:31 +0000
committerPeter Stone <thepeterstone@gmail.com>2026-07-16 02:44:02 +0000
commit0baf1134ea2d415aa55079ff98476afd0acf5811 (patch)
tree715f830a792d63af1a83998a166638cdb1bc696a /internal/models/types.go
parent7605e59f6d4524f4a0bf5d573916c8728ad0bfdb (diff)
feat(tasks): add recurrence columns and model fields for native tasks
recurrence_series_id != "" is the real recurring indicator (IsRecurring predates this feature and is never set). Adds parseWeekdays/formatWeekdays for the comma-separated weekday-list column, and threads the five new columns through scanNativeTasks and all four existing SELECT queries. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VTUSAEKfsPc6WGDq45yPHD
Diffstat (limited to 'internal/models/types.go')
-rw-r--r--internal/models/types.go9
1 files changed, 9 insertions, 0 deletions
diff --git a/internal/models/types.go b/internal/models/types.go
index 6f8c405..f74d264 100644
--- a/internal/models/types.go
+++ b/internal/models/types.go
@@ -20,6 +20,15 @@ type Task struct {
URL string `json:"url"`
CreatedAt time.Time `json:"created_at"`
IsRecurring bool `json:"is_recurring"`
+
+ // Recurrence (doot-native tasks only). RecurrenceSeriesID != "" is the
+ // real "is this task recurring" indicator -- IsRecurring above predates
+ // this feature and is never set by it.
+ RecurrenceFreq string `json:"recurrence_freq,omitempty"`
+ RecurrenceInterval int `json:"recurrence_interval,omitempty"`
+ RecurrenceWeekdays []int `json:"recurrence_weekdays,omitempty"`
+ RecurrenceSeriesID string `json:"recurrence_series_id,omitempty"`
+ NextOccurrenceOverride *time.Time `json:"next_occurrence_override,omitempty"`
}
// Meal represents a meal from PlanToEat