pub trait Service {
// Required methods
fn signup<'life0, 'life1, 'async_trait>(
&'life0 mut self,
request: &'life1 SignupRequest,
) -> Pin<Box<dyn Future<Output = Result<()>> + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: '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 Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
fn logout<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = Result<()>> + 'async_trait>>
where Self: 'async_trait,
'life0: '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 Self: 'async_trait,
'life0: 'async_trait,
'life1: '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 Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: '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 Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: '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 Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait;
}
Expand description
Abstract interface to interact with an EndBASIC service server.
Required Methods§
Sourcefn signup<'life0, 'life1, 'async_trait>(
&'life0 mut self,
request: &'life1 SignupRequest,
) -> Pin<Box<dyn Future<Output = Result<()>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn signup<'life0, 'life1, 'async_trait>(
&'life0 mut self,
request: &'life1 SignupRequest,
) -> Pin<Box<dyn Future<Output = Result<()>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Interactively creates an account based on the details provided in request
.
Sourcefn 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
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: '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
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
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.
Sourcefn logout<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = Result<()>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn logout<'life0, 'async_trait>(
&'life0 mut self,
) -> Pin<Box<dyn Future<Output = Result<()>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Logs out from the service and clears the access token from this object.
Sourcefn is_logged_in(&self) -> bool
fn is_logged_in(&self) -> bool
Checks if there is an active session against the service.
Sourcefn logged_in_username(&self) -> Option<String>
fn logged_in_username(&self) -> Option<String>
Returns the logged in username if there is an active session.
Sourcefn get_files<'life0, 'life1, 'async_trait>(
&'life0 mut self,
username: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<GetFilesResponse>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_files<'life0, 'life1, 'async_trait>(
&'life0 mut self,
username: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<GetFilesResponse>> + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Sends a request to the server to obtain the list of files owned by username
with a
previously-acquired access_token
.
Sourcefn 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
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: '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
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: '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
.
Sourcefn 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
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: '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
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: '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
.
Sourcefn 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
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: '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
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Sends a request to the server to delete filename
owned by username
with a
previously-acquired access_token
.