pub struct UserClient<'a, T: Transport, A: AuthProvider> { /* private fields */ }Expand description
Client for Nextcloud user provisioning and server capabilities.
Wraps an OcsClient by reference and provides high-level typed calls for:
- Server capabilities discovery (
/ocs/v1.php/cloud/capabilitiesor/ocs/v2.php/cloud/capabilities) - Current authenticated user metadata (
/ocs/v1.php/cloud/useror/ocs/v2.php/cloud/user) - User profile lookup by user ID (
/ocs/v1.php/cloud/users/{userid}or/ocs/v2.php/cloud/users/{userid})
Official documentation:
- Nextcloud OCS Overview: https://docs.nextcloud.com/server/latest/developer_manual/client_apis/OCS/ocs-api-overview.html
- User Metadata: https://docs.nextcloud.com/server/latest/developer_manual/client_apis/OCS/ocs-api-overview.html#user-metadata
- Capabilities API: https://docs.nextcloud.com/server/latest/developer_manual/client_apis/OCS/ocs-api-overview.html#capabilities-api
- User Provisioning API: https://docs.nextcloud.com/server/latest/admin_manual/configuration_user/user_provisioning_api.html
Implementations§
Source§impl<'a, T: Transport, A: AuthProvider> UserClient<'a, T, A>
impl<'a, T: Transport, A: AuthProvider> UserClient<'a, T, A>
Sourcepub const fn new(ocs: &'a OcsClient<T, A>) -> Self
pub const fn new(ocs: &'a OcsClient<T, A>) -> Self
Binds a user client to an underlying OcsClient.
Sourcepub async fn capabilities(&self) -> Result<Capabilities, Error>
pub async fn capabilities(&self) -> Result<Capabilities, Error>
Fetches server capabilities.
Sends a GET request to /ocs/v2.php/cloud/capabilities?format=json
(the v2 equivalent of /ocs/v1.php/cloud/capabilities).
Sourcepub async fn current_user(&self) -> Result<User, Error>
pub async fn current_user(&self) -> Result<User, Error>
Fetches the profile and storage quota of the currently authenticated user.
Sends a GET request to /ocs/v2.php/cloud/user?format=json
(the v2 equivalent of /ocs/v1.php/cloud/user).
See https://docs.nextcloud.com/server/latest/developer_manual/client_apis/LoginFlow/index.html.
Trait Implementations§
Source§impl<'a, T: Clone + Transport, A: Clone + AuthProvider> Clone for UserClient<'a, T, A>
impl<'a, T: Clone + Transport, A: Clone + AuthProvider> Clone for UserClient<'a, T, A>
impl<'a, T: Copy + Transport, A: Copy + AuthProvider> Copy for UserClient<'a, T, A>
Source§impl<'a, T: Debug + Transport, A: Debug + AuthProvider> Debug for UserClient<'a, T, A>
impl<'a, T: Debug + Transport, A: Debug + AuthProvider> Debug for UserClient<'a, T, A>
Auto Trait Implementations§
impl<'a, T, A> Freeze for UserClient<'a, T, A>
impl<'a, T, A> RefUnwindSafe for UserClient<'a, T, A>where
&'a OcsClient<T, A>: RefUnwindSafe,
impl<'a, T, A> Send for UserClient<'a, T, A>
impl<'a, T, A> Sync for UserClient<'a, T, A>
impl<'a, T, A> Unpin for UserClient<'a, T, A>
impl<'a, T, A> UnsafeUnpin for UserClient<'a, T, A>where
&'a OcsClient<T, A>: UnsafeUnpin,
impl<'a, T, A> UnwindSafe for UserClient<'a, T, A>where
&'a OcsClient<T, A>: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more