from datetime import datetime
from src.core.database import Base
from sqlalchemy import (
    Column,
    String,
    Integer,
    Boolean,
    DateTime,
    BigInteger,
    Text
)


class Versao(Base):
    __tablename__ = "versoes"

    id = Column(Integer, primary_key=True, autoincrement=True)
    versao = Column(String(20), nullable=False)
    build = Column(Integer, nullable=False)
    nomeArquivo = Column(String(255), nullable=False)
    caminhoArquivo = Column(String(255), nullable=False)
    hashSha256 = Column(String(64), nullable=False)
    tamanhoBytes = Column(BigInteger, nullable=False)
    changelog = Column(Text, nullable=True)
    atualizacaoObrigatoria = Column(Boolean, nullable=False, default=False)
    ativo = Column(Boolean, nullable=False, default=True)
    dataRelease = Column(DateTime, nullable=False, default=datetime.now)
