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/info.xml2
-rw-r--r--lib/Manager.php74
-rw-r--r--lib/Migration/Version2000Date20171026140256.php3
-rw-r--r--lib/Migration/Version2000Date20171026140257.php3
-rw-r--r--lib/Migration/Version2001Date20170707115443.php39
-rw-r--r--lib/Migration/Version2001Date20171026141336.php1
-rw-r--r--lib/Migration/Version2001Date20171031102049.php41
-rw-r--r--lib/Migration/Version2001Date20180103144447.php138
-rw-r--r--lib/Migration/Version2001Date20180103150836.php60
-rw-r--r--lib/Room.php160
10 files changed, 361 insertions, 160 deletions
diff --git a/appinfo/info.xml b/appinfo/info.xml
index c03a1b7b3..9114285f6 100644
--- a/appinfo/info.xml
+++ b/appinfo/info.xml
@@ -18,7 +18,7 @@ And in the works for the [coming versions](https://github.com/nextcloud/spreed/m
]]></description>
- <version>2.9.0</version>
+ <version>2.9.1</version>
<licence>agpl</licence>
<author>Ivan Sein</author>
diff --git a/lib/Manager.php b/lib/Manager.php
index d2a642b36..446406d04 100644
--- a/lib/Manager.php
+++ b/lib/Manager.php
@@ -67,11 +67,11 @@ class Manager {
*/
public function createRoomObject(array $row) {
$activeSince = null;
- if (!empty($row['activeSince'])) {
- $activeSince = new \DateTime($row['activeSince']);
+ if (!empty($row['active_since'])) {
+ $activeSince = new \DateTime($row['active_since']);
}
- return new Room($this, $this->db, $this->secureRandom, $this->dispatcher, $this->hasher, (int) $row['id'], (int) $row['type'], $row['token'], $row['name'], $row['password'], (int) $row['activeGuests'], $activeSince);
+ return new Room($this, $this->db, $this->secureRandom, $this->dispatcher, $this->hasher, (int) $row['id'], (int) $row['type'], $row['token'], $row['name'], $row['password'], (int) $row['active_guests'], $activeSince);
}
/**
@@ -80,7 +80,7 @@ class Manager {
* @return Participant
*/
public function createParticipantObject(Room $room, array $row) {
- return new Participant($this->db, $room, $row['userId'], (int) $row['participantType'], (int) $row['lastPing'], $row['sessionId'], (bool) $row['inCall']);
+ return new Participant($this->db, $room, $row['user_id'], (int) $row['participant_type'], (int) $row['last_ping'], $row['session_id'], (bool) $row['in_call']);
}
/**
@@ -92,17 +92,17 @@ class Manager {
$query->select('*')
->from('talk_rooms', 'r')
->leftJoin('r', 'talk_participants', 'p', $query->expr()->andX(
- $query->expr()->eq('p.userId', $query->createNamedParameter($participant)),
- $query->expr()->eq('p.roomId', 'r.id')
+ $query->expr()->eq('p.user_id', $query->createNamedParameter($participant)),
+ $query->expr()->eq('p.room_id', 'r.id')
))
- ->where($query->expr()->isNotNull('p.userId'));
+ ->where($query->expr()->isNotNull('p.user_id'));
$result = $query->execute();
$rooms = [];
while ($row = $result->fetch()) {
$room = $this->createRoomObject($row);
- if ($participant !== null && isset($row['userId'])) {
- $room->setParticipant($row['userId'], $this->createParticipantObject($room, $row));
+ if ($participant !== null && isset($row['user_id'])) {
+ $room->setParticipant($row['user_id'], $this->createParticipantObject($room, $row));
}
$rooms[] = $room;
}
@@ -128,10 +128,10 @@ class Manager {
if ($participant !== null) {
// Non guest user
$query->leftJoin('r', 'talk_participants', 'p', $query->expr()->andX(
- $query->expr()->eq('p.userId', $query->createNamedParameter($participant)),
- $query->expr()->eq('p.roomId', 'r.id')
+ $query->expr()->eq('p.user_id', $query->createNamedParameter($participant)),
+ $query->expr()->eq('p.room_id', 'r.id')
))
- ->andWhere($query->expr()->isNotNull('p.userId'));
+ ->andWhere($query->expr()->isNotNull('p.user_id'));
}
$result = $query->execute();
@@ -143,8 +143,8 @@ class Manager {
}
$room = $this->createRoomObject($row);
- if ($participant !== null && isset($row['userId'])) {
- $room->setParticipant($row['userId'], $this->createParticipantObject($room, $row));
+ if ($participant !== null && isset($row['user_id'])) {
+ $room->setParticipant($row['user_id'], $this->createParticipantObject($room, $row));
}
if ($participant === null && $room->getType() !== Room::PUBLIC_CALL) {
@@ -173,8 +173,8 @@ class Manager {
if ($participant !== null) {
// Non guest user
$query->leftJoin('r', 'talk_participants', 'p', $query->expr()->andX(
- $query->expr()->eq('p.userId', $query->createNamedParameter($participant)),
- $query->expr()->eq('p.roomId', 'r.id')
+ $query->expr()->eq('p.user_id', $query->createNamedParameter($participant)),
+ $query->expr()->eq('p.room_id', 'r.id')
));
}
@@ -187,15 +187,15 @@ class Manager {
}
$room = $this->createRoomObject($row);
- if ($participant !== null && isset($row['userId'])) {
- $room->setParticipant($row['userId'], $this->createParticipantObject($room, $row));
+ if ($participant !== null && isset($row['user_id'])) {
+ $room->setParticipant($row['user_id'], $this->createParticipantObject($room, $row));
}
if ($room->getType() === Room::PUBLIC_CALL) {
return $room;
}
- if ($participant !== null && $row['userId'] === $participant) {
+ if ($participant !== null && $row['user_id'] === $participant) {
return $room;
}
@@ -260,8 +260,8 @@ class Manager {
$query = $this->db->getQueryBuilder();
$query->select('*')
->from('talk_participants', 'p')
- ->leftJoin('p', 'talk_rooms', 'r', $query->expr()->eq('p.roomId', 'r.id'))
- ->where($query->expr()->eq('p.sessionId', $query->createNamedParameter($sessionId)))
+ ->leftJoin('p', 'talk_rooms', 'r', $query->expr()->eq('p.room_id', 'r.id'))
+ ->where($query->expr()->eq('p.session_id', $query->createNamedParameter($sessionId)))
->setMaxResults(1);
$result = $query->execute();
@@ -272,13 +272,13 @@ class Manager {
throw new RoomNotFoundException();
}
- if ((string) $userId !== $row['userId']) {
+ if ((string) $userId !== $row['user_id']) {
throw new RoomNotFoundException();
}
$room = $this->createRoomObject($row);
$participant = $this->createParticipantObject($room, $row);
- $room->setParticipant($row['userId'], $participant);
+ $room->setParticipant($row['user_id'], $participant);
if ($room->getType() === Room::PUBLIC_CALL || !in_array($participant->getParticipantType(), [Participant::GUEST, Participant::USER_SELF_JOINED], true)) {
return $room;
@@ -298,16 +298,16 @@ class Manager {
$query->select('*')
->from('talk_rooms', 'r1')
->leftJoin('r1', 'talk_participants', 'p1', $query->expr()->andX(
- $query->expr()->eq('p1.userId', $query->createNamedParameter($participant1)),
- $query->expr()->eq('p1.roomId', 'r1.id')
+ $query->expr()->eq('p1.user_id', $query->createNamedParameter($participant1)),
+ $query->expr()->eq('p1.room_id', 'r1.id')
))
->leftJoin('r1', 'talk_participants', 'p2', $query->expr()->andX(
- $query->expr()->eq('p2.userId', $query->createNamedParameter($participant2)),
- $query->expr()->eq('p2.roomId', 'r1.id')
+ $query->expr()->eq('p2.user_id', $query->createNamedParameter($participant2)),
+ $query->expr()->eq('p2.room_id', 'r1.id')
))
->where($query->expr()->eq('r1.type', $query->createNamedParameter(Room::ONE_TO_ONE_CALL, IQueryBuilder::PARAM_INT)))
- ->andWhere($query->expr()->isNotNull('p1.userId'))
- ->andWhere($query->expr()->isNotNull('p2.userId'));
+ ->andWhere($query->expr()->isNotNull('p1.user_id'))
+ ->andWhere($query->expr()->isNotNull('p2.user_id'));
$result = $query->execute();
$row = $result->fetch();
@@ -377,9 +377,9 @@ class Manager {
$query = $this->db->getQueryBuilder();
$query->select('*')
->from('talk_participants')
- ->where($query->expr()->eq('userId', $query->createNamedParameter($userId)))
- ->andWhere($query->expr()->neq('sessionId', $query->createNamedParameter('0')))
- ->orderBy('lastPing', 'DESC')
+ ->where($query->expr()->eq('user_id', $query->createNamedParameter($userId)))
+ ->andWhere($query->expr()->neq('session_id', $query->createNamedParameter('0')))
+ ->orderBy('last_ping', 'DESC')
->setMaxResults(1);
$result = $query->execute();
$row = $result->fetch();
@@ -389,7 +389,7 @@ class Manager {
return null;
}
- return $row['sessionId'];
+ return $row['session_id'];
}
/**
@@ -404,15 +404,15 @@ class Manager {
// Delete all messages from or to the current user
$query = $this->db->getQueryBuilder();
- $query->select('sessionId')
+ $query->select('session_id')
->from('talk_participants')
- ->where($query->expr()->eq('userId', $query->createNamedParameter($userId)));
+ ->where($query->expr()->eq('user_id', $query->createNamedParameter($userId)));
$result = $query->execute();
$sessionIds = [];
while ($row = $result->fetch()) {
- if ($row['sessionId'] !== '0') {
- $sessionIds[] = $row['sessionId'];
+ if ($row['session_id'] !== '0') {
+ $sessionIds[] = $row['session_id'];
}
}
$result->closeCursor();
diff --git a/lib/Migration/Version2000Date20171026140256.php b/lib/Migration/Version2000Date20171026140256.php
index 8302fc9eb..8f2c5e9cb 100644
--- a/lib/Migration/Version2000Date20171026140256.php
+++ b/lib/Migration/Version2000Date20171026140256.php
@@ -29,9 +29,6 @@ use OCP\IGroupManager;
use OCP\Migration\SimpleMigrationStep;
use OCP\Migration\IOutput;
-/**
- * Auto-generated migration step: Please modify to your needs!
- */
class Version2000Date20171026140256 extends SimpleMigrationStep {
/** @var IDBConnection */
diff --git a/lib/Migration/Version2000Date20171026140257.php b/lib/Migration/Version2000Date20171026140257.php
index 411e3c1c5..2c3dca193 100644
--- a/lib/Migration/Version2000Date20171026140257.php
+++ b/lib/Migration/Version2000Date20171026140257.php
@@ -29,9 +29,6 @@ use OCP\Migration\SimpleMigrationStep;
use OCP\Migration\IOutput;
use OCP\Security\ISecureRandom;
-/**
- * Auto-generated migration step: Please modify to your needs!
- */
class Version2000Date20171026140257 extends SimpleMigrationStep {
/** @var IDBConnection */
diff --git a/lib/Migration/Version2001Date20170707115443.php b/lib/Migration/Version2001Date20170707115443.php
index 230fb6e00..dbce62c11 100644
--- a/lib/Migration/Version2001Date20170707115443.php
+++ b/lib/Migration/Version2001Date20170707115443.php
@@ -47,15 +47,6 @@ class Version2001Date20170707115443 extends SimpleMigrationStep {
* @param IOutput $output
* @param \Closure $schemaClosure The `\Closure` returns a `Schema`
* @param array $options
- * @since 13.0.0
- */
- public function preSchemaChange(IOutput $output, \Closure $schemaClosure, array $options) {
- }
-
- /**
- * @param IOutput $output
- * @param \Closure $schemaClosure The `\Closure` returns a `Schema`
- * @param array $options
* @return null|Schema
* @since 13.0.0
*/
@@ -84,6 +75,17 @@ class Version2001Date20170707115443 extends SimpleMigrationStep {
public function postSchemaChange(IOutput $output, \Closure $schemaClosure, array $options) {
$query = $this->db->getQueryBuilder();
+ $query->selectAlias($query->createFunction('COUNT(*)'), 'num_rooms')
+ ->from('spreedme_rooms');
+ $result = $query->execute();
+ $return = (int) $result->fetch();
+ $result->closeCursor();
+ $numRooms = (int) $return['num_rooms'];
+
+ if ($numRooms === 0) {
+ return;
+ }
+
$query->select('id')
->from('spreedme_rooms')
->where($query->expr()->eq('type', $query->createNamedParameter(Room::ONE_TO_ONE_CALL)));
@@ -95,11 +97,15 @@ class Version2001Date20170707115443 extends SimpleMigrationStep {
}
$result->closeCursor();
- $owners = $this->makeOne2OneParticipantsOwners($one2oneRooms);
- $output->info('Made ' . $owners . ' users owner of their one2one calls');
+ if (!empty($one2oneRooms)) {
+ $owners = $this->makeOne2OneParticipantsOwners($one2oneRooms);
+ $output->info('Made ' . $owners . ' users owner of their one2one calls');
+ }
- $moderators = $this->makeGroupParticipantsModerators($one2oneRooms);
- $output->info('Made ' . $moderators . ' users moderators in group calls');
+ if (count($one2oneRooms) !== $numRooms) {
+ $moderators = $this->makeGroupParticipantsModerators($one2oneRooms);
+ $output->info('Made ' . $moderators . ' users moderators in group calls');
+ }
}
/**
@@ -125,8 +131,11 @@ class Version2001Date20170707115443 extends SimpleMigrationStep {
$update->update('spreedme_room_participants')
->set('participantType', $update->createNamedParameter(Participant::MODERATOR))
- ->where($update->expr()->nonEmptyString('userId'))
- ->andWhere($update->expr()->notIn('roomId', $update->createNamedParameter($one2oneRooms, IQueryBuilder::PARAM_INT_ARRAY)));
+ ->where($update->expr()->nonEmptyString('userId'));
+
+ if (!empty($one2oneRooms)) {
+ $update->andWhere($update->expr()->notIn('roomId', $update->createNamedParameter($one2oneRooms, IQueryBuilder::PARAM_INT_ARRAY)));
+ }
return $update->execute();
}
diff --git a/lib/Migration/Version2001Date20171026141336.php b/lib/Migration/Version2001Date20171026141336.php
index 47ffbf958..a4181c889 100644
--- a/lib/Migration/Version2001Date20171026141336.php
+++ b/lib/Migration/Version2001Date20171026141336.php
@@ -28,7 +28,6 @@ use OCP\Migration\IOutput;
class Version2001Date20171026141336 extends SimpleMigrationStep {
-
/**
* @param IOutput $output
* @param \Closure $schemaClosure The `\Closure` returns a `Schema`
diff --git a/lib/Migration/Version2001Date20171031102049.php b/lib/Migration/Version2001Date20171031102049.php
index 8cf456474..d25b5d804 100644
--- a/lib/Migration/Version2001Date20171031102049.php
+++ b/lib/Migration/Version2001Date20171031102049.php
@@ -1,4 +1,25 @@
<?php
+/**
+ * @copyright Copyright (c) 2017 Joas Schilling <coding@schilljs.com>
+ *
+ * @author Joas Schilling <coding@schilljs.com>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
namespace OCA\Spreed\Migration;
use Doctrine\DBAL\Schema\Schema;
@@ -6,24 +27,12 @@ use Doctrine\DBAL\Types\Type;
use OCP\Migration\SimpleMigrationStep;
use OCP\Migration\IOutput;
-/**
- * Auto-generated migration step: Please modify to your needs!
- */
class Version2001Date20171031102049 extends SimpleMigrationStep {
/**
* @param IOutput $output
* @param \Closure $schemaClosure The `\Closure` returns a `Schema`
* @param array $options
- * @since 13.0.0
- */
- public function preSchemaChange(IOutput $output, \Closure $schemaClosure, array $options) {
- }
-
- /**
- * @param IOutput $output
- * @param \Closure $schemaClosure The `\Closure` returns a `Schema`
- * @param array $options
* @return null|Schema
* @since 13.0.0
*/
@@ -40,12 +49,4 @@ class Version2001Date20171031102049 extends SimpleMigrationStep {
return $schema;
}
- /**
- * @param IOutput $output
- * @param \Closure $schemaClosure The `\Closure` returns a `Schema`
- * @param array $options
- * @since 13.0.0
- */
- public function postSchemaChange(IOutput $output, \Closure $schemaClosure, array $options) {
- }
}
diff --git a/lib/Migration/Version2001Date20180103144447.php b/lib/Migration/Version2001Date20180103144447.php
new file mode 100644
index 000000000..e7c8b596d
--- /dev/null
+++ b/lib/Migration/Version2001Date20180103144447.php
@@ -0,0 +1,138 @@
+<?php
+/**
+ * @copyright Copyright (c) 2018 Joas Schilling <coding@schilljs.com>
+ *
+ * @author Joas Schilling <coding@schilljs.com>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+namespace OCA\Spreed\Migration;
+
+use Doctrine\DBAL\Platforms\PostgreSqlPlatform;
+use Doctrine\DBAL\Schema\Schema;
+use Doctrine\DBAL\Types\Type;
+use OCP\IDBConnection;
+use OCP\Migration\SimpleMigrationStep;
+use OCP\Migration\IOutput;
+
+class Version2001Date20180103144447 extends SimpleMigrationStep {
+
+ /** @var IDBConnection */
+ protected $connection;
+
+ /**
+ * @param IDBConnection $connection
+ */
+ public function __construct(IDBConnection $connection) {
+ $this->connection = $connection;
+ }
+
+
+ /**
+ * @param IOutput $output
+ * @param \Closure $schemaClosure The `\Closure` returns a `Schema`
+ * @param array $options
+ * @return null|Schema
+ * @since 13.0.0
+ */
+ public function changeSchema(IOutput $output, \Closure $schemaClosure, array $options) {
+ /** @var Schema $schema */
+ $schema = $schemaClosure();
+
+ $table = $schema->getTable('talk_rooms');
+
+ if (!$table->hasColumn('active_since')) {
+ $table->addColumn('active_since', Type::DATETIME, [
+ 'notnull' => false,
+ ]);
+ $table->addColumn('active_guests', Type::INTEGER, [
+ 'notnull' => true,
+ 'length' => 4,
+ 'default' => 0,
+ 'unsigned' => true,
+ ]);
+ }
+
+ $table = $schema->getTable('talk_participants');
+
+ if (!$table->hasColumn('user_id')) {
+ $table->addColumn('user_id', Type::STRING, [
+ 'notnull' => false,
+ 'length' => 255,
+ ]);
+ $table->addColumn('room_id', Type::INTEGER, [
+ 'notnull' => true,
+ 'length' => 11,
+ 'default' => 0,
+ 'unsigned' => true,
+ ]);
+ $table->addColumn('last_ping', Type::INTEGER, [
+ 'notnull' => true,
+ 'length' => 11,
+ 'default' => 0,
+ 'unsigned' => true,
+ ]);
+ $table->addColumn('session_id', Type::STRING, [
+ 'notnull' => true,
+ 'length' => 255,
+ 'default' => '',
+ ]);
+ $table->addColumn('participant_type', Type::SMALLINT, [
+ 'notnull' => true,
+ 'length' => 6,
+ 'default' => 0,
+ 'unsigned' => true,
+ ]);
+ $table->addColumn('in_call', Type::BOOLEAN, [
+ 'default' => 0,
+ ]);
+ }
+
+ return $schema;
+ }
+
+ /**
+ * @param IOutput $output
+ * @param \Closure $schemaClosure The `\Closure` returns a `Schema`
+ * @param array $options
+ * @since 13.0.0
+ */
+ public function postSchemaChange(IOutput $output, \Closure $schemaClosure, array $options) {
+
+ if ($this->connection->getDatabasePlatform() instanceof PostgreSqlPlatform) {
+ // Couldn't install prior anyway, so we can skip this update step as well
+ return;
+ }
+
+ $update = $this->connection->getQueryBuilder();
+ $update->update('talk_rooms')
+ ->set('active_since', 'activeSince')
+ ->set('active_guests', 'activeGuests');
+ $update->execute();
+
+ $update = $this->connection->getQueryBuilder();
+ $update->update('talk_participants')
+ ->set('user_id', 'userId')
+ ->set('room_id', 'roomId')
+ ->set('last_ping', 'lastPing')
+ ->set('session_id', 'sessionId')
+ ->set('participant_type', 'participantType')
+ ->set('in_call', 'inCall');
+ $update->execute();
+
+ }
+}
diff --git a/lib/Migration/Version2001Date20180103150836.php b/lib/Migration/Version2001Date20180103150836.php
new file mode 100644
index 000000000..c44d29ba4
--- /dev/null
+++ b/lib/Migration/Version2001Date20180103150836.php
@@ -0,0 +1,60 @@
+<?php
+/**
+ * @copyright Copyright (c) 2018 Joas Schilling <coding@schilljs.com>
+ *
+ * @author Joas Schilling <coding@schilljs.com>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+namespace OCA\Spreed\Migration;
+
+use Doctrine\DBAL\Schema\Schema;
+use OCP\Migration\SimpleMigrationStep;
+use OCP\Migration\IOutput;
+
+class Version2001Date20180103150836 extends SimpleMigrationStep {
+
+ /**
+ * @param IOutput $output
+ * @param \Closure $schemaClosure The `\Closure` returns a `Schema`
+ * @param array $options
+ * @return null|Schema
+ * @since 13.0.0
+ */
+ public function changeSchema(IOutput $output, \Closure $schemaClosure, array $options) {
+ /** @var Schema $schema */
+ $schema = $schemaClosure();
+
+ $table = $schema->getTable('talk_rooms');
+ if ($table->hasColumn('activeSince')) {
+ $table->dropColumn('activeSince');
+ $table->dropColumn('activeGuests');
+ }
+
+ $table = $schema->getTable('talk_participants');
+ if ($table->hasColumn('userId')) {
+ $table->dropColumn('userId');
+ $table->dropColumn('roomId');
+ $table->dropColumn('lastPing');
+ $table->dropColumn('sessionId');
+ $table->dropColumn('participantType');
+ $table->dropColumn('inCall');
+ }
+
+ return $schema;
+ }
+}
diff --git a/lib/Room.php b/lib/Room.php
index 34d01cb82..9a22ab85b 100644
--- a/lib/Room.php
+++ b/lib/Room.php
@@ -178,8 +178,8 @@ class Room {
$query = $this->db->getQueryBuilder();
$query->select('*')
->from('talk_participants')
- ->where($query->expr()->eq('userId', $query->createNamedParameter($userId)))
- ->andWhere($query->expr()->eq('roomId', $query->createNamedParameter($this->getId())));
+ ->where($query->expr()->eq('user_id', $query->createNamedParameter($userId)))
+ ->andWhere($query->expr()->eq('room_id', $query->createNamedParameter($this->getId())));
$result = $query->execute();
$row = $result->fetch();
$result->closeCursor();
@@ -209,8 +209,8 @@ class Room {
$query = $this->db->getQueryBuilder();
$query->select('*')
->from('talk_participants')
- ->where($query->expr()->eq('sessionId', $query->createNamedParameter($sessionId)))
- ->andWhere($query->expr()->eq('roomId', $query->createNamedParameter($this->getId())));
+ ->where($query->expr()->eq('session_id', $query->createNamedParameter($sessionId)))
+ ->andWhere($query->expr()->eq('room_id', $query->createNamedParameter($this->getId())));
$result = $query->execute();
$row = $result->fetch();
$result->closeCursor();
@@ -231,7 +231,7 @@ class Room {
// Delete all participants
$query->delete('talk_participants')
- ->where($query->expr()->eq('roomId', $query->createNamedParameter($this->getId(), IQueryBuilder::PARAM_INT)));
+ ->where($query->expr()->eq('room_id', $query->createNamedParameter($this->getId(), IQueryBuilder::PARAM_INT)));
$query->execute();
// Delete room
@@ -319,7 +319,7 @@ class Room {
if ($isGuest && $this->getType() === self::PUBLIC_CALL) {
$query = $this->db->getQueryBuilder();
$query->update('talk_rooms')
- ->set('activeGuests', $query->createFunction($query->getColumnName('activeGuests') . ' + 1'))
+ ->set('active_guests', $query->createFunction($query->getColumnName('active_guests') . ' + 1'))
->where($query->expr()->eq('id', $query->createNamedParameter($this->getId(), IQueryBuilder::PARAM_INT)));
$query->execute();
@@ -332,9 +332,9 @@ class Room {
$query = $this->db->getQueryBuilder();
$query->update('talk_rooms')
- ->set('activeSince', $query->createNamedParameter($since, 'datetime'))
+ ->set('active_since', $query->createNamedParameter($since, 'datetime'))
->where($query->expr()->eq('id', $query->createNamedParameter($this->getId(), IQueryBuilder::PARAM_INT)))
- ->andWhere($query->expr()->isNull('activeSince'));
+ ->andWhere($query->expr()->isNull('active_since'));
$query->execute();
$this->activeSince = $since;
@@ -348,8 +348,8 @@ class Room {
public function resetActiveSince() {
$query = $this->db->getQueryBuilder();
$query->update('talk_rooms')
- ->set('activeGuests', $query->createNamedParameter(0))
- ->set('activeSince', $query->createNamedParameter(null, 'datetime'))
+ ->set('active_guests', $query->createNamedParameter(0))
+ ->set('active_since', $query->createNamedParameter(null, 'datetime'))
->where($query->expr()->eq('id', $query->createNamedParameter($this->getId(), IQueryBuilder::PARAM_INT)));
$query->execute();
@@ -388,8 +388,8 @@ class Room {
// Kick all guests and users that were not invited
$query = $this->db->getQueryBuilder();
$query->delete('talk_participants')
- ->where($query->expr()->eq('roomId', $query->createNamedParameter($this->getId(), IQueryBuilder::PARAM_INT)))
- ->andWhere($query->expr()->in('participantType', $query->createNamedParameter([Participant::GUEST, Participant::USER_SELF_JOINED], IQueryBuilder::PARAM_INT_ARRAY)));
+ ->where($query->expr()->eq('room_id', $query->createNamedParameter($this->getId(), IQueryBuilder::PARAM_INT)))
+ ->andWhere($query->expr()->in('participant_type', $query->createNamedParameter([Participant::GUEST, Participant::USER_SELF_JOINED], IQueryBuilder::PARAM_INT_ARRAY)));
$query->execute();
}
@@ -413,18 +413,18 @@ class Room {
$query->insert('talk_participants')
->values(
[
- 'userId' => $query->createParameter('userId'),
- 'sessionId' => $query->createParameter('sessionId'),
- 'participantType' => $query->createParameter('participantType'),
- 'roomId' => $query->createNamedParameter($this->getId()),
- 'lastPing' => $query->createNamedParameter(0, IQueryBuilder::PARAM_INT),
+ 'user_id' => $query->createParameter('user_id'),
+ 'session_id' => $query->createParameter('session_id'),
+ 'participant_type' => $query->createParameter('participant_type'),
+ 'room_id' => $query->createNamedParameter($this->getId()),
+ 'last_ping' => $query->createNamedParameter(0, IQueryBuilder::PARAM_INT),
]
);
foreach ($participants as $participant) {
- $query->setParameter('userId', $participant['userId'])
- ->setParameter('sessionId', isset($participant['sessionId']) ? $participant['sessionId'] : '0')
- ->setParameter('participantType', isset($participant['participantType']) ? $participant['participantType'] : Participant::USER, IQueryBuilder::PARAM_INT);
+ $query->setParameter('user_id', $participant['userId'])
+ ->setParameter('session_id', isset($participant['sessionId']) ? $participant['sessionId'] : '0')
+ ->setParameter('participant_type', isset($participant['participantType']) ? $participant['participantType'] : Participant::USER, IQueryBuilder::PARAM_INT);
$query->execute();
}
@@ -446,9 +446,9 @@ class Room {
$query = $this->db->getQueryBuilder();
$query->update('talk_participants')
- ->set('participantType', $query->createNamedParameter($participantType, IQueryBuilder::PARAM_INT))
- ->where($query->expr()->eq('roomId', $query->createNamedParameter($this->getId(), IQueryBuilder::PARAM_INT)))
- ->andWhere($query->expr()->eq('userId', $query->createNamedParameter($participant)));
+ ->set('participant_type', $query->createNamedParameter($participantType, IQueryBuilder::PARAM_INT))
+ ->where($query->expr()->eq('room_id', $query->createNamedParameter($this->getId(), IQueryBuilder::PARAM_INT)))
+ ->andWhere($query->expr()->eq('user_id', $query->createNamedParameter($participant)));
$query->execute();
$this->dispatcher->dispatch(self::class . '::postSetParticipantType', new GenericEvent($this, [
@@ -467,8 +467,8 @@ class Room {
$query = $this->db->getQueryBuilder();
$query->delete('talk_participants')
- ->where($query->expr()->eq('roomId', $query->createNamedParameter($this->getId(), IQueryBuilder::PARAM_INT)))
- ->andWhere($query->expr()->eq('userId', $query->createNamedParameter($user->getUID())));
+ ->where($query->expr()->eq('room_id', $query->createNamedParameter($this->getId(), IQueryBuilder::PARAM_INT)))
+ ->andWhere($query->expr()->eq('user_id', $query->createNamedParameter($user->getUID())));
$query->execute();
$this->dispatcher->dispatch(self::class . '::postRemoveUser', new GenericEvent($this, [
@@ -486,8 +486,8 @@ class Room {
$query = $this->db->getQueryBuilder();
$query->delete('talk_participants')
- ->where($query->expr()->eq('roomId', $query->createNamedParameter($this->getId(), IQueryBuilder::PARAM_INT)))
- ->andWhere($query->expr()->eq('sessionId', $query->createNamedParameter($participant->getSessionId())));
+ ->where($query->expr()->eq('room_id', $query->createNamedParameter($this->getId(), IQueryBuilder::PARAM_INT)))
+ ->andWhere($query->expr()->eq('session_id', $query->createNamedParameter($participant->getSessionId())));
$query->execute();
$this->dispatcher->dispatch(self::class . '::postRemoveBySession', new GenericEvent($this, [
@@ -509,12 +509,12 @@ class Room {
$query = $this->db->getQueryBuilder();
$query->update('talk_participants')
- ->set('sessionId', $query->createParameter('sessionId'))
- ->where($query->expr()->eq('roomId', $query->createNamedParameter($this->getId(), IQueryBuilder::PARAM_INT)))
- ->andWhere($query->expr()->eq('userId', $query->createNamedParameter($userId)));
+ ->set('session_id', $query->createParameter('session_id'))
+ ->where($query->expr()->eq('room_id', $query->createNamedParameter($this->getId(), IQueryBuilder::PARAM_INT)))
+ ->andWhere($query->expr()->eq('user_id', $query->createNamedParameter($userId)));
$sessionId = $this->secureRandom->generate(255);
- $query->setParameter('sessionId', $sessionId);
+ $query->setParameter('session_id', $sessionId);
$result = $query->execute();
if ($result === 0) {
@@ -532,7 +532,7 @@ class Room {
while (!$this->isSessionUnique($sessionId)) {
$sessionId = $this->secureRandom->generate(255);
- $query->setParameter('sessionId', $sessionId);
+ $query->setParameter('session_id', $sessionId);
$query->execute();
}
@@ -550,17 +550,17 @@ class Room {
// Reset sessions on all normal rooms
$query = $this->db->getQueryBuilder();
$query->update('talk_participants')
- ->set('sessionId', $query->createNamedParameter('0'))
- ->set('inCall', $query->createNamedParameter(0, IQueryBuilder::PARAM_INT))
- ->where($query->expr()->eq('userId', $query->createNamedParameter($userId)))
- ->andWhere($query->expr()->neq('participantType', $query->createNamedParameter(Participant::USER_SELF_JOINED, IQueryBuilder::PARAM_INT)));
+ ->set('session_id', $query->createNamedParameter('0'))
+ ->set('in_call', $query->createNamedParameter(0, IQueryBuilder::PARAM_INT))
+ ->where($query->expr()->eq('user_id', $query->createNamedParameter($userId)))
+ ->andWhere($query->expr()->neq('participant_type', $query->createNamedParameter(Participant::USER_SELF_JOINED, IQueryBuilder::PARAM_INT)));
$query->execute();
// And kill session on all self joined rooms
$query = $this->db->getQueryBuilder();
$query->delete('talk_participants')
- ->where($query->expr()->eq('userId', $query->createNamedParameter($userId)))
- ->andWhere($query->expr()->eq('participantType', $query->createNamedParameter(Participant::USER_SELF_JOINED, IQueryBuilder::PARAM_INT)));
+ ->where($query->expr()->eq('user_id', $query->createNamedParameter($userId)))
+ ->andWhere($query->expr()->eq('participant_type', $query->createNamedParameter(Participant::USER_SELF_JOINED, IQueryBuilder::PARAM_INT)));
$query->execute();
$this->dispatcher->dispatch(self::class . '::postUserDisconnectRoom', new GenericEvent($this));
@@ -581,12 +581,12 @@ class Room {
$sessionId = $this->secureRandom->generate(255);
while (!$this->db->insertIfNotExist('*PREFIX*talk_participants', [
- 'userId' => '',
- 'roomId' => $this->getId(),
- 'lastPing' => 0,
- 'sessionId' => $sessionId,
- 'participantType' => Participant::GUEST,
- ], ['sessionId'])) {
+ 'user_id' => '',
+ 'room_id' => $this->getId(),
+ 'last_ping' => 0,
+ 'session_id' => $sessionId,
+ 'participant_type' => Participant::GUEST,
+ ], ['session_id'])) {
$sessionId = $this->secureRandom->generate(255);
}
@@ -612,9 +612,9 @@ class Room {
$query = $this->db->getQueryBuilder();
$query->update('talk_participants')
- ->set('inCall', $query->createNamedParameter((int) $active, IQueryBuilder::PARAM_INT))
- ->where($query->expr()->eq('sessionId', $query->createNamedParameter($sessionId)))
- ->andWhere($query->expr()->eq('roomId', $query->createNamedParameter($this->getId(), IQueryBuilder::PARAM_INT)));
+ ->set('in_call', $query->createNamedParameter((int) $active, IQueryBuilder::PARAM_INT))
+ ->where($query->expr()->eq('session_id', $query->createNamedParameter($sessionId)))
+ ->andWhere($query->expr()->eq('room_id', $query->createNamedParameter($this->getId(), IQueryBuilder::PARAM_INT)));
$query->execute();
if ($active) {
@@ -644,7 +644,7 @@ class Room {
$query = $this->db->getQueryBuilder();
$query->selectAlias($query->createFunction('COUNT(*)'), 'num_sessions')
->from('talk_participants')
- ->where($query->expr()->eq('sessionId', $query->createNamedParameter($sessionId)));
+ ->where($query->expr()->eq('session_id', $query->createNamedParameter($sessionId)));
$result = $query->execute();
$numSessions = (int) $result->fetchColumn();
$result->closeCursor();
@@ -657,9 +657,9 @@ class Room {
$query = $this->db->getQueryBuilder();
$query->delete('talk_participants')
- ->where($query->expr()->eq('roomId', $query->createNamedParameter($this->getId(), IQueryBuilder::PARAM_INT)))
- ->andWhere($query->expr()->emptyString('userId'))
- ->andWhere($query->expr()->lte('lastPing', $query->createNamedParameter(time() - 30, IQueryBuilder::PARAM_INT)));
+ ->where($query->expr()->eq('room_id', $query->createNamedParameter($this->getId(), IQueryBuilder::PARAM_INT)))
+ ->andWhere($query->expr()->emptyString('user_id'))
+ ->andWhere($query->expr()->lte('last_ping', $query->createNamedParameter(time() - 30, IQueryBuilder::PARAM_INT)));
$query->execute();
$this->dispatcher->dispatch(self::class . '::postCleanGuests', new GenericEvent($this));
@@ -673,28 +673,28 @@ class Room {
$query = $this->db->getQueryBuilder();
$query->select('*')
->from('talk_participants')
- ->where($query->expr()->eq('roomId', $query->createNamedParameter($this->getId(), IQueryBuilder::PARAM_INT)));
+ ->where($query->expr()->eq('room_id', $query->createNamedParameter($this->getId(), IQueryBuilder::PARAM_INT)));
if ($lastPing > 0) {
- $query->andWhere($query->expr()->gt('lastPing', $query->createNamedParameter($lastPing, IQueryBuilder::PARAM_INT)));
+ $query->andWhere($query->expr()->gt('last_ping', $query->createNamedParameter($lastPing, IQueryBuilder::PARAM_INT)));
}
$result = $query->execute();
$users = $guests = [];
while ($row = $result->fetch()) {
- if ($row['userId'] !== '' && $row['userId'] !== null) {
- $users[$row['userId']] = [
- 'inCall' => (bool) $row['inCall'],
- 'lastPing' => (int) $row['lastPing'],
- 'sessionId' => $row['sessionId'],
- 'participantType' => (int) $row['participantType'],
+ if ($row['user_id'] !== '' && $row['user_id'] !== null) {
+ $users[$row['user_id']] = [
+ 'inCall' => (bool) $row['in_call'],
+ 'lastPing' => (int) $row['last_ping'],
+ 'sessionId' => $row['session_id'],
+ 'participantType' => (int) $row['participant_type'],
];
} else {
$guests[] = [
- 'inCall' => (bool) $row['inCall'],
- 'lastPing' => (int) $row['lastPing'],
- 'sessionId' => $row['sessionId'],
+ 'inCall' => (bool) $row['in_call'],
+ 'lastPing' => (int) $row['last_ping'],
+ 'sessionId' => $row['session_id'],
];
}
}
@@ -711,15 +711,15 @@ class Room {
*/
public function getActiveSessions() {
$query = $this->db->getQueryBuilder();
- $query->select('sessionId')
+ $query->select('session_id')
->from('talk_participants')
- ->where($query->expr()->eq('roomId', $query->createNamedParameter($this->getId(), IQueryBuilder::PARAM_INT)))
- ->andWhere($query->expr()->neq('sessionId', $query->createNamedParameter('0')));
+ ->where($query->expr()->eq('room_id', $query->createNamedParameter($this->getId(), IQueryBuilder::PARAM_INT)))
+ ->andWhere($query->expr()->neq('session_id', $query->createNamedParameter('0')));
$result = $query->execute();
$sessions = [];
while ($row = $result->fetch()) {
- $sessions[] = $row['sessionId'];
+ $sessions[] = $row['session_id'];
}
$result->closeCursor();
@@ -732,16 +732,16 @@ class Room {
*/
public function getInactiveUserIds() {
$query = $this->db->getQueryBuilder();
- $query->select('userId')
+ $query->select('user_id')
->from('talk_participants')
- ->where($query->expr()->eq('roomId', $query->createNamedParameter($this->getId(), IQueryBuilder::PARAM_INT)))
- ->andWhere($query->expr()->eq('sessionId', $query->createNamedParameter('0')))
- ->andWhere($query->expr()->nonEmptyString('userId'));
+ ->where($query->expr()->eq('room_id', $query->createNamedParameter($this->getId(), IQueryBuilder::PARAM_INT)))
+ ->andWhere($query->expr()->eq('session_id', $query->createNamedParameter('0')))
+ ->andWhere($query->expr()->nonEmptyString('user_id'));
$result = $query->execute();
$userIds = [];
while ($row = $result->fetch()) {
- $userIds[] = $row['userId'];
+ $userIds[] = $row['user_id'];
}
$result->closeCursor();
@@ -753,10 +753,10 @@ class Room {
*/
public function hasSessionsInCall() {
$query = $this->db->getQueryBuilder();
- $query->select('sessionId')
+ $query->select('session_id')
->from('talk_participants')
- ->where($query->expr()->eq('roomId', $query->createNamedParameter($this->getId(), IQueryBuilder::PARAM_INT)))
- ->andWhere($query->expr()->eq('inCall', $query->createNamedParameter(1, IQueryBuilder::PARAM_INT)))
+ ->where($query->expr()->eq('room_id', $query->createNamedParameter($this->getId(), IQueryBuilder::PARAM_INT)))
+ ->andWhere($query->expr()->eq('in_call', $query->createNamedParameter(1, IQueryBuilder::PARAM_INT)))
->setMaxResults(1);
$result = $query->execute();
$row = $result->fetch();
@@ -773,10 +773,10 @@ class Room {
$query = $this->db->getQueryBuilder();
$query->selectAlias($query->createFunction('COUNT(*)'), 'num_participants')
->from('talk_participants')
- ->where($query->expr()->eq('roomId', $query->createNamedParameter($this->getId(), IQueryBuilder::PARAM_INT)));
+ ->where($query->expr()->eq('room_id', $query->createNamedParameter($this->getId(), IQueryBuilder::PARAM_INT)));
if ($lastPing > 0) {
- $query->andWhere($query->expr()->gt('lastPing', $query->createNamedParameter($lastPing, IQueryBuilder::PARAM_INT)));
+ $query->andWhere($query->expr()->gt('last_ping', $query->createNamedParameter($lastPing, IQueryBuilder::PARAM_INT)));
}
$result = $query->execute();
@@ -794,10 +794,10 @@ class Room {
public function ping($userId, $sessionId, $timestamp) {
$query = $this->db->getQueryBuilder();
$query->update('talk_participants')
- ->set('lastPing', $query->createNamedParameter($timestamp, IQueryBuilder::PARAM_INT))
- ->where($query->expr()->eq('userId', $query->createNamedParameter((string) $userId)))
- ->andWhere($query->expr()->eq('sessionId', $query->createNamedParameter($sessionId)))
- ->andWhere($query->expr()->eq('roomId', $query->createNamedParameter($this->getId(), IQueryBuilder::PARAM_INT)));
+ ->set('last_ping', $query->createNamedParameter($timestamp, IQueryBuilder::PARAM_INT))
+ ->where($query->expr()->eq('user_id', $query->createNamedParameter((string) $userId)))
+ ->andWhere($query->expr()->eq('session_id', $query->createNamedParameter($sessionId)))
+ ->andWhere($query->expr()->eq('room_id', $query->createNamedParameter($this->getId(), IQueryBuilder::PARAM_INT)));
$query->execute();
}