remove notificatoin about canceled trip if cancelation has been canceled
All checks were successful
CI/CD Pipeline / test (push) Successful in 9m35s
CI/CD Pipeline / deploy-staging (push) Has been skipped
CI/CD Pipeline / deploy-main (push) Has been skipped

This commit is contained in:
philipp 2024-05-21 20:43:05 +02:00
parent 3b75f38dca
commit 64f3596132
3 changed files with 22 additions and 0 deletions

View File

@ -154,4 +154,14 @@ ORDER BY read_at DESC, created_at DESC;
} }
} }
} }
pub(crate) async fn delete_by_action(db: &sqlx::Pool<Sqlite>, action: &str) {
sqlx::query!(
"DELETE FROM notification WHERE action_after_reading=? and read_at = null",
action
)
.execute(db)
.await
.unwrap();
}
} }

View File

@ -232,6 +232,12 @@ WHERE day=?
.await; .await;
} }
} }
} else {
Notification::delete_by_action(
db,
&format!("remove_user_trip_with_trip_details_id:{}", trip_details_id),
)
.await;
} }
let trip_details = TripDetails::find_by_id(db, trip_details_id).await.unwrap(); let trip_details = TripDetails::find_by_id(db, trip_details_id).await.unwrap();

View File

@ -77,6 +77,12 @@ WHERE day = ? AND planned_starting_time = ?
return; return;
} }
if self.max_people == 0 {
// Cox cancelled event, thus it's probably bad weather. Don't bother with sending
// notifications
return;
}
if Trip::find_by_trip_details(db, self.id).await.is_none() { if Trip::find_by_trip_details(db, self.id).await.is_none() {
// This trip_details belongs to a planned_event, no need to do anything // This trip_details belongs to a planned_event, no need to do anything
return; return;