pub mod v3 {
use ruma_common::{
api::{request, response, Metadata},
encryption::CrossSigningKey,
metadata,
serde::Raw,
};
use crate::uiaa::{AuthData, UiaaResponse};
const METADATA: Metadata = metadata! {
method: POST,
rate_limited: false,
authentication: AccessToken,
history: {
unstable => "/_matrix/client/unstable/keys/device_signing/upload",
1.1 => "/_matrix/client/v3/keys/device_signing/upload",
}
};
#[request(error = UiaaResponse)]
#[derive(Default)]
pub struct Request {
#[serde(skip_serializing_if = "Option::is_none")]
pub auth: Option<AuthData>,
#[serde(skip_serializing_if = "Option::is_none")]
pub master_key: Option<Raw<CrossSigningKey>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub self_signing_key: Option<Raw<CrossSigningKey>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub user_signing_key: Option<Raw<CrossSigningKey>>,
}
#[response(error = UiaaResponse)]
#[derive(Default)]
pub struct Response {}
impl Request {
pub fn new() -> Self {
Default::default()
}
}
impl Response {
pub fn new() -> Self {
Self {}
}
}
}