import os
from pathlib import Path
from dotenv import load_dotenv

load_dotenv()

BASE_DIR = Path(__file__).resolve().parent
DB_PATH = BASE_DIR / 'database' / 'predev.db'
DB_PATH.parent.mkdir(parents=True, exist_ok=True)


class Config:
    SECRET_KEY = os.getenv('SECRET_KEY', 'change-this-predev-secret-key')
    SQLALCHEMY_DATABASE_URI = os.getenv('DATABASE_URL', f'sqlite:///{DB_PATH.as_posix()}')
    SQLALCHEMY_TRACK_MODIFICATIONS = False

    # Admin dashboard login (change in .env for production!)
    ADMIN_USERNAME = os.getenv('ADMIN_USERNAME', 'admin')
    ADMIN_PASSWORD = os.getenv('ADMIN_PASSWORD', 'predev-admin')

    # Session hardening. Set COOKIE_SECURE=1 in .env once the site is served over HTTPS.
    SESSION_COOKIE_HTTPONLY = True
    SESSION_COOKIE_SAMESITE = 'Lax'
    SESSION_COOKIE_SECURE = os.getenv('COOKIE_SECURE', '0') == '1'
