From 331d880d3521283d86501f3b234d51ded02321b2 Mon Sep 17 00:00:00 2001 From: Yousra Assouhaji Date: Wed, 27 Mar 2024 13:59:46 +0000 Subject: [PATCH] Replace process.rs --- crates/sp_client/src/process.rs | 87 +++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) diff --git a/crates/sp_client/src/process.rs b/crates/sp_client/src/process.rs index 427481d..1dd3248 100644 --- a/crates/sp_client/src/process.rs +++ b/crates/sp_client/src/process.rs @@ -1,5 +1,8 @@ use wasm_bindgen::prelude::*; +use serde::{Deserialize, Serialize}; +use serde_json::{json, Value}; +/* #[wasm_bindgen] pub fn get_process() -> Vec { let mut data_process: Vec = Vec::new(); @@ -7,4 +10,88 @@ pub fn get_process() -> Vec { data_process.push(String::from("process2")); data_process.push(String::from("process3")); data_process +}*/ + +// process member (gestionnaire for now) +#[derive(Debug)] +pub enum Role { + manager, + // user } +#[derive(Debug, Serialize, Deserialize, Default, Clone, PartialEq, Eq, Hash, PartialOrd, Ord)] +#[wasm_bindgen] +pub struct itemMember { + role: Role, //gestionnaire + sp_address: String, + //pre_id + //shard + //priv_key_mainnet_spend + //priv_key_mainnet_scan + //priv_key_signet_scan + +} +#[wasm_bindgen] +impl itemMember{ + pub fn new ( + role : Role, + sp_address: string) + ->Self { + itemMember{ + role, + sp_address, + } + } +} + +pub struct Process { + id: String, + version: String, + gestionnaires: Vec, + //item_name : String, +} +#[wasm_bindgen] +pub fn get_processes() -> Vec { + let member1 = itemMember { + role: Role ::Manager, + sp_address: String::from(""), + }; + + let member2 = itemMember { + role: Role ::Manager, + sp_address: String::from(""), + }; + + let member3 = itemMember { + role: Role ::Manager, + sp_address: String::from(""), + }; + /* + let member4= itemMember{ + role : Role :: User, + sp_address: String::from(""), + }; + */ + //instances of process + let process1 = Process { + id: String::from("1"), + version: String::from("1.0"), + gestionnaires: vec![member1, member2], + }; + let process2 = Process { + id: String::from("2"), + version: String::from("2.0"), + gestionnaires: vec![member2, member3], + }; + let process3 = Process { + id: String::from("3"), + version: String::from("1.0"), + gestionnaires: vec![member3, member1], + }; + + // vec with the instances of processes + let mut data_process: Vec = Vec::new(); + data_process.push(JsValue::from_serde(&process1).unwrap()); + data_process.push(JsValue::from_serde(&process2).unwrap()); + data_process.push(JsValue::from_serde(&process3).unwrap()); + data_process +} \ No newline at end of file