pub struct Category {
    pub id: i32,
    pub name: String,
    pub slug: String,
    pub parent: i32,
    pub description: String,
    pub display: DisplayOption,
    pub image: Option<ProductImage>,
    pub menu_order: i32,
    pub count: i32,
}Fields§
§id: i32Unique identifier for the resource.
name: StringCategory name.
slug: StringAn alphanumeric identifier for the resource unique to its type.
parent: i32The ID for the parent of the resource.
description: StringHTML description of the resource.
display: DisplayOptionCategory archive display type. Options: default, products, subcategories and both. Default is default.
image: Option<ProductImage>Image data.
Menu order, used to custom sort the resource.
count: i32Number of published products for the resource. READ-ONLY
Implementations§
Source§impl Category
 
impl Category
Sourcepub fn create<T: ToString>(name: T) -> CategoryCreate
 
pub fn create<T: ToString>(name: T) -> CategoryCreate
Examples found in repository?
examples/category.rs (line 15)
6async fn main() -> anyhow::Result<()> {
7    tracing_subscriber::fmt::init();
8    let config = Config::new("woo.toml")?;
9    let client = ApiClient::new(&config)?;
10    let categories = client.list_all::<Category>().await?;
11    info!("Got {} categories", categories.len());
12    let random_id = categories.first().unwrap().id;
13    let retrieved: Category = client.retrieve(random_id).await?;
14    info!("Retrieved category name: {}", retrieved.name);
15    let create = Category::create("Test Category")
16        .parent(retrieved.id)
17        .description("Test description")
18        .display(DisplayOption::Products)
19        .image("https://woocommerce.github.io/woocommerce-rest-api-docs/images/logo-95f5c1ab.png");
20    let batch_create = create.clone();
21    let created: Category = client.create(create).await?;
22    info!("Category with id: {} created", created.id);
23    let update = Category::update().description("Some description");
24    let updated: Category = client.update(created.id, update).await?;
25    info!("New description is {}", updated.description);
26    let deleted: Category = client.delete(updated.id).await?;
27    info!("Category {} deleted", deleted.name);
28    let batch_created: Vec<Category> = client.batch_create(vec![batch_create]).await?;
29    info!("Batch created {} categories", batch_created.len());
30    let batch_update = Category::update()
31        .id(batch_created.first().unwrap().id)
32        .description("Some description");
33    let batch_updated: Vec<Category> = client.batch_update(vec![batch_update]).await?;
34    let id = batch_updated.first().unwrap().id;
35    info!("Batch updated categories contains category with id: {id}");
36    let batch_deleted: Vec<Category> = client.batch_delete(vec![id]).await?;
37    info!("Deleted {} categories", batch_deleted.len());
38    Ok(())
39}Sourcepub fn update() -> CategoryUpdate
 
pub fn update() -> CategoryUpdate
Examples found in repository?
examples/category.rs (line 23)
6async fn main() -> anyhow::Result<()> {
7    tracing_subscriber::fmt::init();
8    let config = Config::new("woo.toml")?;
9    let client = ApiClient::new(&config)?;
10    let categories = client.list_all::<Category>().await?;
11    info!("Got {} categories", categories.len());
12    let random_id = categories.first().unwrap().id;
13    let retrieved: Category = client.retrieve(random_id).await?;
14    info!("Retrieved category name: {}", retrieved.name);
15    let create = Category::create("Test Category")
16        .parent(retrieved.id)
17        .description("Test description")
18        .display(DisplayOption::Products)
19        .image("https://woocommerce.github.io/woocommerce-rest-api-docs/images/logo-95f5c1ab.png");
20    let batch_create = create.clone();
21    let created: Category = client.create(create).await?;
22    info!("Category with id: {} created", created.id);
23    let update = Category::update().description("Some description");
24    let updated: Category = client.update(created.id, update).await?;
25    info!("New description is {}", updated.description);
26    let deleted: Category = client.delete(updated.id).await?;
27    info!("Category {} deleted", deleted.name);
28    let batch_created: Vec<Category> = client.batch_create(vec![batch_create]).await?;
29    info!("Batch created {} categories", batch_created.len());
30    let batch_update = Category::update()
31        .id(batch_created.first().unwrap().id)
32        .description("Some description");
33    let batch_updated: Vec<Category> = client.batch_update(vec![batch_update]).await?;
34    let id = batch_updated.first().unwrap().id;
35    info!("Batch updated categories contains category with id: {id}");
36    let batch_deleted: Vec<Category> = client.batch_delete(vec![id]).await?;
37    info!("Deleted {} categories", batch_deleted.len());
38    Ok(())
39}Trait Implementations§
Source§impl<'de> Deserialize<'de> for Category
 
impl<'de> Deserialize<'de> for Category
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
    __D: Deserializer<'de>,
 
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
    __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for Category
impl RefUnwindSafe for Category
impl Send for Category
impl Sync for Category
impl Unpin for Category
impl UnwindSafe for Category
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