packages); $modules = $packages->filter(fn ($package) => $package->type === 'openstamanager-module'); $modules->transform(function ($module) { $osm_modules = collect($module->extra->{'osm-modules'}); $module->drawer_entries = $osm_modules ->mapWithKeys(fn ($item, $name) => config("$name.drawer_entries")) ->whereNotNull() ->all(); // Modules (for Frontend) $module->modules = $osm_modules->mapWithKeys(fn ($item, $key) => [$module->name => $item]); return $module; }); $filtered = $modules->only($filter); return $request->wantsJson() ? response()->json($filtered) : $filtered; } }