* Flattening /message/time_range handler further dfc-chan returns

This commit is contained in:
shockrah 2021-01-23 13:36:30 -08:00
parent 5855387a52
commit b9573ee09c

View File

@ -32,32 +32,31 @@ pub async fn get_by_time(pool: &Pool, response: &mut Response<Body>, params: Val
None => None
};
// TODO: flatten me mommy
match (channel, start_time, end_time) {
(Some(channel), Some(start), Some(end)) => {
match Message::get_time_range(pool, channel, start, end).await {
Ok(db_response) => {
match db_response {
db::Response::Set(messages) => {
response.headers_mut().insert(
"Content-Type",
HeaderValue::from_static("application/json"));
let payload = json!({"messages": messages});
*response.body_mut() = Body::from(payload.to_string());
},
db::Response::RestrictedInput(_/*error message to log*/) => *response.status_mut() = StatusCode::BAD_REQUEST,
_ => *response.status_mut() = StatusCode::INTERNAL_SERVER_ERROR
};
// 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
},
Err(e) => {
eprintln!("{}", e);
*response.status_mut() = StatusCode::INTERNAL_SERVER_ERROR;
}
};
},
_ => *response.status_mut() = StatusCode::BAD_REQUEST
};
if let (Some(channel), Some(start), Some(end)) = (channel, start_time, end_time) {
match Message::get_time_range(pool, channel, start, end).await {
Ok(db_response) => {
match db_response {
db::Response::Set(messages) => {
response.headers_mut().insert(
"Content-Type",
HeaderValue::from_static("application/json"));
let payload = json!({"messages": messages});
*response.body_mut() = Body::from(payload.to_string());
},
db::Response::RestrictedInput(_/*error message to log*/) => *response.status_mut() = StatusCode::BAD_REQUEST,
_ => *response.status_mut() = StatusCode::INTERNAL_SERVER_ERROR
};
// this absolute lack of data streaming is prolly gonna suck like
// a whore in hell week for performance but lets pretend servers don't get massive
},
Err(e) => {
eprintln!("{}", e);
*response.status_mut() = StatusCode::INTERNAL_SERVER_ERROR;
}
};
} else {
*response.status_mut() = StatusCode::BAD_REQUEST;
}
}
pub async fn send_message(pool: &Pool, response: &mut Response<Body>, params: Value) {