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:
parent
fa7a6f9b0a
commit
df83a46e20
17 changed files with 265 additions and 38 deletions
|
|
@ -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
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue