Optimise code

This commit is contained in:
James Cole
2020-07-21 06:14:47 +02:00
parent debbe89187
commit 5ad7439241
8 changed files with 16 additions and 41 deletions

View File

@@ -44,9 +44,7 @@ class AccountController extends Controller
private AccountRepositoryInterface $repository; private AccountRepositoryInterface $repository;
/** /**
* TransactionController constructor. * AccountController constructor.
*
* @codeCoverageIgnore
*/ */
public function __construct() public function __construct()
{ {
@@ -65,6 +63,7 @@ class AccountController extends Controller
} }
/** /**
* TODO add limit
* @param AutocompleteRequest $request * @param AutocompleteRequest $request
* *
* @return JsonResponse * @return JsonResponse

View File

@@ -57,6 +57,7 @@ class BillController extends Controller
} }
/** /**
* TODO add limit
* @param AutocompleteRequest $request * @param AutocompleteRequest $request
* *
* @return JsonResponse * @return JsonResponse

View File

@@ -57,6 +57,7 @@ class BudgetController extends Controller
} }
/** /**
* TODO add limit
* @param AutocompleteRequest $request * @param AutocompleteRequest $request
* *
* @return JsonResponse * @return JsonResponse

View File

@@ -38,7 +38,7 @@ class CategoryController extends Controller
private CategoryRepositoryInterface $repository; private CategoryRepositoryInterface $repository;
/** /**
* BudgetController constructor. * CategoryController constructor.
*/ */
public function __construct() public function __construct()
{ {
@@ -56,6 +56,7 @@ class CategoryController extends Controller
} }
/** /**
* TODO add limit
* @param AutocompleteRequest $request * @param AutocompleteRequest $request
* *
* @return JsonResponse * @return JsonResponse

View File

@@ -26,7 +26,6 @@ namespace FireflyIII\Api\V1\Controllers\Autocomplete;
use FireflyIII\Api\V1\Controllers\Controller; use FireflyIII\Api\V1\Controllers\Controller;
use FireflyIII\Api\V1\Requests\Autocomplete\AutocompleteRequest; use FireflyIII\Api\V1\Requests\Autocomplete\AutocompleteRequest;
use FireflyIII\Models\TransactionCurrency;
use FireflyIII\Repositories\Currency\CurrencyRepositoryInterface; use FireflyIII\Repositories\Currency\CurrencyRepositoryInterface;
use FireflyIII\User; use FireflyIII\User;
use Illuminate\Http\JsonResponse; use Illuminate\Http\JsonResponse;
@@ -57,10 +56,11 @@ class CurrencyController extends Controller
} }
/** /**
* TODO add limit
*
* @param AutocompleteRequest $request * @param AutocompleteRequest $request
* *
* @return JsonResponse * @return JsonResponse
* @codeCoverageIgnore
*/ */
public function currencyWithCode(AutocompleteRequest $request): JsonResponse public function currencyWithCode(AutocompleteRequest $request): JsonResponse
{ {

View File

@@ -57,6 +57,7 @@ class ObjectGroupController extends Controller
} }
/** /**
* TODO add limit
* @param AutocompleteRequest $request * @param AutocompleteRequest $request
* *
* @return JsonResponse * @return JsonResponse

View File

@@ -55,11 +55,14 @@ class AutocompleteRequest extends FormRequest
if ('' !== $types) { if ('' !== $types) {
$array = explode(',', $types); $array = explode(',', $types);
} }
$limit = $this->integer('limit');
$limit = 0 === $limit ? 10 : $limit;
return [ return [
'types' => $array, 'types' => $array,
'query' => $this->string('query'), 'query' => $this->string('query'),
'date' => $this->date('date'), 'date' => $this->date('date'),
'limit' => $limit,
]; ];
} }
@@ -68,6 +71,8 @@ class AutocompleteRequest extends FormRequest
*/ */
public function rules(): array public function rules(): array
{ {
return []; return [
'limit' => 'min:0|max:25'
];
} }
} }

View File

@@ -122,39 +122,6 @@ class AutoCompleteController extends Controller
return response()->json($array); 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 * @param Request $request
* *