diff --git a/crates/sp_client/src/Prd_list.rs b/crates/sp_client/src/Prd_list.rs index 2a3923b..dc0867d 100644 --- a/crates/sp_client/src/Prd_list.rs +++ b/crates/sp_client/src/Prd_list.rs @@ -1,4 +1,4 @@ -use bitcoin::PublicKey; +use sp_backend::bitcoin::PublicKey; use serde::{Deserialize, Serialize}; use serde_json::{json, Value}; //use sp_backend::silentpayments::sending::SilentPaymentAddress; diff --git a/crates/sp_client/src/api.rs b/crates/sp_client/src/api.rs index 1d36711..145dccf 100644 --- a/crates/sp_client/src/api.rs +++ b/crates/sp_client/src/api.rs @@ -21,6 +21,8 @@ use web_sys::js_sys::JsString; use crate::user::{User, UserKeys, CONNECTED_USERS}; +use crate::process::{ItemMember, Process, Role}; + type ApiResult = Result; const IS_TESTNET: bool = true; @@ -157,3 +159,39 @@ pub fn create_user( Ok(generate_user) } + +#[derive(Tsify, Serialize, Deserialize)] +#[tsify(into_wasm_abi)] +#[allow(non_camel_case_types)] +pub struct get_process_return(Vec); + +#[wasm_bindgen] +pub fn get_processes() -> ApiResult { + let member1 = ItemMember::new(Role::Manager, String::from("")); + let member2 = ItemMember::new(Role::Manager, String::from("")); + let member3 = ItemMember::new(Role::Manager, String::from("")); + + //instances of process + let process1 = Process { + id: String::from("1"), + version: String::from("1.0"), + gestionnaires: vec![member1.clone(), member2.clone()], + }; + let process2 = Process { + id: String::from("2"), + version: String::from("2.0"), + gestionnaires: vec![member2.clone(), member3.clone()], + }; + let process3 = Process { + id: String::from("3"), + version: String::from("1.0"), + gestionnaires: vec![member3.clone(), member1.clone()], + }; + + // vec with the instances of processes + let mut data_process: Vec = Vec::new(); + data_process.push(process1); + data_process.push(process2); + data_process.push(process3); + Ok(get_process_return(data_process)) +} diff --git a/crates/sp_client/src/lib.rs b/crates/sp_client/src/lib.rs index 367b9a9..4f1409e 100644 --- a/crates/sp_client/src/lib.rs +++ b/crates/sp_client/src/lib.rs @@ -3,6 +3,6 @@ pub mod api; mod injecteurhtml; mod user; mod aesgcm; -mod secretdata; mod Prd_list; +mod process; diff --git a/crates/sp_client/src/process.rs b/crates/sp_client/src/process.rs index 427481d..4f384e8 100644 --- a/crates/sp_client/src/process.rs +++ b/crates/sp_client/src/process.rs @@ -1,10 +1,38 @@ +use serde::{Deserialize, Serialize}; +use serde_json::{json, Value}; +use tsify::Tsify; use wasm_bindgen::prelude::*; -#[wasm_bindgen] -pub fn get_process() -> Vec { - let mut data_process: Vec = Vec::new(); - data_process.push(String::from("process1")); - data_process.push(String::from("process2")); - data_process.push(String::from("process3")); - data_process +// process member (gestionnaire for now) +#[derive(Debug, Default, Serialize, Deserialize, Clone)] +pub enum Role { + Manager, + #[default] + User, +} +#[derive(Debug, Serialize, Deserialize, Default, Tsify, Clone)] +#[tsify(into_wasm_abi)] +pub struct ItemMember { + pub role: Role, //gestionnaire + pub sp_address: String, + //pre_id + //shard + //priv_key_mainnet_spend + //priv_key_mainnet_scan + //priv_key_signet_scan +} + +impl ItemMember { + pub fn new(role: Role, sp_address: String) -> Self { + ItemMember { role, sp_address } + } +} + +#[derive(Debug, Serialize, Deserialize, Default, Tsify)] +#[tsify(into_wasm_abi, from_wasm_abi)] +pub struct Process { + pub id: String, + pub version: String, + pub gestionnaires: Vec, + //item_name : String, }