use serde::{Deserialize, Serialize};
use super::conformance_level::SealConformanceLevel;
use super::credential_ref::SealCredentialRef;
use super::envelope::SealEnvelope;
use super::format::SealFormat;
use super::mode::SealMode;
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct SealRequest {
pub payload_hash: String,
pub mode: SealMode,
pub key_ref: SealCredentialRef,
pub sig_format: SealFormat,
#[serde(default = "default_conformance_level")]
pub conformance_level: SealConformanceLevel,
#[serde(default = "default_envelope")]
pub envelope: SealEnvelope,
}
fn default_conformance_level() -> SealConformanceLevel {
SealConformanceLevel::BaselineLt
}
fn default_envelope() -> SealEnvelope {
SealEnvelope::Detached
}