greenintellect / app /db /models.py
Tanxshh's picture
Deploy GreenIntellect Backend API with ML models and scraping
02cc7f6
from sqlalchemy import Column, Integer, String, Text, JSON, DateTime, ForeignKey, Float
from sqlalchemy.orm import relationship
from datetime import datetime
from .session import Base
class Company(Base):
__tablename__ = "companies"
id = Column(Integer, primary_key=True, index=True)
name = Column(String, unique=True, index=True)
description = Column(Text, nullable=True)
website = Column(String, nullable=True)
last_analysis_date = Column(DateTime, default=datetime.utcnow)
# JSON blobs for structured analysis data
analysis_result = Column(JSON, nullable=True)
requests = relationship("AnalysisRequest", back_populates="company")
class AnalysisRequest(Base):
__tablename__ = "requests"
id = Column(Integer, primary_key=True, index=True)
user_id = Column(String, index=True) # Linking to frontend user ID
company_name = Column(String)
website = Column(String, nullable=True)
document_name = Column(String, nullable=True)
document_content = Column(Text, nullable=True) # Extracted text from PDF
status = Column(String, default="pending") # pending, processing, completed, failed
submission_date = Column(DateTime, default=datetime.utcnow)
analysis_result = Column(JSON, nullable=True)
rejection_reason = Column(String, nullable=True)
company_id = Column(Integer, ForeignKey("companies.id"), nullable=True)
company = relationship("Company", back_populates="requests")