28 lines
760 B
Python
28 lines
760 B
Python
from __future__ import annotations
|
|
|
|
from fastapi import APIRouter, Depends
|
|
from sqlalchemy.orm import Session
|
|
|
|
from ..db import get_session
|
|
from ..schemas import SettlementSummary
|
|
from ..services.settlement import calculate_settlement
|
|
|
|
router = APIRouter(tags=["settlement"])
|
|
|
|
|
|
@router.get("/settlement/summary", response_model=SettlementSummary)
|
|
def get_settlement_summary(
|
|
household_id: str,
|
|
project_id: str | None = None,
|
|
currency: str = "EUR",
|
|
include_announced: bool = False,
|
|
session: Session = Depends(get_session),
|
|
) -> SettlementSummary:
|
|
return calculate_settlement(
|
|
session,
|
|
household_id=household_id,
|
|
project_id=project_id,
|
|
currency=currency,
|
|
include_announced=include_announced,
|
|
)
|