diff options
author | Kjetil Orbekk <kjetil.orbekk@gmail.com> | 2020-02-04 06:20:25 -0500 |
---|---|---|
committer | Kjetil Orbekk <kjetil.orbekk@gmail.com> | 2020-02-04 06:20:57 -0500 |
commit | 8e96edca8659bc87cd85072741e6db8aeaf751ff (patch) | |
tree | 1dc6fba8b81f357d1ada9669e853717a2ac5a97b /src/importer.rs | |
parent | e614b1eec14d03e72b6e9fba15129973df1dd704 (diff) |
Add raw data to database
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 { |