Struct PasswordApi

Source
pub struct PasswordApi<'a> { /* private fields */ }
Expand description

Actions on the PasswordApi API

Implementations§

Source§

impl<'a> PasswordApi<'a>

Source

pub async fn list( &self, details: Option<Details>, ) -> Result<Vec<Password>, Error>

The list action lists all passwords of the user except those in trash and the hidden ones.

The return value is a list of password objects with the given detail level

Notes

  • The list will not include trashed passwords
  • The list will not include hidden passwords
  • The list will not include suspended passwords where the folder or a parent folder is in the trash
Source

pub async fn get( &self, details: Option<Details>, id: Uuid, ) -> Result<Password, Error>

The show action lists the properties of a single password.

The return value is a password object with the given detail level

Notes

  • This is the only action that can access hidden passwords
Source

pub async fn find( &self, criteria: PasswordSearch, details: Option<Details>, ) -> Result<Vec<Password>, Error>

The find action can be used to find all passwords matching the given search criteria.

The return value is a list of password objects that match the criteria with the given detail level

Notes

  • The property trashed will be set to false if not present
  • The list will not include hidden passwords
  • The list will not include suspended passwords where the folder or a parent folder is in the trash
Source

pub async fn create( &self, value: CreatePassword, ) -> Result<PasswordIdentifier, Error>

The create action creates a new password with the given attributes.

Notes

  • If the password is not hidden and should be created in a hidden folder, it will be created in the base folder instead
  • If the folder uuid is invalid or does not exist, the base folder uuid will be used instead
  • If the edited argument is “0” or missing, the current time will be used
  • If the edited time is in the future, the current time will be used
  • If the cseType is set to “none”, the hash will be calculated on the server
  • If the tags argument contains invalid tag ids, they will be ignored
  • You can assign hidden tags to a not hidden password, but they will not be visible.
  • Therefore another client might remove the tag by accident
Source

pub async fn update( &self, folder: UpdatePassword, ) -> Result<PasswordIdentifier, Error>

The update action creates a new revision of a password with an updated set of attributes.

Notes

  • If the password is not editable any change to the encrypted properties, the cseType and the hash will be ignored.
  • If the password is shared you can only use cse types which support sharing
  • If the password is shared you can not hide the password
  • If the password is not hidden and should be moved to a hidden folder, it will be moved to the base folder instead
  • If the password has tags and you want to remove all tags, you need to submit an array with one invalid tag id
  • If the folder uuid is invalid or does not exist, the base folder uuid will be used instead
  • If the edited argument is “0” or missing, the timestamp from the last revision will be used
  • If the edited time is in the future, the current time will be used
  • If the hash has not changed, the edited field from the last revision will be used
  • If the cseType is set to “none”, the hash will be calculated on the server
  • If the tags argument is empty or missing, no changes will be made
  • If the tags argument contains invalid tag ids, they will be ignored
  • You can assign hidden tags to a not hidden password, but they will not be visible.
  • Therefore another client might remove the tag by accident
Source

pub async fn delete( &self, id: Uuid, revision: Option<Uuid>, ) -> Result<TrashedIdentifier, Error>

The delete action moves a password to the trash or deletes it completely if it is already in the trash.

Notes

  • If a password is moved to the trash, the relations to tags will be hidden from the tag, but not the password.
  • If the revision is set, the password will only be deleted if that revision is the current revision. Otherwise an “Outdated revision id” error is returned. This way, a password is not accidentally deleted instead of trashed if the client is out of sync.
Source

pub async fn restore( &self, id: Uuid, revision: Option<Uuid>, ) -> Result<PasswordIdentifier, Error>

The restore action can restore an earlier state of a password.

Notes

  • If no revision is given and the password is in trash, it will be removed from trash
  • If no revision is given and the password is not in trash, nothing is done
  • If a revision is given and the revision is marked as in trash, it will be removed from trash
  • If a revision is given that does not belong to the model, a “Invalid revision id” error will be returned.
  • The action will fail if the password is shared but the revision to restore does not meet the requirements for sharing
  • This action will always create a new revision
  • The server side encryption type may change
  • If the folder does not exist anymore, it will be moved to the base folder
  • Tag relations can not be restored
  • Deleted passwords can not be restored

Auto Trait Implementations§

§

impl<'a> Freeze for PasswordApi<'a>

§

impl<'a> !RefUnwindSafe for PasswordApi<'a>

§

impl<'a> Send for PasswordApi<'a>

§

impl<'a> Sync for PasswordApi<'a>

§

impl<'a> Unpin for PasswordApi<'a>

§

impl<'a> !UnwindSafe for PasswordApi<'a>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,