diff options
Diffstat (limited to 'src/dbctx.rs')
-rw-r--r-- | src/dbctx.rs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/dbctx.rs b/src/dbctx.rs index 476c3fc..c9454fc 100644 --- a/src/dbctx.rs +++ b/src/dbctx.rs @@ -221,6 +221,20 @@ impl DbCtx { .map_err(|e| e.to_string()) } + pub fn remote_by_id(&self, id: u64) -> Result<Option<Remote>, String> { + self.conn.lock() + .unwrap() + .query_row("select * from remotes where id=?1", [id], |row| { + let (id, repo_id, remote_path, remote_api, remote_url, remote_git_url, notifier_config_path) = row.try_into().unwrap(); + + Ok(Remote { + id, repo_id, remote_path, remote_api, remote_url, remote_git_url, notifier_config_path + }) + }) + .optional() + .map_err(|e| e.to_string()) + } + pub fn repo_id_by_remote(&self, remote_id: u64) -> Result<Option<u64>, String> { self.conn.lock() .unwrap() |