bump project

This commit is contained in:
2026-05-01 21:24:21 +03:30
parent dc4b1a1400
commit 139b3e26da
83 changed files with 2455 additions and 18349 deletions

57
app/config.py Normal file
View File

@@ -0,0 +1,57 @@
from __future__ import annotations
import os
from datetime import timedelta
from pathlib import Path
BASE_DIR = Path(__file__).resolve().parent.parent
class Config:
SECRET_KEY = os.getenv("SECRET_KEY", "dev-change-me")
SQLALCHEMY_DATABASE_URI = os.getenv(
"DATABASE_URL",
f"sqlite:///{BASE_DIR / 'instance' / 'face_attendance.sqlite3'}",
)
SQLALCHEMY_TRACK_MODIFICATIONS = False
MAX_CONTENT_LENGTH = int(os.getenv("MAX_CONTENT_LENGTH", str(8 * 1024 * 1024)))
FACE_MATCH_TOLERANCE = float(os.getenv("FACE_MATCH_TOLERANCE", "0.55"))
PERMANENT_SESSION_LIFETIME = timedelta(hours=12)
SESSION_COOKIE_HTTPONLY = True
SESSION_COOKIE_SAMESITE = "Lax"
REMEMBER_COOKIE_HTTPONLY = True
REMEMBER_COOKIE_DURATION = timedelta(days=14)
WTF_CSRF_TIME_LIMIT = None
class DevelopmentConfig(Config):
DEBUG = True
SESSION_COOKIE_SECURE = False
REMEMBER_COOKIE_SECURE = False
class TestingConfig(Config):
TESTING = True
WTF_CSRF_ENABLED = False
SQLALCHEMY_DATABASE_URI = "sqlite:///:memory:"
SERVER_NAME = "localhost.test"
SESSION_COOKIE_SECURE = False
REMEMBER_COOKIE_SECURE = False
class ProductionConfig(Config):
DEBUG = False
TESTING = False
SESSION_COOKIE_SECURE = True
REMEMBER_COOKIE_SECURE = True
config_by_name = {
"development": DevelopmentConfig,
"testing": TestingConfig,
"production": ProductionConfig,
}