diff --git a/api/connection.go b/api/connection.go index e78ca5a76..710b978da 100644 --- a/api/connection.go +++ b/api/connection.go @@ -40,6 +40,7 @@ type Connection interface { GetDatabaseFileName() string GetDatabaseFilePath() string GetStorePath() string + GetDatabaseFileSize() (int64, error) IsEncryptedStore() bool NeedsEncryptionMigration() (bool, error) diff --git a/api/database/boltdb/db.go b/api/database/boltdb/db.go index 5c95bef9e..cef93b345 100644 --- a/api/database/boltdb/db.go +++ b/api/database/boltdb/db.go @@ -62,6 +62,15 @@ func (connection *DbConnection) GetStorePath() string { return connection.Path } +func (connection *DbConnection) GetDatabaseFileSize() (int64, error) { + file, err := os.Stat(connection.GetDatabaseFilePath()) + if err != nil { + return 0, fmt.Errorf("Failed to stat database file path: %s err: %w", connection.GetDatabaseFilePath(), err) + } + + return file.Size(), nil +} + func (connection *DbConnection) SetEncrypted(flag bool) { connection.isEncrypted = flag }