from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from app.utils.database import DatabaseManager
from datetime import datetime

app = FastAPI(title="Call Service")

# Configure CORS
app.add_middleware(
    CORSMiddleware,
    allow_origins=["*"],
    allow_credentials=True,
    allow_methods=["*"],
    allow_headers=["*"],
)

# Initialize database
db = DatabaseManager()
calls_collection = db.get_collection("calls")

@app.on_event("shutdown")
async def shutdown_event():
    db.close()

@app.post("/call-detail")
async def save_call_detail(call_data: dict):
    call_record = {
        **call_data,
        "timestamp": datetime.utcnow()
    }
    result = await calls_collection.insert_one(call_record)
    return {"message": "Call detail saved", "record_id": str(result.inserted_id)}

@app.get("/calls/{business_id}")
async def get_business_calls(business_id: str):
    calls = await calls_collection.find({"business_id": business_id}).to_list(length=None)
    return {"calls": calls} 