diff --git a/backend/open_webui/models/auths.py b/backend/open_webui/models/auths.py index 85e2a7c..d332b22 100644 --- a/backend/open_webui/models/auths.py +++ b/backend/open_webui/models/auths.py @@ -1,6 +1,6 @@ import logging import uuid -from typing import Optional +from typing import Optional, List from open_webui.internal.db import Base, get_db from open_webui.models.users import UserModel, Users @@ -103,8 +103,8 @@ class AuthsTable: profile_image_url: str = "/user.png", role: str = "pending", oauth_sub: Optional[str] = None, - permissions: Optional[str] = None, - subscription: Optional[str] = None + permissions: Optional[dict] = None, + subscription: Optional[List[str]] = None ) -> Optional[UserModel]: with get_db() as db: log.info("insert_new_auth") @@ -204,7 +204,7 @@ class AuthsTable: except Exception: return False - def update_user_profile(self, id: str, name: str, profile_image_url: str, role: str, permissions: dict, subscription: dict) -> bool: + def update_user_profile(self, id: str, name: str, profile_image_url: str, role: str, permissions: Optional[dict] = None, subscription: Optional[List[str]] = None) -> bool: result = Users.update_user_profile(id, name, profile_image_url, role, permissions, subscription) return True if result == 1 else False diff --git a/backend/open_webui/models/users.py b/backend/open_webui/models/users.py index 1feb69c..4640ae7 100644 --- a/backend/open_webui/models/users.py +++ b/backend/open_webui/models/users.py @@ -1,5 +1,5 @@ import time -from typing import Optional +from typing import Optional, List from open_webui.internal.db import Base, JSONField, get_db @@ -64,7 +64,7 @@ class UserModel(BaseModel): permissions: Optional[dict] = None - subscription: Optional[dict] = None + subscription: Optional[List[str]] = None model_config = ConfigDict(from_attributes=True) @@ -111,8 +111,8 @@ class UsersTable: profile_image_url: str = "/user.png", role: str = "pending", oauth_sub: Optional[str] = None, - permissions: Optional[str] = None, - subscription: Optional[str] = None + permissions: Optional[dict] = None, + subscription: Optional[List[str]] = None ) -> Optional[UserModel]: with get_db() as db: user = UserModel( @@ -342,7 +342,7 @@ class UsersTable: users = db.query(User).filter(User.id.in_(user_ids)).all() return [user.id for user in users] - def update_user_profile(self, id: str, name: str, profile_image_url: str, role: str, permissions: dict, subscription: dict) -> bool: + def update_user_profile(self, id: str, name: str, profile_image_url: str, role: str, permissions: Optional[dict] = None, subscription: Optional[List[str]] = None) -> bool: try: with get_db() as db: result = db.query(User).filter_by(id=id).update({