Add /servers/surprise endpoint
This commit is contained in:
parent
0e4d5a035f
commit
d0102327c0
4 changed files with 64 additions and 0 deletions
39
src/classes/Controllers/Api/Surprise.php
Normal file
39
src/classes/Controllers/Api/Surprise.php
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
<?php
|
||||
|
||||
namespace Friendica\Directory\Controllers\Api;
|
||||
|
||||
use Friendica\Directory\Content\Pager;
|
||||
use Psr\Http\Message\ResponseInterface;
|
||||
use Psr\Http\Message\ServerRequestInterface;
|
||||
|
||||
/**
|
||||
* @author Hypolite Petovan <mrpetovan@gmail.com>
|
||||
*/
|
||||
class Surprise
|
||||
{
|
||||
/**
|
||||
* @var \Atlas\Pdo\Connection
|
||||
*/
|
||||
private $atlas;
|
||||
|
||||
public function __construct(
|
||||
\Atlas\Pdo\Connection $atlas
|
||||
)
|
||||
{
|
||||
$this->atlas = $atlas;
|
||||
}
|
||||
|
||||
public function render(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args): \Slim\Http\Response
|
||||
{
|
||||
$redirectUrl = '';
|
||||
|
||||
$sql = 'SELECT base_url FROM server WHERE reg_policy = "REGISTER_OPEN" AND health_score > 75 ORDER BY health_score DESC, RAND()';
|
||||
|
||||
$server = $this->atlas->fetchOne($sql);
|
||||
if ($server) {
|
||||
$redirectUrl = $server['base_url'];
|
||||
}
|
||||
|
||||
return $response->withRedirect($redirectUrl);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue