From 3b0e54cea3f7731281411a0efd2632be7947aebd Mon Sep 17 00:00:00 2001 From: myOmikron Date: Sat, 13 May 2023 22:50:48 +0200 Subject: [PATCH] Close invitations of players that left or got kicked --- src/server/handler/lobbies.rs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/server/handler/lobbies.rs b/src/server/handler/lobbies.rs index f177f37..a9e21d4 100644 --- a/src/server/handler/lobbies.rs +++ b/src/server/handler/lobbies.rs @@ -18,7 +18,7 @@ use uuid::Uuid; use crate::chan::{WsManagerChan, WsManagerMessage, WsMessage}; use crate::models::{ Account, ChatRoomInsert, ChatRoomMember, ChatRoomMemberInsert, ChatRoomMessage, - GameAccountInsert, GameInsert, Lobby, LobbyAccount, LobbyAccountInsert, LobbyInsert, + GameAccountInsert, GameInsert, Invite, Lobby, LobbyAccount, LobbyAccountInsert, LobbyInsert, }; use crate::server::handler::{AccountResponse, ApiError, ApiResult, PathUuid}; @@ -888,6 +888,11 @@ pub async fn leave_lobby( )) .await?; + // Delete all invites of this player + rorm::delete!(&mut tx, Invite) + .condition(Invite::F.from.equals(uuid.as_ref())) + .await?; + let (uuid, username, display_name) = query!( &mut tx, ( @@ -1008,6 +1013,11 @@ pub async fn kick_player_from_lobby( )) .await?; + // Delete all invites of this player + rorm::delete!(&mut tx, Invite) + .condition(Invite::F.from.equals(path.player_uuid.as_ref())) + .await?; + let (uuid, username, display_name) = query!( &mut tx, (