add guard for reg-only pages

This commit is contained in:
David Rodenkirchen 2024-08-26 00:01:23 +02:00
parent da2563c527
commit a66387de22
2 changed files with 24 additions and 0 deletions

View File

@ -6,6 +6,7 @@ from rio import App, Theme, Color, Font, Page, Session
from from_root import from_root
from src.ez_lan_manager import pages, init_services
from src.ez_lan_manager.helpers.LoggedInGuard import logged_in_guard
from src.ez_lan_manager.types.SessionStorage import SessionStorage
logger = logging.getLogger(__name__.split(".")[-1])
@ -105,10 +106,23 @@ if __name__ == "__main__":
page_url="forgot-password",
build=lambda: pages.PlaceholderPage(placeholder_name="Passwort vergessen"),
),
Page(
name="EditProfile",
page_url="edit-profile",
build=lambda: pages.PlaceholderPage(placeholder_name="Profil bearbeiten"),
guard=logged_in_guard
),
Page(
name="Account",
page_url="account",
build=lambda: pages.PlaceholderPage(placeholder_name="Guthabenkonto"),
guard=logged_in_guard
),
Page(
name="Logout",
page_url="logout",
build=pages.LogoutPage,
guard=logged_in_guard
)
],
theme=theme,

View File

@ -0,0 +1,10 @@
from typing import Optional
from rio import Session, URL
from src.ez_lan_manager.types.SessionStorage import SessionStorage
def logged_in_guard(session: Session, _) -> Optional[URL]:
if session[SessionStorage].user_id is None:
return URL("./")