from pydantic import BaseModel
from datetime import datetime
from typing import Optional, List


class CSVUploadLogItem(BaseModel):
    """Schema for a single CSV upload log entry"""
    id: int
    company_id: int
    upload_date: datetime
    csv_type: str
    processing_status: str
    error_message: Optional[str] = None
    rows_processed: Optional[int] = None
    rows_total: Optional[int] = None
    created_at: datetime

    class Config:
        from_attributes = True


class CSVUploadLogResponse(BaseModel):
    """Paginated response schema for CSV upload logs"""
    success: bool
    data: List[CSVUploadLogItem]
    page: int
    perpage: int
    total: int
    message: str
