mirror of
https://codeberg.org/demostf/api.git
synced 2026-06-04 02:14:06 +02:00
cleanup
This commit is contained in:
parent
5986d8552d
commit
73469d2aa1
29 changed files with 140 additions and 149 deletions
|
|
@ -6,6 +6,7 @@ namespace Demostf\API\Providers;
|
|||
|
||||
use Doctrine\DBAL\Connection;
|
||||
use RandomLib\Generator;
|
||||
use SteamId;
|
||||
|
||||
class AuthProvider extends BaseProvider {
|
||||
/**
|
||||
|
|
@ -22,7 +23,7 @@ class AuthProvider extends BaseProvider {
|
|||
return $this->generator->generateString(32, Generator::CHAR_ALNUM);
|
||||
}
|
||||
|
||||
public function setUser(string $token, \SteamId $steamid, string $key) {
|
||||
public function setUser(string $token, SteamId $steamid, string $key) {
|
||||
apcu_store($token, [
|
||||
'name' => $steamid->getNickname(),
|
||||
'steamid' => $steamid->getSteamId64(),
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ class BaseProvider {
|
|||
protected $connection;
|
||||
|
||||
/**
|
||||
* @var \LessQL\Database
|
||||
* @var Database
|
||||
*/
|
||||
protected $db;
|
||||
|
||||
|
|
|
|||
|
|
@ -5,13 +5,14 @@ declare(strict_types=1);
|
|||
namespace Demostf\API\Providers;
|
||||
|
||||
use Demostf\API\Demo\ChatMessage;
|
||||
use PDO;
|
||||
|
||||
class ChatProvider extends BaseProvider {
|
||||
public function getChat(int $demoId) {
|
||||
$query = $this->getQueryBuilder();
|
||||
$query->select('text', '"from"', 'time')
|
||||
->from('chat')
|
||||
->where($query->expr()->eq('demo_id', $query->createNamedParameter($demoId, \PDO::PARAM_INT)));
|
||||
->where($query->expr()->eq('demo_id', $query->createNamedParameter($demoId, PDO::PARAM_INT)));
|
||||
|
||||
$result = $query->execute();
|
||||
|
||||
|
|
@ -28,10 +29,10 @@ class ChatProvider extends BaseProvider {
|
|||
$query = $this->getQueryBuilder();
|
||||
$query->insert('chat')
|
||||
->values([
|
||||
'demo_id' => $query->createNamedParameter($demoId, \PDO::PARAM_INT),
|
||||
'demo_id' => $query->createNamedParameter($demoId, PDO::PARAM_INT),
|
||||
'text' => $query->createNamedParameter($message->getMessage()),
|
||||
'"from"' => $query->createNamedParameter($message->getUser()),
|
||||
'time' => $query->createNamedParameter($message->getTime(), \PDO::PARAM_INT),
|
||||
'time' => $query->createNamedParameter($message->getTime(), PDO::PARAM_INT),
|
||||
'created_at' => 'now()',
|
||||
'updated_at' => 'now()',
|
||||
]);
|
||||
|
|
|
|||
|
|
@ -4,8 +4,11 @@ declare(strict_types=1);
|
|||
|
||||
namespace Demostf\API\Providers;
|
||||
|
||||
use function count;
|
||||
use Demostf\API\Demo\Demo;
|
||||
use Doctrine\DBAL\Connection;
|
||||
use function is_array;
|
||||
use PDO;
|
||||
|
||||
class DemoListProvider extends BaseProvider {
|
||||
public function listUploads(string $steamId, int $page, array $where = []) {
|
||||
|
|
@ -30,14 +33,14 @@ class DemoListProvider extends BaseProvider {
|
|||
->groupBy('demo_id')
|
||||
->having($query->expr()->eq(
|
||||
'COUNT(user_id)',
|
||||
$query->createNamedParameter(\count($userIds, \PDO::PARAM_INT))
|
||||
$query->createNamedParameter(count($userIds, PDO::PARAM_INT))
|
||||
))
|
||||
->orderBy('demo_id', 'desc')
|
||||
->setMaxResults(50)
|
||||
->setFirstResult(((int) $page - 1) * 50);
|
||||
|
||||
$result = $query->execute();
|
||||
$demoIds = $result->fetchAll(\PDO::FETCH_COLUMN);
|
||||
$demoIds = $result->fetchAll(PDO::FETCH_COLUMN);
|
||||
|
||||
$demos = $this->db->demo()->where('id', $demoIds)
|
||||
->where($where)
|
||||
|
|
@ -54,7 +57,7 @@ class DemoListProvider extends BaseProvider {
|
|||
* @return Demo[]
|
||||
*/
|
||||
public function listDemos(int $page, array $where = [], string $order = 'DESC') {
|
||||
if (isset($where['players']) and \is_array($where['players']) and \count($where['players']) > 0) {
|
||||
if (isset($where['players']) and is_array($where['players']) and count($where['players']) > 0) {
|
||||
return $this->listProfile($page, $where);
|
||||
}
|
||||
|
||||
|
|
@ -77,7 +80,7 @@ class DemoListProvider extends BaseProvider {
|
|||
}
|
||||
if (isset($where['uploader'])) {
|
||||
$query->andWhere($query->expr()->in('uploader',
|
||||
$query->createNamedParameter($where['uploader'], \PDO::PARAM_INT)));
|
||||
$query->createNamedParameter($where['uploader'], PDO::PARAM_INT)));
|
||||
}
|
||||
if (isset($where['backend'])) {
|
||||
$query->andWhere($query->expr()->eq('backend',
|
||||
|
|
@ -87,7 +90,7 @@ class DemoListProvider extends BaseProvider {
|
|||
->setMaxResults(50)
|
||||
->setFirstResult($offset);
|
||||
|
||||
$demos = $query->execute()->fetchAll(\PDO::FETCH_ASSOC);
|
||||
$demos = $query->execute()->fetchAll(PDO::FETCH_ASSOC);
|
||||
|
||||
return $this->formatList($demos);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,9 +4,11 @@ declare(strict_types=1);
|
|||
|
||||
namespace Demostf\API\Providers;
|
||||
|
||||
use const DATE_ATOM;
|
||||
use Demostf\API\Data\DemoPlayer;
|
||||
use Demostf\API\Data\User;
|
||||
use Demostf\API\Demo\Demo;
|
||||
use PDO;
|
||||
|
||||
class DemoProvider extends BaseProvider {
|
||||
const VERSION = 4;
|
||||
|
|
@ -33,7 +35,7 @@ class DemoProvider extends BaseProvider {
|
|||
if ($fetchDetails) {
|
||||
$uploader = $demo->user()->via('uploader')->fetch();
|
||||
$playerQuery = $this->query($sql, [$formattedDemo->getId(), $formattedDemo->getId()]);
|
||||
$players = $playerQuery->fetchAll(\PDO::FETCH_ASSOC);
|
||||
$players = $playerQuery->fetchAll(PDO::FETCH_ASSOC);
|
||||
|
||||
$formattedDemo->setUploaderUser(User::fromRow([
|
||||
'id' => $uploader['id'],
|
||||
|
|
@ -74,18 +76,18 @@ class DemoProvider extends BaseProvider {
|
|||
'map' => $query->createNamedParameter($demo->getMap()),
|
||||
'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),
|
||||
'created_at' => $query->createNamedParameter($demo->getTime()->format(\DATE_ATOM)),
|
||||
'uploader' => $query->createNamedParameter($demo->getUploader(), 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),
|
||||
'path' => $query->createNamedParameter($path),
|
||||
'"scoreBlue"' => $query->createNamedParameter($demo->getBlueScore(), \PDO::PARAM_INT),
|
||||
'"scoreRed"' => $query->createNamedParameter($demo->getRedScore(), \PDO::PARAM_INT),
|
||||
'version' => $query->createNamedParameter(self::VERSION, \PDO::PARAM_INT),
|
||||
'"scoreBlue"' => $query->createNamedParameter($demo->getBlueScore(), PDO::PARAM_INT),
|
||||
'"scoreRed"' => $query->createNamedParameter($demo->getRedScore(), PDO::PARAM_INT),
|
||||
'version' => $query->createNamedParameter(self::VERSION, PDO::PARAM_INT),
|
||||
'server' => $query->createNamedParameter($demo->getServer()),
|
||||
'nick' => $query->createNamedParameter($demo->getNick()),
|
||||
'"playerCount"' => $query->createNamedParameter($demo->getPlayerCount(), \PDO::PARAM_INT),
|
||||
'"playerCount"' => $query->createNamedParameter($demo->getPlayerCount(), PDO::PARAM_INT),
|
||||
'hash' => $query->createNamedParameter($demo->getHash()),
|
||||
])
|
||||
->execute();
|
||||
|
|
@ -99,7 +101,7 @@ class DemoProvider extends BaseProvider {
|
|||
->set('backend', $query->createNamedParameter($backend))
|
||||
->set('url', $query->createNamedParameter($url))
|
||||
->set('path', $query->createNamedParameter($path))
|
||||
->where($query->expr()->eq('id', $query->createNamedParameter($id, \PDO::PARAM_INT)))
|
||||
->where($query->expr()->eq('id', $query->createNamedParameter($id, PDO::PARAM_INT)))
|
||||
->execute();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,12 +4,14 @@ declare(strict_types=1);
|
|||
|
||||
namespace Demostf\API\Providers;
|
||||
|
||||
use PDO;
|
||||
|
||||
class InfoProvider extends BaseProvider {
|
||||
public function listMaps() {
|
||||
$sql = 'SELECT map, count FROM map_list';
|
||||
$result = $this->query($sql);
|
||||
|
||||
return $result->fetchAll(\PDO::FETCH_COLUMN);
|
||||
return $result->fetchAll(PDO::FETCH_COLUMN);
|
||||
}
|
||||
|
||||
public function getStats() {
|
||||
|
|
|
|||
|
|
@ -7,7 +7,10 @@ namespace Demostf\API\Providers;
|
|||
use Demostf\API\Data\SteamUser;
|
||||
use Demostf\API\Data\User;
|
||||
use Doctrine\DBAL\Connection;
|
||||
use function is_array;
|
||||
use PDO;
|
||||
use RandomLib\Generator;
|
||||
use SteamId;
|
||||
|
||||
class UserProvider extends BaseProvider {
|
||||
/**
|
||||
|
|
@ -20,7 +23,7 @@ class UserProvider extends BaseProvider {
|
|||
$this->generator = $generator;
|
||||
}
|
||||
|
||||
public function store(\SteamId $steamId): string {
|
||||
public function store(SteamId $steamId): string {
|
||||
$token = $this->generator->generateString(64, Generator::EASY_TO_READ);
|
||||
|
||||
$user = $this->get($steamId->getSteamId64());
|
||||
|
|
@ -65,7 +68,7 @@ class UserProvider extends BaseProvider {
|
|||
->setMaxResults(1);
|
||||
|
||||
$result = $query->execute()->fetch();
|
||||
if (\is_array($result)) {
|
||||
if (is_array($result)) {
|
||||
return $result;
|
||||
} else {
|
||||
return null;
|
||||
|
|
@ -86,7 +89,7 @@ class UserProvider extends BaseProvider {
|
|||
}
|
||||
|
||||
$query = $this->getQueryBuilder();
|
||||
$nameParameter = $query->createNamedParameter($search, \PDO::PARAM_STR, ':query');
|
||||
$nameParameter = $query->createNamedParameter($search, PDO::PARAM_STR, ':query');
|
||||
$query->select('user_id', 'name', 'count', 'steamid', "1 - (name <-> $nameParameter) AS sim")
|
||||
->from('name_list')
|
||||
->where($query->expr()->comparison('name', '%', $nameParameter))
|
||||
|
|
@ -94,7 +97,7 @@ class UserProvider extends BaseProvider {
|
|||
->orderBy('count', 'DESC')
|
||||
->setMaxResults(100);
|
||||
$result = $query->execute();
|
||||
$players = $result->fetchAll(\PDO::FETCH_ASSOC);
|
||||
$players = $result->fetchAll(PDO::FETCH_ASSOC);
|
||||
|
||||
usort($players, function ($b, $a) use ($query) {
|
||||
if ($a['steamid'] === $query && $a['steamid'] !== $query) {
|
||||
|
|
@ -138,7 +141,7 @@ class UserProvider extends BaseProvider {
|
|||
return $existing->getId();
|
||||
}
|
||||
|
||||
$this->store(new \SteamId($steamId));
|
||||
$this->store(new SteamId($steamId));
|
||||
|
||||
return $this->get($steamId)->getId();
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue