<?php
    header
('Content-Type: application/json');
    require_once 
'../DB/db_credentials.php';
    require_once 
'../DB/db_connection.php';

    
$data = json_decode(file_get_contents("php://input"), true);
    
$id = $data['id'] ?? '';

    if (!
$id) {
        
http_response_code(400);
        echo 
json_encode(['status' => 'error', 'message' => 'Missing film ID.']);
        exit;
    }

    
// check if the film is used in any shift
    
$sql = "SELECT COUNT(*) FROM citeLeParis_shift WHERE fk_film = ?";
    
$stmt = mysqli_prepare($dbc, $sql);

    if (!
$stmt) {
        
http_response_code(500);
        echo 
json_encode(['status' => 'error', 'message' => 'Failed to prepare statement for shift check.']);
        
mysqli_close($dbc);
        exit;
    }

    
mysqli_stmt_bind_param($stmt, 'i', $id);
    
mysqli_stmt_execute($stmt);
    
mysqli_stmt_bind_result($stmt, $shiftCount);
    
mysqli_stmt_fetch($stmt);
    
mysqli_stmt_close($stmt);

    if (
$shiftCount > 0) {
        
// film is used in at least one shift, cannot delete
        
http_response_code(403);
        echo 
json_encode(['status' => 'error', 'message' => 'This film is used in one or more shifts and cannot be deleted.']);
        
mysqli_close($dbc);
        exit;
    }

    
// delete from film-language relation table first
    
$sql = "DELETE FROM citeLeParis_hasLanguage WHERE pkfk_film = ?";
    
$stmt = mysqli_prepare($dbc, $sql);

    if (!
$stmt) {
        
http_response_code(500);
        echo 
json_encode(['status' => 'error', 'message' => 'Failed to prepare statement for language relation delete.']);
        
mysqli_close($dbc);
        exit;
    }

    
mysqli_stmt_bind_param($stmt, 'i', $id);
    
mysqli_stmt_execute($stmt);
    
mysqli_stmt_close($stmt);

    
// now delete the film
    
$sql = "DELETE FROM citeLeParis_film WHERE pk_filmID = ?";
    
$stmt = mysqli_prepare($dbc, $sql);

    if (!
$stmt) {
        
http_response_code(500);
        echo 
json_encode(['status' => 'error', 'message' => 'Failed to prepare delete statement.']);
        
mysqli_close($dbc);
        exit;
    }

    
mysqli_stmt_bind_param($stmt, 'i', $id);
    
$ok = mysqli_stmt_execute($stmt);
    
mysqli_stmt_close($stmt);
    
mysqli_close($dbc);

    if (!
$ok) {
        
http_response_code(500);
        echo 
json_encode(['status' => 'error', 'message' => 'Failed to delete film.']);
        exit;
    }

    
http_response_code(200);
    echo 
json_encode(['status' => 'success', 'message' => 'Film deleted successfully.']);
?>