diff --git a/src/routes/channel.rs b/src/routes/channel.rs index 134e82e5aa7824d3ded7e44b1b82d29664abe432..7ca58f5b6fa7239fb20421ff3f773789ee316678 100644 --- a/src/routes/channel.rs +++ b/src/routes/channel.rs @@ -155,6 +155,15 @@ pub fn send_message(user: User, target: Channel, message: Json<SendMessage>) -> None ) { Ok(_) => { + if target.channel_type == ChannelType::DM as u8 { + let col = database::get_collection("channels"); + col.update_one( + doc! { "_id": target.id.clone() }, + doc! { "active": true }, + None + ).unwrap(); + } + websocket::queue_message( get_recipients(&target), json!({ diff --git a/src/routes/mod.rs b/src/routes/mod.rs index cb5e0b39da3441b6b4d704534875d8f26ea8793d..bdedabb317987f70816cc3a2baff67cb85abd04a 100644 --- a/src/routes/mod.rs +++ b/src/routes/mod.rs @@ -10,5 +10,5 @@ pub fn mount(rocket: Rocket) -> Rocket { .mount("/api", routes![ root::root ]) .mount("/api/account", routes![ account::create, account::verify_email, account::resend_email, account::login, account::token ]) .mount("/api/users", routes![ user::me, user::user, user::lookup, user::dms, user::dm, user::get_friends, user::get_friend, user::add_friend, user::remove_friend ]) - .mount("/api/channels", routes![ channel::channel, channel::delete, channel::messages, channel::send_message, channel::edit_message, channel::delete_message ]) + .mount("/api/channels", routes![ channel::channel, channel::delete, channel::messages, channel::get_message, channel::send_message, channel::edit_message, channel::delete_message ]) }