from sqlalchemy import Column, Integer, String, ForeignKey, TIMESTAMP, Float
from sqlalchemy.orm import relationship

from ..database import Base


class Funcionario(Base):
    __tablename__ = "funcionario"

    id = Column(Integer, primary_key=True, name="func_id")
    usuario_id = Column(Integer, ForeignKey("usuario.usu_id"), name="usu_id")
    nome = Column(String, name="func_nome")
    cpf = Column(String, name="func_cpf")
    rg = Column(String, name="func_rg")
    email = Column(String, name="func_email")
    telefone = Column(String, name="func_telefone")
    cep = Column(String, name="func_cep")
    logradouro = Column(String, name="func_logradouro")
    bairro = Column(String, name="func_bairro")
    cidade = Column(String, name="func_cidade")
    estado = Column(String, name="func_estado")
    numero = Column(Integer, name="func_numero")
    complemento = Column(String, name="func_complemento")
    data_nascimento = Column(TIMESTAMP, name="func_data_nascimento")
    data_admissao = Column(TIMESTAMP, name="func_data_admissao")
    nome_pai = Column(String, name="func_nome_pai")
    nome_mae = Column(String, name="func_nome_mae")
    funcao = Column(String, name="func_funcao")
    salario_base = Column(Float, name="func_salario_base")
    banco = Column(String, name="func_banco")
    agencia = Column(String, name="func_agencia")
    conta = Column(String, name="func_conta")
    titular = Column(String, name="func_titular")
    pix = Column(String, name="func_pix")

    usuario = relationship("Usuario", back_populates="funcionarios")
