| 1234567891011121314151617181920212223 | from services.recommend_app.buildin.buildin_retrieval import BuildInRecommendAppRetrievalfrom services.recommend_app.database.database_retrieval import DatabaseRecommendAppRetrievalfrom services.recommend_app.recommend_app_base import RecommendAppRetrievalBasefrom services.recommend_app.recommend_app_type import RecommendAppTypefrom services.recommend_app.remote.remote_retrieval import RemoteRecommendAppRetrievalclass 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
 |