Skip to main content

PaperlessClient

Struct PaperlessClient 

Source
pub struct PaperlessClient {
    pub request_full_permissions: bool,
    /* private fields */
}
Expand description

Client to interact with Paperless.

Fields§

§request_full_permissions: bool

Whether to request full permissions data for items.

Implementations§

Source§

impl PaperlessClient

Source

pub fn new( base_url: &str, token: &str, headers: Option<&HashMap<String, String>>, ) -> Result<Self, String>

Create a new Paperless client.

§Arguments
  • base_url - The base URL of the Paperless API.
  • token - The authentication token for the Paperless API.
  • headers - Optional additional headers to include in requests.
Source

pub fn new_with_client( base_url: &str, token: &str, headers: Option<&HashMap<String, String>>, client_builder: ClientBuilder, ) -> Result<Self, String>

Create a new Paperless client.

Provide a reqwest::ClientBuilder to customize the HTTP client, such as adding custom headers or disabling compression.

§Arguments
  • base_url - The base URL of the Paperless API.
  • token - The authentication token for the Paperless API.
  • headers - Optional additional headers to include in requests.
  • client_builder - reqwest::ClientBuilder to use for creating the HTTP client.
Source

pub fn with_full_permissions(self, req: bool) -> Self

Sets whether to request full permissions data for items during refresh.

If not enabled only simple permission data is loaded. See ItemPermissions for more details.

Source

pub async fn refresh_all(&mut self) -> Result<(), Error>

Refresh and cache all metadata.

Only updates the cache for this instance, cloned instances will not see the changes.

§Arguments
  • full_permissions - Whether to use request full permissions data for the items.
Source

pub async fn refresh( &mut self, data: impl IntoIterator<Item = RefreshMetaData>, ) -> Result<(), Error>

Refresh and cache the selected metadata.

Only updates the cache for this instance, cloned instances will not see the changes.

§Arguments
  • data - The metadata to refresh.
  • full_permissions - Whether to use request full permissions data for the items being refreshed.
Source

pub async fn query_documents( &self, query: DocumentQueryBuilder, ) -> Result<Vec<Document>, Error>

Source

pub fn get_documents_by_tags( &self, tag_ids: &[TagId], truncate_content: bool, ) -> impl Future<Output = Result<Vec<Document>, Error>>

Get all documents with any of the given tags.

Source

pub async fn get_document_by_id( &self, id: DocumentId, ) -> Result<Document, Error>

Get a document by its ID.

Source

pub async fn get_task_status( &self, task_id: Option<&TaskId>, task_name: Option<&str>, acknowledged: Option<bool>, ) -> Result<Vec<Task>, Error>

Get all tasks with optional filtering by ID, name, or acknowledged status.

Source

pub fn get_workflows( &self, ) -> impl Future<Output = Result<Vec<Workflow>, Error>>

Source

pub fn get_saved_views( &self, ) -> impl Future<Output = Result<Vec<SavedView>, Error>>

Source

pub async fn get_statistics(&self) -> Result<Statistics, Error>

Source

pub async fn get_status(&self) -> Result<ServerStatus, Error>

Source

pub async fn create<T: Item>( &self, new_item: T::CreateDto, ) -> Result<T::BaseType, Error>

Create a new item in Paperless.

All structs which implement CreateDtoObject can be used as new_item.

Returns the created item

Source

pub async fn update<T: Item>( &self, id: T::Id, item: T::UpdateDto, ) -> Result<(), Error>

Updates an existing item in Paperless.

All structs which implement UpdateDtoObject can be used as item.

Source

pub async fn delete<T: Item>(&self, id: T::Id) -> Result<(), Error>

Deletes an existing item in Paperless.

Source

pub async fn upload_document( &self, file_path: &Path, filename: &str, ) -> Result<TaskId, Error>

Upload a document to Paperless.

Returns the task ID on success.

Source

pub fn tags(&self) -> &HashMap<TagId, Tag>

Source

pub fn storage_paths(&self) -> &HashMap<StoragePathId, StoragePath>

Source

pub fn find_tag_by_name(&self, name: &str) -> Option<&Tag>

Source

pub fn document_types(&self) -> &HashMap<DocumentTypeId, DocumentType>

Source

pub fn find_document_type_by_name(&self, name: &str) -> Option<&DocumentType>

Source

pub fn correspondents(&self) -> &HashMap<CorrespondentId, Correspondent>

Source

pub fn custom_fields(&self) -> &HashMap<CustomFieldId, CustomField>

Source

pub fn find_custom_field_by_name(&self, name: &str) -> Option<&CustomField>

Source

pub fn users(&self) -> &HashMap<UserId, User>

Source

pub fn groups(&self) -> &HashMap<GroupId, Group>

Trait Implementations§

Source§

impl Clone for PaperlessClient

Source§

fn clone(&self) -> PaperlessClient

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for PaperlessClient

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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, 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> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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