hubspot-rust-sdk 0.4.4

A HubSpot SKD for Rust. This SDK is designed to be a simple and easy to use interface for the HubSpot API.
Documentation
use serde::Deserialize;
use crate::{objects::types::HubSpotObjectType, universals::{client::HubSpotClient, requests::HttpMethod, utils::to_array}};

#[derive(Deserialize)]
pub struct ListMembership {
    #[serde(rename = "listId")]
    pub list_id: String,
}

impl HubSpotClient {
    pub async fn get_lists_record_is_member_of(
        &self,
        record_type: HubSpotObjectType,
        id: &str,
    ) -> Result<Vec<ListMembership>, String> {
        let result = self.request(
            &format!("/crm/v3/lists/records/{record_type}/{id}/memberships"),
            &HttpMethod::Get,
            None,
        ).await?;

        let results = to_array(&result["results"])?;
        results.into_iter().map(|v| serde_json::from_value(v).map_err(|e| e.to_string())).collect()
    }
}