<?php
/**
 * Start Skin Analysis Session
 * بدء جلسة تحليل بشرة جديدة
 */

header('Content-Type: application/json');
require_once '../config/database.php';

// Initialize database connection
$database = new Database();
$conn = $database->getConnection();

if (!$conn) {
    echo json_encode([
        'success' => false,
        'message' => 'Database connection failed'
    ]);
    exit;
}

// Get JSON input
$input = json_decode(file_get_contents('php://input'), true);

if (!isset($input['token'])) {
    echo json_encode([
        'success' => false,
        'message' => 'Token is required'
    ]);
    exit;
}

$token = $input['token'];

try {
    // Check if session already exists
    $stmt = $conn->prepare("SELECT id FROM skin_analysis_sessions WHERE session_token = ?");
    $stmt->execute([$token]);
    $existing = $stmt->fetch(PDO::FETCH_ASSOC);
    
    if ($existing) {
        echo json_encode([
            'success' => true,
            'session_id' => $existing['id'],
            'message' => 'Session resumed'
        ]);
        exit;
    }
    
    // Create new session
    $ipAddress = $_SERVER['REMOTE_ADDR'] ?? null;
    $userAgent = $_SERVER['HTTP_USER_AGENT'] ?? null;
    
    $stmt = $conn->prepare("
        INSERT INTO skin_analysis_sessions 
        (session_token, status, current_step, ip_address, user_agent) 
        VALUES (?, 'started', 1, ?, ?)
    ");
    
    $stmt->execute([$token, $ipAddress, $userAgent]);
    $sessionId = $conn->lastInsertId();
    
    echo json_encode([
        'success' => true,
        'session_id' => $sessionId,
        'message' => 'Session created successfully'
    ]);
    
} catch (PDOException $e) {
    echo json_encode([
        'success' => false,
        'message' => 'Database error: ' . $e->getMessage()
    ]);
}
?>
