Files
mnote/wolai-backend/app/main.py
T
2026-01-15 20:54:21 +08:00

54 lines
1.2 KiB
Python

from typing import Dict, List, Set
import os
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from app.config import settings
from app.routers import api_router, root_router
app = FastAPI(title="Wolai Backend", version="0.1.0-stage0")
def parse_extra_origins(*values: str) -> List[str]:
out: Set[str] = set()
for raw in values:
if not raw:
continue
for item in str(raw).split(","):
origin = item.strip()
if origin:
out.add(origin)
return sorted(out)
extra_origins = parse_extra_origins(
settings.frontend_url,
os.getenv("FRONTEND_URLS", ""),
os.getenv("CORS_ALLOWED_ORIGINS", ""),
)
allow_origins = [
*extra_origins,
"http://localhost:3000",
"http://localhost:3001",
"http://127.0.0.1:3000",
"http://127.0.0.1:3001",
]
app.add_middleware(
CORSMiddleware,
allow_origins=allow_origins,
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
app.include_router(root_router)
app.include_router(api_router)
@app.get("/")
async def root() -> Dict[str, str]:
return {"message": "Wolai backend stage0 up"}