from sqlalchemy import ForeignKey
from sqlalchemy.orm import relationship
from sqlalchemy import Column, String,Integer, Boolean, DateTime 
from sqlalchemy.sql import func
from src.models.base import Base
from src.db.mixins import AuditMixin

class Module(AuditMixin, Base):
    __tablename__ = "proman_module"
    id = Column(Integer, primary_key=True)
    project_id = Column(Integer, ForeignKey('proman_project.id'), nullable=False)
    title = Column(String(100), nullable=False) 
    description = Column(String(255), nullable=False) 
    is_active = Column(Boolean, default=True)        
    created_at = Column(DateTime(timezone=True), default=func.now())
    updated_at = Column(DateTime(timezone=True), nullable=False, default=func.now(), onupdate=func.now())
 
    
    #projects = relationship("Project", back_populates="modules")