Files
trade-assistant/backend/app/api/v1/leads.py
T

35 lines
981 B
Python

from fastapi import APIRouter, Depends, HTTPException
from sqlalchemy.ext.asyncio import AsyncSession
from pydantic import BaseModel, EmailStr
from app.database import get_db
from app.models.enterprise_lead import EnterpriseLead
router = APIRouter()
class LeadCreate(BaseModel):
type: str # private | buyout
name: str
company: str = ""
phone: str = ""
email: str = ""
message: str = ""
@router.post("")
async def create_lead(payload: LeadCreate, db: AsyncSession = Depends(get_db)):
if payload.type not in ("private", "buyout"):
raise HTTPException(status_code=400, detail="Invalid lead type")
lead = EnterpriseLead(
type=payload.type,
name=payload.name,
company=payload.company,
phone=payload.phone,
email=payload.email,
message=payload.message,
)
db.add(lead)
await db.flush()
await db.refresh(lead)
return {"id": lead.id, "type": lead.type, "status": lead.status}