from sqlmodel import SQLModel, Field from typing import Optional from enum import Enum import datetime class UserRole(str, Enum): admin = "admin" user = "user" class User(SQLModel, table=True): id: Optional[int] = Field(default=None, primary_key=True) username: str = Field(index=True, unique=True) password_hash: str role: UserRole = Field(default=UserRole.user) class OrderStatus(str, Enum): pending = "pending" in_progress = "in_progress" completed = "completed" class Order(SQLModel, table=True): id: Optional[int] = Field(default=None, primary_key=True) title: str description: Optional[str] = None created_at: datetime.datetime = Field(default_factory=datetime.datetime.utcnow) status: OrderStatus = Field(default=OrderStatus.pending) class TopProductSummary(SQLModel, table=True): id: Optional[int] = Field(default=None, primary_key=True) product_name: str = Field(index=True) sales_count: int = Field(default=0)