| 12345678910111213141516171819202122232425262728293031323334353637 | 
							- from typing import Optional
 - 
 - from configs import dify_config
 - from services.recommend_app.recommend_app_factory import RecommendAppRetrievalFactory
 - 
 - 
 - class RecommendedAppService:
 -     @classmethod
 -     def get_recommended_apps_and_categories(cls, language: str):
 -         """
 -         Get recommended apps and categories.
 -         :param language: language
 -         :return:
 -         """
 -         mode = dify_config.HOSTED_FETCH_APP_TEMPLATES_MODE
 -         retrieval_instance = RecommendAppRetrievalFactory.get_recommend_app_factory(mode)()
 -         result = retrieval_instance.get_recommended_apps_and_categories(language)
 -         if not result.get("recommended_apps"):
 -             result = (
 -                 RecommendAppRetrievalFactory.get_buildin_recommend_app_retrieval().fetch_recommended_apps_from_builtin(
 -                     "en-US"
 -                 )
 -             )
 - 
 -         return result
 - 
 -     @classmethod
 -     def get_recommend_app_detail(cls, app_id: str) -> Optional[dict]:
 -         """
 -         Get recommend app detail.
 -         :param app_id: app id
 -         :return:
 -         """
 -         mode = dify_config.HOSTED_FETCH_APP_TEMPLATES_MODE
 -         retrieval_instance = RecommendAppRetrievalFactory.get_recommend_app_factory(mode)()
 -         result: dict = retrieval_instance.get_recommend_app_detail(app_id)
 -         return result
 
 
  |