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.go30
1 files changed, 30 insertions, 0 deletions
diff --git a/internal/models/types.go b/internal/models/types.go
index e28d985..ab06ea2 100644
--- a/internal/models/types.go
+++ b/internal/models/types.go
@@ -114,6 +114,18 @@ type GoogleTask struct {
UpdatedAt time.Time `json:"updated_at"`
}
+// CalendarInfo represents basic info about a Google Calendar
+type CalendarInfo struct {
+ ID string `json:"id"`
+ Name string `json:"name"`
+}
+
+// TaskListInfo represents basic info about a Google Tasks list
+type TaskListInfo struct {
+ ID string `json:"id"`
+ Name string `json:"name"`
+}
+
// Bug represents a bug report
type Bug struct {
ID int64 `json:"id"`
@@ -207,3 +219,21 @@ type CompletedTask struct {
DueDate *time.Time `json:"due_date,omitempty"`
CompletedAt time.Time `json:"completed_at"`
}
+
+// SourceConfig represents a configurable item from a data source
+type SourceConfig struct {
+ ID int64 `json:"id"`
+ Source string `json:"source"` // trello, todoist, gcal, gtasks
+ ItemType string `json:"item_type"` // board, project, calendar, tasklist
+ ItemID string `json:"item_id"`
+ ItemName string `json:"item_name"`
+ Enabled bool `json:"enabled"`
+}
+
+// FeatureToggle represents a feature flag
+type FeatureToggle struct {
+ ID int64 `json:"id"`
+ Name string `json:"name"`
+ Description string `json:"description"`
+ Enabled bool `json:"enabled"`
+}