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: except Exception:
return False return False
def update_user_profile(self, id: str, name: str, profile_image_url: str, role: str) -> bool: 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) result = Users.update_user_profile(id, name, profile_image_url, role)
return True if result == 1 else False
Auths = AuthsTable() Auths = AuthsTable()

View File

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

View File

@ -308,19 +308,12 @@ 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) Auths.update_user_profile(
#if user.role != determined_role:
# Users.update_user_role_by_id(user.id, determined_role)
updated = Auths.update_user_profile(
user.id, user.id,
user_data.get("name", ""), user_data.get("name", ""),
user_data.get("profile_image_url", ""), user_data.get("profile_image_url", ""),
user_data.get("role", self.get_user_role(None, user_data)) 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()