refactor: inject ExpressionLanguage singleton using DI

This commit is contained in:
Michael Thomas
2024-03-07 13:00:57 -05:00
parent 438f602961
commit bee219ebf7
21 changed files with 122 additions and 164 deletions

View File

@@ -31,7 +31,7 @@ use FireflyIII\Models\RuleAction;
use FireflyIII\Models\Transaction;
use FireflyIII\Models\TransactionJournal;
use FireflyIII\Repositories\PiggyBank\PiggyBankRepositoryInterface;
use FireflyIII\TransactionRules\Expressions\ActionExpressionEvaluator;
use FireflyIII\TransactionRules\Expressions\ActionExpression;
use FireflyIII\User;
/**
@@ -39,23 +39,23 @@ use FireflyIII\User;
*/
class UpdatePiggybank implements ActionInterface
{
private RuleAction $action;
private ActionExpressionEvaluator $evaluator;
private RuleAction $action;
private ActionExpression $expr;
/**
* TriggerInterface constructor.
*/
public function __construct(RuleAction $action, ActionExpressionEvaluator $evaluator)
public function __construct(RuleAction $action, ActionExpression $expr)
{
$this->action = $action;
$this->evaluator = $evaluator;
$this->expr = $expr;
}
public function actOnArray(array $journal): bool
{
app('log')->debug(sprintf('Triggered rule action UpdatePiggybank on journal #%d', $journal['transaction_journal_id']));
$piggyBankName = $this->evaluator->evaluate($journal);
$piggyBankName = $this->expr->evaluate($journal);
// refresh the transaction type.
/** @var User $user */
$user = User::find($journal['user_id']);