This commit is contained in:
l.gabrysiak 2025-03-01 19:44:10 +01:00
parent fe0bccc9b3
commit 4aa9050292
2 changed files with 29 additions and 3 deletions

View File

@ -202,5 +202,21 @@ class AuthsTable:
except Exception: except Exception:
return False return False
def update_user_profile(self, id: str, name: str, profile_image_url: str, role: str) -> bool:
try:
with get_db() as db:
result = (
db.query(Users)
.filter_by(id=id)
.update({
"name": name,
"profile_image_url": profile_image_url,
"role": role})
)
db.commit()
return True if result == 1 else False
except Exception:
return False
Auths = AuthsTable() Auths = AuthsTable()

View File

@ -308,9 +308,19 @@ class OAuthManager:
Users.update_user_oauth_sub_by_id(user.id, provider_sub) Users.update_user_oauth_sub_by_id(user.id, provider_sub)
if user: if user:
determined_role = self.get_user_role(user, user_data) #determined_role = self.get_user_role(user, user_data)
if user.role != determined_role: #if user.role != determined_role:
Users.update_user_role_by_id(user.id, determined_role) # Users.update_user_role_by_id(user.id, determined_role)
updated = Auths.update_user_profile(
user.id,
user_data.get("name", ""),
user_data.get("profile_image_url", ""),
user_data.get("role", self.get_user_role(None, user_data))
)
if updated:
return {"message": "Profile updated successfully."}
else:
return {"error": "Failed to update profile."}
if not user: if not user:
user_count = Users.get_num_users() user_count = Users.get_num_users()