1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
//! Contentful API Rust Client
//!
//! ## Usage example
//!
//! ```rust
//! let contentful_client = ContentfulClient::new("<access_token>", "<space_id>");
//! let product = contentful_client.get_entry::<Product>("<entry_id>").await?;
//!
//! if let Some(product) = product {
//! let name = product.name;
//! //..
//! }
//! ```
//! For more examples, please see the [tests] folder
//!
//! ## Querying for content
//!
//! ### Get a single entry
//!
//! To get a single entry use the get_entry<T> method.
//!
//! ```rust
//! let product = contentful_client.get_entry::<Product>("<entry_id>").await?;
//!
//! ```
//!
//! ### Get multiple entries
//!
//! There are several methods to retrieve multiple entries available in the SDK.
//!
//! #### Get and filter entries
//!
//! ```rust
//! let builder = QueryBuilder::new()
//! .content_type_is("product")
//! .field_equals("fields.name", name);
//! let products = contentful_client
//! .get_entries::<Product>(Some(builder))
//! .await?
//! ```
//!
//! [tests]: https://github.com/sajuthankappan/contentful-rs/tree/master/tests
mod contentful_client;
mod contentful_management_client;
mod http_client;
pub mod models;
mod query_builder;
pub use crate::{
contentful_client::ContentfulClient, contentful_management_client::ContentfulManagementClient,
query_builder::QueryBuilder,
};