diff --git a/.ci/php-cs-fixer/composer.lock b/.ci/php-cs-fixer/composer.lock index e8d67ba02f..4967d366a8 100644 --- a/.ci/php-cs-fixer/composer.lock +++ b/.ci/php-cs-fixer/composer.lock @@ -1256,23 +1256,24 @@ }, { "name": "symfony/console", - "version": "v7.2.6", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "0e2e3f38c192e93e622e41ec37f4ca70cfedf218" + "reference": "66c1440edf6f339fd82ed6c7caa76cb006211b44" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/0e2e3f38c192e93e622e41ec37f4ca70cfedf218", - "reference": "0e2e3f38c192e93e622e41ec37f4ca70cfedf218", + "url": "https://api.github.com/repos/symfony/console/zipball/66c1440edf6f339fd82ed6c7caa76cb006211b44", + "reference": "66c1440edf6f339fd82ed6c7caa76cb006211b44", "shasum": "" }, "require": { "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-mbstring": "~1.0", "symfony/service-contracts": "^2.5|^3", - "symfony/string": "^6.4|^7.0" + "symfony/string": "^7.2" }, "conflict": { "symfony/dependency-injection": "<6.4", @@ -1329,7 +1330,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v7.2.6" + "source": "https://github.com/symfony/console/tree/v7.3.0" }, "funding": [ { @@ -1345,7 +1346,7 @@ "type": "tidelift" } ], - "time": "2025-04-07T19:09:28+00:00" + "time": "2025-05-24T10:34:04+00:00" }, { "name": "symfony/deprecation-contracts", @@ -1416,16 +1417,16 @@ }, { "name": "symfony/event-dispatcher", - "version": "v7.2.0", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "910c5db85a5356d0fea57680defec4e99eb9c8c1" + "reference": "497f73ac996a598c92409b44ac43b6690c4f666d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/910c5db85a5356d0fea57680defec4e99eb9c8c1", - "reference": "910c5db85a5356d0fea57680defec4e99eb9c8c1", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/497f73ac996a598c92409b44ac43b6690c4f666d", + "reference": "497f73ac996a598c92409b44ac43b6690c4f666d", "shasum": "" }, "require": { @@ -1476,7 +1477,7 @@ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v7.2.0" + "source": "https://github.com/symfony/event-dispatcher/tree/v7.3.0" }, "funding": [ { @@ -1492,7 +1493,7 @@ "type": "tidelift" } ], - "time": "2024-09-25T14:21:43+00:00" + "time": "2025-04-22T09:11:45+00:00" }, { "name": "symfony/event-dispatcher-contracts", @@ -1572,7 +1573,7 @@ }, { "name": "symfony/filesystem", - "version": "v7.2.0", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", @@ -1618,7 +1619,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v7.2.0" + "source": "https://github.com/symfony/filesystem/tree/v7.3.0" }, "funding": [ { @@ -1638,16 +1639,16 @@ }, { "name": "symfony/finder", - "version": "v7.2.2", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "87a71856f2f56e4100373e92529eed3171695cfb" + "reference": "ec2344cf77a48253bbca6939aa3d2477773ea63d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/87a71856f2f56e4100373e92529eed3171695cfb", - "reference": "87a71856f2f56e4100373e92529eed3171695cfb", + "url": "https://api.github.com/repos/symfony/finder/zipball/ec2344cf77a48253bbca6939aa3d2477773ea63d", + "reference": "ec2344cf77a48253bbca6939aa3d2477773ea63d", "shasum": "" }, "require": { @@ -1682,7 +1683,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v7.2.2" + "source": "https://github.com/symfony/finder/tree/v7.3.0" }, "funding": [ { @@ -1698,20 +1699,20 @@ "type": "tidelift" } ], - "time": "2024-12-30T19:00:17+00:00" + "time": "2024-12-30T19:00:26+00:00" }, { "name": "symfony/options-resolver", - "version": "v7.2.0", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/options-resolver.git", - "reference": "7da8fbac9dcfef75ffc212235d76b2754ce0cf50" + "reference": "afb9a8038025e5dbc657378bfab9198d75f10fca" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/7da8fbac9dcfef75ffc212235d76b2754ce0cf50", - "reference": "7da8fbac9dcfef75ffc212235d76b2754ce0cf50", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/afb9a8038025e5dbc657378bfab9198d75f10fca", + "reference": "afb9a8038025e5dbc657378bfab9198d75f10fca", "shasum": "" }, "require": { @@ -1749,7 +1750,7 @@ "options" ], "support": { - "source": "https://github.com/symfony/options-resolver/tree/v7.2.0" + "source": "https://github.com/symfony/options-resolver/tree/v7.3.0" }, "funding": [ { @@ -1765,7 +1766,7 @@ "type": "tidelift" } ], - "time": "2024-11-20T11:17:29+00:00" + "time": "2025-04-04T13:12:05+00:00" }, { "name": "symfony/polyfill-ctype", @@ -2244,16 +2245,16 @@ }, { "name": "symfony/process", - "version": "v7.2.5", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "87b7c93e57df9d8e39a093d32587702380ff045d" + "reference": "40c295f2deb408d5e9d2d32b8ba1dd61e36f05af" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/87b7c93e57df9d8e39a093d32587702380ff045d", - "reference": "87b7c93e57df9d8e39a093d32587702380ff045d", + "url": "https://api.github.com/repos/symfony/process/zipball/40c295f2deb408d5e9d2d32b8ba1dd61e36f05af", + "reference": "40c295f2deb408d5e9d2d32b8ba1dd61e36f05af", "shasum": "" }, "require": { @@ -2285,7 +2286,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v7.2.5" + "source": "https://github.com/symfony/process/tree/v7.3.0" }, "funding": [ { @@ -2301,7 +2302,7 @@ "type": "tidelift" } ], - "time": "2025-03-13T12:21:46+00:00" + "time": "2025-04-17T09:11:12+00:00" }, { "name": "symfony/service-contracts", @@ -2388,7 +2389,7 @@ }, { "name": "symfony/stopwatch", - "version": "v7.2.4", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/stopwatch.git", @@ -2430,7 +2431,7 @@ "description": "Provides a way to profile code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/stopwatch/tree/v7.2.4" + "source": "https://github.com/symfony/stopwatch/tree/v7.3.0" }, "funding": [ { @@ -2450,16 +2451,16 @@ }, { "name": "symfony/string", - "version": "v7.2.6", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "a214fe7d62bd4df2a76447c67c6b26e1d5e74931" + "reference": "f3570b8c61ca887a9e2938e85cb6458515d2b125" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/a214fe7d62bd4df2a76447c67c6b26e1d5e74931", - "reference": "a214fe7d62bd4df2a76447c67c6b26e1d5e74931", + "url": "https://api.github.com/repos/symfony/string/zipball/f3570b8c61ca887a9e2938e85cb6458515d2b125", + "reference": "f3570b8c61ca887a9e2938e85cb6458515d2b125", "shasum": "" }, "require": { @@ -2517,7 +2518,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v7.2.6" + "source": "https://github.com/symfony/string/tree/v7.3.0" }, "funding": [ { @@ -2533,7 +2534,7 @@ "type": "tidelift" } ], - "time": "2025-04-20T20:18:16+00:00" + "time": "2025-04-20T20:19:01+00:00" } ], "packages-dev": [], diff --git a/app/Models/Account.php b/app/Models/Account.php index 5465c1e107..683b4a2973 100644 --- a/app/Models/Account.php +++ b/app/Models/Account.php @@ -106,6 +106,7 @@ class Account extends Model ->where('name', 'account_number') ->first() ; + return null !== $metaValue ? $metaValue->data : ''; }); } @@ -122,6 +123,7 @@ class Account extends Model if (AccountTypeEnum::CASH->value === $this->accountType->type) { return ''; } + return $name; }); } @@ -221,6 +223,7 @@ class Account extends Model get: static fn ($value) => (string) $value, ); } + protected function casts(): array { return [ diff --git a/app/Models/AccountMeta.php b/app/Models/AccountMeta.php index 5e3cca85e2..61d8644ff3 100644 --- a/app/Models/AccountMeta.php +++ b/app/Models/AccountMeta.php @@ -45,7 +45,7 @@ class AccountMeta extends Model protected function data(): Attribute { - return Attribute::make(get: fn(mixed $value) => (string) json_decode((string) $value, true), set: fn(mixed $value) => ['data' => json_encode($value)]); + return Attribute::make(get: fn (mixed $value) => (string) json_decode((string) $value, true), set: fn (mixed $value) => ['data' => json_encode($value)]); } protected function casts(): array diff --git a/app/Models/Attachment.php b/app/Models/Attachment.php index b8ba65a49b..2287666db1 100644 --- a/app/Models/Attachment.php +++ b/app/Models/Attachment.php @@ -100,6 +100,7 @@ class Attachment extends Model get: static fn ($value) => (int) $value, ); } + protected function casts(): array { return [ diff --git a/app/Models/AuditLogEntry.php b/app/Models/AuditLogEntry.php index b5b27108af..53773692a1 100644 --- a/app/Models/AuditLogEntry.php +++ b/app/Models/AuditLogEntry.php @@ -58,6 +58,7 @@ class AuditLogEntry extends Model get: static fn ($value) => (int) $value, ); } + protected function casts(): array { return [ diff --git a/app/Models/AvailableBudget.php b/app/Models/AvailableBudget.php index 774900c289..576864a2ea 100644 --- a/app/Models/AvailableBudget.php +++ b/app/Models/AvailableBudget.php @@ -103,6 +103,7 @@ class AvailableBudget extends Model get: static fn ($value) => (int) $value, ); } + protected function casts(): array { return [ diff --git a/app/Models/Bill.php b/app/Models/Bill.php index 9dd230feb3..a0f59bc9d4 100644 --- a/app/Models/Bill.php +++ b/app/Models/Bill.php @@ -185,6 +185,7 @@ class Bill extends Model get: static fn ($value) => (int) $value, ); } + protected function casts(): array { return [ diff --git a/app/Models/Budget.php b/app/Models/Budget.php index e670c69f31..c5c1c29d46 100644 --- a/app/Models/Budget.php +++ b/app/Models/Budget.php @@ -112,6 +112,7 @@ class Budget extends Model get: static fn ($value) => (int) $value, ); } + protected function casts(): array { return [ diff --git a/app/Models/BudgetLimit.php b/app/Models/BudgetLimit.php index 571d750977..3fc20b25af 100644 --- a/app/Models/BudgetLimit.php +++ b/app/Models/BudgetLimit.php @@ -109,6 +109,7 @@ class BudgetLimit extends Model get: static fn ($value) => (int) $value, ); } + protected function casts(): array { return [ diff --git a/app/Models/Category.php b/app/Models/Category.php index c8a47b6611..3e50f448c6 100644 --- a/app/Models/Category.php +++ b/app/Models/Category.php @@ -94,6 +94,7 @@ class Category extends Model { return $this->belongsToMany(Transaction::class, 'category_transaction', 'category_id'); } + protected function casts(): array { return [ diff --git a/app/Models/Configuration.php b/app/Models/Configuration.php index 6cec2053c9..1eeb2007dc 100644 --- a/app/Models/Configuration.php +++ b/app/Models/Configuration.php @@ -41,13 +41,11 @@ class Configuration extends Model /** * TODO can be replaced with native laravel code. * - * @param mixed $value - * * @return mixed */ protected function data(): Attribute { - return Attribute::make(get: fn($value) => json_decode((string) $value), set: fn($value) => ['data' => json_encode($value)]); + return Attribute::make(get: fn ($value) => json_decode((string) $value), set: fn ($value) => ['data' => json_encode($value)]); } protected function casts(): array diff --git a/app/Models/CurrencyExchangeRate.php b/app/Models/CurrencyExchangeRate.php index 3c8d13ceac..f5117715fe 100644 --- a/app/Models/CurrencyExchangeRate.php +++ b/app/Models/CurrencyExchangeRate.php @@ -81,6 +81,7 @@ class CurrencyExchangeRate extends Model get: static fn ($value) => (string) $value, ); } + protected function casts(): array { return [ diff --git a/app/Models/GroupMembership.php b/app/Models/GroupMembership.php index 59cc884d69..830826967e 100644 --- a/app/Models/GroupMembership.php +++ b/app/Models/GroupMembership.php @@ -59,6 +59,7 @@ class GroupMembership extends Model get: static fn ($value) => (int) $value, ); } + protected function casts(): array { return [ diff --git a/app/Models/InvitedUser.php b/app/Models/InvitedUser.php index 82596f72ec..d543d82c47 100644 --- a/app/Models/InvitedUser.php +++ b/app/Models/InvitedUser.php @@ -60,6 +60,7 @@ class InvitedUser extends Model { return $this->belongsTo(User::class); } + protected function casts(): array { return [ diff --git a/app/Models/LinkType.php b/app/Models/LinkType.php index 9a0579dd32..f7b662961c 100644 --- a/app/Models/LinkType.php +++ b/app/Models/LinkType.php @@ -58,6 +58,7 @@ class LinkType extends Model { return $this->hasMany(TransactionJournalLink::class); } + protected function casts(): array { return [ diff --git a/app/Models/Location.php b/app/Models/Location.php index 7762c20e80..ce5744dba9 100644 --- a/app/Models/Location.php +++ b/app/Models/Location.php @@ -72,6 +72,7 @@ class Location extends Model get: static fn ($value) => (int) $value, ); } + protected function casts(): array { return [ diff --git a/app/Models/Note.php b/app/Models/Note.php index c5dcf0f54e..6c8c56653e 100644 --- a/app/Models/Note.php +++ b/app/Models/Note.php @@ -50,6 +50,7 @@ class Note extends Model get: static fn ($value) => (int) $value, ); } + protected function casts(): array { return [ diff --git a/app/Models/ObjectGroup.php b/app/Models/ObjectGroup.php index ec468a545d..d7833412fb 100644 --- a/app/Models/ObjectGroup.php +++ b/app/Models/ObjectGroup.php @@ -96,6 +96,7 @@ class ObjectGroup extends Model get: static fn ($value) => (int) $value, ); } + protected function casts(): array { return [ diff --git a/app/Models/PiggyBank.php b/app/Models/PiggyBank.php index 2f16545ea3..08d5a2563d 100644 --- a/app/Models/PiggyBank.php +++ b/app/Models/PiggyBank.php @@ -140,6 +140,7 @@ class PiggyBank extends Model get: static fn ($value) => (string) $value, ); } + protected function casts(): array { return [ diff --git a/app/Models/PiggyBankEvent.php b/app/Models/PiggyBankEvent.php index 77afbf79ab..733792ffeb 100644 --- a/app/Models/PiggyBankEvent.php +++ b/app/Models/PiggyBankEvent.php @@ -71,6 +71,7 @@ class PiggyBankEvent extends Model get: static fn ($value) => (int) $value, ); } + protected function casts(): array { return [ diff --git a/app/Models/PiggyBankRepetition.php b/app/Models/PiggyBankRepetition.php index a1dcd4dbe8..f0f6125b53 100644 --- a/app/Models/PiggyBankRepetition.php +++ b/app/Models/PiggyBankRepetition.php @@ -94,6 +94,7 @@ class PiggyBankRepetition extends Model get: static fn ($value) => (int) $value, ); } + protected function casts(): array { return [ diff --git a/app/Models/Preference.php b/app/Models/Preference.php index 60fa6fe682..0e282cf1a5 100644 --- a/app/Models/Preference.php +++ b/app/Models/Preference.php @@ -93,6 +93,7 @@ class Preference extends Model { return $this->belongsTo(User::class); } + protected function casts(): array { return [ diff --git a/app/Models/Recurrence.php b/app/Models/Recurrence.php index 7c4ec43141..4e369fca27 100644 --- a/app/Models/Recurrence.php +++ b/app/Models/Recurrence.php @@ -119,6 +119,7 @@ class Recurrence extends Model get: static fn ($value) => (int) $value, ); } + protected function casts(): array { return [ diff --git a/app/Models/RecurrenceMeta.php b/app/Models/RecurrenceMeta.php index 1e1642c68f..7430c942f6 100644 --- a/app/Models/RecurrenceMeta.php +++ b/app/Models/RecurrenceMeta.php @@ -50,6 +50,7 @@ class RecurrenceMeta extends Model get: static fn ($value) => (int) $value, ); } + protected function casts(): array { return [ diff --git a/app/Models/RecurrenceTransaction.php b/app/Models/RecurrenceTransaction.php index 544dd9823a..2c17d52ebb 100644 --- a/app/Models/RecurrenceTransaction.php +++ b/app/Models/RecurrenceTransaction.php @@ -133,6 +133,7 @@ class RecurrenceTransaction extends Model get: static fn ($value) => (int) $value, ); } + protected function casts(): array { return [ diff --git a/app/Models/RecurrenceTransactionMeta.php b/app/Models/RecurrenceTransactionMeta.php index bb644aa8db..a334b9c433 100644 --- a/app/Models/RecurrenceTransactionMeta.php +++ b/app/Models/RecurrenceTransactionMeta.php @@ -50,6 +50,7 @@ class RecurrenceTransactionMeta extends Model get: static fn ($value) => (int) $value, ); } + protected function casts(): array { return [ diff --git a/app/Models/Role.php b/app/Models/Role.php index 2b4b8761e9..b1b3476ca4 100644 --- a/app/Models/Role.php +++ b/app/Models/Role.php @@ -38,6 +38,7 @@ class Role extends Model { return $this->belongsToMany(User::class); } + protected function casts(): array { return [ diff --git a/app/Models/Rule.php b/app/Models/Rule.php index 7609316a4e..5308eae4d5 100644 --- a/app/Models/Rule.php +++ b/app/Models/Rule.php @@ -84,12 +84,9 @@ class Rule extends Model return $this->hasMany(RuleTrigger::class); } - /** - * @param mixed $value - */ protected function description(): Attribute { - return Attribute::make(set: fn($value) => ['description' => e($value)]); + return Attribute::make(set: fn ($value) => ['description' => e($value)]); } public function userGroup(): BelongsTo @@ -110,6 +107,7 @@ class Rule extends Model get: static fn ($value) => (int) $value, ); } + protected function casts(): array { return [ diff --git a/app/Models/RuleAction.php b/app/Models/RuleAction.php index 2725653f18..60ebc7254f 100644 --- a/app/Models/RuleAction.php +++ b/app/Models/RuleAction.php @@ -79,6 +79,7 @@ class RuleAction extends Model get: static fn ($value) => (int) $value, ); } + protected function casts(): array { return [ diff --git a/app/Models/RuleGroup.php b/app/Models/RuleGroup.php index 6a56c78e9b..1a25031a7e 100644 --- a/app/Models/RuleGroup.php +++ b/app/Models/RuleGroup.php @@ -80,6 +80,7 @@ class RuleGroup extends Model get: static fn ($value) => (int) $value, ); } + protected function casts(): array { return [ diff --git a/app/Models/RuleTrigger.php b/app/Models/RuleTrigger.php index 71f16e75c1..5c9f4fca2e 100644 --- a/app/Models/RuleTrigger.php +++ b/app/Models/RuleTrigger.php @@ -52,6 +52,7 @@ class RuleTrigger extends Model get: static fn ($value) => (int) $value, ); } + protected function casts(): array { return [ diff --git a/app/Models/Tag.php b/app/Models/Tag.php index ce55c8cec7..6a740a3730 100644 --- a/app/Models/Tag.php +++ b/app/Models/Tag.php @@ -86,6 +86,7 @@ class Tag extends Model { return $this->belongsToMany(TransactionJournal::class); } + protected function casts(): array { return [ diff --git a/app/Models/Transaction.php b/app/Models/Transaction.php index a68bf51480..a563e3656f 100644 --- a/app/Models/Transaction.php +++ b/app/Models/Transaction.php @@ -200,6 +200,7 @@ class Transaction extends Model get: static fn ($value) => (int) $value, ); } + protected function casts(): array { return [ diff --git a/app/Models/TransactionCurrency.php b/app/Models/TransactionCurrency.php index 99342bc5df..4f93717955 100644 --- a/app/Models/TransactionCurrency.php +++ b/app/Models/TransactionCurrency.php @@ -107,6 +107,7 @@ class TransactionCurrency extends Model get: static fn ($value) => (int) $value, ); } + protected function casts(): array { return [ diff --git a/app/Models/TransactionGroup.php b/app/Models/TransactionGroup.php index 5d9870ee72..a09af2b231 100644 --- a/app/Models/TransactionGroup.php +++ b/app/Models/TransactionGroup.php @@ -85,6 +85,7 @@ class TransactionGroup extends Model { return $this->belongsTo(UserGroup::class); } + protected function casts(): array { return [ diff --git a/app/Models/TransactionJournal.php b/app/Models/TransactionJournal.php index 64621f0c52..609d7dc353 100644 --- a/app/Models/TransactionJournal.php +++ b/app/Models/TransactionJournal.php @@ -244,6 +244,7 @@ class TransactionJournal extends Model get: static fn ($value) => (int) $value, ); } + protected function casts(): array { return [ diff --git a/app/Models/TransactionJournalLink.php b/app/Models/TransactionJournalLink.php index 4263db2d8e..92adb6a7e2 100644 --- a/app/Models/TransactionJournalLink.php +++ b/app/Models/TransactionJournalLink.php @@ -103,6 +103,7 @@ class TransactionJournalLink extends Model get: static fn ($value) => (int) $value, ); } + protected function casts(): array { return [ diff --git a/app/Models/TransactionJournalMeta.php b/app/Models/TransactionJournalMeta.php index e82a372c1f..144bc79e82 100644 --- a/app/Models/TransactionJournalMeta.php +++ b/app/Models/TransactionJournalMeta.php @@ -40,15 +40,15 @@ class TransactionJournalMeta extends Model protected $fillable = ['transaction_journal_id', 'name', 'data', 'hash']; protected $table = 'journal_meta'; + /** - * @param mixed $value - * * @return mixed */ protected function data(): Attribute { - return Attribute::make(get: fn($value) => json_decode((string) $value, false), set: function ($value) { - $data = json_encode($value); + return Attribute::make(get: fn ($value) => json_decode((string) $value, false), set: function ($value) { + $data = json_encode($value); + return ['data' => $data, 'hash' => hash('sha256', (string) $data)]; }); } @@ -64,6 +64,7 @@ class TransactionJournalMeta extends Model get: static fn ($value) => (int) $value, ); } + protected function casts(): array { return [ diff --git a/app/Models/WebhookMessage.php b/app/Models/WebhookMessage.php index 2a4bc459d1..77d6a0642c 100644 --- a/app/Models/WebhookMessage.php +++ b/app/Models/WebhookMessage.php @@ -85,6 +85,7 @@ class WebhookMessage extends Model get: static fn ($value) => (int) $value, ); } + protected function casts(): array { return [ diff --git a/app/User.php b/app/User.php index a14e3d310c..fd7221c9ef 100644 --- a/app/User.php +++ b/app/User.php @@ -532,6 +532,7 @@ class User extends Authenticatable { return $this->hasMany(Webhook::class); } + protected function casts(): array { return [ diff --git a/composer.lock b/composer.lock index 9089bdf6ed..4f70022618 100644 --- a/composer.lock +++ b/composer.lock @@ -6423,23 +6423,23 @@ }, { "name": "symfony/cache", - "version": "v7.2.6", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/cache.git", - "reference": "8b49dde3f5a5e9867595a3a269977f78418d75ee" + "reference": "c4b217b578c11ec764867aa0c73e602c602965de" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache/zipball/8b49dde3f5a5e9867595a3a269977f78418d75ee", - "reference": "8b49dde3f5a5e9867595a3a269977f78418d75ee", + "url": "https://api.github.com/repos/symfony/cache/zipball/c4b217b578c11ec764867aa0c73e602c602965de", + "reference": "c4b217b578c11ec764867aa0c73e602c602965de", "shasum": "" }, "require": { "php": ">=8.2", "psr/cache": "^2.0|^3.0", "psr/log": "^1.1|^2|^3", - "symfony/cache-contracts": "^2.5|^3", + "symfony/cache-contracts": "^3.6", "symfony/deprecation-contracts": "^2.5|^3.0", "symfony/service-contracts": "^2.5|^3", "symfony/var-exporter": "^6.4|^7.0" @@ -6501,7 +6501,7 @@ "psr6" ], "support": { - "source": "https://github.com/symfony/cache/tree/v7.2.6" + "source": "https://github.com/symfony/cache/tree/v7.3.0" }, "funding": [ { @@ -6517,7 +6517,7 @@ "type": "tidelift" } ], - "time": "2025-04-08T09:06:23+00:00" + "time": "2025-05-06T19:00:13+00:00" }, { "name": "symfony/cache-contracts", @@ -6597,7 +6597,7 @@ }, { "name": "symfony/clock", - "version": "v7.2.0", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/clock.git", @@ -6651,7 +6651,7 @@ "time" ], "support": { - "source": "https://github.com/symfony/clock/tree/v7.2.0" + "source": "https://github.com/symfony/clock/tree/v7.3.0" }, "funding": [ { @@ -6671,23 +6671,24 @@ }, { "name": "symfony/console", - "version": "v7.2.6", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "0e2e3f38c192e93e622e41ec37f4ca70cfedf218" + "reference": "66c1440edf6f339fd82ed6c7caa76cb006211b44" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/0e2e3f38c192e93e622e41ec37f4ca70cfedf218", - "reference": "0e2e3f38c192e93e622e41ec37f4ca70cfedf218", + "url": "https://api.github.com/repos/symfony/console/zipball/66c1440edf6f339fd82ed6c7caa76cb006211b44", + "reference": "66c1440edf6f339fd82ed6c7caa76cb006211b44", "shasum": "" }, "require": { "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-mbstring": "~1.0", "symfony/service-contracts": "^2.5|^3", - "symfony/string": "^6.4|^7.0" + "symfony/string": "^7.2" }, "conflict": { "symfony/dependency-injection": "<6.4", @@ -6744,7 +6745,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v7.2.6" + "source": "https://github.com/symfony/console/tree/v7.3.0" }, "funding": [ { @@ -6760,11 +6761,11 @@ "type": "tidelift" } ], - "time": "2025-04-07T19:09:28+00:00" + "time": "2025-05-24T10:34:04+00:00" }, { "name": "symfony/css-selector", - "version": "v7.2.0", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", @@ -6809,7 +6810,7 @@ "description": "Converts CSS selectors to XPath expressions", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/css-selector/tree/v7.2.0" + "source": "https://github.com/symfony/css-selector/tree/v7.3.0" }, "funding": [ { @@ -6896,16 +6897,16 @@ }, { "name": "symfony/error-handler", - "version": "v7.2.5", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "102be5e6a8e4f4f3eb3149bcbfa33a80d1ee374b" + "reference": "cf68d225bc43629de4ff54778029aee6dc191b83" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/102be5e6a8e4f4f3eb3149bcbfa33a80d1ee374b", - "reference": "102be5e6a8e4f4f3eb3149bcbfa33a80d1ee374b", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/cf68d225bc43629de4ff54778029aee6dc191b83", + "reference": "cf68d225bc43629de4ff54778029aee6dc191b83", "shasum": "" }, "require": { @@ -6918,9 +6919,11 @@ "symfony/http-kernel": "<6.4" }, "require-dev": { + "symfony/console": "^6.4|^7.0", "symfony/deprecation-contracts": "^2.5|^3", "symfony/http-kernel": "^6.4|^7.0", - "symfony/serializer": "^6.4|^7.0" + "symfony/serializer": "^6.4|^7.0", + "symfony/webpack-encore-bundle": "^1.0|^2.0" }, "bin": [ "Resources/bin/patch-type-declarations" @@ -6951,7 +6954,7 @@ "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/error-handler/tree/v7.2.5" + "source": "https://github.com/symfony/error-handler/tree/v7.3.0" }, "funding": [ { @@ -6967,20 +6970,20 @@ "type": "tidelift" } ], - "time": "2025-03-03T07:12:39+00:00" + "time": "2025-05-29T07:19:49+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v7.2.0", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "910c5db85a5356d0fea57680defec4e99eb9c8c1" + "reference": "497f73ac996a598c92409b44ac43b6690c4f666d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/910c5db85a5356d0fea57680defec4e99eb9c8c1", - "reference": "910c5db85a5356d0fea57680defec4e99eb9c8c1", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/497f73ac996a598c92409b44ac43b6690c4f666d", + "reference": "497f73ac996a598c92409b44ac43b6690c4f666d", "shasum": "" }, "require": { @@ -7031,7 +7034,7 @@ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v7.2.0" + "source": "https://github.com/symfony/event-dispatcher/tree/v7.3.0" }, "funding": [ { @@ -7047,7 +7050,7 @@ "type": "tidelift" } ], - "time": "2024-09-25T14:21:43+00:00" + "time": "2025-04-22T09:11:45+00:00" }, { "name": "symfony/event-dispatcher-contracts", @@ -7127,7 +7130,7 @@ }, { "name": "symfony/expression-language", - "version": "v7.2.0", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/expression-language.git", @@ -7171,7 +7174,7 @@ "description": "Provides an engine that can compile and evaluate expressions", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/expression-language/tree/v7.2.0" + "source": "https://github.com/symfony/expression-language/tree/v7.3.0" }, "funding": [ { @@ -7191,16 +7194,16 @@ }, { "name": "symfony/finder", - "version": "v7.2.2", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "87a71856f2f56e4100373e92529eed3171695cfb" + "reference": "ec2344cf77a48253bbca6939aa3d2477773ea63d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/87a71856f2f56e4100373e92529eed3171695cfb", - "reference": "87a71856f2f56e4100373e92529eed3171695cfb", + "url": "https://api.github.com/repos/symfony/finder/zipball/ec2344cf77a48253bbca6939aa3d2477773ea63d", + "reference": "ec2344cf77a48253bbca6939aa3d2477773ea63d", "shasum": "" }, "require": { @@ -7235,7 +7238,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v7.2.2" + "source": "https://github.com/symfony/finder/tree/v7.3.0" }, "funding": [ { @@ -7251,20 +7254,20 @@ "type": "tidelift" } ], - "time": "2024-12-30T19:00:17+00:00" + "time": "2024-12-30T19:00:26+00:00" }, { "name": "symfony/http-client", - "version": "v7.2.4", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/http-client.git", - "reference": "78981a2ffef6437ed92d4d7e2a86a82f256c6dc6" + "reference": "57e4fb86314015a695a750ace358d07a7e37b8a9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client/zipball/78981a2ffef6437ed92d4d7e2a86a82f256c6dc6", - "reference": "78981a2ffef6437ed92d4d7e2a86a82f256c6dc6", + "url": "https://api.github.com/repos/symfony/http-client/zipball/57e4fb86314015a695a750ace358d07a7e37b8a9", + "reference": "57e4fb86314015a695a750ace358d07a7e37b8a9", "shasum": "" }, "require": { @@ -7330,7 +7333,7 @@ "http" ], "support": { - "source": "https://github.com/symfony/http-client/tree/v7.2.4" + "source": "https://github.com/symfony/http-client/tree/v7.3.0" }, "funding": [ { @@ -7346,7 +7349,7 @@ "type": "tidelift" } ], - "time": "2025-02-13T10:27:23+00:00" + "time": "2025-05-02T08:23:16+00:00" }, { "name": "symfony/http-client-contracts", @@ -7428,16 +7431,16 @@ }, { "name": "symfony/http-foundation", - "version": "v7.2.6", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "6023ec7607254c87c5e69fb3558255aca440d72b" + "reference": "4236baf01609667d53b20371486228231eb135fd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/6023ec7607254c87c5e69fb3558255aca440d72b", - "reference": "6023ec7607254c87c5e69fb3558255aca440d72b", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/4236baf01609667d53b20371486228231eb135fd", + "reference": "4236baf01609667d53b20371486228231eb135fd", "shasum": "" }, "require": { @@ -7454,6 +7457,7 @@ "doctrine/dbal": "^3.6|^4", "predis/predis": "^1.1|^2.0", "symfony/cache": "^6.4.12|^7.1.5", + "symfony/clock": "^6.4|^7.0", "symfony/dependency-injection": "^6.4|^7.0", "symfony/expression-language": "^6.4|^7.0", "symfony/http-kernel": "^6.4|^7.0", @@ -7486,7 +7490,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v7.2.6" + "source": "https://github.com/symfony/http-foundation/tree/v7.3.0" }, "funding": [ { @@ -7502,20 +7506,20 @@ "type": "tidelift" } ], - "time": "2025-04-09T08:14:01+00:00" + "time": "2025-05-12T14:48:23+00:00" }, { "name": "symfony/http-kernel", - "version": "v7.2.6", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "f9dec01e6094a063e738f8945ef69c0cfcf792ec" + "reference": "ac7b8e163e8c83dce3abcc055a502d4486051a9f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/f9dec01e6094a063e738f8945ef69c0cfcf792ec", - "reference": "f9dec01e6094a063e738f8945ef69c0cfcf792ec", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/ac7b8e163e8c83dce3abcc055a502d4486051a9f", + "reference": "ac7b8e163e8c83dce3abcc055a502d4486051a9f", "shasum": "" }, "require": { @@ -7523,8 +7527,8 @@ "psr/log": "^1|^2|^3", "symfony/deprecation-contracts": "^2.5|^3", "symfony/error-handler": "^6.4|^7.0", - "symfony/event-dispatcher": "^6.4|^7.0", - "symfony/http-foundation": "^6.4|^7.0", + "symfony/event-dispatcher": "^7.3", + "symfony/http-foundation": "^7.3", "symfony/polyfill-ctype": "^1.8" }, "conflict": { @@ -7600,7 +7604,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v7.2.6" + "source": "https://github.com/symfony/http-kernel/tree/v7.3.0" }, "funding": [ { @@ -7616,20 +7620,20 @@ "type": "tidelift" } ], - "time": "2025-05-02T09:04:03+00:00" + "time": "2025-05-29T07:47:32+00:00" }, { "name": "symfony/mailer", - "version": "v7.2.6", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/mailer.git", - "reference": "998692469d6e698c6eadc7ef37a6530a9eabb356" + "reference": "0f375bbbde96ae8c78e4aa3e63aabd486e33364c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mailer/zipball/998692469d6e698c6eadc7ef37a6530a9eabb356", - "reference": "998692469d6e698c6eadc7ef37a6530a9eabb356", + "url": "https://api.github.com/repos/symfony/mailer/zipball/0f375bbbde96ae8c78e4aa3e63aabd486e33364c", + "reference": "0f375bbbde96ae8c78e4aa3e63aabd486e33364c", "shasum": "" }, "require": { @@ -7680,7 +7684,7 @@ "description": "Helps sending emails", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/mailer/tree/v7.2.6" + "source": "https://github.com/symfony/mailer/tree/v7.3.0" }, "funding": [ { @@ -7696,11 +7700,11 @@ "type": "tidelift" } ], - "time": "2025-04-04T09:50:51+00:00" + "time": "2025-04-04T09:51:09+00:00" }, { "name": "symfony/mailgun-mailer", - "version": "v7.2.0", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/mailgun-mailer.git", @@ -7749,7 +7753,7 @@ "description": "Symfony Mailgun Mailer Bridge", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/mailgun-mailer/tree/v7.2.0" + "source": "https://github.com/symfony/mailgun-mailer/tree/v7.3.0" }, "funding": [ { @@ -7769,16 +7773,16 @@ }, { "name": "symfony/mime", - "version": "v7.2.6", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "706e65c72d402539a072d0d6ad105fff6c161ef1" + "reference": "0e7b19b2f399c31df0cdbe5d8cbf53f02f6cfcd9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/706e65c72d402539a072d0d6ad105fff6c161ef1", - "reference": "706e65c72d402539a072d0d6ad105fff6c161ef1", + "url": "https://api.github.com/repos/symfony/mime/zipball/0e7b19b2f399c31df0cdbe5d8cbf53f02f6cfcd9", + "reference": "0e7b19b2f399c31df0cdbe5d8cbf53f02f6cfcd9", "shasum": "" }, "require": { @@ -7833,7 +7837,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v7.2.6" + "source": "https://github.com/symfony/mime/tree/v7.3.0" }, "funding": [ { @@ -7849,20 +7853,20 @@ "type": "tidelift" } ], - "time": "2025-04-27T13:34:41+00:00" + "time": "2025-02-19T08:51:26+00:00" }, { "name": "symfony/options-resolver", - "version": "v7.2.0", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/options-resolver.git", - "reference": "7da8fbac9dcfef75ffc212235d76b2754ce0cf50" + "reference": "afb9a8038025e5dbc657378bfab9198d75f10fca" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/7da8fbac9dcfef75ffc212235d76b2754ce0cf50", - "reference": "7da8fbac9dcfef75ffc212235d76b2754ce0cf50", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/afb9a8038025e5dbc657378bfab9198d75f10fca", + "reference": "afb9a8038025e5dbc657378bfab9198d75f10fca", "shasum": "" }, "require": { @@ -7900,7 +7904,7 @@ "options" ], "support": { - "source": "https://github.com/symfony/options-resolver/tree/v7.2.0" + "source": "https://github.com/symfony/options-resolver/tree/v7.3.0" }, "funding": [ { @@ -7916,7 +7920,7 @@ "type": "tidelift" } ], - "time": "2024-11-20T11:17:29+00:00" + "time": "2025-04-04T13:12:05+00:00" }, { "name": "symfony/polyfill-ctype", @@ -8557,16 +8561,16 @@ }, { "name": "symfony/process", - "version": "v7.2.5", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "87b7c93e57df9d8e39a093d32587702380ff045d" + "reference": "40c295f2deb408d5e9d2d32b8ba1dd61e36f05af" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/87b7c93e57df9d8e39a093d32587702380ff045d", - "reference": "87b7c93e57df9d8e39a093d32587702380ff045d", + "url": "https://api.github.com/repos/symfony/process/zipball/40c295f2deb408d5e9d2d32b8ba1dd61e36f05af", + "reference": "40c295f2deb408d5e9d2d32b8ba1dd61e36f05af", "shasum": "" }, "require": { @@ -8598,7 +8602,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v7.2.5" + "source": "https://github.com/symfony/process/tree/v7.3.0" }, "funding": [ { @@ -8614,11 +8618,11 @@ "type": "tidelift" } ], - "time": "2025-03-13T12:21:46+00:00" + "time": "2025-04-17T09:11:12+00:00" }, { "name": "symfony/psr-http-message-bridge", - "version": "v7.2.0", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/psr-http-message-bridge.git", @@ -8681,7 +8685,7 @@ "psr-7" ], "support": { - "source": "https://github.com/symfony/psr-http-message-bridge/tree/v7.2.0" + "source": "https://github.com/symfony/psr-http-message-bridge/tree/v7.3.0" }, "funding": [ { @@ -8701,16 +8705,16 @@ }, { "name": "symfony/routing", - "version": "v7.2.3", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "ee9a67edc6baa33e5fae662f94f91fd262930996" + "reference": "8e213820c5fea844ecea29203d2a308019007c15" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/ee9a67edc6baa33e5fae662f94f91fd262930996", - "reference": "ee9a67edc6baa33e5fae662f94f91fd262930996", + "url": "https://api.github.com/repos/symfony/routing/zipball/8e213820c5fea844ecea29203d2a308019007c15", + "reference": "8e213820c5fea844ecea29203d2a308019007c15", "shasum": "" }, "require": { @@ -8762,7 +8766,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v7.2.3" + "source": "https://github.com/symfony/routing/tree/v7.3.0" }, "funding": [ { @@ -8778,7 +8782,7 @@ "type": "tidelift" } ], - "time": "2025-01-17T10:56:55+00:00" + "time": "2025-05-24T20:43:28+00:00" }, { "name": "symfony/service-contracts", @@ -8865,16 +8869,16 @@ }, { "name": "symfony/string", - "version": "v7.2.6", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "a214fe7d62bd4df2a76447c67c6b26e1d5e74931" + "reference": "f3570b8c61ca887a9e2938e85cb6458515d2b125" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/a214fe7d62bd4df2a76447c67c6b26e1d5e74931", - "reference": "a214fe7d62bd4df2a76447c67c6b26e1d5e74931", + "url": "https://api.github.com/repos/symfony/string/zipball/f3570b8c61ca887a9e2938e85cb6458515d2b125", + "reference": "f3570b8c61ca887a9e2938e85cb6458515d2b125", "shasum": "" }, "require": { @@ -8932,7 +8936,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v7.2.6" + "source": "https://github.com/symfony/string/tree/v7.3.0" }, "funding": [ { @@ -8948,20 +8952,20 @@ "type": "tidelift" } ], - "time": "2025-04-20T20:18:16+00:00" + "time": "2025-04-20T20:19:01+00:00" }, { "name": "symfony/translation", - "version": "v7.2.6", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "e7fd8e2a4239b79a0fd9fb1fef3e0e7f969c6dc6" + "reference": "4aba29076a29a3aa667e09b791e5f868973a8667" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/e7fd8e2a4239b79a0fd9fb1fef3e0e7f969c6dc6", - "reference": "e7fd8e2a4239b79a0fd9fb1fef3e0e7f969c6dc6", + "url": "https://api.github.com/repos/symfony/translation/zipball/4aba29076a29a3aa667e09b791e5f868973a8667", + "reference": "4aba29076a29a3aa667e09b791e5f868973a8667", "shasum": "" }, "require": { @@ -8971,6 +8975,7 @@ "symfony/translation-contracts": "^2.5|^3.0" }, "conflict": { + "nikic/php-parser": "<5.0", "symfony/config": "<6.4", "symfony/console": "<6.4", "symfony/dependency-injection": "<6.4", @@ -8984,7 +8989,7 @@ "symfony/translation-implementation": "2.3|3.0" }, "require-dev": { - "nikic/php-parser": "^4.18|^5.0", + "nikic/php-parser": "^5.0", "psr/log": "^1|^2|^3", "symfony/config": "^6.4|^7.0", "symfony/console": "^6.4|^7.0", @@ -9027,7 +9032,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v7.2.6" + "source": "https://github.com/symfony/translation/tree/v7.3.0" }, "funding": [ { @@ -9043,7 +9048,7 @@ "type": "tidelift" } ], - "time": "2025-04-07T19:09:28+00:00" + "time": "2025-05-29T07:19:49+00:00" }, { "name": "symfony/translation-contracts", @@ -9125,16 +9130,16 @@ }, { "name": "symfony/uid", - "version": "v7.2.0", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/uid.git", - "reference": "2d294d0c48df244c71c105a169d0190bfb080426" + "reference": "7beeb2b885cd584cd01e126c5777206ae4c3c6a3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/uid/zipball/2d294d0c48df244c71c105a169d0190bfb080426", - "reference": "2d294d0c48df244c71c105a169d0190bfb080426", + "url": "https://api.github.com/repos/symfony/uid/zipball/7beeb2b885cd584cd01e126c5777206ae4c3c6a3", + "reference": "7beeb2b885cd584cd01e126c5777206ae4c3c6a3", "shasum": "" }, "require": { @@ -9179,7 +9184,7 @@ "uuid" ], "support": { - "source": "https://github.com/symfony/uid/tree/v7.2.0" + "source": "https://github.com/symfony/uid/tree/v7.3.0" }, "funding": [ { @@ -9195,24 +9200,25 @@ "type": "tidelift" } ], - "time": "2024-09-25T14:21:43+00:00" + "time": "2025-05-24T14:28:13+00:00" }, { "name": "symfony/var-dumper", - "version": "v7.2.6", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "9c46038cd4ed68952166cf7001b54eb539184ccb" + "reference": "548f6760c54197b1084e1e5c71f6d9d523f2f78e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/9c46038cd4ed68952166cf7001b54eb539184ccb", - "reference": "9c46038cd4ed68952166cf7001b54eb539184ccb", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/548f6760c54197b1084e1e5c71f6d9d523f2f78e", + "reference": "548f6760c54197b1084e1e5c71f6d9d523f2f78e", "shasum": "" }, "require": { "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-mbstring": "~1.0" }, "conflict": { @@ -9262,7 +9268,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v7.2.6" + "source": "https://github.com/symfony/var-dumper/tree/v7.3.0" }, "funding": [ { @@ -9278,24 +9284,25 @@ "type": "tidelift" } ], - "time": "2025-04-09T08:14:01+00:00" + "time": "2025-04-27T18:39:23+00:00" }, { "name": "symfony/var-exporter", - "version": "v7.2.6", + "version": "v7.3.0", "source": { "type": "git", "url": "https://github.com/symfony/var-exporter.git", - "reference": "422b8de94c738830a1e071f59ad14d67417d7007" + "reference": "c9a1168891b5aaadfd6332ef44393330b3498c4c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-exporter/zipball/422b8de94c738830a1e071f59ad14d67417d7007", - "reference": "422b8de94c738830a1e071f59ad14d67417d7007", + "url": "https://api.github.com/repos/symfony/var-exporter/zipball/c9a1168891b5aaadfd6332ef44393330b3498c4c", + "reference": "c9a1168891b5aaadfd6332ef44393330b3498c4c", "shasum": "" }, "require": { - "php": ">=8.2" + "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3" }, "require-dev": { "symfony/property-access": "^6.4|^7.0", @@ -9338,7 +9345,7 @@ "serialize" ], "support": { - "source": "https://github.com/symfony/var-exporter/tree/v7.2.6" + "source": "https://github.com/symfony/var-exporter/tree/v7.3.0" }, "funding": [ { @@ -9354,7 +9361,7 @@ "type": "tidelift" } ], - "time": "2025-05-02T08:36:00+00:00" + "time": "2025-05-15T09:04:05+00:00" }, { "name": "thecodingmachine/safe", diff --git a/config/firefly.php b/config/firefly.php index 94fa435673..73b18409bf 100644 --- a/config/firefly.php +++ b/config/firefly.php @@ -78,7 +78,7 @@ return [ 'running_balance_column' => env('USE_RUNNING_BALANCE', false), // see cer.php for exchange rates feature flag. ], - 'version' => '6.2.16', + 'version' => 'develop/2025-05-29', 'api_version' => '2.1.0', // field is no longer used. 'db_version' => 25, diff --git a/tests/integration/Support/Models/BillDateCalculatorTest.php b/tests/integration/Support/Models/BillDateCalculatorTest.php index d8206c714a..1164fce606 100644 --- a/tests/integration/Support/Models/BillDateCalculatorTest.php +++ b/tests/integration/Support/Models/BillDateCalculatorTest.php @@ -56,7 +56,7 @@ final class BillDateCalculatorTest extends TestCase public function testGivenSomeDataItWorks(Carbon $earliest, Carbon $latest, Carbon $billStart, string $period, int $skip, ?Carbon $lastPaid, array $expected): void { $result = $this->calculator->getPayDates($earliest, $latest, $billStart, $period, $skip, $lastPaid); - $this->assertSame($expected, $result); + self::assertSame($expected, $result); } public static function provideDates(): Iterator diff --git a/tests/integration/Support/NavigationCustomEndOfPeriodTest.php b/tests/integration/Support/NavigationCustomEndOfPeriodTest.php index 16102bc7fc..18a4166646 100644 --- a/tests/integration/Support/NavigationCustomEndOfPeriodTest.php +++ b/tests/integration/Support/NavigationCustomEndOfPeriodTest.php @@ -45,6 +45,6 @@ final class NavigationCustomEndOfPeriodTest extends TestCase $navigation = new Navigation(); $period = $navigation->endOfPeriod($from, 'custom'); - $this->assertSame($expected->toDateString(), $period->toDateString()); + self::assertSame($expected->toDateString(), $period->toDateString()); } } diff --git a/tests/unit/Support/Calendar/CalculatorTest.php b/tests/unit/Support/Calendar/CalculatorTest.php index d6d9677361..ec2be998c9 100644 --- a/tests/unit/Support/Calendar/CalculatorTest.php +++ b/tests/unit/Support/Calendar/CalculatorTest.php @@ -73,7 +73,7 @@ final class CalculatorTest extends TestCase { $calculator = new Calculator(); $period = $calculator->nextDateByInterval($provider->epoch(), $provider->periodicity); - $this->assertSame($provider->expected()->toDateString(), $period->toDateString()); + self::assertSame($provider->expected()->toDateString(), $period->toDateString()); } public static function provideAllPeriodicity(): iterable @@ -102,7 +102,7 @@ final class CalculatorTest extends TestCase { $calculator = new Calculator(); $period = $calculator->nextDateByInterval($provider->epoch(), $provider->periodicity, $provider->skip); - $this->assertSame($provider->expected()->toDateString(), $period->toDateString()); + self::assertSame($provider->expected()->toDateString(), $period->toDateString()); } public static function provideSkippedIntervals(): iterable diff --git a/tests/unit/Support/Calendar/Periodicity/IntervalTestCase.php b/tests/unit/Support/Calendar/Periodicity/IntervalTestCase.php index 0654ab3247..7a67095366 100644 --- a/tests/unit/Support/Calendar/Periodicity/IntervalTestCase.php +++ b/tests/unit/Support/Calendar/Periodicity/IntervalTestCase.php @@ -36,7 +36,7 @@ abstract class IntervalTestCase extends TestCase public function testGivenAnEpochWhenCallTheNextDateThenReturnsTheExpectedDateSuccessful(IntervalProvider $provider): void { $period = static::factory()->nextDate($provider->epoch); - $this->assertSame($provider->expected->toDateString(), $period->toDateString()); + self::assertSame($provider->expected->toDateString(), $period->toDateString()); } public static function provider(): iterable diff --git a/tests/unit/Support/NavigationAddPeriodTest.php b/tests/unit/Support/NavigationAddPeriodTest.php index 1c13a557b4..e492584c50 100644 --- a/tests/unit/Support/NavigationAddPeriodTest.php +++ b/tests/unit/Support/NavigationAddPeriodTest.php @@ -56,7 +56,7 @@ final class NavigationAddPeriodTest extends TestCase public function testGivenAFrequencyAndSkipIntervalWhenCalculateTheDateThenReturnsTheSkippedDateSuccessful(int $skip, string $frequency, Carbon $from, Carbon $expected): void { $period = $this->navigation->addPeriod($from, $frequency, $skip); - $this->assertSame($expected->toDateString(), $period->toDateString()); + self::assertSame($expected->toDateString(), $period->toDateString()); } public static function providePeriodsWithSkippingParam(): iterable @@ -108,7 +108,7 @@ final class NavigationAddPeriodTest extends TestCase public function testGivenAFrequencyWhenCalculateTheDateThenReturnsTheExpectedDateSuccessful(string $frequency, Carbon $from, Carbon $expected): void { $period = $this->navigation->addPeriod($from, $frequency, 0); - $this->assertSame($expected->toDateString(), $period->toDateString()); + self::assertSame($expected->toDateString(), $period->toDateString()); } public static function providePeriods(): Iterator @@ -158,7 +158,7 @@ final class NavigationAddPeriodTest extends TestCase public function testGivenAIntervalWhenCallTheNextDateByIntervalMethodThenReturnsTheExpectedDateSuccessful(Periodicity $periodicity, Carbon $from, Carbon $expected): void { $period = $this->navigation->nextDateByInterval($from, $periodicity); - $this->assertSame($expected->toDateString(), $period->toDateString()); + self::assertSame($expected->toDateString(), $period->toDateString()); } public static function provideFrequencies(): Iterator @@ -212,7 +212,7 @@ final class NavigationAddPeriodTest extends TestCase public function testGivenAMonthFrequencyWhenCalculateTheDateThenReturnsTheLastDayOfMonthSuccessful(string $frequency, Carbon $from, Carbon $expected): void { $period = $this->navigation->addPeriod($from, $frequency, 0); - $this->assertSame($expected->toDateString(), $period->toDateString()); + self::assertSame($expected->toDateString(), $period->toDateString()); } public static function provideMonthPeriods(): Iterator diff --git a/tests/unit/Support/NavigationEndOfPeriodTest.php b/tests/unit/Support/NavigationEndOfPeriodTest.php index 4e8ccea578..f76bb84be9 100644 --- a/tests/unit/Support/NavigationEndOfPeriodTest.php +++ b/tests/unit/Support/NavigationEndOfPeriodTest.php @@ -55,7 +55,7 @@ final class NavigationEndOfPeriodTest extends TestCase public function testGivenADateAndFrequencyWhenCalculateTheDateThenReturnsTheExpectedDateSuccessful(string $frequency, Carbon $from, Carbon $expected): void { $period = clone $this->navigation->endOfPeriod($from, $frequency); - $this->assertSame($expected->toDateString(), $period->toDateString()); + self::assertSame($expected->toDateString(), $period->toDateString()); } public static function provideDates(): Iterator @@ -116,7 +116,7 @@ final class NavigationEndOfPeriodTest extends TestCase Log::spy(); $period = $this->navigation->endOfPeriod($from, $frequency); - $this->assertSame($expected->toDateString(), $period->toDateString()); + self::assertSame($expected->toDateString(), $period->toDateString()); $expectedMessage = sprintf('Cannot do endOfPeriod for $repeat_freq "%s"', $frequency); Log::shouldHaveReceived('error', [$expectedMessage]); diff --git a/tests/unit/Support/NavigationPreferredCarbonFormatByPeriodTest.php b/tests/unit/Support/NavigationPreferredCarbonFormatByPeriodTest.php index 76a8dc54ba..6f25d44beb 100644 --- a/tests/unit/Support/NavigationPreferredCarbonFormatByPeriodTest.php +++ b/tests/unit/Support/NavigationPreferredCarbonFormatByPeriodTest.php @@ -54,7 +54,7 @@ final class NavigationPreferredCarbonFormatByPeriodTest extends TestCase public function testGivenAPeriodWhenCallPreferredCarbonFormatByPeriodThenReturnsExpectedFormat(string $period, string $expected): void { $formatPeriod = $this->navigation->preferredCarbonFormatByPeriod($period); - $this->assertSame($expected, $formatPeriod); + self::assertSame($expected, $formatPeriod); } public static function providePeriods(): Iterator diff --git a/tests/unit/Support/NavigationPreferredCarbonFormatTest.php b/tests/unit/Support/NavigationPreferredCarbonFormatTest.php index 3584a98c2a..01f06aad2b 100644 --- a/tests/unit/Support/NavigationPreferredCarbonFormatTest.php +++ b/tests/unit/Support/NavigationPreferredCarbonFormatTest.php @@ -55,7 +55,7 @@ final class NavigationPreferredCarbonFormatTest extends TestCase public function testGivenStartAndEndDatesWhenCallPreferredCarbonFormatThenReturnsTheExpectedFormatSuccessful(Carbon $start, Carbon $end, string $expected): void { $carbonFormat = $this->navigation->preferredCarbonFormat($start, $end); - $this->assertSame($expected, $carbonFormat); + self::assertSame($expected, $carbonFormat); } public static function providePeriods(): Iterator diff --git a/tests/unit/Support/NavigationPreferredEndOfPeriodTest.php b/tests/unit/Support/NavigationPreferredEndOfPeriodTest.php index 4d0f22e3e7..95bf81b575 100644 --- a/tests/unit/Support/NavigationPreferredEndOfPeriodTest.php +++ b/tests/unit/Support/NavigationPreferredEndOfPeriodTest.php @@ -55,7 +55,7 @@ final class NavigationPreferredEndOfPeriodTest extends TestCase public function testGivenStartAndEndDatesWhenCallPreferredEndOfPeriodThenReturnsTheExpectedFormatSuccessful(Carbon $start, Carbon $end, string $expected): void { $formatPeriod = $this->navigation->preferredEndOfPeriod($start, $end); - $this->assertSame($expected, $formatPeriod); + self::assertSame($expected, $formatPeriod); } public static function providePeriods(): Iterator diff --git a/tests/unit/Support/NavigationPreferredRangeFormatTest.php b/tests/unit/Support/NavigationPreferredRangeFormatTest.php index 7218e59db2..6c0eff7d07 100644 --- a/tests/unit/Support/NavigationPreferredRangeFormatTest.php +++ b/tests/unit/Support/NavigationPreferredRangeFormatTest.php @@ -55,7 +55,7 @@ final class NavigationPreferredRangeFormatTest extends TestCase public function testGivenStartAndEndDatesWhenCallPreferredRangeFormatThenReturnsTheExpectedFormatSuccessful(Carbon $start, Carbon $end, string $expected): void { $formatPeriod = $this->navigation->preferredRangeFormat($start, $end); - $this->assertSame($expected, $formatPeriod); + self::assertSame($expected, $formatPeriod); } public static function providePeriods(): Iterator diff --git a/tests/unit/Support/NavigationPreferredSqlFormatTest.php b/tests/unit/Support/NavigationPreferredSqlFormatTest.php index 4a8fa37420..fa44b76178 100644 --- a/tests/unit/Support/NavigationPreferredSqlFormatTest.php +++ b/tests/unit/Support/NavigationPreferredSqlFormatTest.php @@ -55,7 +55,7 @@ final class NavigationPreferredSqlFormatTest extends TestCase public function testGivenStartAndEndDatesWhenCallPreferredSqlFormatThenReturnsTheExpectedFormatSuccessful(Carbon $start, Carbon $end, string $expected): void { $formatPeriod = $this->navigation->preferredSqlFormat($start, $end); - $this->assertSame($expected, $formatPeriod); + self::assertSame($expected, $formatPeriod); } public static function provideDates(): Iterator diff --git a/tests/unit/Support/NavigationStartOfPeriodTest.php b/tests/unit/Support/NavigationStartOfPeriodTest.php index 288aa7ecc4..ffe2514683 100644 --- a/tests/unit/Support/NavigationStartOfPeriodTest.php +++ b/tests/unit/Support/NavigationStartOfPeriodTest.php @@ -56,7 +56,7 @@ final class NavigationStartOfPeriodTest extends TestCase public function testGivenADateAndFrequencyWhenCalculateTheDateThenReturnsTheExpectedDateSuccessful(string $frequency, Carbon $from, Carbon $expected): void { $period = $this->navigation->startOfPeriod($from, $frequency); - $this->assertSame($expected->toDateString(), $period->toDateString()); + self::assertSame($expected->toDateString(), $period->toDateString()); } public static function provideDates(): Iterator @@ -121,7 +121,7 @@ final class NavigationStartOfPeriodTest extends TestCase ; $period = $this->navigation->startOfPeriod($from, $frequency); - $this->assertSame($expected->toDateString(), $period->toDateString()); + self::assertSame($expected->toDateString(), $period->toDateString()); } public static function provideUnknownFrequencies(): Iterator diff --git a/tests/unit/Support/Search/QueryParser/AbstractQueryParserInterfaceParseQueryTester.php b/tests/unit/Support/Search/QueryParser/AbstractQueryParserInterfaceParseQueryTester.php index 33946565c4..311e745586 100644 --- a/tests/unit/Support/Search/QueryParser/AbstractQueryParserInterfaceParseQueryTester.php +++ b/tests/unit/Support/Search/QueryParser/AbstractQueryParserInterfaceParseQueryTester.php @@ -26,7 +26,7 @@ abstract class AbstractQueryParserInterfaceParseQueryTester extends TestCase { $actual = $this->createParser()->parse($query); - $this->assertObjectEquals($expected, $actual); + self::assertObjectEquals($expected, $actual); }