use crate::database::universal_types::{UniversalTimestamp, UniversalUuid};
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PackageSignature {
pub id: UniversalUuid,
pub package_hash: String,
pub key_fingerprint: String,
pub signature: Vec<u8>,
pub signed_at: UniversalTimestamp,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct NewPackageSignature {
pub package_hash: String,
pub key_fingerprint: String,
pub signature: Vec<u8>,
}
impl NewPackageSignature {
pub fn new(package_hash: String, key_fingerprint: String, signature: Vec<u8>) -> Self {
Self {
package_hash,
key_fingerprint,
signature,
}
}
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SignatureVerification {
pub is_valid: bool,
pub signer_fingerprint: String,
pub signed_at: UniversalTimestamp,
pub signer_name: Option<String>,
}