Spaces:
Paused
Paused
| from typing import Optional | |
| from configs import dify_config | |
| from services.recommend_app.recommend_app_factory import RecommendAppRetrievalFactory | |
| class RecommendedAppService: | |
| 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 | |
| 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 | |