summaryrefslogtreecommitdiffstats
path: root/service-person/src/model/person.rs
diff options
context:
space:
mode:
Diffstat (limited to 'service-person/src/model/person.rs')
-rw-r--r--service-person/src/model/person.rs9
1 files changed, 9 insertions, 0 deletions
diff --git a/service-person/src/model/person.rs b/service-person/src/model/person.rs
index 0a1d5c5..6482714 100644
--- a/service-person/src/model/person.rs
+++ b/service-person/src/model/person.rs
@@ -68,4 +68,13 @@ impl Person {
.first::<Address>(&db.get()?)
.map_err(Error::from)
}
+
+ pub fn fetch_by_id(db: &DbPool, id: i32) -> Result<Option<Self>> {
+ use diesel::QueryDsl;
+ use diesel::OptionalExtension;
+ schema::persons::dsl::persons.find(id)
+ .first::<Self>(&db.get()?)
+ .optional()
+ .map_err(Error::from)
+ }
}