Files
gatekeeper/app/main.py
ahtlon a8b5bea8cb Implement background scanner
for now just outputs uid as configured by test.py
2026-05-21 19:20:07 +02:00

33 lines
1.0 KiB
Python

from fastapi import FastAPI
from fastapi.security import OAuth2PasswordBearer
from contextlib import asynccontextmanager
from dotenv import load_dotenv
from .controllers import userManager, cardManager, groupManager, aaManager, doorManager
from .services.database import create_db_and_tables, get_session
from .services.auth import token_router, create_first_user
from app.services.scanner import BackgroundScanner
oauth2_scheme = OAuth2PasswordBearer(tokenUrl="token")
@asynccontextmanager
async def lifespan(app: FastAPI):
load_dotenv()
create_db_and_tables()
create_first_user()
print("Database created and tables initialized.")
scanner = BackgroundScanner(db=get_session())
scanner.start()
yield
scanner.stop()
app = FastAPI(lifespan=lifespan)
app.include_router(token_router)
app.include_router(userManager.user_router)
app.include_router(groupManager.group_router)
app.include_router(cardManager.card_router)
app.include_router(aaManager.aa_router)
app.include_router(doorManager.door_router)