diff options
Diffstat (limited to 'src/web_server/bot_executor.rs')
| -rw-r--r-- | src/web_server/bot_executor.rs | 63 |
1 files changed, 0 insertions, 63 deletions
diff --git a/src/web_server/bot_executor.rs b/src/web_server/bot_executor.rs deleted file mode 100644 index 0d3e7b7..0000000 --- a/src/web_server/bot_executor.rs +++ /dev/null @@ -1,63 +0,0 @@ -use std::sync::Arc; - -use actix::{Actor, Context, Handler, Message}; - -use crate::bot::MasterBot; -use crate::web_server::BotData; - -pub struct BotExecutor(pub Arc<MasterBot>); - -impl Actor for BotExecutor { - type Context = Context<Self>; -} - -pub struct BotNameListRequest; - -impl Message for BotNameListRequest { - // A plain Vec does not work for some reason - type Result = Result<Vec<String>, ()>; -} - -impl Handler<BotNameListRequest> for BotExecutor { - type Result = Result<Vec<String>, ()>; - - fn handle(&mut self, _: BotNameListRequest, _: &mut Self::Context) -> Self::Result { - let bot = &self.0; - - Ok(bot.bot_names()) - } -} - -pub struct BotDataListRequest; - -impl Message for BotDataListRequest { - // A plain Vec does not work for some reason - type Result = Result<Vec<BotData>, ()>; -} - -impl Handler<BotDataListRequest> for BotExecutor { - type Result = Result<Vec<BotData>, ()>; - - fn handle(&mut self, _: BotDataListRequest, _: &mut Self::Context) -> Self::Result { - let bot = &self.0; - - Ok(bot.bot_datas()) - } -} - -pub struct BotDataRequest(pub String); - -impl Message for BotDataRequest { - type Result = Option<BotData>; -} - -impl Handler<BotDataRequest> for BotExecutor { - type Result = Option<BotData>; - - fn handle(&mut self, r: BotDataRequest, _: &mut Self::Context) -> Self::Result { - let name = r.0; - let bot = &self.0; - - bot.bot_data(name) - } -} |
