diff options
Diffstat (limited to 'src/expense/auth/blueprint.py')
-rw-r--r-- | src/expense/auth/blueprint.py | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/expense/auth/blueprint.py b/src/expense/auth/blueprint.py new file mode 100644 index 0000000..4f36c12 --- /dev/null +++ b/src/expense/auth/blueprint.py @@ -0,0 +1,20 @@ +from typing import Optional +from flask import Blueprint + +from ..model import User +from .. import loginManager, db + +auth = Blueprint("auth", __name__, url_prefix="/auth") + + +@loginManager.user_loader +def load_user(id: str) -> Optional[User]: + """ + Callback to load user from id which is a number + """ + if id is not None: + return db.session.scalars(db.select(User).where(User.id == id)).one_or_none() + return None + + +from . import login, logout, register, delete |