First commit / commit pertama
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
<?php
|
||||
/**
|
||||
* api/bantuan.php — Status bantuan sosial per rumah tangga (KF-17).
|
||||
*
|
||||
* GET ?master=1 → daftar master jenis_bantuan
|
||||
* GET ?warga_id=ID → daftar bantuan untuk satu warga
|
||||
* POST {warga_id, jenis_bantuan_id, tgl_mulai, tgl_berakhir, is_aktif, keterangan}
|
||||
* DELETE ?id=ID
|
||||
*/
|
||||
require_once __DIR__ . '/../config/db.php';
|
||||
require_once __DIR__ . '/helpers.php';
|
||||
require_once __DIR__ . '/../config/activity.php';
|
||||
|
||||
$pdo = Database::getConnection();
|
||||
$method = $_SERVER['REQUEST_METHOD'];
|
||||
requireOperatorForMutation();
|
||||
|
||||
switch ($method) {
|
||||
case 'GET':
|
||||
if (isset($_GET['master'])) {
|
||||
sendSuccess($pdo->query("SELECT id, kode, nama, deskripsi FROM jenis_bantuan ORDER BY id")->fetchAll(), 'Jenis Bantuan');
|
||||
}
|
||||
$wargaId = $_GET['warga_id'] ?? null;
|
||||
if (!$wargaId) sendError('warga_id wajib');
|
||||
$stmt = $pdo->prepare("
|
||||
SELECT bs.id, bs.jenis_bantuan_id, jb.kode, jb.nama,
|
||||
bs.tgl_mulai, bs.tgl_berakhir, bs.is_aktif, bs.keterangan
|
||||
FROM bantuan_sosial bs
|
||||
JOIN jenis_bantuan jb ON jb.id = bs.jenis_bantuan_id
|
||||
WHERE bs.warga_id = ?
|
||||
ORDER BY bs.id DESC
|
||||
");
|
||||
$stmt->execute([$wargaId]);
|
||||
sendSuccess($stmt->fetchAll(), 'Bantuan warga');
|
||||
break;
|
||||
|
||||
case 'POST':
|
||||
$d = getInput();
|
||||
if (empty($d['warga_id']) || empty($d['jenis_bantuan_id'])) sendError('warga_id & jenis_bantuan_id wajib');
|
||||
$pdo->prepare("
|
||||
INSERT INTO bantuan_sosial (warga_id, jenis_bantuan_id, tgl_mulai, tgl_berakhir, is_aktif, keterangan)
|
||||
VALUES (?,?,?,?,?,?)
|
||||
")->execute([
|
||||
$d['warga_id'], $d['jenis_bantuan_id'],
|
||||
($d['tgl_mulai'] ?? '') ?: null, ($d['tgl_berakhir'] ?? '') ?: null,
|
||||
isset($d['is_aktif']) ? (int)$d['is_aktif'] : 1, ($d['keterangan'] ?? '') ?: null,
|
||||
]);
|
||||
$id = (int)$pdo->lastInsertId();
|
||||
logActivity($pdo, 'create', 'bantuan_sosial', $id, "Tambah bantuan warga #{$d['warga_id']}");
|
||||
sendSuccess(['id' => $id], 'Bantuan ditambahkan', 201);
|
||||
break;
|
||||
|
||||
case 'DELETE':
|
||||
$id = $_GET['id'] ?? null;
|
||||
if (!$id) sendError('ID wajib');
|
||||
$pdo->prepare("DELETE FROM bantuan_sosial WHERE id=?")->execute([$id]);
|
||||
logActivity($pdo, 'delete', 'bantuan_sosial', (int)$id, 'Hapus bantuan');
|
||||
sendSuccess(null, 'Bantuan dihapus');
|
||||
break;
|
||||
|
||||
default:
|
||||
sendError('Method not allowed', 405);
|
||||
}
|
||||
Reference in New Issue
Block a user