Changes:
- added rabbitmq hearbeat, consumer and publisher
- fixed vqe to run with rabbitmq
- added frontend via fasthtml
- added proper .env configuration
This commit is contained in:
2026-05-14 13:27:33 +03:00
parent 290c4fada2
commit 96548e60ea
17 changed files with 1488 additions and 228 deletions

View File

@@ -0,0 +1,69 @@
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()