update rust-sdk to 0.6.4 & switch to marine

This commit is contained in:
folex 2021-05-12 15:37:31 +03:00
parent 7bcb16ad43
commit dc44acf0b2
13 changed files with 239 additions and 118 deletions

5
build.sh Normal file → Executable file
View File

@ -3,13 +3,13 @@
( (
cd services/user-list-inmemory cd services/user-list-inmemory
cargo update cargo update
fce build --release marine build --release
) )
( (
cd services/history-inmemory cd services/history-inmemory
cargo update cargo update
fce build --release marine build --release
) )
rm -f app/user_list.wasm rm -f app/user_list.wasm
@ -17,4 +17,3 @@ rm -f app/history.wasm
cp services/user-list-inmemory/target/wasm32-wasi/release/user_list.wasm app/ cp services/user-list-inmemory/target/wasm32-wasi/release/user_list.wasm app/
cp services/history-inmemory/target/wasm32-wasi/release/history.wasm app/ cp services/history-inmemory/target/wasm32-wasi/release/history.wasm app/

View File

@ -4,9 +4,15 @@ version = 3
[[package]] [[package]]
name = "anyhow" name = "anyhow"
version = "1.0.39" version = "1.0.40"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "81cddc5f91628367664cc7c69714ff08deee8a3efc54623011c772544d7b2767" checksum = "28b2cd92db5cbd74e8e5028f7e27dd7aa3090e89e4f2a197cc7c8dfb69c7063b"
[[package]]
name = "autocfg"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a"
[[package]] [[package]]
name = "bitflags" name = "bitflags"
@ -27,49 +33,41 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]] [[package]]
name = "fluence" name = "chrono"
version = "0.2.18" version = "0.4.19"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "27d9a5e4292d7bbd809a0e968e3c3aacac91cbc5acab3e26ee1e1d726f0aab24" checksum = "670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73"
dependencies = [ dependencies = [
"fluence-sdk-macro", "libc",
"fluence-sdk-main", "num-integer",
"num-traits",
"time",
"winapi",
] ]
[[package]] [[package]]
name = "fluence-sdk-macro" name = "fluence"
version = "0.2.18" version = "0.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ea1a7c75a617f827d1ba9a17b4d84e1565ab239915c63f5a85c41f89a9f1d4ba" checksum = "916f05f558b0de8a21b5447a6a790ac8d312324ced8b43a713b30a82b891720c"
dependencies = [ dependencies = [
"fluence-sdk-wit", "fluence-sdk-main",
"marine-macro",
"marine-timestamp-macro",
"serde",
] ]
[[package]] [[package]]
name = "fluence-sdk-main" name = "fluence-sdk-main"
version = "0.2.18" version = "0.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6edcc983f9517c1b6bf9f851ef27f2894a3159aaa4a2fb6c9deb2ae8ecb603fa" checksum = "95a32b74adb1bf8d2783a4690c378c7ebfc5cc1abaa6f99c6537d1a0f1a19e5d"
dependencies = [ dependencies = [
"fluence-sdk-macro",
"log", "log",
"marine-macro",
"serde", "serde",
] ]
[[package]]
name = "fluence-sdk-wit"
version = "0.2.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b75dbdd0275160f3818db3218563d791e6c612b616cd3c5d6e66283f207f648d"
dependencies = [
"proc-macro2",
"quote",
"serde",
"serde_json",
"syn",
"uuid",
]
[[package]] [[package]]
name = "getrandom" name = "getrandom"
version = "0.2.2" version = "0.2.2"
@ -112,15 +110,15 @@ checksum = "dd25036021b0de88a0aff6b850051563c6516d0bf53f8638938edbb9de732736"
[[package]] [[package]]
name = "libc" name = "libc"
version = "0.2.91" version = "0.2.94"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8916b1f6ca17130ec6568feccee27c156ad12037880833a3b842a823236502e7" checksum = "18794a8ad5b29321f790b55d93dfba91e125cb1a9edbd4f8e3150acc771c1a5e"
[[package]] [[package]]
name = "lock_api" name = "lock_api"
version = "0.4.2" version = "0.4.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dd96ffd135b2fd7b973ac026d28085defbe8983df057ced3eb4f2130b0831312" checksum = "0382880606dff6d15c9476c416d18690b72742aa7b605bb6dd6ec9030fbf07eb"
dependencies = [ dependencies = [
"scopeguard", "scopeguard",
] ]
@ -134,6 +132,58 @@ dependencies = [
"cfg-if", "cfg-if",
] ]
[[package]]
name = "marine-macro"
version = "0.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5b939048200868595393f9f42696398f683ed23d45e7ee7a0199cf1cfce7303d"
dependencies = [
"marine-macro-impl",
]
[[package]]
name = "marine-macro-impl"
version = "0.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "58a4b4e7308a9401f08a46bddd1f7221bbdeb0ed6530b95f5956451084b72439"
dependencies = [
"proc-macro2",
"quote",
"serde",
"serde_json",
"syn",
"uuid",
]
[[package]]
name = "marine-timestamp-macro"
version = "0.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f6feb612ccd3fd39ec3d50c9a1a96885e1fd32d36a92cf674a0fbe6f7c452613"
dependencies = [
"chrono",
"quote",
]
[[package]]
name = "num-integer"
version = "0.1.44"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db"
dependencies = [
"autocfg",
"num-traits",
]
[[package]]
name = "num-traits"
version = "0.2.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290"
dependencies = [
"autocfg",
]
[[package]] [[package]]
name = "once_cell" name = "once_cell"
version = "1.7.2" version = "1.7.2"
@ -167,9 +217,9 @@ dependencies = [
[[package]] [[package]]
name = "proc-macro2" name = "proc-macro2"
version = "1.0.24" version = "1.0.26"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1e0704ee1a7e00d7bb417d0770ea303c1bccbabf0ef1667dae92b5967f5f8a71" checksum = "a152013215dca273577e18d2bf00fa862b89b24169fb78c4c95aeb07992c9cec"
dependencies = [ dependencies = [
"unicode-xid", "unicode-xid",
] ]
@ -185,9 +235,9 @@ dependencies = [
[[package]] [[package]]
name = "redox_syscall" name = "redox_syscall"
version = "0.2.5" version = "0.2.8"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "94341e4e44e24f6b591b59e47a8a027df12e008d73fd5672dbea9cc22f4507d9" checksum = "742739e41cd49414de871ea5e549afb7e2a3ac77b589bcbebe8c82fab37147fc"
dependencies = [ dependencies = [
"bitflags", "bitflags",
] ]
@ -243,9 +293,9 @@ checksum = "fe0f37c9e8f3c5a4a66ad655a93c74daac4ad00c441533bf5c6e7990bb42604e"
[[package]] [[package]]
name = "syn" name = "syn"
version = "1.0.64" version = "1.0.72"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3fd9d1e9976102a03c542daa2eff1b43f9d72306342f3f8b3ed5fb8908195d6f" checksum = "a1e8cdbefb79a9a5a65e0db8b47b723ee907b7c7f8496c76a1770b5c310bab82"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@ -253,10 +303,21 @@ dependencies = [
] ]
[[package]] [[package]]
name = "unicode-xid" name = "time"
version = "0.2.1" version = "0.1.44"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564" checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255"
dependencies = [
"libc",
"wasi",
"winapi",
]
[[package]]
name = "unicode-xid"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3"
[[package]] [[package]]
name = "uuid" name = "uuid"
@ -269,9 +330,9 @@ dependencies = [
[[package]] [[package]]
name = "wasi" name = "wasi"
version = "0.10.2+wasi-snapshot-preview1" version = "0.10.0+wasi-snapshot-preview1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6" checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f"
[[package]] [[package]]
name = "winapi" name = "winapi"

View File

@ -9,7 +9,7 @@ name = "history"
path = "src/main.rs" path = "src/main.rs"
[dependencies] [dependencies]
fluence = { version = "0.2.18", features = ["logger"] } fluence = { version = "0.6.4", features = ["logger"] }
anyhow = "1.0.31" anyhow = "1.0.31"
boolinator = "2.4.0" boolinator = "2.4.0"

View File

@ -14,9 +14,9 @@
* limitations under the License. * limitations under the License.
*/ */
use fluence::fce; use fluence::marine;
#[fce] #[marine]
#[derive(Clone, Debug, Default, Eq, PartialEq, Hash)] #[derive(Clone, Debug, Default, Eq, PartialEq, Hash)]
pub struct HistoryEntry { pub struct HistoryEntry {
pub id: u64, pub id: u64,

View File

@ -27,7 +27,7 @@ pub(crate) type Result<T> = std::result::Result<T, errors::HistoryError>;
pub fn main() { pub fn main() {
WasmLoggerBuilder::new() WasmLoggerBuilder::new()
.with_log_level(log::Level::Info) .with_log_level(log::LevelFilter::Info)
.build() .build()
.unwrap(); .unwrap();
} }

View File

@ -15,23 +15,23 @@
*/ */
use crate::history_entry::HistoryEntry; use crate::history_entry::HistoryEntry;
use fluence::fce; use fluence::marine;
#[fce] #[marine]
pub struct AddServiceResult { pub struct AddServiceResult {
pub ret_code: i32, pub ret_code: i32,
pub err_msg: String, pub err_msg: String,
pub entry_id: u64, pub entry_id: u64,
} }
#[fce] #[marine]
pub struct GetEntriesServiceResult { pub struct GetEntriesServiceResult {
pub ret_code: i32, pub ret_code: i32,
pub err_msg: String, pub err_msg: String,
pub entries: Vec<HistoryEntry>, pub entries: Vec<HistoryEntry>,
} }
#[fce] #[marine]
pub struct EmptyResult { pub struct EmptyResult {
pub ret_code: i32, pub ret_code: i32,
pub err_msg: String, pub err_msg: String,

View File

@ -20,12 +20,12 @@ use crate::history_entry::HistoryEntry;
use crate::results::{AddServiceResult, EmptyResult, GetEntriesServiceResult}; use crate::results::{AddServiceResult, EmptyResult, GetEntriesServiceResult};
use crate::utils::u64_to_usize; use crate::utils::u64_to_usize;
use crate::Result; use crate::Result;
use fluence::{fce, CallParameters}; use fluence::{marine, CallParameters};
pub const SUCCESS_CODE: i32 = 0; pub const SUCCESS_CODE: i32 = 0;
// add an entry if authenticated, return an error if not // add an entry if authenticated, return an error if not
#[fce] #[marine]
fn add(entry: String, auth: bool) -> AddServiceResult { fn add(entry: String, auth: bool) -> AddServiceResult {
fn add_impl(entry: String, auth: bool) -> Result<u64> { fn add_impl(entry: String, auth: bool) -> Result<u64> {
is_authenticated(auth, 1)?; is_authenticated(auth, 1)?;
@ -36,7 +36,7 @@ fn add(entry: String, auth: bool) -> AddServiceResult {
} }
// get all entries // get all entries
#[fce] #[marine]
fn get_all(auth: bool) -> GetEntriesServiceResult { fn get_all(auth: bool) -> GetEntriesServiceResult {
fn get_all_impl(auth: bool) -> Result<Vec<HistoryEntry>> { fn get_all_impl(auth: bool) -> Result<Vec<HistoryEntry>> {
is_authenticated(auth, 0)?; is_authenticated(auth, 0)?;
@ -46,7 +46,7 @@ fn get_all(auth: bool) -> GetEntriesServiceResult {
} }
// get last entry // get last entry
#[fce] #[marine]
fn get_last(last: u64, auth: bool) -> GetEntriesServiceResult { fn get_last(last: u64, auth: bool) -> GetEntriesServiceResult {
fn get_last_impl(last: u64, auth: bool) -> Result<Vec<HistoryEntry>> { fn get_last_impl(last: u64, auth: bool) -> Result<Vec<HistoryEntry>> {
is_authenticated(auth, 1)?; is_authenticated(auth, 1)?;
@ -56,7 +56,7 @@ fn get_last(last: u64, auth: bool) -> GetEntriesServiceResult {
} }
// set tetraplet to check on the authentication process. Only the service owner could set it // set tetraplet to check on the authentication process. Only the service owner could set it
#[fce] #[marine]
pub fn set_tetraplet( pub fn set_tetraplet(
peer_id: String, peer_id: String,
service_id: String, service_id: String,

View File

@ -4,9 +4,15 @@ version = 3
[[package]] [[package]]
name = "anyhow" name = "anyhow"
version = "1.0.39" version = "1.0.40"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "81cddc5f91628367664cc7c69714ff08deee8a3efc54623011c772544d7b2767" checksum = "28b2cd92db5cbd74e8e5028f7e27dd7aa3090e89e4f2a197cc7c8dfb69c7063b"
[[package]]
name = "autocfg"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a"
[[package]] [[package]]
name = "bitflags" name = "bitflags"
@ -27,49 +33,41 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]] [[package]]
name = "fluence" name = "chrono"
version = "0.2.18" version = "0.4.19"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "27d9a5e4292d7bbd809a0e968e3c3aacac91cbc5acab3e26ee1e1d726f0aab24" checksum = "670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73"
dependencies = [ dependencies = [
"fluence-sdk-macro", "libc",
"fluence-sdk-main", "num-integer",
"num-traits",
"time",
"winapi",
] ]
[[package]] [[package]]
name = "fluence-sdk-macro" name = "fluence"
version = "0.2.18" version = "0.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ea1a7c75a617f827d1ba9a17b4d84e1565ab239915c63f5a85c41f89a9f1d4ba" checksum = "916f05f558b0de8a21b5447a6a790ac8d312324ced8b43a713b30a82b891720c"
dependencies = [ dependencies = [
"fluence-sdk-wit", "fluence-sdk-main",
"marine-macro",
"marine-timestamp-macro",
"serde",
] ]
[[package]] [[package]]
name = "fluence-sdk-main" name = "fluence-sdk-main"
version = "0.2.18" version = "0.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6edcc983f9517c1b6bf9f851ef27f2894a3159aaa4a2fb6c9deb2ae8ecb603fa" checksum = "95a32b74adb1bf8d2783a4690c378c7ebfc5cc1abaa6f99c6537d1a0f1a19e5d"
dependencies = [ dependencies = [
"fluence-sdk-macro",
"log", "log",
"marine-macro",
"serde", "serde",
] ]
[[package]]
name = "fluence-sdk-wit"
version = "0.2.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b75dbdd0275160f3818db3218563d791e6c612b616cd3c5d6e66283f207f648d"
dependencies = [
"proc-macro2",
"quote",
"serde",
"serde_json",
"syn",
"uuid",
]
[[package]] [[package]]
name = "getrandom" name = "getrandom"
version = "0.2.2" version = "0.2.2"
@ -98,15 +96,15 @@ checksum = "dd25036021b0de88a0aff6b850051563c6516d0bf53f8638938edbb9de732736"
[[package]] [[package]]
name = "libc" name = "libc"
version = "0.2.91" version = "0.2.94"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8916b1f6ca17130ec6568feccee27c156ad12037880833a3b842a823236502e7" checksum = "18794a8ad5b29321f790b55d93dfba91e125cb1a9edbd4f8e3150acc771c1a5e"
[[package]] [[package]]
name = "lock_api" name = "lock_api"
version = "0.4.2" version = "0.4.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dd96ffd135b2fd7b973ac026d28085defbe8983df057ced3eb4f2130b0831312" checksum = "0382880606dff6d15c9476c416d18690b72742aa7b605bb6dd6ec9030fbf07eb"
dependencies = [ dependencies = [
"scopeguard", "scopeguard",
] ]
@ -120,6 +118,58 @@ dependencies = [
"cfg-if", "cfg-if",
] ]
[[package]]
name = "marine-macro"
version = "0.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5b939048200868595393f9f42696398f683ed23d45e7ee7a0199cf1cfce7303d"
dependencies = [
"marine-macro-impl",
]
[[package]]
name = "marine-macro-impl"
version = "0.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "58a4b4e7308a9401f08a46bddd1f7221bbdeb0ed6530b95f5956451084b72439"
dependencies = [
"proc-macro2",
"quote",
"serde",
"serde_json",
"syn",
"uuid",
]
[[package]]
name = "marine-timestamp-macro"
version = "0.6.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f6feb612ccd3fd39ec3d50c9a1a96885e1fd32d36a92cf674a0fbe6f7c452613"
dependencies = [
"chrono",
"quote",
]
[[package]]
name = "num-integer"
version = "0.1.44"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db"
dependencies = [
"autocfg",
"num-traits",
]
[[package]]
name = "num-traits"
version = "0.2.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290"
dependencies = [
"autocfg",
]
[[package]] [[package]]
name = "once_cell" name = "once_cell"
version = "1.7.2" version = "1.7.2"
@ -153,9 +203,9 @@ dependencies = [
[[package]] [[package]]
name = "proc-macro2" name = "proc-macro2"
version = "1.0.24" version = "1.0.26"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1e0704ee1a7e00d7bb417d0770ea303c1bccbabf0ef1667dae92b5967f5f8a71" checksum = "a152013215dca273577e18d2bf00fa862b89b24169fb78c4c95aeb07992c9cec"
dependencies = [ dependencies = [
"unicode-xid", "unicode-xid",
] ]
@ -171,9 +221,9 @@ dependencies = [
[[package]] [[package]]
name = "redox_syscall" name = "redox_syscall"
version = "0.2.5" version = "0.2.8"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "94341e4e44e24f6b591b59e47a8a027df12e008d73fd5672dbea9cc22f4507d9" checksum = "742739e41cd49414de871ea5e549afb7e2a3ac77b589bcbebe8c82fab37147fc"
dependencies = [ dependencies = [
"bitflags", "bitflags",
] ]
@ -229,9 +279,9 @@ checksum = "fe0f37c9e8f3c5a4a66ad655a93c74daac4ad00c441533bf5c6e7990bb42604e"
[[package]] [[package]]
name = "syn" name = "syn"
version = "1.0.64" version = "1.0.72"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3fd9d1e9976102a03c542daa2eff1b43f9d72306342f3f8b3ed5fb8908195d6f" checksum = "a1e8cdbefb79a9a5a65e0db8b47b723ee907b7c7f8496c76a1770b5c310bab82"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@ -239,10 +289,21 @@ dependencies = [
] ]
[[package]] [[package]]
name = "unicode-xid" name = "time"
version = "0.2.1" version = "0.1.44"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564" checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255"
dependencies = [
"libc",
"wasi",
"winapi",
]
[[package]]
name = "unicode-xid"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3"
[[package]] [[package]]
name = "user_list" name = "user_list"
@ -267,9 +328,9 @@ dependencies = [
[[package]] [[package]]
name = "wasi" name = "wasi"
version = "0.10.2+wasi-snapshot-preview1" version = "0.10.0+wasi-snapshot-preview1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6" checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f"
[[package]] [[package]]
name = "winapi" name = "winapi"

View File

@ -9,7 +9,7 @@ name = "user_list"
path = "src/main.rs" path = "src/main.rs"
[dependencies] [dependencies]
fluence = { version = "0.2.16", features = ["logger"] } fluence = { version = "0.6.4", features = ["logger"] }
anyhow = "1.0.31" anyhow = "1.0.31"
boolinator = "2.4.0" boolinator = "2.4.0"

View File

@ -27,7 +27,7 @@ pub(crate) type Result<T> = std::result::Result<T, errors::UserListError>;
pub fn main() { pub fn main() {
// instantiate logger // instantiate logger
WasmLoggerBuilder::new() WasmLoggerBuilder::new()
.with_log_level(log::Level::Info) .with_log_level(log::LevelFilter::Info)
.build() .build()
.unwrap(); .unwrap();
} }

View File

@ -15,29 +15,29 @@
*/ */
use crate::user::User; use crate::user::User;
use fluence::fce; use fluence::marine;
#[fce] #[marine]
pub struct GetUsersServiceResult { pub struct GetUsersServiceResult {
pub ret_code: i32, pub ret_code: i32,
pub err_msg: String, pub err_msg: String,
pub users: Vec<User>, pub users: Vec<User>,
} }
#[fce] #[marine]
pub struct EmptyServiceResult { pub struct EmptyServiceResult {
pub ret_code: i32, pub ret_code: i32,
pub err_msg: String, pub err_msg: String,
} }
#[fce] #[marine]
pub struct ExistsServiceResult { pub struct ExistsServiceResult {
pub ret_code: i32, pub ret_code: i32,
pub err_msg: String, pub err_msg: String,
pub is_exists: bool, pub is_exists: bool,
} }
#[fce] #[marine]
pub struct AuthResult { pub struct AuthResult {
pub ret_code: i32, pub ret_code: i32,
pub err_msg: String, pub err_msg: String,

View File

@ -18,24 +18,24 @@ use crate::results::{AuthResult, EmptyServiceResult, ExistsServiceResult, GetUse
use crate::storage_api::*; use crate::storage_api::*;
use crate::user::User; use crate::user::User;
use crate::Result; use crate::Result;
use fluence::{fce, CallParameters}; use fluence::{marine, CallParameters};
pub const SUCCESS_CODE: i32 = 0; pub const SUCCESS_CODE: i32 = 0;
// get all users // get all users
#[fce] #[marine]
fn get_users() -> GetUsersServiceResult { fn get_users() -> GetUsersServiceResult {
get_all_users().into() get_all_users().into()
} }
// get user by peer_id // get user by peer_id
#[fce] #[marine]
fn get_user(peer_id: String) -> GetUsersServiceResult { fn get_user(peer_id: String) -> GetUsersServiceResult {
get_user_by_peer_id(peer_id).into() get_user_by_peer_id(peer_id).into()
} }
// add a user too the service // add a user too the service
#[fce] #[marine]
fn join(user: User) -> EmptyServiceResult { fn join(user: User) -> EmptyServiceResult {
fn add_impl(user: User) -> Result<()> { fn add_impl(user: User) -> Result<()> {
// TODO uncomment to have an access to join method only for existing users // TODO uncomment to have an access to join method only for existing users
@ -47,7 +47,7 @@ fn join(user: User) -> EmptyServiceResult {
} }
// delete a user from the service // delete a user from the service
#[fce] #[marine]
fn leave(peer_id: String) -> EmptyServiceResult { fn leave(peer_id: String) -> EmptyServiceResult {
fn delete_impl(peer_id: String) -> Result<()> { fn delete_impl(peer_id: String) -> Result<()> {
check_auth()?; check_auth()?;
@ -59,13 +59,13 @@ fn leave(peer_id: String) -> EmptyServiceResult {
} }
// check if a user is exists in the service // check if a user is exists in the service
#[fce] #[marine]
fn is_exists(peer_id: String) -> ExistsServiceResult { fn is_exists(peer_id: String) -> ExistsServiceResult {
user_exists(peer_id).into() user_exists(peer_id).into()
} }
// check if a caller is authenticated in this service // check if a caller is authenticated in this service
#[fce] #[marine]
fn is_authenticated() -> AuthResult { fn is_authenticated() -> AuthResult {
check_auth().into() check_auth().into()
} }

View File

@ -14,9 +14,9 @@
* limitations under the License. * limitations under the License.
*/ */
use fluence::fce; use fluence::marine;
#[fce] #[marine]
#[derive(Clone, Debug, Default, Eq, PartialEq, Hash)] #[derive(Clone, Debug, Default, Eq, PartialEq, Hash)]
pub struct User { pub struct User {
pub peer_id: String, pub peer_id: String,