[FWA-3] completed update Profile
This commit is contained in:
@ -1,7 +1,7 @@
|
||||
from backend.core.config import get_app_settings
|
||||
from backend.core.security.security import hash_password
|
||||
from backend.db.models import User
|
||||
from backend.schemas import UserCreate
|
||||
from backend.schemas import UserCreate, UserProfile
|
||||
from sqlalchemy.orm import Session
|
||||
from uuid import UUID
|
||||
|
||||
@ -20,7 +20,7 @@ class RepositoryUsers:
|
||||
return self.user.query.filter_by(username=username).first()
|
||||
|
||||
def get_by_id(self, user_id: str):
|
||||
return self.user.query.filter_by(id=UUID(user_id)).first()
|
||||
return self.user.query.filter_by(id=UUID(str(user_id))).one()
|
||||
|
||||
def create(self, db: Session, user: UserCreate | UserSeeds):
|
||||
try:
|
||||
@ -34,3 +34,17 @@ class RepositoryUsers:
|
||||
|
||||
db.refresh(db_user)
|
||||
return db_user
|
||||
|
||||
def update(self, db: Session, user: UserProfile, user_id: str):
|
||||
db_user = self.get_by_id(user_id)
|
||||
if not db_user:
|
||||
return None
|
||||
try:
|
||||
self.user.query.where(User.id == user_id).update(user.dict(exclude_unset=True))
|
||||
db.commit()
|
||||
except Exception:
|
||||
db.rollback()
|
||||
raise
|
||||
|
||||
db.refresh(db_user)
|
||||
return db_user
|
||||
|
Reference in New Issue
Block a user