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