prvi kod za live uporabu
Some checks failed
ERP CI Pipeline / test (push) Has been cancelled

This commit is contained in:
mariomitte
2026-07-09 21:21:17 +02:00
parent 857bb65d52
commit 5d39e048ba
239 changed files with 25151 additions and 0 deletions

View File

@@ -0,0 +1,35 @@
# backend/core/users/services.py
import logging
from django.contrib.auth import get_user_model
from rest_framework.exceptions import ValidationError
from .serializers import UserSerializer
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from .models import CustomUser as User
else:
User = get_user_model()
logger = logging.getLogger(__name__)
class UserService:
@staticmethod
def update_user_profile(user, data: dict) -> User:
"""
Ažurira profil koristeći serializer za validaciju.
Ovo osigurava da poslovna pravila definirana u serializeru
budu poštivana i kod programskog ažuriranja.
"""
# Koristimo serializer za validaciju dolaznih podataka
serializer = UserSerializer(user, data=data, partial=True)
if not serializer.is_valid():
logger.error(f"Neuspješna validacija profila korisnika {user.id}: {serializer.errors}")
raise ValidationError(serializer.errors)
# Spremanje validiranih podataka
updated_user = serializer.save()
logger.info(f"Korisnik {user.id} je uspješno ažurirao profil.")
return updated_user