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}