packages); $modules = $packages->filter(fn ($package) => $package->type === 'openstamanager-module'); $modules->transform(function ($module) { foreach ($module->extra->osm_modules as $id => $data) { $routes[] = cache()->get("modules.$id.drawer_routes"); } $module->routes = array_merge(...$routes); return $module; }); $filtered = $modules->only($filter); return $request->wantsJson() ? response()->json($filtered) : $filtered; } }