| 1234567891011121314151617181920212223242526272829303132333435363738 | 
							- 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) -> dict:
 
-         """
 
-         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") and language != "en-US":
 
-             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 = retrieval_instance.get_recommend_app_detail(app_id)
 
-         return result
 
 
  |