steam-user 0.1.0

Steam User web client for Rust - HTTP-based Steam Community interactions
Documentation
use super::super::{RemoteSteamUser, RemoteSteamUserError};
use crate::types::{TradeOfferAsset, TradeOfferResult, TradeOffersResponse};

impl RemoteSteamUser {
    pub async fn get_trade_url(&self) -> Result<Option<String>, RemoteSteamUserError> {
        self.call_typed("/api/trade/url", serde_json::json!({})).await
    }
    pub async fn get_trade_offer(&self) -> Result<TradeOffersResponse, RemoteSteamUserError> {
        self.call_typed("/api/trade/offers", serde_json::json!({})).await
    }
    pub async fn accept_trade_offer(&self, trade_offer_id: u64, partner_steam_id: Option<String>) -> Result<String, RemoteSteamUserError> {
        self.call_typed("/api/trade/accept", serde_json::json!({"trade_offer_id": trade_offer_id, "partner_steam_id": partner_steam_id})).await
    }
    pub async fn decline_trade_offer(&self, trade_offer_id: u64) -> Result<(), RemoteSteamUserError> {
        self.call_void("/api/trade/decline", serde_json::json!({"trade_offer_id": trade_offer_id})).await
    }
    pub async fn send_trade_offer(&self, trade_url: &str, my_assets: Vec<TradeOfferAsset>, their_assets: Vec<TradeOfferAsset>, message: &str) -> Result<TradeOfferResult, RemoteSteamUserError> {
        self.call_typed("/api/trade/send", serde_json::json!({"trade_url": trade_url, "my_assets": my_assets, "their_assets": their_assets, "message": message})).await
    }
}