Skip to content

Commit 8b15ea7

Browse files
Merge branch 'development' of https://github.com/somiljain2006/SpaceHub-Backend into development
# Please enter a commit message to explain why this merge is necessary, # especially if it merges an updated upstream into a topic branch. # # Lines starting with '#' will be ignored, and an empty message aborts # the commit.
2 parents 7806707 + 7f33035 commit 8b15ea7

File tree

2 files changed

+28
-15
lines changed

2 files changed

+28
-15
lines changed

src/main/java/org/spacehub/controller/voiceRoom/VoiceRoomController.java

Lines changed: 23 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@
1111
import org.springframework.web.bind.annotation.*;
1212
import org.slf4j.Logger;
1313
import org.slf4j.LoggerFactory;
14-
14+
import com.fasterxml.jackson.databind.JsonNode;
15+
import java.util.ArrayList;
1516
import java.util.List;
1617
import java.util.Map;
1718
import java.util.UUID;
@@ -54,25 +55,34 @@ public ResponseEntity<?> createVoiceRoom(
5455

5556
@PostMapping("/join")
5657
public ResponseEntity<?> joinVoiceRoom(
57-
@RequestParam int janusRoomId,
58-
@RequestParam String displayName) {
58+
@RequestParam int janusRoomId,
59+
@RequestParam String displayName) {
5960

6061
try {
6162
String sessionId = janusService.createSession();
6263
String handleId = janusService.attachAudioBridgePlugin(sessionId);
63-
janusService.joinAudioRoom(sessionId, handleId, janusRoomId, displayName);
6464

65-
return ResponseEntity.ok(Map.of(
66-
"message", "Joined voice room successfully",
67-
"janusRoomId", janusRoomId,
68-
"sessionId", sessionId,
69-
"handleId", handleId
70-
));
71-
}
72-
catch (Exception e) {
65+
JsonNode janusResponse = janusService.joinAudioRoom(sessionId, handleId, janusRoomId, displayName);
66+
67+
JsonNode participantsNode = janusResponse.path("plugindata").path("data").path("participants");
68+
69+
Map<String, Object> responseData = new java.util.HashMap<>();
70+
responseData.put("message", "Joined voice room successfully");
71+
responseData.put("janusRoomId", janusRoomId);
72+
responseData.put("sessionId", sessionId);
73+
responseData.put("handleId", handleId);
74+
if (participantsNode.isArray()) {
75+
responseData.put("participants", participantsNode);
76+
} else {
77+
responseData.put("participants", new ArrayList<>());
78+
}
79+
80+
return ResponseEntity.ok(responseData);
81+
82+
} catch (Exception e) {
7383
logger.error("Error joining voice room: {}", e.getMessage(), e);
7484
return ResponseEntity.status(500)
75-
.body(Map.of("error", "Failed to join voice room", "message", e.getMessage()));
85+
.body(Map.of("error", "Failed to join room", "message", e.getMessage()));
7686
}
7787
}
7888

src/main/java/org/spacehub/service/VoiceRoom/JanusService.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,15 +111,18 @@ public void createAudioRoom(String sessionId, String handleId, int roomId) {
111111
restTemplate.postForEntity(handleUrl, request, JsonNode.class);
112112
}
113113

114-
public void joinAudioRoom(String sessionId, String handleId, int roomId, String displayName) {
114+
public JsonNode joinAudioRoom(String sessionId, String handleId, int roomId, String displayName) {
115115
Map<String, Object> body = Map.of(
116116
"request", "join", "room", roomId, "display", displayName
117117
);
118118
Map<String, Object> request = Map.of(
119119
"janus", "message", "transaction", UUID.randomUUID().toString(), "body", body
120120
);
121121
String handleUrl = String.format("%s/%s/%s", janusUrl, sessionId, handleId);
122-
restTemplate.postForEntity(handleUrl, request, JsonNode.class);
122+
123+
ResponseEntity<JsonNode> response = restTemplate.postForEntity(handleUrl, request, JsonNode.class);
124+
logger.info("Janus join response: {}", response.getBody());
125+
return response.getBody();
123126
}
124127

125128
public void sendOffer(String sessionId, String handleId, String sdpOffer,

0 commit comments

Comments
 (0)