| from sqlalchemy import Column, Integer, String, Float, Boolean, DateTime, Text |
| from sqlalchemy.orm import declarative_base |
| from datetime import datetime |
|
|
| Base = declarative_base() |
|
|
|
|
| class CheckResult(Base): |
| __tablename__ = "check_results" |
|
|
| id = Column(Integer, primary_key=True, index=True) |
| url = Column(String, index=True) |
| check_type = Column(String) |
| status = Column(String) |
| value = Column(Text, nullable=True) |
| detail = Column(Text, nullable=True) |
| duration = Column(Float, nullable=True) |
| created_at = Column(DateTime, default=datetime.utcnow) |
|
|
|
|
| class Screenshot(Base): |
| __tablename__ = "screenshots" |
|
|
| id = Column(Integer, primary_key=True, index=True) |
| url = Column(String, index=True) |
| path = Column(String) |
| issue_detected = Column(Boolean, default=False) |
| created_at = Column(DateTime, default=datetime.utcnow) |
|
|
|
|
| class CrawlPage(Base): |
| __tablename__ = "crawl_pages" |
|
|
| id = Column(Integer, primary_key=True, index=True) |
| site_url = Column(String, index=True) |
| page_url = Column(String) |
| status = Column(String) |
| status_code= Column(Integer, nullable=True) |
| error = Column(Text, nullable=True) |
| created_at = Column(DateTime, default=datetime.utcnow) |
|
|
|
|
| class AlertLog(Base): |
| __tablename__ = "alert_logs" |
|
|
| id = Column(Integer, primary_key=True, index=True) |
| url = Column(String, index=True) |
| severity = Column(String) |
| message = Column(Text) |
| sent_at = Column(DateTime, default=datetime.utcnow) |
|
|