refactor: Refactor the service of retrieval the recommend app (#9302)
This commit is contained in:
23
api/services/recommend_app/recommend_app_factory.py
Normal file
23
api/services/recommend_app/recommend_app_factory.py
Normal file
@@ -0,0 +1,23 @@
|
||||
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
|
Reference in New Issue
Block a user