aggiungta SessionManager
This commit is contained in:
parent
a7f82eebad
commit
eb2ea45e16
2 changed files with 27 additions and 5 deletions
|
@ -6,8 +6,6 @@ import requests
|
|||
SPOTIFY_CLIENT_ID = os.getenv("SPOTIFY_CLIENT_ID")
|
||||
SPOTIFY_CLIENT_SECRET = os.getenv("SPOTIFY_CLIENT_SECRET")
|
||||
|
||||
current_session = None
|
||||
|
||||
class SessionData():
|
||||
__access_token: str
|
||||
__refresh_token: str
|
||||
|
@ -57,3 +55,28 @@ class SessionData():
|
|||
return self.__access_token
|
||||
|
||||
|
||||
class SessionManager():
|
||||
__current_session: SessionData
|
||||
__instance: "SessionManager"
|
||||
|
||||
def __new__(cls, *args, **kwargs):
|
||||
if cls.__instance is None:
|
||||
cls.__instance = super(SessionManager, cls).__new__(cls)
|
||||
return cls.__instance
|
||||
|
||||
def __init__(self):
|
||||
self.__current_session = None
|
||||
|
||||
@classmethod
|
||||
def instance(cls):
|
||||
return cls.__instance
|
||||
|
||||
def set_session(self, __current_session):
|
||||
if self.__current_session is not None:
|
||||
return
|
||||
|
||||
self.__current_session = __current_session
|
||||
|
||||
def get_current_session(self):
|
||||
return self.__current_session
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@ from fastapi import APIRouter, Request, Depends
|
|||
from fastapi.responses import RedirectResponse
|
||||
import requests
|
||||
import os
|
||||
from auth.session import SessionData, current_session
|
||||
from auth.session import SessionData, SessionManager, current_session
|
||||
|
||||
music_router = APIRouter(prefix="/music")
|
||||
|
||||
|
@ -42,8 +42,7 @@ def callback(code: str):
|
|||
expires_in = token_info.get("expires_in")
|
||||
|
||||
# Salva access_token in sessione o database per usi futuri
|
||||
if current_session is None:
|
||||
current_session = SessionData(access_token, refresh_token, expires_in)
|
||||
SessionManager.instance().set_session(SessionData(access_token, refresh_token, expires_in))
|
||||
|
||||
return {}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue