diff options
Diffstat (limited to 'service-person/src/model/person.rs')
-rw-r--r-- | service-person/src/model/person.rs | 9 |
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) + } } |