from sqlalchemy import Column, Integer, String, Boolean, DateTime, func, ForeignKey
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import relationship


Base = declarative_base()
class Login(Base):
    __tablename__ = "users"
    id=Column(Integer, primary_key=True,autoincrement=True)
    first_name = Column(String, nullable=False)
    last_name = Column(String, nullable=False)
    matricule = Column(String, nullable=False)
    creation_date = Column(DateTime, nullable=False, server_default=func.now())
    password_changed= Column(Boolean, nullable=False, default=False)
    user_name = Column(String, nullable=False)
    password = Column(String, nullable=False)
    password_hash = Column(String, nullable=False)
    role = Column(String, nullable=False)
    is_active = Column(Integer, nullable=0, default=1)
    def as_dict(self):
        return {
            "id": self.id,
            "user_name": self.user_name,
            "first_name": self.first_name,
            "last_name": self.last_name,
            "matricule": self.matricule,
            "password_changed": self.password_changed,
            "role": self.role
        }

 
