backend/model/entity/
application_settings_impl.rs1use diesel::pg::Pg;
4use diesel::prelude::*;
5use diesel::{debug_query, QueryResult};
6use diesel_async::{AsyncPgConnection, RunQueryDsl};
7use log::debug;
8
9use crate::model::dto::ApplicationSettingDto;
10use crate::model::entity::ApplicationSetting;
11use crate::schema::application_settings::{self, key as key_column};
12
13impl ApplicationSetting {
14 pub async fn find_by_key(
19 key: &str,
20 conn: &mut AsyncPgConnection,
21 ) -> QueryResult<ApplicationSettingDto> {
22 let query = application_settings::table.filter(key_column.eq(key));
23 debug!("{}", debug_query::<Pg, _>(&query));
24 query.first::<Self>(conn).await.map(Into::into)
25 }
26}