<?php
/**
 * Check Access Middleware - BarberFlow SaaS
 * Valida acesso às páginas baseado no business_type da loja
 */

// Garante que a sessão está iniciada
if (session_status() === PHP_SESSION_NONE) {
    session_start();
}

// Carrega as configurações de negócio
require_once __DIR__ . '/business-config.php';

// Verifica se o usuário está logado
if (!isset($_SESSION['user_id']) || !isset($_SESSION['store_id'])) {
    // Usuário não logado, deixa a página principal lidar com isso
    return;
}

// Busca o business_type da sessão ou do banco
$businessType = $_SESSION['business_type'] ?? null;

if ($businessType === null) {
    // Busca do banco se não estiver na sessão
    $pdo = getDB();
    $stmt = $pdo->prepare("SELECT business_type FROM stores WHERE id = ?");
    $stmt->execute([$_SESSION['store_id']]);
    $store = $stmt->fetch(PDO::FETCH_ASSOC);
    $businessType = $store['business_type'] ?? 'service';
    $_SESSION['business_type'] = $businessType;
}

// Verifica acesso à página atual
checkPageAccess($businessType);
