Skip to main content

member_example/
member_example.rs

1use cdg_api::cdg_types::FormatType;
2use cdg_api::endpoints::Endpoints;
3use cdg_api::param_models::MemberListParams;
4use cdg_api::response_models::MembersResponse;
5use cdg_api::CongressApiClient;
6
7use std::error::Error;
8
9fn main() -> Result<(), Box<dyn Error>> {
10    let client = CongressApiClient::new(None)?; // Use default API key
11                                                // Set the API key explicitly with:
12                                                // CongressApiClient::new(Some("api_key_here"))?;
13                                                // Define parameters
14    let params = MemberListParams::default()
15        .format(FormatType::Json)
16        .limit(10)
17        .current_member(true);
18
19    // Create the endpoint
20    let endpoint = Endpoints::MemberList(params);
21
22    // Fetch the data, casting it to the appropriate response type
23    let response: MembersResponse = client.fetch(endpoint)?;
24
25    // Process the response
26    for member in response.members {
27        println!(
28            "{}, {}, {}\n",
29            member.name.unwrap_or("".to_string()),
30            member.state.unwrap_or("".to_string()),
31            member.party_name.unwrap_or("".to_string())
32        );
33    }
34
35    Ok(())
36}