nextcloud_users/capabilities/
core.rs1use serde::{Deserialize, Serialize};
2
3use super::ServerStatus;
4use crate::wire::lossy_opt_u64;
5
6#[derive(Clone, Debug, Default, PartialEq, Eq, Deserialize, Serialize)]
8pub struct CoreCapabilities {
9 #[serde(
11 default,
12 alias = "pollinterval",
13 alias = "poll_interval",
14 deserialize_with = "lossy_opt_u64"
15 )]
16 pub poll_interval: Option<u64>,
17 #[serde(default, alias = "webdav-root", alias = "webdav_root")]
19 pub webdav_root: Option<String>,
20 #[serde(default)]
22 pub status: Option<ServerStatus>,
23}
24
25impl CoreCapabilities {
26 pub const fn poll_interval(&self) -> Option<u64> {
28 self.poll_interval
29 }
30
31 pub fn webdav_root(&self) -> Option<&str> {
33 self.webdav_root.as_deref()
34 }
35
36 pub fn status(&self) -> Option<&ServerStatus> {
38 self.status.as_ref()
39 }
40}