Calendar + NLP modules implemented
This commit is contained in:
@@ -1,25 +1,26 @@
|
||||
# main.py
|
||||
from contextlib import _AsyncGeneratorContextManager, asynccontextmanager
|
||||
from typing import Any, Callable
|
||||
from fastapi import FastAPI, Depends
|
||||
from core.database import get_engine, Base
|
||||
from modules.auth.api import router as auth_router
|
||||
from modules.user.api import router as user_router
|
||||
from modules.admin.api import router as admin_router
|
||||
from modules.auth.dependencies import admin_only
|
||||
from modules import router
|
||||
import logging
|
||||
|
||||
from modules.auth.security import get_current_user
|
||||
|
||||
logging.getLogger('passlib').setLevel(logging.ERROR) # fix bc package logging is broken
|
||||
|
||||
# Create DB tables (remove in production; use migrations instead)
|
||||
def lifespan(app):
|
||||
# Base.metadata.drop_all(bind=get_engine())
|
||||
Base.metadata.create_all(bind=get_engine())
|
||||
yield
|
||||
def lifespan_factory() -> Callable[[FastAPI], _AsyncGeneratorContextManager[Any]]:
|
||||
|
||||
@asynccontextmanager
|
||||
async def lifespan(app: FastAPI):
|
||||
Base.metadata.drop_all(bind=get_engine())
|
||||
Base.metadata.create_all(bind=get_engine())
|
||||
yield
|
||||
|
||||
return lifespan
|
||||
|
||||
lifespan = lifespan_factory()
|
||||
app = FastAPI(lifespan=lifespan)
|
||||
|
||||
# Include all module routers
|
||||
app.include_router(auth_router, prefix="/api/auth")
|
||||
app.include_router(user_router, prefix="/api/user")
|
||||
app.include_router(admin_router, prefix="/api/admin", dependencies=[Depends(admin_only)])
|
||||
# Include module router
|
||||
app.include_router(router)
|
||||
Reference in New Issue
Block a user