from datetime import datetime from typing import Optional from pydantic import BaseModel, ConfigDict, EmailStr class CustomerBase(BaseModel): name: str contact_email: Optional[EmailStr] = None is_active: int = 1 quota_instances: Optional[int] = None notes: Optional[str] = None class CustomerCreate(CustomerBase): pass class CustomerUpdate(BaseModel): name: Optional[str] = None contact_email: Optional[EmailStr] = None is_active: Optional[int] = None quota_instances: Optional[int] = None notes: Optional[str] = None class CustomerOut(CustomerBase): model_config = ConfigDict(from_attributes=True) id: int created_at: datetime updated_at: datetime credential_names: list[str] = [] usernames: list[str] = []