1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
<?php
namespace App\Http\Controllers\CRUD;
use Illuminate\Http\Request;
use App\Models\Bhp;
use Illuminate\Support\Facades\Storage;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\File;
use Illuminate\Support\Facades\Validator;
class BhpController extends Controller
{
public function index()
{
$bhps = Bhp::all();
return response()->json($bhps);
}
public function store(Request $request)
{
$requestData = $request->all();
$fileName = time().$request->file('id_foto_bhp')->getClientOriginalName();
$path = $request->file('id_foto_bhp')->storeAs('bhp', $fileName, 'public');
$newpath = str_replace('bhp/', '', $path);
$requestData["id_foto_bhp"] = $newpath;
Bhp::create($requestData);
return response()->json(['message' => 'Bhp berhasil disimpan'], 201);
}
public function show($id)
{
$bhp = Bhp::find($id);
if ($bhp) {
return response()->json($bhp);
} else {
return response()->json(['message' => 'Bhp tidak ditemukan'], 404);
}
}
public function update(Request $request, $id)
{
$request->validate([
'nama_bhp' => 'required',
'tipe' => 'required',
'stok' => 'required|integer',
'no_inventaris' => 'required',
]);
$bhp = Bhp::find($id);
if (!$bhp) {
return response()->json(['message' => 'Bhp tidak ditemukan'], 404);
}
$bhp->update([
'nama_bhp' => $request->input('nama_bhp'),
'tipe' => $request->input('tipe'),
'stok' => $request->input('stok'),
'no_inventaris' => $request->input('no_inventaris'),
]);
if ($request->hasFile('id_foto_bhp')) {
$fileName = time().$request->file('id_foto_bhp')->getClientOriginalName();
$path = $request->file('id_foto_bhp')->storeAs('public/bhp', $fileName);
$newpath = str_replace('public/', '', $path);
$bhp->id_foto_bhp = $newpath;
$bhp->save();
}
return response()->json(['message' => 'Bhp berhasil diperbarui']);
}
public function destroy($id)
{
$bhp = Bhp::findOrFail($id);
if(File::exists($bhp->id_foto_bhp)){
File::delete($bhp->id_foto_bhp);
}
if (!$bhp) {
return response()->json(['message' => 'Bhp tidak ditemukan'], 404);
}
$bhp->delete();
return response()->json(['message' => 'Bhp berhasil dihapus']);
}
}