diff options
author | Julian Jørgensen <julian@jtle.dk> | 2024-05-23 21:34:28 +0200 |
---|---|---|
committer | Julian Jørgensen <julian@jtle.dk> | 2024-05-23 21:34:28 +0200 |
commit | 19f8454a680c5231df68fee36ed9758587df316c (patch) | |
tree | 33521610573c6e075a5625e861c8677caa5dc615 /page.go | |
parent | dd11cf4ab199e5d53d03dc95b24007a12727ad70 (diff) |
Rudimentary task editing
Diffstat (limited to 'page.go')
-rw-r--r-- | page.go | 59 |
1 files changed, 59 insertions, 0 deletions
@@ -0,0 +1,59 @@ +package main + +type Service struct { + Db Database +} + +type EntryPage struct { + Task *Task + Detached bool + Tracking *Task +} + +type RootPage struct { + Entry *EntryPage + Tasks []*Task +} + +func NewService(db Database) *Service { + return &Service { + Db: db, + } +} + +func (srv *Service) GetEntryPage(detached *Task) (*EntryPage, error) { + tracking, err := srv.Db.GetTracking() + if err != nil { + return nil, err + } + + page := &EntryPage { + Task: tracking, + Detached: false, + Tracking: tracking, + } + + if detached != nil { + page.Task = detached + page.Detached = true + } + + + return page, nil +} + +func (srv *Service) GetRootPage() (*RootPage, error) { + entry, err := srv.GetEntryPage(nil) + if err != nil { + return nil, err + } + tasks, err := srv.Db.GetTasks() + if err != nil { + return nil, err + } + + return &RootPage { + Entry: entry, + Tasks: tasks, + }, nil +} |