from decimal import Decimal from typing import Optional from pydantic import BaseModel from app.schemas.transaction import Transaction from app.util.encoders import decimal_encoder class DashboardStats(BaseModel): transaction_count: int transaction_count_previous: int transaction_energy_total: Decimal transaction_energy_total_previous: Decimal transaction_cost_total: Decimal transaction_cost_total_previous: Decimal class Config: json_encoders = {Decimal: decimal_encoder} class DashboardResponse(BaseModel): stats: DashboardStats current_transaction: Optional[Transaction] = None recent_transactions: list[Transaction] class Config: json_encoders = {Decimal: decimal_encoder}