mod user
This commit is contained in:
parent
f12396b1ec
commit
c8c6a72236
|
|
@ -103,6 +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
|
||||
) -> Optional[UserModel]:
|
||||
with get_db() as db:
|
||||
log.info("insert_new_auth")
|
||||
|
|
@ -116,7 +118,7 @@ class AuthsTable:
|
|||
db.add(result)
|
||||
|
||||
user = Users.insert_new_user(
|
||||
id, name, email, profile_image_url, role, oauth_sub
|
||||
id, name, email, profile_image_url, role, oauth_sub, permissions, subscription
|
||||
)
|
||||
|
||||
db.commit()
|
||||
|
|
@ -202,8 +204,8 @@ class AuthsTable:
|
|||
except Exception:
|
||||
return False
|
||||
|
||||
def update_user_profile(self, id: str, name: str, profile_image_url: str, role: str, permissions: dict) -> bool:
|
||||
result = Users.update_user_profile(id, name, profile_image_url, role, permissions)
|
||||
def update_user_profile(self, id: str, name: str, profile_image_url: str, role: str, permissions: dict, subscription: dict) -> bool:
|
||||
result = Users.update_user_profile(id, name, profile_image_url, role, permissions, subscription)
|
||||
return True if result == 1 else False
|
||||
|
||||
Auths = AuthsTable()
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ class User(Base):
|
|||
oauth_sub = Column(Text, unique=True)
|
||||
|
||||
permissions = Column(JSON, nullable=True)
|
||||
subscription = Column(JSON, nullable=True)
|
||||
|
||||
|
||||
class UserSettings(BaseModel):
|
||||
|
|
@ -63,6 +64,8 @@ class UserModel(BaseModel):
|
|||
|
||||
permissions: Optional[dict] = None
|
||||
|
||||
subscription: Optional[dict] = None
|
||||
|
||||
model_config = ConfigDict(from_attributes=True)
|
||||
|
||||
|
||||
|
|
@ -108,6 +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
|
||||
) -> Optional[UserModel]:
|
||||
with get_db() as db:
|
||||
user = UserModel(
|
||||
|
|
@ -121,6 +126,8 @@ class UsersTable:
|
|||
"created_at": int(time.time()),
|
||||
"updated_at": int(time.time()),
|
||||
"oauth_sub": oauth_sub,
|
||||
"permissions": permissions,
|
||||
"subscription": subscription
|
||||
}
|
||||
)
|
||||
result = User(**user.model_dump())
|
||||
|
|
@ -335,14 +342,15 @@ 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) -> bool:
|
||||
def update_user_profile(self, id: str, name: str, profile_image_url: str, role: str, permissions: dict, subscription: dict) -> bool:
|
||||
try:
|
||||
with get_db() as db:
|
||||
result = db.query(User).filter_by(id=id).update({
|
||||
"name": name,
|
||||
"profile_image_url": profile_image_url,
|
||||
"role": role,
|
||||
"permissions": permissions
|
||||
"permissions": permissions,
|
||||
"subscription": subscription
|
||||
})
|
||||
db.commit()
|
||||
return result
|
||||
|
|
|
|||
|
|
@ -313,7 +313,8 @@ class OAuthManager:
|
|||
user_data.get("name", ""),
|
||||
user_data.get("profile_image_url", ""),
|
||||
user_data.get("role", self.get_user_role(None, user_data)),
|
||||
user_data.get("permissions", None)
|
||||
user_data.get("permissions", None),
|
||||
user_data.get("subscription", None)
|
||||
)
|
||||
|
||||
if not user:
|
||||
|
|
|
|||
Loading…
Reference in New Issue