orderBy('name') ->get(['id', 'short_code', 'name', 'native_name']); return $this->sendResponse( $languages, 'Available languages for routes retrieved successfully.' ); } /** * Get feeds filtered by language */ public function feedsByLanguage(int $languageId): JsonResponse { $language = Language::findOrFail($languageId); $feeds = $language->feeds() ->where('feeds.is_active', true) ->where('feed_languages.is_active', true) ->with('languages') ->get(['feeds.id', 'feeds.name', 'feeds.url', 'feeds.type', 'feeds.provider']); return $this->sendResponse( $feeds, "Feeds for language '{$language->name}' retrieved successfully." ); } /** * Get channels filtered by language */ public function channelsByLanguage(int $languageId): JsonResponse { $language = Language::findOrFail($languageId); $channels = $language->platformChannels() ->where('platform_channels.is_active', true) ->with(['platformInstance:id,name,url', 'language:id,name,short_code']) ->get(['id', 'platform_instance_id', 'name', 'display_name', 'description', 'language_id']); return $this->sendResponse( $channels, "Channels for language '{$language->name}' retrieved successfully." ); } }