Fix small bugs in updating relays

This commit is contained in:
Tobias Reisinger 2023-12-05 03:12:47 +01:00
parent e2cd84b136
commit 8b1affd8c7
Signed by: serguzim
GPG key ID: 13AD60C237A28DFE
3 changed files with 15 additions and 5 deletions
emgauwa-lib/src/db

View file

@ -29,17 +29,15 @@ impl DbJunctionRelaySchedule {
.map_err(DatabaseError::from)
}
pub async fn get_junction(
pub async fn get_junction_by_relay_and_weekday(
conn: &mut PoolConnection<Sqlite>,
relay: &DbRelay,
schedule: &DbSchedule,
weekday: Weekday,
) -> Result<Option<DbJunctionRelaySchedule>, DatabaseError> {
sqlx::query_as!(
DbJunctionRelaySchedule,
"SELECT * FROM junction_relay_schedule WHERE relay_id = ? AND schedule_id = ? AND weekday = ?",
"SELECT * FROM junction_relay_schedule WHERE relay_id = ? AND weekday = ?",
relay.id,
schedule.id,
weekday
)
.fetch_optional(conn.deref_mut())
@ -88,7 +86,7 @@ impl DbJunctionRelaySchedule {
schedule: &DbSchedule,
weekday: Weekday,
) -> Result<DbJunctionRelaySchedule, DatabaseError> {
match Self::get_junction(conn, relay, schedule, weekday).await? {
match Self::get_junction_by_relay_and_weekday(conn, relay, weekday).await? {
None => sqlx::query_as!(
DbJunctionRelaySchedule,
"INSERT INTO junction_relay_schedule (weekday, relay_id, schedule_id) VALUES (?, ?, ?) RETURNING *",