| | from services.recommend_app.buildin.buildin_retrieval import BuildInRecommendAppRetrieval |
| | from services.recommend_app.database.database_retrieval import DatabaseRecommendAppRetrieval |
| | from services.recommend_app.recommend_app_base import RecommendAppRetrievalBase |
| | from services.recommend_app.recommend_app_type import RecommendAppType |
| | from services.recommend_app.remote.remote_retrieval import RemoteRecommendAppRetrieval |
| |
|
| |
|
| | class RecommendAppRetrievalFactory: |
| | @staticmethod |
| | def get_recommend_app_factory(mode: str) -> type[RecommendAppRetrievalBase]: |
| | match mode: |
| | case RecommendAppType.REMOTE: |
| | return RemoteRecommendAppRetrieval |
| | case RecommendAppType.DATABASE: |
| | return DatabaseRecommendAppRetrieval |
| | case RecommendAppType.BUILDIN: |
| | return BuildInRecommendAppRetrieval |
| | case _: |
| | raise ValueError(f"invalid fetch recommended apps mode: {mode}") |
| |
|
| | @staticmethod |
| | def get_buildin_recommend_app_retrieval(): |
| | return BuildInRecommendAppRetrieval |
| |
|