<?php
namespace App;

final class Bootstrap
{
    /** @var Logger */
    public $log;
    /** @var RateLimiter */
    public $rl;

    public function __construct()
    {
        // .env کنار ریشهٔ پروژه (یک لایه بالاتر از src)
        Env::load(__DIR__ . '/../.env');

        // Logger با مسیر پیش‌فرض امن
        $logPath   = Env::get('LOG_PATH', dirname(__DIR__) . '/storage/logs/app.log');
        $maxBytes  = (int)Env::get('LOG_MAX_BYTES', '10485760');
        $backups   = (int)Env::get('LOG_BACKUPS', '3');
        $this->log = new Logger($logPath, $maxBytes, $backups);

        // اتصال DB را همین‌جا بالا بیاور تا خطا زود مشخص شود
        DB::pdo();

        // Rate limiter از .env
        $perMin = (int)Env::get('RATE_LIMIT_PER_MINUTE', '60');
        $burst  = (int)Env::get('RATE_LIMIT_BURST', '120');
        $this->rl = new RateLimiter($perMin, $burst);
    }
}
