mirror of
https://github.com/Xevion/linkpulse.git
synced 2025-12-11 16:07:44 -06:00
Fix delete_cookie() usage, basic /api/session route, remove unused SessionModel dataclass
This commit is contained in:
@@ -44,13 +44,6 @@ class RateLimiter:
|
|||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
|
||||||
class SessionModel:
|
|
||||||
user_id: str
|
|
||||||
session_id: str
|
|
||||||
expires_at: int
|
|
||||||
|
|
||||||
|
|
||||||
class SessionDependency:
|
class SessionDependency:
|
||||||
def __init__(self, required: bool = False):
|
def __init__(self, required: bool = False):
|
||||||
self.required = required
|
self.required = required
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ from typing import Annotated, Optional, Tuple
|
|||||||
|
|
||||||
import structlog
|
import structlog
|
||||||
from fastapi import APIRouter, Depends, Response, status
|
from fastapi import APIRouter, Depends, Response, status
|
||||||
from linkpulse.dependencies import RateLimiter, SessionDependency, SessionModel
|
from linkpulse.dependencies import RateLimiter, SessionDependency
|
||||||
from linkpulse.models import Session, User
|
from linkpulse.models import Session, User
|
||||||
from linkpulse.utilities import utc_now
|
from linkpulse.utilities import utc_now
|
||||||
from pwdlib import PasswordHash
|
from pwdlib import PasswordHash
|
||||||
@@ -126,7 +126,7 @@ async def logout(
|
|||||||
count = Session.delete().where(Session.user == session.user).execute()
|
count = Session.delete().where(Session.user == session.user).execute()
|
||||||
logger.debug("All sessions deleted", user=session.user.email, count=count, source_token=session.token)
|
logger.debug("All sessions deleted", user=session.user.email, count=count, source_token=session.token)
|
||||||
|
|
||||||
response.delete_cookie("session", "", max_age=0)
|
response.delete_cookie("session")
|
||||||
|
|
||||||
|
|
||||||
@router.post("/api/register")
|
@router.post("/api/register")
|
||||||
@@ -141,13 +141,17 @@ async def register():
|
|||||||
|
|
||||||
|
|
||||||
@router.get("/api/session")
|
@router.get("/api/session")
|
||||||
async def session(session: Annotated[SessionModel, Depends(SessionDependency(required=True))]):
|
async def session(session: Annotated[Session, Depends(SessionDependency(required=True))]):
|
||||||
# Returns the session information for the current session
|
# Returns the session information for the current session
|
||||||
return {}
|
return {
|
||||||
|
"user": {
|
||||||
|
"email": session.user.email,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@router.get("/api/sessions")
|
@router.get("/api/sessions")
|
||||||
async def sessions(session: Annotated[SessionModel, Depends(SessionDependency(required=True))]):
|
async def sessions(session: Annotated[Session, Depends(SessionDependency(required=True))]):
|
||||||
# Returns a list of all active sessions for this user
|
# Returns a list of all active sessions for this user
|
||||||
return {}
|
return {}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user