Small code cleanup.

This commit is contained in:
James Cole 2024-03-16 23:06:16 +01:00
parent 1bd3019c16
commit 7224f1be6f
No known key found for this signature in database
GPG Key ID: B49A324B7EAD6D80
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 update(Account $account, array $data): Account;
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
{
use RefreshNotesTrait;
private RuleAction $action;
/**

View File

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

View File

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

View File

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

View File

@ -33,6 +33,7 @@ use FireflyIII\TransactionRules\Traits\RefreshNotesTrait;
class SetAmount implements ActionInterface
{
use RefreshNotesTrait;
private RuleAction $action;
/**
@ -105,6 +106,13 @@ class SetAmount implements ActionInterface
$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
{
/** @var null|Transaction $transaction */
@ -114,11 +122,4 @@ class SetAmount implements ActionInterface
}
$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
{
use RefreshNotesTrait;
private RuleAction $action;
/**

View File

@ -473,6 +473,18 @@ class SearchRuleEngine implements RuleEngineInterface
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).
*
@ -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,63 +29,63 @@ use Symfony\Component\ExpressionLanguage\SyntaxError;
class ActionExpression
{
private static array $NAMES = [
// 'transaction_group_id',
// 'user_id',
// 'user_group_id',
'created_at',
'updated_at',
'transaction_group_title',
'group_created_at',
'group_updated_at',
// 'transaction_journal_id',
// 'transaction_type_id',
'description',
'date',
// 'order',
'transaction_type_type',
// 'source_transaction_id',
'source_account_id',
// 'reconciled',
'amount',
// 'currency_id',
'currency_code',
'currency_name',
'currency_symbol',
'currency_decimal_places',
'foreign_amount',
// 'foreign_currency_id',
'foreign_currency_code',
'foreign_currency_name',
'foreign_currency_symbol',
'foreign_currency_decimal_places',
'destination_account_id',
'source_account_name',
'source_account_iban',
'source_account_type',
'destination_account_name',
'destination_account_iban',
'destination_account_type',
'category_id',
'category_name',
'budget_id',
'budget_name',
'tags',
// 'attachments',
'interest_date',
'payment_date',
'invoice_date',
'book_date',
'due_date',
'process_date',
// 'destination_transaction_id',
'notes',
];
private static array $NAMES
= [
// 'transaction_group_id',
// 'user_id',
// 'user_group_id',
'created_at',
'updated_at',
'transaction_group_title',
'group_created_at',
'group_updated_at',
// 'transaction_journal_id',
// 'transaction_type_id',
'description',
'date',
// 'order',
'transaction_type_type',
// 'source_transaction_id',
'source_account_id',
// 'reconciled',
'amount',
// 'currency_id',
'currency_code',
'currency_name',
'currency_symbol',
'currency_decimal_places',
'foreign_amount',
// 'foreign_currency_id',
'foreign_currency_code',
'foreign_currency_name',
'foreign_currency_symbol',
'foreign_currency_decimal_places',
'destination_account_id',
'source_account_name',
'source_account_iban',
'source_account_type',
'destination_account_name',
'destination_account_iban',
'destination_account_type',
'category_id',
'category_name',
'budget_id',
'budget_name',
'tags',
// 'attachments',
'interest_date',
'payment_date',
'invoice_date',
'book_date',
'due_date',
'process_date',
// 'destination_transaction_id',
'notes',
];
private string $expr;
private ExpressionLanguage $expressionLanguage;
private string $expr;
private bool $isExpression;
private ?SyntaxError $validationError;
private bool $isExpression;
private ?SyntaxError $validationError;
public function __construct(string $expr)
{
@ -116,11 +116,6 @@ class ActionExpression
}
}
private function lintExpression(string $expr): void
{
$this->expressionLanguage->lint($expr, self::$NAMES);
}
private function lint(): void
{
if (!$this->isExpression) {
@ -130,9 +125,9 @@ class ActionExpression
$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
@ -140,11 +135,16 @@ class ActionExpression
return $this->validationError;
}
public function isValid(): bool
{
return null === $this->validationError;
}
private function evaluateExpression(string $expr, array $journal): string
{
$result = $this->expressionLanguage->evaluate($expr, $journal);
return (string) $result;
return (string)$result;
}
public function evaluate(array $journal): string

View File

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

View File

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