pub struct Workflows {
pub client: Client,
}Available on crate feature
requests only.Fields§
§client: ClientImplementations§
Source§impl Workflows
impl Workflows
Sourcepub async fn list<'a>(
&'a self,
page: Option<i64>,
page_size: Option<i64>,
) -> Result<PaginatedWorkflowList, Error>
pub async fn list<'a>( &'a self, page: Option<i64>, page_size: Option<i64>, ) -> Result<PaginatedWorkflowList, Error>
Perform a GET request to /api/workflows/.
Parameters:
page: Option<i64>: A page number within the paginated result set.page_size: Option<i64>: Number of results to return per page.
use futures_util::TryStreamExt;
async fn example_workflows_list_stream() -> anyhow::Result<()> {
let client = paperless_api_client::Client::new_from_env();
let mut workflows = client.workflows();
let mut stream = workflows.list_stream(Some(4 as i64));
loop {
match stream.try_next().await {
Ok(Some(item)) => {
println!("{:?}", item);
}
Ok(None) => {
break;
}
Err(err) => {
return Err(err.into());
}
}
}
Ok(())
}Sourcepub async fn create<'a>(
&'a self,
body: &WorkflowRequest,
) -> Result<Workflow, Error>
pub async fn create<'a>( &'a self, body: &WorkflowRequest, ) -> Result<Workflow, Error>
Perform a POST request to /api/workflows/.
async fn example_workflows_create() -> anyhow::Result<()> {
let client = paperless_api_client::Client::new_from_env();
let result: paperless_api_client::types::Workflow = client
.workflows()
.create(&paperless_api_client::types::WorkflowRequest {
name: "some-string".to_string(),
order: Some(4 as i64),
enabled: Some(true),
triggers: vec![paperless_api_client::types::WorkflowTriggerRequest {
id: Some(4 as i64),
sources: vec![4 as i64],
type_: 4 as i64,
filter_path: Some("some-string".to_string()),
filter_filename: Some("some-string".to_string()),
filter_mailrule: Some(4 as i64),
matching_algorithm: Some(4 as i64),
match_: Some("some-string".to_string()),
is_insensitive: Some(true),
filter_has_tags: Some(vec![4 as i64]),
filter_has_correspondent: Some(4 as i64),
filter_has_document_type: Some(4 as i64),
schedule_offset_days: Some(4 as i64),
schedule_is_recurring: Some(true),
schedule_recurring_interval_days: Some(4 as i64),
schedule_date_field: Some(paperless_api_client::types::ScheduleDateFieldEnum::Modified),
schedule_date_custom_field: Some(4 as i64),
}],
actions: vec![paperless_api_client::types::WorkflowActionRequest {
id: Some(4 as i64),
type_: Some(4 as i64),
assign_title: Some("some-string".to_string()),
assign_tags: Some(vec![4 as i64]),
assign_correspondent: Some(4 as i64),
assign_document_type: Some(4 as i64),
assign_storage_path: Some(4 as i64),
assign_owner: Some(4 as i64),
assign_view_users: Some(vec![4 as i64]),
assign_view_groups: Some(vec![4 as i64]),
assign_change_users: Some(vec![4 as i64]),
assign_change_groups: Some(vec![4 as i64]),
assign_custom_fields: Some(vec![4 as i64]),
assign_custom_fields_values: Some(serde_json::Value::String(
"some-string".to_string(),
)),
remove_all_tags: Some(true),
remove_tags: Some(vec![4 as i64]),
remove_all_correspondents: Some(true),
remove_correspondents: Some(vec![4 as i64]),
remove_all_document_types: Some(true),
remove_document_types: Some(vec![4 as i64]),
remove_all_storage_paths: Some(true),
remove_storage_paths: Some(vec![4 as i64]),
remove_custom_fields: Some(vec![4 as i64]),
remove_all_custom_fields: Some(true),
remove_all_owners: Some(true),
remove_owners: Some(vec![4 as i64]),
remove_all_permissions: Some(true),
remove_view_users: Some(vec![4 as i64]),
remove_view_groups: Some(vec![4 as i64]),
remove_change_users: Some(vec![4 as i64]),
remove_change_groups: Some(vec![4 as i64]),
email: Some(paperless_api_client::types::WorkflowActionEmailRequest {
id: Some(4 as i64),
subject: "some-string".to_string(),
body: "some-string".to_string(),
to: "some-string".to_string(),
include_document: Some(true),
}),
webhook: Some(paperless_api_client::types::WorkflowActionWebhookRequest {
id: Some(4 as i64),
url: "some-string".to_string(),
use_params: Some(true),
as_json: Some(true),
params: Some(serde_json::Value::String("some-string".to_string())),
body: Some("some-string".to_string()),
headers: Some(serde_json::Value::String("some-string".to_string())),
include_document: Some(true),
}),
}],
})
.await?;
println!("{:?}", result);
Ok(())
}Sourcepub async fn retrieve<'a>(&'a self, id: i64) -> Result<Workflow, Error>
pub async fn retrieve<'a>(&'a self, id: i64) -> Result<Workflow, Error>
Perform a GET request to /api/workflows/{id}/.
Parameters:
id: i64: A unique integer value identifying this workflow. (required)
async fn example_workflows_retrieve() -> anyhow::Result<()> {
let client = paperless_api_client::Client::new_from_env();
let result: paperless_api_client::types::Workflow = client.workflows().retrieve(4 as i64).await?;
println!("{:?}", result);
Ok(())
}Sourcepub async fn update<'a>(
&'a self,
id: i64,
body: &WorkflowRequest,
) -> Result<Workflow, Error>
pub async fn update<'a>( &'a self, id: i64, body: &WorkflowRequest, ) -> Result<Workflow, Error>
Perform a PUT request to /api/workflows/{id}/.
Parameters:
id: i64: A unique integer value identifying this workflow. (required)
async fn example_workflows_update() -> anyhow::Result<()> {
let client = paperless_api_client::Client::new_from_env();
let result: paperless_api_client::types::Workflow = client
.workflows()
.update(
4 as i64,
&paperless_api_client::types::WorkflowRequest {
name: "some-string".to_string(),
order: Some(4 as i64),
enabled: Some(true),
triggers: vec![paperless_api_client::types::WorkflowTriggerRequest {
id: Some(4 as i64),
sources: vec![4 as i64],
type_: 4 as i64,
filter_path: Some("some-string".to_string()),
filter_filename: Some("some-string".to_string()),
filter_mailrule: Some(4 as i64),
matching_algorithm: Some(4 as i64),
match_: Some("some-string".to_string()),
is_insensitive: Some(true),
filter_has_tags: Some(vec![4 as i64]),
filter_has_correspondent: Some(4 as i64),
filter_has_document_type: Some(4 as i64),
schedule_offset_days: Some(4 as i64),
schedule_is_recurring: Some(true),
schedule_recurring_interval_days: Some(4 as i64),
schedule_date_field: Some(paperless_api_client::types::ScheduleDateFieldEnum::Modified),
schedule_date_custom_field: Some(4 as i64),
}],
actions: vec![paperless_api_client::types::WorkflowActionRequest {
id: Some(4 as i64),
type_: Some(4 as i64),
assign_title: Some("some-string".to_string()),
assign_tags: Some(vec![4 as i64]),
assign_correspondent: Some(4 as i64),
assign_document_type: Some(4 as i64),
assign_storage_path: Some(4 as i64),
assign_owner: Some(4 as i64),
assign_view_users: Some(vec![4 as i64]),
assign_view_groups: Some(vec![4 as i64]),
assign_change_users: Some(vec![4 as i64]),
assign_change_groups: Some(vec![4 as i64]),
assign_custom_fields: Some(vec![4 as i64]),
assign_custom_fields_values: Some(serde_json::Value::String(
"some-string".to_string(),
)),
remove_all_tags: Some(true),
remove_tags: Some(vec![4 as i64]),
remove_all_correspondents: Some(true),
remove_correspondents: Some(vec![4 as i64]),
remove_all_document_types: Some(true),
remove_document_types: Some(vec![4 as i64]),
remove_all_storage_paths: Some(true),
remove_storage_paths: Some(vec![4 as i64]),
remove_custom_fields: Some(vec![4 as i64]),
remove_all_custom_fields: Some(true),
remove_all_owners: Some(true),
remove_owners: Some(vec![4 as i64]),
remove_all_permissions: Some(true),
remove_view_users: Some(vec![4 as i64]),
remove_view_groups: Some(vec![4 as i64]),
remove_change_users: Some(vec![4 as i64]),
remove_change_groups: Some(vec![4 as i64]),
email: Some(paperless_api_client::types::WorkflowActionEmailRequest {
id: Some(4 as i64),
subject: "some-string".to_string(),
body: "some-string".to_string(),
to: "some-string".to_string(),
include_document: Some(true),
}),
webhook: Some(paperless_api_client::types::WorkflowActionWebhookRequest {
id: Some(4 as i64),
url: "some-string".to_string(),
use_params: Some(true),
as_json: Some(true),
params: Some(serde_json::Value::String("some-string".to_string())),
body: Some("some-string".to_string()),
headers: Some(serde_json::Value::String("some-string".to_string())),
include_document: Some(true),
}),
}],
},
)
.await?;
println!("{:?}", result);
Ok(())
}Sourcepub async fn destroy<'a>(&'a self, id: i64) -> Result<(), Error>
pub async fn destroy<'a>(&'a self, id: i64) -> Result<(), Error>
Perform a DELETE request to /api/workflows/{id}/.
Parameters:
id: i64: A unique integer value identifying this workflow. (required)
async fn example_workflows_destroy() -> anyhow::Result<()> {
let client = paperless_api_client::Client::new_from_env();
client.workflows().destroy(4 as i64).await?;
Ok(())
}Sourcepub async fn partial_update<'a>(
&'a self,
id: i64,
body: &PatchedWorkflowRequest,
) -> Result<Workflow, Error>
pub async fn partial_update<'a>( &'a self, id: i64, body: &PatchedWorkflowRequest, ) -> Result<Workflow, Error>
Perform a PATCH request to /api/workflows/{id}/.
Parameters:
id: i64: A unique integer value identifying this workflow. (required)
async fn example_workflows_partial_update() -> anyhow::Result<()> {
let client = paperless_api_client::Client::new_from_env();
let result: paperless_api_client::types::Workflow = client
.workflows()
.partial_update(
4 as i64,
&paperless_api_client::types::PatchedWorkflowRequest {
name: Some("some-string".to_string()),
order: Some(4 as i64),
enabled: Some(true),
triggers: Some(vec![paperless_api_client::types::WorkflowTriggerRequest {
id: Some(4 as i64),
sources: vec![4 as i64],
type_: 4 as i64,
filter_path: Some("some-string".to_string()),
filter_filename: Some("some-string".to_string()),
filter_mailrule: Some(4 as i64),
matching_algorithm: Some(4 as i64),
match_: Some("some-string".to_string()),
is_insensitive: Some(true),
filter_has_tags: Some(vec![4 as i64]),
filter_has_correspondent: Some(4 as i64),
filter_has_document_type: Some(4 as i64),
schedule_offset_days: Some(4 as i64),
schedule_is_recurring: Some(true),
schedule_recurring_interval_days: Some(4 as i64),
schedule_date_field: Some(paperless_api_client::types::ScheduleDateFieldEnum::Modified),
schedule_date_custom_field: Some(4 as i64),
}]),
actions: Some(vec![paperless_api_client::types::WorkflowActionRequest {
id: Some(4 as i64),
type_: Some(4 as i64),
assign_title: Some("some-string".to_string()),
assign_tags: Some(vec![4 as i64]),
assign_correspondent: Some(4 as i64),
assign_document_type: Some(4 as i64),
assign_storage_path: Some(4 as i64),
assign_owner: Some(4 as i64),
assign_view_users: Some(vec![4 as i64]),
assign_view_groups: Some(vec![4 as i64]),
assign_change_users: Some(vec![4 as i64]),
assign_change_groups: Some(vec![4 as i64]),
assign_custom_fields: Some(vec![4 as i64]),
assign_custom_fields_values: Some(serde_json::Value::String(
"some-string".to_string(),
)),
remove_all_tags: Some(true),
remove_tags: Some(vec![4 as i64]),
remove_all_correspondents: Some(true),
remove_correspondents: Some(vec![4 as i64]),
remove_all_document_types: Some(true),
remove_document_types: Some(vec![4 as i64]),
remove_all_storage_paths: Some(true),
remove_storage_paths: Some(vec![4 as i64]),
remove_custom_fields: Some(vec![4 as i64]),
remove_all_custom_fields: Some(true),
remove_all_owners: Some(true),
remove_owners: Some(vec![4 as i64]),
remove_all_permissions: Some(true),
remove_view_users: Some(vec![4 as i64]),
remove_view_groups: Some(vec![4 as i64]),
remove_change_users: Some(vec![4 as i64]),
remove_change_groups: Some(vec![4 as i64]),
email: Some(paperless_api_client::types::WorkflowActionEmailRequest {
id: Some(4 as i64),
subject: "some-string".to_string(),
body: "some-string".to_string(),
to: "some-string".to_string(),
include_document: Some(true),
}),
webhook: Some(paperless_api_client::types::WorkflowActionWebhookRequest {
id: Some(4 as i64),
url: "some-string".to_string(),
use_params: Some(true),
as_json: Some(true),
params: Some(serde_json::Value::String("some-string".to_string())),
body: Some("some-string".to_string()),
headers: Some(serde_json::Value::String("some-string".to_string())),
include_document: Some(true),
}),
}]),
},
)
.await?;
println!("{:?}", result);
Ok(())
}Trait Implementations§
Auto Trait Implementations§
impl Freeze for Workflows
impl !RefUnwindSafe for Workflows
impl Send for Workflows
impl Sync for Workflows
impl Unpin for Workflows
impl !UnwindSafe for Workflows
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> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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