From b6047e811bb25dde755d67e897cb54ccfc00d4c2 Mon Sep 17 00:00:00 2001 From: Gustavo Trott Date: Thu, 21 Mar 2024 12:49:33 -0300 Subject: [PATCH] Graphql: Add fields to lockSettings and endWhenNoModerator --- .../bigbluebutton/core/db/MeetingDAO.scala | 8 +++++++ bbb-graphql-server/bbb_schema.sql | 22 +++++++++++-------- .../tables/public_v_meeting.yaml | 2 ++ .../tables/public_v_meeting_lockSettings.yaml | 4 +++- 4 files changed, 26 insertions(+), 10 deletions(-) diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/db/MeetingDAO.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/db/MeetingDAO.scala index 08d048b0ab..153e9edf3b 100644 --- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/db/MeetingDAO.scala +++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/db/MeetingDAO.scala @@ -25,6 +25,8 @@ case class MeetingDbModel( bannerColor: Option[String], createdTime: Long, durationInSeconds: Int, + endWhenNoModerator: Boolean, + endWhenNoModeratorDelayInMinutes: Int, endedAt: Option[java.sql.Timestamp], endedReasonCode: Option[String], endedBy: Option[String], @@ -49,6 +51,8 @@ class MeetingDbTableDef(tag: Tag) extends Table[MeetingDbModel](tag, None, "meet bannerColor, createdTime, durationInSeconds, + endWhenNoModerator, + endWhenNoModeratorDelayInMinutes, endedAt, endedReasonCode, endedBy @@ -70,6 +74,8 @@ class MeetingDbTableDef(tag: Tag) extends Table[MeetingDbModel](tag, None, "meet val bannerColor = column[Option[String]]("bannerColor") val createdTime = column[Long]("createdTime") val durationInSeconds = column[Int]("durationInSeconds") + val endWhenNoModerator = column[Boolean]("endWhenNoModerator") + val endWhenNoModeratorDelayInMinutes = column[Int]("endWhenNoModeratorDelayInMinutes") val endedAt = column[Option[java.sql.Timestamp]]("endedAt") val endedReasonCode = column[Option[String]]("endedReasonCode") val endedBy = column[Option[String]]("endedBy") @@ -106,6 +112,8 @@ object MeetingDAO { }, createdTime = meetingProps.durationProps.createdTime, durationInSeconds = meetingProps.durationProps.duration * 60, + endWhenNoModerator = meetingProps.durationProps.endWhenNoModerator, + endWhenNoModeratorDelayInMinutes = meetingProps.durationProps.endWhenNoModeratorDelayInMinutes, endedAt = None, endedReasonCode = None, endedBy = None diff --git a/bbb-graphql-server/bbb_schema.sql b/bbb-graphql-server/bbb_schema.sql index 5b0dcdc56a..0b6b38e8f6 100644 --- a/bbb-graphql-server/bbb_schema.sql +++ b/bbb-graphql-server/bbb_schema.sql @@ -26,6 +26,8 @@ create table "meeting" ( "bannerColor" varchar(50), "createdTime" bigint, "durationInSeconds" integer, + "endWhenNoModerator" boolean, + "endWhenNoModeratorDelayInMinutes" integer, "endedAt" timestamp with time zone, "endedReasonCode" varchar(200), "endedBy" varchar(50) @@ -126,16 +128,16 @@ create view "v_meeting_voiceSettings" as select * from meeting_voice; create table "meeting_usersPolicies" ( "meetingId" varchar(100) primary key references "meeting"("meetingId") ON DELETE CASCADE, - "maxUsers" integer, + "maxUsers" integer, "maxUserConcurrentAccesses" integer, - "webcamsOnlyForModerator" boolean, - "userCameraCap" integer, - "guestPolicy" varchar(100), - "guestLobbyMessage" text, - "meetingLayout" varchar(100), - "allowModsToUnmuteUsers" boolean, - "allowModsToEjectCameras" boolean, - "authenticatedGuest" boolean + "webcamsOnlyForModerator" boolean, + "userCameraCap" integer, + "guestPolicy" varchar(100), + "guestLobbyMessage" text, + "meetingLayout" varchar(100), + "allowModsToUnmuteUsers" boolean, + "allowModsToEjectCameras" boolean, + "authenticatedGuest" boolean ); create index "idx_meeting_usersPolicies_meetingId" on "meeting_usersPolicies"("meetingId"); @@ -196,6 +198,8 @@ SELECT mls."hideUserList", mls."hideViewersCursor", mls."hideViewersAnnotation", + mls."lockOnJoin", + mls."lockOnJoinConfigurable", mup."webcamsOnlyForModerator", CASE WHEN mls."disableCam" IS TRUE THEN TRUE diff --git a/bbb-graphql-server/metadata/databases/BigBlueButton/tables/public_v_meeting.yaml b/bbb-graphql-server/metadata/databases/BigBlueButton/tables/public_v_meeting.yaml index 2ac0fd29eb..8371f219d1 100644 --- a/bbb-graphql-server/metadata/databases/BigBlueButton/tables/public_v_meeting.yaml +++ b/bbb-graphql-server/metadata/databases/BigBlueButton/tables/public_v_meeting.yaml @@ -163,6 +163,8 @@ select_permissions: - customLogoUrl - disabledFeatures - durationInSeconds + - endWhenNoModerator + - endWhenNoModeratorDelayInMinutes - ended - endedAt - endedBy diff --git a/bbb-graphql-server/metadata/databases/BigBlueButton/tables/public_v_meeting_lockSettings.yaml b/bbb-graphql-server/metadata/databases/BigBlueButton/tables/public_v_meeting_lockSettings.yaml index 0d5485d5b3..f9eb02e68b 100644 --- a/bbb-graphql-server/metadata/databases/BigBlueButton/tables/public_v_meeting_lockSettings.yaml +++ b/bbb-graphql-server/metadata/databases/BigBlueButton/tables/public_v_meeting_lockSettings.yaml @@ -17,8 +17,10 @@ select_permissions: - disablePublicChat - hasActiveLockSetting - hideUserList - - hideViewersCursor - hideViewersAnnotation + - hideViewersCursor + - lockOnJoin + - lockOnJoinConfigurable - webcamsOnlyForModerator filter: meetingId: