diff options
Diffstat (limited to 'src/importer.rs')
-rw-r--r-- | src/importer.rs | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/importer.rs b/src/importer.rs index 05d56fd..5f5790a 100644 --- a/src/importer.rs +++ b/src/importer.rs @@ -140,15 +140,25 @@ fn import_strava_user<S: strava::StravaApi>( let result = strava.get("/athlete/activities", &token.access_token, ¶ms[..])?; + let json_error = || Error::UnexpectedJson(result.clone()); let result = result .as_array() - .ok_or(Error::UnexpectedJson(result.clone()))?; + .ok_or_else(json_error)?; for activity in result { + let id = activity["id"].as_i64().ok_or_else(json_error)?; info!( "activity id: {} start: {}", - activity["id"], activity["start_date"] + id, activity["start_date"] ); + + db::insert_data(&shared.conn.lock().unwrap(), + &models::RawData { + data_type: models::DataType::StravaActivity, + id: id, + username: username.to_string(), + payload: activity.clone(), + })?; } if result.len() < per_page { |