Files
lpj/app/Http/Controllers/LampiranDokumenController.php
Daeng Deni Mardaeni 33667ede21 feat(lampiran-dokumen): tambahkan fitur upload, download, dan delete lampiran dokumen
- Menambahkan controller LampiranDokumenController untuk mengelola lampiran dokumen.
- Menambahkan model LampiranDokumen untuk interaksi dengan tabel lampiran_dokumen.
- Membuat migrasi untuk tabel lampiran_dokumen dengan kolom yang diperlukan.
- Menambahkan rute untuk mengupload, mendownload, dan menghapus lampiran dokumen.
- Memperbarui tampilan detail-jaminan untuk menampilkan dan mengelola lampiran dokumen.
2025-03-09 10:49:51 +07:00

45 lines
1.5 KiB
PHP

<?php
namespace Modules\Lpj\Http\Controllers;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Storage;
use Modules\Lpj\Models\LampiranDokumen;
class LampiranDokumenController extends Controller
{
public function download($id)
{
$lampiran = LampiranDokumen::findOrFail($id);
return Storage::download($lampiran->path_file, $lampiran->nama_file);
}
public function upload(Request $request)
{
$request->validate([
'permohonan_id' => 'required|exists:permohonan,id',
'nama_file' => 'nullable|string|max:255',
'file' => 'required|file|max:10240',
'keterangan' => 'nullable|string|max:255',
]);
$lampiran = LampiranDokumen::uploadLampiran($request->all());
if ($lampiran) {
return response()->json(['message' => 'Lampiran uploaded successfully', 'data' => $lampiran]);
} else {
return response()->json(['message' => 'Unauthorized or upload failed'], 403);
}
}
public function delete(LampiranDokumen $lampiran)
{
if ($lampiran->deleteLampiran()) {
return response()->json(['message' => 'Lampiran deleted successfully']);
} else {
return response()->json(['message' => 'Unauthorized or delete failed'], 403);
}
}
}