From b2dad3b1015e1b43f909c536e88449c543de94d8 Mon Sep 17 00:00:00 2001 From: Adrian Date: Wed, 11 Feb 2026 11:06:51 -0800 Subject: [PATCH] feat: only adjust sync teams when fields change --- apps/worker/tasks/sync_teams.py | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/apps/worker/tasks/sync_teams.py b/apps/worker/tasks/sync_teams.py index 52dde6c5c..e256e7aa7 100644 --- a/apps/worker/tasks/sync_teams.py +++ b/apps/worker/tasks/sync_teams.py @@ -81,13 +81,21 @@ def upsert_team(self, db_session, service, service_id, data): ) if team: - team.username = data["username"] - team.name = data["name"] - team.email = data.get("email") - team.avatar_url = data.get("avatar_url") - team.parent_service_id = data.get("parent_service_id") - team.updatestamp = datetime.now() - db_session.flush() + fields = { + "username": data["username"], + "name": data["name"], + "email": data.get("email"), + "avatar_url": data.get("avatar_url"), + "parent_service_id": data.get("parent_service_id"), + } + changed = False + for attr, new_val in fields.items(): + if getattr(team, attr) != new_val: + setattr(team, attr, new_val) + changed = True + if changed: + team.updatestamp = datetime.now() + db_session.flush() else: team = Owner( service=service,