taktik-nette

This commit is contained in:
2025-01-22 22:52:26 +01:00
commit 8e2cd6ca68
45 changed files with 5410 additions and 0 deletions

34
app/UI/DTO/OrderDTO.php Normal file
View File

@@ -0,0 +1,34 @@
<?php
declare(strict_types=1);
namespace App\UI\DTO;
class OrderDTO
{
public function __construct(public readonly string $column, public readonly OrderDirection $direction)
{
}
/**
* @param array<int, string> $acceptColumns
*/
public static function createOrReturnNullFromData(?string $order, ?string $direction, array $acceptColumns = []): ?OrderDTO
{
if ($order === null || $direction === null) {
return null;
}
if (!in_array($order, $acceptColumns, true)) {
return null;
}
$direction = OrderDirection::tryFrom($direction);
if ($direction === null) {
return null;
}
return new self($order, $direction);
}
}