Replace process.rs

This commit is contained in:
Yousra Assouhaji 2024-03-27 13:59:46 +00:00
parent 8dde96b93c
commit 331d880d35

View File

@ -1,5 +1,8 @@
use wasm_bindgen::prelude::*; use wasm_bindgen::prelude::*;
use serde::{Deserialize, Serialize};
use serde_json::{json, Value};
/*
#[wasm_bindgen] #[wasm_bindgen]
pub fn get_process() -> Vec<String> { pub fn get_process() -> Vec<String> {
let mut data_process: Vec<String> = Vec::new(); let mut data_process: Vec<String> = Vec::new();
@ -7,4 +10,88 @@ pub fn get_process() -> Vec<String> {
data_process.push(String::from("process2")); data_process.push(String::from("process2"));
data_process.push(String::from("process3")); data_process.push(String::from("process3"));
data_process 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<itemMember>,
//item_name : String,
}
#[wasm_bindgen]
pub fn get_processes() -> Vec<JsValue> {
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<JsValue> = 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
} }