import os basedir = os.path.abspath(os.path.dirname(__file__)) class Config: SESSION_COOKIE_HTTPONLY = True SESSION_COOKIE_SAMESITE = "Lax" # działa w HTTP i HTTPS SECRET_KEY = os.environ.get("SECRET_KEY", "D8pceNZ8q%YR7^7F&9wAC2") DB_ENGINE = os.environ.get("DB_ENGINE", "sqlite").lower() if DB_ENGINE == "sqlite": SQLALCHEMY_DATABASE_URI = ( f"sqlite:///{os.path.join(basedir, 'db', 'shopping.db')}" ) elif DB_ENGINE == "pgsql": SQLALCHEMY_DATABASE_URI = f"postgresql://{os.environ['DB_USER']}:{os.environ['DB_PASSWORD']}@{os.environ['DB_HOST']}:{os.environ.get('DB_PORT', 5432)}/{os.environ['DB_NAME']}" elif DB_ENGINE == "mysql": SQLALCHEMY_DATABASE_URI = f"mysql+pymysql://{os.environ['DB_USER']}:{os.environ['DB_PASSWORD']}@{os.environ['DB_HOST']}:{os.environ.get('DB_PORT', 3306)}/{os.environ['DB_NAME']}" else: raise ValueError("Nieobsługiwany typ bazy danych.") SQLALCHEMY_TRACK_MODIFICATIONS = False SYSTEM_PASSWORD = os.environ.get("SYSTEM_PASSWORD", "admin") DEFAULT_ADMIN_USERNAME = os.environ.get("DEFAULT_ADMIN_USERNAME", "admin") DEFAULT_ADMIN_PASSWORD = os.environ.get("DEFAULT_ADMIN_PASSWORD", "admin123") UPLOAD_FOLDER = os.environ.get("UPLOAD_FOLDER", "uploads") AUTHORIZED_COOKIE_VALUE = os.environ.get("AUTHORIZED_COOKIE_VALUE", "cookievalue") BCRYPT_PEPPER = os.environ.get("BCRYPT_PEPPER", "sekretnyKluczBcrypt") SESSION_COOKIE_SECURE = os.environ.get("SESSION_COOKIE_SECURE", "0") == "1" HEALTHCHECK_TOKEN = os.environ.get("HEALTHCHECK_TOKEN", "alamapsaikota1234") try: AUTH_COOKIE_MAX_AGE = int( os.environ.get("AUTH_COOKIE_MAX_AGE", "86400") or "86400" ) except ValueError: AUTH_COOKIE_MAX_AGE = 86400 try: SESSION_TIMEOUT_MINUTES = int( os.environ.get("SESSION_TIMEOUT_MINUTES", "10080") or "10080" ) except ValueError: SESSION_TIMEOUT_MINUTES = 10080 ENABLE_HSTS = os.environ.get("ENABLE_HSTS", "0") == "1" ENABLE_XFO = os.environ.get("ENABLE_XFO", "0") == "1" ENABLE_XCTO = os.environ.get("ENABLE_XCTO", "0") == "1" ENABLE_CSP = os.environ.get("ENABLE_CSP", "0") == "1" ENABLE_PP = os.environ.get("ENABLE_PP", "0") == "1" REFERRER_POLICY = os.environ.get("REFERRER_POLICY") or None DEBUG_MODE = os.environ.get("DEBUG_MODE", "1") == "1" DISABLE_ROBOTS = os.environ.get("DISABLE_ROBOTS", "0") == "1" JS_CACHE_CONTROL = os.environ.get( "JS_CACHE_CONTROL", "no-cache" ) CSS_CACHE_CONTROL = os.environ.get( "CSS_CACHE_CONTROL", "no-cache" ) LIB_JS_CACHE_CONTROL = os.environ.get( "LIB_JS_CACHE_CONTROL", "max-age=604800" ) LIB_CSS_CACHE_CONTROL = os.environ.get( "LIB_CSS_CACHE_CONTROL", "max-age=604800" ) UPLOADS_CACHE_CONTROL = os.environ.get( "UPLOADS_CACHE_CONTROL", "public, max-age=2592000, immutable" ) DEFAULT_CATEGORIES = [ c.strip() for c in os.environ.get( "DEFAULT_CATEGORIES", "Spożywcze,Budowlane,Zabawki,Chemia,Inne,Elektronika,Odzież i obuwie," "Artykuły biurowe,Kosmetyki i higiena,Motoryzacja,Ogród i rośliny," "Zwierzęta,Sprzęt sportowy,Książki i prasa,Narzędzia i majsterkowanie," "RTV / AGD,Apteka i suplementy,Artykuły dekoracyjne,Gry i hobby,Usługi,Pieczywo" ).split(",") if c.strip() ]