From 3cead35919c59ed6ceba77be7da0a638f3eff85e Mon Sep 17 00:00:00 2001
From: Vasili Novikov <vasya.novikov+cm3513git@gmail.com>
Date: Sat, 3 Jul 2021 16:15:32 +0200
Subject: [PATCH] Add database decryption errors descriptions

---
 src/warp_endpoints.rs | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/warp_endpoints.rs b/src/warp_endpoints.rs
index b02c1357..412b4677 100644
--- a/src/warp_endpoints.rs
+++ b/src/warp_endpoints.rs
@@ -13,6 +13,7 @@ use crate::constants;
 use crate::database_api;
 use crate::database_migrate_refinery;
 use crate::error::Error;
+use crate::error::ErrorContext;
 use crate::error::Result;
 use crate::file_api;
 use crate::internal_api;
@@ -230,8 +231,10 @@ fn initialize_db(
 ) -> Result<Connection> {
     let database_path = format!("{}{}", &owner, constants::DATABASE_SUFFIX);
     let database_path = PathBuf::from(constants::DATABASE_DIR).join(database_path);
-    let mut conn = Connection::open(database_path).unwrap();
-    DatabaseKey::execute_sqlite_pragma(database_key, &conn)?;
+    let mut conn = Connection::open(database_path)
+        .context_str("Failed to open database file (does Pod have filesystem access?)")?;
+    DatabaseKey::execute_sqlite_pragma(database_key, &conn)
+        .context_str("Failed to open the database file (did databaseKey change between runs?)")?;
     conn.execute_batch("PRAGMA foreign_keys = ON;")?;
     let mut init_db = init_db.write()?;
     if !init_db.contains(owner) {
-- 
GitLab