Update dependencies (actix-web 2)
[recipes.git] / backend / src / db.rs
index f3356d2..6458c7e 100644 (file)
@@ -6,12 +6,12 @@ use std::fs;
 \r
 const CURRENT_DB_VERSION: u32 = 1;\r
 \r
-struct Connection {\r
-    pub sqlite_con : rusqlite::Connection\r
+pub struct Connection {\r
+    con: rusqlite::Connection\r
 }\r
 \r
 impl Connection {\r
-    fn new() -> Connection {\r
+    pub fn new() -> Connection {\r
 \r
         // TODO: use a constant in consts module.\r
         let data_dir = Path::new("data");\r
@@ -20,20 +20,29 @@ impl Connection {
             fs::DirBuilder::new().create(data_dir).unwrap();\r
         }\r
 \r
-        Connection { sqlite_con : rusqlite::Connection::open(data_dir.join("recipes.sqlite")).unwrap() }\r
+        Connection { con: rusqlite::Connection::open(data_dir.join("recipes.sqlite")).unwrap() }\r
     }\r
-}\r
-\r
-pub fn create_or_update() {\r
-    let connection = Connection::new();\r
 \r
-    // let mut stmt = connection.sqlite_con.prepare("SELECT * FROM versions ORDER BY date").unwrap();\r
-\r
-    //let mut stmt = connection.sqlite_con..prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='versions'").unwrap();\r
-    connection.sqlite_con.query_row(\r
-        "SELECT name FROM sqlite_master WHERE type='table' AND name='versions'",\r
-        rusqlite::NO_PARAMS,\r
-        |row| Ok(dbg!("test"))\r
-    )\r
-    .unwrap();\r
+    pub fn create_or_update(self: &Self) -> rusqlite::Result<&str> {\r
+        //let connection = Connection::new();\r
+        // let mut stmt = connection.sqlite_con.prepare("SELECT * FROM versions ORDER BY date").unwrap();\r
+        // let mut stmt = connection.sqlite_con..prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='versions'").unwrap();\r
+\r
+        // Check the Database version.\r
+        let version = {\r
+            let stmt_version_table = self.con.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='versions'")?;\r
+            /*if stmt_version_table.query(rusqlite::NO_PARAMS)?.count() == 0 {\r
+                0\r
+            } else {\r
+                1 // let stmt_versions = self.con.prepare("SELECT number FROM [")\r
+            }*/\r
+            0\r
+        };\r
+\r
+        self.con.query_row(\r
+            "SELECT name FROM sqlite_master WHERE type='table' AND name='versions'",\r
+            rusqlite::NO_PARAMS,\r
+            |row| Ok(dbg!("test"))\r
+        )\r
+    }\r
 }
\ No newline at end of file