# 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 .product import ( ProductNotFoundException, ProductAlreadyExistsException, InvalidProductDataException, ProductValidationException, InvalidGTINException, ProductCSVImportException, ) from .stock import ( StockNotFoundException, InsufficientStockException, InvalidStockOperationException, StockValidationException, NegativeStockException, InvalidQuantityException, LocationNotFoundException ) from .shop import ( ShopNotFoundException, ShopAlreadyExistsException, ShopNotActiveException, ShopNotVerifiedException, UnauthorizedShopAccessException, InvalidShopDataException, ShopProductAlreadyExistsException, ShopProductNotFoundException, MaxShopsReachedException, ShopValidationException, ) from .marketplace 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", # Product exceptions "ProductNotFoundException", "ProductAlreadyExistsException", "InvalidProductDataException", "ProductValidationException", "InvalidGTINException", "ProductCSVImportException", # Stock exceptions "StockNotFoundException", "InsufficientStockException", "InvalidStockOperationException", "StockValidationException", "NegativeStockException", "InvalidQuantityException", "LocationNotFoundException", # Shop exceptions "ShopNotFoundException", "ShopAlreadyExistsException", "ShopNotActiveException", "ShopNotVerifiedException", "UnauthorizedShopAccessException", "InvalidShopDataException", "ShopProductAlreadyExistsException", "ShopProductNotFoundException", "MaxShopsReachedException", "ShopValidationException", # Marketplace exceptions "MarketplaceImportException", "ImportJobNotFoundException", "ImportJobNotOwnedException", "InvalidImportDataException", "ImportJobCannotBeCancelledException", "ImportJobCannotBeDeletedException", "MarketplaceConnectionException", "MarketplaceDataParsingException", "ImportRateLimitException", "InvalidMarketplaceException", "ImportJobAlreadyProcessingException", # Admin exceptions "UserNotFoundException", "UserStatusChangeException", "ShopVerificationException", "AdminOperationException", "CannotModifyAdminException", "CannotModifySelfException", "InvalidAdminActionException", "BulkOperationException", ]