Версия 0.0.2

This commit is contained in:
commit 7b9c998224
530 changed files with 424916 additions and 0 deletions

29
SRV/config/cors.py Normal file
View file

@ -0,0 +1,29 @@
from fastapi import FastAPI
from starlette.middleware.cors import CORSMiddleware
class CORSMiddlewareConfig:
"""
Класс для настройки CORS политики в FastAPI
"""
def __init__(self, app: FastAPI) -> None:
""" Инициализируем приложение FastAPI и список допустимых CORS-оригинов """
self.app = app
self.origins = [
"http://localhost.tiangolo.com",
"https://localhost.tiangolo.com",
"http://localhost",
"http://localhost:8080",
"http://localhost:5174",
"http://localhost:5173",
]
def add_cors_middleware(self) -> None:
""" Добавляем CORS в приложение FastAPI """
self.app.add_middleware(
CORSMiddleware,
allow_origins=self.origins,
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)

35
SRV/config/init_config.py Normal file
View file

@ -0,0 +1,35 @@
# init_config.py
import configparser
import os
import secrets
import logging
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)
def init_config():
"""Создаёт конфигурационный файл с SECRET_KEY"""
config_path = "/etc/gonets/config.ini"
config_dir = os.path.dirname(config_path)
if os.path.exists(config_path):
logger.info(f"Конфигурационный файл {config_path} уже существует, пропускаем инициализацию")
return
try:
secret_key = secrets.token_urlsafe(32)
os.makedirs(config_dir, exist_ok=True)
config = configparser.ConfigParser()
config["JWT"] = {
"secret_key": secret_key
}
with open(config_path, "w") as config_file:
config.write(config_file)
os.chmod(config_path, 0o600)
logger.info(f"Создан конфигурационный файл {config_path}")
except Exception as e:
logger.error(f"Ошибка при создании конфигурационного файла: {type(e).__name__} - {str(e)}")
raise
if __name__ == "__main__":
init_config()