1
0
Fork 0
mirror of https://codeberg.org/demostf/api.git synced 2026-06-04 02:14:06 +02:00

filter by backend

This commit is contained in:
Robin Appelman 2017-08-08 00:29:24 +02:00
commit df83a46e20
17 changed files with 265 additions and 38 deletions

View file

@ -23,10 +23,11 @@ class BaseProvider {
/**
* BaseProvider constructor.
* @param Connection $connection
*
* @param connection $connection
*
* The DBAL connection used will always be a PDO
* but phan isn't aware of this.
* but phan isn't aware of this
*
* @suppress PhanTypeMismatchArgument
*/

View file

@ -25,7 +25,7 @@ class DemoListProvider extends BaseProvider {
$in = implode(', ', array_fill(0, count($userIds), '?'));
$sql = 'SELECT demos.id FROM demos INNER JOIN players ON players.demo_id = demos.id
WHERE players.user_id IN (' . $in . ') GROUP BY demos.id HAVING COUNT(user_id) = ? ORDER BY demos.id DESC LIMIT 50 OFFSET ' . ((int)$page - 1) * 50;
WHERE players.user_id IN (' . $in . ') GROUP BY demos.id HAVING COUNT(user_id) = ? ORDER BY demos.id DESC LIMIT 50 OFFSET ' . ((int) $page - 1) * 50;
$params = $userIds;
$params[] = count($userIds);
@ -70,6 +70,10 @@ class DemoListProvider extends BaseProvider {
$query->where($query->expr()->in('uploader',
$query->createNamedParameter($where['uploader'], \PDO::PARAM_INT)));
}
if (isset($where['backend'])) {
$query->where($query->expr()->eq('backend',
$query->createNamedParameter($where['backend'])));
}
$query->orderBy('d.id', $order)
->setMaxResults(50)
->setFirstResult($offset);

View file

@ -55,7 +55,7 @@ class DemoProvider extends BaseProvider {
->from('demos')
->where($query->expr()->eq('hash', $query->createNamedParameter($hash)));
return (int)$query->execute()->fetchColumn();
return (int) $query->execute()->fetchColumn();
}
public function storeDemo(Demo $demo, string $backend, string $path): int {
@ -68,7 +68,7 @@ class DemoProvider extends BaseProvider {
'red' => $query->createNamedParameter($demo->getRed()),
'blu' => $query->createNamedParameter($demo->getBlue()),
'uploader' => $query->createNamedParameter($demo->getUploader(), \PDO::PARAM_INT),
'duration' => $query->createNamedParameter((int)$demo->getDuration(), \PDO::PARAM_INT),
'duration' => $query->createNamedParameter((int) $demo->getDuration(), \PDO::PARAM_INT),
'created_at' => $query->createNamedParameter($demo->getTime()->format(\DATE_ATOM)),
'updated_at' => 'now()',
'backend' => $query->createNamedParameter($backend),
@ -83,7 +83,7 @@ class DemoProvider extends BaseProvider {
])
->execute();
return (int)$this->connection->lastInsertId();
return (int) $this->connection->lastInsertId();
}
public function setDemoUrl(int $id, string $backend, string $url, string $path) {