Underground-Digital/Workflow-Engine
0
1from typing import Optional2 3from configs import dify_config4from services.recommend_app.recommend_app_factory import RecommendAppRetrievalFactory5 6 7class RecommendedAppService:8 @classmethod9 def get_recommended_apps_and_categories(cls, language: str) -> dict:10 """11 Get recommended apps and categories.12 :param language: language13 :return:14 """15 mode = dify_config.HOSTED_FETCH_APP_TEMPLATES_MODE16 retrieval_instance = RecommendAppRetrievalFactory.get_recommend_app_factory(mode)()17 result = retrieval_instance.get_recommended_apps_and_categories(language)18 if not result.get("recommended_apps") and language != "en-US":19 result = (20 RecommendAppRetrievalFactory.get_buildin_recommend_app_retrieval().fetch_recommended_apps_from_builtin(21 "en-US"22 )23 )24 25 return result26 27 @classmethod28 def get_recommend_app_detail(cls, app_id: str) -> Optional[dict]:29 """30 Get recommend app detail.31 :param app_id: app id32 :return:33 """34 mode = dify_config.HOSTED_FETCH_APP_TEMPLATES_MODE35 retrieval_instance = RecommendAppRetrievalFactory.get_recommend_app_factory(mode)()36 result = retrieval_instance.get_recommend_app_detail(app_id)37 return result38 