You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

33 lines
970 B

<?php
namespace Darksparrow\DeegraphInteractions\QueryBuilder\DirectoryQuery;
use Darksparrow\DeegraphInteractions\Attributes\QueryBuilderQuery;
use Darksparrow\DeegraphInteractions\Attributes\QueryBuilderRequiredField;
use Darksparrow\DeegraphInteractions\QueryBuilder\PermissionsQuery\PermissionQuery;
use Darksparrow\DeegraphInteractions\QueryBuilder\QueryBuilderTrait;
#[QueryBuilderQuery]
final class DirectoryQueryBuilder
{
use QueryBuilderTrait;
#[QueryBuilderRequiredField]
protected string $RelativePath = "";
public function RelativePath(string $relativePath): DirectoryQueryBuilder
{
self::ValidateDeegraphPath(target: $relativePath);
$this->RelativePath = $relativePath;
return $this;
}
public function Build(): DirectoryQuery
{
self::ValidateValues(target: $this);
$builder = "DIRECTORY " . $this->RelativePath;
return new DirectoryQuery(queryString: $builder);
}
}