from sqlalchemy.orm import Session
from ..models import LancamentoReceita as ModelLancamentoReceita
from ..schemas import Schemas

def get_todos_os_lancamentos(session: Session):
    return session.query(ModelLancamentoReceita.LancamentoReceita).order_by(
        ModelLancamentoReceita.LancamentoReceita.data.asc()
    ).all()

def get_lancamentos_by_orcamento(id_orcamento: int, session: Session):
    return session.query(ModelLancamentoReceita.LancamentoReceita).filter_by(orcamento_id=id_orcamento).all()

def add_lancamento(lancamento: Schemas.LancamentoReceitaBase, session: Session):
    lancamento_db = ModelLancamentoReceita.LancamentoReceita(
        orcamento_id=lancamento.orcamento_id,
        data=lancamento.data,
        valor=lancamento.valor
    )

    session.add(lancamento_db)
    session.commit()
    session.refresh(lancamento_db)
    return lancamento_db
