graph_http/traits/
odata_link.rs1pub trait ODataNextLink<RHS = Self> {
2 fn odata_next_link(&self) -> Option<String>;
4}
5
6impl ODataNextLink for serde_json::Value {
7 fn odata_next_link(&self) -> Option<String> {
8 self["@odata.nextLink"].as_str().map(|s| s.to_string())
9 }
10}
11
12pub trait ODataDownloadLink<RHS = Self> {
13 fn odata_download_link(&self) -> Option<String>;
15}
16
17impl ODataDownloadLink for serde_json::Value {
18 fn odata_download_link(&self) -> Option<String> {
19 self["@microsoft.graph.downloadUrl"]
20 .as_str()
21 .map(|s| s.to_string())
22 }
23}
24
25pub trait ODataMetadataLink<RHS = Self> {
26 fn odata_metadata_link(&self) -> Option<String>;
28}
29
30impl ODataMetadataLink for serde_json::Value {
31 fn odata_metadata_link(&self) -> Option<String> {
32 self["@odata.context"].as_str().map(|s| s.to_string())
33 }
34}
35
36pub trait ODataDeltaLink<RHS = Self> {
37 fn odata_delta_link(&self) -> Option<String>;
39}
40
41impl ODataDeltaLink for serde_json::Value {
42 fn odata_delta_link(&self) -> Option<String> {
43 self["@odata.deltaLink"].as_str().map(|s| s.to_string())
44 }
45}
46
47pub trait UploadSessionLink {
48 fn upload_session_link(&self) -> Option<String>;
49}
50
51impl UploadSessionLink for serde_json::Value {
52 fn upload_session_link(&self) -> Option<String> {
53 self["uploadUrl"].as_str().map(|s| s.to_string())
54 }
55}