summaryrefslogtreecommitdiff
path: root/src/importer.rs
diff options
context:
space:
mode:
authorKjetil Orbekk <kjetil.orbekk@gmail.com>2020-02-04 06:20:25 -0500
committerKjetil Orbekk <kjetil.orbekk@gmail.com>2020-02-04 06:20:57 -0500
commit8e96edca8659bc87cd85072741e6db8aeaf751ff (patch)
tree1dc6fba8b81f357d1ada9669e853717a2ac5a97b /src/importer.rs
parente614b1eec14d03e72b6e9fba15129973df1dd704 (diff)
Add raw data to database
Diffstat (limited to 'src/importer.rs')
-rw-r--r--src/importer.rs14
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, &params[..])?;
+ 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 {