from sqlalchemy import create_engine from sqlalchemy.orm import DeclarativeBase, Session, sessionmaker from .config import settings class Base(DeclarativeBase): pass engine = create_engine( f"sqlite:///{settings.data_dir / 'wireguard.db'}", connect_args={"check_same_thread": False}, ) SessionLocal = sessionmaker(bind=engine, autoflush=False, expire_on_commit=False) def get_db(): db: Session = SessionLocal() try: yield db finally: db.close()