Files
D1041231084_WebGis_GeoPoverty/api/bantuan.php
T
2026-06-11 21:20:59 +07:00

65 lines
2.1 KiB
PHP

<?php
// ============================================================
// api/bantuan.php — CRUD Histori Bantuan Sosial
// ============================================================
require_once __DIR__ . '/config.php';
$method = $_SERVER['REQUEST_METHOD'];
$db = getDB();
// Bantuan hanya bisa diakses oleh user yang login
$user = requireAuth();
// ── GET: List bantuan untuk warga tertentu ──────────────────
if ($method === 'GET') {
$wargaId = getParam('warga_id');
if (!$wargaId) jsonError('ID warga wajib disertakan.');
$stmt = $db->prepare(
"SELECT id, tanggal, jenis, nominal, sumber_dana AS sumber, keterangan
FROM histori_bantuan
WHERE warga_id = ?
ORDER BY tanggal DESC"
);
$stmt->execute([$wargaId]);
jsonOk($stmt->fetchAll());
}
// ── POST: Tambah bantuan baru ────────────────────────────────
if ($method === 'POST') {
requireEdit();
$d = body();
if (empty($d['warga_id'])) jsonError('ID warga wajib diisi.');
if (empty($d['tanggal'])) jsonError('Tanggal wajib diisi.');
if (empty($d['jenis'])) jsonError('Program bantuan wajib dipilih.');
$stmt = $db->prepare(
"INSERT INTO histori_bantuan (warga_id, tanggal, jenis, nominal, sumber_dana, keterangan, created_by)
VALUES (?, ?, ?, ?, ?, ?, ?)"
);
$stmt->execute([
$d['warga_id'],
$d['tanggal'],
$d['jenis'],
$d['nominal'] ?? 0,
$d['sumber_dana'] ?? '',
$d['keterangan'] ?? '',
$user['id']
]);
jsonOk(['id' => $db->lastInsertId()], 'Data bantuan berhasil ditambahkan');
}
// ── DELETE: Hapus bantuan ────────────────────────────────────
if ($method === 'DELETE') {
requireEdit();
$id = getParam('id');
if (!$id) jsonError('ID bantuan wajib disertakan.');
$db->prepare("DELETE FROM histori_bantuan WHERE id = ?")->execute([$id]);
jsonOk(null, 'Data bantuan berhasil dihapus');
}
jsonError('Method tidak valid', 405);