Globals restructured to their own module. Origin and RP definition.

This commit is contained in:
Leo Vasanko
2025-08-06 13:23:35 -06:00
parent 5a129220aa
commit dcca3e3fbd
11 changed files with 120 additions and 67 deletions

View File

@@ -232,28 +232,6 @@ class DatabaseInterface(ABC):
"""Create a new user and their first credential in a transaction."""
class DatabaseManager:
"""Manager for the global database instance."""
def __init__(self):
self._instance: DatabaseInterface | None = None
@property
def instance(self) -> DatabaseInterface:
if self._instance is None:
raise RuntimeError(
"Database not initialized. Call e.g. db.sql.init() first."
)
return self._instance
@instance.setter
def instance(self, instance: DatabaseInterface) -> None:
self._instance = instance
db = DatabaseManager()
__all__ = [
"User",
"Credential",
@@ -261,5 +239,4 @@ __all__ = [
"Org",
"Permission",
"DatabaseInterface",
"db",
]

View File

@@ -23,7 +23,8 @@ from sqlalchemy.dialects.sqlite import BLOB, JSON
from sqlalchemy.ext.asyncio import async_sessionmaker, create_async_engine
from sqlalchemy.orm import DeclarativeBase, Mapped, mapped_column
from . import Credential, DatabaseInterface, Org, Permission, Session, User, db
from ..globals import db
from . import Credential, DatabaseInterface, Org, Permission, Session, User
DB_PATH = "sqlite+aiosqlite:///passkey-auth.sqlite"