From ecd7750030d4c07ee0ec909a101b6c1329327406 Mon Sep 17 00:00:00 2001 From: James Cole Date: Sun, 26 Oct 2025 16:04:03 +0100 Subject: [PATCH] Replace a few request instances. --- .../Autocomplete/PiggyBankController.php | 5 ++--- .../Autocomplete/TransactionController.php | 11 +++++----- .../V1/Controllers/Chart/BudgetController.php | 9 ++++----- .../Controllers/Chart/CategoryController.php | 20 +++++++++---------- .../Autocomplete/AutocompleteRequest.php | 1 + app/Api/V1/Requests/Data/SameDateRequest.php | 1 + 6 files changed, 23 insertions(+), 24 deletions(-) diff --git a/app/Api/V1/Controllers/Autocomplete/PiggyBankController.php b/app/Api/V1/Controllers/Autocomplete/PiggyBankController.php index 21f44c03de..4c0d29e925 100644 --- a/app/Api/V1/Controllers/Autocomplete/PiggyBankController.php +++ b/app/Api/V1/Controllers/Autocomplete/PiggyBankController.php @@ -90,10 +90,9 @@ class PiggyBankController extends Controller return response()->api($response); } - public function piggyBanksWithBalance(AutocompleteRequest $request): JsonResponse + public function piggyBanksWithBalance(AutocompleteApiRequest $request): JsonResponse { - $data = $request->getData(); - $piggies = $this->piggyRepository->searchPiggyBank($data['query'], $this->parameters->get('limit')); + $piggies = $this->piggyRepository->searchPiggyBank($request->attributes->get('query'), $request->attributes->get('limit')); $response = []; /** @var PiggyBank $piggy */ diff --git a/app/Api/V1/Controllers/Autocomplete/TransactionController.php b/app/Api/V1/Controllers/Autocomplete/TransactionController.php index 3d6226c215..36d066fc63 100644 --- a/app/Api/V1/Controllers/Autocomplete/TransactionController.php +++ b/app/Api/V1/Controllers/Autocomplete/TransactionController.php @@ -86,13 +86,12 @@ class TransactionController extends Controller return response()->api($array); } - public function transactionsWithID(AutocompleteRequest $request): JsonResponse + public function transactionsWithID(AutocompleteApiRequest $request): JsonResponse { - $data = $request->getData(); $result = new Collection(); - if (is_numeric($data['query'])) { + if (is_numeric($request->attributes->get('query'))) { // search for group, not journal. - $firstResult = $this->groupRepository->find((int) $data['query']); + $firstResult = $this->groupRepository->find((int) $request->attributes->get('query')); if ($firstResult instanceof TransactionGroup) { // group may contain multiple journals, each a result: foreach ($firstResult->transactionJournals as $journal) { @@ -100,8 +99,8 @@ class TransactionController extends Controller } } } - if (!is_numeric($data['query'])) { - $result = $this->repository->searchJournalDescriptions($data['query'], $this->parameters->get('limit')); + if (!is_numeric($request->attributes->get('query'))) { + $result = $this->repository->searchJournalDescriptions($request->attributes->get('query'), $request->attributes->get('limit')); } // limit and unique diff --git a/app/Api/V1/Controllers/Chart/BudgetController.php b/app/Api/V1/Controllers/Chart/BudgetController.php index 6f0425d6fb..c2810680d9 100644 --- a/app/Api/V1/Controllers/Chart/BudgetController.php +++ b/app/Api/V1/Controllers/Chart/BudgetController.php @@ -27,6 +27,7 @@ namespace FireflyIII\Api\V1\Controllers\Chart; use Carbon\Carbon; use FireflyIII\Api\V1\Controllers\Controller; use FireflyIII\Api\V1\Requests\Data\SameDateRequest; +use FireflyIII\Api\V1\Requests\DateRangeRequest; use FireflyIII\Enums\UserRoleEnum; use FireflyIII\Exceptions\FireflyException; use FireflyIII\Models\Budget; @@ -83,15 +84,13 @@ class BudgetController extends Controller * * @throws FireflyException */ - public function overview(SameDateRequest $request): JsonResponse + public function overview(DateRangeRequest $request): JsonResponse { - $params = $request->getAll(); - /** @var Carbon $start */ - $start = $params['start']; + $start = $request->attributes->get('start'); /** @var Carbon $end */ - $end = $params['end']; + $end = $request->attributes->get('end'); // code from FrontpageChartGenerator, but not in separate class $budgets = $this->repository->getActiveBudgets(); diff --git a/app/Api/V1/Controllers/Chart/CategoryController.php b/app/Api/V1/Controllers/Chart/CategoryController.php index a81261e3ea..d46e77413c 100644 --- a/app/Api/V1/Controllers/Chart/CategoryController.php +++ b/app/Api/V1/Controllers/Chart/CategoryController.php @@ -26,7 +26,7 @@ namespace FireflyIII\Api\V1\Controllers\Chart; use Carbon\Carbon; use FireflyIII\Api\V1\Controllers\Controller; -use FireflyIII\Api\V1\Requests\Data\SameDateRequest; +use FireflyIII\Api\V1\Requests\DateRangeRequest; use FireflyIII\Enums\AccountTypeEnum; use FireflyIII\Enums\TransactionTypeEnum; use FireflyIII\Enums\UserRoleEnum; @@ -80,13 +80,13 @@ class CategoryController extends Controller * * @SuppressWarnings("PHPMD.UnusedFormalParameter") */ - public function overview(SameDateRequest $request): JsonResponse + public function overview(DateRangeRequest $request): JsonResponse { /** @var Carbon $start */ - $start = $this->parameters->get('start'); + $start = $request->attributes->get('start'); /** @var Carbon $end */ - $end = $this->parameters->get('end'); + $end = $request->attributes->get('end'); $accounts = $this->accountRepos->getAccountsByType([AccountTypeEnum::DEBT->value, AccountTypeEnum::LOAN->value, AccountTypeEnum::MORTGAGE->value, AccountTypeEnum::ASSET->value]); $currencies = []; $return = []; @@ -94,11 +94,11 @@ class CategoryController extends Controller // get journals for entire period: /** @var GroupCollectorInterface $collector */ - $collector = app(GroupCollectorInterface::class); + $collector = app(GroupCollectorInterface::class); $collector->setRange($start, $end)->withAccountInformation(); $collector->setXorAccounts($accounts)->withCategoryInformation(); $collector->setTypes([TransactionTypeEnum::WITHDRAWAL->value, TransactionTypeEnum::DEPOSIT->value]); - $journals = $collector->getExtractedJournals(); + $journals = $collector->getExtractedJournals(); /** @var array $journal */ foreach ($journals as $journal) { @@ -130,8 +130,8 @@ class CategoryController extends Controller } - $categoryName = $journal['category_name'] ?? (string)trans('firefly.no_category'); - $key = sprintf('%s-%s', $categoryName, $currencyCode); + $categoryName = $journal['category_name'] ?? (string)trans('firefly.no_category'); + $key = sprintf('%s-%s', $categoryName, $currencyCode); // create arrays $return[$key] ??= [ 'label' => $categoryName, @@ -178,10 +178,10 @@ class CategoryController extends Controller } } } - $return = array_values($return); + $return = array_values($return); // order by amount - usort($return, static fn (array $a, array $b) => ((float)$a['entries']['spent'] + (float)$a['entries']['earned']) < ((float)$b['entries']['spent'] + (float)$b['entries']['earned']) ? 1 : -1); + usort($return, static fn(array $a, array $b) => ((float)$a['entries']['spent'] + (float)$a['entries']['earned']) < ((float)$b['entries']['spent'] + (float)$b['entries']['earned']) ? 1 : -1); return response()->json($this->clean($return)); } diff --git a/app/Api/V1/Requests/Autocomplete/AutocompleteRequest.php b/app/Api/V1/Requests/Autocomplete/AutocompleteRequest.php index 63cb22077d..546422fb3f 100644 --- a/app/Api/V1/Requests/Autocomplete/AutocompleteRequest.php +++ b/app/Api/V1/Requests/Autocomplete/AutocompleteRequest.php @@ -31,6 +31,7 @@ use Illuminate\Foundation\Http\FormRequest; /** * Class AutocompleteRequest + * @deprecated */ class AutocompleteRequest extends FormRequest { diff --git a/app/Api/V1/Requests/Data/SameDateRequest.php b/app/Api/V1/Requests/Data/SameDateRequest.php index 9f419653f7..e963984e3c 100644 --- a/app/Api/V1/Requests/Data/SameDateRequest.php +++ b/app/Api/V1/Requests/Data/SameDateRequest.php @@ -32,6 +32,7 @@ use Illuminate\Foundation\Http\FormRequest; * Request class for end points that require date parameters. * * Class SameDateRequest + * @deprecated Replaced by DateRangeRequest */ class SameDateRequest extends FormRequest {