Files
orion/app/modules/prospecting/schemas/enrichment.py
Samir Boulahtit 6d6eba75bf
Some checks failed
CI / pytest (push) Failing after 48m31s
CI / docs (push) Has been skipped
CI / deploy (push) Has been skipped
CI / ruff (push) Successful in 11s
CI / validate (push) Successful in 23s
CI / dependency-scanning (push) Successful in 28s
feat(prospecting): add complete prospecting module for lead discovery and scoring
Migrates scanning pipeline from marketing-.lu-domains app into Orion module.
Supports digital (domain scan) and offline (manual capture) lead channels
with enrichment, scoring, campaign management, and interaction tracking.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 00:59:47 +01:00

70 lines
1.5 KiB
Python

# app/modules/prospecting/schemas/enrichment.py
"""Pydantic response schemas for enrichment/scanning endpoints."""
from pydantic import BaseModel
class HttpCheckResult(BaseModel):
"""Response from a single HTTP check."""
has_website: bool
uses_https: bool | None = None
http_status_code: int | None = None
redirect_url: str | None = None
class HttpCheckBatchItem(BaseModel):
"""Single item in a batch HTTP check response."""
domain: str
has_website: bool
uses_https: bool | None = None
http_status_code: int | None = None
redirect_url: str | None = None
class HttpCheckBatchResponse(BaseModel):
"""Response from batch HTTP check."""
processed: int
results: list[HttpCheckBatchItem]
class ScanSingleResponse(BaseModel):
"""Response from a single scan (tech or performance)."""
domain: str
profile: bool
class ScanBatchResponse(BaseModel):
"""Response from a batch scan."""
processed: int
successful: int
class ContactScrapeResponse(BaseModel):
"""Response from a single contact scrape."""
domain: str
contacts_found: int
class FullEnrichmentResponse(BaseModel):
"""Response from full enrichment pipeline."""
domain: str
has_website: bool | None = None
tech_scanned: bool
perf_scanned: bool
contacts_found: int
score: int
lead_tier: str
class ScoreComputeBatchResponse(BaseModel):
"""Response from batch score computation."""
scored: int