Trait endbasic_client::Service
source · [−]pub trait Service {
fn signup<'life0, 'life1, 'async_trait>(
&'life0 mut self,
request: &'life1 SignupRequest
) -> Pin<Box<dyn Future<Output = Result<()>> + 'async_trait>>
where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait;
fn login<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
username: &'life1 str,
password: &'life2 str
) -> Pin<Box<dyn Future<Output = Result<LoginResponse>> + 'async_trait>>
where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait;
fn logout<'life0, 'async_trait>(
&'life0 mut self
) -> Pin<Box<dyn Future<Output = Result<()>> + 'async_trait>>
where
'life0: 'async_trait,
Self: 'async_trait;
fn is_logged_in(&self) -> bool;
fn logged_in_username(&self) -> Option<String>;
fn get_files<'life0, 'life1, 'async_trait>(
&'life0 mut self,
username: &'life1 str
) -> Pin<Box<dyn Future<Output = Result<GetFilesResponse>> + 'async_trait>>
where
'life0: 'async_trait,
'life1: 'async_trait,
Self: 'async_trait;
fn get_file<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 mut self,
username: &'life1 str,
filename: &'life2 str,
request: &'life3 GetFileRequest
) -> Pin<Box<dyn Future<Output = Result<GetFileResponse>> + 'async_trait>>
where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Self: 'async_trait;
fn patch_file<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 mut self,
username: &'life1 str,
filename: &'life2 str,
request: &'life3 PatchFileRequest
) -> Pin<Box<dyn Future<Output = Result<()>> + 'async_trait>>
where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Self: 'async_trait;
fn delete_file<'life0, 'life1, 'life2, 'async_trait>(
&'life0 mut self,
username: &'life1 str,
filename: &'life2 str
) -> Pin<Box<dyn Future<Output = Result<()>> + 'async_trait>>
where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: 'async_trait;
}
Expand description
Abstract interface to interact with an EndBASIC service server.
Required Methods
Interactively creates an account based on the details provided in request
.
Sends an authentication request to the service with username
and password
to obtain an
access token for the session.
If logging is successful, the access token is cached for future retrieval.
Logs out from the service and clears the access token from this object.
fn is_logged_in(&self) -> bool
fn is_logged_in(&self) -> bool
Checks if there is an active session against the service.
fn logged_in_username(&self) -> Option<String>
fn logged_in_username(&self) -> Option<String>
Returns the logged in username if there is an active session.
Sends a request to the server to obtain the list of files owned by username
with a
previously-acquired access_token
.
fn get_file<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 mut self,
username: &'life1 str,
filename: &'life2 str,
request: &'life3 GetFileRequest
) -> Pin<Box<dyn Future<Output = Result<GetFileResponse>> + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Self: 'async_trait,
fn get_file<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 mut self,
username: &'life1 str,
filename: &'life2 str,
request: &'life3 GetFileRequest
) -> Pin<Box<dyn Future<Output = Result<GetFileResponse>> + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Self: 'async_trait,
Sends a request to the server to obtain the metadata and/or the contents of filename
owned
by username
as specified in request
with a previously-acquired access_token
.
fn patch_file<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 mut self,
username: &'life1 str,
filename: &'life2 str,
request: &'life3 PatchFileRequest
) -> Pin<Box<dyn Future<Output = Result<()>> + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Self: 'async_trait,
fn patch_file<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 mut self,
username: &'life1 str,
filename: &'life2 str,
request: &'life3 PatchFileRequest
) -> Pin<Box<dyn Future<Output = Result<()>> + 'async_trait>> where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Self: 'async_trait,
Sends a request to the server to update the metadata and/or the contents of filename
owned
by username
as specified in request
with a previously-acquired access_token
.
Sends a request to the server to delete filename
owned by username
with a
previously-acquired access_token
.