mirror of
https://codeberg.org/demostf/api.git
synced 2026-06-03 18:04:08 +02:00
more type hints
This commit is contained in:
parent
b3fbc1be3c
commit
807c8c9a26
7 changed files with 23 additions and 21 deletions
|
|
@ -10,11 +10,11 @@ class DemoStore {
|
|||
/** @var string */
|
||||
private $root;
|
||||
/** @var string */
|
||||
private $webroot;
|
||||
private $webRoot;
|
||||
|
||||
public function __construct(string $root, string $webroot) {
|
||||
public function __construct(string $root, string $webRoot) {
|
||||
$this->root = $root;
|
||||
$this->webroot = $webroot;
|
||||
$this->webRoot = $webRoot;
|
||||
}
|
||||
|
||||
public function store(string $sourcePath, string $name): StoredDemo {
|
||||
|
|
@ -32,11 +32,11 @@ class DemoStore {
|
|||
return $this->root . $this->getPrefix($name) . $name;
|
||||
}
|
||||
|
||||
private function getPrefix(string $name) {
|
||||
private function getPrefix(string $name): string {
|
||||
return '/' . substr($name, 0, 2) . '/' . substr($name, 2, 2) . '/';
|
||||
}
|
||||
|
||||
private function getUrl(string $name): string {
|
||||
return 'https://' . $this->webroot . $this->getPrefix($name) . $name;
|
||||
return 'https://' . $this->webRoot . $this->getPrefix($name) . $name;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -117,7 +117,7 @@ class Parser {
|
|||
*
|
||||
* @return string The converted 64bit numeric SteamID
|
||||
*/
|
||||
public function convertSteamIdToCommunityId($steamId) {
|
||||
public function convertSteamIdToCommunityId(string $steamId): string {
|
||||
if ($steamId === 'STEAM_ID_LAN' || $steamId === 'BOT') {
|
||||
throw new \InvalidArgumentException("Cannot convert SteamID \"$steamId\" to a community ID.");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,11 +18,11 @@ class AuthProvider extends BaseProvider {
|
|||
$this->generator = $generator;
|
||||
}
|
||||
|
||||
public function generateToken() {
|
||||
public function generateToken(): string {
|
||||
return $this->generator->generateString(32, Generator::CHAR_ALNUM);
|
||||
}
|
||||
|
||||
public function setUser($token, \SteamId $steamid, $key) {
|
||||
public function setUser(string $token, \SteamId $steamid, string $key) {
|
||||
apcu_store($token, [
|
||||
'name' => $steamid->getNickname(),
|
||||
'steamid' => $steamid->getSteamId64(),
|
||||
|
|
@ -30,7 +30,7 @@ class AuthProvider extends BaseProvider {
|
|||
]);
|
||||
}
|
||||
|
||||
public function getUser($token) {
|
||||
public function getUser(string $token) {
|
||||
$found = true;
|
||||
$result = apcu_fetch($token, $found);
|
||||
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ class BaseProvider {
|
|||
});
|
||||
}
|
||||
|
||||
protected function query($sql, array $params = []) {
|
||||
protected function query(string $sql, array $params = []) {
|
||||
$delimiter = $this->db->getIdentifierDelimiter();
|
||||
$platform = $this->connection->getDatabasePlatform();
|
||||
$sql = str_replace('`', $delimiter, $sql);
|
||||
|
|
|
|||
|
|
@ -8,8 +8,8 @@ use Demostf\API\Demo\Demo;
|
|||
use Doctrine\DBAL\Connection;
|
||||
|
||||
class DemoListProvider extends BaseProvider {
|
||||
public function listUploads(string $steamid, int $page, array $where = []) {
|
||||
$user = $this->db->user()->where('steamid', $steamid);
|
||||
public function listUploads(string $steamId, int $page, array $where = []) {
|
||||
$user = $this->db->user()->where('steamid', $steamId);
|
||||
$where['uploader'] = $user->fetch()->id;
|
||||
|
||||
return $this->listDemos($page, $where);
|
||||
|
|
@ -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);
|
||||
|
|
@ -47,7 +47,7 @@ class DemoListProvider extends BaseProvider {
|
|||
*
|
||||
* @return Demo[]
|
||||
*/
|
||||
public function listDemos(int $page, array $where = [], $order = 'DESC') {
|
||||
public function listDemos(int $page, array $where = [], string $order = 'DESC') {
|
||||
if (isset($where['players']) and is_array($where['players']) and count($where['players']) > 0) {
|
||||
return $this->listProfile($page, $where);
|
||||
}
|
||||
|
|
@ -63,10 +63,12 @@ class DemoListProvider extends BaseProvider {
|
|||
$query->where($query->expr()->eq('map', $query->createNamedParameter($where['map'])));
|
||||
}
|
||||
if (isset($where['playerCount'])) {
|
||||
$query->where($query->expr()->in('"playerCount"', $query->createNamedParameter($where['playerCount'], Connection::PARAM_INT_ARRAY)));
|
||||
$query->where($query->expr()->in('"playerCount"',
|
||||
$query->createNamedParameter($where['playerCount'], Connection::PARAM_INT_ARRAY)));
|
||||
}
|
||||
if (isset($where['uploader'])) {
|
||||
$query->where($query->expr()->in('uploader', $query->createNamedParameter($where['uploader'], \PDO::PARAM_INT)));
|
||||
$query->where($query->expr()->in('uploader',
|
||||
$query->createNamedParameter($where['uploader'], \PDO::PARAM_INT)));
|
||||
}
|
||||
$query->orderBy('d.id', $order)
|
||||
->setMaxResults(50)
|
||||
|
|
|
|||
|
|
@ -49,13 +49,13 @@ class DemoProvider extends BaseProvider {
|
|||
return $formattedDemo;
|
||||
}
|
||||
|
||||
public function demoIdByHash($hash): int {
|
||||
public function demoIdByHash(string $hash): int {
|
||||
$query = $this->getQueryBuilder();
|
||||
$query->select('id')
|
||||
->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) {
|
||||
|
|
|
|||
|
|
@ -118,7 +118,7 @@ class UserProvider extends BaseProvider {
|
|||
return array_values($result);
|
||||
}
|
||||
|
||||
public function byKey($key): ?User {
|
||||
public function byKey(string $key): ?User {
|
||||
$query = $this->getQueryBuilder();
|
||||
$query->select(['id', 'steamid', 'name', 'avatar', 'token'])
|
||||
->from('users')
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue