fplus_lib/
base64.rs

1use std::io::Cursor;
2
3use base64;
4
5use crate::core::application::file::{ApplicationFile, ValidNotaryList, ValidRKHList};
6
7pub fn decode(i: &str) -> Option<ApplicationFile> {
8    let mut binding = Cursor::new(i);
9    let decoder = base64::read::DecoderReader::new(&mut binding, base64::STANDARD);
10    let app_file: ApplicationFile = match serde_json::from_reader(decoder) {
11        Ok(f) => f,
12        Err(_) => return None,
13    };
14    Some(app_file)
15}
16
17pub fn decode_notary(i: &str) -> Option<ValidNotaryList> {
18    let mut binding = Cursor::new(i);
19    let decoder = base64::read::DecoderReader::new(&mut binding, base64::STANDARD);
20    let notaries: ValidNotaryList = match serde_json::from_reader(decoder) {
21        Ok(f) => f,
22        Err(_) => return None,
23    };
24    Some(notaries)
25}
26
27pub fn decode_rkh(i: &str) -> Option<ValidRKHList> {
28    let mut binding = Cursor::new(i);
29    let decoder = base64::read::DecoderReader::new(&mut binding, base64::STANDARD);
30    let rkh: ValidRKHList = match serde_json::from_reader(decoder) {
31        Ok(f) => f,
32        Err(_) => return None,
33    };
34    Some(rkh)
35}