import sys import os from sqlalchemy.orm import Session from datetime import datetime, timedelta # Add parent dir to path to import app sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) from app.database import SessionLocal, engine, Base from app.models.tender import TenderModel from app.models.analysis import AnalysisHistoryModel from app.models.company import CompanyProfileModel def seed(): Base.metadata.drop_all(bind=engine) Base.metadata.create_all(bind=engine) db = SessionLocal() # 1. Company Profile (Your profile) profile = CompanyProfileModel( name="Andes Digital Solutions", industry="Software Engineering & AI", services="Machine Learning, Custom ERP, Cloud Infrastructure", experience="10+ years delivering enterprise software for the public sector.", certifications="AWS Partner, ISO 9001, SCRUM Master Team", regions="Metropolitana, Valparaíso, Biobío, Araucanía", documents_available="RUT, Financial Statements 2023, Technical Portfolio, Staff Certifications" ) db.add(profile) # 2. Software Tenders (The core demo data) tenders = [ TenderModel( code="2394-15-LR24", name="Implementación Sistema ERP para Red de Salud Oriente", description="Suministro, instalación y soporte de sistema de gestión de recursos empresariales para red hospitalaria.", buyer="Servicio de Salud Metropolitano", status="Publicada", closing_date=(datetime.now() + timedelta(days=20)).strftime("%Y-%m-%d"), estimated_amount=450000000, region="Metropolitana", sector="Tecnología de la Información", source="Mercado Público" ), TenderModel( code="5021-10-LP24", name="Plataforma de IA para Análisis de Datos Criminalísticos", description="Desarrollo de algoritmos de visión computacional y análisis predictivo para seguridad ciudadana.", buyer="Subsecretaría de Prevención del Delito", status="Publicada", closing_date=(datetime.now() + timedelta(days=12)).strftime("%Y-%m-%d"), estimated_amount=180000000, region="Metropolitana", sector="Software & IA", source="Mercado Público" ), TenderModel( code="6655-22-LE24", name="Modernización de App Móvil 'Trámites en Línea'", description="Rediseño UX/UI y migración a arquitectura serverless de la aplicación ciudadana principal.", buyer="Municipalidad de Providencia", status="Publicada", closing_date=(datetime.now() + timedelta(days=4)).strftime("%Y-%m-%d"), estimated_amount=65000000, region="Metropolitana", sector="Desarrollo Mobile", source="Mercado Público" ), TenderModel( code="8899-44-LP24", name="Servicio de Ciberseguridad y SOC 24/7", description="Monitoreo proactivo de amenazas y respuesta ante incidentes para infraestructura gubernamental.", buyer="Ministerio del Interior", status="Abierta", closing_date=(datetime.now() + timedelta(days=30)).strftime("%Y-%m-%d"), estimated_amount=520000000, region="Nacional", sector="Ciberseguridad", source="Mercado Público" ) ] for t in tenders: db.add(t) # 3. Pre-Analyzed History (To show the results immediately) history = AnalysisHistoryModel( tender_code="5021-10-LP24", tender_name="Plataforma de IA para Análisis de Datos Criminalísticos", decision="Recommended", score=92, summary="Oportunidad estratégica de alto valor. Tenemos el stack tecnológico (Gemini, Python) y la experiencia previa en seguridad ciudadana.", risks='''[ {"severity": "High", "description": "Requisito de disponibilidad 99.9% 24/7"}, {"severity": "Medium", "description": "Integración con bases de datos legacy de Carabineros"}, {"severity": "Low", "description": "Plazo de entrega de la Fase 1 en 45 días"} ]''', technical_analysis="Factibilidad técnica excelente. Podemos usar la arquitectura de agentes que ya tenemos implementada.", legal_analysis="Cumplimos con todos los seguros y garantías solicitadas en el artículo 4.2 de las bases.", commercial_analysis="ROI estimado del 35%. Es un proyecto insignia para nuestro portafolio de IA.", proposal_draft="Nuestra propuesta se basa en una arquitectura de microservicios escalable, utilizando modelos de lenguaje avanzados para el procesamiento de texto y redes neuronales para visión...", report_markdown="# Executive Report: AI Platform Crime Analysis\n\n## Summary\nThis tender is a perfect match for AndesOps AI.\n\n## Key Recommendations\n1. Focus the proposal on the 'Safety-First' approach.\n2. Highlight our speed of development using AI Agents.", created_at=datetime.now() - timedelta(hours=5) ) db.add(history) db.commit() print("Database seeded with high-quality Software Tenders!") db.close() if __name__ == "__main__": seed()