use log::{info, trace};
use crate::api::helpers::{fetch_from_strava_api, strava_v3};
use crate::models::activities;
pub fn get_activities(
access_token: &str,
) -> Result<activities::ActivityCollection, Box<dyn std::error::Error>> {
let url = strava_v3("athlete/activities".to_string());
info!("Calling Strava Activities API\n");
let response = fetch_from_strava_api(url, access_token)?;
trace!("Activities API response: {:?}\n", response);
let activities: activities::ActivityCollection = response.json()?;
Ok(activities)
}
pub fn get_activities_by_id(
access_token: &str,
activity_id: &str,
) -> Result<activities::ActivityElement, Box<dyn std::error::Error>> {
let url = strava_v3(format!("/activities/{}", activity_id));
let response = fetch_from_strava_api(url, access_token)?;
info!("Calling Activities by ID API\n");
trace!("Activities by ID API response: {:?}\n", response);
let activity: activities::ActivityElement = response.json()?;
Ok(activity)
}