summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Beyer <matthias.beyer@atos.net>2021-04-22 08:28:04 +0200
committerMatthias Beyer <matthias.beyer@atos.net>2021-04-22 08:38:40 +0200
commitd3f28d5516c53c74f19f975646333efc660ab3b5 (patch)
tree256436867ead8a4e1e0cfd6fef41fc4c002acb0e
parentbee61d29d526d227b5ae1398c508440736a2b927 (diff)
Add helper functions to load Package from DB
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
-rw-r--r--src/db/models/package.rs12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/db/models/package.rs b/src/db/models/package.rs
index 6a5b646..88839b6 100644
--- a/src/db/models/package.rs
+++ b/src/db/models/package.rs
@@ -57,4 +57,16 @@ impl Package {
.first::<Package>(database_connection)
.map_err(Error::from)
}
+
+ pub fn fetch_for_job(database_connection: &PgConnection, j: &crate::db::models::Job) -> Result<Option<Package>> {
+ Self::fetch_by_id(database_connection, j.package_id)
+ }
+
+ pub fn fetch_by_id(database_connection: &PgConnection, pid: i32) -> Result<Option<Package>> {
+ match dsl::packages.filter(id.eq(pid)).first::<Package>(database_connection) {
+ Err(diesel::result::Error::NotFound) => Ok(None),
+ Err(e) => Err(Error::from(e)),
+ Ok(p) => Ok(Some(p)),
+ }
+ }
}