'Fetched Group', 'message' => 'You have successfully retrieved a Group' ]; } /** @var CanFetchTransaction */ private $canFetchTransaction; /** @var FetchesGroup */ private $fetchesGroup; /** * FetchGroupLogic constructor. * @param CanFetchTransaction $canFetchTransaction * @param FetchesGroup $fetchesGroup */ public function __construct(CanFetchTransaction $canFetchTransaction, FetchesGroup $fetchesGroup) { $this->canFetchTransaction = $canFetchTransaction; $this->fetchesGroup = $fetchesGroup; } /** * @param Request $request * @return JsonResponse * @throws \App\Classes\Exceptions\AccessForbiddenException * @throws \App\Classes\Exceptions\RequestValidationException */ public function logic(Request $request) : JsonResponse { $this->canFetchTransaction->passes(); $query = $this->fetchesGroup->execute(['id' => $request->route('group_id')]); return $this->resourceResponse(new GroupPaidInvoicePNBPageResource($query)); } }