<?php
session_start();
header('Content-Type: application/json');

// PASTIKAN PATH INI BENER. DARI api/ KE config/
include '../config/database.php';

$db = new Database();
$conn = $db->getConnection(); // INI VARIABEL $conn

if(!isset($_SESSION['user_id'])){
    echo json_encode(['status'=>'error','msg'=>'Session habis']); exit;
}

$user_id = $_SESSION['user_id'];
$q = $conn->prepare("SELECT id FROM gereja WHERE gembala_id=? LIMIT 1");
$q->execute([$user_id]);
$gereja_id = $q->fetchColumn();

if(!$gereja_id){
    echo json_encode(['status'=>'error','msg'=>'Gereja tidak ditemukan untuk user ID: '.$user_id]); exit;
}

$aksi = $_POST['aksi'] ?? '';

if($aksi == 'simpan'){
    $id = $_POST['id'] ?? '';
    $tanggal = $_POST['tanggal'];
    $jenis = $_POST['jenis'];
    $jumlah = str_replace('.', '', $_POST['jumlah']);
    $keterangan = $_POST['keterangan'] ?? '';

    try {
        if(empty($id)){
            $stmt = $conn->prepare("INSERT INTO keuangan (gereja_id, tanggal, jenis, jumlah, keterangan) VALUES (?,?,?,?,?)");
            $stmt->execute([$gereja_id, $tanggal, $jenis, $jumlah, $keterangan]);
        } else {
            $stmt = $conn->prepare("UPDATE keuangan SET tanggal=?, jenis=?, jumlah=?, keterangan=? WHERE id=? AND gereja_id=?");
            $stmt->execute([$tanggal, $jenis, $jumlah, $keterangan, $id, $gereja_id]);
        }
        echo json_encode(['status'=>'sukses']);
    } catch(PDOException $e){
        echo json_encode(['status'=>'error','msg'=>$e->getMessage()]);
    }
    exit;
}

if($aksi == 'hapus'){
    $conn->prepare("DELETE FROM keuangan WHERE id=? AND gereja_id=?")->execute([$_POST['id'], $gereja_id]);
    echo json_encode(['status'=>'sukses']); exit;
}

if($aksi == 'get'){
    $stmt = $conn->prepare("SELECT * FROM keuangan WHERE id=? AND gereja_id=?");
    $stmt->execute([$_POST['id'], $gereja_id]);
    echo json_encode(['data' => $stmt->fetch(PDO::FETCH_ASSOC)]); exit;
}

echo json_encode(['status'=>'error','msg'=>'Aksi tidak dikenali']);
?>