Underground-Digital/Workflow-Engine
0
1from services.recommend_app.buildin.buildin_retrieval import BuildInRecommendAppRetrieval2from services.recommend_app.database.database_retrieval import DatabaseRecommendAppRetrieval3from services.recommend_app.recommend_app_base import RecommendAppRetrievalBase4from services.recommend_app.recommend_app_type import RecommendAppType5from services.recommend_app.remote.remote_retrieval import RemoteRecommendAppRetrieval6 7 8class RecommendAppRetrievalFactory:9 @staticmethod10 def get_recommend_app_factory(mode: str) -> type[RecommendAppRetrievalBase]:11 match mode:12 case RecommendAppType.REMOTE:13 return RemoteRecommendAppRetrieval14 case RecommendAppType.DATABASE:15 return DatabaseRecommendAppRetrieval16 case RecommendAppType.BUILDIN:17 return BuildInRecommendAppRetrieval18 case _:19 raise ValueError(f"invalid fetch recommended apps mode: {mode}")20 21 @staticmethod22 def get_buildin_recommend_app_retrieval():23 return BuildInRecommendAppRetrieval24 