Initial commit
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
"""Domain error types.
|
||||
|
||||
Use these instead of bare exceptions so services/routers can map them to
|
||||
meaningful HTTP responses. Never swallow errors silently (see ARCHITECTURE.md §10).
|
||||
"""
|
||||
|
||||
|
||||
class DomainError(Exception):
|
||||
"""Base class for all application-domain errors."""
|
||||
|
||||
|
||||
class NotFoundError(DomainError):
|
||||
"""Raised when an entity cannot be found by its identifier."""
|
||||
|
||||
|
||||
class ValidationError(DomainError):
|
||||
"""Raised when input fails a business rule (not just schema validation)."""
|
||||
|
||||
|
||||
class InsufficientDaysError(DomainError):
|
||||
"""Raised when a parent doesn't have enough remaining days to plan."""
|
||||
|
||||
|
||||
class InvalidDayTypeError(ValidationError):
|
||||
"""Raised when a planned-day type is not recognized."""
|
||||
|
||||
|
||||
class DubbeldagError(ValidationError):
|
||||
"""Raised when a dubbeldag breaks the 15-month window or the 60-day quota."""
|
||||
|
||||
|
||||
class AuthError(DomainError):
|
||||
"""Raised when credentials are invalid or an auth operation fails."""
|
||||
|
||||
|
||||
class UnauthorizedError(DomainError):
|
||||
"""Raised when the caller lacks permission to perform an action."""
|
||||
|
||||
|
||||
class ConflictError(DomainError):
|
||||
"""Raised when a resource already exists (e.g. duplicate email on register)."""
|
||||
|
||||
|
||||
class InvitationError(ValidationError):
|
||||
"""Raised when an invitation token is invalid, expired, or already redeemed."""
|
||||
Reference in New Issue
Block a user