| from sqlalchemy import Column, String, DateTime, JSON, Text, ForeignKey |
| from app.database import Base |
| from datetime import datetime |
|
|
| class TenderDetailTabModel(Base): |
| """Store extracted detail tabs from tender pages""" |
| __tablename__ = "tender_detail_tabs" |
| |
| id = Column(String(100), primary_key=True) |
| tender_code = Column(String(50), ForeignKey('tenders.code'), index=True) |
| tab_name = Column(String(100)) |
| tab_type = Column(String(50)) |
| content_summary = Column(Text) |
| tab_metadata = Column(JSON, nullable=True) |
| attachment_urls = Column(JSON, nullable=True) |
| last_fetched = Column(DateTime, default=datetime.utcnow, onupdate=datetime.utcnow) |
| html_content = Column(Text, nullable=True) |
|
|
| class TenderAttachmentDetailModel(Base): |
| """Detailed information about tender attachments""" |
| __tablename__ = "tender_attachment_details" |
| |
| id = Column(String(100), primary_key=True) |
| tender_code = Column(String(50), ForeignKey('tenders.code'), index=True) |
| attachment_name = Column(String(255), index=True) |
| attachment_url = Column(Text) |
| tab_category = Column(String(100)) |
| file_type = Column(String(50)) |
| estimated_size = Column(String(50), nullable=True) |
| last_updated = Column(DateTime, default=datetime.utcnow) |
| is_accessible = Column(JSON, nullable=True) |
|
|