Shop registration works now

This commit is contained in:
Thastertyn committed 2025-03-14 13:40:50 +01:00
1 parent a0d238c840
commit d87c280109
15 files changed
+98 -727

No files matched your search

+9 -17
View File
@@ -1,27 +1,19 @@
import logging
from functools import wraps
from fastapi import HTTPException
from fastapi import HTTPException, status
from sqlalchemy.exc import DatabaseError as SqlAlchemyDatabaseError
from app.core.errors import RepositoryError, ServiceError
logger = logging.getLogger(__name__)
def propagate_db_error_to_service(func):
def raise_http_errors(func):
@wraps(func)
def wrapper(*args, **kwargs):
try:
return func(*args, **kwargs)
except (SqlAlchemyDatabaseError, RepositoryError) as e:
raise ServiceError(str(e)) from e
return wrapper
def propagate_service_errors_to_http_errors(func):
@wraps(func)
def wrapper(*args, **kwargs):
try:
return func(*args, **kwargs)
except ServiceError as e:
raise HTTPException(status_code=500, detail=str(e)) from e
except Exception as e:
if isinstance(e, HTTPException):
raise
logger.error(e)
raise HTTPException(status_code=status.HTTP_500_INTERNAL_SERVER_ERROR, detail="Internal server error")
return wrapper