Files
backend/app/Services/DataTable/Validators/RelationValidator.php
2024-07-14 10:44:55 +00:00

26 lines
662 B
PHP

<?php
namespace App\Services\DataTable\Validators;
use App\Services\DataTable\Exceptions\InvalidRelationException;
class RelationValidator
{
public static function validate(?array $rels, array $allowedRelations): bool
{
foreach ($rels as $relation) {
if (!self::isAllowed($relation, $allowedRelations)) {
throw new InvalidRelationException($relation, "relation `$relation` is not allowed.");
}
}
return true;
}
public static function isAllowed(string $relation, array $allowedRelations): bool
{
return !$relation || in_array($relation, $allowedRelations);
}
}