ruma_client_api/media/
create_mxc_uri.rs1pub mod v1 {
6 use ruma_common::{
11 MilliSecondsSinceUnixEpoch, OwnedMxcUri,
12 api::{auth_scheme::AccessToken, request, response},
13 metadata,
14 };
15
16 metadata! {
17 method: POST,
18 rate_limited: true,
19 authentication: AccessToken,
20 history: {
21 unstable("fi.mau.msc2246") => "/_matrix/media/unstable/fi.mau.msc2246/create",
22 1.7 => "/_matrix/media/v1/create",
23 }
24 }
25
26 #[request(error = crate::Error)]
28 #[derive(Default)]
29 pub struct Request {}
30
31 #[response(error = crate::Error)]
33 pub struct Response {
34 pub content_uri: OwnedMxcUri,
36
37 #[serde(skip_serializing_if = "Option::is_none")]
39 pub unused_expires_at: Option<MilliSecondsSinceUnixEpoch>,
40 }
41
42 impl Response {
43 pub fn new(content_uri: OwnedMxcUri) -> Self {
45 Self { content_uri, unused_expires_at: None }
46 }
47 }
48}