|
@@ -271,6 +271,24 @@ class UsersTable:
|
|
|
except Exception:
|
|
|
return None
|
|
|
|
|
|
+ def update_user_settings_by_id(self, id: str, updated: dict) -> Optional[UserModel]:
|
|
|
+ try:
|
|
|
+ with get_db() as db:
|
|
|
+ user_settings = db.query(User).filter_by(id=id).first().settings
|
|
|
+
|
|
|
+ if user_settings is None:
|
|
|
+ user_settings = {}
|
|
|
+
|
|
|
+ user_settings.update(updated)
|
|
|
+
|
|
|
+ db.query(User).filter_by(id=id).update({"settings": user_settings})
|
|
|
+ db.commit()
|
|
|
+
|
|
|
+ user = db.query(User).filter_by(id=id).first()
|
|
|
+ return UserModel.model_validate(user)
|
|
|
+ except Exception:
|
|
|
+ return None
|
|
|
+
|
|
|
def delete_user_by_id(self, id: str) -> bool:
|
|
|
try:
|
|
|
# Remove User from Groups
|