Skip to content

Commit

Permalink
Fix events disppearing from pages too fast
Browse files Browse the repository at this point in the history
  • Loading branch information
Celeo committed Dec 14, 2024
1 parent 0b99e9e commit 0618d39
Show file tree
Hide file tree
Showing 4 changed files with 27 additions and 17 deletions.
14 changes: 10 additions & 4 deletions vzdv-bot/src/commands.rs
Original file line number Diff line number Diff line change
Expand Up @@ -117,10 +117,16 @@ pub async fn handler(
match &event.0.data.as_ref().unwrap() {
InteractionData::ApplicationCommand(_app_command) => {
info!("Got event command by {author_id}; building dropdown");
let events: Vec<vzdv::sql::Event> = sqlx::query_as(sql::GET_ALL_UPCOMING_EVENTS)
.bind(Utc::now())
.fetch_all(db)
.await?;
let events: Vec<_> = {
let all: Vec<vzdv::sql::Event> =
sqlx::query_as(sql::GET_ALL_EVENTS).fetch_all(db).await?;
let upcoming = all
.iter()
.filter(|event| event.end >= Utc::now())
.cloned()
.collect();
upcoming
};
if events.is_empty() {
interaction.create_response(event.id, &event.token, &InteractionResponse {
kind: twilight_model::http::interaction::InteractionResponseType::ChannelMessageWithSource,
Expand Down
21 changes: 12 additions & 9 deletions vzdv-site/src/endpoints/events.rs
Original file line number Diff line number Diff line change
Expand Up @@ -31,17 +31,20 @@ use vzdv::{

/// Get a list of upcoming events optionally with unpublished events.
pub async fn query_for_events(db: &Pool<Sqlite>, show_all: bool) -> sqlx::Result<Vec<Event>> {
if show_all {
sqlx::query_as(sql::GET_ALL_UPCOMING_EVENTS)
.bind(Utc::now())
.fetch_all(db)
.await
let now = Utc::now();
let events: Vec<Event> = if show_all {
sqlx::query_as(sql::GET_ALL_EVENTS).fetch_all(db).await?
} else {
sqlx::query_as(sql::GET_UPCOMING_EVENTS)
.bind(Utc::now())
sqlx::query_as(sql::GET_PUBLISHED_EVENTS)
.fetch_all(db)
.await
}
.await?
};
let events = events
.iter()
.filter(|event| event.end >= now)
.cloned()
.collect();
Ok(events)
}

/// Render a snippet that lists published upcoming events.
Expand Down
1 change: 1 addition & 0 deletions vzdv-site/templates/changelog.jinja
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
<ul>
<li>ACE controllers online in ZDV airspace won't trigger Discord notifications to Sr Staff of off-roster controlling</li>
<li>Integrated my <a href="https://github.com/Celeo/vatsim_pilot_glance_online" class="text-decoration-none" target="_blank">vatsim_pilot_glance_online</a> tool into the site</li>
<li>Fix events disappearing from home and events page too quickly</li>
</ul>
</div>
</div>
Expand Down
8 changes: 4 additions & 4 deletions vzdv/src/sql.rs
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ pub struct VisitorRequest {
pub date: DateTime<Utc>,
}

#[derive(Debug, FromRow, Serialize)]
#[derive(Debug, Clone, FromRow, Serialize)]
pub struct Event {
pub id: u32,
pub published: bool,
Expand Down Expand Up @@ -446,9 +446,9 @@ pub const INSERT_INTO_VISITOR_REQ: &str =
"INSERT INTO visitor_request VALUES (NULL, $1, $2, $3, $4, $5, $6);";
pub const DELETE_VISITOR_REQUEST: &str = "DELETE FROM visitor_request WHERE id=$1";

pub const GET_UPCOMING_EVENTS: &str =
"SELECT * FROM event WHERE end > $1 AND published = TRUE ORDER BY start ASC";
pub const GET_ALL_UPCOMING_EVENTS: &str = "SELECT * FROM event WHERE end > $1 ORDER BY start ASC";
pub const GET_PUBLISHED_EVENTS: &str =
"SELECT * FROM event WHERE published = TRUE ORDER BY start ASC";
pub const GET_ALL_EVENTS: &str = "SELECT * FROM event ORDER BY start ASC";
pub const GET_EVENT: &str = "SELECT * FROM event WHERE id=$1";
pub const DELETE_EVENT: &str = "DELETE FROM event WHERE id=$1";
pub const CREATE_EVENT: &str = "INSERT INTO event VALUES (NULL, $1, FALSE, $2, $3, $4, $5, $6);";
Expand Down

0 comments on commit 0618d39

Please sign in to comment.