41 lines
1.2 KiB
Python
41 lines
1.2 KiB
Python
"""MercadoPago (MOCK) Vein - FastAPI app."""
|
|
|
|
from pathlib import Path
|
|
from fastapi import FastAPI, Request
|
|
from fastapi.responses import HTMLResponse
|
|
from fastapi.templating import Jinja2Templates
|
|
from fastapi.middleware.cors import CORSMiddleware
|
|
from .api.routes import router
|
|
from .core.config import settings
|
|
|
|
app = FastAPI(
|
|
title="MercadoPago (MOCK)",
|
|
description="Mock MercadoPago API for testing - simulates payment processing",
|
|
version="0.1.0",
|
|
)
|
|
|
|
# Enable CORS for testing from backend
|
|
app.add_middleware(
|
|
CORSMiddleware,
|
|
allow_origins=["*"], # In production, specify exact origins
|
|
allow_credentials=True,
|
|
allow_methods=["*"],
|
|
allow_headers=["*"],
|
|
)
|
|
|
|
# Templates for configuration UI
|
|
templates = Jinja2Templates(directory=Path(__file__).parent / "templates")
|
|
|
|
@app.get("/", response_class=HTMLResponse)
|
|
def index(request: Request):
|
|
"""Mock configuration UI."""
|
|
return templates.TemplateResponse("index.html", {"request": request})
|
|
|
|
# Include router at root (matches real MercadoPago API structure)
|
|
app.include_router(router)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
import uvicorn
|
|
uvicorn.run(app, host="0.0.0.0", port=settings.api_port)
|