diff options
author | Teddy Wing | 2021-05-30 03:37:16 +0200 |
---|---|---|
committer | Teddy Wing | 2021-05-30 03:38:46 +0200 |
commit | 4d4b7918726b4a56b87de8cdc577b6bf088c5f91 (patch) | |
tree | 1d8a71ecd64cf6f2b42c57db37b6d7d3c97b3955 | |
parent | a879ee3ff4b73a013eb9303e5790c2a9df0a4f5b (diff) | |
download | reflectub-4d4b7918726b4a56b87de8cdc577b6bf088c5f91.tar.bz2 |
main: If repo was updated, save new `updated_at` value
If the repo was updated since we last cached it, update the `updated_at`
column to the new value so we know that we fetched the latest.
-rw-r--r-- | src/database.rs | 16 | ||||
-rw-r--r-- | src/main.rs | 6 |
2 files changed, 18 insertions, 4 deletions
diff --git a/src/database.rs b/src/database.rs index e735df9..2a53f0b 100644 --- a/src/database.rs +++ b/src/database.rs @@ -139,7 +139,21 @@ impl Db { is_updated } - pub fn repo_update(repo: &Repo) -> Result<(), Error> { + pub async fn repo_update(&mut self, repo: &Repo) -> Result<(), Error> { + let mut tx = self.connection.begin().await?; + + sqlx::query(r#" + UPDATE repositories + SET updated_at = ? + WHERE id = ? + "#) + .bind(&repo.updated_at) + .bind(repo.id) + .execute(&mut tx) + .await?; + + tx.commit().await?; + Ok(()) } } diff --git a/src/main.rs b/src/main.rs index e7be108..cbaec61 100644 --- a/src/main.rs +++ b/src/main.rs @@ -61,10 +61,10 @@ async fn main() { match db.repo_get(id).await { Ok(r) => { - // TODO: fetch - if db.repo_is_updated(&db_repo).await.unwrap() { - dbg!("UPDATED", &db_repo); + // TODO: fetch + + db.repo_update(&db_repo).await.unwrap(); } }, |