19 lines
539 B
Rust
19 lines
539 B
Rust
use ruma::OwnedMxcUri;
|
|
use serde::ser::SerializeMap;
|
|
use serde::{Serialize, Serializer};
|
|
|
|
pub struct ApiMxcURI(pub OwnedMxcUri);
|
|
|
|
impl Serialize for ApiMxcURI {
|
|
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
|
|
where
|
|
S: Serializer,
|
|
{
|
|
let mut map = serializer.serialize_map(Some(3))?;
|
|
map.serialize_entry("uri", &self.0)?;
|
|
map.serialize_entry("server_name", &self.0.server_name().ok())?;
|
|
map.serialize_entry("media_id", &self.0.media_id().ok())?;
|
|
map.end()
|
|
}
|
|
}
|