1
0
Fork 0
mirror of https://codeberg.org/demostf/api.git synced 2026-06-03 18:04:08 +02:00
api/src/Controllers/UserController.php
2020-11-28 17:12:04 +01:00

43 lines
1.1 KiB
PHP

<?php
declare(strict_types=1);
namespace Demostf\API\Controllers;
use Demostf\API\Demo\Parser;
use Demostf\API\Providers\UserProvider;
use Flight;
use flight\net\Request;
use flight\net\Response;
use InvalidArgumentException;
class UserController extends BaseController {
/**
* @var UserProvider
*/
private $userProvider;
public function __construct(Request $request, Response $response, UserProvider $userProvider) {
parent::__construct($request, $response);
$this->userProvider = $userProvider;
}
public function get($steamId) {
if (!is_numeric($steamId)) {
try {
$steamId = Parser::convertSteamIdToCommunityId($steamId);
} catch (InvalidArgumentException $e) {
}
} elseif ($user = $this->userProvider->getById((int) $steamId)) {
Flight::json($user);
return;
}
Flight::json($this->userProvider->get($steamId));
}
public function search() {
$query = $this->query('query', '');
Flight::json($this->userProvider->search($query));
}
}