pub struct Lb {
pub config: Config,
pub keychain: Keychain,
pub db: Arc<RwLock<CoreV3>>,
pub docs: AsyncDocs,
pub search: SearchIndex,
pub client: Network,
pub events: EventSubs,
pub syncing: Arc<AtomicBool>,
}Fields§
§config: Config§keychain: Keychain§db: Arc<RwLock<CoreV3>>§docs: AsyncDocs§search: SearchIndex§client: Network§events: EventSubs§syncing: Arc<AtomicBool>Implementations§
Source§impl Lb
impl Lb
Sourcepub async fn create_account(
&self,
username: &str,
api_url: &str,
welcome_doc: bool,
) -> LbResult<Account>
pub async fn create_account( &self, username: &str, api_url: &str, welcome_doc: bool, ) -> LbResult<Account>
CoreError::AccountExists, CoreError::UsernameTaken, CoreError::UsernameInvalid, CoreError::ServerDisabled, CoreError::ServerUnreachable, CoreError::ClientUpdateRequired,
pub async fn import_account( &self, key: &str, api_url: Option<&str>, ) -> LbResult<Account>
pub async fn import_account_private_key_v1( &self, account: Account, ) -> LbResult<Account>
pub async fn import_account_private_key_v2( &self, private_key: SecretKey, api_url: &str, ) -> LbResult<Account>
pub async fn import_account_phrase( &self, phrase: [&str; 24], api_url: &str, ) -> LbResult<Account>
pub fn export_account_private_key(&self) -> LbResult<String>
pub fn export_account_phrase(&self) -> LbResult<String>
pub fn export_account_qr(&self) -> LbResult<Vec<u8>>
pub async fn delete_account(&self) -> LbResult<()>
Source§impl Lb
impl Lb
pub async fn suggested_docs( &self, settings: RankingWeights, ) -> LbResult<Vec<Uuid>>
Source§impl Lb
impl Lb
pub async fn disappear_account(&self, username: &str) -> LbResult<()>
pub async fn disappear_file(&self, id: Uuid) -> LbResult<()>
pub async fn list_users( &self, filter: Option<AccountFilter>, ) -> LbResult<Vec<Username>>
pub async fn get_account_info( &self, identifier: AccountIdentifier, ) -> LbResult<AccountInfo>
pub async fn validate_account( &self, username: &str, ) -> LbResult<AdminValidateAccount>
pub async fn validate_server(&self) -> LbResult<AdminValidateServer>
pub async fn file_info(&self, id: Uuid) -> LbResult<AdminFileInfoResponse>
pub async fn rebuild_index(&self, index: ServerIndex) -> LbResult<()>
pub async fn set_user_tier( &self, username: &str, info: AdminSetUserTierInfo, ) -> LbResult<()>
Source§impl Lb
impl Lb
pub async fn upgrade_account_stripe( &self, account_tier: StripeAccountTier, ) -> LbResult<()>
pub async fn upgrade_account_google_play( &self, purchase_token: &str, account_id: &str, ) -> LbResult<()>
pub async fn upgrade_account_app_store( &self, original_transaction_id: String, app_account_token: String, ) -> LbResult<()>
pub async fn cancel_subscription(&self) -> LbResult<()>
pub async fn get_subscription_info(&self) -> LbResult<Option<SubscriptionInfo>>
Source§impl Lb
impl Lb
pub async fn read_document( &self, id: Uuid, user_activity: bool, ) -> LbResult<DecryptedDocument>
pub async fn write_document(&self, id: Uuid, content: &[u8]) -> LbResult<()>
pub async fn read_document_with_hmac( &self, id: Uuid, user_activity: bool, ) -> LbResult<(Option<DocumentHmac>, DecryptedDocument)>
pub async fn safe_write( &self, id: Uuid, old_hmac: Option<DocumentHmac>, content: Vec<u8>, ) -> LbResult<DocumentHmac>
Source§impl Lb
impl Lb
pub async fn create_file( &self, name: &str, parent: &Uuid, file_type: FileType, ) -> LbResult<File>
pub async fn rename_file(&self, id: &Uuid, new_name: &str) -> LbResult<()>
pub async fn move_file(&self, id: &Uuid, new_parent: &Uuid) -> LbResult<()>
pub async fn delete(&self, id: &Uuid) -> LbResult<()>
pub async fn root(&self) -> LbResult<File>
pub async fn list_metadatas(&self) -> LbResult<Vec<File>>
pub async fn get_children(&self, id: &Uuid) -> LbResult<Vec<File>>
pub async fn get_and_get_children_recursively( &self, id: &Uuid, ) -> LbResult<Vec<File>>
pub async fn get_file_by_id(&self, id: Uuid) -> LbResult<File>
Source§impl Lb
impl Lb
pub async fn import_files<F: Fn(ImportStatus)>( &self, sources: &[PathBuf], dest: Uuid, update_status: &F, ) -> LbResult<()>
pub async fn export_file<F: Fn(ExportFileInfo)>( &self, id: Uuid, dest: PathBuf, edit: bool, update_status: &Option<F>, ) -> LbResult<()>
pub async fn export_file_recursively<F: Fn(ExportFileInfo)>( &self, id: Uuid, disk_path: &Path, edit: bool, update_status: &Option<F>, ) -> LbResult<()>
Source§impl Lb
impl Lb
pub async fn create_link_at_path( &self, path: &str, target_id: Uuid, ) -> LbResult<File>
pub async fn create_at_path(&self, path: &str) -> LbResult<File>
pub async fn get_by_path(&self, path: &str) -> LbResult<File>
pub async fn get_path_by_id(&self, id: Uuid) -> LbResult<String>
pub async fn list_paths(&self, filter: Option<Filter>) -> LbResult<Vec<String>>
Source§impl Lb
impl Lb
pub async fn search( &self, input: &str, cfg: SearchConfig, ) -> LbResult<Vec<SearchResult>>
pub async fn build_index(&self) -> LbResult<()>
pub fn setup_search(&self)
Source§impl Lb
impl Lb
pub async fn calculate_work(&self) -> LbResult<SyncStatus>
pub async fn sync( &self, f: Option<Box<dyn Fn(SyncProgress) + Send>>, ) -> LbResult<SyncStatus>
pub async fn get_last_synced_human(&self) -> LbResult<String>
pub fn get_timestamp_human_string(&self, timestamp: i64) -> String
Source§impl Lb
impl Lb
pub async fn get_usage(&self) -> LbResult<UsageMetrics>
pub async fn get_uncompressed_usage_breakdown( &self, ) -> LbResult<HashMap<Uuid, usize>>
pub async fn get_uncompressed_usage(&self) -> LbResult<UsageItemMetric>
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Lb
impl !RefUnwindSafe for Lb
impl Send for Lb
impl Sync for Lb
impl Unpin for Lb
impl !UnwindSafe for Lb
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more