diff --git a/server-api/db/src/messages.rs b/server-api/db/src/messages.rs index efd6ca5..3bb27b5 100644 --- a/server-api/db/src/messages.rs +++ b/server-api/db/src/messages.rs @@ -157,7 +157,7 @@ impl Message { pub async fn get_time_range(p: &Pool, channel_id: UBigInt, start: BigInt, end: BigInt) -> Result, SqlError> { let conn = p.get_conn().await?; - let q = "SELECT id, time, content, author_id WHERE channel_id = :channel AND time >= :start AND time < :end"; + let q = "SELECT id, time, content, author_id FROM messages WHERE channel_id = :channel AND time >= :start AND time < :end"; let select_result = conn.prep_exec( q, params!{ diff --git a/server-api/src/messages.rs b/server-api/src/messages.rs index af9ac7c..f838272 100644 --- a/server-api/src/messages.rs +++ b/server-api/src/messages.rs @@ -33,22 +33,26 @@ pub async fn get_by_time(pool: &Pool, response: &mut Response, params: Val use db::messages::Message; match (channel, start_time, end_time) { (Some(channel), Some(start), Some(end)) => { - if let Ok(data) = Message::get_time_range(pool, channel, start, end).await { - response.headers_mut().insert( - "Content-Type", - HeaderValue::from_static("application/json")); + match Message::get_time_range(pool, channel, start, end).await { + Ok(data) => { + response.headers_mut().insert( + "Content-Type", + HeaderValue::from_static("application/json")); - let msg_vec = match data { - db::Response::Set(data) => data, - _ => Vec::new() - }; - // this absolute lack of data streaming is prolly gonna suck like - // a whoe in hell week for performance but lets pretend servers don't get massive - let payload = json!({"messages": msg_vec}); - *response.body_mut() = Body::from(payload.to_string()); - } else { - *response.status_mut() = StatusCode::INTERNAL_SERVER_ERROR; - } + let msg_vec = match data { + db::Response::Set(data) => data, + _ => Vec::new() + }; + // this absolute lack of data streaming is prolly gonna suck like + // a whoe in hell week for performance but lets pretend servers don't get massive + let payload = json!({"messages": msg_vec}); + *response.body_mut() = Body::from(payload.to_string()); + }, + Err(e) => { + eprintln!("{}", e); + *response.status_mut() = StatusCode::INTERNAL_SERVER_ERROR; + } + }; }, _ => *response.status_mut() = StatusCode::BAD_REQUEST };