script_sign/
keymap.rs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
use rust_util::XResult;
use serde::{Deserialize, Serialize};
use std::collections::HashMap;

#[derive(Debug, Serialize, Deserialize)]
pub struct KeyMap {
    key_map: HashMap<String, String>,
}

impl KeyMap {
    pub fn system() -> XResult<Self> {
        let signing_keys = r##"
{
  "yk-r1": "04dd3eebd906c9cf00b08ec29f7ed61804d1cc1d1352d9257b628191e08fc3717c4fae3298cd5c4829cec8bf3a946e7db60b7857e1287f6a0bae6b3f2342f007d0"
}
"##;
        // unwrap should not happen
        let key_map: HashMap<String, String> = serde_json::from_str(signing_keys).unwrap();
        Ok(KeyMap { key_map })
    }

    pub fn find(&self, key_id: &str) -> Option<&String> {
        self.key_map.get(key_id)
    }
}