'Retrieved Company Moduels', 'message' => 'You have successfully retrieved a list of Companies' ]; } /** @var CanListCompanies */ private $canListCompanies; /** @var ListsCompanyModules */ private $listsCompanyModules; /** * ListCompaniesControllersLogic constructor. * @param CanListCompanies $canListCompanies * @param ListsCompanyModules $listsCompanyModules */ public function __construct(CanListCompanies $canListCompanies, ListsCompanyModules $listsCompanyModules) { $this->canListCompanies = $canListCompanies; $this->listsCompanyModules = $listsCompanyModules; } /** * @param Request $request * @return JsonResponse * @throws AccessForbiddenException * @throws MalformedRequestException * @throws RequestValidationException */ public function logic(Request $request): JsonResponse { $this->canListCompanies->passes(); $query = $this->listsCompanyModules->execute($this->listsCompanyModules->deserializeFilters($request->input('filters'))); /*include all relationships*/ /* return fractal() ->collection($query, new CompanyTransformer) ->parseIncludes('company') ->parseIncludes('contact') ->parseIncludes('remarks') ->parseIncludes('address') ->parseIncludes('billingAddress') ->respond(200, [], JSON_PRETTY_PRINT);*/ return $this->collectionResponse(CompanyModuleResource::collection($query)); } }