aboutsummaryrefslogtreecommitdiffstats
path: root/src/expense/auth/blueprint.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/expense/auth/blueprint.py')
-rw-r--r--src/expense/auth/blueprint.py20
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