diff options
Diffstat (limited to 'internal/index')
-rw-r--r-- | internal/index/index_meta.go | 11 | ||||
-rw-r--r-- | internal/index/search.go | 5 |
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() |