From 7d1317307fba2d94cec54fedaa15394fc6f447ae Mon Sep 17 00:00:00 2001 From: Thomas von Dein Date: Mon, 31 Aug 2026 21:10:15 +0200 Subject: [PATCH] fix #26: check db file existence before trying to read from it --- app/db.go | 8 ++++++++ cfg/config.go | 2 +- cmd/crud.go | 8 ++++++++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/app/db.go b/app/db.go index 82ce768..65cc093 100644 --- a/app/db.go +++ b/app/db.go @@ -91,6 +91,14 @@ func New(file string, bucket string, debug bool) (*DB, error) { return &DB{Debug: debug, Dbfile: file, Bucket: bucket}, nil } +func (db *DB) Exists() error { + if !common.FileExists(db.Dbfile) { + return fmt.Errorf("db file %s doesn't exist", db.Dbfile) + } + + return nil +} + func (db *DB) Open() error { slog.Debug("opening DB", "dbfile", db.Dbfile) diff --git a/cfg/config.go b/cfg/config.go index bbfa6df..bd4b220 100644 --- a/cfg/config.go +++ b/cfg/config.go @@ -30,7 +30,7 @@ import ( "github.com/tlinden/yadu" ) -var Version string = "v0.3.1" +var Version string = "v0.3.2" type BucketConfig struct { Encrypt bool diff --git a/cmd/crud.go b/cmd/crud.go index 27f0c8f..7f9c6b4 100644 --- a/cmd/crud.go +++ b/cmd/crud.go @@ -107,6 +107,10 @@ func Get(conf *cfg.Config) *cobra.Command { attr.Key = args[0] } + if err := conf.DB.Exists(); err != nil { + return err + } + entry, err := conf.DB.Get(&attr) if err != nil { return err @@ -207,6 +211,10 @@ func List(conf *cfg.Config) *cobra.Command { conf.Mode = "wide" } + if err := conf.DB.Exists(); err != nil { + return err + } + entries, err := conf.DB.List(&attr, conf.Fulltext) if err != nil { return err