Skip to content

Commit

Permalink
WIP
Browse files Browse the repository at this point in the history
  • Loading branch information
27pchrisl committed Nov 19, 2021
1 parent 316eede commit c830063
Showing 1 changed file with 25 additions and 14 deletions.
39 changes: 25 additions & 14 deletions src/EntitySet.php
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@
use Flat3\Lodata\Type\Stream;
use Generator;
use Illuminate\Http\Request;
use Illuminate\Support\Arr;
use Illuminate\Support\Facades\App;
use Illuminate\Support\Str;

Expand Down Expand Up @@ -417,21 +418,31 @@ public function getResourceUrl(Transaction $transaction): string
*/
public function setTransaction(Transaction $transaction): self
{
foreach (
[
[CountInterface::class, $transaction->getCount()],
[FilterInterface::class, $transaction->getFilter()],
[OrderByInterface::class, $transaction->getOrderBy()],
[SearchInterface::class, $transaction->getSearch()],
[PaginationInterface::class, $transaction->getSkip()],
[PaginationInterface::class, $transaction->getTop()],
[ExpandInterface::class, $transaction->getExpand()]
] as $sqo
) {
list ($class, $option) = $sqo;
if ($this->applyQueryOptions) {
foreach (
[
[CountInterface::class, $transaction->getCount()],
[FilterInterface::class, $transaction->getFilter()],
[OrderByInterface::class, $transaction->getOrderBy()],
[SearchInterface::class, $transaction->getSearch()],
[PaginationInterface::class, $transaction->getSkip()],
[[PaginationInterface::class, TokenPaginationInterface::class], $transaction->getTop()],
[ExpandInterface::class, $transaction->getExpand()]
] as $sqo
) {
/** @var Option $option */
list ($classes, $option) = $sqo;

if (!$option->hasValue()) {
continue;
}

foreach (Arr::wrap($classes) as $class) {
if (is_a($this, $class, true)) {
continue 2;
}
}

/** @var Option $option */
if ($this->applyQueryOptions && $option->hasValue() && !is_a($this, $class, true)) {
throw new NotImplementedException(
'system_query_option_not_implemented',
sprintf('The %s system query option is not supported by this entity set', $option::param)
Expand Down

0 comments on commit c830063

Please sign in to comment.