summaryrefslogtreecommitdiffstats
path: root/server/src/routes/api.rs
diff options
context:
space:
mode:
Diffstat (limited to 'server/src/routes/api.rs')
-rw-r--r--server/src/routes/api.rs14
1 files changed, 9 insertions, 5 deletions
diff --git a/server/src/routes/api.rs b/server/src/routes/api.rs
index 6ee94691..35e495fa 100644
--- a/server/src/routes/api.rs
+++ b/server/src/routes/api.rs
@@ -4,7 +4,7 @@ use crate::{
routes::{ChatServerParam, DbPoolParam},
websocket::WebsocketInfo,
};
-use actix_web::{error::ErrorBadRequest, *};
+use actix_web::{client::Client, error::ErrorBadRequest, *};
use serde::Serialize;
pub fn config(cfg: &mut web::ServiceConfig, rate_limit: &RateLimit) {
@@ -150,6 +150,7 @@ pub fn config(cfg: &mut web::ServiceConfig, rate_limit: &RateLimit) {
async fn perform<Request>(
data: Request,
+ client: &Client,
db: DbPoolParam,
chat_server: ChatServerParam,
) -> Result<HttpResponse, Error>
@@ -162,9 +163,10 @@ where
id: None,
};
- let oper: Oper<Request> = Oper::new(data);
+ let oper: Oper<Request> = Oper::new(data, client.clone());
- let res = web::block(move || oper.perform(db.get_ref().to_owned(), Some(ws_info)))
+ let res = oper
+ .perform(&db, Some(ws_info))
.await
.map(|json| HttpResponse::Ok().json(json))
.map_err(ErrorBadRequest)?;
@@ -173,6 +175,7 @@ where
async fn route_get<Data>(
data: web::Query<Data>,
+ client: web::Data<Client>,
db: DbPoolParam,
chat_server: ChatServerParam,
) -> Result<HttpResponse, Error>
@@ -180,11 +183,12 @@ where
Data: Serialize + Send + 'static,
Oper<Data>: Perform,
{
- perform::<Data>(data.0, db, chat_server).await
+ perform::<Data>(data.0, &client, db, chat_server).await
}
async fn route_post<Data>(
data: web::Json<Data>,
+ client: web::Data<Client>,
db: DbPoolParam,
chat_server: ChatServerParam,
) -> Result<HttpResponse, Error>
@@ -192,5 +196,5 @@ where
Data: Serialize + Send + 'static,
Oper<Data>: Perform,
{
- perform::<Data>(data.0, db, chat_server).await
+ perform::<Data>(data.0, &client, db, chat_server).await
}