From a55eb78c6491109f469be99177ac114393c86521 Mon Sep 17 00:00:00 2001 From: Samir Boulahtit Date: Fri, 30 Jan 2026 09:03:38 +0100 Subject: [PATCH] refactor: delete legacy re-export files for migrated modules All imports have been updated to use canonical module locations. Delete 15 legacy re-export files that are no longer needed: Database models (7 files): - models/database/order.py - models/database/inventory.py - models/database/inventory_transaction.py - models/database/message.py - models/database/invoice.py - models/database/order_item_exception.py - models/database/password_reset_token.py Schema models (8 files): - models/schema/customer.py - models/schema/order.py - models/schema/order_item_exception.py - models/schema/inventory.py - models/schema/message.py - models/schema/invoice.py - models/schema/notification.py - models/schema/stats.py Co-Authored-By: Claude Opus 4.5 --- models/database/inventory.py | 19 --- models/database/inventory_transaction.py | 23 --- models/database/invoice.py | 27 ---- models/database/message.py | 31 ---- models/database/order.py | 20 --- models/database/order_item_exception.py | 19 --- models/database/password_reset_token.py | 19 --- models/schema/customer.py | 69 --------- models/schema/inventory.py | 85 ----------- models/schema/invoice.py | 61 -------- models/schema/message.py | 83 ----------- models/schema/notification.py | 53 ------- models/schema/order.py | 89 ------------ models/schema/order_item_exception.py | 173 ----------------------- models/schema/product.py | 2 +- models/schema/stats.py | 63 --------- 16 files changed, 1 insertion(+), 835 deletions(-) delete mode 100644 models/database/inventory.py delete mode 100644 models/database/inventory_transaction.py delete mode 100644 models/database/invoice.py delete mode 100644 models/database/message.py delete mode 100644 models/database/order.py delete mode 100644 models/database/order_item_exception.py delete mode 100644 models/database/password_reset_token.py delete mode 100644 models/schema/customer.py delete mode 100644 models/schema/inventory.py delete mode 100644 models/schema/invoice.py delete mode 100644 models/schema/message.py delete mode 100644 models/schema/notification.py delete mode 100644 models/schema/order.py delete mode 100644 models/schema/order_item_exception.py delete mode 100644 models/schema/stats.py diff --git a/models/database/inventory.py b/models/database/inventory.py deleted file mode 100644 index 7d83a08c..00000000 --- a/models/database/inventory.py +++ /dev/null @@ -1,19 +0,0 @@ -# models/database/inventory.py -""" -LEGACY LOCATION - Re-exports from module for backwards compatibility. - -The canonical implementation is now in: - app/modules/inventory/models/inventory.py - -This file exists to maintain backwards compatibility with code that -imports from the old location. All new code should import directly -from the module: - - from app.modules.inventory.models import Inventory -""" - -from app.modules.inventory.models.inventory import Inventory - -__all__ = [ - "Inventory", -] diff --git a/models/database/inventory_transaction.py b/models/database/inventory_transaction.py deleted file mode 100644 index 725c0a5a..00000000 --- a/models/database/inventory_transaction.py +++ /dev/null @@ -1,23 +0,0 @@ -# models/database/inventory_transaction.py -""" -LEGACY LOCATION - Re-exports from module for backwards compatibility. - -The canonical implementation is now in: - app/modules/inventory/models/inventory_transaction.py - -This file exists to maintain backwards compatibility with code that -imports from the old location. All new code should import directly -from the module: - - from app.modules.inventory.models import InventoryTransaction, TransactionType -""" - -from app.modules.inventory.models.inventory_transaction import ( - InventoryTransaction, - TransactionType, -) - -__all__ = [ - "InventoryTransaction", - "TransactionType", -] diff --git a/models/database/invoice.py b/models/database/invoice.py deleted file mode 100644 index 1979c70c..00000000 --- a/models/database/invoice.py +++ /dev/null @@ -1,27 +0,0 @@ -# models/database/invoice.py -""" -LEGACY LOCATION - Re-exports from module for backwards compatibility. - -The canonical implementation is now in: - app/modules/orders/models/invoice.py - -This file exists to maintain backwards compatibility with code that -imports from the old location. All new code should import directly -from the module: - - from app.modules.orders.models import Invoice, InvoiceStatus, VATRegime, VendorInvoiceSettings -""" - -from app.modules.orders.models.invoice import ( - Invoice, - InvoiceStatus, - VATRegime, - VendorInvoiceSettings, -) - -__all__ = [ - "Invoice", - "InvoiceStatus", - "VATRegime", - "VendorInvoiceSettings", -] diff --git a/models/database/message.py b/models/database/message.py deleted file mode 100644 index 212c0381..00000000 --- a/models/database/message.py +++ /dev/null @@ -1,31 +0,0 @@ -# models/database/message.py -""" -LEGACY LOCATION - Re-exports from module for backwards compatibility. - -The canonical implementation is now in: - app/modules/messaging/models/message.py - -This file exists to maintain backwards compatibility with code that -imports from the old location. All new code should import directly -from the module: - - from app.modules.messaging.models import message -""" - -from app.modules.messaging.models.message import ( - Conversation, - ConversationParticipant, - ConversationType, - Message, - MessageAttachment, - ParticipantType, -) - -__all__ = [ - "Conversation", - "ConversationParticipant", - "ConversationType", - "Message", - "MessageAttachment", - "ParticipantType", -] diff --git a/models/database/order.py b/models/database/order.py deleted file mode 100644 index ee1b2b30..00000000 --- a/models/database/order.py +++ /dev/null @@ -1,20 +0,0 @@ -# models/database/order.py -""" -LEGACY LOCATION - Re-exports from module for backwards compatibility. - -The canonical implementation is now in: - app/modules/orders/models/order.py - -This file exists to maintain backwards compatibility with code that -imports from the old location. All new code should import directly -from the module: - - from app.modules.orders.models import Order, OrderItem -""" - -from app.modules.orders.models.order import Order, OrderItem - -__all__ = [ - "Order", - "OrderItem", -] diff --git a/models/database/order_item_exception.py b/models/database/order_item_exception.py deleted file mode 100644 index 4a2fc0cb..00000000 --- a/models/database/order_item_exception.py +++ /dev/null @@ -1,19 +0,0 @@ -# models/database/order_item_exception.py -""" -LEGACY LOCATION - Re-exports from module for backwards compatibility. - -The canonical implementation is now in: - app/modules/orders/models/order_item_exception.py - -This file exists to maintain backwards compatibility with code that -imports from the old location. All new code should import directly -from the module: - - from app.modules.orders.models import OrderItemException -""" - -from app.modules.orders.models.order_item_exception import OrderItemException - -__all__ = [ - "OrderItemException", -] diff --git a/models/database/password_reset_token.py b/models/database/password_reset_token.py deleted file mode 100644 index 48e38285..00000000 --- a/models/database/password_reset_token.py +++ /dev/null @@ -1,19 +0,0 @@ -# models/database/password_reset_token.py -""" -LEGACY LOCATION - Re-exports from module for backwards compatibility. - -The canonical implementation is now in: - app/modules/customers/models/password_reset_token.py - -This file exists to maintain backwards compatibility with code that -imports from the old location. All new code should import directly -from the module: - - from app.modules.customers.models import PasswordResetToken -""" - -from app.modules.customers.models.password_reset_token import PasswordResetToken - -__all__ = [ - "PasswordResetToken", -] diff --git a/models/schema/customer.py b/models/schema/customer.py deleted file mode 100644 index 34c9a954..00000000 --- a/models/schema/customer.py +++ /dev/null @@ -1,69 +0,0 @@ -# models/schema/customer.py -""" -LEGACY LOCATION - Re-exports from module for backwards compatibility. - -The canonical implementation is now in: - app/modules/customers/schemas/customer.py - -This file exists to maintain backwards compatibility with code that -imports from the old location. All new code should import directly -from the module: - - from app.modules.customers.schemas import CustomerRegister, CustomerResponse -""" - -from app.modules.customers.schemas.customer import ( - # Registration & Authentication - CustomerRegister, - CustomerUpdate, - CustomerPasswordChange, - # Customer Response - CustomerResponse, - CustomerListResponse, - # Address - CustomerAddressCreate, - CustomerAddressUpdate, - CustomerAddressResponse, - CustomerAddressListResponse, - # Preferences - CustomerPreferencesUpdate, - # Vendor Management - CustomerMessageResponse, - VendorCustomerListResponse, - CustomerDetailResponse, - CustomerOrderInfo, - CustomerOrdersResponse, - CustomerStatisticsResponse, - # Admin Management - AdminCustomerItem, - AdminCustomerListResponse, - AdminCustomerDetailResponse, -) - -__all__ = [ - # Registration & Authentication - "CustomerRegister", - "CustomerUpdate", - "CustomerPasswordChange", - # Customer Response - "CustomerResponse", - "CustomerListResponse", - # Address - "CustomerAddressCreate", - "CustomerAddressUpdate", - "CustomerAddressResponse", - "CustomerAddressListResponse", - # Preferences - "CustomerPreferencesUpdate", - # Vendor Management - "CustomerMessageResponse", - "VendorCustomerListResponse", - "CustomerDetailResponse", - "CustomerOrderInfo", - "CustomerOrdersResponse", - "CustomerStatisticsResponse", - # Admin Management - "AdminCustomerItem", - "AdminCustomerListResponse", - "AdminCustomerDetailResponse", -] diff --git a/models/schema/inventory.py b/models/schema/inventory.py deleted file mode 100644 index 78c46c64..00000000 --- a/models/schema/inventory.py +++ /dev/null @@ -1,85 +0,0 @@ -# models/schema/inventory.py -""" -LEGACY LOCATION - Re-exports from module for backwards compatibility. - -The canonical implementation is now in: - app/modules/inventory/schemas/inventory.py - -This file exists to maintain backwards compatibility with code that -imports from the old location. All new code should import directly -from the module: - - from app.modules.inventory.schemas import InventoryCreate, InventoryResponse -""" - -from app.modules.inventory.schemas.inventory import ( - # Base schemas - InventoryBase, - InventoryCreate, - InventoryAdjust, - InventoryUpdate, - InventoryReserve, - # Response schemas - InventoryResponse, - InventoryLocationResponse, - ProductInventorySummary, - InventoryListResponse, - InventoryMessageResponse, - InventorySummaryResponse, - # Admin schemas - AdminInventoryCreate, - AdminInventoryAdjust, - AdminInventoryItem, - AdminInventoryListResponse, - AdminInventoryStats, - AdminLowStockItem, - AdminVendorWithInventory, - AdminVendorsWithInventoryResponse, - AdminInventoryLocationsResponse, - # Transaction schemas - InventoryTransactionResponse, - InventoryTransactionWithProduct, - InventoryTransactionListResponse, - ProductTransactionHistoryResponse, - OrderTransactionHistoryResponse, - # Admin transaction schemas - AdminInventoryTransactionItem, - AdminInventoryTransactionListResponse, - AdminTransactionStatsResponse, -) - -__all__ = [ - # Base schemas - "InventoryBase", - "InventoryCreate", - "InventoryAdjust", - "InventoryUpdate", - "InventoryReserve", - # Response schemas - "InventoryResponse", - "InventoryLocationResponse", - "ProductInventorySummary", - "InventoryListResponse", - "InventoryMessageResponse", - "InventorySummaryResponse", - # Admin schemas - "AdminInventoryCreate", - "AdminInventoryAdjust", - "AdminInventoryItem", - "AdminInventoryListResponse", - "AdminInventoryStats", - "AdminLowStockItem", - "AdminVendorWithInventory", - "AdminVendorsWithInventoryResponse", - "AdminInventoryLocationsResponse", - # Transaction schemas - "InventoryTransactionResponse", - "InventoryTransactionWithProduct", - "InventoryTransactionListResponse", - "ProductTransactionHistoryResponse", - "OrderTransactionHistoryResponse", - # Admin transaction schemas - "AdminInventoryTransactionItem", - "AdminInventoryTransactionListResponse", - "AdminTransactionStatsResponse", -] diff --git a/models/schema/invoice.py b/models/schema/invoice.py deleted file mode 100644 index 27de27b3..00000000 --- a/models/schema/invoice.py +++ /dev/null @@ -1,61 +0,0 @@ -# models/schema/invoice.py -""" -LEGACY LOCATION - Re-exports from module for backwards compatibility. - -The canonical implementation is now in: - app/modules/orders/schemas/invoice.py - -This file exists to maintain backwards compatibility with code that -imports from the old location. All new code should import directly -from the module: - - from app.modules.orders.schemas import invoice -""" - -from app.modules.orders.schemas.invoice import ( - # Invoice settings schemas - VendorInvoiceSettingsCreate, - VendorInvoiceSettingsUpdate, - VendorInvoiceSettingsResponse, - # Line item schemas - InvoiceLineItem, - InvoiceLineItemResponse, - # Address schemas - InvoiceSellerDetails, - InvoiceBuyerDetails, - # Invoice CRUD schemas - InvoiceCreate, - InvoiceManualCreate, - InvoiceResponse, - InvoiceListResponse, - InvoiceStatusUpdate, - # Pagination - InvoiceListPaginatedResponse, - # PDF - InvoicePDFGeneratedResponse, - InvoiceStatsResponse, -) - -__all__ = [ - # Invoice settings schemas - "VendorInvoiceSettingsCreate", - "VendorInvoiceSettingsUpdate", - "VendorInvoiceSettingsResponse", - # Line item schemas - "InvoiceLineItem", - "InvoiceLineItemResponse", - # Address schemas - "InvoiceSellerDetails", - "InvoiceBuyerDetails", - # Invoice CRUD schemas - "InvoiceCreate", - "InvoiceManualCreate", - "InvoiceResponse", - "InvoiceListResponse", - "InvoiceStatusUpdate", - # Pagination - "InvoiceListPaginatedResponse", - # PDF - "InvoicePDFGeneratedResponse", - "InvoiceStatsResponse", -] diff --git a/models/schema/message.py b/models/schema/message.py deleted file mode 100644 index 4db01eab..00000000 --- a/models/schema/message.py +++ /dev/null @@ -1,83 +0,0 @@ -# models/schema/message.py -""" -LEGACY LOCATION - Re-exports from module for backwards compatibility. - -The canonical implementation is now in: - app/modules/messaging/schemas/message.py - -This file exists to maintain backwards compatibility with code that -imports from the old location. All new code should import directly -from the module: - - from app.modules.messaging.schemas import message -""" - -from app.modules.messaging.schemas.message import ( - # Attachment schemas - AttachmentResponse, - # Message schemas - MessageCreate, - MessageResponse, - # Participant schemas - ParticipantInfo, - ParticipantResponse, - # Conversation schemas - ConversationCreate, - ConversationSummary, - ConversationDetailResponse, - ConversationListResponse, - ConversationResponse, - # Unread count - UnreadCountResponse, - # Notification preferences - NotificationPreferencesUpdate, - # Conversation actions - CloseConversationResponse, - ReopenConversationResponse, - MarkReadResponse, - # Recipient selection - RecipientOption, - RecipientListResponse, - # Admin schemas - AdminConversationSummary, - AdminConversationListResponse, - AdminMessageStats, -) - -# Re-export enums from models for backward compatibility -from app.modules.messaging.models.message import ConversationType, ParticipantType - -__all__ = [ - # Attachment schemas - "AttachmentResponse", - # Message schemas - "MessageCreate", - "MessageResponse", - # Participant schemas - "ParticipantInfo", - "ParticipantResponse", - # Conversation schemas - "ConversationCreate", - "ConversationSummary", - "ConversationDetailResponse", - "ConversationListResponse", - "ConversationResponse", - # Unread count - "UnreadCountResponse", - # Notification preferences - "NotificationPreferencesUpdate", - # Conversation actions - "CloseConversationResponse", - "ReopenConversationResponse", - "MarkReadResponse", - # Recipient selection - "RecipientOption", - "RecipientListResponse", - # Admin schemas - "AdminConversationSummary", - "AdminConversationListResponse", - "AdminMessageStats", - # Enums - "ConversationType", - "ParticipantType", -] diff --git a/models/schema/notification.py b/models/schema/notification.py deleted file mode 100644 index 0b118bfd..00000000 --- a/models/schema/notification.py +++ /dev/null @@ -1,53 +0,0 @@ -# models/schema/notification.py -""" -LEGACY LOCATION - Re-exports from module for backwards compatibility. - -The canonical implementation is now in: - app/modules/messaging/schemas/notification.py - -This file exists to maintain backwards compatibility with code that -imports from the old location. All new code should import directly -from the module: - - from app.modules.messaging.schemas import notification -""" - -from app.modules.messaging.schemas.notification import ( - # Response schemas - MessageResponse, - UnreadCountResponse, - # Notification schemas - NotificationResponse, - NotificationListResponse, - # Settings schemas - NotificationSettingsResponse, - NotificationSettingsUpdate, - # Template schemas - NotificationTemplateResponse, - NotificationTemplateListResponse, - NotificationTemplateUpdate, - # Test notification - TestNotificationRequest, - # Alert statistics - AlertStatisticsResponse, -) - -__all__ = [ - # Response schemas - "MessageResponse", - "UnreadCountResponse", - # Notification schemas - "NotificationResponse", - "NotificationListResponse", - # Settings schemas - "NotificationSettingsResponse", - "NotificationSettingsUpdate", - # Template schemas - "NotificationTemplateResponse", - "NotificationTemplateListResponse", - "NotificationTemplateUpdate", - # Test notification - "TestNotificationRequest", - # Alert statistics - "AlertStatisticsResponse", -] diff --git a/models/schema/order.py b/models/schema/order.py deleted file mode 100644 index ca299a07..00000000 --- a/models/schema/order.py +++ /dev/null @@ -1,89 +0,0 @@ -# models/schema/order.py -""" -LEGACY LOCATION - Re-exports from module for backwards compatibility. - -The canonical implementation is now in: - app/modules/orders/schemas/order.py - -This file exists to maintain backwards compatibility with code that -imports from the old location. All new code should import directly -from the module: - - from app.modules.orders.schemas import order -""" - -from app.modules.orders.schemas.order import ( - # Address schemas - AddressSnapshot, - AddressSnapshotResponse, - # Order item schemas - OrderItemCreate, - OrderItemExceptionBrief, - OrderItemResponse, - # Customer schemas - CustomerSnapshot, - CustomerSnapshotResponse, - # Order CRUD schemas - OrderCreate, - OrderUpdate, - OrderTrackingUpdate, - OrderItemStateUpdate, - # Order response schemas - OrderResponse, - OrderDetailResponse, - OrderListResponse, - OrderListItem, - # Admin schemas - AdminOrderItem, - AdminOrderListResponse, - AdminOrderStats, - AdminOrderStatusUpdate, - AdminVendorWithOrders, - AdminVendorsWithOrdersResponse, - # Letzshop schemas - LetzshopOrderImport, - LetzshopShippingInfo, - LetzshopOrderConfirmItem, - LetzshopOrderConfirmRequest, - # Shipping schemas - MarkAsShippedRequest, - ShippingLabelInfo, -) - -__all__ = [ - # Address schemas - "AddressSnapshot", - "AddressSnapshotResponse", - # Order item schemas - "OrderItemCreate", - "OrderItemExceptionBrief", - "OrderItemResponse", - # Customer schemas - "CustomerSnapshot", - "CustomerSnapshotResponse", - # Order CRUD schemas - "OrderCreate", - "OrderUpdate", - "OrderTrackingUpdate", - "OrderItemStateUpdate", - # Order response schemas - "OrderResponse", - "OrderDetailResponse", - "OrderListResponse", - "OrderListItem", - # Admin schemas - "AdminOrderItem", - "AdminOrderListResponse", - "AdminOrderStats", - "AdminOrderStatusUpdate", - "AdminVendorWithOrders", - "AdminVendorsWithOrdersResponse", - # Letzshop schemas - "LetzshopOrderImport", - "LetzshopShippingInfo", - "LetzshopOrderConfirmItem", - "LetzshopOrderConfirmRequest", - # Shipping schemas - "MarkAsShippedRequest", - "ShippingLabelInfo", -] diff --git a/models/schema/order_item_exception.py b/models/schema/order_item_exception.py deleted file mode 100644 index 341bb8d9..00000000 --- a/models/schema/order_item_exception.py +++ /dev/null @@ -1,173 +0,0 @@ -# models/schema/order_item_exception.py -""" -Pydantic schemas for order item exception management. - -Handles unmatched products during marketplace order imports. -""" - -from datetime import datetime - -from pydantic import BaseModel, ConfigDict, Field - - -# ============================================================================ -# Exception Response Schemas -# ============================================================================ - - -class OrderItemExceptionResponse(BaseModel): - """Schema for order item exception response.""" - - model_config = ConfigDict(from_attributes=True) - - id: int - order_item_id: int - vendor_id: int - vendor_name: str | None = None # For cross-vendor views - - # Original data from marketplace - original_gtin: str | None - original_product_name: str | None - original_sku: str | None - - # Exception classification - exception_type: str # product_not_found, gtin_mismatch, duplicate_gtin - - # Resolution status - status: str # pending, resolved, ignored - - # Resolution details - resolved_product_id: int | None - resolved_at: datetime | None - resolved_by: int | None - resolution_notes: str | None - - # Timestamps - created_at: datetime - updated_at: datetime - - # Nested order info (populated by service) - order_number: str | None = None - order_id: int | None = None - order_date: datetime | None = None - order_status: str | None = None - - @property - def is_pending(self) -> bool: - """Check if exception is pending resolution.""" - return self.status == "pending" - - @property - def is_resolved(self) -> bool: - """Check if exception has been resolved.""" - return self.status == "resolved" - - @property - def is_ignored(self) -> bool: - """Check if exception has been ignored.""" - return self.status == "ignored" - - -class OrderItemExceptionBriefResponse(BaseModel): - """Brief exception info for embedding in order item responses.""" - - model_config = ConfigDict(from_attributes=True) - - id: int - original_gtin: str | None - original_product_name: str | None - exception_type: str - status: str - resolved_product_id: int | None - - -# ============================================================================ -# List/Stats Response Schemas -# ============================================================================ - - -class OrderItemExceptionListResponse(BaseModel): - """Paginated list of exceptions.""" - - exceptions: list[OrderItemExceptionResponse] - total: int - skip: int - limit: int - - -class OrderItemExceptionStats(BaseModel): - """Exception statistics for a vendor.""" - - pending: int = 0 - resolved: int = 0 - ignored: int = 0 - total: int = 0 - - # Additional breakdown - orders_with_exceptions: int = 0 - - -# ============================================================================ -# Request Schemas -# ============================================================================ - - -class ResolveExceptionRequest(BaseModel): - """Request to resolve an exception by assigning a product.""" - - product_id: int = Field(..., description="Product ID to assign to this order item") - notes: str | None = Field( - None, - max_length=1000, - description="Optional notes about the resolution" - ) - - -class IgnoreExceptionRequest(BaseModel): - """Request to ignore an exception (still blocks confirmation).""" - - notes: str = Field( - ..., - min_length=1, - max_length=1000, - description="Reason for ignoring (required)" - ) - - -class BulkResolveRequest(BaseModel): - """Request to bulk resolve all pending exceptions for a GTIN.""" - - gtin: str = Field( - ..., - min_length=1, - max_length=50, - description="GTIN to match pending exceptions" - ) - product_id: int = Field(..., description="Product ID to assign") - notes: str | None = Field( - None, - max_length=1000, - description="Optional notes about the resolution" - ) - - -class BulkResolveResponse(BaseModel): - """Response from bulk resolve operation.""" - - resolved_count: int - gtin: str - product_id: int - - -# ============================================================================ -# Auto-Match Response Schemas -# ============================================================================ - - -class AutoMatchResult(BaseModel): - """Result of auto-matching after product import.""" - - gtin: str - product_id: int - resolved_count: int - resolved_exception_ids: list[int] diff --git a/models/schema/product.py b/models/schema/product.py index 9f433d77..1136dcdb 100644 --- a/models/schema/product.py +++ b/models/schema/product.py @@ -3,7 +3,7 @@ from datetime import datetime from pydantic import BaseModel, ConfigDict, Field -from models.schema.inventory import InventoryLocationResponse +from app.modules.inventory.schemas import InventoryLocationResponse from models.schema.marketplace_product import MarketplaceProductResponse diff --git a/models/schema/stats.py b/models/schema/stats.py deleted file mode 100644 index 75f86877..00000000 --- a/models/schema/stats.py +++ /dev/null @@ -1,63 +0,0 @@ -# models/schema/stats.py -""" -Statistics schemas - LEGACY LOCATION - -This file exists for backward compatibility. -The canonical location is now: app/modules/analytics/schemas/stats.py - -All imports should use the new location: - from app.modules.analytics.schemas import StatsResponse, ... -""" - -# Re-export from canonical location for backward compatibility -from app.modules.analytics.schemas.stats import ( - StatsResponse, - MarketplaceStatsResponse, - ImportStatsResponse, - UserStatsResponse, - VendorStatsResponse, - ProductStatsResponse, - PlatformStatsResponse, - OrderStatsBasicResponse, - AdminDashboardResponse, - VendorProductStats, - VendorOrderStats, - VendorCustomerStats, - VendorRevenueStats, - VendorInfo, - VendorDashboardStatsResponse, - VendorAnalyticsImports, - VendorAnalyticsCatalog, - VendorAnalyticsInventory, - VendorAnalyticsResponse, - ValidatorStats, - CodeQualityDashboardStatsResponse, - CustomerStatsResponse, - OrderStatsResponse, -) - -__all__ = [ - "StatsResponse", - "MarketplaceStatsResponse", - "ImportStatsResponse", - "UserStatsResponse", - "VendorStatsResponse", - "ProductStatsResponse", - "PlatformStatsResponse", - "OrderStatsBasicResponse", - "AdminDashboardResponse", - "VendorProductStats", - "VendorOrderStats", - "VendorCustomerStats", - "VendorRevenueStats", - "VendorInfo", - "VendorDashboardStatsResponse", - "VendorAnalyticsImports", - "VendorAnalyticsCatalog", - "VendorAnalyticsInventory", - "VendorAnalyticsResponse", - "ValidatorStats", - "CodeQualityDashboardStatsResponse", - "CustomerStatsResponse", - "OrderStatsResponse", -]