#client #api-client #content #details #pantry #basket

pantryclient

用于 Pantry API 的客户端

2 个版本

0.1.1 2024年3月16日
0.1.0 2024年3月16日

#23#details

43 每月下载

自定义许可协议

16KB
157

Rust 的 Pantry Client

这是一个用于与 Pantry API 交互的 Rust 客户端。

安装

cargo add pantry_client

或将其添加到您的 Cargo.toml 文件中

pantry_client = "0.1.0"

使用方法

通过将包引入作用域创建一个新客户端

 let client = pantry_client::new_client("<PANTRY ID HERE>");

获取 Pantry

要获取储藏室,请使用 GetPantry 方法。

    let res = client.get_pantry().await?;
    println!("Pantry: {:#?}", res);

更新储藏室详细信息

要更新储藏室详细信息,请使用 UpdatePantryDetails 方法。

    let req = pantry_client::UpdatePantryRequest {
        name: "My Pantry".to_string(),
        description: "My Pantry Description".to_string(),
    };
    let res = p.update_pantry_details(req).await.unwrap();
    println!("Pantry: {:#?}", res);

更新购物车

要更新购物车,请使用 UpdateBasket 方法。

    let data = serde_json::json!({
        "name": "My Basket",
        "description": "My Basket Description",
    });
    let res = p.upsert_basket("my_basket", data).await?;
    println!("Upsert Basket: {:#?}", res);

获取购物车内容

要获取购物车内容,请使用 GetContents 方法。

    let res = p.get_basket_content("my_basket").await?;
    println!("Basket Content: {:#?}", res);

删除购物车

要删除购物车,请使用 DeleteBasket 方法。

    let del = p.delete_basket("my_basket_2").await?;
    println!("Delete Basket 2: {:#?}", del);

更新购物车内容

要更新购物车内容,请使用 UpdateBasketContents 方法。

    let update = serde_json::json!({
        "name": "My Basket",
        "description": "My Basket Description",
        "items": [
            {
                "name": "Item 1",
                "description": "Item 1 Description",
                "quantity": 1,
            },
            {
                "name": "Item 2",
                "description": "Item 2 Description",
                "quantity": 2,
            },
        ],
    });
    let res = p.update_basket_content("my_basket", update).await?;
    println!("Update Basket: {:#?}", res);

依赖项

~6–17MB
~262K SLoC