packages); $modules = $packages->filter(fn ($package) => $package->type === 'openstamanager-module'); $modules->transform(function ($module) { $drawer_entries = []; foreach ($module->extra->{'osm-modules'} as $id => $data) { $drawer_entries[] = config("$id.drawer_entries"); } $module->drawer_entries = array_merge(...array_filter($drawer_entries, static fn ($entry) => $entry !== null)); return $module; }); $filtered = $modules->only($filter); return $request->wantsJson() ? response()->json($filtered) : $filtered; } }