<?php
// GEMBOK ANTI-AKSES LANGSUNG
if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
    http_response_code(403);
    die("Akses Ditolak: Anda tidak diizinkan mengakses halaman ini secara langsung.");
}

session_start();

// Validasi Sesi & Role: Pastikan hanya Admin yang bisa mengeksekusi file ini
if (!isset($_SESSION['user_id']) || $_SESSION['role'] !== 'admin') {
    http_response_code(401);
    die("Akses Ditolak: Hak akses Anda tidak mencukupi.");
}

require_once '../config/database.php';

// Sanitasi Input: Paksa variabel menjadi format angka yang benar
$recipe_id = filter_var($_POST['recipe_id'] ?? 0, FILTER_VALIDATE_INT);
$usage_qty = filter_var($_POST['usage_qty'] ?? 0, FILTER_VALIDATE_FLOAT);

// Validasi ketat agar tidak ada eksekusi data bodong atau angka minus
if (!$recipe_id || $usage_qty <= 0) {
    die("Data tidak valid. Takaran harus lebih dari 0.");
}

try {
    // Update takaran (usage_qty) di tabel recipes berdasarkan ID resep tersebut
    $stmt = $pdo->prepare("UPDATE recipes SET usage_qty = ? WHERE id = ?");
    $stmt->execute([$usage_qty, $recipe_id]);

    // Kembalikan ke halaman manajemen resep dengan notifikasi sukses
    header("Location: ../modules/admin/recipes.php?status=updated");
    exit();
    
} catch (PDOException $e) {
    die("Gagal update resep: " . $e->getMessage());
}