<?php
declare(strict_types=1);

require_once __DIR__ . '/../includes/api_auth.php';

try {
    if (session_status() !== PHP_SESSION_ACTIVE) {
        session_start();
    }

    $_SESSION = [];

    if (ini_get('session.use_cookies')) {
        $params = session_get_cookie_params();
        setcookie(
            session_name(),
            '',
            time() - 42000,
            $params['path'] ?? '/',
            $params['domain'] ?? '',
            (bool)($params['secure'] ?? false),
            (bool)($params['httponly'] ?? true)
        );
    }

    session_destroy();

    api_json([
        'success' => true,
        'message' => 'Logged out.'
    ]);
} catch (Throwable $e) {
    error_log('logout.php error: ' . $e->getMessage());

    api_json([
        'success' => false,
        'message' => 'server error',
        'error' => $e->getMessage()
    ], 500);
}