Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/spreed.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--appinfo/routes.php7
-rw-r--r--js/rooms.js7
-rw-r--r--lib/Controller/CallController.php4
3 files changed, 14 insertions, 4 deletions
diff --git a/appinfo/routes.php b/appinfo/routes.php
index 72f83ed6c..72d532cde 100644
--- a/appinfo/routes.php
+++ b/appinfo/routes.php
@@ -74,9 +74,12 @@ return [
],
[
'name' => 'Call#leaveCall',
- 'url' => '/api/{apiVersion}/call',
+ 'url' => '/api/{apiVersion}/call/{token}',
'verb' => 'DELETE',
- 'requirements' => ['apiVersion' => 'v1'],
+ 'requirements' => [
+ 'apiVersion' => 'v1',
+ 'token' => '^[a-z0-9]{4,30}$',
+ ],
],
[
diff --git a/js/rooms.js b/js/rooms.js
index 191b4a54a..635fa48f0 100644
--- a/js/rooms.js
+++ b/js/rooms.js
@@ -127,8 +127,13 @@
});
},
leaveAllRooms: function() {
+ var token = OCA.SpreedMe.Rooms.currentRoom();
+ if (!token) {
+ return;
+ }
+
$.ajax({
- url: OC.linkToOCS('apps/spreed/api/v1/call', 2),
+ url: OC.linkToOCS('apps/spreed/api/v1/call', 2) + token,
method: 'DELETE',
async: false
});
diff --git a/lib/Controller/CallController.php b/lib/Controller/CallController.php
index ddd7ff884..ce477d00b 100644
--- a/lib/Controller/CallController.php
+++ b/lib/Controller/CallController.php
@@ -163,10 +163,12 @@ class CallController extends OCSController {
* @PublicPage
* @UseSession
*
+ * @param string $token
* @return DataResponse
*/
- public function leaveCall() {
+ public function leaveCall($token) {
if ($this->userId !== null) {
+ // TODO: Currently we ignore $token, should be fixed at some point
$this->manager->disconnectUserFromAllRooms($this->userId);
} else {
$sessionId = $this->session->get('spreed-session');