diff options
| author | Jokler <jokler@protonmail.com> | 2020-10-14 00:19:27 +0200 |
|---|---|---|
| committer | Jokler <jokler@protonmail.com> | 2020-10-15 01:45:29 +0200 |
| commit | 4e1c2b9f04073294ecb8402486c20d9c01721598 (patch) | |
| tree | 93fe1d75477ae3d1c8466611a2cedd7bed316aa2 /src/web_server/api.rs | |
| parent | 23671b51b4e207574a63bce820acbf43169e2b6c (diff) | |
| download | pokebot-4e1c2b9f04073294ecb8402486c20d9c01721598.tar.gz pokebot-4e1c2b9f04073294ecb8402486c20d9c01721598.zip | |
Replace channels&locks with actors & log with slog
Diffstat (limited to 'src/web_server/api.rs')
| -rw-r--r-- | src/web_server/api.rs | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/src/web_server/api.rs b/src/web_server/api.rs index 4deedad..b1d50c4 100644 --- a/src/web_server/api.rs +++ b/src/web_server/api.rs @@ -1,22 +1,23 @@ -use actix::Addr; use actix_web::{get, web, HttpResponse, Responder, ResponseError}; use derive_more::Display; use serde::Serialize; +use xtra::WeakAddress; -use crate::web_server::{BotDataListRequest, BotDataRequest, BotExecutor}; +use crate::web_server::{BotDataListRequest, BotDataRequest}; +use crate::MasterBot; #[get("/bots")] -pub async fn get_bot_list(bot: web::Data<Addr<BotExecutor>>) -> impl Responder { - let bot_datas = match bot.send(BotDataListRequest).await.unwrap() { - Ok(data) => data, - Err(_) => Vec::with_capacity(0), - }; +pub async fn get_bot_list(bot: web::Data<WeakAddress<MasterBot>>) -> impl Responder { + let bot_datas = bot.send(BotDataListRequest).await.unwrap(); web::Json(bot_datas) } #[get("/bots/{name}")] -pub async fn get_bot(bot: web::Data<Addr<BotExecutor>>, name: web::Path<String>) -> impl Responder { +pub async fn get_bot( + bot: web::Data<WeakAddress<MasterBot>>, + name: web::Path<String>, +) -> impl Responder { if let Some(bot_data) = bot.send(BotDataRequest(name.into_inner())).await.unwrap() { Ok(web::Json(bot_data)) } else { |
