From 4596d1916e1d2c0a9487fa63b11d26a19e6fe8c5 Mon Sep 17 00:00:00 2001 From: Aron Engineer <aron.engineer1@gmail.com> Date: Tue, 9 Mar 2021 22:13:31 +0000 Subject: [PATCH] feat: User modified to add logged out attribute --- .../core/apps/users/RegisterUserReqMsgHdlr.scala | 2 +- .../core/apps/users/ValidateAuthTokenReqMsgHdlr.scala | 3 +++ .../org/bigbluebutton/core/models/RegisteredUsers.scala | 8 +++++--- .../scala/org/bigbluebutton/core/models/Users2x.scala | 1 + .../bigbluebutton/core2/testdata/FakeUserGenerator.scala | 2 +- .../org/bigbluebutton/core2/testdata/TestDataGen.scala | 2 +- .../scala/org/bigbluebutton/common2/msgs/UsersMgs.scala | 2 +- 7 files changed, 13 insertions(+), 7 deletions(-) diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/users/RegisterUserReqMsgHdlr.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/users/RegisterUserReqMsgHdlr.scala index 6bb3078d0f..66462cf2eb 100755 --- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/users/RegisterUserReqMsgHdlr.scala +++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/users/RegisterUserReqMsgHdlr.scala @@ -26,7 +26,7 @@ trait RegisterUserReqMsgHdlr { val regUser = RegisteredUsers.create(msg.body.intUserId, msg.body.extUserId, msg.body.name, msg.body.role, msg.body.authToken, - msg.body.avatarURL, msg.body.guest, msg.body.authed, guestStatus) + msg.body.avatarURL, msg.body.guest, msg.body.authed, guestStatus, msg.body.loggedOut) RegisteredUsers.add(liveMeeting.registeredUsers, regUser) diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/users/ValidateAuthTokenReqMsgHdlr.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/users/ValidateAuthTokenReqMsgHdlr.scala index 8ebc33ac0f..5b0373ea5b 100755 --- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/users/ValidateAuthTokenReqMsgHdlr.scala +++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/users/ValidateAuthTokenReqMsgHdlr.scala @@ -34,6 +34,9 @@ trait ValidateAuthTokenReqMsgHdlr extends HandlerHelpers { if (u.banned) { failReason = "Ejected user rejoining" failReasonCode = EjectReasonCode.EJECTED_USER_REJOINING + } else if (u.loggedOut) { + failReason = "User had logged out" + failReasonCode = EjectReasonCode.USER_LOGGED_OUT } validateTokenFailed( outGW, diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/models/RegisteredUsers.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/models/RegisteredUsers.scala index 6fdf595778..bd91ac6568 100755 --- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/models/RegisteredUsers.scala +++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/models/RegisteredUsers.scala @@ -5,7 +5,7 @@ import com.softwaremill.quicklens._ object RegisteredUsers { def create(userId: String, extId: String, name: String, roles: String, token: String, avatar: String, guest: Boolean, authenticated: Boolean, - guestStatus: String): RegisteredUser = { + guestStatus: String, loggedOut: Boolean): RegisteredUser = { new RegisteredUser( userId, extId, @@ -20,7 +20,8 @@ object RegisteredUsers { 0, false, false, - false + false, + loggedOut ) } @@ -173,6 +174,7 @@ case class RegisteredUser( lastAuthTokenValidatedOn: Long, joined: Boolean, markAsJoinTimedOut: Boolean, - banned: Boolean + banned: Boolean, + loggedOut: Boolean ) diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/models/Users2x.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/models/Users2x.scala index f78bd17c85..19ca474674 100755 --- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/models/Users2x.scala +++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/models/Users2x.scala @@ -307,4 +307,5 @@ object EjectReasonCode { val VALIDATE_TOKEN = "validate_token_failed_eject_reason" val USER_INACTIVITY = "user_inactivity_eject_reason" val EJECTED_USER_REJOINING = "ejected_user_rejoining_reason" + val USER_LOGGED_OUT = "user_logged_out_reason" } diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core2/testdata/FakeUserGenerator.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core2/testdata/FakeUserGenerator.scala index a81cacc1ce..9c22ee0120 100755 --- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core2/testdata/FakeUserGenerator.scala +++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core2/testdata/FakeUserGenerator.scala @@ -54,7 +54,7 @@ object FakeUserGenerator { RandomStringGenerator.randomAlphanumericString(10) + ".png" val ru = RegisteredUsers.create(userId = id, extId, name, role, - authToken, avatarURL, guest, authed, guestStatus = GuestStatus.ALLOW) + authToken, avatarURL, guest, authed, guestStatus = GuestStatus.ALLOW, false) RegisteredUsers.add(users, ru) ru } diff --git a/akka-bbb-apps/src/test/scala/org/bigbluebutton/core2/testdata/TestDataGen.scala b/akka-bbb-apps/src/test/scala/org/bigbluebutton/core2/testdata/TestDataGen.scala index 907d352379..690efce2d1 100755 --- a/akka-bbb-apps/src/test/scala/org/bigbluebutton/core2/testdata/TestDataGen.scala +++ b/akka-bbb-apps/src/test/scala/org/bigbluebutton/core2/testdata/TestDataGen.scala @@ -14,7 +14,7 @@ object TestDataGen { RandomStringGenerator.randomAlphanumericString(10) + ".png" val ru = RegisteredUsers.create(userId = id, extId, name, role, - authToken, avatarURL, guest, authed, GuestStatus.ALLOW) + authToken, avatarURL, guest, authed, GuestStatus.ALLOW, false) RegisteredUsers.add(users, ru) ru diff --git a/bbb-common-message/src/main/scala/org/bigbluebutton/common2/msgs/UsersMgs.scala b/bbb-common-message/src/main/scala/org/bigbluebutton/common2/msgs/UsersMgs.scala index 7d7f1b2814..db727c4b2d 100755 --- a/bbb-common-message/src/main/scala/org/bigbluebutton/common2/msgs/UsersMgs.scala +++ b/bbb-common-message/src/main/scala/org/bigbluebutton/common2/msgs/UsersMgs.scala @@ -301,7 +301,7 @@ case class UserJoinMeetingAfterReconnectReqMsgBody(userId: String, authToken: St */ object UserLeaveReqMsg { val NAME = "UserLeaveReqMsg" } case class UserLeaveReqMsg(header: BbbClientMsgHeader, body: UserLeaveReqMsgBody) extends StandardMsg -case class UserLeaveReqMsgBody(userId: String, sessionId: String) +case class UserLeaveReqMsgBody(userId: String, sessionId: String, loggedOut: Boolean) object GetUsersMeetingReqMsg { val NAME = "GetUsersMeetingReqMsg" } case class GetUsersMeetingReqMsg(header: BbbClientMsgHeader, body: GetUsersMeetingReqMsgBody) extends StandardMsg -- GitLab