finished auth overhaul and started tenants
This commit is contained in:
11
app/utils.py
11
app/utils.py
@@ -5,7 +5,7 @@ from typing import cast
|
||||
from itsdangerous import BadSignature, URLSafeSerializer
|
||||
from xkcdpass import xkcd_password
|
||||
|
||||
from .models import Deck, InfoBanner, Token, db
|
||||
from .models import Deck, InfoBanner, Token, db, Course
|
||||
|
||||
def init_password_generator():
|
||||
wordfile = xkcd_password.locate_wordfile()
|
||||
@@ -57,7 +57,7 @@ def get_token() -> (Token | None):
|
||||
return None
|
||||
try:
|
||||
id = serializer.loads(token)
|
||||
token = db.session.execute(db.select(Token).filter_by(id=id)).scalar_one_or_none()
|
||||
token = db.session.get(Token, id)
|
||||
return token
|
||||
except BadSignature:
|
||||
return None
|
||||
@@ -65,7 +65,6 @@ def get_token() -> (Token | None):
|
||||
def retrieve_token(username : str):
|
||||
return db.session.execute(db.select(Token).filter_by(name=username)).scalar_one_or_none()
|
||||
|
||||
|
||||
def get_unlocked_decks(token: (Token|None)):
|
||||
if token is None:
|
||||
return []
|
||||
@@ -90,3 +89,9 @@ def update_token(decks: list[Deck]):
|
||||
else:
|
||||
token.decks = list(set(decks + token.decks))
|
||||
db.session.commit()
|
||||
|
||||
def get_course(id: int) -> (Course | None):
|
||||
return db.session.get(Course, id)
|
||||
|
||||
def get_all_courses() -> list[Course]:
|
||||
return db.session.execute(db.select(Course).order_by(Course.id)).scalars().all()
|
||||
|
||||
Reference in New Issue
Block a user