diff options
Diffstat (limited to 'internal/components/data.go')
-rw-r--r-- | internal/components/data.go | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/internal/components/data.go b/internal/components/data.go index 977b90e..9bc0c5e 100644 --- a/internal/components/data.go +++ b/internal/components/data.go @@ -1,12 +1,21 @@ package components import ( + "time" + "go.alanpearce.eu/searchix/frontend" "go.alanpearce.eu/searchix/internal/config" search "go.alanpearce.eu/searchix/internal/index" "go.alanpearce.eu/searchix/internal/nix" ) +var Indexing struct { + InProgress bool + StartedAt time.Time + FinishedAt time.Time + NextRun time.Time +} + type TemplateData struct { Sources []*config.Source Source *config.Source @@ -34,3 +43,22 @@ func convertMatch[I nix.Importable](m nix.Importable) *I { return &i } + +func SetNextRun(nextRun time.Time) { + Indexing.NextRun = nextRun +} + +func SetLastUpdated(last time.Time) { + Indexing.FinishedAt = last +} + +func MarkIndexingStarted() { + Indexing.StartedAt = time.Now() + Indexing.InProgress = true +} + +func MarkIndexingFinished(nextRun time.Time) { + Indexing.FinishedAt = time.Now() + Indexing.InProgress = false + Indexing.NextRun = nextRun +} |