Make wasm getter functions return Result

This commit is contained in:
onyinyang 2023-12-19 12:29:01 -05:00
parent c8b6bb9fdd
commit 364b55dc4c
1 changed files with 40 additions and 15 deletions

View File

@ -509,7 +509,7 @@ pub fn handle_blockage_migration(
} }
#[wasm_bindgen] #[wasm_bindgen]
pub fn get_last_upgrade_time(lox_cred_str: String) -> String { pub fn get_last_upgrade_time(lox_cred_str: String) -> Result<String, JsValue> {
let lox_cred: lox_utils::LoxCredential = serde_json::from_str(&lox_cred_str).unwrap(); let lox_cred: lox_utils::LoxCredential = serde_json::from_str(&lox_cred_str).unwrap();
let upgrade_date = scalar_u32(&lox_cred.lox_credential.level_since).unwrap(); let upgrade_date = scalar_u32(&lox_cred.lox_credential.level_since).unwrap();
let date_time = JulianDay::new(upgrade_date as i32).to_date(); let date_time = JulianDay::new(upgrade_date as i32).to_date();
@ -517,33 +517,42 @@ pub fn get_last_upgrade_time(lox_cred_str: String) -> String {
"Time of last upgrade {}", "Time of last upgrade {}",
serde_json::to_string(&date_time).unwrap() serde_json::to_string(&date_time).unwrap()
)); ));
serde_json::to_string(&date_time).unwrap() match serde_json::to_string(&date_time) {
Ok(date_str) => Ok(date_str),
Err(e) => Err(JsValue::from(e.to_string())),
}
} }
#[wasm_bindgen] #[wasm_bindgen]
pub fn get_trust_level(lox_cred_str: String) -> String { pub fn get_trust_level(lox_cred_str: String) -> Result<String, JsValue> {
let lox_cred: lox_utils::LoxCredential = serde_json::from_str(&lox_cred_str).unwrap(); let lox_cred: lox_utils::LoxCredential = serde_json::from_str(&lox_cred_str).unwrap();
let trust_level = scalar_u32(&lox_cred.lox_credential.trust_level).unwrap(); let trust_level = scalar_u32(&lox_cred.lox_credential.trust_level).unwrap();
log(&format!( log(&format!(
"Trust level {}", "Trust level {}",
serde_json::to_string(&trust_level).unwrap() serde_json::to_string(&trust_level).unwrap()
)); ));
serde_json::to_string(&trust_level).unwrap() match serde_json::to_string(&trust_level) {
Ok(trust_str) => Ok(trust_str),
Err(e) => Err(JsValue::from(e.to_string())),
}
} }
#[wasm_bindgen] #[wasm_bindgen]
pub fn get_invites_remaining(lox_cred_str: String) -> String { pub fn get_invites_remaining(lox_cred_str: String) -> Result<String, JsValue> {
let lox_cred: lox_utils::LoxCredential = serde_json::from_str(&lox_cred_str).unwrap(); let lox_cred: lox_utils::LoxCredential = serde_json::from_str(&lox_cred_str).unwrap();
let invites = scalar_u32(&lox_cred.lox_credential.invites_remaining); let invites = scalar_u32(&lox_cred.lox_credential.invites_remaining);
log(&format!( log(&format!(
"Invites remaining {}", "Invites remaining {}",
serde_json::to_string(&invites).unwrap() serde_json::to_string(&invites).unwrap()
)); ));
serde_json::to_string(&invites).unwrap() match serde_json::to_string(&invites) {
Ok(invite_str) => Ok(invite_str),
Err(e) => Err(JsValue::from(e.to_string())),
}
} }
#[wasm_bindgen] #[wasm_bindgen]
pub fn get_issued_invite_expiry(lox_cred_str: String) -> String { pub fn get_issued_invite_expiry(lox_cred_str: String) -> Result<String, JsValue> {
let lox_cred: lox_utils::LoxCredential = serde_json::from_str(&lox_cred_str).unwrap(); let lox_cred: lox_utils::LoxCredential = serde_json::from_str(&lox_cred_str).unwrap();
match lox_cred.invitation { match lox_cred.invitation {
Some(invitation) => { Some(invitation) => {
@ -554,14 +563,18 @@ pub fn get_issued_invite_expiry(lox_cred_str: String) -> String {
"Invitation Expiry {}", "Invitation Expiry {}",
serde_json::to_string(&date_time).unwrap() serde_json::to_string(&date_time).unwrap()
)); ));
serde_json::to_string(&date_time).unwrap() let inv_date_str = match serde_json::to_string(&date_time) {
Ok(inv_date_str) => Ok(inv_date_str),
Err(e) => Err(JsValue::from(e.to_string())),
};
inv_date_str
} }
None => serde_json::to_string("No Invitation Issued").unwrap(), None => Err(JsValue::from("No Invitation Issued")),
} }
} }
#[wasm_bindgen] #[wasm_bindgen]
pub fn get_received_invite_expiry(invite_cred_str: String) -> String { pub fn get_received_invite_expiry(invite_cred_str: String) -> Result<String, JsValue> {
let invite_cred: lox_utils::IssuedInvitation = serde_json::from_str(&invite_cred_str).unwrap(); let invite_cred: lox_utils::IssuedInvitation = serde_json::from_str(&invite_cred_str).unwrap();
let expiry = (scalar_u32(&invite_cred.invitation.date).unwrap() + 15) as i32; let expiry = (scalar_u32(&invite_cred.invitation.date).unwrap() + 15) as i32;
let date_time = JulianDay::new(expiry).to_date(); let date_time = JulianDay::new(expiry).to_date();
@ -570,11 +583,17 @@ pub fn get_received_invite_expiry(invite_cred_str: String) -> String {
"Invitation Expiry {}", "Invitation Expiry {}",
serde_json::to_string(&date_time).unwrap() serde_json::to_string(&date_time).unwrap()
)); ));
serde_json::to_string(&date_time).unwrap() match serde_json::to_string(&date_time) {
Ok(date_str) => Ok(date_str),
Err(e) => Err(JsValue::from(e.to_string())),
}
} }
#[wasm_bindgen] #[wasm_bindgen]
pub fn get_bridgelines_from_bucket(lox_cred_str: String, encrypted_table: String) -> String { pub fn get_bridgelines_from_bucket(
lox_cred_str: String,
encrypted_table: String,
) -> Result<String, JsValue> {
let lox_cred: lox_utils::LoxCredential = serde_json::from_str(&lox_cred_str).unwrap(); let lox_cred: lox_utils::LoxCredential = serde_json::from_str(&lox_cred_str).unwrap();
let bridgelines = let bridgelines =
lox_utils::get_credential_bridgelines(&lox_cred.lox_credential, encrypted_table); lox_utils::get_credential_bridgelines(&lox_cred.lox_credential, encrypted_table);
@ -582,9 +601,15 @@ pub fn get_bridgelines_from_bucket(lox_cred_str: String, encrypted_table: String
"Lox BridgeLines Expiry {}", "Lox BridgeLines Expiry {}",
serde_json::to_string(&bridgelines).unwrap() serde_json::to_string(&bridgelines).unwrap()
)); ));
serde_json::to_string(&bridgelines).unwrap() match serde_json::to_string(&bridgelines) {
Ok(bridgelines_str) => Ok(bridgelines_str),
Err(e) => Err(JsValue::from(e.to_string())),
}
} }
pub fn get_constants() -> String { pub fn get_constants() -> Result<String, JsValue> {
serde_json::to_string(&lox_utils::LOX_SYSTEM_INFO).unwrap() match serde_json::to_string(&lox_utils::LOX_SYSTEM_INFO) {
Ok(system_info_str) => Ok(system_info_str),
Err(e) => Err(JsValue::from(e.to_string())),
}
} }