use serde::{Deserialize, Serialize};
use serde_json::Value;
use crate::keys::KeyType;
#[derive(Debug, Clone, Serialize, Deserialize)]
#[cfg_attr(feature = "openapi", derive(utoipa::ToSchema))]
pub struct DeriveAndSignDocumentBody {
pub key_type: KeyType,
pub derivation_path: String,
#[cfg_attr(feature = "openapi", schema(value_type = Object))]
pub document: Value,
#[serde(default)]
pub proof_purpose: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[cfg_attr(feature = "openapi", derive(utoipa::ToSchema))]
pub struct DeriveAndSignDocumentResultBody {
pub signer_did: String,
#[cfg_attr(feature = "openapi", schema(value_type = Object))]
pub document: Value,
}