This commit is contained in:
retoor 2025-01-25 03:47:16 +01:00
parent 352d2deb12
commit 12ca8e4296
5 changed files with 26 additions and 21 deletions

View File

@ -2,6 +2,12 @@ import pathlib
from types import SimpleNamespace from types import SimpleNamespace
from aiohttp import web from aiohttp import web
from aiohttp_session import (
get_session as session_get,
session_middleware,
setup as session_setup,
)
from aiohttp_session.cookie_storage import EncryptedCookieStorage
from app.app import Application as BaseApplication from app.app import Application as BaseApplication
from snek.docs.app import Application as DocsApplication from snek.docs.app import Application as DocsApplication
@ -20,13 +26,9 @@ from snek.view.register_form import RegisterFormView
from snek.view.status import StatusView from snek.view.status import StatusView
from snek.view.web import WebView from snek.view.web import WebView
from aiohttp import web
from aiohttp_session import setup as session_setup, get_session as session_get, session_middleware
from aiohttp_session.cookie_storage import EncryptedCookieStorage
import base64
# base64.urlsafe_b64encode( # base64.urlsafe_b64encode(
SESSION_KEY = b'c79a0c5fda4b424189c427d28c9f7c34' SESSION_KEY = b"c79a0c5fda4b424189c427d28c9f7c34"
@web.middleware @web.middleware
async def session_middleware(request, handler): async def session_middleware(request, handler):
@ -52,7 +54,6 @@ class Application(BaseApplication):
self.setup_router() self.setup_router()
self.setup_services() self.setup_services()
def setup_services(self): def setup_services(self):
self.services = SimpleNamespace(**get_services(app=self)) self.services = SimpleNamespace(**get_services(app=self))
self.mappers = SimpleNamespace(**get_mappers(app=self)) self.mappers = SimpleNamespace(**get_mappers(app=self))

View File

@ -9,8 +9,8 @@ class RegisterFormView(BaseFormView):
result = await self.app.services.user.register( result = await self.app.services.user.register(
form.email.value, form.username.value, form.password.value form.email.value, form.username.value, form.password.value
) )
self.request.session["uid"] = result['uid'] self.request.session["uid"] = result["uid"]
self.request.session["username"] = result['usernmae'] self.request.session["username"] = result["usernmae"]
self.request.session["logged_in"] = True self.request.session["logged_in"] = True
return dict(redirect_url="/web.html") return {"redirect_url": "/web.html"}

View File

@ -1,9 +1,13 @@
from snek.system.view import BaseView from snek.system.view import BaseView
class StatusView(BaseView): class StatusView(BaseView):
async def get(self): async def get(self):
return await self.json_response({"status": "ok", "username": self.session.get("username"),"logged_in":self.session.get("username") and True or False, "uid":self.session.get("uid")}) return await self.json_response(
{
"status": "ok",
"username": self.session.get("username"),
"logged_in": self.session.get("username") and True or False,
"uid": self.session.get("uid"),
}
)