167 lines
4.4 KiB
Python
167 lines
4.4 KiB
Python
# app/exceptions/__init__.py
|
|
"""
|
|
Custom exception classes for the LetzShop API.
|
|
|
|
This module provides frontend-friendly exceptions with consistent error codes,
|
|
messages, and HTTP status mappings.
|
|
"""
|
|
|
|
from .base import (
|
|
LetzShopException,
|
|
ValidationException,
|
|
AuthenticationException,
|
|
AuthorizationException,
|
|
ResourceNotFoundException,
|
|
ConflictException,
|
|
BusinessLogicException,
|
|
ExternalServiceException,
|
|
RateLimitException,
|
|
ServiceUnavailableException,
|
|
)
|
|
|
|
from .auth import (
|
|
InvalidCredentialsException,
|
|
TokenExpiredException,
|
|
InvalidTokenException,
|
|
InsufficientPermissionsException,
|
|
UserNotActiveException,
|
|
AdminRequiredException,
|
|
UserAlreadyExistsException
|
|
)
|
|
|
|
from .marketplace_product import (
|
|
MarketplaceProductNotFoundException,
|
|
MarketplaceProductAlreadyExistsException,
|
|
InvalidMarketplaceProductDataException,
|
|
MarketplaceProductValidationException,
|
|
InvalidGTINException,
|
|
MarketplaceProductCSVImportException,
|
|
)
|
|
|
|
from .stock import (
|
|
StockNotFoundException,
|
|
InsufficientStockException,
|
|
InvalidStockOperationException,
|
|
StockValidationException,
|
|
NegativeStockException,
|
|
InvalidQuantityException,
|
|
LocationNotFoundException
|
|
)
|
|
|
|
from .shop import (
|
|
ShopNotFoundException,
|
|
ShopAlreadyExistsException,
|
|
ShopNotActiveException,
|
|
ShopNotVerifiedException,
|
|
UnauthorizedShopAccessException,
|
|
InvalidShopDataException,
|
|
MaxShopsReachedException,
|
|
ShopValidationException,
|
|
)
|
|
|
|
from .product import (
|
|
ProductNotFoundException,
|
|
ProductAlreadyExistsException,
|
|
)
|
|
|
|
from .marketplace_import_job import (
|
|
MarketplaceImportException,
|
|
ImportJobNotFoundException,
|
|
ImportJobNotOwnedException,
|
|
InvalidImportDataException,
|
|
ImportJobCannotBeCancelledException,
|
|
ImportJobCannotBeDeletedException,
|
|
MarketplaceConnectionException,
|
|
MarketplaceDataParsingException,
|
|
ImportRateLimitException,
|
|
InvalidMarketplaceException,
|
|
ImportJobAlreadyProcessingException,
|
|
)
|
|
|
|
from .admin import (
|
|
UserNotFoundException,
|
|
UserStatusChangeException,
|
|
ShopVerificationException,
|
|
AdminOperationException,
|
|
CannotModifyAdminException,
|
|
CannotModifySelfException,
|
|
InvalidAdminActionException,
|
|
BulkOperationException,
|
|
)
|
|
|
|
__all__ = [
|
|
# Base exceptions
|
|
"LetzShopException",
|
|
"ValidationException",
|
|
"AuthenticationException",
|
|
"AuthorizationException",
|
|
"ResourceNotFoundException",
|
|
"ConflictException",
|
|
"BusinessLogicException",
|
|
"ExternalServiceException",
|
|
"RateLimitException",
|
|
|
|
# Auth exceptions
|
|
"InvalidCredentialsException",
|
|
"TokenExpiredException",
|
|
"InvalidTokenException",
|
|
"InsufficientPermissionsException",
|
|
"UserNotActiveException",
|
|
"AdminRequiredException",
|
|
"UserAlreadyExistsException",
|
|
|
|
# MarketplaceProduct exceptions
|
|
"MarketplaceProductNotFoundException",
|
|
"MarketplaceProductAlreadyExistsException",
|
|
"InvalidMarketplaceProductDataException",
|
|
"MarketplaceProductValidationException",
|
|
"InvalidGTINException",
|
|
"MarketplaceProductCSVImportException",
|
|
|
|
# Stock exceptions
|
|
"StockNotFoundException",
|
|
"InsufficientStockException",
|
|
"InvalidStockOperationException",
|
|
"StockValidationException",
|
|
"NegativeStockException",
|
|
"InvalidQuantityException",
|
|
"LocationNotFoundException",
|
|
|
|
# Shop exceptions
|
|
"ShopNotFoundException",
|
|
"ShopAlreadyExistsException",
|
|
"ShopNotActiveException",
|
|
"ShopNotVerifiedException",
|
|
"UnauthorizedShopAccessException",
|
|
"InvalidShopDataException",
|
|
"MaxShopsReachedException",
|
|
"ShopValidationException",
|
|
|
|
# Product exceptions
|
|
"ProductAlreadyExistsException",
|
|
"ProductNotFoundException",
|
|
|
|
# Marketplace import exceptions
|
|
"MarketplaceImportException",
|
|
"ImportJobNotFoundException",
|
|
"ImportJobNotOwnedException",
|
|
"InvalidImportDataException",
|
|
"ImportJobCannotBeCancelledException",
|
|
"ImportJobCannotBeDeletedException",
|
|
"MarketplaceConnectionException",
|
|
"MarketplaceDataParsingException",
|
|
"ImportRateLimitException",
|
|
"InvalidMarketplaceException",
|
|
"ImportJobAlreadyProcessingException",
|
|
|
|
# Admin exceptions
|
|
"UserNotFoundException",
|
|
"UserStatusChangeException",
|
|
"ShopVerificationException",
|
|
"AdminOperationException",
|
|
"CannotModifyAdminException",
|
|
"CannotModifySelfException",
|
|
"InvalidAdminActionException",
|
|
"BulkOperationException",
|
|
]
|