[FWA-3] completed update Profile

This commit is contained in:
2024-06-11 12:28:02 +00:00
parent 0ea7ba1a39
commit 3fed0650c9
17 changed files with 246 additions and 105 deletions

View File

@ -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