From 5cd320ad4c1487cb2b4f28235ce65c86b8182c2b Mon Sep 17 00:00:00 2001 From: Anunay Maheshwari Date: Thu, 15 May 2025 18:03:14 +0530 Subject: [PATCH 1/4] chore(deps): update protocol --- protocol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/protocol b/protocol index 18e676b..3ee2664 160000 --- a/protocol +++ b/protocol @@ -1 +1 @@ -Subproject commit 18e676b49301233cbbfdd8f7990fd3a52814e0c6 +Subproject commit 3ee2664416147b7ca8086fd1aa818164d2673b0b From 7913440df23a2f9ff74ee780a5cda96e1808f160 Mon Sep 17 00:00:00 2001 From: Anunay Maheshwari Date: Thu, 15 May 2025 18:03:32 +0530 Subject: [PATCH 2/4] feat(RoomService): move participant api --- .../kotlin/io/livekit/server/RoomService.kt | 4 ++++ .../io/livekit/server/RoomServiceClient.kt | 22 +++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/src/main/kotlin/io/livekit/server/RoomService.kt b/src/main/kotlin/io/livekit/server/RoomService.kt index fa07e8f..7144e52 100644 --- a/src/main/kotlin/io/livekit/server/RoomService.kt +++ b/src/main/kotlin/io/livekit/server/RoomService.kt @@ -72,6 +72,10 @@ interface RoomService { @POST("/twirp/livekit.RoomService/ForwardParticipant") fun forwardParticipant(@Body request: LivekitRoom.ForwardParticipantRequest, @Header("Authorization") authorization: String): Call + @Headers("Content-Type: application/protobuf") + @POST("/twirp/livekit.RoomService/MoveParticipant") + fun moveParticipant(@Body request: LivekitRoom.MoveParticipantRequest, @Header("Authorization") authorization: String): Call + @Headers("Content-Type: application/protobuf") @POST("/twirp/livekit.RoomService/MutePublishedTrack") fun mutePublishedTrack( diff --git a/src/main/kotlin/io/livekit/server/RoomServiceClient.kt b/src/main/kotlin/io/livekit/server/RoomServiceClient.kt index b776441..64a312a 100644 --- a/src/main/kotlin/io/livekit/server/RoomServiceClient.kt +++ b/src/main/kotlin/io/livekit/server/RoomServiceClient.kt @@ -211,6 +211,28 @@ class RoomServiceClient( return service.forwardParticipant(request, credentials) } + /** + * Move a participant from one room to another room. + * @param roomName + * @param identity + * @param destinationRoomName + */ + fun moveParticipant(roomName: String, identity: String, destinationRoomName: String): Call { + val request = LivekitRoom.MoveParticipantRequest.newBuilder() + .setRoom(roomName) + .setIdentity(identity) + .setDestinationRoom(destinationRoomName) + .build() + val credentials = authHeader( + RoomAdmin(true), + RoomName(roomName), + DestinationRoomName(destinationRoomName), + ) + return service.moveParticipant(request, credentials) + } + + + /** * Mutes a track that the participant has published. * @param roomName From cdfbf46c7c8117cc27bac9a3b8def52102a9c6db Mon Sep 17 00:00:00 2001 From: Anunay Maheshwari Date: Thu, 15 May 2025 18:04:10 +0530 Subject: [PATCH 3/4] chore(fmt): spotless --- src/main/kotlin/io/livekit/server/RoomServiceClient.kt | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/main/kotlin/io/livekit/server/RoomServiceClient.kt b/src/main/kotlin/io/livekit/server/RoomServiceClient.kt index 64a312a..e2bf183 100644 --- a/src/main/kotlin/io/livekit/server/RoomServiceClient.kt +++ b/src/main/kotlin/io/livekit/server/RoomServiceClient.kt @@ -231,8 +231,6 @@ class RoomServiceClient( return service.moveParticipant(request, credentials) } - - /** * Mutes a track that the participant has published. * @param roomName From 9dd452111b2d1067e824b4ad6d4aeea29593cf56 Mon Sep 17 00:00:00 2001 From: Anunay Maheshwari Date: Thu, 15 May 2025 18:06:35 +0530 Subject: [PATCH 4/4] chore: changeset --- .changeset/four-ads-occur.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/four-ads-occur.md diff --git a/.changeset/four-ads-occur.md b/.changeset/four-ads-occur.md new file mode 100644 index 0000000..a09d647 --- /dev/null +++ b/.changeset/four-ads-occur.md @@ -0,0 +1,5 @@ +--- +"server-sdk-kotlin": minor +--- + +RoomService: MoveParticipant API