diff --git a/utils/redis.py b/utils/redis.py index 0d3eb20..545b330 100644 --- a/utils/redis.py +++ b/utils/redis.py @@ -3,6 +3,7 @@ import hashlib import random import secrets from datetime import datetime, timedelta +from typing import Optional from urllib.parse import parse_qsl, urlencode, urlparse, urlunparse from redis.exceptions import RedisError @@ -92,7 +93,7 @@ class OnlineClassTokenManager(RedisConfig): seed = f"{course_id}:{user_identifier}:{secrets.token_urlsafe(16)}" return hashlib.sha256(seed.encode()).hexdigest() - def store_token(self, token: str, payload: dict, ttl: int | None = None) -> None: + def store_token(self, token: str, payload: dict, ttl: Optional[int] = None) -> None: data = { **payload, "generated_at": datetime.utcnow().isoformat() + "Z", @@ -109,7 +110,7 @@ class OnlineClassTokenManager(RedisConfig): self.redis.delete(self._build_key(token)) @staticmethod - def build_entry_url(token: str, base_url: str | None = None) -> str: + def build_entry_url(token: str, base_url: Optional[str] = None) -> str: base = base_url or getattr(settings, "ONLINE_CLASS_FRONTEND_DOMAIN", getattr(settings, "SITE_DOMAIN", "")) if not base: return f"?token={token}"