97 lines
2.7 KiB
PHP
97 lines
2.7 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Models\RiwayatPenyakit;
|
|
use Illuminate\Http\Request;
|
|
|
|
class RiwayatPenyakitController extends Controller
|
|
{
|
|
// Menampilkan semua riwayat penyakit untuk anak tertentu
|
|
public function index(Request $request)
|
|
{
|
|
$request->validate([
|
|
'anak_id' => 'required|exists:anak,id'
|
|
]);
|
|
|
|
$riwayatPenyakit = RiwayatPenyakit::where('anak_id', $request->anak_id)->get();
|
|
|
|
return response()->json([
|
|
'message' => 'Data riwayat penyakit berhasil diambil',
|
|
'data' => $riwayatPenyakit
|
|
], 200);
|
|
}
|
|
|
|
// Menyimpan riwayat penyakit baru
|
|
public function store(Request $request)
|
|
{
|
|
$request->validate([
|
|
'anak_id' => 'required|exists:anak,id',
|
|
'nama_penyakit' => 'required|string|max:255',
|
|
'tanggal_sakit' => 'required|date',
|
|
'deskripsi' => 'nullable|string',
|
|
'obat' => 'nullable|string',
|
|
]);
|
|
|
|
$riwayat = RiwayatPenyakit::create($request->all());
|
|
|
|
return response()->json([
|
|
'message' => 'Riwayat penyakit berhasil ditambahkan',
|
|
'data' => $riwayat
|
|
], 201);
|
|
}
|
|
|
|
// Menampilkan detail riwayat penyakit berdasarkan ID
|
|
public function show($id)
|
|
{
|
|
$riwayat = RiwayatPenyakit::find($id);
|
|
|
|
if (!$riwayat) {
|
|
return response()->json(['message' => 'Riwayat penyakit tidak ditemukan'], 404);
|
|
}
|
|
|
|
return response()->json([
|
|
'message' => 'Data riwayat penyakit ditemukan',
|
|
'data' => $riwayat
|
|
], 200);
|
|
}
|
|
|
|
// Mengupdate riwayat penyakit berdasarkan ID
|
|
public function update(Request $request, $id)
|
|
{
|
|
$request->validate([
|
|
'nama_penyakit' => 'sometimes|required|string|max:255',
|
|
'tanggal_sakit' => 'sometimes|required|date',
|
|
'deskripsi' => 'nullable|string',
|
|
'obat' => 'nullable|string',
|
|
]);
|
|
|
|
$riwayat = RiwayatPenyakit::find($id);
|
|
|
|
if (!$riwayat) {
|
|
return response()->json(['message' => 'Riwayat penyakit tidak ditemukan'], 404);
|
|
}
|
|
|
|
$riwayat->update($request->all());
|
|
|
|
return response()->json([
|
|
'message' => 'Riwayat penyakit berhasil diperbarui',
|
|
'data' => $riwayat
|
|
], 200);
|
|
}
|
|
|
|
// Menghapus riwayat penyakit berdasarkan ID
|
|
public function destroy($id)
|
|
{
|
|
$riwayat = RiwayatPenyakit::find($id);
|
|
|
|
if (!$riwayat) {
|
|
return response()->json(['message' => 'Riwayat penyakit tidak ditemukan'], 404);
|
|
}
|
|
|
|
$riwayat->delete();
|
|
|
|
return response()->json(['message' => 'Riwayat penyakit berhasil dihapus'], 200);
|
|
}
|
|
}
|