1
0
mirror of https://gitlab.com/comunic/comunicapiv2 synced 2024-12-26 13:38:52 +00:00

Can get the list of members of a call

This commit is contained in:
Pierre HUBERT 2020-04-10 16:39:01 +02:00
parent 431463967b
commit b72dfa1646
3 changed files with 33 additions and 0 deletions

View File

@ -69,6 +69,21 @@ export class CallsController {
h.success();
}
/**
* Get the list of members for a call
*
* The user must have joined the call to get this information
*
* @param h Request handler
*/
public static async GetMembersList(h: UserWebSocketRequestsHandler) {
const convID = h.postCallId("callID");
h.send(UserWebSocketController.active_clients.filter(
(f) => f.activeCalls.has(convID)
).map(f => f.userID))
}
/**
* Make the client leave the call
*

View File

@ -36,4 +36,6 @@ export const UserWebSocketRoutes: UserWebSocketRoute[] = [
{title: "calls/join", handler: (h) => CallsController.JoinCall(h)},
{title: "calls/leave", handler: (h) => CallsController.LeaveCall(h)},
{title: "calls/members", handler: (h) => CallsController.GetMembersList(h)},
]

View File

@ -64,4 +64,20 @@ export class UserWebSocketRequestsHandler extends BaseRequestsHandler {
this.sentResponse = true;
}
/**
* Get the ID of a call included in WebSocket request
*
* @param name The name of the parameter
*/
public postCallId(name: string) : number {
const convID = this.postInt(name);
// Check if the user is a member of this call
if(!this.wsClient.activeCalls.has(convID))
this.error(401, "You do not belong to this call!")
return convID;
}
}