diff --git a/.ci/rector.php b/.ci/rector.php index 6e98485438..7c9ac6c6df 100644 --- a/.ci/rector.php +++ b/.ci/rector.php @@ -25,20 +25,32 @@ declare(strict_types=1); use Rector\Config\RectorConfig; use Rector\EarlyReturn\Rector\If_\ChangeOrIfContinueToMultiContinueRector; +use Rector\Transform\Rector\String_\StringToClassConstantRector; +use RectorLaravel\Set\LaravelLevelSetList; + return RectorConfig::configure() ->withSkip([ ChangeOrIfContinueToMultiContinueRector::class, + StringToClassConstantRector::class => [ + __DIR__ . '/../app/Http/Controllers/Auth/LoginController.php', + ] ]) ->withPaths([ __DIR__ . '/../app', - __DIR__ . '/../bootstrap', - __DIR__ . '/../config', - __DIR__ . '/../public', - __DIR__ . '/../resources/lang/en_US', - __DIR__ . '/../routes', - __DIR__ . '/../tests', +// __DIR__ . '/../bootstrap', +// __DIR__ . '/../config', +// __DIR__ . '/../public', +// __DIR__ . '/../resources/lang/en_US', +// __DIR__ . '/../routes', +// __DIR__ . '/../tests', ]) + ->withSets([ + LaravelLevelSetList::UP_TO_LARAVEL_120, + ]) +// ->withConfiguredRule(ReplaceServiceContainerCallArgRector::class, [ +// new ReplaceServiceContainerCallArg('log', new ClassConstFetch(new Name('Illuminate\Support\Facades\Log'), 'class')), +// ]) // uncomment to reach your current PHP version ->withPhpSets() ->withPreparedSets( diff --git a/.ci/rector.sh b/.ci/rector.sh index 3bd4f802b9..6b2d4b0e13 100755 --- a/.ci/rector.sh +++ b/.ci/rector.sh @@ -25,4 +25,12 @@ SCRIPT_DIR="$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" +echo $1 + +if [ "$1" == "--dry-run" ]; then + echo "Running rector in dry run." + $SCRIPT_DIR/../vendor/bin/rector --config $SCRIPT_DIR/rector.php --dry-run + exit $? +fi + $SCRIPT_DIR/../vendor/bin/rector --config $SCRIPT_DIR/rector.php diff --git a/app/Api/V1/Controllers/Controller.php b/app/Api/V1/Controllers/Controller.php index 2566ddbe58..dc5063afc4 100644 --- a/app/Api/V1/Controllers/Controller.php +++ b/app/Api/V1/Controllers/Controller.php @@ -40,6 +40,7 @@ use Illuminate\Foundation\Bus\DispatchesJobs; use Illuminate\Foundation\Validation\ValidatesRequests; use Illuminate\Pagination\LengthAwarePaginator; use Illuminate\Routing\Controller as BaseController; +use Illuminate\Support\Facades\Log; use League\Fractal\Manager; use League\Fractal\Pagination\IlluminatePaginatorAdapter; use League\Fractal\Resource\Collection as FractalCollection; @@ -123,9 +124,9 @@ abstract class Controller extends BaseController try { $date = request()->query->get($field); } catch (BadRequestException $e) { - app('log')->error(sprintf('Request field "%s" contains a non-scalar value. Value set to NULL.', $field)); - app('log')->error($e->getMessage()); - app('log')->error($e->getTraceAsString()); + Log::error(sprintf('Request field "%s" contains a non-scalar value. Value set to NULL.', $field)); + Log::error($e->getMessage()); + Log::error($e->getTraceAsString()); $value = null; } $obj = null; @@ -134,7 +135,7 @@ abstract class Controller extends BaseController $obj = Carbon::parse((string) $date); } catch (InvalidFormatException $e) { // don't care - app('log')->warning( + Log::warning( sprintf( 'Ignored invalid date "%s" in API controller parameter check: %s', substr((string) $date, 0, 20), @@ -152,9 +153,9 @@ abstract class Controller extends BaseController try { $value = request()->query->get($integer); } catch (BadRequestException $e) { - app('log')->error(sprintf('Request field "%s" contains a non-scalar value. Value set to NULL.', $integer)); - app('log')->error($e->getMessage()); - app('log')->error($e->getTraceAsString()); + Log::error(sprintf('Request field "%s" contains a non-scalar value. Value set to NULL.', $integer)); + Log::error($e->getMessage()); + Log::error($e->getTraceAsString()); $value = null; } if (null !== $value) { @@ -192,9 +193,9 @@ abstract class Controller extends BaseController try { $param = (string) request()->query->get('sort'); } catch (BadRequestException $e) { - app('log')->error('Request field "sort" contains a non-scalar value. Value set to NULL.'); - app('log')->error($e->getMessage()); - app('log')->error($e->getTraceAsString()); + Log::error('Request field "sort" contains a non-scalar value. Value set to NULL.'); + Log::error($e->getMessage()); + Log::error($e->getTraceAsString()); $param = ''; } if ('' === $param) { diff --git a/app/Api/V1/Requests/Chart/ChartRequest.php b/app/Api/V1/Requests/Chart/ChartRequest.php index 7d3f0e4a94..58ade4f0c3 100644 --- a/app/Api/V1/Requests/Chart/ChartRequest.php +++ b/app/Api/V1/Requests/Chart/ChartRequest.php @@ -24,13 +24,13 @@ declare(strict_types=1); namespace FireflyIII\Api\V1\Requests\Chart; +use Illuminate\Contracts\Validation\Validator; use FireflyIII\Enums\UserRoleEnum; use FireflyIII\Support\Http\Api\ValidatesUserGroupTrait; use FireflyIII\Support\Request\ChecksLogin; use FireflyIII\Support\Request\ConvertsDataTypes; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Log; -use Illuminate\Validation\Validator; /** * Class ChartRequest diff --git a/app/Api/V1/Requests/Data/Bulk/MoveTransactionsRequest.php b/app/Api/V1/Requests/Data/Bulk/MoveTransactionsRequest.php index 3ada80f591..8731e354aa 100644 --- a/app/Api/V1/Requests/Data/Bulk/MoveTransactionsRequest.php +++ b/app/Api/V1/Requests/Data/Bulk/MoveTransactionsRequest.php @@ -24,12 +24,12 @@ declare(strict_types=1); namespace FireflyIII\Api\V1\Requests\Data\Bulk; +use Illuminate\Contracts\Validation\Validator; use FireflyIII\Repositories\Account\AccountRepositoryInterface; use FireflyIII\Support\Request\ChecksLogin; use FireflyIII\Support\Request\ConvertsDataTypes; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Log; -use Illuminate\Validation\Validator; /** * Class MoveTransactionsRequest diff --git a/app/Api/V1/Requests/Data/Bulk/TransactionRequest.php b/app/Api/V1/Requests/Data/Bulk/TransactionRequest.php index da2bfb3d7c..ca3c43ca0d 100644 --- a/app/Api/V1/Requests/Data/Bulk/TransactionRequest.php +++ b/app/Api/V1/Requests/Data/Bulk/TransactionRequest.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace FireflyIII\Api\V1\Requests\Data\Bulk; +use Illuminate\Contracts\Validation\Validator; use JsonException; use FireflyIII\Enums\ClauseType; use FireflyIII\Rules\IsValidBulkClause; @@ -32,7 +33,6 @@ use FireflyIII\Support\Request\ConvertsDataTypes; use FireflyIII\Validation\Api\Data\Bulk\ValidatesBulkTransactionQuery; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Log; -use Illuminate\Validation\Validator; use function Safe\json_decode; diff --git a/app/Api/V1/Requests/Models/Account/UpdateRequest.php b/app/Api/V1/Requests/Models/Account/UpdateRequest.php index dbe30eab1b..5fb31b6fc8 100644 --- a/app/Api/V1/Requests/Models/Account/UpdateRequest.php +++ b/app/Api/V1/Requests/Models/Account/UpdateRequest.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace FireflyIII\Api\V1\Requests\Models\Account; +use Illuminate\Contracts\Validation\Validator; use FireflyIII\Models\Account; use FireflyIII\Models\Location; use FireflyIII\Repositories\Account\AccountRepositoryInterface; @@ -35,7 +36,6 @@ use FireflyIII\Support\Request\ChecksLogin; use FireflyIII\Support\Request\ConvertsDataTypes; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Log; -use Illuminate\Validation\Validator; /** * Class UpdateRequest diff --git a/app/Api/V1/Requests/Models/AvailableBudget/Request.php b/app/Api/V1/Requests/Models/AvailableBudget/Request.php index ccf7e4d030..ad36cdb728 100644 --- a/app/Api/V1/Requests/Models/AvailableBudget/Request.php +++ b/app/Api/V1/Requests/Models/AvailableBudget/Request.php @@ -24,13 +24,13 @@ declare(strict_types=1); namespace FireflyIII\Api\V1\Requests\Models\AvailableBudget; +use Illuminate\Contracts\Validation\Validator; use Carbon\Carbon; use FireflyIII\Rules\IsValidPositiveAmount; use FireflyIII\Support\Request\ChecksLogin; use FireflyIII\Support\Request\ConvertsDataTypes; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Log; -use Illuminate\Validation\Validator; /** * Class Request diff --git a/app/Api/V1/Requests/Models/Bill/StoreRequest.php b/app/Api/V1/Requests/Models/Bill/StoreRequest.php index e773942ca3..9c4cffd668 100644 --- a/app/Api/V1/Requests/Models/Bill/StoreRequest.php +++ b/app/Api/V1/Requests/Models/Bill/StoreRequest.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace FireflyIII\Api\V1\Requests\Models\Bill; +use Illuminate\Contracts\Validation\Validator; use ValueError; use TypeError; use FireflyIII\Rules\IsBoolean; @@ -32,7 +33,6 @@ use FireflyIII\Support\Request\ChecksLogin; use FireflyIII\Support\Request\ConvertsDataTypes; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Log; -use Illuminate\Validation\Validator; /** * Class StoreRequest diff --git a/app/Api/V1/Requests/Models/Bill/UpdateRequest.php b/app/Api/V1/Requests/Models/Bill/UpdateRequest.php index 5931fc7bd2..4b69d4d6ee 100644 --- a/app/Api/V1/Requests/Models/Bill/UpdateRequest.php +++ b/app/Api/V1/Requests/Models/Bill/UpdateRequest.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace FireflyIII\Api\V1\Requests\Models\Bill; +use Illuminate\Contracts\Validation\Validator; use FireflyIII\Models\Bill; use FireflyIII\Rules\IsBoolean; use FireflyIII\Rules\IsValidPositiveAmount; @@ -31,7 +32,6 @@ use FireflyIII\Support\Request\ChecksLogin; use FireflyIII\Support\Request\ConvertsDataTypes; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Log; -use Illuminate\Validation\Validator; /** * Class UpdateRequest diff --git a/app/Api/V1/Requests/Models/Budget/StoreRequest.php b/app/Api/V1/Requests/Models/Budget/StoreRequest.php index f6a96a6941..43f44c7720 100644 --- a/app/Api/V1/Requests/Models/Budget/StoreRequest.php +++ b/app/Api/V1/Requests/Models/Budget/StoreRequest.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace FireflyIII\Api\V1\Requests\Models\Budget; +use Illuminate\Contracts\Validation\Validator; use FireflyIII\Rules\IsBoolean; use FireflyIII\Rules\IsValidPositiveAmount; use FireflyIII\Support\Request\ChecksLogin; @@ -31,7 +32,6 @@ use FireflyIII\Support\Request\ConvertsDataTypes; use FireflyIII\Validation\AutoBudget\ValidatesAutoBudgetRequest; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Log; -use Illuminate\Validation\Validator; /** * Class StoreRequest diff --git a/app/Api/V1/Requests/Models/Budget/UpdateRequest.php b/app/Api/V1/Requests/Models/Budget/UpdateRequest.php index 1319df36e6..ed1d119e93 100644 --- a/app/Api/V1/Requests/Models/Budget/UpdateRequest.php +++ b/app/Api/V1/Requests/Models/Budget/UpdateRequest.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace FireflyIII\Api\V1\Requests\Models\Budget; +use Illuminate\Contracts\Validation\Validator; use FireflyIII\Models\Budget; use FireflyIII\Rules\IsBoolean; use FireflyIII\Rules\IsValidPositiveAmount; @@ -32,7 +33,6 @@ use FireflyIII\Support\Request\ConvertsDataTypes; use FireflyIII\Validation\AutoBudget\ValidatesAutoBudgetRequest; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Log; -use Illuminate\Validation\Validator; /** * Class UpdateRequest diff --git a/app/Api/V1/Requests/Models/BudgetLimit/UpdateRequest.php b/app/Api/V1/Requests/Models/BudgetLimit/UpdateRequest.php index 1fb3d53ca9..c1ed04a9a4 100644 --- a/app/Api/V1/Requests/Models/BudgetLimit/UpdateRequest.php +++ b/app/Api/V1/Requests/Models/BudgetLimit/UpdateRequest.php @@ -24,13 +24,13 @@ declare(strict_types=1); namespace FireflyIII\Api\V1\Requests\Models\BudgetLimit; +use Illuminate\Contracts\Validation\Validator; use Carbon\Carbon; use FireflyIII\Rules\IsValidPositiveAmount; use FireflyIII\Support\Request\ChecksLogin; use FireflyIII\Support\Request\ConvertsDataTypes; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Log; -use Illuminate\Validation\Validator; /** * Class UpdateRequest diff --git a/app/Api/V1/Requests/Models/PiggyBank/StoreRequest.php b/app/Api/V1/Requests/Models/PiggyBank/StoreRequest.php index e7ae890499..f99939be28 100644 --- a/app/Api/V1/Requests/Models/PiggyBank/StoreRequest.php +++ b/app/Api/V1/Requests/Models/PiggyBank/StoreRequest.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace FireflyIII\Api\V1\Requests\Models\PiggyBank; +use Illuminate\Contracts\Validation\Validator; use FireflyIII\Exceptions\FireflyException; use FireflyIII\Models\TransactionCurrency; use FireflyIII\Repositories\Account\AccountRepositoryInterface; @@ -32,7 +33,6 @@ use FireflyIII\Support\Request\ChecksLogin; use FireflyIII\Support\Request\ConvertsDataTypes; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Log; -use Illuminate\Validation\Validator; /** * Class StoreRequest diff --git a/app/Api/V1/Requests/Models/Recurrence/StoreRequest.php b/app/Api/V1/Requests/Models/Recurrence/StoreRequest.php index f8f5091ed0..7afa2243fa 100644 --- a/app/Api/V1/Requests/Models/Recurrence/StoreRequest.php +++ b/app/Api/V1/Requests/Models/Recurrence/StoreRequest.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace FireflyIII\Api\V1\Requests\Models\Recurrence; +use Illuminate\Contracts\Validation\Validator; use FireflyIII\Rules\BelongsUser; use FireflyIII\Rules\IsBoolean; use FireflyIII\Rules\IsValidPositiveAmount; @@ -35,7 +36,6 @@ use FireflyIII\Validation\RecurrenceValidation; use FireflyIII\Validation\TransactionValidation; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Log; -use Illuminate\Validation\Validator; /** * Class StoreRequest diff --git a/app/Api/V1/Requests/Models/Recurrence/UpdateRequest.php b/app/Api/V1/Requests/Models/Recurrence/UpdateRequest.php index 5449a5edda..e387e0b4cc 100644 --- a/app/Api/V1/Requests/Models/Recurrence/UpdateRequest.php +++ b/app/Api/V1/Requests/Models/Recurrence/UpdateRequest.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace FireflyIII\Api\V1\Requests\Models\Recurrence; +use Illuminate\Contracts\Validation\Validator; use FireflyIII\Models\Recurrence; use FireflyIII\Rules\BelongsUser; use FireflyIII\Rules\IsBoolean; @@ -36,7 +37,6 @@ use FireflyIII\Validation\RecurrenceValidation; use FireflyIII\Validation\TransactionValidation; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Log; -use Illuminate\Validation\Validator; /** * Class UpdateRequest diff --git a/app/Api/V1/Requests/Models/Rule/StoreRequest.php b/app/Api/V1/Requests/Models/Rule/StoreRequest.php index dd65d648a0..496dbc550a 100644 --- a/app/Api/V1/Requests/Models/Rule/StoreRequest.php +++ b/app/Api/V1/Requests/Models/Rule/StoreRequest.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace FireflyIII\Api\V1\Requests\Models\Rule; +use Illuminate\Contracts\Validation\Validator; use FireflyIII\Rules\IsBoolean; use FireflyIII\Rules\IsValidActionExpression; use FireflyIII\Support\Request\ChecksLogin; @@ -31,7 +32,6 @@ use FireflyIII\Support\Request\ConvertsDataTypes; use FireflyIII\Support\Request\GetRuleConfiguration; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Log; -use Illuminate\Validation\Validator; /** * Class StoreRequest diff --git a/app/Api/V1/Requests/Models/Rule/UpdateRequest.php b/app/Api/V1/Requests/Models/Rule/UpdateRequest.php index 13a8a97676..8b58fbd3d8 100644 --- a/app/Api/V1/Requests/Models/Rule/UpdateRequest.php +++ b/app/Api/V1/Requests/Models/Rule/UpdateRequest.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace FireflyIII\Api\V1\Requests\Models\Rule; +use Illuminate\Contracts\Validation\Validator; use FireflyIII\Models\Rule; use FireflyIII\Rules\IsBoolean; use FireflyIII\Rules\IsValidActionExpression; @@ -32,7 +33,6 @@ use FireflyIII\Support\Request\ConvertsDataTypes; use FireflyIII\Support\Request\GetRuleConfiguration; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Log; -use Illuminate\Validation\Validator; /** * Class UpdateRequest diff --git a/app/Api/V1/Requests/Models/Transaction/StoreRequest.php b/app/Api/V1/Requests/Models/Transaction/StoreRequest.php index c9a99f88eb..73dcb768aa 100644 --- a/app/Api/V1/Requests/Models/Transaction/StoreRequest.php +++ b/app/Api/V1/Requests/Models/Transaction/StoreRequest.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace FireflyIII\Api\V1\Requests\Models\Transaction; +use Illuminate\Contracts\Validation\Validator; use FireflyIII\Models\Location; use FireflyIII\Rules\BelongsUser; use FireflyIII\Rules\IsBoolean; @@ -39,7 +40,6 @@ use FireflyIII\Validation\GroupValidation; use FireflyIII\Validation\TransactionValidation; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Log; -use Illuminate\Validation\Validator; /** * Class StoreRequest diff --git a/app/Api/V1/Requests/Models/Transaction/UpdateRequest.php b/app/Api/V1/Requests/Models/Transaction/UpdateRequest.php index f53b5ba6df..1e1ba30fca 100644 --- a/app/Api/V1/Requests/Models/Transaction/UpdateRequest.php +++ b/app/Api/V1/Requests/Models/Transaction/UpdateRequest.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace FireflyIII\Api\V1\Requests\Models\Transaction; +use Illuminate\Contracts\Validation\Validator; use FireflyIII\Exceptions\FireflyException; use FireflyIII\Models\TransactionGroup; use FireflyIII\Rules\BelongsUser; @@ -37,7 +38,6 @@ use FireflyIII\Validation\GroupValidation; use FireflyIII\Validation\TransactionValidation; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Log; -use Illuminate\Validation\Validator; /** * Class UpdateRequest diff --git a/app/Api/V1/Requests/Models/TransactionLink/StoreRequest.php b/app/Api/V1/Requests/Models/TransactionLink/StoreRequest.php index 638bda8306..b93334289d 100644 --- a/app/Api/V1/Requests/Models/TransactionLink/StoreRequest.php +++ b/app/Api/V1/Requests/Models/TransactionLink/StoreRequest.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace FireflyIII\Api\V1\Requests\Models\TransactionLink; +use Illuminate\Contracts\Validation\Validator; use FireflyIII\Repositories\Journal\JournalRepositoryInterface; use FireflyIII\Repositories\LinkType\LinkTypeRepositoryInterface; use FireflyIII\Support\Request\ChecksLogin; @@ -31,7 +32,6 @@ use FireflyIII\Support\Request\ConvertsDataTypes; use FireflyIII\User; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Log; -use Illuminate\Validation\Validator; /** * Class StoreRequest diff --git a/app/Api/V1/Requests/Models/TransactionLink/UpdateRequest.php b/app/Api/V1/Requests/Models/TransactionLink/UpdateRequest.php index 0ab51bccd0..ce62f5a87c 100644 --- a/app/Api/V1/Requests/Models/TransactionLink/UpdateRequest.php +++ b/app/Api/V1/Requests/Models/TransactionLink/UpdateRequest.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace FireflyIII\Api\V1\Requests\Models\TransactionLink; +use Illuminate\Contracts\Validation\Validator; use FireflyIII\Models\TransactionJournalLink; use FireflyIII\Repositories\Journal\JournalRepositoryInterface; use FireflyIII\Repositories\LinkType\LinkTypeRepositoryInterface; @@ -31,7 +32,6 @@ use FireflyIII\Support\Request\ChecksLogin; use FireflyIII\Support\Request\ConvertsDataTypes; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Log; -use Illuminate\Validation\Validator; /** * Class UpdateRequest diff --git a/app/Api/V1/Requests/System/UserUpdateRequest.php b/app/Api/V1/Requests/System/UserUpdateRequest.php index 553f8e54e4..d22090ba0b 100644 --- a/app/Api/V1/Requests/System/UserUpdateRequest.php +++ b/app/Api/V1/Requests/System/UserUpdateRequest.php @@ -24,13 +24,13 @@ declare(strict_types=1); namespace FireflyIII\Api\V1\Requests\System; +use Illuminate\Contracts\Validation\Validator; use FireflyIII\Rules\IsBoolean; use FireflyIII\Support\Request\ChecksLogin; use FireflyIII\Support\Request\ConvertsDataTypes; use FireflyIII\User; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Log; -use Illuminate\Validation\Validator; /** * Class UserUpdateRequest diff --git a/app/Api/V2/Request/Chart/BalanceChartRequest.php b/app/Api/V2/Request/Chart/BalanceChartRequest.php index bdbb141b65..3220714cdb 100644 --- a/app/Api/V2/Request/Chart/BalanceChartRequest.php +++ b/app/Api/V2/Request/Chart/BalanceChartRequest.php @@ -24,13 +24,13 @@ declare(strict_types=1); namespace FireflyIII\Api\V2\Request\Chart; +use Illuminate\Contracts\Validation\Validator; use FireflyIII\Enums\UserRoleEnum; use FireflyIII\Support\Http\Api\ValidatesUserGroupTrait; use FireflyIII\Support\Request\ChecksLogin; use FireflyIII\Support\Request\ConvertsDataTypes; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Log; -use Illuminate\Validation\Validator; /** * Class BalanceChartRequest diff --git a/app/Api/V2/Request/Chart/ChartRequest.php b/app/Api/V2/Request/Chart/ChartRequest.php index 6ca32ea6e8..cecb7edc40 100644 --- a/app/Api/V2/Request/Chart/ChartRequest.php +++ b/app/Api/V2/Request/Chart/ChartRequest.php @@ -24,13 +24,13 @@ declare(strict_types=1); namespace FireflyIII\Api\V2\Request\Chart; +use Illuminate\Contracts\Validation\Validator; use FireflyIII\Enums\UserRoleEnum; use FireflyIII\Support\Http\Api\ValidatesUserGroupTrait; use FireflyIII\Support\Request\ChecksLogin; use FireflyIII\Support\Request\ConvertsDataTypes; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Log; -use Illuminate\Validation\Validator; /** * Class ChartRequest diff --git a/app/Api/V2/Request/Chart/DashboardChartRequest.php b/app/Api/V2/Request/Chart/DashboardChartRequest.php index 96f66e1095..6c4a3cdfa6 100644 --- a/app/Api/V2/Request/Chart/DashboardChartRequest.php +++ b/app/Api/V2/Request/Chart/DashboardChartRequest.php @@ -24,13 +24,13 @@ declare(strict_types=1); namespace FireflyIII\Api\V2\Request\Chart; +use Illuminate\Contracts\Validation\Validator; use FireflyIII\Enums\UserRoleEnum; use FireflyIII\Support\Http\Api\ValidatesUserGroupTrait; use FireflyIII\Support\Request\ChecksLogin; use FireflyIII\Support\Request\ConvertsDataTypes; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Log; -use Illuminate\Validation\Validator; /** * Class DashboardChartRequest diff --git a/app/Api/V2/Request/Model/Transaction/StoreRequest.php b/app/Api/V2/Request/Model/Transaction/StoreRequest.php index 4e95b69e9f..18cc85d5a2 100644 --- a/app/Api/V2/Request/Model/Transaction/StoreRequest.php +++ b/app/Api/V2/Request/Model/Transaction/StoreRequest.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace FireflyIII\Api\V2\Request\Model\Transaction; +use Illuminate\Contracts\Validation\Validator; use FireflyIII\Enums\UserRoleEnum; use FireflyIII\Models\UserGroup; use FireflyIII\Rules\BelongsUserGroup; @@ -40,7 +41,6 @@ use FireflyIII\Validation\GroupValidation; use FireflyIII\Validation\TransactionValidation; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Log; -use Illuminate\Validation\Validator; /** * Class StoreRequest diff --git a/app/Api/V2/Request/Model/Transaction/UpdateRequest.php b/app/Api/V2/Request/Model/Transaction/UpdateRequest.php index 3aeda0e3c3..2511d52e26 100644 --- a/app/Api/V2/Request/Model/Transaction/UpdateRequest.php +++ b/app/Api/V2/Request/Model/Transaction/UpdateRequest.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace FireflyIII\Api\V2\Request\Model\Transaction; +use Illuminate\Contracts\Validation\Validator; use Override; use FireflyIII\Api\V1\Requests\Models\AvailableBudget\Request; use FireflyIII\Exceptions\FireflyException; @@ -38,7 +39,6 @@ use FireflyIII\Support\Request\ConvertsDataTypes; use FireflyIII\Validation\GroupValidation; use FireflyIII\Validation\TransactionValidation; use Illuminate\Support\Facades\Log; -use Illuminate\Validation\Validator; /** * Class UpdateRequest diff --git a/app/Http/Requests/AccountFormRequest.php b/app/Http/Requests/AccountFormRequest.php index 9cd8d51163..8d99bc4765 100644 --- a/app/Http/Requests/AccountFormRequest.php +++ b/app/Http/Requests/AccountFormRequest.php @@ -23,6 +23,7 @@ declare(strict_types=1); namespace FireflyIII\Http\Requests; +use Illuminate\Contracts\Validation\Validator; use FireflyIII\Enums\UserRoleEnum; use FireflyIII\Models\Account; use FireflyIII\Models\Location; @@ -33,7 +34,6 @@ use FireflyIII\Support\Request\ChecksLogin; use FireflyIII\Support\Request\ConvertsDataTypes; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Log; -use Illuminate\Validation\Validator; /** * Class AccountFormRequest. diff --git a/app/Http/Requests/AttachmentFormRequest.php b/app/Http/Requests/AttachmentFormRequest.php index f481510ee6..2da2240168 100644 --- a/app/Http/Requests/AttachmentFormRequest.php +++ b/app/Http/Requests/AttachmentFormRequest.php @@ -23,11 +23,11 @@ declare(strict_types=1); namespace FireflyIII\Http\Requests; +use Illuminate\Contracts\Validation\Validator; use FireflyIII\Support\Request\ChecksLogin; use FireflyIII\Support\Request\ConvertsDataTypes; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Log; -use Illuminate\Validation\Validator; /** * Class AttachmentFormRequest. diff --git a/app/Http/Requests/BillStoreRequest.php b/app/Http/Requests/BillStoreRequest.php index 37e9f7ef02..0f530a2191 100644 --- a/app/Http/Requests/BillStoreRequest.php +++ b/app/Http/Requests/BillStoreRequest.php @@ -23,12 +23,12 @@ declare(strict_types=1); namespace FireflyIII\Http\Requests; +use Illuminate\Contracts\Validation\Validator; use FireflyIII\Rules\IsValidPositiveAmount; use FireflyIII\Support\Request\ChecksLogin; use FireflyIII\Support\Request\ConvertsDataTypes; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Log; -use Illuminate\Validation\Validator; /** * Class BillStoreRequest. diff --git a/app/Http/Requests/BillUpdateRequest.php b/app/Http/Requests/BillUpdateRequest.php index cde6978364..f4376c00b4 100644 --- a/app/Http/Requests/BillUpdateRequest.php +++ b/app/Http/Requests/BillUpdateRequest.php @@ -23,13 +23,13 @@ declare(strict_types=1); namespace FireflyIII\Http\Requests; +use Illuminate\Contracts\Validation\Validator; use FireflyIII\Models\Bill; use FireflyIII\Rules\IsValidPositiveAmount; use FireflyIII\Support\Request\ChecksLogin; use FireflyIII\Support\Request\ConvertsDataTypes; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Log; -use Illuminate\Validation\Validator; /** * Class BillUpdateRequest. diff --git a/app/Http/Requests/BudgetFormStoreRequest.php b/app/Http/Requests/BudgetFormStoreRequest.php index 86779d3794..cb6c99f037 100644 --- a/app/Http/Requests/BudgetFormStoreRequest.php +++ b/app/Http/Requests/BudgetFormStoreRequest.php @@ -23,13 +23,13 @@ declare(strict_types=1); namespace FireflyIII\Http\Requests; +use Illuminate\Contracts\Validation\Validator; use FireflyIII\Rules\IsValidPositiveAmount; use FireflyIII\Support\Request\ChecksLogin; use FireflyIII\Support\Request\ConvertsDataTypes; use FireflyIII\Validation\AutoBudget\ValidatesAutoBudgetRequest; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Log; -use Illuminate\Validation\Validator; /** * Class BudgetFormStoreRequest diff --git a/app/Http/Requests/BudgetFormUpdateRequest.php b/app/Http/Requests/BudgetFormUpdateRequest.php index 5dbecfd4c8..4fc1ec8f47 100644 --- a/app/Http/Requests/BudgetFormUpdateRequest.php +++ b/app/Http/Requests/BudgetFormUpdateRequest.php @@ -23,6 +23,7 @@ declare(strict_types=1); namespace FireflyIII\Http\Requests; +use Illuminate\Contracts\Validation\Validator; use FireflyIII\Models\Budget; use FireflyIII\Rules\IsValidPositiveAmount; use FireflyIII\Support\Request\ChecksLogin; @@ -30,7 +31,6 @@ use FireflyIII\Support\Request\ConvertsDataTypes; use FireflyIII\Validation\AutoBudget\ValidatesAutoBudgetRequest; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Log; -use Illuminate\Validation\Validator; /** * Class BudgetFormUpdateRequest diff --git a/app/Http/Requests/BudgetIncomeRequest.php b/app/Http/Requests/BudgetIncomeRequest.php index d75f81faa9..d0a2b96b17 100644 --- a/app/Http/Requests/BudgetIncomeRequest.php +++ b/app/Http/Requests/BudgetIncomeRequest.php @@ -23,11 +23,11 @@ declare(strict_types=1); namespace FireflyIII\Http\Requests; +use Illuminate\Contracts\Validation\Validator; use FireflyIII\Rules\IsValidPositiveAmount; use FireflyIII\Support\Request\ChecksLogin; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Log; -use Illuminate\Validation\Validator; /** * Class BudgetIncomeRequest. diff --git a/app/Http/Requests/BulkEditJournalRequest.php b/app/Http/Requests/BulkEditJournalRequest.php index 4bbaafa77b..bcbbf533ca 100644 --- a/app/Http/Requests/BulkEditJournalRequest.php +++ b/app/Http/Requests/BulkEditJournalRequest.php @@ -23,11 +23,11 @@ declare(strict_types=1); namespace FireflyIII\Http\Requests; +use Illuminate\Contracts\Validation\Validator; use FireflyIII\Support\Request\ChecksLogin; use FireflyIII\Support\Request\ConvertsDataTypes; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Log; -use Illuminate\Validation\Validator; /** * Class MassEditBulkJournalRequest. diff --git a/app/Http/Requests/CategoryFormRequest.php b/app/Http/Requests/CategoryFormRequest.php index 8ca3455168..53e25c7be3 100644 --- a/app/Http/Requests/CategoryFormRequest.php +++ b/app/Http/Requests/CategoryFormRequest.php @@ -23,12 +23,12 @@ declare(strict_types=1); namespace FireflyIII\Http\Requests; +use Illuminate\Contracts\Validation\Validator; use FireflyIII\Models\Category; use FireflyIII\Support\Request\ChecksLogin; use FireflyIII\Support\Request\ConvertsDataTypes; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Log; -use Illuminate\Validation\Validator; /** * Class CategoryFormRequest. diff --git a/app/Http/Requests/ConfigurationRequest.php b/app/Http/Requests/ConfigurationRequest.php index 57f8a969b4..212b706b5f 100644 --- a/app/Http/Requests/ConfigurationRequest.php +++ b/app/Http/Requests/ConfigurationRequest.php @@ -23,10 +23,10 @@ declare(strict_types=1); namespace FireflyIII\Http\Requests; +use Illuminate\Contracts\Validation\Validator; use FireflyIII\Support\Request\ChecksLogin; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Log; -use Illuminate\Validation\Validator; /** * Class ConfigurationRequest. diff --git a/app/Http/Requests/CurrencyFormRequest.php b/app/Http/Requests/CurrencyFormRequest.php index 959678e64c..9a4f49672c 100644 --- a/app/Http/Requests/CurrencyFormRequest.php +++ b/app/Http/Requests/CurrencyFormRequest.php @@ -23,12 +23,12 @@ declare(strict_types=1); namespace FireflyIII\Http\Requests; +use Illuminate\Contracts\Validation\Validator; use FireflyIII\Models\TransactionCurrency; use FireflyIII\Support\Request\ChecksLogin; use FireflyIII\Support\Request\ConvertsDataTypes; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Log; -use Illuminate\Validation\Validator; /** * Class CurrencyFormRequest. diff --git a/app/Http/Requests/DeleteAccountFormRequest.php b/app/Http/Requests/DeleteAccountFormRequest.php index 31222e084a..c06cba8b51 100644 --- a/app/Http/Requests/DeleteAccountFormRequest.php +++ b/app/Http/Requests/DeleteAccountFormRequest.php @@ -23,10 +23,10 @@ declare(strict_types=1); namespace FireflyIII\Http\Requests; +use Illuminate\Contracts\Validation\Validator; use FireflyIII\Support\Request\ChecksLogin; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Log; -use Illuminate\Validation\Validator; /** * Class DeleteAccountFormRequest. diff --git a/app/Http/Requests/EmailFormRequest.php b/app/Http/Requests/EmailFormRequest.php index cd4369f3ec..26f2c66750 100644 --- a/app/Http/Requests/EmailFormRequest.php +++ b/app/Http/Requests/EmailFormRequest.php @@ -23,11 +23,11 @@ declare(strict_types=1); namespace FireflyIII\Http\Requests; +use Illuminate\Contracts\Validation\Validator; use FireflyIII\Support\Request\ChecksLogin; use FireflyIII\Support\Request\ConvertsDataTypes; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Log; -use Illuminate\Validation\Validator; /** * Class EmailFormRequest. diff --git a/app/Http/Requests/ExistingTokenFormRequest.php b/app/Http/Requests/ExistingTokenFormRequest.php index b843012fba..37f7eb7867 100644 --- a/app/Http/Requests/ExistingTokenFormRequest.php +++ b/app/Http/Requests/ExistingTokenFormRequest.php @@ -23,10 +23,10 @@ declare(strict_types=1); namespace FireflyIII\Http\Requests; +use Illuminate\Contracts\Validation\Validator; use FireflyIII\Support\Request\ChecksLogin; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Log; -use Illuminate\Validation\Validator; /** * Class ExistingTokenFormRequest. diff --git a/app/Http/Requests/InviteUserFormRequest.php b/app/Http/Requests/InviteUserFormRequest.php index 2c31d965ce..5c71175d81 100644 --- a/app/Http/Requests/InviteUserFormRequest.php +++ b/app/Http/Requests/InviteUserFormRequest.php @@ -24,11 +24,11 @@ declare(strict_types=1); namespace FireflyIII\Http\Requests; +use Illuminate\Contracts\Validation\Validator; use FireflyIII\Support\Request\ChecksLogin; use FireflyIII\Support\Request\ConvertsDataTypes; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Log; -use Illuminate\Validation\Validator; /** * Class InviteUserFormRequest diff --git a/app/Http/Requests/JournalLinkRequest.php b/app/Http/Requests/JournalLinkRequest.php index 185aaea191..f924a24ee6 100644 --- a/app/Http/Requests/JournalLinkRequest.php +++ b/app/Http/Requests/JournalLinkRequest.php @@ -23,12 +23,12 @@ declare(strict_types=1); namespace FireflyIII\Http\Requests; +use Illuminate\Contracts\Validation\Validator; use FireflyIII\Models\LinkType; use FireflyIII\Support\Request\ChecksLogin; use FireflyIII\Support\Request\ConvertsDataTypes; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Log; -use Illuminate\Validation\Validator; /** * Class JournalLink. diff --git a/app/Http/Requests/LinkTypeFormRequest.php b/app/Http/Requests/LinkTypeFormRequest.php index 3fb7511c6a..202b3fe3b8 100644 --- a/app/Http/Requests/LinkTypeFormRequest.php +++ b/app/Http/Requests/LinkTypeFormRequest.php @@ -23,11 +23,11 @@ declare(strict_types=1); namespace FireflyIII\Http\Requests; +use Illuminate\Contracts\Validation\Validator; use FireflyIII\Support\Request\ChecksLogin; use FireflyIII\Support\Request\ConvertsDataTypes; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Log; -use Illuminate\Validation\Validator; /** * Class LinkTypeFormRequest. diff --git a/app/Http/Requests/MassDeleteJournalRequest.php b/app/Http/Requests/MassDeleteJournalRequest.php index 603e8a7d51..5700ac4224 100644 --- a/app/Http/Requests/MassDeleteJournalRequest.php +++ b/app/Http/Requests/MassDeleteJournalRequest.php @@ -23,10 +23,10 @@ declare(strict_types=1); namespace FireflyIII\Http\Requests; +use Illuminate\Contracts\Validation\Validator; use FireflyIII\Support\Request\ChecksLogin; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Log; -use Illuminate\Validation\Validator; /** * Class MassDeleteJournalRequest. diff --git a/app/Http/Requests/MassEditJournalRequest.php b/app/Http/Requests/MassEditJournalRequest.php index 7f217aaf67..d236c3abc0 100644 --- a/app/Http/Requests/MassEditJournalRequest.php +++ b/app/Http/Requests/MassEditJournalRequest.php @@ -23,10 +23,10 @@ declare(strict_types=1); namespace FireflyIII\Http\Requests; +use Illuminate\Contracts\Validation\Validator; use FireflyIII\Support\Request\ChecksLogin; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Log; -use Illuminate\Validation\Validator; /** * Class MassEditJournalRequest. diff --git a/app/Http/Requests/NewUserFormRequest.php b/app/Http/Requests/NewUserFormRequest.php index bed1e3def7..1d0da88187 100644 --- a/app/Http/Requests/NewUserFormRequest.php +++ b/app/Http/Requests/NewUserFormRequest.php @@ -23,12 +23,12 @@ declare(strict_types=1); namespace FireflyIII\Http\Requests; +use Illuminate\Contracts\Validation\Validator; use FireflyIII\Rules\IsValidAmount; use FireflyIII\Support\Request\ChecksLogin; use FireflyIII\Support\Request\ConvertsDataTypes; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Log; -use Illuminate\Validation\Validator; /** * Class NewUserFormRequest. diff --git a/app/Http/Requests/ObjectGroupFormRequest.php b/app/Http/Requests/ObjectGroupFormRequest.php index 8d8dcb1b8a..5febc46231 100644 --- a/app/Http/Requests/ObjectGroupFormRequest.php +++ b/app/Http/Requests/ObjectGroupFormRequest.php @@ -23,12 +23,12 @@ declare(strict_types=1); namespace FireflyIII\Http\Requests; +use Illuminate\Contracts\Validation\Validator; use FireflyIII\Models\ObjectGroup; use FireflyIII\Support\Request\ChecksLogin; use FireflyIII\Support\Request\ConvertsDataTypes; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Log; -use Illuminate\Validation\Validator; /** * Class ObjectGroupFormRequest. diff --git a/app/Http/Requests/PiggyBankStoreRequest.php b/app/Http/Requests/PiggyBankStoreRequest.php index d3ce9e2507..61ba326821 100644 --- a/app/Http/Requests/PiggyBankStoreRequest.php +++ b/app/Http/Requests/PiggyBankStoreRequest.php @@ -23,6 +23,7 @@ declare(strict_types=1); namespace FireflyIII\Http\Requests; +use Illuminate\Contracts\Validation\Validator; use FireflyIII\Models\TransactionCurrency; use FireflyIII\Repositories\Account\AccountRepositoryInterface; use FireflyIII\Rules\IsValidPositiveAmount; @@ -31,7 +32,6 @@ use FireflyIII\Support\Request\ChecksLogin; use FireflyIII\Support\Request\ConvertsDataTypes; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Log; -use Illuminate\Validation\Validator; /** * Class PiggyBankStoreRequest. diff --git a/app/Http/Requests/PiggyBankUpdateRequest.php b/app/Http/Requests/PiggyBankUpdateRequest.php index 56f023768c..d6facfb7de 100644 --- a/app/Http/Requests/PiggyBankUpdateRequest.php +++ b/app/Http/Requests/PiggyBankUpdateRequest.php @@ -23,6 +23,7 @@ declare(strict_types=1); namespace FireflyIII\Http\Requests; +use Illuminate\Contracts\Validation\Validator; use FireflyIII\Models\PiggyBank; use FireflyIII\Models\TransactionCurrency; use FireflyIII\Repositories\Account\AccountRepositoryInterface; @@ -32,7 +33,6 @@ use FireflyIII\Support\Request\ChecksLogin; use FireflyIII\Support\Request\ConvertsDataTypes; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Log; -use Illuminate\Validation\Validator; /** * Class PiggyBankFormRequest. diff --git a/app/Http/Requests/ProfileFormRequest.php b/app/Http/Requests/ProfileFormRequest.php index bf741778e6..65034257b9 100644 --- a/app/Http/Requests/ProfileFormRequest.php +++ b/app/Http/Requests/ProfileFormRequest.php @@ -23,10 +23,10 @@ declare(strict_types=1); namespace FireflyIII\Http\Requests; +use Illuminate\Contracts\Validation\Validator; use FireflyIII\Support\Request\ChecksLogin; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Log; -use Illuminate\Validation\Validator; /** * Class ProfileFormRequest. diff --git a/app/Http/Requests/ReconciliationStoreRequest.php b/app/Http/Requests/ReconciliationStoreRequest.php index 75a1a6d8e3..d9827230ed 100644 --- a/app/Http/Requests/ReconciliationStoreRequest.php +++ b/app/Http/Requests/ReconciliationStoreRequest.php @@ -24,13 +24,13 @@ declare(strict_types=1); namespace FireflyIII\Http\Requests; +use Illuminate\Contracts\Validation\Validator; use FireflyIII\Rules\IsValidAmount; use FireflyIII\Rules\ValidJournals; use FireflyIII\Support\Request\ChecksLogin; use FireflyIII\Support\Request\ConvertsDataTypes; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Log; -use Illuminate\Validation\Validator; /** * Class ReconciliationStoreRequest diff --git a/app/Http/Requests/RecurrenceFormRequest.php b/app/Http/Requests/RecurrenceFormRequest.php index 9613291d3f..8536cdf206 100644 --- a/app/Http/Requests/RecurrenceFormRequest.php +++ b/app/Http/Requests/RecurrenceFormRequest.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace FireflyIII\Http\Requests; +use Illuminate\Contracts\Validation\Validator; use FireflyIII\Enums\TransactionTypeEnum; use FireflyIII\Exceptions\FireflyException; use FireflyIII\Factory\CategoryFactory; @@ -36,7 +37,6 @@ use FireflyIII\Support\Request\ConvertsDataTypes; use FireflyIII\Validation\AccountValidator; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Log; -use Illuminate\Validation\Validator; /** * Class RecurrenceFormRequest diff --git a/app/Http/Requests/ReportFormRequest.php b/app/Http/Requests/ReportFormRequest.php index 8c5de287d4..f3b96f4a3e 100644 --- a/app/Http/Requests/ReportFormRequest.php +++ b/app/Http/Requests/ReportFormRequest.php @@ -23,6 +23,7 @@ declare(strict_types=1); namespace FireflyIII\Http\Requests; +use Illuminate\Contracts\Validation\Validator; use Carbon\Carbon; use Exception; use FireflyIII\Exceptions\FireflyException; @@ -34,7 +35,6 @@ use FireflyIII\Support\Request\ChecksLogin; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Collection; use Illuminate\Support\Facades\Log; -use Illuminate\Validation\Validator; use function Safe\preg_match; diff --git a/app/Http/Requests/RuleFormRequest.php b/app/Http/Requests/RuleFormRequest.php index 8b7d9ca061..03b1beb270 100644 --- a/app/Http/Requests/RuleFormRequest.php +++ b/app/Http/Requests/RuleFormRequest.php @@ -23,6 +23,7 @@ declare(strict_types=1); namespace FireflyIII\Http\Requests; +use Illuminate\Contracts\Validation\Validator; use FireflyIII\Models\Rule; use FireflyIII\Rules\IsValidActionExpression; use FireflyIII\Support\Request\ChecksLogin; @@ -30,7 +31,6 @@ use FireflyIII\Support\Request\ConvertsDataTypes; use FireflyIII\Support\Request\GetRuleConfiguration; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Log; -use Illuminate\Validation\Validator; /** * Class RuleFormRequest. diff --git a/app/Http/Requests/RuleGroupFormRequest.php b/app/Http/Requests/RuleGroupFormRequest.php index 8f5c4af01b..f73cff0b74 100644 --- a/app/Http/Requests/RuleGroupFormRequest.php +++ b/app/Http/Requests/RuleGroupFormRequest.php @@ -23,13 +23,13 @@ declare(strict_types=1); namespace FireflyIII\Http\Requests; +use Illuminate\Contracts\Validation\Validator; use FireflyIII\Models\RuleGroup; use FireflyIII\Rules\IsBoolean; use FireflyIII\Support\Request\ChecksLogin; use FireflyIII\Support\Request\ConvertsDataTypes; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Log; -use Illuminate\Validation\Validator; /** * Class RuleGroupFormRequest. diff --git a/app/Http/Requests/SelectTransactionsRequest.php b/app/Http/Requests/SelectTransactionsRequest.php index e87b4af6b1..4ad02aefd5 100644 --- a/app/Http/Requests/SelectTransactionsRequest.php +++ b/app/Http/Requests/SelectTransactionsRequest.php @@ -23,11 +23,11 @@ declare(strict_types=1); namespace FireflyIII\Http\Requests; +use Illuminate\Contracts\Validation\Validator; use Carbon\Carbon; use FireflyIII\Support\Request\ChecksLogin; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Log; -use Illuminate\Validation\Validator; /** * Class SelectTransactionsRequest. diff --git a/app/Http/Requests/TagFormRequest.php b/app/Http/Requests/TagFormRequest.php index 2529907f0f..8686b2bd5d 100644 --- a/app/Http/Requests/TagFormRequest.php +++ b/app/Http/Requests/TagFormRequest.php @@ -23,6 +23,7 @@ declare(strict_types=1); namespace FireflyIII\Http\Requests; +use Illuminate\Contracts\Validation\Validator; use FireflyIII\Models\Location; use FireflyIII\Models\Tag; use FireflyIII\Support\Request\AppendsLocationData; @@ -30,7 +31,6 @@ use FireflyIII\Support\Request\ChecksLogin; use FireflyIII\Support\Request\ConvertsDataTypes; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Log; -use Illuminate\Validation\Validator; /** * Class TagFormRequest. diff --git a/app/Http/Requests/TestRuleFormRequest.php b/app/Http/Requests/TestRuleFormRequest.php index 0cf0524667..fa4e289e4e 100644 --- a/app/Http/Requests/TestRuleFormRequest.php +++ b/app/Http/Requests/TestRuleFormRequest.php @@ -23,11 +23,11 @@ declare(strict_types=1); namespace FireflyIII\Http\Requests; +use Illuminate\Contracts\Validation\Validator; use FireflyIII\Support\Request\ChecksLogin; use FireflyIII\Support\Request\GetRuleConfiguration; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Log; -use Illuminate\Validation\Validator; /** * Class TestRuleFormRequest. diff --git a/app/Http/Requests/TokenFormRequest.php b/app/Http/Requests/TokenFormRequest.php index 3a53cbe7ab..19c0f3bc06 100644 --- a/app/Http/Requests/TokenFormRequest.php +++ b/app/Http/Requests/TokenFormRequest.php @@ -23,10 +23,10 @@ declare(strict_types=1); namespace FireflyIII\Http\Requests; +use Illuminate\Contracts\Validation\Validator; use FireflyIII\Support\Request\ChecksLogin; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Log; -use Illuminate\Validation\Validator; /** * Class TokenFormRequest. diff --git a/app/Http/Requests/TriggerRecurrenceRequest.php b/app/Http/Requests/TriggerRecurrenceRequest.php index c03e531a00..36d16331d6 100644 --- a/app/Http/Requests/TriggerRecurrenceRequest.php +++ b/app/Http/Requests/TriggerRecurrenceRequest.php @@ -24,11 +24,11 @@ declare(strict_types=1); namespace FireflyIII\Http\Requests; +use Illuminate\Contracts\Validation\Validator; use FireflyIII\Support\Request\ChecksLogin; use FireflyIII\Support\Request\ConvertsDataTypes; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Log; -use Illuminate\Validation\Validator; /** * Class TriggerRecurrenceRequest diff --git a/app/Http/Requests/UserFormRequest.php b/app/Http/Requests/UserFormRequest.php index 409cfba453..cc89dff35b 100644 --- a/app/Http/Requests/UserFormRequest.php +++ b/app/Http/Requests/UserFormRequest.php @@ -23,11 +23,11 @@ declare(strict_types=1); namespace FireflyIII\Http\Requests; +use Illuminate\Contracts\Validation\Validator; use FireflyIII\Support\Request\ChecksLogin; use FireflyIII\Support\Request\ConvertsDataTypes; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Log; -use Illuminate\Validation\Validator; /** * Class UserFormRequest. diff --git a/app/Http/Requests/UserRegistrationRequest.php b/app/Http/Requests/UserRegistrationRequest.php index 6e26763831..8bd3504ea3 100644 --- a/app/Http/Requests/UserRegistrationRequest.php +++ b/app/Http/Requests/UserRegistrationRequest.php @@ -23,10 +23,10 @@ declare(strict_types=1); namespace FireflyIII\Http\Requests; +use Illuminate\Contracts\Validation\Validator; use FireflyIII\Support\Request\ChecksLogin; use Illuminate\Foundation\Http\FormRequest; use Illuminate\Support\Facades\Log; -use Illuminate\Validation\Validator; /** * Class UserRegistrationRequest. diff --git a/app/Models/Account.php b/app/Models/Account.php index f7110c38b7..5465c1e107 100644 --- a/app/Models/Account.php +++ b/app/Models/Account.php @@ -23,6 +23,7 @@ declare(strict_types=1); namespace FireflyIII\Models; +use Illuminate\Database\Eloquent\Attributes\Scope; use FireflyIII\Enums\AccountTypeEnum; use FireflyIII\Support\Models\ReturnsIntegerIdTrait; use FireflyIII\Support\Models\ReturnsIntegerUserIdTrait; @@ -46,19 +47,6 @@ class Account extends Model use ReturnsIntegerUserIdTrait; use SoftDeletes; - protected $casts - = [ - 'created_at' => 'datetime', - 'updated_at' => 'datetime', - 'user_id' => 'integer', - 'user_group_id' => 'integer', - 'deleted_at' => 'datetime', - 'active' => 'boolean', - 'encrypted' => 'boolean', - 'virtual_balance' => 'string', - 'native_virtual_balance' => 'string', - ]; - protected $fillable = ['user_id', 'user_group_id', 'account_type_id', 'name', 'active', 'virtual_balance', 'iban', 'native_virtual_balance']; protected $hidden = ['encrypted']; @@ -110,15 +98,16 @@ class Account extends Model /** * Get the account number. */ - public function getAccountNumberAttribute(): string + protected function accountNumber(): Attribute { - /** @var null|AccountMeta $metaValue */ - $metaValue = $this->accountMeta() - ->where('name', 'account_number') - ->first() - ; - - return null !== $metaValue ? $metaValue->data : ''; + return Attribute::make(get: function () { + /** @var null|AccountMeta $metaValue */ + $metaValue = $this->accountMeta() + ->where('name', 'account_number') + ->first() + ; + return null !== $metaValue ? $metaValue->data : ''; + }); } public function accountMeta(): HasMany @@ -126,15 +115,15 @@ class Account extends Model return $this->hasMany(AccountMeta::class); } - public function getEditNameAttribute(): string + protected function editName(): Attribute { - $name = $this->name; - - if (AccountTypeEnum::CASH->value === $this->accountType->type) { - return ''; - } - - return $name; + return Attribute::make(get: function () { + $name = $this->name; + if (AccountTypeEnum::CASH->value === $this->accountType->type) { + return ''; + } + return $name; + }); } public function locations(): MorphMany @@ -163,7 +152,8 @@ class Account extends Model return $this->belongsToMany(PiggyBank::class); } - public function scopeAccountTypeIn(EloquentBuilder $query, array $types): void + #[Scope] + protected function accountTypeIn(EloquentBuilder $query, array $types): void { if (false === $this->joinedAccountTypes) { $query->leftJoin('account_types', 'account_types.id', '=', 'accounts.account_type_id'); @@ -231,4 +221,18 @@ class Account extends Model get: static fn ($value) => (string) $value, ); } + protected function casts(): array + { + return [ + 'created_at' => 'datetime', + 'updated_at' => 'datetime', + 'user_id' => 'integer', + 'user_group_id' => 'integer', + 'deleted_at' => 'datetime', + 'active' => 'boolean', + 'encrypted' => 'boolean', + 'virtual_balance' => 'string', + 'native_virtual_balance' => 'string', + ]; + } } diff --git a/app/Models/AccountMeta.php b/app/Models/AccountMeta.php index c053cdafb4..5e3cca85e2 100644 --- a/app/Models/AccountMeta.php +++ b/app/Models/AccountMeta.php @@ -23,6 +23,7 @@ declare(strict_types=1); namespace FireflyIII\Models; +use Illuminate\Database\Eloquent\Casts\Attribute; use FireflyIII\Support\Models\ReturnsIntegerIdTrait; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\BelongsTo; @@ -34,12 +35,6 @@ class AccountMeta extends Model { use ReturnsIntegerIdTrait; - protected $casts - = [ - 'created_at' => 'datetime', - 'updated_at' => 'datetime', - ]; - protected $fillable = ['account_id', 'name', 'data']; protected $table = 'account_meta'; @@ -48,13 +43,16 @@ class AccountMeta extends Model return $this->belongsTo(Account::class); } - public function getDataAttribute(mixed $value): string + protected function data(): Attribute { - return (string) json_decode((string) $value, true); + return Attribute::make(get: fn(mixed $value) => (string) json_decode((string) $value, true), set: fn(mixed $value) => ['data' => json_encode($value)]); } - public function setDataAttribute(mixed $value): void + protected function casts(): array { - $this->attributes['data'] = json_encode($value); + return [ + 'created_at' => 'datetime', + 'updated_at' => 'datetime', + ]; } } diff --git a/app/Models/Attachment.php b/app/Models/Attachment.php index c46326e7fe..b8ba65a49b 100644 --- a/app/Models/Attachment.php +++ b/app/Models/Attachment.php @@ -40,16 +40,6 @@ class Attachment extends Model use ReturnsIntegerUserIdTrait; use SoftDeletes; - protected $casts - = [ - 'created_at' => 'datetime', - 'updated_at' => 'datetime', - 'deleted_at' => 'datetime', - 'uploaded' => 'boolean', - 'user_id' => 'integer', - 'user_group_id' => 'integer', - ]; - protected $fillable = ['attachable_id', 'attachable_type', 'user_id', 'user_group_id', 'md5', 'filename', 'mime', 'title', 'description', 'size', 'uploaded']; /** @@ -110,4 +100,15 @@ class Attachment extends Model get: static fn ($value) => (int) $value, ); } + protected function casts(): array + { + return [ + 'created_at' => 'datetime', + 'updated_at' => 'datetime', + 'deleted_at' => 'datetime', + 'uploaded' => 'boolean', + 'user_id' => 'integer', + 'user_group_id' => 'integer', + ]; + } } diff --git a/app/Models/AuditLogEntry.php b/app/Models/AuditLogEntry.php index 436436340e..b5b27108af 100644 --- a/app/Models/AuditLogEntry.php +++ b/app/Models/AuditLogEntry.php @@ -35,15 +35,6 @@ class AuditLogEntry extends Model use ReturnsIntegerIdTrait; use SoftDeletes; - protected $casts - = [ - 'before' => 'array', - 'after' => 'array', - 'created_at' => 'datetime', - 'updated_at' => 'datetime', - 'deleted_at' => 'datetime', - ]; - public function auditable(): MorphTo { return $this->morphTo(); @@ -67,4 +58,14 @@ class AuditLogEntry extends Model get: static fn ($value) => (int) $value, ); } + protected function casts(): array + { + return [ + 'before' => 'array', + 'after' => 'array', + 'created_at' => 'datetime', + 'updated_at' => 'datetime', + 'deleted_at' => 'datetime', + ]; + } } diff --git a/app/Models/AvailableBudget.php b/app/Models/AvailableBudget.php index 043ee93cf5..774900c289 100644 --- a/app/Models/AvailableBudget.php +++ b/app/Models/AvailableBudget.php @@ -39,20 +39,6 @@ class AvailableBudget extends Model use ReturnsIntegerUserIdTrait; use SoftDeletes; - protected $casts - = [ - 'created_at' => 'datetime', - 'updated_at' => 'datetime', - 'deleted_at' => 'datetime', - 'start_date' => 'date', - 'end_date' => 'date', - 'transaction_currency_id' => 'int', - 'amount' => 'string', - 'native_amount' => 'string', - 'user_id' => 'integer', - 'user_group_id' => 'integer', - ]; - protected $fillable = ['user_id', 'user_group_id', 'transaction_currency_id', 'amount', 'start_date', 'end_date', 'start_date_tz', 'end_date_tz', 'native_amount']; /** @@ -117,4 +103,19 @@ class AvailableBudget extends Model get: static fn ($value) => (int) $value, ); } + protected function casts(): array + { + return [ + 'created_at' => 'datetime', + 'updated_at' => 'datetime', + 'deleted_at' => 'datetime', + 'start_date' => 'date', + 'end_date' => 'date', + 'transaction_currency_id' => 'int', + 'amount' => 'string', + 'native_amount' => 'string', + 'user_id' => 'integer', + 'user_group_id' => 'integer', + ]; + } } diff --git a/app/Models/Bill.php b/app/Models/Bill.php index 2e3ef309ea..9dd230feb3 100644 --- a/app/Models/Bill.php +++ b/app/Models/Bill.php @@ -42,25 +42,6 @@ class Bill extends Model use ReturnsIntegerUserIdTrait; use SoftDeletes; - protected $casts - = [ - 'created_at' => 'datetime', - 'updated_at' => 'datetime', - 'deleted_at' => 'datetime', - 'date' => SeparateTimezoneCaster::class, - 'end_date' => SeparateTimezoneCaster::class, - 'extension_date' => SeparateTimezoneCaster::class, - 'skip' => 'int', - 'automatch' => 'boolean', - 'active' => 'boolean', - 'name_encrypted' => 'boolean', - 'match_encrypted' => 'boolean', - 'amount_min' => 'string', - 'amount_max' => 'string', - 'native_amount_min' => 'string', - 'native_amount_max' => 'string', - ]; - protected $fillable = [ 'name', @@ -204,4 +185,24 @@ class Bill extends Model get: static fn ($value) => (int) $value, ); } + protected function casts(): array + { + return [ + 'created_at' => 'datetime', + 'updated_at' => 'datetime', + 'deleted_at' => 'datetime', + 'date' => SeparateTimezoneCaster::class, + 'end_date' => SeparateTimezoneCaster::class, + 'extension_date' => SeparateTimezoneCaster::class, + 'skip' => 'int', + 'automatch' => 'boolean', + 'active' => 'boolean', + 'name_encrypted' => 'boolean', + 'match_encrypted' => 'boolean', + 'amount_min' => 'string', + 'amount_max' => 'string', + 'native_amount_min' => 'string', + 'native_amount_max' => 'string', + ]; + } } diff --git a/app/Models/Budget.php b/app/Models/Budget.php index ca1f083071..e670c69f31 100644 --- a/app/Models/Budget.php +++ b/app/Models/Budget.php @@ -41,17 +41,6 @@ class Budget extends Model use ReturnsIntegerUserIdTrait; use SoftDeletes; - protected $casts - = [ - 'created_at' => 'datetime', - 'updated_at' => 'datetime', - 'deleted_at' => 'datetime', - 'active' => 'boolean', - 'encrypted' => 'boolean', - 'user_id' => 'integer', - 'user_group_id' => 'integer', - ]; - protected $fillable = ['user_id', 'user_group_id', 'name', 'active', 'order', 'user_group_id']; protected $hidden = ['encrypted']; @@ -123,4 +112,16 @@ class Budget extends Model get: static fn ($value) => (int) $value, ); } + protected function casts(): array + { + return [ + 'created_at' => 'datetime', + 'updated_at' => 'datetime', + 'deleted_at' => 'datetime', + 'active' => 'boolean', + 'encrypted' => 'boolean', + 'user_id' => 'integer', + 'user_group_id' => 'integer', + ]; + } } diff --git a/app/Models/BudgetLimit.php b/app/Models/BudgetLimit.php index 6f1c891182..571d750977 100644 --- a/app/Models/BudgetLimit.php +++ b/app/Models/BudgetLimit.php @@ -37,17 +37,6 @@ use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; class BudgetLimit extends Model { use ReturnsIntegerIdTrait; - - protected $casts - = [ - 'created_at' => 'datetime', - 'updated_at' => 'datetime', - 'start_date' => SeparateTimezoneCaster::class, - 'end_date' => SeparateTimezoneCaster::class, - 'auto_budget' => 'boolean', - 'amount' => 'string', - 'native_amount' => 'string', - ]; protected $dispatchesEvents = [ 'created' => Created::class, @@ -120,4 +109,16 @@ class BudgetLimit extends Model get: static fn ($value) => (int) $value, ); } + protected function casts(): array + { + return [ + 'created_at' => 'datetime', + 'updated_at' => 'datetime', + 'start_date' => SeparateTimezoneCaster::class, + 'end_date' => SeparateTimezoneCaster::class, + 'auto_budget' => 'boolean', + 'amount' => 'string', + 'native_amount' => 'string', + ]; + } } diff --git a/app/Models/Category.php b/app/Models/Category.php index a426ffa0a1..c8a47b6611 100644 --- a/app/Models/Category.php +++ b/app/Models/Category.php @@ -40,16 +40,6 @@ class Category extends Model use ReturnsIntegerUserIdTrait; use SoftDeletes; - protected $casts - = [ - 'created_at' => 'datetime', - 'updated_at' => 'datetime', - 'deleted_at' => 'datetime', - 'encrypted' => 'boolean', - 'user_id' => 'integer', - 'user_group_id' => 'integer', - ]; - protected $fillable = ['user_id', 'user_group_id', 'name']; protected $hidden = ['encrypted']; @@ -104,4 +94,15 @@ class Category extends Model { return $this->belongsToMany(Transaction::class, 'category_transaction', 'category_id'); } + protected function casts(): array + { + return [ + 'created_at' => 'datetime', + 'updated_at' => 'datetime', + 'deleted_at' => 'datetime', + 'encrypted' => 'boolean', + 'user_id' => 'integer', + 'user_group_id' => 'integer', + ]; + } } diff --git a/app/Models/Configuration.php b/app/Models/Configuration.php index 78c9e8f44e..6cec2053c9 100644 --- a/app/Models/Configuration.php +++ b/app/Models/Configuration.php @@ -23,6 +23,7 @@ declare(strict_types=1); namespace FireflyIII\Models; +use Illuminate\Database\Eloquent\Casts\Attribute; use FireflyIII\Support\Models\ReturnsIntegerIdTrait; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\SoftDeletes; @@ -35,13 +36,6 @@ class Configuration extends Model use ReturnsIntegerIdTrait; use SoftDeletes; - protected $casts - = [ - 'created_at' => 'datetime', - 'updated_at' => 'datetime', - 'deleted_at' => 'datetime', - ]; - protected $table = 'configuration'; /** @@ -51,16 +45,17 @@ class Configuration extends Model * * @return mixed */ - public function getDataAttribute($value) + protected function data(): Attribute { - return json_decode((string) $value); + return Attribute::make(get: fn($value) => json_decode((string) $value), set: fn($value) => ['data' => json_encode($value)]); } - /** - * @param mixed $value - */ - public function setDataAttribute($value): void + protected function casts(): array { - $this->attributes['data'] = json_encode($value); + return [ + 'created_at' => 'datetime', + 'updated_at' => 'datetime', + 'deleted_at' => 'datetime', + ]; } } diff --git a/app/Models/CurrencyExchangeRate.php b/app/Models/CurrencyExchangeRate.php index 430a8c2464..3c8d13ceac 100644 --- a/app/Models/CurrencyExchangeRate.php +++ b/app/Models/CurrencyExchangeRate.php @@ -37,19 +37,6 @@ class CurrencyExchangeRate extends Model use ReturnsIntegerIdTrait; use ReturnsIntegerUserIdTrait; use SoftDeletes; - - protected $casts - = [ - 'created_at' => 'datetime', - 'updated_at' => 'datetime', - 'user_id' => 'integer', - 'user_group_id' => 'integer', - 'from_currency_id' => 'integer', - 'to_currency_id' => 'integer', - 'date' => SeparateTimezoneCaster::class, - 'rate' => 'string', - 'user_rate' => 'string', - ]; protected $fillable = ['user_id', 'from_currency_id', 'to_currency_id', 'date', 'date_tz', 'rate']; public function fromCurrency(): BelongsTo @@ -94,4 +81,18 @@ class CurrencyExchangeRate extends Model get: static fn ($value) => (string) $value, ); } + protected function casts(): array + { + return [ + 'created_at' => 'datetime', + 'updated_at' => 'datetime', + 'user_id' => 'integer', + 'user_group_id' => 'integer', + 'from_currency_id' => 'integer', + 'to_currency_id' => 'integer', + 'date' => SeparateTimezoneCaster::class, + 'rate' => 'string', + 'user_rate' => 'string', + ]; + } } diff --git a/app/Models/GroupMembership.php b/app/Models/GroupMembership.php index 1be2ef9b1d..59cc884d69 100644 --- a/app/Models/GroupMembership.php +++ b/app/Models/GroupMembership.php @@ -36,14 +36,6 @@ class GroupMembership extends Model use ReturnsIntegerIdTrait; use ReturnsIntegerUserIdTrait; - protected $casts - = [ - 'created_at' => 'datetime', - 'updated_at' => 'datetime', - 'user_id' => 'integer', - 'user_group_id' => 'integer', - ]; - protected $fillable = ['user_id', 'user_group_id', 'user_role_id']; public function user(): BelongsTo @@ -67,4 +59,13 @@ class GroupMembership extends Model get: static fn ($value) => (int) $value, ); } + protected function casts(): array + { + return [ + 'created_at' => 'datetime', + 'updated_at' => 'datetime', + 'user_id' => 'integer', + 'user_group_id' => 'integer', + ]; + } } diff --git a/app/Models/InvitedUser.php b/app/Models/InvitedUser.php index da0d77e670..82596f72ec 100644 --- a/app/Models/InvitedUser.php +++ b/app/Models/InvitedUser.php @@ -36,14 +36,6 @@ class InvitedUser extends Model { use ReturnsIntegerIdTrait; use ReturnsIntegerUserIdTrait; - - protected $casts - = [ - 'expires' => SeparateTimezoneCaster::class, - 'redeemed' => 'boolean', - 'user_id' => 'integer', - 'user_group_id' => 'integer', - ]; protected $fillable = ['user_group_id', 'user_id', 'email', 'invite_code', 'expires', 'expires_tz', 'redeemed']; /** @@ -68,4 +60,13 @@ class InvitedUser extends Model { return $this->belongsTo(User::class); } + protected function casts(): array + { + return [ + 'expires' => SeparateTimezoneCaster::class, + 'redeemed' => 'boolean', + 'user_id' => 'integer', + 'user_group_id' => 'integer', + ]; + } } diff --git a/app/Models/LinkType.php b/app/Models/LinkType.php index a865277cd9..9a0579dd32 100644 --- a/app/Models/LinkType.php +++ b/app/Models/LinkType.php @@ -34,14 +34,6 @@ class LinkType extends Model use ReturnsIntegerIdTrait; use SoftDeletes; - protected $casts - = [ - 'created_at' => 'datetime', - 'updated_at' => 'datetime', - 'deleted_at' => 'datetime', - 'editable' => 'boolean', - ]; - protected $fillable = ['name', 'inward', 'outward', 'editable']; /** @@ -66,4 +58,13 @@ class LinkType extends Model { return $this->hasMany(TransactionJournalLink::class); } + protected function casts(): array + { + return [ + 'created_at' => 'datetime', + 'updated_at' => 'datetime', + 'deleted_at' => 'datetime', + 'editable' => 'boolean', + ]; + } } diff --git a/app/Models/Location.php b/app/Models/Location.php index 50d051d532..7762c20e80 100644 --- a/app/Models/Location.php +++ b/app/Models/Location.php @@ -34,16 +34,6 @@ class Location extends Model { use ReturnsIntegerIdTrait; - protected $casts - = [ - 'created_at' => 'datetime', - 'updated_at' => 'datetime', - 'deleted_at' => 'datetime', - 'zoomLevel' => 'int', - 'latitude' => 'float', - 'longitude' => 'float', - ]; - protected $fillable = ['locatable_id', 'locatable_type', 'latitude', 'longitude', 'zoom_level']; /** @@ -82,4 +72,15 @@ class Location extends Model get: static fn ($value) => (int) $value, ); } + protected function casts(): array + { + return [ + 'created_at' => 'datetime', + 'updated_at' => 'datetime', + 'deleted_at' => 'datetime', + 'zoomLevel' => 'int', + 'latitude' => 'float', + 'longitude' => 'float', + ]; + } } diff --git a/app/Models/Note.php b/app/Models/Note.php index 29762af139..c5dcf0f54e 100644 --- a/app/Models/Note.php +++ b/app/Models/Note.php @@ -34,13 +34,6 @@ class Note extends Model use ReturnsIntegerIdTrait; use SoftDeletes; - protected $casts - = [ - 'created_at' => 'datetime', - 'updated_at' => 'datetime', - 'deleted_at' => 'datetime', - ]; - protected $fillable = ['title', 'text', 'noteable_id', 'noteable_type']; /** @@ -57,4 +50,12 @@ class Note extends Model get: static fn ($value) => (int) $value, ); } + protected function casts(): array + { + return [ + 'created_at' => 'datetime', + 'updated_at' => 'datetime', + 'deleted_at' => 'datetime', + ]; + } } diff --git a/app/Models/ObjectGroup.php b/app/Models/ObjectGroup.php index a13614d01c..ec468a545d 100644 --- a/app/Models/ObjectGroup.php +++ b/app/Models/ObjectGroup.php @@ -37,15 +37,6 @@ class ObjectGroup extends Model { use ReturnsIntegerIdTrait; use ReturnsIntegerUserIdTrait; - - protected $casts - = [ - 'created_at' => 'datetime', - 'updated_at' => 'datetime', - 'user_id' => 'integer', - 'user_group_id' => 'integer', - 'deleted_at' => 'datetime', - ]; protected $fillable = ['title', 'order', 'user_id', 'user_group_id']; /** @@ -105,4 +96,14 @@ class ObjectGroup extends Model get: static fn ($value) => (int) $value, ); } + protected function casts(): array + { + return [ + 'created_at' => 'datetime', + 'updated_at' => 'datetime', + 'user_id' => 'integer', + 'user_group_id' => 'integer', + 'deleted_at' => 'datetime', + ]; + } } diff --git a/app/Models/PiggyBank.php b/app/Models/PiggyBank.php index 8d0a680941..2f16545ea3 100644 --- a/app/Models/PiggyBank.php +++ b/app/Models/PiggyBank.php @@ -39,20 +39,6 @@ class PiggyBank extends Model use ReturnsIntegerIdTrait; use SoftDeletes; - protected $casts - = [ - 'created_at' => 'datetime', - 'updated_at' => 'datetime', - 'deleted_at' => 'datetime', - 'start_date' => 'date', - 'target_date' => 'date', - 'order' => 'int', - 'active' => 'boolean', - 'encrypted' => 'boolean', - 'target_amount' => 'string', - 'native_target_amount' => 'string', - ]; - protected $fillable = ['name', 'order', 'target_amount', 'start_date', 'start_date_tz', 'target_date', 'target_date_tz', 'active', 'transaction_currency_id', 'native_target_amount']; /** @@ -154,4 +140,19 @@ class PiggyBank extends Model get: static fn ($value) => (string) $value, ); } + protected function casts(): array + { + return [ + 'created_at' => 'datetime', + 'updated_at' => 'datetime', + 'deleted_at' => 'datetime', + 'start_date' => 'date', + 'target_date' => 'date', + 'order' => 'int', + 'active' => 'boolean', + 'encrypted' => 'boolean', + 'target_amount' => 'string', + 'native_target_amount' => 'string', + ]; + } } diff --git a/app/Models/PiggyBankEvent.php b/app/Models/PiggyBankEvent.php index 9ab7ab7c18..77afbf79ab 100644 --- a/app/Models/PiggyBankEvent.php +++ b/app/Models/PiggyBankEvent.php @@ -33,15 +33,6 @@ class PiggyBankEvent extends Model { use ReturnsIntegerIdTrait; - protected $casts - = [ - 'created_at' => 'datetime', - 'updated_at' => 'datetime', - 'date' => SeparateTimezoneCaster::class, - 'amount' => 'string', - 'native_amount' => 'string', - ]; - protected $fillable = ['piggy_bank_id', 'transaction_journal_id', 'date', 'date_tz', 'amount', 'native_amount']; protected $hidden = ['amount_encrypted']; @@ -80,4 +71,14 @@ class PiggyBankEvent extends Model get: static fn ($value) => (int) $value, ); } + protected function casts(): array + { + return [ + 'created_at' => 'datetime', + 'updated_at' => 'datetime', + 'date' => SeparateTimezoneCaster::class, + 'amount' => 'string', + 'native_amount' => 'string', + ]; + } } diff --git a/app/Models/PiggyBankRepetition.php b/app/Models/PiggyBankRepetition.php index 715d5b276c..a1dcd4dbe8 100644 --- a/app/Models/PiggyBankRepetition.php +++ b/app/Models/PiggyBankRepetition.php @@ -23,6 +23,7 @@ declare(strict_types=1); namespace FireflyIII\Models; +use Illuminate\Database\Eloquent\Attributes\Scope; use Carbon\Carbon; use FireflyIII\Casts\SeparateTimezoneCaster; use FireflyIII\Support\Models\ReturnsIntegerIdTrait; @@ -35,15 +36,6 @@ class PiggyBankRepetition extends Model { use ReturnsIntegerIdTrait; - protected $casts - = [ - 'created_at' => 'datetime', - 'updated_at' => 'datetime', - 'start_date' => SeparateTimezoneCaster::class, - 'target_date' => SeparateTimezoneCaster::class, - 'virtual_balance' => 'string', - ]; - protected $fillable = ['piggy_bank_id', 'start_date', 'start_date_tz', 'target_date', 'target_date_tz', 'current_amount']; public function piggyBank(): BelongsTo @@ -51,7 +43,8 @@ class PiggyBankRepetition extends Model return $this->belongsTo(PiggyBank::class); } - public function scopeOnDates(EloquentBuilder $query, Carbon $start, Carbon $target): EloquentBuilder + #[Scope] + protected function onDates(EloquentBuilder $query, Carbon $start, Carbon $target): EloquentBuilder { return $query->where('start_date', $start->format('Y-m-d'))->where('target_date', $target->format('Y-m-d')); } @@ -59,7 +52,8 @@ class PiggyBankRepetition extends Model /** * @return EloquentBuilder */ - public function scopeRelevantOnDate(EloquentBuilder $query, Carbon $date) + #[Scope] + protected function relevantOnDate(EloquentBuilder $query, Carbon $date) { return $query->where( static function (EloquentBuilder $q) use ($date): void { @@ -100,4 +94,14 @@ class PiggyBankRepetition extends Model get: static fn ($value) => (int) $value, ); } + protected function casts(): array + { + return [ + 'created_at' => 'datetime', + 'updated_at' => 'datetime', + 'start_date' => SeparateTimezoneCaster::class, + 'target_date' => SeparateTimezoneCaster::class, + 'virtual_balance' => 'string', + ]; + } } diff --git a/app/Models/Preference.php b/app/Models/Preference.php index dbf2ef212f..60fa6fe682 100644 --- a/app/Models/Preference.php +++ b/app/Models/Preference.php @@ -35,15 +35,6 @@ class Preference extends Model use ReturnsIntegerIdTrait; use ReturnsIntegerUserIdTrait; - protected $casts - = [ - 'created_at' => 'datetime', - 'updated_at' => 'datetime', - 'data' => 'array', - 'user_id' => 'integer', - 'user_group_id' => 'integer', - ]; - protected $fillable = ['user_id', 'data', 'name', 'user_group_id']; /** @@ -102,4 +93,14 @@ class Preference extends Model { return $this->belongsTo(User::class); } + protected function casts(): array + { + return [ + 'created_at' => 'datetime', + 'updated_at' => 'datetime', + 'data' => 'array', + 'user_id' => 'integer', + 'user_group_id' => 'integer', + ]; + } } diff --git a/app/Models/Recurrence.php b/app/Models/Recurrence.php index 5d4ad39ccd..7c4ec43141 100644 --- a/app/Models/Recurrence.php +++ b/app/Models/Recurrence.php @@ -42,24 +42,6 @@ class Recurrence extends Model use ReturnsIntegerUserIdTrait; use SoftDeletes; - protected $casts - = [ - 'created_at' => 'datetime', - 'updated_at' => 'datetime', - 'deleted_at' => 'datetime', - 'title' => 'string', - 'id' => 'int', - 'description' => 'string', - 'first_date' => SeparateTimezoneCaster::class, - 'repeat_until' => SeparateTimezoneCaster::class, - 'latest_date' => SeparateTimezoneCaster::class, - 'repetitions' => 'int', - 'active' => 'bool', - 'apply_rules' => 'bool', - 'user_id' => 'integer', - 'user_group_id' => 'integer', - ]; - protected $fillable = ['user_id', 'user_group_id', 'transaction_type_id', 'title', 'description', 'first_date', 'first_date_tz', 'repeat_until', 'repeat_until_tz', 'latest_date', 'latest_date_tz', 'repetitions', 'apply_rules', 'active']; @@ -137,4 +119,23 @@ class Recurrence extends Model get: static fn ($value) => (int) $value, ); } + protected function casts(): array + { + return [ + 'created_at' => 'datetime', + 'updated_at' => 'datetime', + 'deleted_at' => 'datetime', + 'title' => 'string', + 'id' => 'int', + 'description' => 'string', + 'first_date' => SeparateTimezoneCaster::class, + 'repeat_until' => SeparateTimezoneCaster::class, + 'latest_date' => SeparateTimezoneCaster::class, + 'repetitions' => 'int', + 'active' => 'bool', + 'apply_rules' => 'bool', + 'user_id' => 'integer', + 'user_group_id' => 'integer', + ]; + } } diff --git a/app/Models/RecurrenceMeta.php b/app/Models/RecurrenceMeta.php index c977252354..1e1642c68f 100644 --- a/app/Models/RecurrenceMeta.php +++ b/app/Models/RecurrenceMeta.php @@ -35,15 +35,6 @@ class RecurrenceMeta extends Model use ReturnsIntegerIdTrait; use SoftDeletes; - protected $casts - = [ - 'created_at' => 'datetime', - 'updated_at' => 'datetime', - 'deleted_at' => 'datetime', - 'name' => 'string', - 'value' => 'string', - ]; - protected $fillable = ['recurrence_id', 'name', 'value']; protected $table = 'recurrences_meta'; @@ -59,4 +50,14 @@ class RecurrenceMeta extends Model get: static fn ($value) => (int) $value, ); } + protected function casts(): array + { + return [ + 'created_at' => 'datetime', + 'updated_at' => 'datetime', + 'deleted_at' => 'datetime', + 'name' => 'string', + 'value' => 'string', + ]; + } } diff --git a/app/Models/RecurrenceTransaction.php b/app/Models/RecurrenceTransaction.php index b648cf4cd2..544dd9823a 100644 --- a/app/Models/RecurrenceTransaction.php +++ b/app/Models/RecurrenceTransaction.php @@ -36,16 +36,6 @@ class RecurrenceTransaction extends Model use ReturnsIntegerIdTrait; use SoftDeletes; - protected $casts - = [ - 'created_at' => 'datetime', - 'updated_at' => 'datetime', - 'deleted_at' => 'datetime', - 'amount' => 'string', - 'foreign_amount' => 'string', - 'description' => 'string', - ]; - protected $fillable = [ 'recurrence_id', @@ -143,4 +133,15 @@ class RecurrenceTransaction extends Model get: static fn ($value) => (int) $value, ); } + protected function casts(): array + { + return [ + 'created_at' => 'datetime', + 'updated_at' => 'datetime', + 'deleted_at' => 'datetime', + 'amount' => 'string', + 'foreign_amount' => 'string', + 'description' => 'string', + ]; + } } diff --git a/app/Models/RecurrenceTransactionMeta.php b/app/Models/RecurrenceTransactionMeta.php index c4e5758df4..bb644aa8db 100644 --- a/app/Models/RecurrenceTransactionMeta.php +++ b/app/Models/RecurrenceTransactionMeta.php @@ -35,15 +35,6 @@ class RecurrenceTransactionMeta extends Model use ReturnsIntegerIdTrait; use SoftDeletes; - protected $casts - = [ - 'created_at' => 'datetime', - 'updated_at' => 'datetime', - 'deleted_at' => 'datetime', - 'name' => 'string', - 'value' => 'string', - ]; - protected $fillable = ['rt_id', 'name', 'value']; protected $table = 'rt_meta'; @@ -59,4 +50,14 @@ class RecurrenceTransactionMeta extends Model get: static fn ($value) => (int) $value, ); } + protected function casts(): array + { + return [ + 'created_at' => 'datetime', + 'updated_at' => 'datetime', + 'deleted_at' => 'datetime', + 'name' => 'string', + 'value' => 'string', + ]; + } } diff --git a/app/Models/Role.php b/app/Models/Role.php index 421e896d24..2b4b8761e9 100644 --- a/app/Models/Role.php +++ b/app/Models/Role.php @@ -32,16 +32,17 @@ class Role extends Model { use ReturnsIntegerIdTrait; - protected $casts - = [ - 'created_at' => 'datetime', - 'updated_at' => 'datetime', - ]; - protected $fillable = ['name', 'display_name', 'description']; public function users(): BelongsToMany { return $this->belongsToMany(User::class); } + protected function casts(): array + { + return [ + 'created_at' => 'datetime', + 'updated_at' => 'datetime', + ]; + } } diff --git a/app/Models/Rule.php b/app/Models/Rule.php index 86d8c36f20..7609316a4e 100644 --- a/app/Models/Rule.php +++ b/app/Models/Rule.php @@ -39,20 +39,6 @@ class Rule extends Model use ReturnsIntegerUserIdTrait; use SoftDeletes; - protected $casts - = [ - 'created_at' => 'datetime', - 'updated_at' => 'datetime', - 'deleted_at' => 'datetime', - 'active' => 'boolean', - 'order' => 'int', - 'stop_processing' => 'boolean', - 'id' => 'int', - 'strict' => 'boolean', - 'user_id' => 'integer', - 'user_group_id' => 'integer', - ]; - protected $fillable = ['rule_group_id', 'order', 'active', 'title', 'description', 'user_id', 'user_group_id', 'strict']; /** @@ -101,9 +87,9 @@ class Rule extends Model /** * @param mixed $value */ - public function setDescriptionAttribute($value): void + protected function description(): Attribute { - $this->attributes['description'] = e($value); + return Attribute::make(set: fn($value) => ['description' => e($value)]); } public function userGroup(): BelongsTo @@ -124,4 +110,19 @@ class Rule extends Model get: static fn ($value) => (int) $value, ); } + protected function casts(): array + { + return [ + 'created_at' => 'datetime', + 'updated_at' => 'datetime', + 'deleted_at' => 'datetime', + 'active' => 'boolean', + 'order' => 'int', + 'stop_processing' => 'boolean', + 'id' => 'int', + 'strict' => 'boolean', + 'user_id' => 'integer', + 'user_group_id' => 'integer', + ]; + } } diff --git a/app/Models/RuleAction.php b/app/Models/RuleAction.php index f7fbd2e6eb..2725653f18 100644 --- a/app/Models/RuleAction.php +++ b/app/Models/RuleAction.php @@ -35,15 +35,6 @@ class RuleAction extends Model { use ReturnsIntegerIdTrait; - protected $casts - = [ - 'created_at' => 'datetime', - 'updated_at' => 'datetime', - 'active' => 'boolean', - 'order' => 'int', - 'stop_processing' => 'boolean', - ]; - protected $fillable = ['rule_id', 'action_type', 'action_value', 'order', 'active', 'stop_processing']; public function getValue(array $journal): string @@ -88,4 +79,14 @@ class RuleAction extends Model get: static fn ($value) => (int) $value, ); } + protected function casts(): array + { + return [ + 'created_at' => 'datetime', + 'updated_at' => 'datetime', + 'active' => 'boolean', + 'order' => 'int', + 'stop_processing' => 'boolean', + ]; + } } diff --git a/app/Models/RuleGroup.php b/app/Models/RuleGroup.php index 02b6494bda..6a56c78e9b 100644 --- a/app/Models/RuleGroup.php +++ b/app/Models/RuleGroup.php @@ -39,18 +39,6 @@ class RuleGroup extends Model use ReturnsIntegerUserIdTrait; use SoftDeletes; - protected $casts - = [ - 'created_at' => 'datetime', - 'updated_at' => 'datetime', - 'deleted_at' => 'datetime', - 'active' => 'boolean', - 'stop_processing' => 'boolean', - 'order' => 'int', - 'user_id' => 'integer', - 'user_group_id' => 'integer', - ]; - protected $fillable = ['user_id', 'user_group_id', 'stop_processing', 'order', 'title', 'description', 'active']; /** @@ -92,4 +80,17 @@ class RuleGroup extends Model get: static fn ($value) => (int) $value, ); } + protected function casts(): array + { + return [ + 'created_at' => 'datetime', + 'updated_at' => 'datetime', + 'deleted_at' => 'datetime', + 'active' => 'boolean', + 'stop_processing' => 'boolean', + 'order' => 'int', + 'user_id' => 'integer', + 'user_group_id' => 'integer', + ]; + } } diff --git a/app/Models/RuleTrigger.php b/app/Models/RuleTrigger.php index ac400525d9..71f16e75c1 100644 --- a/app/Models/RuleTrigger.php +++ b/app/Models/RuleTrigger.php @@ -32,15 +32,6 @@ class RuleTrigger extends Model { use ReturnsIntegerIdTrait; - protected $casts - = [ - 'created_at' => 'datetime', - 'updated_at' => 'datetime', - 'active' => 'boolean', - 'order' => 'int', - 'stop_processing' => 'boolean', - ]; - protected $fillable = ['rule_id', 'trigger_type', 'trigger_value', 'order', 'active', 'stop_processing']; public function rule(): BelongsTo @@ -61,4 +52,14 @@ class RuleTrigger extends Model get: static fn ($value) => (int) $value, ); } + protected function casts(): array + { + return [ + 'created_at' => 'datetime', + 'updated_at' => 'datetime', + 'active' => 'boolean', + 'order' => 'int', + 'stop_processing' => 'boolean', + ]; + } } diff --git a/app/Models/Tag.php b/app/Models/Tag.php index fed190c86a..ce55c8cec7 100644 --- a/app/Models/Tag.php +++ b/app/Models/Tag.php @@ -40,19 +40,6 @@ class Tag extends Model use ReturnsIntegerUserIdTrait; use SoftDeletes; - protected $casts - = [ - 'created_at' => 'datetime', - 'updated_at' => 'datetime', - 'deleted_at' => 'datetime', - 'date' => SeparateTimezoneCaster::class, - 'zoomLevel' => 'int', - 'latitude' => 'float', - 'longitude' => 'float', - 'user_id' => 'integer', - 'user_group_id' => 'integer', - ]; - protected $fillable = ['user_id', 'user_group_id', 'tag', 'date', 'date_tz', 'description', 'tagMode']; protected $hidden = ['zoomLevel', 'latitude', 'longitude']; @@ -99,4 +86,18 @@ class Tag extends Model { return $this->belongsToMany(TransactionJournal::class); } + protected function casts(): array + { + return [ + 'created_at' => 'datetime', + 'updated_at' => 'datetime', + 'deleted_at' => 'datetime', + 'date' => SeparateTimezoneCaster::class, + 'zoomLevel' => 'int', + 'latitude' => 'float', + 'longitude' => 'float', + 'user_id' => 'integer', + 'user_group_id' => 'integer', + ]; + } } diff --git a/app/Models/Transaction.php b/app/Models/Transaction.php index cad47192fa..a68bf51480 100644 --- a/app/Models/Transaction.php +++ b/app/Models/Transaction.php @@ -23,6 +23,7 @@ declare(strict_types=1); namespace FireflyIII\Models; +use Illuminate\Database\Eloquent\Attributes\Scope; use Carbon\Carbon; use FireflyIII\Support\Models\ReturnsIntegerIdTrait; use Illuminate\Database\Eloquent\Builder; @@ -39,25 +40,6 @@ class Transaction extends Model use ReturnsIntegerIdTrait; use SoftDeletes; - protected $casts - = [ - 'created_at' => 'datetime', - 'updated_at' => 'datetime', - 'deleted_at' => 'datetime', - 'identifier' => 'int', - 'encrypted' => 'boolean', // model does not have these fields though - 'bill_name_encrypted' => 'boolean', - 'reconciled' => 'boolean', - 'balance_dirty' => 'boolean', - 'balance_before' => 'string', - 'balance_after' => 'string', - 'date' => 'datetime', - 'amount' => 'string', - 'foreign_amount' => 'string', - 'native_amount' => 'string', - 'native_foreign_amount' => 'string', - ]; - protected $fillable = [ 'account_id', @@ -110,7 +92,8 @@ class Transaction extends Model /** * Check for transactions AFTER a specified date. */ - public function scopeAfter(Builder $query, Carbon $date): void + #[Scope] + protected function after(Builder $query, Carbon $date): void { if (!self::isJoined($query, 'transaction_journals')) { $query->leftJoin('transaction_journals', 'transaction_journals.id', '=', 'transactions.transaction_journal_id'); @@ -137,7 +120,8 @@ class Transaction extends Model /** * Check for transactions BEFORE the specified date. */ - public function scopeBefore(Builder $query, Carbon $date): void + #[Scope] + protected function before(Builder $query, Carbon $date): void { if (!self::isJoined($query, 'transaction_journals')) { $query->leftJoin('transaction_journals', 'transaction_journals.id', '=', 'transactions.transaction_journal_id'); @@ -145,7 +129,8 @@ class Transaction extends Model $query->where('transaction_journals.date', '<=', $date->format('Y-m-d 23:59:59')); } - public function scopeTransactionTypes(Builder $query, array $types): void + #[Scope] + protected function transactionTypes(Builder $query, array $types): void { if (!self::isJoined($query, 'transaction_journals')) { $query->leftJoin('transaction_journals', 'transaction_journals.id', '=', 'transactions.transaction_journal_id'); @@ -215,4 +200,24 @@ class Transaction extends Model get: static fn ($value) => (int) $value, ); } + protected function casts(): array + { + return [ + 'created_at' => 'datetime', + 'updated_at' => 'datetime', + 'deleted_at' => 'datetime', + 'identifier' => 'int', + 'encrypted' => 'boolean', // model does not have these fields though + 'bill_name_encrypted' => 'boolean', + 'reconciled' => 'boolean', + 'balance_dirty' => 'boolean', + 'balance_before' => 'string', + 'balance_after' => 'string', + 'date' => 'datetime', + 'amount' => 'string', + 'foreign_amount' => 'string', + 'native_amount' => 'string', + 'native_foreign_amount' => 'string', + ]; + } } diff --git a/app/Models/TransactionCurrency.php b/app/Models/TransactionCurrency.php index 33f08ee01b..99342bc5df 100644 --- a/app/Models/TransactionCurrency.php +++ b/app/Models/TransactionCurrency.php @@ -39,14 +39,6 @@ class TransactionCurrency extends Model public ?bool $userGroupEnabled = null; public ?bool $userGroupNative = null; - protected $casts - = [ - 'created_at' => 'datetime', - 'updated_at' => 'datetime', - 'deleted_at' => 'datetime', - 'decimal_places' => 'int', - 'enabled' => 'bool', - ]; protected $fillable = ['name', 'code', 'symbol', 'decimal_places', 'enabled']; @@ -115,4 +107,14 @@ class TransactionCurrency extends Model get: static fn ($value) => (int) $value, ); } + protected function casts(): array + { + return [ + 'created_at' => 'datetime', + 'updated_at' => 'datetime', + 'deleted_at' => 'datetime', + 'decimal_places' => 'int', + 'enabled' => 'bool', + ]; + } } diff --git a/app/Models/TransactionGroup.php b/app/Models/TransactionGroup.php index 9128667f97..5d9870ee72 100644 --- a/app/Models/TransactionGroup.php +++ b/app/Models/TransactionGroup.php @@ -38,18 +38,6 @@ class TransactionGroup extends Model use ReturnsIntegerUserIdTrait; use SoftDeletes; - protected $casts - = [ - 'id' => 'integer', - 'created_at' => 'datetime', - 'updated_at' => 'datetime', - 'deleted_at' => 'datetime', - 'title' => 'string', - 'date' => 'datetime', - 'user_id' => 'integer', - 'user_group_id' => 'integer', - ]; - protected $fillable = ['user_id', 'user_group_id', 'title']; /** @@ -97,4 +85,17 @@ class TransactionGroup extends Model { return $this->belongsTo(UserGroup::class); } + protected function casts(): array + { + return [ + 'id' => 'integer', + 'created_at' => 'datetime', + 'updated_at' => 'datetime', + 'deleted_at' => 'datetime', + 'title' => 'string', + 'date' => 'datetime', + 'user_id' => 'integer', + 'user_group_id' => 'integer', + ]; + } } diff --git a/app/Models/TransactionJournal.php b/app/Models/TransactionJournal.php index 6c39101e1a..64621f0c52 100644 --- a/app/Models/TransactionJournal.php +++ b/app/Models/TransactionJournal.php @@ -23,6 +23,7 @@ declare(strict_types=1); namespace FireflyIII\Models; +use Illuminate\Database\Eloquent\Attributes\Scope; use Carbon\Carbon; use FireflyIII\Casts\SeparateTimezoneCaster; use FireflyIII\Enums\TransactionTypeEnum; @@ -52,23 +53,6 @@ class TransactionJournal extends Model use ReturnsIntegerUserIdTrait; use SoftDeletes; - protected $casts - = [ - 'created_at' => 'datetime', - 'updated_at' => 'datetime', - 'deleted_at' => 'datetime', - 'date' => SeparateTimezoneCaster::class, - 'interest_date' => 'date', - 'book_date' => 'date', - 'process_date' => 'date', - 'order' => 'int', - 'tag_count' => 'int', - 'encrypted' => 'boolean', - 'completed' => 'boolean', - 'user_id' => 'integer', - 'user_group_id' => 'integer', - ]; - protected $fillable = [ 'user_id', @@ -181,7 +165,8 @@ class TransactionJournal extends Model return $query->where('transaction_journals.date', '<=', $date->format('Y-m-d H:i:s')); } - public function scopeTransactionTypes(EloquentBuilder $query, array $types): void + #[Scope] + protected function transactionTypes(EloquentBuilder $query, array $types): void { if (!self::isJoined($query, 'transaction_types')) { $query->leftJoin('transaction_types', 'transaction_types.id', '=', 'transaction_journals.transaction_type_id'); @@ -259,4 +244,22 @@ class TransactionJournal extends Model get: static fn ($value) => (int) $value, ); } + protected function casts(): array + { + return [ + 'created_at' => 'datetime', + 'updated_at' => 'datetime', + 'deleted_at' => 'datetime', + 'date' => SeparateTimezoneCaster::class, + 'interest_date' => 'date', + 'book_date' => 'date', + 'process_date' => 'date', + 'order' => 'int', + 'tag_count' => 'int', + 'encrypted' => 'boolean', + 'completed' => 'boolean', + 'user_id' => 'integer', + 'user_group_id' => 'integer', + ]; + } } diff --git a/app/Models/TransactionJournalLink.php b/app/Models/TransactionJournalLink.php index 4d7d8a632f..4263db2d8e 100644 --- a/app/Models/TransactionJournalLink.php +++ b/app/Models/TransactionJournalLink.php @@ -34,12 +34,6 @@ class TransactionJournalLink extends Model { use ReturnsIntegerIdTrait; - protected $casts - = [ - 'created_at' => 'datetime', - 'updated_at' => 'datetime', - ]; - protected $table = 'journal_links'; /** @@ -109,4 +103,11 @@ class TransactionJournalLink extends Model get: static fn ($value) => (int) $value, ); } + protected function casts(): array + { + return [ + 'created_at' => 'datetime', + 'updated_at' => 'datetime', + ]; + } } diff --git a/app/Models/TransactionJournalMeta.php b/app/Models/TransactionJournalMeta.php index 51bfd13e34..e82a372c1f 100644 --- a/app/Models/TransactionJournalMeta.php +++ b/app/Models/TransactionJournalMeta.php @@ -37,35 +37,20 @@ class TransactionJournalMeta extends Model use ReturnsIntegerIdTrait; use SoftDeletes; - protected $casts - = [ - 'created_at' => 'datetime', - 'updated_at' => 'datetime', - 'deleted_at' => 'datetime', - ]; - protected $fillable = ['transaction_journal_id', 'name', 'data', 'hash']; protected $table = 'journal_meta'; - /** * @param mixed $value * * @return mixed */ - public function getDataAttribute($value) + protected function data(): Attribute { - return json_decode((string) $value, false); - } - - /** - * @param mixed $value - */ - public function setDataAttribute($value): void - { - $data = json_encode($value); - $this->attributes['data'] = $data; - $this->attributes['hash'] = hash('sha256', (string) $data); + 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)]; + }); } public function transactionJournal(): BelongsTo @@ -79,4 +64,12 @@ class TransactionJournalMeta extends Model get: static fn ($value) => (int) $value, ); } + protected function casts(): array + { + return [ + 'created_at' => 'datetime', + 'updated_at' => 'datetime', + 'deleted_at' => 'datetime', + ]; + } } diff --git a/app/Models/WebhookMessage.php b/app/Models/WebhookMessage.php index f18347330c..2a4bc459d1 100644 --- a/app/Models/WebhookMessage.php +++ b/app/Models/WebhookMessage.php @@ -36,15 +36,6 @@ class WebhookMessage extends Model { use ReturnsIntegerIdTrait; - protected $casts - = [ - 'sent' => 'boolean', - 'errored' => 'boolean', - 'uuid' => 'string', - 'message' => 'json', - 'logs' => 'json', - ]; - /** * Route binder. Converts the key in the URL to the specified object (or throw 404). * @@ -94,4 +85,14 @@ class WebhookMessage extends Model get: static fn ($value) => (int) $value, ); } + protected function casts(): array + { + return [ + 'sent' => 'boolean', + 'errored' => 'boolean', + 'uuid' => 'string', + 'message' => 'json', + 'logs' => 'json', + ]; + } } diff --git a/app/Providers/AccountServiceProvider.php b/app/Providers/AccountServiceProvider.php index 311aae4bba..caa4ffe49f 100644 --- a/app/Providers/AccountServiceProvider.php +++ b/app/Providers/AccountServiceProvider.php @@ -59,8 +59,7 @@ class AccountServiceProvider extends ServiceProvider private function registerRepository(): void { $this->app->bind( - AccountRepositoryInterface::class, - static function (Application $app) { + static function (Application $app): AccountRepositoryInterface { /** @var AccountRepositoryInterface $repository */ $repository = app(AccountRepository::class); @@ -74,8 +73,7 @@ class AccountServiceProvider extends ServiceProvider ); $this->app->bind( - OperationsRepositoryInterface::class, - static function (Application $app) { + static function (Application $app): OperationsRepositoryInterface { /** @var OperationsRepository $repository */ $repository = app(OperationsRepository::class); @@ -95,8 +93,7 @@ class AccountServiceProvider extends ServiceProvider private function registerTasker(): void { $this->app->bind( - AccountTaskerInterface::class, - static function (Application $app) { + static function (Application $app): AccountTaskerInterface { /** @var AccountTaskerInterface $tasker */ $tasker = app(AccountTasker::class); diff --git a/app/Providers/AdminServiceProvider.php b/app/Providers/AdminServiceProvider.php index ac768ddb9d..a775515130 100644 --- a/app/Providers/AdminServiceProvider.php +++ b/app/Providers/AdminServiceProvider.php @@ -54,8 +54,7 @@ class AdminServiceProvider extends ServiceProvider private function linkType(): void { $this->app->bind( - LinkTypeRepositoryInterface::class, - static function (Application $app) { + static function (Application $app): LinkTypeRepositoryInterface { /** @var LinkTypeRepository $repository */ $repository = app(LinkTypeRepository::class); // reference to auth is not understood by phpstan. diff --git a/app/Providers/AttachmentServiceProvider.php b/app/Providers/AttachmentServiceProvider.php index 50a00766fe..4b653f5b69 100644 --- a/app/Providers/AttachmentServiceProvider.php +++ b/app/Providers/AttachmentServiceProvider.php @@ -46,8 +46,7 @@ class AttachmentServiceProvider extends ServiceProvider public function register(): void { $this->app->bind( - AttachmentRepositoryInterface::class, - static function (Application $app) { + static function (Application $app): AttachmentRepositoryInterface { /** @var AttachmentRepositoryInterface $repository */ $repository = app(AttachmentRepository::class); // reference to auth is not understood by phpstan. diff --git a/app/Providers/BillServiceProvider.php b/app/Providers/BillServiceProvider.php index 2035762a51..0a5472304d 100644 --- a/app/Providers/BillServiceProvider.php +++ b/app/Providers/BillServiceProvider.php @@ -46,8 +46,7 @@ class BillServiceProvider extends ServiceProvider public function register(): void { $this->app->bind( - BillRepositoryInterface::class, - static function (Application $app) { + static function (Application $app): BillRepositoryInterface { /** @var BillRepositoryInterface $repository */ $repository = app(BillRepository::class); diff --git a/app/Providers/BudgetServiceProvider.php b/app/Providers/BudgetServiceProvider.php index 25184a1aac..a6bc575d31 100644 --- a/app/Providers/BudgetServiceProvider.php +++ b/app/Providers/BudgetServiceProvider.php @@ -57,8 +57,7 @@ class BudgetServiceProvider extends ServiceProvider { // reference to auth is not understood by phpstan. $this->app->bind( - BudgetRepositoryInterface::class, - static function (Application $app) { + static function (Application $app): BudgetRepositoryInterface { /** @var BudgetRepositoryInterface $repository */ $repository = app(BudgetRepository::class); if ($app->auth->check()) { // @phpstan-ignore-line @@ -71,8 +70,7 @@ class BudgetServiceProvider extends ServiceProvider // available budget repos $this->app->bind( - AvailableBudgetRepositoryInterface::class, - static function (Application $app) { + static function (Application $app): AvailableBudgetRepositoryInterface { /** @var AvailableBudgetRepositoryInterface $repository */ $repository = app(AvailableBudgetRepository::class); if ($app->auth->check()) { // @phpstan-ignore-line @@ -85,8 +83,7 @@ class BudgetServiceProvider extends ServiceProvider // budget limit repository. $this->app->bind( - BudgetLimitRepositoryInterface::class, - static function (Application $app) { + static function (Application $app): BudgetLimitRepositoryInterface { /** @var BudgetLimitRepositoryInterface $repository */ $repository = app(BudgetLimitRepository::class); if ($app->auth->check()) { // @phpstan-ignore-line @@ -99,8 +96,7 @@ class BudgetServiceProvider extends ServiceProvider // no budget repos $this->app->bind( - NoBudgetRepositoryInterface::class, - static function (Application $app) { + static function (Application $app): NoBudgetRepositoryInterface { /** @var NoBudgetRepositoryInterface $repository */ $repository = app(NoBudgetRepository::class); if ($app->auth->check()) { // @phpstan-ignore-line @@ -113,8 +109,7 @@ class BudgetServiceProvider extends ServiceProvider // operations repos $this->app->bind( - OperationsRepositoryInterface::class, - static function (Application $app) { + static function (Application $app): OperationsRepositoryInterface { /** @var OperationsRepositoryInterface $repository */ $repository = app(OperationsRepository::class); if ($app->auth->check()) { // @phpstan-ignore-line diff --git a/app/Providers/CategoryServiceProvider.php b/app/Providers/CategoryServiceProvider.php index 2ab8db6ff5..6346fea046 100644 --- a/app/Providers/CategoryServiceProvider.php +++ b/app/Providers/CategoryServiceProvider.php @@ -51,8 +51,7 @@ class CategoryServiceProvider extends ServiceProvider { // phpstan does not understand reference to 'auth'. $this->app->bind( - CategoryRepositoryInterface::class, - static function (Application $app) { + static function (Application $app): CategoryRepositoryInterface { /** @var CategoryRepository $repository */ $repository = app(CategoryRepository::class); if ($app->auth->check()) { // @phpstan-ignore-line @@ -64,8 +63,7 @@ class CategoryServiceProvider extends ServiceProvider ); $this->app->bind( - OperationsRepositoryInterface::class, - static function (Application $app) { + static function (Application $app): OperationsRepositoryInterface { /** @var OperationsRepository $repository */ $repository = app(OperationsRepository::class); if ($app->auth->check()) { // @phpstan-ignore-line @@ -77,8 +75,7 @@ class CategoryServiceProvider extends ServiceProvider ); $this->app->bind( - NoCategoryRepositoryInterface::class, - static function (Application $app) { + static function (Application $app): NoCategoryRepositoryInterface { /** @var NoCategoryRepository $repository */ $repository = app(NoCategoryRepository::class); if ($app->auth->check()) { // @phpstan-ignore-line diff --git a/app/Providers/CurrencyServiceProvider.php b/app/Providers/CurrencyServiceProvider.php index 6ffb3688f7..3b6a751b64 100644 --- a/app/Providers/CurrencyServiceProvider.php +++ b/app/Providers/CurrencyServiceProvider.php @@ -25,7 +25,6 @@ namespace FireflyIII\Providers; use FireflyIII\Repositories\Currency\CurrencyRepository; use FireflyIII\Repositories\Currency\CurrencyRepository as GroupCurrencyRepository; -use FireflyIII\Repositories\Currency\CurrencyRepositoryInterface; use FireflyIII\Repositories\Currency\CurrencyRepositoryInterface as GroupCurrencyRepositoryInterface; use FireflyIII\Repositories\ExchangeRate\ExchangeRateRepository; use FireflyIII\Repositories\ExchangeRate\ExchangeRateRepositoryInterface; @@ -50,8 +49,7 @@ class CurrencyServiceProvider extends ServiceProvider public function register(): void { $this->app->bind( - CurrencyRepositoryInterface::class, - static function (Application $app) { + static function (Application $app): GroupCurrencyRepositoryInterface { /** @var CurrencyRepository $repository */ $repository = app(CurrencyRepository::class); // phpstan does not get the reference to auth @@ -63,8 +61,7 @@ class CurrencyServiceProvider extends ServiceProvider } ); $this->app->bind( - GroupCurrencyRepositoryInterface::class, - static function (Application $app) { + static function (Application $app): GroupCurrencyRepositoryInterface { /** @var GroupCurrencyRepository $repository */ $repository = app(GroupCurrencyRepository::class); // phpstan does not get the reference to auth @@ -77,8 +74,7 @@ class CurrencyServiceProvider extends ServiceProvider ); $this->app->bind( - ExchangeRateRepositoryInterface::class, - static function (Application $app) { + static function (Application $app): ExchangeRateRepositoryInterface { /** @var ExchangeRateRepository $repository */ $repository = app(ExchangeRateRepository::class); // phpstan does not get the reference to auth diff --git a/app/Providers/FireflyServiceProvider.php b/app/Providers/FireflyServiceProvider.php index 83b4c1e585..02ff3d729b 100644 --- a/app/Providers/FireflyServiceProvider.php +++ b/app/Providers/FireflyServiceProvider.php @@ -163,8 +163,7 @@ class FireflyServiceProvider extends ServiceProvider $this->app->bind(ALERepositoryInterface::class, ALERepository::class); $this->app->bind( - ObjectGroupRepositoryInterface::class, - static function (Application $app) { + static function (Application $app): ObjectGroupRepositoryInterface { /** @var ObjectGroupRepository $repository */ $repository = app(ObjectGroupRepository::class); if ($app->auth->check()) { // @phpstan-ignore-line (phpstan does not understand the reference to auth) @@ -176,8 +175,7 @@ class FireflyServiceProvider extends ServiceProvider ); $this->app->bind( - WebhookRepositoryInterface::class, - static function (Application $app) { + static function (Application $app): WebhookRepositoryInterface { /** @var WebhookRepository $repository */ $repository = app(WebhookRepository::class); if ($app->auth->check()) { // @phpstan-ignore-line (phpstan does not understand the reference to auth) @@ -190,8 +188,7 @@ class FireflyServiceProvider extends ServiceProvider // rule expression language $this->app->singleton( - ExpressionLanguage::class, - static function () { + static function (): ExpressionLanguage { $expressionLanguage = new ExpressionLanguage(); $expressionLanguage->registerProvider(new ActionExpressionLanguageProvider()); @@ -200,8 +197,7 @@ class FireflyServiceProvider extends ServiceProvider ); $this->app->bind( - RuleEngineInterface::class, - static function (Application $app) { + static function (Application $app): RuleEngineInterface { /** @var SearchRuleEngine $engine */ $engine = app(SearchRuleEngine::class); if ($app->auth->check()) { // @phpstan-ignore-line (phpstan does not understand the reference to auth) @@ -213,8 +209,7 @@ class FireflyServiceProvider extends ServiceProvider ); $this->app->bind( - UserGroupRepositoryInterface::class, - static function (Application $app) { + static function (Application $app): UserGroupRepositoryInterface { /** @var UserGroupRepository $repository */ $repository = app(UserGroupRepository::class); if ($app->auth->check()) { // @phpstan-ignore-line (phpstan does not understand the reference to auth) diff --git a/app/Providers/JournalServiceProvider.php b/app/Providers/JournalServiceProvider.php index 3c02bbaed4..ac27b169ba 100644 --- a/app/Providers/JournalServiceProvider.php +++ b/app/Providers/JournalServiceProvider.php @@ -64,8 +64,7 @@ class JournalServiceProvider extends ServiceProvider private function registerRepository(): void { $this->app->bind( - JournalRepositoryInterface::class, - static function (Application $app) { + static function (Application $app): JournalRepositoryInterface { /** @var JournalRepositoryInterface $repository */ $repository = app(JournalRepository::class); if ($app->auth->check()) { // @phpstan-ignore-line (phpstan does not understand the reference to auth) @@ -78,8 +77,7 @@ class JournalServiceProvider extends ServiceProvider // also bind new API repository $this->app->bind( - JournalAPIRepositoryInterface::class, - static function (Application $app) { + static function (Application $app): JournalAPIRepositoryInterface { /** @var JournalAPIRepositoryInterface $repository */ $repository = app(JournalAPIRepository::class); if ($app->auth->check()) { // @phpstan-ignore-line (phpstan does not understand the reference to auth) @@ -92,8 +90,7 @@ class JournalServiceProvider extends ServiceProvider // also bind new CLI repository $this->app->bind( - JournalCLIRepositoryInterface::class, - static function (Application $app) { + static function (Application $app): JournalCLIRepositoryInterface { /** @var JournalCLIRepositoryInterface $repository */ $repository = app(JournalCLIRepository::class); if ($app->auth->check()) { // @phpstan-ignore-line (phpstan does not understand the reference to auth) @@ -111,8 +108,7 @@ class JournalServiceProvider extends ServiceProvider private function registerGroupRepository(): void { $this->app->bind( - TransactionGroupRepositoryInterface::class, - static function (Application $app) { + static function (Application $app): TransactionGroupRepositoryInterface { /** @var TransactionGroupRepositoryInterface $repository */ $repository = app(TransactionGroupRepository::class); if ($app->auth->check()) { // @phpstan-ignore-line (phpstan does not understand the reference to auth) @@ -127,8 +123,7 @@ class JournalServiceProvider extends ServiceProvider private function registerGroupCollector(): void { $this->app->bind( - GroupCollectorInterface::class, - static function (Application $app) { + static function (Application $app): GroupCollectorInterface { /** @var GroupCollectorInterface $collector */ $collector = app(GroupCollector::class); if ($app->auth->check()) { // @phpstan-ignore-line (phpstan does not understand the reference to auth) diff --git a/app/Providers/PiggyBankServiceProvider.php b/app/Providers/PiggyBankServiceProvider.php index c89fe9c6d0..99020bc2e3 100644 --- a/app/Providers/PiggyBankServiceProvider.php +++ b/app/Providers/PiggyBankServiceProvider.php @@ -46,8 +46,7 @@ class PiggyBankServiceProvider extends ServiceProvider public function register(): void { $this->app->bind( - PiggyBankRepositoryInterface::class, - static function (Application $app) { + static function (Application $app): PiggyBankRepositoryInterface { /** @var PiggyBankRepository $repository */ $repository = app(PiggyBankRepository::class); if ($app->auth->check()) { // @phpstan-ignore-line (phpstan does not understand the reference to auth) diff --git a/app/Providers/RecurringServiceProvider.php b/app/Providers/RecurringServiceProvider.php index b9aeed4c4f..a8184d735f 100644 --- a/app/Providers/RecurringServiceProvider.php +++ b/app/Providers/RecurringServiceProvider.php @@ -46,8 +46,7 @@ class RecurringServiceProvider extends ServiceProvider public function register(): void { $this->app->bind( - RecurringRepositoryInterface::class, - static function (Application $app) { + static function (Application $app): RecurringRepositoryInterface { /** @var RecurringRepositoryInterface $repository */ $repository = app(RecurringRepository::class); diff --git a/app/Providers/RuleGroupServiceProvider.php b/app/Providers/RuleGroupServiceProvider.php index df76177faf..32fa85b17e 100644 --- a/app/Providers/RuleGroupServiceProvider.php +++ b/app/Providers/RuleGroupServiceProvider.php @@ -46,8 +46,7 @@ class RuleGroupServiceProvider extends ServiceProvider public function register(): void { $this->app->bind( - RuleGroupRepositoryInterface::class, - static function (Application $app) { + static function (Application $app): RuleGroupRepositoryInterface { /** @var RuleGroupRepository $repository */ $repository = app(RuleGroupRepository::class); if ($app->auth->check()) { // @phpstan-ignore-line (phpstan does not understand the reference to auth) diff --git a/app/Providers/RuleServiceProvider.php b/app/Providers/RuleServiceProvider.php index 6c3df05f49..e7b235588f 100644 --- a/app/Providers/RuleServiceProvider.php +++ b/app/Providers/RuleServiceProvider.php @@ -46,8 +46,7 @@ class RuleServiceProvider extends ServiceProvider public function register(): void { $this->app->bind( - RuleRepositoryInterface::class, - static function (Application $app) { + static function (Application $app): RuleRepositoryInterface { /** @var RuleRepository $repository */ $repository = app(RuleRepository::class); if ($app->auth->check()) { // @phpstan-ignore-line (phpstan does not understand the reference to auth) diff --git a/app/Providers/SearchServiceProvider.php b/app/Providers/SearchServiceProvider.php index 93b96a4b97..baf32f811b 100644 --- a/app/Providers/SearchServiceProvider.php +++ b/app/Providers/SearchServiceProvider.php @@ -49,8 +49,7 @@ class SearchServiceProvider extends ServiceProvider public function register(): void { $this->app->bind( - QueryParserInterface::class, - static function (): GdbotsQueryParser|QueryParser { + static function (): QueryParserInterface { $implementation = config('search.query_parser'); return match ($implementation) { @@ -61,8 +60,7 @@ class SearchServiceProvider extends ServiceProvider ); $this->app->bind( - SearchInterface::class, - static function (Application $app) { + static function (Application $app): SearchInterface { /** @var OperatorQuerySearch $search */ $search = app(OperatorQuerySearch::class); if ($app->auth->check()) { // @phpstan-ignore-line (phpstan does not understand the reference to auth) diff --git a/app/Providers/TagServiceProvider.php b/app/Providers/TagServiceProvider.php index 0b11619c22..85b9b85cfe 100644 --- a/app/Providers/TagServiceProvider.php +++ b/app/Providers/TagServiceProvider.php @@ -48,8 +48,7 @@ class TagServiceProvider extends ServiceProvider public function register(): void { $this->app->bind( - TagRepositoryInterface::class, - static function (Application $app) { + static function (Application $app): TagRepositoryInterface { /** @var TagRepository $repository */ $repository = app(TagRepository::class); @@ -62,8 +61,7 @@ class TagServiceProvider extends ServiceProvider ); $this->app->bind( - OperationsRepositoryInterface::class, - static function (Application $app) { + static function (Application $app): OperationsRepositoryInterface { /** @var OperationsRepository $repository */ $repository = app(OperationsRepository::class); diff --git a/app/User.php b/app/User.php index 46a0041ec3..a14e3d310c 100644 --- a/app/User.php +++ b/app/User.php @@ -73,13 +73,6 @@ class User extends Authenticatable use HasApiTokens; use Notifiable; use ReturnsIntegerIdTrait; - - protected $casts - = [ - 'created_at' => 'datetime', - 'updated_at' => 'datetime', - 'blocked' => 'boolean', - ]; protected $fillable = ['email', 'password', 'blocked', 'blocked_code']; protected $hidden = ['password', 'remember_token']; protected $table = 'users'; @@ -539,4 +532,12 @@ class User extends Authenticatable { return $this->hasMany(Webhook::class); } + protected function casts(): array + { + return [ + 'created_at' => 'datetime', + 'updated_at' => 'datetime', + 'blocked' => 'boolean', + ]; + } } diff --git a/app/Validation/Api/Data/Bulk/ValidatesBulkTransactionQuery.php b/app/Validation/Api/Data/Bulk/ValidatesBulkTransactionQuery.php index 8f8cffba91..89ea275b39 100644 --- a/app/Validation/Api/Data/Bulk/ValidatesBulkTransactionQuery.php +++ b/app/Validation/Api/Data/Bulk/ValidatesBulkTransactionQuery.php @@ -24,8 +24,8 @@ declare(strict_types=1); namespace FireflyIII\Validation\Api\Data\Bulk; +use Illuminate\Contracts\Validation\Validator; use FireflyIII\Repositories\Account\AccountRepositoryInterface; -use Illuminate\Validation\Validator; use function Safe\json_decode; diff --git a/app/Validation/AutoBudget/ValidatesAutoBudgetRequest.php b/app/Validation/AutoBudget/ValidatesAutoBudgetRequest.php index 581e0da61c..1967857616 100644 --- a/app/Validation/AutoBudget/ValidatesAutoBudgetRequest.php +++ b/app/Validation/AutoBudget/ValidatesAutoBudgetRequest.php @@ -24,7 +24,7 @@ declare(strict_types=1); namespace FireflyIII\Validation\AutoBudget; -use Illuminate\Validation\Validator; +use Illuminate\Contracts\Validation\Validator; /** * Trait ValidatesAutoBudgetRequest diff --git a/app/Validation/CurrencyValidation.php b/app/Validation/CurrencyValidation.php index 52bad8ff61..bc4711ba9e 100644 --- a/app/Validation/CurrencyValidation.php +++ b/app/Validation/CurrencyValidation.php @@ -24,8 +24,8 @@ declare(strict_types=1); namespace FireflyIII\Validation; +use Illuminate\Contracts\Validation\Validator; use Illuminate\Support\Facades\Log; -use Illuminate\Validation\Validator; /** * Trait CurrencyValidation diff --git a/app/Validation/GroupValidation.php b/app/Validation/GroupValidation.php index 84c32cfc90..7a8176f7ec 100644 --- a/app/Validation/GroupValidation.php +++ b/app/Validation/GroupValidation.php @@ -24,10 +24,10 @@ declare(strict_types=1); namespace FireflyIII\Validation; +use Illuminate\Contracts\Validation\Validator; use FireflyIII\Exceptions\FireflyException; use FireflyIII\Models\Transaction; use FireflyIII\Models\TransactionGroup; -use Illuminate\Validation\Validator; /** * Trait GroupValidation. diff --git a/app/Validation/RecurrenceValidation.php b/app/Validation/RecurrenceValidation.php index 52b829203e..9ec2ccd3ab 100644 --- a/app/Validation/RecurrenceValidation.php +++ b/app/Validation/RecurrenceValidation.php @@ -24,10 +24,10 @@ declare(strict_types=1); namespace FireflyIII\Validation; +use Illuminate\Contracts\Validation\Validator; use Carbon\Carbon; use FireflyIII\Models\Recurrence; use FireflyIII\Models\RecurrenceTransaction; -use Illuminate\Validation\Validator; use InvalidArgumentException; /** diff --git a/app/Validation/TransactionValidation.php b/app/Validation/TransactionValidation.php index b03511f193..c56c976c16 100644 --- a/app/Validation/TransactionValidation.php +++ b/app/Validation/TransactionValidation.php @@ -24,6 +24,7 @@ declare(strict_types=1); namespace FireflyIII\Validation; +use Illuminate\Contracts\Validation\Validator; use FireflyIII\Enums\AccountTypeEnum; use FireflyIII\Enums\TransactionTypeEnum; use FireflyIII\Exceptions\FireflyException; @@ -36,7 +37,6 @@ use FireflyIII\Repositories\Account\AccountRepository; use FireflyIII\Repositories\Account\AccountRepositoryInterface; use FireflyIII\User; use Illuminate\Support\Facades\Log; -use Illuminate\Validation\Validator; /** * Trait TransactionValidation diff --git a/composer.json b/composer.json index 87e1ec158b..037c109753 100644 --- a/composer.json +++ b/composer.json @@ -114,6 +114,7 @@ "require-dev": { "barryvdh/laravel-debugbar": "^3.9", "barryvdh/laravel-ide-helper": "^3", + "driftingly/rector-laravel": "^2.0", "fakerphp/faker": "1.*", "filp/whoops": "2.*", "larastan/larastan": "^3", diff --git a/composer.lock b/composer.lock index 630b710370..9089bdf6ed 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "b630645d62adf0b4c2a9a16ccfc7a3cc", + "content-hash": "5c65637d2a997c3503e4922eb7647e2a", "packages": [ { "name": "bacon/bacon-qr-code", @@ -10288,6 +10288,41 @@ ], "time": "2024-11-12T16:29:46+00:00" }, + { + "name": "driftingly/rector-laravel", + "version": "2.0.5", + "source": { + "type": "git", + "url": "https://github.com/driftingly/rector-laravel.git", + "reference": "ac61de4f267c23249d175d7fc9149fd01528567d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/driftingly/rector-laravel/zipball/ac61de4f267c23249d175d7fc9149fd01528567d", + "reference": "ac61de4f267c23249d175d7fc9149fd01528567d", + "shasum": "" + }, + "require": { + "php": "^7.4 || ^8.0", + "rector/rector": "^2.0" + }, + "type": "rector-extension", + "autoload": { + "psr-4": { + "RectorLaravel\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Rector upgrades rules for Laravel Framework", + "support": { + "issues": "https://github.com/driftingly/rector-laravel/issues", + "source": "https://github.com/driftingly/rector-laravel/tree/2.0.5" + }, + "time": "2025-05-14T17:30:41+00:00" + }, { "name": "fakerphp/faker", "version": "v1.24.1",