Add configuration for maximum entity list items and update ListEntities handling
Some checks are pending
CI / debug (push) Waiting to run
CI / check-phpunit (push) Waiting to run
CI / check-phpdoc (push) Waiting to run
CI / generate-phpdoc (push) Blocked by required conditions
CI / release (push) Waiting to run
CI / test (push) Blocked by required conditions
CI / release-documentation (push) Blocked by required conditions
CI / release-artifacts (push) Blocked by required conditions

This commit is contained in:
netkas 2025-06-04 00:20:45 -04:00
parent 4785961726
commit f6ed7314e3
Signed by: netkas
GPG key ID: 4D8629441B76E4CC
3 changed files with 17 additions and 3 deletions

View file

@ -27,6 +27,7 @@
self::$configuration->setDefault('server.max_upload_size', 52428800); // 50MB default
self::$configuration->setDefault('server.storage_path', '/var/www/uploads');
self::$configuration->setDefault('server.list_audit_logs_max_items', 100);
self::$configuration->setDefault('server.list_entities_max_items', 100);
self::$configuration->setDefault('logging.log_unauthorized_requests', true);

View file

@ -10,6 +10,7 @@
private int $maxUploadSize;
private string $storagePath;
private int $listAuditLogsMaxItems;
private int $listEntitiesMaxItems;
/**
* ServerConfiguration constructor.
@ -24,6 +25,7 @@
$this->maxUploadSize = $config['max_upload_size'] ?? 52428800; // 50MB default
$this->storagePath = $config['storage_path'] ?? '/var/www/uploads';
$this->listAuditLogsMaxItems = $config['list_audit_logs_max_items'] ?? 100;
$this->listEntitiesMaxItems = $config['list_entities_max_items'] ?? 100;
}
/**
@ -85,4 +87,14 @@
{
return $this->listAuditLogsMaxItems;
}
/**
* Get the maximum number of items to return when listing entities.
*
* @return int The maximum number of entity items to return.
*/
public function getListEntitiesMaxItems(): int
{
return $this->listEntitiesMaxItems;
}
}

View file

@ -2,6 +2,7 @@
namespace FederationServer\Methods\Entities;
use FederationServer\Classes\Configuration;
use FederationServer\Classes\Managers\EntitiesManager;
use FederationServer\Classes\RequestHandler;
use FederationServer\Exceptions\DatabaseOperationException;
@ -15,12 +16,12 @@
*/
public static function handleRequest(): void
{
$limit = (int) (FederationServer::getParameter('limit') ?? 100);
$limit = (int) (FederationServer::getParameter('limit') ?? Configuration::getServerConfiguration()->getListEntitiesMaxItems());
$page = (int) (FederationServer::getParameter('page') ?? 1);
if($limit < 1)
if($limit < 1 || $limit > Configuration::getServerConfiguration()->getListEntitiesMaxItems())
{
$limit = 100;
$limit = Configuration::getServerConfiguration()->getListEntitiesMaxItems();
}
if($page < 1)