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.
43 lines
1.2 KiB
Python
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)
|