Skip to content

Commit cf5ee52

Browse files
authored
feat: only adjust sync teams when fields change (#709)
1 parent 25f7e59 commit cf5ee52

File tree

1 file changed

+15
-7
lines changed

1 file changed

+15
-7
lines changed

apps/worker/tasks/sync_teams.py

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -81,13 +81,21 @@ def upsert_team(self, db_session, service, service_id, data):
8181
)
8282

8383
if team:
84-
team.username = data["username"]
85-
team.name = data["name"]
86-
team.email = data.get("email")
87-
team.avatar_url = data.get("avatar_url")
88-
team.parent_service_id = data.get("parent_service_id")
89-
team.updatestamp = datetime.now()
90-
db_session.flush()
84+
fields = {
85+
"username": data["username"],
86+
"name": data["name"],
87+
"email": data.get("email"),
88+
"avatar_url": data.get("avatar_url"),
89+
"parent_service_id": data.get("parent_service_id"),
90+
}
91+
changed = False
92+
for attr, new_val in fields.items():
93+
if getattr(team, attr) != new_val:
94+
setattr(team, attr, new_val)
95+
changed = True
96+
if changed:
97+
team.updatestamp = datetime.now()
98+
db_session.flush()
9199
else:
92100
team = Owner(
93101
service=service,

0 commit comments

Comments
 (0)