Enhance vulnerability scanning by linking vulnerabilities to scan jobs and updating scan_all_images method to accept scan_job_id
This commit is contained in:
@@ -119,6 +119,7 @@ class Vulnerability(Base):
|
||||
|
||||
id = Column(Integer, primary_key=True)
|
||||
image_id = Column(Integer, ForeignKey("images.id"), nullable=False)
|
||||
scan_job_id = Column(Integer, ForeignKey("scan_jobs.id"), nullable=True)
|
||||
vulnerability_id = Column(String(100), nullable=False)
|
||||
severity = Column(String(20), nullable=False)
|
||||
title = Column(String(500), nullable=True)
|
||||
@@ -132,6 +133,7 @@ class Vulnerability(Base):
|
||||
updated_at = Column(DateTime, default=datetime.utcnow, onupdate=datetime.utcnow)
|
||||
|
||||
image = relationship("Image", back_populates="vulnerabilities")
|
||||
scan_job = relationship("ScanJob", back_populates="vulnerabilities")
|
||||
|
||||
__table_args__ = (
|
||||
UniqueConstraint(
|
||||
@@ -170,6 +172,8 @@ class ScanJob(Base):
|
||||
created_at = Column(DateTime, default=datetime.utcnow)
|
||||
updated_at = Column(DateTime, default=datetime.utcnow, onupdate=datetime.utcnow)
|
||||
|
||||
vulnerabilities = relationship("Vulnerability", back_populates="scan_job", cascade="all, delete-orphan")
|
||||
|
||||
|
||||
DATABASE_URL = "sqlite:///./gitlab_docker_tracker.db"
|
||||
engine = create_engine(DATABASE_URL, echo=False)
|
||||
|
||||
Reference in New Issue
Block a user