88 lines
2.2 KiB
PHP
88 lines
2.2 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Models\AcceptanceLetter;
|
|
use Illuminate\Http\Request;
|
|
|
|
class AcceptanceLetterController extends Controller
|
|
{
|
|
/**
|
|
* Menampilkan semua data Acceptance Letter (GET /acceptance_letters).
|
|
*/
|
|
public function index()
|
|
{
|
|
$letters = AcceptanceLetter::all();
|
|
return response()->json($letters);
|
|
}
|
|
|
|
/**
|
|
* Menyimpan data baru (POST /acceptance_letters).
|
|
*/
|
|
public function store(Request $request)
|
|
{
|
|
$request->validate([
|
|
'nomor_surat' => 'required',
|
|
'nama_mahasiswa' => 'required',
|
|
'nomor_induk_mahasiswa' => 'required',
|
|
'program_studi_mahasiswa' => 'required',
|
|
'tahun_ajaran' => 'required',
|
|
'start_date' => 'required|date',
|
|
]);
|
|
|
|
$letter = AcceptanceLetter::create($request->all());
|
|
|
|
return response()->json([
|
|
'message' => 'Acceptance Letter berhasil disimpan.',
|
|
'data' => $letter
|
|
], 201);
|
|
}
|
|
|
|
/**
|
|
* Menampilkan detail data (GET /acceptance_letters/{id}).
|
|
*/
|
|
public function show($id)
|
|
{
|
|
$letter = AcceptanceLetter::findOrFail($id);
|
|
return response()->json($letter);
|
|
}
|
|
|
|
/**
|
|
* Mengupdate data (PUT/PATCH /acceptance_letters/{id}).
|
|
*/
|
|
public function update(Request $request, $id)
|
|
{
|
|
$letter = AcceptanceLetter::findOrFail($id);
|
|
|
|
$request->validate([
|
|
'nomor_surat' => 'required',
|
|
'nama_mahasiswa' => 'required',
|
|
'nomor_induk_mahasiswa' => 'required',
|
|
'program_studi_mahasiswa' => 'required',
|
|
'tahun_ajaran' => 'required',
|
|
'start_date' => 'required|date',
|
|
'lampiran' => 'nullable'
|
|
]);
|
|
|
|
$letter->update($request->all());
|
|
|
|
return response()->json([
|
|
'message' => 'Acceptance Letter berhasil diupdate.',
|
|
'data' => $letter
|
|
]);
|
|
}
|
|
|
|
/**
|
|
* Menghapus data (DELETE /acceptance_letters/{id}).
|
|
*/
|
|
public function destroy($id)
|
|
{
|
|
$letter = AcceptanceLetter::findOrFail($id);
|
|
$letter->delete();
|
|
|
|
return response()->json([
|
|
'message' => 'Acceptance Letter berhasil dihapus.'
|
|
]);
|
|
}
|
|
}
|