about summary refs log tree commit diff stats
path: root/internal/search/index_meta.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/search/index_meta.go')
-rw-r--r--internal/search/index_meta.go73
1 files changed, 0 insertions, 73 deletions
diff --git a/internal/search/index_meta.go b/internal/search/index_meta.go
deleted file mode 100644
index bb7e69f..0000000
--- a/internal/search/index_meta.go
+++ /dev/null
@@ -1,73 +0,0 @@
-package search
-
-import (
-	"encoding/json"
-	"log/slog"
-	"os"
-	"searchix/internal/file"
-
-	"github.com/pkg/errors"
-)
-
-const CurrentSchemaVersion = 1
-
-type IndexMeta struct {
-	path          string
-	SchemaVersion int
-}
-
-func createMeta(path string) (*IndexMeta, error) {
-	exists, err := file.Exists(path)
-	if err != nil {
-		return nil, errors.WithMessage(err, "could not check for existence of index metadata")
-	}
-	if exists {
-		return nil, errors.New("index metadata already exists")
-	}
-
-	return &IndexMeta{
-		path:          path,
-		SchemaVersion: CurrentSchemaVersion,
-	}, nil
-}
-
-func openMeta(path string) (*IndexMeta, error) {
-	j, err := os.ReadFile(path)
-	if err != nil {
-		return nil, errors.WithMessage(err, "could not open index metadata file")
-	}
-	var meta IndexMeta
-	err = json.Unmarshal(j, &meta)
-	if err != nil {
-		return nil, errors.WithMessage(err, "index metadata is corrupt, try replacing the index")
-	}
-
-	meta.checkSchemaVersion()
-
-	return &meta, nil
-}
-
-func (i *IndexMeta) checkSchemaVersion() {
-	if i.SchemaVersion < CurrentSchemaVersion {
-		slog.Warn(
-			"Index schema version out of date, suggest re-indexing",
-			"schema_version",
-			i.SchemaVersion,
-			"latest_version",
-			CurrentSchemaVersion,
-		)
-	}
-}
-
-func (i *IndexMeta) Save() error {
-	j, err := json.Marshal(i)
-	if err != nil {
-		return errors.WithMessage(err, "could not prepare index metadata for saving")
-	}
-	err = os.WriteFile(i.path, j, 0o600)
-	if err != nil {
-		return errors.WithMessage(err, "could not save index metadata")
-	}
-
-	return nil
-}