memleketmeselesi/mm_api/main.py
Mukan Erkin 2498e75594 init: memleketmeselesi platform — API + migrations
FastAPI + PostgreSQL 16. KYC, issue sistemi, permission/group yönetimi,
session yönetimi, API client auth (kışla kapısı), officials/persons CRUD.
Migration 0001–0013 dahil.
2026-04-27 23:06:59 +03:00

31 lines
974 B
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.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)