Add endpoint to get sales_person for current user

This commit is contained in:
Simon Goller 2024-06-12 12:04:41 +02:00
parent 42ebce15e8
commit bd887cfd7b
12 changed files with 108 additions and 5 deletions

View file

@ -108,7 +108,7 @@ impl BookingDao for BookingDaoImpl {
async fn find_by_week(
&self,
calendar_week: i32,
calendar_week: u8,
year: u32,
) -> Result<Arc<[BookingEntity]>, DaoError> {
Ok(query_as!(

View file

@ -149,4 +149,22 @@ impl SalesPersonDao for SalesPersonDaoImpl {
.map_db_error()?
.map(|result| result.user_id.into()))
}
async fn find_sales_person_by_user_id(
&self,
user_id: &str,
) -> Result<Option<SalesPersonEntity>, DaoError> {
Ok(query_as!(
SalesPersonDb,
"SELECT sp.id, sp.name, sp.inactive, sp.deleted, sp.update_version FROM sales_person sp JOIN sales_person_user spu ON sp.id = spu.sales_person_id WHERE spu.user_id = ?",
user_id
)
.fetch_optional(self.pool.as_ref())
.await
.map_db_error()?
.as_ref()
.map(SalesPersonEntity::try_from)
.transpose()?
)
}
}