@@ -530,9 +530,12 @@ def update_user_role_by_id(
530530 ) -> Optional [UserModel ]:
531531 try :
532532 with get_db_context (db ) as db :
533- db .query (User ).filter_by (id = id ).update ({"role" : role })
534- db .commit ()
535533 user = db .query (User ).filter_by (id = id ).first ()
534+ if not user :
535+ return None
536+ user .role = role
537+ db .commit ()
538+ db .refresh (user )
536539 return UserModel .model_validate (user )
537540 except Exception :
538541 return None
@@ -542,12 +545,13 @@ def update_user_status_by_id(
542545 ) -> Optional [UserModel ]:
543546 try :
544547 with get_db_context (db ) as db :
545- db .query (User ).filter_by (id = id ).update (
546- {** form_data .model_dump (exclude_none = True )}
547- )
548- db .commit ()
549-
550548 user = db .query (User ).filter_by (id = id ).first ()
549+ if not user :
550+ return None
551+ for key , value in form_data .model_dump (exclude_none = True ).items ():
552+ setattr (user , key , value )
553+ db .commit ()
554+ db .refresh (user )
551555 return UserModel .model_validate (user )
552556 except Exception :
553557 return None
@@ -557,12 +561,12 @@ def update_user_profile_image_url_by_id(
557561 ) -> Optional [UserModel ]:
558562 try :
559563 with get_db_context (db ) as db :
560- db .query (User ).filter_by (id = id ).update (
561- {"profile_image_url" : profile_image_url }
562- )
563- db .commit ()
564-
565564 user = db .query (User ).filter_by (id = id ).first ()
565+ if not user :
566+ return None
567+ user .profile_image_url = profile_image_url
568+ db .commit ()
569+ db .refresh (user )
566570 return UserModel .model_validate (user )
567571 except Exception :
568572 return None
@@ -573,12 +577,12 @@ def update_last_active_by_id(
573577 ) -> Optional [UserModel ]:
574578 try :
575579 with get_db_context (db ) as db :
576- db .query (User ).filter_by (id = id ).update (
577- {"last_active_at" : int (time .time ())}
578- )
579- db .commit ()
580-
581580 user = db .query (User ).filter_by (id = id ).first ()
581+ if not user :
582+ return None
583+ user .last_active_at = int (time .time ())
584+ db .commit ()
585+ db .refresh (user )
582586 return UserModel .model_validate (user )
583587 except Exception :
584588 return None
@@ -620,12 +624,14 @@ def update_user_by_id(
620624 ) -> Optional [UserModel ]:
621625 try :
622626 with get_db_context (db ) as db :
623- db .query (User ).filter_by (id = id ).update (updated )
624- db .commit ()
625-
626627 user = db .query (User ).filter_by (id = id ).first ()
628+ if not user :
629+ return None
630+ for key , value in updated .items ():
631+ setattr (user , key , value )
632+ db .commit ()
633+ db .refresh (user )
627634 return UserModel .model_validate (user )
628- # return UserModel(**user.dict())
629635 except Exception as e :
630636 print (e )
631637 return None
0 commit comments