about summary refs log tree commit diff stats
path: root/internal/index
diff options
context:
space:
mode:
authorAlan Pearce2025-03-19 20:49:46 +0100
committerAlan Pearce2025-03-19 20:51:40 +0100
commit383ee780613116e78db9114a39a2d6127533463c (patch)
treec07e2af7ae910d5c6f80836dce8457ba44c54ceb /internal/index
parent49e3004d33bf84aa081460e4a6d89a8d84cc12b0 (diff)
downloadsearchix-383ee780613116e78db9114a39a2d6127533463c.tar.lz
searchix-383ee780613116e78db9114a39a2d6127533463c.tar.zst
searchix-383ee780613116e78db9114a39a2d6127533463c.zip
feat: show last/next/current indexing run time
Diffstat (limited to 'internal/index')
-rw-r--r--internal/index/index_meta.go11
-rw-r--r--internal/index/search.go5
2 files changed, 16 insertions, 0 deletions
diff --git a/internal/index/index_meta.go b/internal/index/index_meta.go
index 635965a..0ff835b 100644
--- a/internal/index/index_meta.go
+++ b/internal/index/index_meta.go
@@ -118,3 +118,14 @@ func (i *Meta) SetSourceMeta(source string, meta *SourceMeta) {
 	}
 	i.data.Sources[source] = meta
 }
+
+func (i *Meta) LastUpdated() time.Time {
+	var last time.Time
+	for _, sourceMeta := range i.data.Sources {
+		if sourceMeta.Updated.After(last) {
+			last = sourceMeta.Updated
+		}
+	}
+
+	return last
+}
diff --git a/internal/index/search.go b/internal/index/search.go
index 3f9c13a..d5bf177 100644
--- a/internal/index/search.go
+++ b/internal/index/search.go
@@ -4,6 +4,7 @@ import (
 	"bytes"
 	"context"
 	"encoding/gob"
+	"time"
 
 	"go.alanpearce.eu/searchix/internal/config"
 	"go.alanpearce.eu/searchix/internal/nix"
@@ -33,6 +34,10 @@ type ReadIndex struct {
 	meta  *Meta
 }
 
+func (index *ReadIndex) LastUpdated() time.Time {
+	return index.meta.LastUpdated()
+}
+
 func (index *ReadIndex) GetEnabledSources() ([]string, errors.E) {
 	facet := bleve.NewFacetRequest("Source", 100)
 	query := bleve.NewMatchAllQuery()