mince/src/Servers.php
2024-02-21 16:08:45 +00:00

31 lines
990 B
PHP

<?php
namespace Mince;
use Index\Data\{DbStatementCache,IDbConnection};
class Servers {
//private IDbConnection $dbConn;
private DbStatementCache $cache;
public function __construct(IDbConnection $dbConn) {
//$this->dbConn = $dbConn;
$this->cache = new DbStatementCache($dbConn);
}
public function getServers(
?bool $deleted = null
): iterable {
$hasDeleted = $deleted !== null;
$query = 'SELECT server_id, server_name, server_details, server_java_address, server_java_version, server_bedrock_address, server_bedrock_version, UNIX_TIMESTAMP(server_created), UNIX_TIMESTAMP(server_deleted) FROM servers';
if($hasDeleted)
$query .= sprintf(' WHERE server_deleted %s NULL', $deleted ? 'IS NOT ' : 'IS');
$query .= ' ORDER BY server_order';
$stmt = $this->cache->get($query);
$stmt->execute();
return $stmt->getResult()->getIterator(ServerInfo::fromResult(...));
}
}