Trait Service

Source
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§

Source

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.

Source

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.

Source

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.

Source

fn is_logged_in(&self) -> bool

Checks if there is an active session against the service.

Source

fn logged_in_username(&self) -> Option<String>

Returns the logged in username if there is an active session.

Source

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.

Source

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.

Source

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.

Source

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.

Implementors§