Expand search.

This commit is contained in:
James Cole
2020-08-24 07:03:17 +02:00
parent 4bf86500bd
commit 3141ec0406
10 changed files with 256 additions and 54 deletions

View File

@@ -497,4 +497,42 @@ class RuleRepository implements RuleRepositoryInterface
return $rule;
}
/**
* @inheritDoc
*/
public function getStoreRules(): Collection
{
$collection = $this->user->rules()->with(['ruleGroup','ruleTriggers'])->get();
$filtered = new Collection;
/** @var Rule $rule */
foreach($collection as $rule) {
/** @var RuleTrigger $ruleTrigger */
foreach($rule->ruleTriggers as $ruleTrigger) {
if('user_action' === $ruleTrigger->trigger_type && 'store-journal' === $ruleTrigger->trigger_value) {
$filtered->push($rule);
}
}
}
return $filtered;
}
/**
* @inheritDoc
*/
public function getUpdateRules(): Collection
{
$collection = $this->user->rules()->with(['ruleGroup','ruleTriggers'])->get();
$filtered = new Collection;
/** @var Rule $rule */
foreach($collection as $rule) {
/** @var RuleTrigger $ruleTrigger */
foreach($rule->ruleTriggers as $ruleTrigger) {
if('user_action' === $ruleTrigger->trigger_type && 'update-journal' === $ruleTrigger->trigger_value) {
$filtered->push($rule);
}
}
}
return $filtered;
}
}

View File

@@ -76,6 +76,20 @@ interface RuleRepositoryInterface
*/
public function getAll(): Collection;
/**
* Get all the users rules that trigger on storage.
*
* @return Collection
*/
public function getStoreRules(): Collection;
/**
* Get all the users rules that trigger on update.
*
* @return Collection
*/
public function getUpdateRules(): Collection;
/**
* @return RuleGroup
*/