mod auth
This commit is contained in:
parent
e1e2b17853
commit
9c7694f2e5
|
|
@ -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()
|
||||
|
|
|
|||
|
|
@ -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()
|
||||
|
|
|
|||
|
|
@ -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()
|
||||
|
|
|
|||
Loading…
Reference in New Issue