use std::collections::BTreeMap;
use ruma_common::{
SigningKeyAlgorithm,
api::{auth_scheme::NoAccessToken, request, response},
metadata,
serde::Base64,
};
metadata! {
method: GET,
rate_limited: false,
authentication: NoAccessToken,
path: "/.well-known/matrix/policy_server",
}
#[request]
#[derive(Default)]
pub struct Request {}
#[response]
pub struct Response {
pub public_keys: BTreeMap<SigningKeyAlgorithm, Base64>,
}
impl Request {
pub fn new() -> Self {
Self {}
}
}
impl Response {
pub fn new(ed25519_public_key: Base64) -> Self {
Self { public_keys: [(SigningKeyAlgorithm::Ed25519, ed25519_public_key)].into() }
}
}