diff --git a/backend-rust/step2-database-only/src/utils.rs b/backend-rust/step2-database-only/src/database.rs similarity index 80% rename from backend-rust/step2-database-only/src/utils.rs rename to backend-rust/step2-database-only/src/database.rs index f9aafb5..62df5f2 100644 --- a/backend-rust/step2-database-only/src/utils.rs +++ b/backend-rust/step2-database-only/src/database.rs @@ -1,8 +1,8 @@ use crate::errors::{err_msg, AppResult}; use crate::sqlite; -pub fn sqlite_call(bytes: &str) -> AppResult { - let response = sqlite::call(bytes.as_bytes()); +pub fn query(query: &str) -> AppResult { + let response = sqlite::call(query.as_bytes()); // Decode query result to a utf8 string let result_str = std::str::from_utf8(&response); @@ -17,7 +17,7 @@ pub fn sqlite_call(bytes: &str) -> AppResult { .map_err(|e| { err_msg(&format!( "unable to decode result from bytes {:#x?}: {}", - bytes, e + query, e )) }) .map(|s| s.to_string()) diff --git a/backend-rust/step2-database-only/src/lib.rs b/backend-rust/step2-database-only/src/lib.rs index ba2fc4b..41835f3 100644 --- a/backend-rust/step2-database-only/src/lib.rs +++ b/backend-rust/step2-database-only/src/lib.rs @@ -1,9 +1,9 @@ use fluence::sdk::*; +pub mod database; pub mod errors; -pub mod utils; -use crate::utils::sqlite_call; +use crate::database; fn init() { logger::WasmLogger::init_with_level(log::Level::Info).unwrap(); @@ -12,11 +12,11 @@ fn init() { #[invocation_handler(init_fn = init, side_modules = sqlite)] fn run(nickname: String) -> String { // Create table for messages storage - sqlite_call("CREATE TABLE messages(message text, username text)") + database::query("CREATE TABLE messages(message text, username text)") .expect("error on CREATE TABLE"); // Insert message 'Hello, username!' using `nickname` as author's username - sqlite_call( + database::query( format!( r#"INSERT INTO messages VALUES("{}","{}")"#, "Hello, username!", nickname @@ -26,11 +26,11 @@ fn run(nickname: String) -> String { .expect("error on INSERT INTO"); // Get all messages - let messages = sqlite_call("SELECT * FROM messages").expect("error on SELECT *"); + let messages = database::query("SELECT * FROM messages").expect("error on SELECT *"); log::info!("messages: {:?}", messages); // Get all messages as JSON via SQLite's JSON extension - sqlite_call( + database::query( "SELECT json_group_array( json_object('message', message, 'username', username) ) AS json_result FROM (SELECT * FROM messages)", diff --git a/backend-rust/step3-finished-app/src/utils.rs b/backend-rust/step3-finished-app/src/database.rs similarity index 80% rename from backend-rust/step3-finished-app/src/utils.rs rename to backend-rust/step3-finished-app/src/database.rs index f9aafb5..62df5f2 100644 --- a/backend-rust/step3-finished-app/src/utils.rs +++ b/backend-rust/step3-finished-app/src/database.rs @@ -1,8 +1,8 @@ use crate::errors::{err_msg, AppResult}; use crate::sqlite; -pub fn sqlite_call(bytes: &str) -> AppResult { - let response = sqlite::call(bytes.as_bytes()); +pub fn query(query: &str) -> AppResult { + let response = sqlite::call(query.as_bytes()); // Decode query result to a utf8 string let result_str = std::str::from_utf8(&response); @@ -17,7 +17,7 @@ pub fn sqlite_call(bytes: &str) -> AppResult { .map_err(|e| { err_msg(&format!( "unable to decode result from bytes {:#x?}: {}", - bytes, e + query, e )) }) .map(|s| s.to_string()) diff --git a/backend-rust/step3-finished-app/src/lib.rs b/backend-rust/step3-finished-app/src/lib.rs index 43e0ba4..5cdefde 100644 --- a/backend-rust/step3-finished-app/src/lib.rs +++ b/backend-rust/step3-finished-app/src/lib.rs @@ -8,9 +8,9 @@ use crate::errors::err_msg; use crate::errors::AppResult; pub mod api; +pub mod database; pub mod errors; pub mod model; -pub mod utils; fn init() { logger::WasmLogger::init_with_level(log::Level::Info).unwrap(); diff --git a/backend-rust/step3-finished-app/src/model.rs b/backend-rust/step3-finished-app/src/model.rs index f2feff2..2c49e6e 100644 --- a/backend-rust/step3-finished-app/src/model.rs +++ b/backend-rust/step3-finished-app/src/model.rs @@ -1,15 +1,15 @@ use std::str::FromStr; +use crate::database; use crate::errors::err_msg; use crate::errors::AppResult; -use crate::utils::sqlite_call; pub fn create_scheme() -> AppResult<()> { - sqlite_call("CREATE TABLE messages(message text, username text)").map(drop) + database::query("CREATE TABLE messages(message text, username text)").map(drop) } pub fn add_post(message: String, username: String) -> AppResult<()> { - sqlite_call( + database::query( format!( r#"INSERT INTO messages VALUES("{}","{}")"#, message, username @@ -20,7 +20,7 @@ pub fn add_post(message: String, username: String) -> AppResult<()> { } pub fn get_all_posts() -> AppResult { - sqlite_call( + database::query( "SELECT json_group_array( json_object('message', message, 'username', username) ) AS json_result FROM (SELECT * FROM messages)", @@ -28,7 +28,7 @@ pub fn get_all_posts() -> AppResult { } pub fn get_posts_by_username(username: String) -> AppResult { - sqlite_call( + database::query( format!( "SELECT json_group_array( json_object('message', message, 'username', username) @@ -40,7 +40,7 @@ pub fn get_posts_by_username(username: String) -> AppResult { } pub fn get_posts_count() -> AppResult { - let result = sqlite_call("SELECT COUNT(*) from messages")?; + let result = database::query("SELECT COUNT(*) from messages")?; i32::from_str(result.as_str()).map_err(|e| { err_msg(&format!(