REFACTOR - Database logic
This commit is contained in:
52
shared/database/exceptions.py
Normal file
52
shared/database/exceptions.py
Normal file
@@ -0,0 +1,52 @@
|
||||
"""
|
||||
Custom Database Exceptions
|
||||
Provides consistent error handling across all microservices
|
||||
"""
|
||||
|
||||
class DatabaseError(Exception):
|
||||
"""Base exception for database-related errors"""
|
||||
|
||||
def __init__(self, message: str, details: dict = None):
|
||||
self.message = message
|
||||
self.details = details or {}
|
||||
super().__init__(self.message)
|
||||
|
||||
|
||||
class ConnectionError(DatabaseError):
|
||||
"""Raised when database connection fails"""
|
||||
pass
|
||||
|
||||
|
||||
class RecordNotFoundError(DatabaseError):
|
||||
"""Raised when a requested record is not found"""
|
||||
pass
|
||||
|
||||
|
||||
class DuplicateRecordError(DatabaseError):
|
||||
"""Raised when trying to create a duplicate record"""
|
||||
pass
|
||||
|
||||
|
||||
class ConstraintViolationError(DatabaseError):
|
||||
"""Raised when database constraints are violated"""
|
||||
pass
|
||||
|
||||
|
||||
class TransactionError(DatabaseError):
|
||||
"""Raised when transaction operations fail"""
|
||||
pass
|
||||
|
||||
|
||||
class ValidationError(DatabaseError):
|
||||
"""Raised when data validation fails before database operations"""
|
||||
pass
|
||||
|
||||
|
||||
class MigrationError(DatabaseError):
|
||||
"""Raised when database migration operations fail"""
|
||||
pass
|
||||
|
||||
|
||||
class HealthCheckError(DatabaseError):
|
||||
"""Raised when database health checks fail"""
|
||||
pass
|
||||
Reference in New Issue
Block a user