1
0
mirror of https://github.com/fluencelabs/fluid synced 2025-04-08 21:28:13 +00:00

34 lines
964 B
Rust
Raw Normal View History

2019-08-15 15:02:52 +03:00
use fluence::sdk::*;
pub mod database;
pub mod errors;
pub mod ffi;
fn init() {
logger::WasmLogger::init_with_level(log::Level::Info).unwrap();
}
#[invocation_handler(init_fn = init)]
fn run(nickname: String) -> String {
// Create table for messages storage
2019-08-15 19:10:13 +03:00
database::query("CREATE TABLE messages(msg text, username text)".to_string());
2019-08-15 15:02:52 +03:00
2019-08-15 19:10:13 +03:00
// Insert message 'Hello, username!' using `nickname` as author's username
2019-08-15 15:02:52 +03:00
database::query(format!(
r#"INSERT INTO messages VALUES("{}","{}")"#,
"Hello, username!", nickname
));
// Get all messages
let messages = database::query("SELECT * FROM messages".to_string());
log::info!("messages: {}", messages);
// Get all messages as JSON via SQLite's JSON extension
database::query(
"SELECT json_group_array(
2019-08-15 19:10:13 +03:00
json_object('msg', msg, 'username', username)
2019-08-15 15:02:52 +03:00
) AS json_result FROM (SELECT * FROM messages)"
.to_string(),
)
}