- WIP on SearchAttributes supporting Request's attributes
This commit is contained in:
1 parent
bd9078230d
commit
bbfd7c02b4
6 files changed
+70
-9
No files matched your search
@@ -0,0 +1,14 @@
|
||||
<?php
|
||||
|
||||
namespace Ulmus\SearchRequest\Attribute;
|
||||
|
||||
enum PropertyValueSource
|
||||
{
|
||||
case QueryParams;
|
||||
|
||||
case RequestAttribute;
|
||||
|
||||
public const ATTRIBUTE_FIRST = [ self::RequestAttribute, self::QueryParams ];
|
||||
|
||||
public const QUERY_PARAMS_FIRST = [ self::QueryParams, self::RequestAttribute ];
|
||||
}
|
||||
@@ -13,5 +13,6 @@ class SearchLike extends SearchParameter
|
||||
public bool $toggle = false,
|
||||
public SearchMethodEnum $method = SearchMethodEnum::Like,
|
||||
public string $description = "",
|
||||
public PropertyValueSource|array $source = PropertyValueSource::QueryParams,
|
||||
) {}
|
||||
}
|
||||
@@ -5,8 +5,16 @@ namespace Ulmus\SearchRequest\Attribute;
|
||||
use Ulmus\SearchRequest\SearchMethodEnum;
|
||||
|
||||
#[\Attribute(\Attribute::TARGET_PROPERTY)]
|
||||
class SearchParameter
|
||||
{
|
||||
abstract class SearchParameter {
|
||||
|
||||
public PropertyValueSource|array $source = PropertyValueSource::QueryParams;
|
||||
|
||||
public null|string|\Stringable|array $field = null;
|
||||
|
||||
public string $description = "";
|
||||
|
||||
public function getSources() : array
|
||||
{
|
||||
return is_array($this->source) ? $this->source : [ $this->source ];
|
||||
}
|
||||
}
|
||||
@@ -13,5 +13,6 @@ class SearchWhere extends SearchParameter
|
||||
public bool $toggle = false,
|
||||
public SearchMethodEnum $method = SearchMethodEnum::Where,
|
||||
public string $description = "",
|
||||
public PropertyValueSource|array $source = PropertyValueSource::QueryParams,
|
||||
) {}
|
||||
}
|
||||
Reference in new issue
Block a user