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
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);
|
|
}
|
|
}
|