diff --git a/src/matrix-rocketchat/api/matrix/r0.rs b/src/matrix-rocketchat/api/matrix/r0.rs index 5abd261..e70bb4d 100644 --- a/src/matrix-rocketchat/api/matrix/r0.rs +++ b/src/matrix-rocketchat/api/matrix/r0.rs @@ -54,7 +54,7 @@ impl MatrixApi { MatrixApi { base_url: config.hs_url.to_string(), access_token: config.as_token.to_string(), - logger: logger, + logger, } } @@ -78,7 +78,7 @@ impl super::MatrixApi for MatrixApi { invite: vec![], name: room_name, preset: Some(RoomPreset::PrivateChat), - room_alias_name: room_alias_name, + room_alias_name, topic: None, visibility: Some("private".to_string()), }; @@ -117,7 +117,7 @@ impl super::MatrixApi for MatrixApi { fn forget_room(&self, room_id: RoomId, user_id: UserId) -> Result<()> { let path_params = forget_room::PathParams { - room_id: room_id, + room_id, }; let endpoint = self.base_url.clone() + &ForgetRoomEndpoint::request_path(path_params); let user_id = user_id.to_string(); @@ -133,8 +133,8 @@ impl super::MatrixApi for MatrixApi { fn get_content(&self, server_name: String, media_id: String) -> Result> { let path_params = get_content::PathParams { - server_name: server_name, - media_id: media_id, + server_name, + media_id, }; let endpoint = self.base_url.clone() + &GetContentEndpoint::request_path(path_params); let params = self.params_hash(); @@ -154,7 +154,7 @@ impl super::MatrixApi for MatrixApi { fn get_display_name(&self, user_id: UserId) -> Result> { let path_params = get_display_name::PathParams { - user_id: user_id, + user_id, }; let endpoint = self.base_url.clone() + &GetDisplayNameEndpoint::request_path(path_params); let params = self.params_hash(); @@ -225,7 +225,7 @@ impl super::MatrixApi for MatrixApi { fn get_room_aliases(&self, room_id: RoomId, user_id: UserId) -> Result> { let path_params = get_state_events::PathParams { - room_id: room_id, + room_id, }; let endpoint = self.base_url.clone() + &GetStateEvents::request_path(path_params); let user_id = user_id.to_string(); @@ -257,7 +257,7 @@ impl super::MatrixApi for MatrixApi { fn get_room_canonical_alias(&self, room_id: RoomId) -> Result> { let path_params = get_state_events_for_empty_key::PathParams { - room_id: room_id, + room_id, event_type: EventType::RoomCanonicalAlias.to_string(), }; let endpoint = self.base_url.clone() + &GetStateEventsForEmptyKeyEndpoint::request_path(path_params); @@ -290,7 +290,7 @@ impl super::MatrixApi for MatrixApi { fn get_room_creator(&self, room_id: RoomId) -> Result { let path_params = get_state_events_for_empty_key::PathParams { - room_id: room_id, + room_id, event_type: EventType::RoomCreate.to_string(), }; let endpoint = self.base_url.clone() + &GetStateEventsForEmptyKeyEndpoint::request_path(path_params); @@ -340,7 +340,7 @@ impl super::MatrixApi for MatrixApi { fn get_room_topic(&self, room_id: RoomId) -> Result> { let path_params = get_state_events_for_empty_key::PathParams { - room_id: room_id, + room_id, event_type: EventType::RoomTopic.to_string(), }; let endpoint = self.base_url.clone() + &GetStateEventsForEmptyKeyEndpoint::request_path(path_params); @@ -389,7 +389,7 @@ impl super::MatrixApi for MatrixApi { fn is_room_accessible_by_bot(&self, room_id: RoomId) -> Result { let path_params = get_state_events_for_empty_key::PathParams { - room_id: room_id, + room_id, event_type: EventType::RoomCreate.to_string(), }; let endpoint = self.base_url.clone() + &GetStateEventsForEmptyKeyEndpoint::request_path(path_params); @@ -420,7 +420,7 @@ impl super::MatrixApi for MatrixApi { fn leave_room(&self, room_id: RoomId, user_id: UserId) -> Result<()> { let path_params = leave_room::PathParams { - room_id: room_id, + room_id, }; let endpoint = self.base_url.clone() + &LeaveRoomEndpoint::request_path(path_params); let user_id = user_id.to_string(); @@ -436,7 +436,7 @@ impl super::MatrixApi for MatrixApi { fn put_canonical_room_alias(&self, room_id: RoomId, matrix_room_alias_id: Option) -> Result<()> { let path_params = send_state_event_for_empty_key::PathParams { - room_id: room_id, + room_id, event_type: EventType::RoomCanonicalAlias, }; let endpoint = self.base_url.clone() + &SendStateEventForEmptyKeyEndpoint::request_path(path_params); @@ -536,7 +536,7 @@ impl super::MatrixApi for MatrixApi { fn set_default_powerlevels(&self, room_id: RoomId, room_creator_user_id: UserId) -> Result<()> { let path_params = send_state_event_for_empty_key::PathParams { - room_id: room_id, + room_id, event_type: EventType::RoomPowerLevels, }; let endpoint = self.base_url.clone() + &SendStateEventForEmptyKeyEndpoint::request_path(path_params); @@ -584,7 +584,7 @@ impl super::MatrixApi for MatrixApi { fn set_room_name(&self, room_id: RoomId, name: String) -> Result<()> { let path_params = send_state_event_for_empty_key::PathParams { - room_id: room_id, + room_id, event_type: EventType::RoomName, }; let endpoint = self.base_url.clone() + &SendStateEventForEmptyKeyEndpoint::request_path(path_params); @@ -603,7 +603,7 @@ impl super::MatrixApi for MatrixApi { fn set_room_topic(&self, room_id: RoomId, topic: String) -> Result<()> { let path_params = send_state_event_for_empty_key::PathParams { - room_id: room_id, + room_id, event_type: EventType::RoomTopic, }; let endpoint = self.base_url.clone() + &SendStateEventForEmptyKeyEndpoint::request_path(path_params); diff --git a/src/matrix-rocketchat/api/rocketchat/v1.rs b/src/matrix-rocketchat/api/rocketchat/v1.rs index b899046..eb63360 100644 --- a/src/matrix-rocketchat/api/rocketchat/v1.rs +++ b/src/matrix-rocketchat/api/rocketchat/v1.rs @@ -489,8 +489,8 @@ impl RocketchatApi { /// Create a new `RocketchatApi`. pub fn new(base_url: String, logger: Logger) -> RocketchatApi { RocketchatApi { - base_url: base_url, - logger: logger, + base_url, + logger, user_id: "".to_string(), auth_token: "".to_string(), } @@ -627,7 +627,7 @@ impl super::RocketchatApi for RocketchatApi { user_id: self.user_id.clone(), auth_token: self.auth_token.clone(), path: CHAT_GET_MESSAGE_PATH, - query_params: query_params, + query_params, }; let (body, status_code) = RestApi::call_rocketchat(&message_endpoint)?; @@ -674,7 +674,7 @@ impl super::RocketchatApi for RocketchatApi { auth_token: self.auth_token.clone(), payload: PostChatMessagePayload { text: Some(text), - room_id: room_id, + room_id, }, }; @@ -769,8 +769,8 @@ impl super::RocketchatApi for RocketchatApi { let login_endpoint = LoginEndpoint { base_url: self.base_url.clone(), payload: LoginPayload { - username: username, - password: password, + username, + password, }, }; @@ -816,11 +816,11 @@ impl super::RocketchatApi for RocketchatApi { user_id: self.user_id.clone(), auth_token: self.auth_token.clone(), payload: PostFileMessagePayload { - file: file, - filename: filename, - mime_type: mime_type, + file, + filename, + mime_type, }, - room_id: room_id, + room_id, }; let (body, status_code) = RestApi::call_rocketchat(&post_file_message_endpoint)?; @@ -841,7 +841,7 @@ impl super::RocketchatApi for RocketchatApi { user_id: self.user_id.clone(), auth_token: self.auth_token.clone(), path: USERS_INFO_PATH, - query_params: query_params, + query_params, }; let (body, status_code) = RestApi::call_rocketchat(&users_info_endpoint)?; @@ -875,7 +875,7 @@ fn get_channel_members(rocketchat_api: &RocketchatApi, room_id: &str, offset: i3 base_url: rocketchat_api.base_url.clone(), user_id: rocketchat_api.user_id.clone(), auth_token: rocketchat_api.auth_token.clone(), - query_params: query_params, + query_params, }; let (body, status_code) = RestApi::call_rocketchat(&channel_members_endpoint)?; @@ -901,7 +901,7 @@ fn get_group_members(rocketchat_api: &RocketchatApi, room_id: &str, offset: i32) base_url: rocketchat_api.base_url.clone(), user_id: rocketchat_api.user_id.clone(), auth_token: rocketchat_api.auth_token.clone(), - query_params: query_params, + query_params, }; let (body, status_code) = RestApi::call_rocketchat(&group_members_endpoint)?; @@ -926,7 +926,7 @@ fn channels_list_joined(rocketchat_api: &RocketchatApi, offset: i32) -> Result for IronError { let response = Response::with(&error); IronError { error: Box::new(error), - response: response, + response, } } } @@ -443,7 +443,7 @@ impl<'a> Modifier for &'a Error { let causes = self.error_chain.iter().skip(1).map(|e| format!("{}", e)).collect(); let resp = ErrorResponse { error: error_message, - causes: causes, + causes, }; let err_msg = serde_json::to_string(&resp).expect("ErrorResponse is always serializable"); diff --git a/src/matrix-rocketchat/handlers/iron/rocketchat.rs b/src/matrix-rocketchat/handlers/iron/rocketchat.rs index 0c735d6..4aa80b0 100644 --- a/src/matrix-rocketchat/handlers/iron/rocketchat.rs +++ b/src/matrix-rocketchat/handlers/iron/rocketchat.rs @@ -23,7 +23,7 @@ impl Rocketchat { pub fn chain(config: &Config, matrix_api: Box) -> Chain { let rocketchat = Rocketchat { config: config.clone(), - matrix_api: matrix_api, + matrix_api, }; let mut chain = Chain::new(rocketchat); chain.link_before(RocketchatToken {}); diff --git a/src/matrix-rocketchat/handlers/iron/transactions.rs b/src/matrix-rocketchat/handlers/iron/transactions.rs index 4cb1c65..0ae48f5 100644 --- a/src/matrix-rocketchat/handlers/iron/transactions.rs +++ b/src/matrix-rocketchat/handlers/iron/transactions.rs @@ -25,11 +25,11 @@ impl Transactions { pub fn chain(config: Config, matrix_api: Box) -> Chain { let transactions = Transactions { config: config.clone(), - matrix_api: matrix_api, + matrix_api, }; let mut chain = Chain::new(transactions); chain.link_before(AccessToken { - config: config, + config, }); chain diff --git a/src/matrix-rocketchat/handlers/matrix/command_handler.rs b/src/matrix-rocketchat/handlers/matrix/command_handler.rs index 975c1cb..a73ccf3 100644 --- a/src/matrix-rocketchat/handlers/matrix/command_handler.rs +++ b/src/matrix-rocketchat/handlers/matrix/command_handler.rs @@ -34,11 +34,11 @@ impl<'a> CommandHandler<'a> { admin_room: &'a Room<'a>, ) -> CommandHandler<'a> { CommandHandler { - config: config, - connection: connection, - logger: logger, - matrix_api: matrix_api, - admin_room: admin_room, + config, + connection, + logger, + matrix_api, + admin_room, } } @@ -128,12 +128,13 @@ impl<'a> CommandHandler<'a> { )?; self.matrix_api.send_text_message_event(self.admin_room.id.clone(), self.config.matrix_bot_user_id()?, body)?; - Ok(info!( + info!( self.logger, "Successfully executed connect command for user {} and Rocket.Chat server {}", event.user_id, rocketchat_url - )) + ); + Ok(()) }) .map_err(Error::from) } @@ -187,7 +188,7 @@ impl<'a> CommandHandler<'a> { let new_rocketchat_server = NewRocketchatServer { id: rocketchat_server_id, - rocketchat_url: rocketchat_url, + rocketchat_url, rocketchat_token: Some(token), }; @@ -200,7 +201,8 @@ impl<'a> CommandHandler<'a> { let bot_user_id = self.config.matrix_bot_user_id()?; self.matrix_api.send_text_message_event(self.admin_room.id.clone(), bot_user_id, help_message)?; - Ok(info!(self.logger, "Successfully executed help command for user {}", event.user_id)) + info!(self.logger, "Successfully executed help command for user {}", event.user_id); + Ok(()) } fn login(&self, event: &MessageEvent, server: &RocketchatServer, message: &str) -> Result<()> { @@ -230,7 +232,8 @@ impl<'a> CommandHandler<'a> { let message = t!(["admin_room", "list_rocketchat_rooms"]).with_vars(vec![("list", list)]); self.matrix_api.send_text_message_event(event.room_id.clone(), bot_user_id, message.l(DEFAULT_LANGUAGE))?; - Ok(info!(self.logger, "Successfully listed rooms for Rocket.Chat server {}", &server.rocketchat_url)) + info!(self.logger, "Successfully listed rooms for Rocket.Chat server {}", &server.rocketchat_url); + Ok(()) } fn bridge(&self, event: &MessageEvent, server: &RocketchatServer, message: &str) -> Result<()> { @@ -300,7 +303,8 @@ impl<'a> CommandHandler<'a> { .with_vars(vec![("rocketchat_room_name", rocketchat_room_name.to_string())]); self.matrix_api.send_text_message_event(event.room_id.clone(), bot_user_id.clone(), message.l(DEFAULT_LANGUAGE))?; - Ok(info!(self.logger, "Successfully bridged room {} to {}", &rocketchat_room.id, &room_id)) + info!(self.logger, "Successfully bridged room {} to {}", &rocketchat_room.id, &room_id); + Ok(()) } fn unbridge(&self, event: &MessageEvent, server: &RocketchatServer, message: &str) -> Result<()> { @@ -364,7 +368,8 @@ impl<'a> CommandHandler<'a> { let message = t!(["admin_room", "room_successfully_unbridged"]).with_vars(vec![("rocketchat_room_name", name.clone())]); self.matrix_api.send_text_message_event(event.room_id.clone(), bot_user_id, message.l(DEFAULT_LANGUAGE))?; - Ok(info!(self.logger, "Successfully unbridged room {}", name.clone())) + info!(self.logger, "Successfully unbridged room {}", name.clone()); + Ok(()) } fn get_existing_rocketchat_server(&self, rocketchat_url: &str) -> Result { @@ -403,8 +408,8 @@ impl<'a> CommandHandler<'a> { &self, rocketchat_server_id: &str, user_id: &UserId, - rocketchat_rooms: &Vec, - joined_rocketchat_rooms: &Vec, + rocketchat_rooms: &[Channel], + joined_rocketchat_rooms: &[Channel], ) -> Result { let mut list = "".to_string(); for r in rocketchat_rooms { diff --git a/src/matrix-rocketchat/handlers/matrix/dispatcher.rs b/src/matrix-rocketchat/handlers/matrix/dispatcher.rs index 8dbf36d..6820bc1 100644 --- a/src/matrix-rocketchat/handlers/matrix/dispatcher.rs +++ b/src/matrix-rocketchat/handlers/matrix/dispatcher.rs @@ -28,10 +28,10 @@ impl<'a> Dispatcher<'a> { matrix_api: Box, ) -> Dispatcher<'a> { Dispatcher { - config: config, - connection: connection, - logger: logger, - matrix_api: matrix_api, + config, + connection, + logger, + matrix_api, } } diff --git a/src/matrix-rocketchat/handlers/matrix/forwarder.rs b/src/matrix-rocketchat/handlers/matrix/forwarder.rs index 71693d1..5d09320 100644 --- a/src/matrix-rocketchat/handlers/matrix/forwarder.rs +++ b/src/matrix-rocketchat/handlers/matrix/forwarder.rs @@ -19,9 +19,9 @@ impl<'a> Forwarder<'a> { /// Create a new `Forwarder`. pub fn new(connection: &'a SqliteConnection, logger: &'a Logger, matrix_api: &'a MatrixApi) -> Forwarder<'a> { Forwarder { - connection: connection, - logger: logger, - matrix_api: matrix_api, + connection, + logger, + matrix_api, } } diff --git a/src/matrix-rocketchat/handlers/matrix/membership_handler.rs b/src/matrix-rocketchat/handlers/matrix/membership_handler.rs index 4ce05f9..db90dc1 100644 --- a/src/matrix-rocketchat/handlers/matrix/membership_handler.rs +++ b/src/matrix-rocketchat/handlers/matrix/membership_handler.rs @@ -9,8 +9,8 @@ use slog::Logger; use api::MatrixApi; use config::Config; use errors::*; -use handlers::ErrorNotifier; use handlers::matrix::CommandHandler; +use handlers::ErrorNotifier; use i18n::*; use log; use models::Room; @@ -34,11 +34,11 @@ impl<'a> MembershipHandler<'a> { room: &'a Room<'a>, ) -> MembershipHandler<'a> { MembershipHandler { - config: config, - conn: conn, - logger: logger, - matrix_api: matrix_api, - room: room, + config, + conn, + logger, + matrix_api, + room, } } diff --git a/src/matrix-rocketchat/handlers/matrix/message_handler.rs b/src/matrix-rocketchat/handlers/matrix/message_handler.rs index 1369c96..385c16c 100644 --- a/src/matrix-rocketchat/handlers/matrix/message_handler.rs +++ b/src/matrix-rocketchat/handlers/matrix/message_handler.rs @@ -25,10 +25,10 @@ impl<'a> MessageHandler<'a> { matrix_api: Box, ) -> MessageHandler<'a> { MessageHandler { - config: config, - connection: connection, - logger: logger, - matrix_api: matrix_api, + config, + connection, + logger, + matrix_api, } } diff --git a/src/matrix-rocketchat/handlers/rocketchat/forwarder.rs b/src/matrix-rocketchat/handlers/rocketchat/forwarder.rs index 4df0f93..3c6447e 100644 --- a/src/matrix-rocketchat/handlers/rocketchat/forwarder.rs +++ b/src/matrix-rocketchat/handlers/rocketchat/forwarder.rs @@ -39,11 +39,11 @@ impl<'a> Forwarder<'a> { virtual_user: &'a VirtualUser, ) -> Forwarder<'a> { Forwarder { - config: config, - connection: connection, - logger: logger, - matrix_api: matrix_api, - virtual_user: virtual_user, + config, + connection, + logger, + matrix_api, + virtual_user, } } @@ -142,8 +142,8 @@ impl<'a> Forwarder<'a> { self.logger, self.matrix_api, message.channel_id.clone(), - sender_id, - receiver.matrix_user_id.clone(), + &sender_id, + &receiver.matrix_user_id, )? { self.invite_user_into_direct_message_room(&room, receiver)?; return Ok(Some(room)); diff --git a/src/matrix-rocketchat/models/rocketchat_room.rs b/src/matrix-rocketchat/models/rocketchat_room.rs index 269fd23..f02d0ef 100644 --- a/src/matrix-rocketchat/models/rocketchat_room.rs +++ b/src/matrix-rocketchat/models/rocketchat_room.rs @@ -32,11 +32,11 @@ impl<'a> RocketchatRoom<'a> { server_id: &'a str, ) -> RocketchatRoom<'a> { RocketchatRoom { - config: config, - logger: logger, - matrix_api: matrix_api, - id: id, - server_id: server_id, + config, + logger, + matrix_api, + id, + server_id, } } diff --git a/src/matrix-rocketchat/models/rocketchat_server.rs b/src/matrix-rocketchat/models/rocketchat_server.rs index a397b50..b2a24d0 100644 --- a/src/matrix-rocketchat/models/rocketchat_server.rs +++ b/src/matrix-rocketchat/models/rocketchat_server.rs @@ -137,12 +137,14 @@ impl RocketchatServer { matrix_api.send_text_message_event(room_id, bot_user_id, message)?; } - Ok(info!( + info!( logger, "Successfully executed login command for user {} on Rocket.Chat server {}", credentials.rocketchat_username, self.rocketchat_url - )) + ); + + Ok(()) } /// Get all users that are connected to this Rocket.Chat server. diff --git a/src/matrix-rocketchat/models/room.rs b/src/matrix-rocketchat/models/room.rs index 224f9f0..895a41c 100644 --- a/src/matrix-rocketchat/models/room.rs +++ b/src/matrix-rocketchat/models/room.rs @@ -40,10 +40,10 @@ impl<'a> Room<'a> { /// Create a new room model, to interact with Matrix rooms. pub fn new(config: &'a Config, logger: &'a Logger, matrix_api: &'a MatrixApi, id: RoomId) -> Room<'a> { Room { - config: config, - logger: logger, - matrix_api: matrix_api, - id: id, + config, + logger, + matrix_api, + id, } } @@ -68,8 +68,8 @@ impl<'a> Room<'a> { logger: &'a Logger, matrix_api: &'a MatrixApi, channel_id: String, - sender_id: UserId, - receiver_id: UserId, + sender_id: &UserId, + receiver_id: &UserId, ) -> Result>> { // If the user does not exist yet, there is no existing direct message room if matrix_api.get_display_name(sender_id.clone())?.is_none() { @@ -95,8 +95,8 @@ impl<'a> Room<'a> { for room_id in matrix_api.get_joined_rooms(sender_id.clone())? { let room = Room::new(config, logger, matrix_api, room_id); let user_ids = room.user_ids(Some(sender_id.clone()))?; - if user_ids.iter().all(|id| id == &sender_id || id == &receiver_id) { - room.add_to_cache(channel_id, receiver_id); + if user_ids.iter().all(|id| id == sender_id || id == receiver_id) { + room.add_to_cache(channel_id, &receiver_id); return Ok(Some(room)); } } @@ -342,7 +342,7 @@ impl<'a> Room<'a> { /// Add a room to the cache. /// This will speed-up future direct messages because the direct message room lookup is done via /// cache instead of going through the users rooms. - fn add_to_cache(&self, channel_id: String, receiver_id: UserId) -> () { + fn add_to_cache(&self, channel_id: String, receiver_id: &UserId) -> () { match DM_ROOMS.lock() { Ok(mut dm_rooms) => { debug!(self.logger, "Adding DM room {} with receiver {} to cache", channel_id, receiver_id); diff --git a/src/matrix-rocketchat/models/virtual_user.rs b/src/matrix-rocketchat/models/virtual_user.rs index f877d67..b9ec080 100644 --- a/src/matrix-rocketchat/models/virtual_user.rs +++ b/src/matrix-rocketchat/models/virtual_user.rs @@ -21,9 +21,9 @@ impl<'a> VirtualUser<'a> { /// Create a new virtual users model, to interact with Matrix virtual users. pub fn new(config: &'a Config, logger: &'a Logger, matrix_api: &'a MatrixApi) -> VirtualUser<'a> { VirtualUser { - config: config, - logger: logger, - matrix_api: matrix_api, + config, + logger, + matrix_api, } } diff --git a/src/matrix-rocketchat/server.rs b/src/matrix-rocketchat/server.rs index 3796c12..cc3d623 100644 --- a/src/matrix-rocketchat/server.rs +++ b/src/matrix-rocketchat/server.rs @@ -27,8 +27,8 @@ impl<'a> Server<'a> { /// Create a new `Server` with a given configuration. pub fn new(config: &Config, logger: Logger) -> Server { Server { - config: config, - logger: logger, + config, + logger, } } @@ -73,7 +73,7 @@ impl<'a> Server<'a> { "/rocketchat/login", RocketchatLogin { config: self.config.clone(), - matrix_api: matrix_api, + matrix_api, }, "rocketchat_login", );