collaboflow_rs/lib.rs
1//! A [Collaboflow REST API](http://docs.collaboflow.com/api-docs/) client for Rust language.
2//! **This is not an official crate, just a hobby project.**
3//!
4//! ## Installation
5//!
6//! ### Requirements
7//!
8//! - Rust 1.63+
9//!
10//! ### Importing
11//!
12//! The driver is available on [crates.io](https://crates.io/crates/collaboflow-rs).
13//!
14//! To use the driver in your application, simply add it to your project's `Cargo.toml`.
15//!
16//! ```toml
17//! [dependencies]
18//! collaboflow-rs = "1.0.1"
19//! ```
20//!
21//! ## Example Usage
22//!
23//! ```toml
24//! [dependencies]
25//! collaboflow-rs = "1.0.1"
26//! tokio = "1.40.0"
27//! ```
28//!
29//! ```rust,no_run
30//! use collaboflow_rs::{Authorization, CollaboflowClient, Query};
31//!
32//! #[tokio::main]
33//! async fn main() -> Result<(), ()> {
34//! let authorization = Authorization::with_api_key("User id", "API key");
35//!
36//! let client = CollaboflowClient::new("https://{Collaboflow url}/{Instance name}/api/index.cfm", authorization);
37//!
38//! let query = Query::builder().app_cd(1); // Your app cd
39//!
40//! let document_id: i32 = 1; // Your document id
41//! let result = client.document.get(document_id, query).await;
42//! match result {
43//! Ok(resp) => {
44//! println!("{:?}", resp);
45//! Ok(())
46//! },
47//! Err(err) => {
48//! println!("{:?}", err);
49//! Err(())
50//! }
51//! }
52//! }
53//! ```
54//!
55//! ## Support APIs
56//!
57//! ### Document
58//!
59//! - [getDocumentOverview](http://docs.collaboflow.com/api-docs/#/Document/getDocumentOverview)
60//! - [requestDocument](http://docs.collaboflow.com/api-docs/#/Document/requestDocument)
61//! - [putDocumentStatus](http://docs.collaboflow.com/api-docs/#/Document/putDocumentStatus)
62//! - [deleteDocument](http://docs.collaboflow.com/api-docs/#/Document/deleteDocument)
63//! - [getDeterms](http://docs.collaboflow.com/api-docs/#/Document/getDeterms)
64//! - [getDocumentContents](http://docs.collaboflow.com/api-docs/#/Document/getDocumentContents)
65//! - [simulateDeterms](http://docs.collaboflow.com/api-docs/#/Document/simulateDeterms)
66//! - [searchDocument](http://docs.collaboflow.com/api-docs/#/Document/searchDocument)
67//!
68//! ### MyStatus
69//!
70//! - [getMyDeterms](http://docs.collaboflow.com/api-docs/#/MyStatus/getMyDeterms)
71//! - [getMyRequests](http://docs.collaboflow.com/api-docs/#/MyStatus/getMyRequests)
72//! - [getMyDrafts](http://docs.collaboflow.com/api-docs/#/MyStatus/getMyDrafts)
73//! - [getMyProcesses](http://docs.collaboflow.com/api-docs/#/MyStatus/getMyProcesses)
74//!
75//! ### Form
76//!
77//! - [getForms](http://docs.collaboflow.com/api-docs/#/Form/getForms)
78//! - [getFormParts](http://docs.collaboflow.com/api-docs/#/Form/getFormParts)
79//! - [getFormSettingsPrints](http://docs.collaboflow.com/api-docs/#/Form/getFormSettingsPrints)
80//!
81//! ### User
82//!
83//! - [getUsers](http://docs.collaboflow.com/api-docs/#/User/getUsers)
84//! - [postUser](http://docs.collaboflow.com/api-docs/#/User/postUser)
85//! - [getUser](http://docs.collaboflow.com/api-docs/#/User/getUser)
86//! - [putUser](http://docs.collaboflow.com/api-docs/#/User/putUser)
87//! - [deleteUser](http://docs.collaboflow.com/api-docs/#/User/deleteUser)
88//!
89//! ### Group
90//!
91//! - [getGroups](http://docs.collaboflow.com/api-docs/#/Group/getGroups)
92//! - [postGroup](http://docs.collaboflow.com/api-docs/#/Group/postGroup)
93//! - [getGroup](http://docs.collaboflow.com/api-docs/#/Group/getGroup)
94//! - [putGroup](http://docs.collaboflow.com/api-docs/#/Group/putGroup)
95//! - [deleteGroup](http://docs.collaboflow.com/api-docs/#/Group/deleteGroup)
96//!
97//! ### Title
98//!
99//! - [getTitles](http://docs.collaboflow.com/api-docs/#/Title/getTitles)
100//! - [postTitle](http://docs.collaboflow.com/api-docs/#/Title/postTitle)
101//! - [getTitle](http://docs.collaboflow.com/api-docs/#/Title/getTitle)
102//! - [putTitle](http://docs.collaboflow.com/api-docs/#/Title/putTitle)
103//! - [deleteTitle](http://docs.collaboflow.com/api-docs/#/Title/deleteTitle)
104
105pub mod authorization;
106pub mod client;
107pub mod query;
108pub mod record;
109pub mod request;
110pub mod response;
111
112pub use authorization::Authorization;
113pub use client::CollaboflowClient;
114pub use query::Query;
115
116pub use ::bytes;