Changes: - added rabbitmq hearbeat, consumer and publisher - fixed vqe to run with rabbitmq - added frontend via fasthtml - added proper .env configuration
70 lines
2.0 KiB
Python
70 lines
2.0 KiB
Python
import json
|
||
import os
|
||
from pathlib import Path
|
||
|
||
# Локальные файлы для хранения данных
|
||
TOKEN_FILE = Path(os.environ["STORAGE_PATH"] + "/token.json")
|
||
VERIFIER_FILE = Path(os.environ["STORAGE_PATH"] + "/pkce_verifier.json")
|
||
CLIENT_INFO_FILE = Path(os.environ["STORAGE_PATH"] + "/client_info.json")
|
||
|
||
|
||
def save_token(token_data: dict):
|
||
"""Сохранить токен в файл"""
|
||
with open(TOKEN_FILE, "w") as f:
|
||
json.dump(token_data, f, indent=2)
|
||
|
||
|
||
def load_token() -> dict | None:
|
||
"""Загрузить токен из файла"""
|
||
if not TOKEN_FILE.exists():
|
||
return None
|
||
with open(TOKEN_FILE, "r") as f:
|
||
return json.load(f)
|
||
|
||
|
||
def delete_token():
|
||
"""Удалить файл с токеном"""
|
||
if TOKEN_FILE.exists():
|
||
TOKEN_FILE.unlink()
|
||
|
||
|
||
def save_verifier(verifier: str):
|
||
"""Сохранить PKCE верификатор в файл"""
|
||
with open(VERIFIER_FILE, "w") as f:
|
||
json.dump({"verifier": verifier}, f)
|
||
|
||
|
||
def load_verifier() -> str | None:
|
||
"""Загрузить PKCE верификатор из файла"""
|
||
if not VERIFIER_FILE.exists():
|
||
return None
|
||
with open(VERIFIER_FILE, "r") as f:
|
||
data = json.load(f)
|
||
return data.get("verifier")
|
||
|
||
|
||
def delete_verifier():
|
||
"""Удалить файл с PKCE верификатором"""
|
||
if VERIFIER_FILE.exists():
|
||
VERIFIER_FILE.unlink()
|
||
|
||
|
||
def save_client_info(client_info: dict):
|
||
"""Сохранить информацию о клиенте локально"""
|
||
with open(CLIENT_INFO_FILE, "w") as f:
|
||
json.dump(client_info, f, indent=2)
|
||
|
||
|
||
def load_client_info() -> dict | None:
|
||
"""Загрузить информацию о клиенте"""
|
||
if not CLIENT_INFO_FILE.exists():
|
||
return None
|
||
with open(CLIENT_INFO_FILE, "r") as f:
|
||
return json.load(f)
|
||
|
||
|
||
def delete_client_info():
|
||
"""Удалить файл с информацией о клиенте"""
|
||
if CLIENT_INFO_FILE.exists():
|
||
CLIENT_INFO_FILE.unlink()
|