This commit is contained in:
l.gabrysiak 2025-03-01 20:47:25 +01:00
parent e1e2b17853
commit 9c7694f2e5
3 changed files with 13 additions and 20 deletions

View File

@ -202,7 +202,8 @@ class AuthsTable:
except Exception:
return False
def update_user_profile(self, id: str, name: str, profile_image_url: str, role: str) -> bool:
return Users.update_user_profile(id, name, profile_image_url, role)
def update_user_profile(self, id: str, name: str, profile_image_url: str, role: str) -> bool:
result = Users.update_user_profile(id, name, profile_image_url, role)
return True if result == 1 else False
Auths = AuthsTable()

View File

@ -9,7 +9,7 @@ from open_webui.models.groups import Groups
from pydantic import BaseModel, ConfigDict
from sqlalchemy import BigInteger, Column, String, Text
from sqlalchemy import BigInteger, Column, String, Text, JSON
####################
# User DB Schema
@ -34,6 +34,8 @@ class User(Base):
info = Column(JSONField, nullable=True)
oauth_sub = Column(Text, unique=True)
permissions = Column(JSON, nullable=True)
class UserSettings(BaseModel):
@ -58,8 +60,11 @@ class UserModel(BaseModel):
info: Optional[dict] = None
oauth_sub: Optional[str] = None
permissions: Optional[dict] = None
model_config = ConfigDict(from_attributes=True)
####################
@ -339,14 +344,8 @@ class UsersTable:
"role": role
})
db.commit()
if result == 1:
print(f"User profile updated successfully: id={id}, name={name}")
return True
else:
print(f"Failed to update user profile: id={id}, name={name}")
return False
except Exception as e:
print(f"Error updating user profile: {e}")
return False
return result
except Exception:
return 0
Users = UsersTable()

View File

@ -308,19 +308,12 @@ class OAuthManager:
Users.update_user_oauth_sub_by_id(user.id, provider_sub)
if user:
#determined_role = self.get_user_role(user, user_data)
#if user.role != determined_role:
# Users.update_user_role_by_id(user.id, determined_role)
updated = Auths.update_user_profile(
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:
user_count = Users.get_num_users()