|
|
|
@ -7,7 +7,7 @@ use std::error::Error;
|
|
|
|
|
use std::fmt;
|
|
|
|
|
use std::path::PathBuf;
|
|
|
|
|
|
|
|
|
|
static DB_INIT_QUERY: &'static str = include_str!("init.sql");
|
|
|
|
|
static DB_INIT_QUERY: &str = include_str!("init.sql");
|
|
|
|
|
|
|
|
|
|
pub struct DbHandle {
|
|
|
|
|
conn: Connection,
|
|
|
|
@ -50,13 +50,13 @@ impl DbHandle {
|
|
|
|
|
pub fn new(db_path: &Option<String>) -> DbHandle {
|
|
|
|
|
let path: PathBuf = db_path
|
|
|
|
|
.as_ref()
|
|
|
|
|
.map(|path: &String| PathBuf::from(path))
|
|
|
|
|
.map(PathBuf::from)
|
|
|
|
|
.unwrap_or_else(|| dirs::home_dir().unwrap().join(".foil").to_path_buf());
|
|
|
|
|
let mut conn: Connection = Connection::open(path).unwrap();
|
|
|
|
|
let tx = conn.transaction().unwrap();
|
|
|
|
|
tx.execute_batch(DB_INIT_QUERY).unwrap();
|
|
|
|
|
tx.commit().unwrap();
|
|
|
|
|
DbHandle { conn: conn }
|
|
|
|
|
DbHandle { conn }
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
pub fn get_namespace_id(
|
|
|
|
@ -93,7 +93,7 @@ impl DbHandle {
|
|
|
|
|
)
|
|
|
|
|
.unwrap();
|
|
|
|
|
let rowid: i64 = tx.last_insert_rowid();
|
|
|
|
|
let _ = tx.commit().unwrap();
|
|
|
|
|
tx.commit().unwrap();
|
|
|
|
|
Ok(rowid)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -125,7 +125,7 @@ impl DbHandle {
|
|
|
|
|
)
|
|
|
|
|
.unwrap();
|
|
|
|
|
|
|
|
|
|
let _ = tx.commit().unwrap();
|
|
|
|
|
tx.commit().unwrap();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
pub fn read_notes(&mut self, master_key: [u8; 32]) -> rusqlite::Result<Vec<Note>> {
|
|
|
|
@ -215,7 +215,7 @@ impl DbHandle {
|
|
|
|
|
.map(|option| option.map(|prop| prop.from_base64().unwrap()))
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
pub fn set_db_property_bytes(&self, name: &str, value: &Vec<u8>) {
|
|
|
|
|
pub fn set_db_property_bytes(&self, name: &str, value: &[u8]) {
|
|
|
|
|
let b64value: String = value.to_base64(base64::STANDARD);
|
|
|
|
|
self.set_db_property(name, &b64value);
|
|
|
|
|
}
|
|
|
|
|