Skip to main content

PaperlessClient

Struct PaperlessClient 

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

Client to interact with Paperless.

Fields§

§request_full_permissions: bool

Whether to request full permissions data for items.

§request_full_content: bool

Whether to always request the full document content.

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 fn with_full_content(self, full_content: bool) -> Self

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.

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>

Query documents using the given DocumentQueryBuilder.

Source

pub fn get_documents_by_tags( &self, tag_ids: &[TagId], ) -> 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>>

Get all workflows.

Source

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

Get all saved views.

Source

pub fn get_statistics(&self) -> impl Future<Output = Result<Statistics, Error>>

Get server statistics.

Source

pub fn get_status(&self) -> impl Future<Output = Result<ServerStatus, Error>>

Get server status.

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, update: &T::UpdateDto, ) -> Result<T::BaseType, 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>

Get the tags cache.

Source

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

Get the storage paths cache.

Source

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

Find a tag by its name.

Source

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

Get the document types cache.

Source

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

Find a document type by its name.

Source

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

Get the correspondents cache.

Source

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

Get the custom fields cache.

Source

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

Find a custom field by its name.

Source

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

Get the users cache.

Source

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

Get the groups cache.

Trait Implementations§

Source§

impl Clone for PaperlessClient

Source§

fn clone(&self) -> PaperlessClient

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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