#[derive(Debug, Clone, serde::Serialize, serde:: Deserialize, PartialEq)]
pub struct SignerRemoteResource {
/// 用户公钥
pub pubkey: String,
/// 文件哈希
pub hash: String,
/// 远端服务器地址
pub remotes: Vec<String>,
}
impl SignerRemoteResource {
pub fn new(pubkey: String, hash: String) -> Self {
Self {
pubkey,
hash,
remotes: vec![],
}
}
pub fn merge(&mut self, other: &SignerRemoteResource) {
if self.hash == other.hash {
for remote in &other.remotes {
if !self.remotes.contains(remote) {
self.remotes.push(remote.clone());
}
}
}
}
}