Offload stuff to repositories for rules and rule groups, see issue #185

This commit is contained in:
James Cole
2016-02-17 17:27:41 +01:00
parent 2ef1c54417
commit f9e2a677d9
5 changed files with 124 additions and 76 deletions

View File

@@ -11,6 +11,7 @@ declare(strict_types = 1);
namespace FireflyIII\Repositories\Rule;
use Auth;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Models\Rule;
use FireflyIII\Models\RuleAction;
use FireflyIII\Models\RuleGroup;
@@ -68,6 +69,22 @@ class RuleRepository implements RuleRepositoryInterface
return intval($ruleGroup->rules()->max('order'));
}
/**
* @param Rule $rule
*
* @return string
* @throws FireflyException
*/
public function getPrimaryTrigger(Rule $rule): string
{
$count = $rule->ruleTriggers()->count();
if ($count === 0) {
throw new FireflyException('Rules should have more than zero triggers, rule #' . $rule->id . ' has none!');
}
return $rule->ruleTriggers()->where('trigger_type', 'user_action')->first()->trigger_value;
}
/**
* @param Rule $rule
*