🤖 Auto commit for release 'develop' on 2025-05-04

This commit is contained in:
JC5
2025-05-04 13:55:42 +02:00
parent 2c96729d76
commit 1001e04b63
136 changed files with 987 additions and 1149 deletions

View File

@@ -1256,16 +1256,16 @@
},
{
"name": "symfony/console",
"version": "v7.2.5",
"version": "v7.2.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
"reference": "e51498ea18570c062e7df29d05a7003585b19b88"
"reference": "0e2e3f38c192e93e622e41ec37f4ca70cfedf218"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/console/zipball/e51498ea18570c062e7df29d05a7003585b19b88",
"reference": "e51498ea18570c062e7df29d05a7003585b19b88",
"url": "https://api.github.com/repos/symfony/console/zipball/0e2e3f38c192e93e622e41ec37f4ca70cfedf218",
"reference": "0e2e3f38c192e93e622e41ec37f4ca70cfedf218",
"shasum": ""
},
"require": {
@@ -1329,7 +1329,7 @@
"terminal"
],
"support": {
"source": "https://github.com/symfony/console/tree/v7.2.5"
"source": "https://github.com/symfony/console/tree/v7.2.6"
},
"funding": [
{
@@ -1345,7 +1345,7 @@
"type": "tidelift"
}
],
"time": "2025-03-12T08:11:12+00:00"
"time": "2025-04-07T19:09:28+00:00"
},
{
"name": "symfony/deprecation-contracts",
@@ -1769,7 +1769,7 @@
},
{
"name": "symfony/polyfill-ctype",
"version": "v1.31.0",
"version": "v1.32.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-ctype.git",
@@ -1828,7 +1828,7 @@
"portable"
],
"support": {
"source": "https://github.com/symfony/polyfill-ctype/tree/v1.31.0"
"source": "https://github.com/symfony/polyfill-ctype/tree/v1.32.0"
},
"funding": [
{
@@ -1848,7 +1848,7 @@
},
{
"name": "symfony/polyfill-intl-grapheme",
"version": "v1.31.0",
"version": "v1.32.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-grapheme.git",
@@ -1906,7 +1906,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.31.0"
"source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.32.0"
},
"funding": [
{
@@ -1926,7 +1926,7 @@
},
{
"name": "symfony/polyfill-intl-normalizer",
"version": "v1.31.0",
"version": "v1.32.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-normalizer.git",
@@ -1987,7 +1987,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.31.0"
"source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.32.0"
},
"funding": [
{
@@ -2007,19 +2007,20 @@
},
{
"name": "symfony/polyfill-mbstring",
"version": "v1.31.0",
"version": "v1.32.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
"reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341"
"reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/85181ba99b2345b0ef10ce42ecac37612d9fd341",
"reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6d857f4d76bd4b343eac26d6b539585d2bc56493",
"reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493",
"shasum": ""
},
"require": {
"ext-iconv": "*",
"php": ">=7.2"
},
"provide": {
@@ -2067,7 +2068,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.31.0"
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.32.0"
},
"funding": [
{
@@ -2083,20 +2084,20 @@
"type": "tidelift"
}
],
"time": "2024-09-09T11:45:10+00:00"
"time": "2024-12-23T08:48:59+00:00"
},
{
"name": "symfony/polyfill-php80",
"version": "v1.31.0",
"version": "v1.32.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php80.git",
"reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8"
"reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/60328e362d4c2c802a54fcbf04f9d3fb892b4cf8",
"reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8",
"url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/0cc9dd0f17f61d8131e7df6b84bd344899fe2608",
"reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608",
"shasum": ""
},
"require": {
@@ -2147,7 +2148,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-php80/tree/v1.31.0"
"source": "https://github.com/symfony/polyfill-php80/tree/v1.32.0"
},
"funding": [
{
@@ -2163,11 +2164,11 @@
"type": "tidelift"
}
],
"time": "2024-09-09T11:45:10+00:00"
"time": "2025-01-02T08:10:11+00:00"
},
{
"name": "symfony/polyfill-php81",
"version": "v1.31.0",
"version": "v1.32.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php81.git",
@@ -2223,7 +2224,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-php81/tree/v1.31.0"
"source": "https://github.com/symfony/polyfill-php81/tree/v1.32.0"
},
"funding": [
{
@@ -2449,16 +2450,16 @@
},
{
"name": "symfony/string",
"version": "v7.2.0",
"version": "v7.2.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
"reference": "446e0d146f991dde3e73f45f2c97a9faad773c82"
"reference": "a214fe7d62bd4df2a76447c67c6b26e1d5e74931"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/string/zipball/446e0d146f991dde3e73f45f2c97a9faad773c82",
"reference": "446e0d146f991dde3e73f45f2c97a9faad773c82",
"url": "https://api.github.com/repos/symfony/string/zipball/a214fe7d62bd4df2a76447c67c6b26e1d5e74931",
"reference": "a214fe7d62bd4df2a76447c67c6b26e1d5e74931",
"shasum": ""
},
"require": {
@@ -2516,7 +2517,7 @@
"utf8"
],
"support": {
"source": "https://github.com/symfony/string/tree/v7.2.0"
"source": "https://github.com/symfony/string/tree/v7.2.6"
},
"funding": [
{
@@ -2532,7 +2533,7 @@
"type": "tidelift"
}
],
"time": "2024-11-13T13:31:26+00:00"
"time": "2025-04-20T20:18:16+00:00"
}
],
"packages-dev": [],

View File

@@ -29,6 +29,7 @@ use FireflyIII\Api\V1\Requests\Data\Export\ExportRequest;
use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Support\Export\ExportDataGenerator;
use Illuminate\Http\Response as LaravelResponse;
use function Safe\date;
/**

View File

@@ -41,7 +41,5 @@ class InvitationCreated extends Event
/**
* Create a new event instance.
*/
public function __construct(public InvitedUser $invitee)
{
}
public function __construct(public InvitedUser $invitee) {}
}

View File

@@ -37,7 +37,5 @@ class DestroyedTransactionLink extends Event
/**
* DestroyedTransactionLink constructor.
*/
public function __construct(private TransactionJournalLink $link)
{
}
public function __construct(private TransactionJournalLink $link) {}
}

View File

@@ -37,7 +37,5 @@ class DetectedNewIPAddress extends Event
/**
* Create a new event instance. This event is triggered when a new user registers.
*/
public function __construct(public User $user)
{
}
public function __construct(public User $user) {}
}

View File

@@ -31,7 +31,5 @@ class Updated
{
use SerializesModels;
public function __construct(public Account $account)
{
}
public function __construct(public Account $account) {}
}

View File

@@ -35,7 +35,5 @@ class Created extends Event
{
use SerializesModels;
public function __construct(public BudgetLimit $budgetLimit)
{
}
public function __construct(public BudgetLimit $budgetLimit) {}
}

View File

@@ -35,7 +35,5 @@ class Deleted extends Event
{
use SerializesModels;
public function __construct(public BudgetLimit $budgetLimit)
{
}
public function __construct(public BudgetLimit $budgetLimit) {}
}

View File

@@ -35,7 +35,5 @@ class Updated extends Event
{
use SerializesModels;
public function __construct(public BudgetLimit $budgetLimit)
{
}
public function __construct(public BudgetLimit $budgetLimit) {}
}

View File

@@ -38,7 +38,5 @@ class RegisteredUser extends Event
/**
* Create a new event instance. This event is triggered when a new user registers.
*/
public function __construct(public OwnerNotifiable $owner, public User $user)
{
}
public function __construct(public OwnerNotifiable $owner, public User $user) {}
}

View File

@@ -38,7 +38,5 @@ class RequestedVersionCheckStatus extends Event
* Create a new event instance. This event is triggered when Firefly III wants to know
* what the deal is with the version checker.
*/
public function __construct(public User $user)
{
}
public function __construct(public User $user) {}
}

View File

@@ -30,7 +30,5 @@ class UnknownUserAttemptedLogin
{
use SerializesModels;
public function __construct(public string $address)
{
}
public function __construct(public string $address) {}
}

View File

@@ -37,7 +37,5 @@ class StoredAccount extends Event
/**
* Create a new event instance.
*/
public function __construct(public Account $account)
{
}
public function __construct(public Account $account) {}
}

View File

@@ -37,7 +37,5 @@ class StoredTransactionGroup extends Event
/**
* Create a new event instance.
*/
public function __construct(public TransactionGroup $transactionGroup, public bool $applyRules, public bool $fireWebhooks)
{
}
public function __construct(public TransactionGroup $transactionGroup, public bool $applyRules, public bool $fireWebhooks) {}
}

View File

@@ -39,7 +39,5 @@ class TriggeredAuditLog extends Event
*
* @SuppressWarnings("PHPMD.ExcessiveParameterList")
*/
public function __construct(public Model $changer, public Model $auditable, public string $field, public mixed $before, public mixed $after)
{
}
public function __construct(public Model $changer, public Model $auditable, public string $field, public mixed $before, public mixed $after) {}
}

View File

@@ -37,7 +37,5 @@ class UpdatedAccount extends Event
/**
* Create a new event instance.
*/
public function __construct(public Account $account)
{
}
public function __construct(public Account $account) {}
}

View File

@@ -37,7 +37,5 @@ class UpdatedTransactionGroup extends Event
/**
* Create a new event instance.
*/
public function __construct(public TransactionGroup $transactionGroup, public bool $applyRules, public bool $fireWebhooks)
{
}
public function __construct(public TransactionGroup $transactionGroup, public bool $applyRules, public bool $fireWebhooks) {}
}

View File

@@ -37,7 +37,5 @@ class UserChangedEmail extends Event
/**
* UserChangedEmail constructor.
*/
public function __construct(public User $user, public string $newEmail, public string $oldEmail)
{
}
public function __construct(public User $user, public string $newEmail, public string $oldEmail) {}
}

View File

@@ -34,7 +34,5 @@ class WarnUserAboutBill extends Event
{
use SerializesModels;
public function __construct(public Bill $bill, public string $field, public int $diff)
{
}
public function __construct(public Bill $bill, public string $field, public int $diff) {}
}

View File

@@ -27,7 +27,6 @@ namespace FireflyIII\Handlers\Events;
use FireflyIII\Enums\WebhookTrigger;
use FireflyIII\Events\DestroyedTransactionGroup;
use FireflyIII\Events\RequestedSendWebhookMessages;
use FireflyIII\Events\UpdatedTransactionGroup;
use FireflyIII\Generator\Webhook\MessageGeneratorInterface;
use FireflyIII\Support\Models\AccountBalanceCalculator;
use Illuminate\Support\Collection;

View File

@@ -136,7 +136,8 @@ class UpdatedGroupEventHandler
->orderBy('transaction_journals.order', 'ASC')
->orderBy('transaction_journals.id', 'DESC')
->orderBy('transaction_journals.description', 'DESC')
->first();
->first()
;
if (null === $first) {
Log::warning(sprintf('Group #%d has no transaction journals.', $group->id));
@@ -156,12 +157,14 @@ class UpdatedGroupEventHandler
if (TransactionTypeEnum::TRANSFER->value === $type || TransactionTypeEnum::WITHDRAWAL->value === $type) {
// set all source transactions to source account:
Transaction::whereIn('transaction_journal_id', $all)
->where('amount', '<', 0)->update(['account_id' => $sourceAccount->id]);
->where('amount', '<', 0)->update(['account_id' => $sourceAccount->id])
;
}
if (TransactionTypeEnum::TRANSFER->value === $type || TransactionTypeEnum::DEPOSIT->value === $type) {
// set all destination transactions to destination account:
Transaction::whereIn('transaction_journal_id', $all)
->where('amount', '>', 0)->update(['account_id' => $destAccount->id]);
->where('amount', '>', 0)->update(['account_id' => $destAccount->id])
;
}
}

View File

@@ -34,6 +34,7 @@ use Illuminate\Database\Eloquent\Builder as EloquentBuilder;
use Illuminate\Database\Query\JoinClause;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use FireflyIII\Models\TransactionJournal;
/**
* Trait MetaCollection
@@ -492,7 +493,7 @@ trait MetaCollection
'notes',
static function (JoinClause $join): void {
$join->on('notes.noteable_id', '=', 'transaction_journals.id');
$join->where('notes.noteable_type', '=', \FireflyIII\Models\TransactionJournal::class);
$join->where('notes.noteable_type', '=', TransactionJournal::class);
$join->whereNull('notes.deleted_at');
}
);

View File

@@ -43,9 +43,7 @@ class Authenticate
* The authentication factory instance.
*/
protected Auth $auth
)
{
}
) {}
/**
* Handle an incoming request.

View File

@@ -45,7 +45,7 @@ class SecureHeaders
// generate and share nonce.
$nonce = base64_encode(random_bytes(16));
Vite::useCspNonce($nonce);
if (class_exists(\Barryvdh\Debugbar\Facades\Debugbar::class)) {
if (class_exists(Debugbar::class)) {
Debugbar::getJavascriptRenderer()->setCspNonce($nonce);
}
app('view')->share('JS_NONCE', $nonce);

View File

@@ -45,9 +45,7 @@ class SendWebhookMessage implements ShouldQueue
/**
* Create a new job instance.
*/
public function __construct(private WebhookMessage $message)
{
}
public function __construct(private WebhookMessage $message) {}
/**
* Execute the job.

View File

@@ -40,9 +40,7 @@ class BillWarningMail extends Mailable
/**
* ConfirmEmailChangeMail constructor.
*/
public function __construct(public Bill $bill, public string $field, public int $diff)
{
}
public function __construct(public Bill $bill, public string $field, public int $diff) {}
/**
* Build the message.

View File

@@ -40,9 +40,7 @@ class ConfirmEmailChangeMail extends Mailable
/**
* ConfirmEmailChangeMail constructor.
*/
public function __construct(public string $newEmail, public string $oldEmail, public string $url)
{
}
public function __construct(public string $newEmail, public string $oldEmail, public string $url) {}
/**
* Build the message.

View File

@@ -43,9 +43,7 @@ class NewIPAddressWarningMail extends Mailable
/**
* OAuthTokenCreatedMail constructor.
*/
public function __construct(public string $ipAddress)
{
}
public function __construct(public string $ipAddress) {}
/**
* Build the message.

View File

@@ -40,9 +40,7 @@ class OAuthTokenCreatedMail extends Mailable
/**
* OAuthTokenCreatedMail constructor.
*/
public function __construct(public Client $client)
{
}
public function __construct(public Client $client) {}
/**
* Build the message.

View File

@@ -40,9 +40,7 @@ class RegisteredUser extends Mailable
/**
* Create a new message instance.
*/
public function __construct(public string $address)
{
}
public function __construct(public string $address) {}
/**
* Build the message.

View File

@@ -45,9 +45,7 @@ class ReportNewJournalsMail extends Mailable
/**
* ConfirmEmailChangeMail constructor.
*/
public function __construct(public Collection $groups)
{
}
public function __construct(public Collection $groups) {}
/**
* Build the message.

View File

@@ -39,9 +39,7 @@ class RequestedNewPassword extends Mailable
/**
* RequestedNewPassword constructor.
*/
public function __construct(public string $url)
{
}
public function __construct(public string $url) {}
/**
* Build the message.

View File

@@ -38,9 +38,7 @@ class UndoEmailChangeMail extends Mailable
/**
* UndoEmailChangeMail constructor.
*/
public function __construct(public string $newEmail, public string $oldEmail, public string $url)
{
}
public function __construct(public string $newEmail, public string $oldEmail, public string $url) {}
/**
* Build the message.

View File

@@ -41,9 +41,7 @@ class UnknownUserLoginAttempt extends Notification
{
use Queueable;
public function __construct(private string $address)
{
}
public function __construct(private string $address) {}
/**
* @SuppressWarnings("PHPMD.UnusedFormalParameter")

View File

@@ -45,9 +45,7 @@ class UserInvitation extends Notification
{
use Queueable;
public function __construct(private InvitedUser $invitee)
{
}
public function __construct(private InvitedUser $invitee) {}
/**
* @SuppressWarnings("PHPMD.UnusedFormalParameter")

View File

@@ -45,9 +45,7 @@ class UserRegistration extends Notification
{
use Queueable;
public function __construct(private User $user)
{
}
public function __construct(private User $user) {}
/**
* @SuppressWarnings("PHPMD.UnusedFormalParameter")

View File

@@ -42,9 +42,7 @@ class VersionCheckResult extends Notification
{
use Queueable;
public function __construct(private string $message)
{
}
public function __construct(private string $message) {}
/**
* @SuppressWarnings("PHPMD.UnusedFormalParameter")

View File

@@ -40,9 +40,7 @@ class DisabledMFANotification extends Notification
{
use Queueable;
public function __construct(private User $user)
{
}
public function __construct(private User $user) {}
/**
* @SuppressWarnings("PHPMD.UnusedFormalParameter")

View File

@@ -40,9 +40,7 @@ class EnabledMFANotification extends Notification
{
use Queueable;
public function __construct(private User $user)
{
}
public function __construct(private User $user) {}
/**
* @SuppressWarnings("PHPMD.UnusedFormalParameter")

View File

@@ -40,9 +40,7 @@ class MFABackupFewLeftNotification extends Notification
{
use Queueable;
public function __construct(private User $user, private int $count)
{
}
public function __construct(private User $user, private int $count) {}
/**
* @SuppressWarnings("PHPMD.UnusedFormalParameter")

View File

@@ -40,9 +40,7 @@ class MFABackupNoLeftNotification extends Notification
{
use Queueable;
public function __construct(private User $user)
{
}
public function __construct(private User $user) {}
/**
* @SuppressWarnings("PHPMD.UnusedFormalParameter")

View File

@@ -40,9 +40,7 @@ class MFAManyFailedAttemptsNotification extends Notification
{
use Queueable;
public function __construct(private User $user, private int $count)
{
}
public function __construct(private User $user, private int $count) {}
public function toArray(User $notifiable): array
{

View File

@@ -40,9 +40,7 @@ class MFAUsedBackupCodeNotification extends Notification
{
use Queueable;
public function __construct(private User $user)
{
}
public function __construct(private User $user) {}
/**
* @SuppressWarnings("PHPMD.UnusedFormalParameter")

View File

@@ -40,9 +40,7 @@ class NewBackupCodesNotification extends Notification
{
use Queueable;
public function __construct(private User $user)
{
}
public function __construct(private User $user) {}
/**
* @SuppressWarnings("PHPMD.UnusedFormalParameter")

View File

@@ -41,9 +41,7 @@ class UserFailedLoginAttempt extends Notification
{
use Queueable;
public function __construct(private User $user)
{
}
public function __construct(private User $user) {}
public function toArray(User $notifiable): array
{

View File

@@ -42,9 +42,7 @@ class BillReminder extends Notification
{
use Queueable;
public function __construct(private Bill $bill, private string $field, private int $diff)
{
}
public function __construct(private Bill $bill, private string $field, private int $diff) {}
/**
* @SuppressWarnings("PHPMD.UnusedFormalParameter")

View File

@@ -36,9 +36,7 @@ class TransactionCreation extends Notification
{
use Queueable;
public function __construct(private array $collection)
{
}
public function __construct(private array $collection) {}
/**
* @SuppressWarnings("PHPMD.UnusedFormalParameter")

View File

@@ -43,9 +43,7 @@ class UserNewPassword extends Notification
{
use Queueable;
public function __construct(private string $url)
{
}
public function __construct(private string $url) {}
/**
* @SuppressWarnings("PHPMD.UnusedFormalParameter")

View File

@@ -63,11 +63,11 @@ class FireflySessionProvider extends ServiceProvider
{
$this->app->singleton(
'session.store',
static fn($app) =>
static fn ($app)
// First, we will create the session manager which is responsible for the
// creation of the various session drivers when they are needed by the
// application instance, and will resolve them on a lazy load basis.
$app->make('session')->driver()
=> $app->make('session')->driver()
);
}
}

View File

@@ -79,9 +79,9 @@ class WebhookRepository implements WebhookRepositoryInterface, UserGroupInterfac
->where('webhook_messages.errored', 0)
->get(['webhook_messages.*'])
->filter(
static fn(WebhookMessage $message) =>
static fn (WebhookMessage $message)
// @phpstan-ignore-line
$message->webhookAttempts()->count() <= 2
=> $message->webhookAttempts()->count() <= 2
)->splice(0, 3)
;
}

View File

@@ -45,9 +45,7 @@ class BelongsUserGroup implements ValidationRule
/**
* Create a new rule instance.
*/
public function __construct(private readonly UserGroup $userGroup)
{
}
public function __construct(private readonly UserGroup $userGroup) {}
public function validate(string $attribute, mixed $value, \Closure $fail): void
{

View File

@@ -34,9 +34,7 @@ use Illuminate\Contracts\Validation\ValidationRule;
*/
class IsDefaultUserGroupName implements ValidationRule
{
public function __construct(private readonly UserGroup $userGroup)
{
}
public function __construct(private readonly UserGroup $userGroup) {}
/**
* @SuppressWarnings("PHPMD.UnusedFormalParameter")

View File

@@ -28,9 +28,7 @@ use Illuminate\Contracts\Validation\ValidationRule;
class IsFilterValueIn implements ValidationRule
{
public function __construct(private readonly string $key, private readonly array $values)
{
}
public function __construct(private readonly string $key, private readonly array $values) {}
/**
* @SuppressWarnings("PHPMD.UnusedFormalParameter")

View File

@@ -33,9 +33,7 @@ class IsValidZeroOrMoreAmount implements ValidationRule
{
use ValidatesAmountsTrait;
public function __construct(private bool $nullable = false)
{
}
public function __construct(private bool $nullable = false) {}
/**
* @SuppressWarnings("PHPMD.UnusedFormalParameter")

View File

@@ -78,7 +78,8 @@ class AccountBalanceCalculator
->orderBy('transaction_journals.order', 'desc')
->orderBy('transaction_journals.id', 'asc')
->orderBy('transaction_journals.description', 'asc')
->orderBy('transactions.amount', 'asc');
->orderBy('transactions.amount', 'asc')
;
if ($accounts->count() > 0) {
$query->whereIn('transactions.account_id', $accounts->pluck('id')->toArray());
}
@@ -137,7 +138,8 @@ class AccountBalanceCalculator
->orderBy('transaction_journals.id', 'DESC')
->orderBy('transaction_journals.description', 'DESC')
->orderBy('transactions.amount', 'DESC')
->where('transactions.account_id', $accountId);
->where('transactions.account_id', $accountId)
;
$notBefore->startOfDay();
$query->where('transaction_journals.date', '<', $notBefore);

View File

@@ -39,9 +39,7 @@ class AddTag implements ActionInterface
/**
* TriggerInterface constructor.
*/
public function __construct(private readonly RuleAction $action)
{
}
public function __construct(private readonly RuleAction $action) {}
public function actOnArray(array $journal): bool
{

View File

@@ -40,9 +40,7 @@ class AppendDescription implements ActionInterface
/**
* TriggerInterface constructor.
*/
public function __construct(private RuleAction $action)
{
}
public function __construct(private RuleAction $action) {}
public function actOnArray(array $journal): bool
{

View File

@@ -42,9 +42,7 @@ class AppendDescriptionToNotes implements ActionInterface
/**
* TriggerInterface constructor.
*/
public function __construct(private RuleAction $action)
{
}
public function __construct(private RuleAction $action) {}
public function actOnArray(array $journal): bool
{

View File

@@ -40,9 +40,7 @@ class AppendNotes implements ActionInterface
/**
* TriggerInterface constructor.
*/
public function __construct(private RuleAction $action)
{
}
public function __construct(private RuleAction $action) {}
public function actOnArray(array $journal): bool
{

View File

@@ -44,9 +44,7 @@ class AppendNotesToDescription implements ActionInterface
/**
* TriggerInterface constructor.
*/
public function __construct(private RuleAction $action)
{
}
public function __construct(private RuleAction $action) {}
public function actOnArray(array $journal): bool
{

View File

@@ -37,9 +37,7 @@ class ClearBudget implements ActionInterface
/**
* TriggerInterface constructor.
*/
public function __construct(private readonly RuleAction $action)
{
}
public function __construct(private readonly RuleAction $action) {}
public function actOnArray(array $journal): bool
{

View File

@@ -37,9 +37,7 @@ class ClearCategory implements ActionInterface
/**
* TriggerInterface constructor.
*/
public function __construct(private readonly RuleAction $action)
{
}
public function __construct(private readonly RuleAction $action) {}
public function actOnArray(array $journal): bool
{

View File

@@ -38,9 +38,7 @@ class ClearNotes implements ActionInterface
/**
* TriggerInterface constructor.
*/
public function __construct(private readonly RuleAction $action)
{
}
public function __construct(private readonly RuleAction $action) {}
public function actOnArray(array $journal): bool
{

View File

@@ -46,9 +46,7 @@ class ConvertToDeposit implements ActionInterface
/**
* TriggerInterface constructor.
*/
public function __construct(private readonly RuleAction $action)
{
}
public function __construct(private readonly RuleAction $action) {}
public function actOnArray(array $journal): bool
{

View File

@@ -45,9 +45,7 @@ class ConvertToTransfer implements ActionInterface
/**
* TriggerInterface constructor.
*/
public function __construct(private readonly RuleAction $action)
{
}
public function __construct(private readonly RuleAction $action) {}
/**
* @SuppressWarnings("PHPMD.ExcessiveMethodLength")

View File

@@ -46,9 +46,7 @@ class ConvertToWithdrawal implements ActionInterface
/**
* TriggerInterface constructor.
*/
public function __construct(private readonly RuleAction $action)
{
}
public function __construct(private readonly RuleAction $action) {}
public function actOnArray(array $journal): bool
{

View File

@@ -38,9 +38,7 @@ class DeleteTransaction implements ActionInterface
/**
* TriggerInterface constructor.
*/
public function __construct(private readonly RuleAction $action)
{
}
public function __construct(private readonly RuleAction $action) {}
public function actOnArray(array $journal): bool
{

View File

@@ -40,9 +40,7 @@ class LinkToBill implements ActionInterface
/**
* TriggerInterface constructor.
*/
public function __construct(private readonly RuleAction $action)
{
}
public function __construct(private readonly RuleAction $action) {}
public function actOnArray(array $journal): bool
{

View File

@@ -39,9 +39,7 @@ class MoveDescriptionToNotes implements ActionInterface
/**
* TriggerInterface constructor.
*/
public function __construct(private readonly RuleAction $action)
{
}
public function __construct(private readonly RuleAction $action) {}
public function actOnArray(array $journal): bool
{

View File

@@ -45,9 +45,7 @@ class MoveNotesToDescription implements ActionInterface
/**
* TriggerInterface constructor.
*/
public function __construct(private RuleAction $action)
{
}
public function __construct(private RuleAction $action) {}
public function actOnArray(array $journal): bool
{

View File

@@ -37,9 +37,7 @@ class PrependDescription implements ActionInterface
/**
* TriggerInterface constructor.
*/
public function __construct(private readonly RuleAction $action)
{
}
public function __construct(private readonly RuleAction $action) {}
public function actOnArray(array $journal): bool
{

View File

@@ -37,9 +37,7 @@ class PrependNotes implements ActionInterface
/**
* TriggerInterface constructor.
*/
public function __construct(private readonly RuleAction $action)
{
}
public function __construct(private readonly RuleAction $action) {}
public function actOnArray(array $journal): bool
{

View File

@@ -37,9 +37,7 @@ class RemoveAllTags implements ActionInterface
/**
* TriggerInterface constructor.
*/
public function __construct(private readonly RuleAction $action)
{
}
public function __construct(private readonly RuleAction $action) {}
public function actOnArray(array $journal): bool
{

View File

@@ -38,9 +38,7 @@ class RemoveTag implements ActionInterface
/**
* TriggerInterface constructor.
*/
public function __construct(private readonly RuleAction $action)
{
}
public function __construct(private readonly RuleAction $action) {}
public function actOnArray(array $journal): bool
{

View File

@@ -38,9 +38,7 @@ class SetAmount implements ActionInterface
/**
* TriggerInterface constructor.
*/
public function __construct(private RuleAction $action)
{
}
public function __construct(private RuleAction $action) {}
public function actOnArray(array $journal): bool
{

View File

@@ -39,9 +39,7 @@ class SetBudget implements ActionInterface
/**
* TriggerInterface constructor.
*/
public function __construct(private readonly RuleAction $action)
{
}
public function __construct(private readonly RuleAction $action) {}
public function actOnArray(array $journal): bool
{

View File

@@ -39,9 +39,7 @@ class SetCategory implements ActionInterface
/**
* TriggerInterface constructor.
*/
public function __construct(private readonly RuleAction $action)
{
}
public function __construct(private readonly RuleAction $action) {}
public function actOnArray(array $journal): bool
{

View File

@@ -39,9 +39,7 @@ class SetDescription implements ActionInterface
/**
* TriggerInterface constructor.
*/
public function __construct(private RuleAction $action)
{
}
public function __construct(private RuleAction $action) {}
public function actOnArray(array $journal): bool
{

View File

@@ -44,9 +44,7 @@ class SetDestinationAccount implements ActionInterface
/**
* TriggerInterface constructor.
*/
public function __construct(private readonly RuleAction $action)
{
}
public function __construct(private readonly RuleAction $action) {}
public function actOnArray(array $journal): bool
{

View File

@@ -42,9 +42,7 @@ class SetDestinationToCashAccount implements ActionInterface
/**
* TriggerInterface constructor.
*/
public function __construct(private readonly RuleAction $action)
{
}
public function __construct(private readonly RuleAction $action) {}
public function actOnArray(array $journal): bool
{

View File

@@ -36,9 +36,7 @@ class SetNotes implements ActionInterface
/**
* TriggerInterface constructor.
*/
public function __construct(private readonly RuleAction $action)
{
}
public function __construct(private readonly RuleAction $action) {}
public function actOnArray(array $journal): bool
{

View File

@@ -44,9 +44,7 @@ class SetSourceAccount implements ActionInterface
/**
* TriggerInterface constructor.
*/
public function __construct(private readonly RuleAction $action)
{
}
public function __construct(private readonly RuleAction $action) {}
public function actOnArray(array $journal): bool
{

View File

@@ -42,9 +42,7 @@ class SetSourceToCashAccount implements ActionInterface
/**
* TriggerInterface constructor.
*/
public function __construct(private readonly RuleAction $action)
{
}
public function __construct(private readonly RuleAction $action) {}
public function actOnArray(array $journal): bool
{

View File

@@ -39,9 +39,7 @@ class SwitchAccounts implements ActionInterface
/**
* TriggerInterface constructor.
*/
public function __construct(private readonly RuleAction $action)
{
}
public function __construct(private readonly RuleAction $action) {}
public function actOnArray(array $journal): bool
{

View File

@@ -40,9 +40,7 @@ class UpdatePiggyBank implements ActionInterface
/**
* TriggerInterface constructor.
*/
public function __construct(private readonly RuleAction $action)
{
}
public function __construct(private readonly RuleAction $action) {}
public function actOnArray(array $journal): bool
{

View File

@@ -78,7 +78,7 @@ return [
'running_balance_column' => env('USE_RUNNING_BALANCE', false),
// see cer.php for exchange rates feature flag.
],
'version' => 'develop/2025-04-28',
'version' => 'develop/2025-05-04',
'api_version' => '2.1.0', // field is no longer used.
'db_version' => 25,

View File

@@ -21,6 +21,8 @@
*/
declare(strict_types=1);
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Session\Store;
return [
/*
@@ -114,8 +116,8 @@ return [
*/
'extra' => [
'Eloquent' => [\Illuminate\Database\Eloquent\Builder::class, \Illuminate\Database\Query\Builder::class],
'Session' => [\Illuminate\Session\Store::class],
'Eloquent' => [Builder::class, Illuminate\Database\Query\Builder::class],
'Session' => [Store::class],
],
'magic' => [

1487
package-lock.json generated

File diff suppressed because it is too large Load Diff