from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from dotenv import load_dotenv

from app.utils.database import engine
from models import Base

# Load environment variables
load_dotenv()

from app.api.auth_router import router as auth_router
from app.api.company_router import router as company_router
from app.api.service_router import router as service_router
from app.api.schedule_router import router as schedule_router
from app.api.holiday_router import router as holiday_router
from app.api.appointment_router import router as appointment_router

from app.api.business.routes import router as business_router
from app.api.telephony.routes import router as telephony_router
from app.api.ai_assistant.routes import router as ai_assistant_router
from app.api.agent.router import router as agent_router
from app.api.retell.router import router as retell_router


app = FastAPI(title="PhoneMate API")

Base.metadata.create_all(bind=engine)

# Configure CORS
app.add_middleware(
    CORSMiddleware,
    allow_origins=["*"],  # In production, replace with specific origins
    allow_credentials=True,
    allow_methods=["*"],
    allow_headers=["*"],
)

# Include routers
app.include_router(auth_router)
app.include_router(company_router)
app.include_router(service_router)
app.include_router(schedule_router)
app.include_router(holiday_router)
app.include_router(appointment_router)


app.include_router(business_router)
app.include_router(telephony_router)
app.include_router(ai_assistant_router)
app.include_router(agent_router)
app.include_router(retell_router)



@app.get("/healthy")
def health_check():
    return {"status": "healthy"}
