memleketmeselesi/mm_api/main.py
Mukan Erkin 79518f79ac feat: mm-ui v1 + API CORS + client auth middleware
React + Vite + Tabler UI. Sayfalar: anasayfa (issue listesi), giriş,
kayıt, issue detay, sorun bildir. Axios interceptor ile token refresh.
API: CORS origin whitelist, CORSMiddleware eklendi.
2026-04-28 01:06:01 +03:00

43 lines
1.2 KiB
Python

from contextlib import asynccontextmanager
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from mm_api.db import pool
from mm_api.routers import locations, admin_units, auth, permissions, kyc, issues, officials, clients
from mm_api.middleware import client_auth_middleware
import mm_api.services.auth as auth_svc
@asynccontextmanager
async def lifespan(app: FastAPI):
await pool.open()
app.state.pool = pool
async with pool.connection() as conn:
await auth_svc.cleanup_expired_tokens(conn)
yield
await pool.close()
app = FastAPI(title="Memleketmeselesi API", lifespan=lifespan)
app.add_middleware(
CORSMiddleware,
allow_origins=[
"https://memleketmeselesi.org.tr",
"https://www.memleketmeselesi.org.tr",
"https://memleketmeselesi.net.tr",
],
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
app.middleware("http")(client_auth_middleware)
app.include_router(locations.router)
app.include_router(admin_units.router)
app.include_router(auth.router)
app.include_router(permissions.router)
app.include_router(kyc.router)
app.include_router(issues.router)
app.include_router(officials.router)
app.include_router(clients.router)