import enum

from sqlalchemy import Column, Integer, String, ForeignKey, TIMESTAMP, Enum, Float, Text
from sqlalchemy.orm import relationship

from ..database import Base

class VariavelValidado(enum.Enum):
    Nao = "Nao"
    Sim = "Sim"
    NA = "NA"

class LancamentoDespesa(Base):
    __tablename__ = "lancamento_despesa"

    id = Column(Integer, primary_key=True, name="lanc_des_id")
    despesa_id = Column(Integer, ForeignKey("despesa.des_id"), name="des_id")
    data_lancamento = Column(TIMESTAMP, name="lanc_des_data")
    valor = Column(Float, name="lanc_des_valor")
    anexo_caminho = Column(String, name="lanc_des_anexo_caminho")
    variavel_validado = Column(Enum(VariavelValidado), name="lanc_des_variavel_validado")

    despesa = relationship("Despesa", back_populates="lancamentos")
