diff --git a/migration/infrastructure/mongo_database.py b/migration/infrastructure/mongo_database.py index 10d3a898..5f7a179e 100644 --- a/migration/infrastructure/mongo_database.py +++ b/migration/infrastructure/mongo_database.py @@ -6,18 +6,18 @@ from migration.domain.connection import Connection from tapiriik.database import db - +from pymongo import ReadPreference def get_all_connections() -> List[Connection]: - return [Connection.to_connection(conn) for conn in db.connections.find()] + return [Connection.to_connection(conn) for conn in db.connections.with_options(read_preference=ReadPreference.SECONDARY).find()] def get_connections_by_partner_name(partner_name: str) -> List[Connection]: - return [Connection.to_connection(conn) for conn in db.connections.find({"Service": partner_name})] + return [Connection.to_connection(conn) for conn in db.connections.with_options(read_preference=ReadPreference.SECONDARY).find({"Service": partner_name})] def get_connection_by_id(connection_id: ObjectId) -> Connection | None: - connection_dict = db.connections.find_one({"_id": connection_id}) + connection_dict = db.connections.with_options(read_preference=ReadPreference.SECONDARY).find_one({"_id": connection_id}) if connection_dict is not None: return Connection.to_connection(connection_dict) else: @@ -25,11 +25,11 @@ def get_connection_by_id(connection_id: ObjectId) -> Connection | None: def get_all_users() -> list: - return list(db.users.find()) + return list(db.users.with_options(read_preference=ReadPreference.SECONDARY).find()) def get_user_by_connection_id(connection_id: ObjectId) -> List[dict]: - return list(db.users.aggregate( + return list(db.users.with_options(read_preference=ReadPreference.SECONDARY).aggregate( [ { '$match': { @@ -45,7 +45,7 @@ def get_user_by_connection_id(connection_id: ObjectId) -> List[dict]: def get_user_connected_to_decathlon() -> List[dict]: - return list(db.users.aggregate( + return list(db.users.with_options(read_preference=ReadPreference.SECONDARY).aggregate( [ { '$match': {