Small code cleanup.

This commit is contained in:
James Cole
2024-03-16 23:06:16 +01:00
parent 1bd3019c16
commit 7224f1be6f
11 changed files with 93 additions and 87 deletions

View File

@@ -72,7 +72,7 @@ interface AccountRepositoryInterface
public function setUser(User $user): void; public function setUser(User $user): void;
public function update(Account $account, array $data): Account;
public function setUserGroup(UserGroup $userGroup): void; public function setUserGroup(UserGroup $userGroup): void;
public function update(Account $account, array $data): Account;
} }

View File

@@ -35,6 +35,7 @@ use FireflyIII\TransactionRules\Traits\RefreshNotesTrait;
class AppendDescription implements ActionInterface class AppendDescription implements ActionInterface
{ {
use RefreshNotesTrait; use RefreshNotesTrait;
private RuleAction $action; private RuleAction $action;
/** /**

View File

@@ -38,6 +38,7 @@ use FireflyIII\TransactionRules\Traits\RefreshNotesTrait;
class AppendDescriptionToNotes implements ActionInterface class AppendDescriptionToNotes implements ActionInterface
{ {
use RefreshNotesTrait; use RefreshNotesTrait;
private RuleAction $action; private RuleAction $action;
/** /**

View File

@@ -36,6 +36,7 @@ use FireflyIII\TransactionRules\Traits\RefreshNotesTrait;
class AppendNotes implements ActionInterface class AppendNotes implements ActionInterface
{ {
use RefreshNotesTrait; use RefreshNotesTrait;
private RuleAction $action; private RuleAction $action;
/** /**

View File

@@ -40,6 +40,7 @@ class AppendNotesToDescription implements ActionInterface
{ {
use ConvertsDataTypes; use ConvertsDataTypes;
use RefreshNotesTrait; use RefreshNotesTrait;
private RuleAction $action; private RuleAction $action;
/** /**

View File

@@ -33,6 +33,7 @@ use FireflyIII\TransactionRules\Traits\RefreshNotesTrait;
class SetAmount implements ActionInterface class SetAmount implements ActionInterface
{ {
use RefreshNotesTrait; use RefreshNotesTrait;
private RuleAction $action; private RuleAction $action;
/** /**
@@ -105,6 +106,13 @@ class SetAmount implements ActionInterface
$this->updateAmount($transaction, $amount); $this->updateAmount($transaction, $amount);
} }
private function updateAmount(Transaction $transaction, string $amount): void
{
$transaction->amount = $amount;
$transaction->save();
$transaction->transactionJournal->touch();
}
private function updateNegative(TransactionJournal $object, string $amount): void private function updateNegative(TransactionJournal $object, string $amount): void
{ {
/** @var null|Transaction $transaction */ /** @var null|Transaction $transaction */
@@ -114,11 +122,4 @@ class SetAmount implements ActionInterface
} }
$this->updateAmount($transaction, $amount); $this->updateAmount($transaction, $amount);
} }
private function updateAmount(Transaction $transaction, string $amount): void
{
$transaction->amount = $amount;
$transaction->save();
$transaction->transactionJournal->touch();
}
} }

View File

@@ -34,6 +34,7 @@ use FireflyIII\TransactionRules\Traits\RefreshNotesTrait;
class SetDescription implements ActionInterface class SetDescription implements ActionInterface
{ {
use RefreshNotesTrait; use RefreshNotesTrait;
private RuleAction $action; private RuleAction $action;
/** /**

View File

@@ -473,6 +473,18 @@ class SearchRuleEngine implements RuleEngineInterface
return false; return false;
} }
private function addNotes(array $transaction): array
{
$transaction['notes'] = '';
$dbNote = Note::where('noteable_id', (int)$transaction['transaction_journal_id'])->where('noteable_type', TransactionJournal::class)->first(['notes.*']);
if (null !== $dbNote) {
$transaction['notes'] = $dbNote->text;
}
Log::debug(sprintf('Notes of journal #%d filled in.', $transaction['transaction_journal_id']));
return $transaction;
}
/** /**
* Return true if the rule is fired (the collection is larger than zero). * Return true if the rule is fired (the collection is larger than zero).
* *
@@ -542,16 +554,4 @@ class SearchRuleEngine implements RuleEngineInterface
} }
} }
} }
private function addNotes(array $transaction): array
{
$transaction['notes'] = '';
$dbNote = Note::where('noteable_id', (int)$transaction['transaction_journal_id'])->where('noteable_type', TransactionJournal::class)->first(['notes.*']);
if (null !== $dbNote) {
$transaction['notes'] = $dbNote->text;
}
Log::debug(sprintf('Notes of journal #%d filled in.', $transaction['transaction_journal_id']));
return $transaction;
}
} }

View File

@@ -29,7 +29,8 @@ use Symfony\Component\ExpressionLanguage\SyntaxError;
class ActionExpression class ActionExpression
{ {
private static array $NAMES = [ private static array $NAMES
= [
// 'transaction_group_id', // 'transaction_group_id',
// 'user_id', // 'user_id',
// 'user_group_id', // 'user_group_id',
@@ -81,9 +82,8 @@ class ActionExpression
// 'destination_transaction_id', // 'destination_transaction_id',
'notes', 'notes',
]; ];
private ExpressionLanguage $expressionLanguage;
private string $expr; private string $expr;
private ExpressionLanguage $expressionLanguage;
private bool $isExpression; private bool $isExpression;
private ?SyntaxError $validationError; private ?SyntaxError $validationError;
@@ -116,11 +116,6 @@ class ActionExpression
} }
} }
private function lintExpression(string $expr): void
{
$this->expressionLanguage->lint($expr, self::$NAMES);
}
private function lint(): void private function lint(): void
{ {
if (!$this->isExpression) { if (!$this->isExpression) {
@@ -130,9 +125,9 @@ class ActionExpression
$this->lintExpression(substr($this->expr, 1)); $this->lintExpression(substr($this->expr, 1));
} }
public function isValid(): bool private function lintExpression(string $expr): void
{ {
return null === $this->validationError; $this->expressionLanguage->lint($expr, self::$NAMES);
} }
public function getValidationError(): ?SyntaxError public function getValidationError(): ?SyntaxError
@@ -140,11 +135,16 @@ class ActionExpression
return $this->validationError; return $this->validationError;
} }
public function isValid(): bool
{
return null === $this->validationError;
}
private function evaluateExpression(string $expr, array $journal): string private function evaluateExpression(string $expr, array $journal): string
{ {
$result = $this->expressionLanguage->evaluate($expr, $journal); $result = $this->expressionLanguage->evaluate($expr, $journal);
return (string) $result; return (string)$result;
} }
public function evaluate(array $journal): string public function evaluate(array $journal): string

View File

@@ -36,7 +36,7 @@ class ActionExpressionLanguageProvider implements ExpressionFunctionProviderInte
{ {
$function = function ($arguments, $str): string { $function = function ($arguments, $str): string {
if (!is_string($str)) { if (!is_string($str)) {
return (string) $str; return (string)$str;
} }
return strtolower($str.'!'); return strtolower($str.'!');

View File

@@ -41,12 +41,12 @@ use Illuminate\Support\Facades\DB;
class AccountTransformer extends AbstractTransformer class AccountTransformer extends AbstractTransformer
{ {
private array $accountMeta; private array $accountMeta;
private array $lastActivity;
private array $accountTypes; private array $accountTypes;
private array $balances; private array $balances;
private array $convertedBalances; private array $convertedBalances;
private array $currencies; private array $currencies;
private TransactionCurrency $default; private TransactionCurrency $default;
private array $lastActivity;
/** /**
* @throws FireflyException * @throws FireflyException