Replace Prd_list.rs
This commit is contained in:
parent
7eb1ee9c1d
commit
2726522e99
@ -1,26 +1,34 @@
|
|||||||
|
use bitcoin::PublicKey;
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use serde_json::{json, Value};
|
use serde_json::{json, Value};
|
||||||
|
//use sp_backend::silentpayments::sending::SilentPaymentAddress;
|
||||||
use tsify::Tsify;
|
use tsify::Tsify;
|
||||||
use wasm_bindgen::prelude::*;
|
use wasm_bindgen::prelude::*;
|
||||||
use std::marker::Copy;
|
use std::marker::Copy;
|
||||||
|
|
||||||
|
|
||||||
#[wasm_bindgen]
|
#[wasm_bindgen]
|
||||||
#[derive(Debug, Default, Serialize, Deserialize, Clone, PartialEq)]
|
|
||||||
|
#[derive(Debug, Default, Serialize, Deserialize, Clone, PartialEq, Copy)]
|
||||||
pub enum Role {
|
pub enum Role {
|
||||||
Manager,
|
Manager,
|
||||||
#[default]
|
#[default]
|
||||||
User,
|
User,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[derive(Clone, Copy, Debug, Hash, PartialEq, Eq)]
|
||||||
|
pub struct SilentPaymentAddress {
|
||||||
|
version : u8,
|
||||||
|
scan_pubkey : PublicKey,
|
||||||
|
m_pubkey : PublicKey,
|
||||||
|
is_testnet : bool,
|
||||||
|
}
|
||||||
|
|
||||||
#[derive(Serialize, Deserialize, Debug, Copy, Clone)]
|
|
||||||
//use std :: marker;
|
#[derive(Debug, Copy, Clone)]
|
||||||
//strings can't implement copy
|
|
||||||
#[wasm_bindgen]
|
|
||||||
pub struct ItemMember {
|
pub struct ItemMember {
|
||||||
pub role : Role,
|
pub role : Role,
|
||||||
pub sp_address: u32,
|
pub sp_address: SilentPaymentAddress,
|
||||||
//pre_id: hash(password, part1)
|
//pre_id: hash(password, part1)
|
||||||
//shard,
|
//shard,
|
||||||
//priv_key_mainnet_spend, (enc)
|
//priv_key_mainnet_spend, (enc)
|
||||||
@ -29,40 +37,29 @@ pub struct ItemMember {
|
|||||||
}
|
}
|
||||||
|
|
||||||
impl ItemMember {
|
impl ItemMember {
|
||||||
pub fn new(role: Role, sp_address: u32) -> Self {
|
pub fn new(role: Role, sp_address: SilentPaymentAddress) -> Self {
|
||||||
ItemMember {role, sp_address}
|
ItemMember {role, sp_address}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Serialize)]
|
#[derive(Debug, Clone)]
|
||||||
#[wasm_bindgen]
|
|
||||||
pub struct Prdlist {
|
pub struct Prdlist {
|
||||||
//pub id: String,
|
//pub id: String,
|
||||||
//pub version: String,
|
//pub version: String,
|
||||||
pub gestionnaires: Vec<ItemMember>,
|
pub gestionnaires: Vec<ItemMember>,
|
||||||
|
// pub gestionnaires: Box<Vec<ItemMember>>,
|
||||||
}
|
}
|
||||||
|
|
||||||
//auto inscription in the list (not included)
|
|
||||||
/*
|
|
||||||
fn auto_enroll(prdlist: &mut Prdlist, role: Role, sp_address: u32) {
|
|
||||||
let item_member = ItemMember {
|
|
||||||
role, //just as a user
|
|
||||||
sp_address,
|
|
||||||
};
|
|
||||||
prdlist.gestionnaires.push(item_member); //not gestionnaires but users
|
|
||||||
|
|
||||||
}*/
|
|
||||||
|
|
||||||
//fn send_transaction(prdlist: &Prdlist){}
|
|
||||||
//fn send_PrdMessage (prdlist: &Prdlist){}
|
|
||||||
|
|
||||||
#[derive(Serialize)]
|
#[derive(Serialize)]
|
||||||
|
#[wasm_bindgen]
|
||||||
struct RequestBody {
|
struct RequestBody {
|
||||||
message: String,
|
message: String,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[wasm_bindgen]
|
pub fn send_PrdRequest(prdlist: &Prdlist) -> Result<(), JsValue> {
|
||||||
pub async fn send_PrdRequest(prdlist: &Prdlist) -> Result<(), JsValue> {
|
|
||||||
let managers: Vec<&ItemMember> = prdlist.gestionnaires.iter().filter(|m| m.role == Role::Manager).collect();
|
let managers: Vec<&ItemMember> = prdlist.gestionnaires.iter().filter(|m| m.role == Role::Manager).collect();
|
||||||
for manager in managers {
|
for manager in managers {
|
||||||
let request_body = RequestBody {
|
let request_body = RequestBody {
|
||||||
@ -83,3 +80,4 @@ pub async fn send_PrdRequest(prdlist: &Prdlist) -> Result<(), JsValue> {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user