from datetime import datetime from typing import Optional from pydantic import BaseModel # Shared properties class CategoryBase(BaseModel): name: Optional[str] = None description: Optional[str] = None # Properties to receive via API on creation class CategoryCreate(CategoryBase): name: str # Properties to receive via API on update class CategoryUpdate(CategoryBase): pass # Properties to return via API class CategoryInDB(CategoryBase): id: str name: str created_at: datetime updated_at: Optional[datetime] = None class Config: from_attributes = True # Additional properties to return via API class Category(CategoryInDB): pass