Replace a few request class calls.

This commit is contained in:
James Cole
2025-10-26 17:15:54 +01:00
parent ecd7750030
commit e740fc57a6
2 changed files with 20 additions and 12 deletions

View File

@@ -81,10 +81,15 @@ class AccountController extends Controller
*/ */
public function accounts(AutocompleteApiRequest $request): JsonResponse public function accounts(AutocompleteApiRequest $request): JsonResponse
{ {
$types = $request->attributes->get('types'); [
$query = $request->attributes->get('query'); 'types' => $types,
$date = $request->attributes->get('date'); 'query' => $query,
$limit = $request->attributes->get('limit'); 'date' => $date,
'limit' => $limit,
]
= $request->attributes->all();
$date = $date ?? today(config('app.timezone')); $date = $date ?? today(config('app.timezone'));
// set date to end-of-day for account balance. so it is at $date 23:59:59 // set date to end-of-day for account balance. so it is at $date 23:59:59

View File

@@ -70,7 +70,7 @@ class ListController extends Controller
); );
} }
public function attachments(Account $account, PaginationRequest $request): JsonResponse public function attachments(PaginationRequest $request, Account $account): JsonResponse
{ {
$manager = $this->getManager(); $manager = $this->getManager();
[ [
@@ -96,18 +96,21 @@ class ListController extends Controller
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE); return response()->json($manager->createData($resource)->toArray())->header('Content-Type', self::CONTENT_TYPE);
} }
public function piggyBanks(Account $account): JsonResponse public function piggyBanks(PaginationRequest $request, Account $account): JsonResponse
{ {
// create some objects: // create some objects:
$manager = $this->getManager(); $manager = $this->getManager();
// types to get, page size: [
$pageSize = $this->parameters->get('limit'); 'limit' => $limit,
'offset' => $offset,
'page' => $page,
] = $request->attributes->all();
// get list of piggy banks. Count it and split it. // get list of piggy banks. Count it and split it.
$collection = $this->repository->getPiggyBanks($account); $collection = $this->repository->getPiggyBanks($account);
$count = $collection->count(); $count = $collection->count();
$piggyBanks = $collection->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize); $piggyBanks = $collection->slice(($page - 1) * $limit, $limit);
// enrich // enrich
/** @var User $admin */ /** @var User $admin */
@@ -117,12 +120,12 @@ class ListController extends Controller
$piggyBanks = $enrichment->enrich($piggyBanks); $piggyBanks = $enrichment->enrich($piggyBanks);
// make paginator: // make paginator:
$paginator = new LengthAwarePaginator($piggyBanks, $count, $pageSize, $this->parameters->get('page')); $paginator = new LengthAwarePaginator($piggyBanks, $count, $limit, $page);
$paginator->setPath(route('api.v1.accounts.piggy-banks', [$account->id]).$this->buildParams()); $paginator->setPath(route('api.v1.accounts.piggy-banks', [$account->id]).$this->buildParams());
/** @var PiggyBankTransformer $transformer */ /** @var PiggyBankTransformer $transformer */
$transformer = app(PiggyBankTransformer::class); $transformer = app(PiggyBankTransformer::class);
$transformer->setParameters($this->parameters); //$transformer->setParameters($this->parameters);
$resource = new FractalCollection($piggyBanks, $transformer, 'piggy-banks'); $resource = new FractalCollection($piggyBanks, $transformer, 'piggy-banks');
$resource->setPaginator(new IlluminatePaginatorAdapter($paginator)); $resource->setPaginator(new IlluminatePaginatorAdapter($paginator));