diff --git a/app/Api/V1/Controllers/Autocomplete/AccountController.php b/app/Api/V1/Controllers/Autocomplete/AccountController.php index ffd80198d7..2e985ba476 100644 --- a/app/Api/V1/Controllers/Autocomplete/AccountController.php +++ b/app/Api/V1/Controllers/Autocomplete/AccountController.php @@ -44,9 +44,7 @@ class AccountController extends Controller private AccountRepositoryInterface $repository; /** - * TransactionController constructor. - * - * @codeCoverageIgnore + * AccountController constructor. */ public function __construct() { @@ -65,6 +63,7 @@ class AccountController extends Controller } /** + * TODO add limit * @param AutocompleteRequest $request * * @return JsonResponse diff --git a/app/Api/V1/Controllers/Autocomplete/BillController.php b/app/Api/V1/Controllers/Autocomplete/BillController.php index 8e14b7e0b7..57a2196230 100644 --- a/app/Api/V1/Controllers/Autocomplete/BillController.php +++ b/app/Api/V1/Controllers/Autocomplete/BillController.php @@ -57,6 +57,7 @@ class BillController extends Controller } /** + * TODO add limit * @param AutocompleteRequest $request * * @return JsonResponse diff --git a/app/Api/V1/Controllers/Autocomplete/BudgetController.php b/app/Api/V1/Controllers/Autocomplete/BudgetController.php index 51575157b6..1c2634dadf 100644 --- a/app/Api/V1/Controllers/Autocomplete/BudgetController.php +++ b/app/Api/V1/Controllers/Autocomplete/BudgetController.php @@ -57,6 +57,7 @@ class BudgetController extends Controller } /** + * TODO add limit * @param AutocompleteRequest $request * * @return JsonResponse diff --git a/app/Api/V1/Controllers/Autocomplete/CategoryController.php b/app/Api/V1/Controllers/Autocomplete/CategoryController.php index 983c8a6f93..9b6d63c75c 100644 --- a/app/Api/V1/Controllers/Autocomplete/CategoryController.php +++ b/app/Api/V1/Controllers/Autocomplete/CategoryController.php @@ -38,7 +38,7 @@ class CategoryController extends Controller private CategoryRepositoryInterface $repository; /** - * BudgetController constructor. + * CategoryController constructor. */ public function __construct() { @@ -56,6 +56,7 @@ class CategoryController extends Controller } /** + * TODO add limit * @param AutocompleteRequest $request * * @return JsonResponse diff --git a/app/Api/V1/Controllers/Autocomplete/CurrencyController.php b/app/Api/V1/Controllers/Autocomplete/CurrencyController.php index 8bacb7acca..c41fed1ab5 100644 --- a/app/Api/V1/Controllers/Autocomplete/CurrencyController.php +++ b/app/Api/V1/Controllers/Autocomplete/CurrencyController.php @@ -26,7 +26,6 @@ namespace FireflyIII\Api\V1\Controllers\Autocomplete; use FireflyIII\Api\V1\Controllers\Controller; use FireflyIII\Api\V1\Requests\Autocomplete\AutocompleteRequest; -use FireflyIII\Models\TransactionCurrency; use FireflyIII\Repositories\Currency\CurrencyRepositoryInterface; use FireflyIII\User; use Illuminate\Http\JsonResponse; @@ -57,10 +56,11 @@ class CurrencyController extends Controller } /** + * TODO add limit + * * @param AutocompleteRequest $request * * @return JsonResponse - * @codeCoverageIgnore */ public function currencyWithCode(AutocompleteRequest $request): JsonResponse { diff --git a/app/Api/V1/Controllers/Autocomplete/ObjectGroupController.php b/app/Api/V1/Controllers/Autocomplete/ObjectGroupController.php index 7bf994d73c..586110d8d1 100644 --- a/app/Api/V1/Controllers/Autocomplete/ObjectGroupController.php +++ b/app/Api/V1/Controllers/Autocomplete/ObjectGroupController.php @@ -57,6 +57,7 @@ class ObjectGroupController extends Controller } /** + * TODO add limit * @param AutocompleteRequest $request * * @return JsonResponse diff --git a/app/Api/V1/Requests/Autocomplete/AutocompleteRequest.php b/app/Api/V1/Requests/Autocomplete/AutocompleteRequest.php index b98ed45e44..528847e62d 100644 --- a/app/Api/V1/Requests/Autocomplete/AutocompleteRequest.php +++ b/app/Api/V1/Requests/Autocomplete/AutocompleteRequest.php @@ -55,11 +55,14 @@ class AutocompleteRequest extends FormRequest if ('' !== $types) { $array = explode(',', $types); } + $limit = $this->integer('limit'); + $limit = 0 === $limit ? 10 : $limit; return [ 'types' => $array, 'query' => $this->string('query'), 'date' => $this->date('date'), + 'limit' => $limit, ]; } @@ -68,6 +71,8 @@ class AutocompleteRequest extends FormRequest */ public function rules(): array { - return []; + return [ + 'limit' => 'min:0|max:25' + ]; } } diff --git a/app/Http/Controllers/Json/AutoCompleteController.php b/app/Http/Controllers/Json/AutoCompleteController.php index 64b81625e2..c7c0dc6b2c 100644 --- a/app/Http/Controllers/Json/AutoCompleteController.php +++ b/app/Http/Controllers/Json/AutoCompleteController.php @@ -121,40 +121,7 @@ class AutoCompleteController extends Controller return response()->json($array); } - - /** - * @return JsonResponse - * @codeCoverageIgnore - */ - public function piggyBanks(): JsonResponse - { - /** @var PiggyBankRepositoryInterface $repository */ - $repository = app(PiggyBankRepositoryInterface::class); - - /** @var AccountRepositoryInterface $accountRepos */ - $accountRepos = app(AccountRepositoryInterface::class); - - $piggies = $repository->getPiggyBanks(); - $defaultCurrency = Amount::getDefaultCurrency(); - $response = []; - /** @var PiggyBank $piggy */ - foreach ($piggies as $piggy) { - $currency = $accountRepos->getAccountCurrency($piggy->account) ?? $defaultCurrency; - $currentAmount = $repository->getRepetition($piggy)->currentamount ?? '0'; - $piggy->objectGroup = $piggy->objectGroups->first(); - $piggy->name_with_amount = sprintf( - '%s (%s / %s)', - $piggy->name, - app('amount')->formatAnything($currency, $currentAmount, false), - app('amount')->formatAnything($currency, $piggy->targetamount, false), - ); - $response[] = $piggy->toArray(); - } - - return response()->json($response); - } - - + /** * @param Request $request *