Commit 7638e705 authored by Ghani Albaba's avatar Ghani Albaba
Browse files

make crud and api

parent ab1665aa
Showing with 453 additions and 173 deletions
+453 -173
......@@ -22,39 +22,19 @@ class AlatController extends Controller
public function createAlatProcess(Request $request)
{
$validator = Validator::make($request->all(), [
'nama_alat' => 'required',
'tipe' => 'required',
'stok' => 'required',
'no_inventaris' => 'required',
'kondisi' => 'required',
'foto_alat' => 'required',
'id_jenis_alat' => 'required',
]);
if ($validator->fails()) {
return response()->json($validator->errors(), 400);
}
if ($request->hasFile('foto_alat')) {
$file = $request->file('foto_alat');
$uuid = (string) Str::uuid();
$extension = $file->getClientOriginalExtension();
$filename = $uuid . '.' . $extension;
$path = $file->storeAs('public/alat', $filename);
$newpath = $filename;
} else {
return response()->json([
'success' => false,
'message' => 'Foto alat tidak ditemukan'
], 400);
}
$alat = Alat::create([
'nama_alat' => $request->nama_alat,
'tipe' => $request->tipe,
'stok' => $request->stok,
'no_inventaris' => $request->no_inventaris,
'kondisi' => $request->kondisi,
'foto_alat' => $newpath,
'id_jenis_alat' => $request->id_jenis_alat,
]);
return response()->json(['message' => 'Alat berhasil ditambahkan']);
......@@ -77,12 +57,9 @@ class AlatController extends Controller
$db_alat = Alat::findOrFail($id);
$validator = Validator::make($request->all(), [
'nama_alat' => 'required',
'tipe' => 'required',
'stok' => 'required',
'no_inventaris' => 'required',
'kondisi' => 'required',
'foto_alat' => 'image',
'id_jenis_alat' => 'required',
]);
if ($validator->fails()) {
......@@ -90,27 +67,11 @@ class AlatController extends Controller
}
$data = [
'nama_alat' => $request->nama_alat,
'tipe' => $request->tipe,
'stok' => $request->stok,
'no_inventaris' => $request->no_inventaris,
'kondisi' => $request->kondisi,
'id_jenis_alat' => $request->id_jenis_alat,
];
if ($request->hasFile('foto_alat')) {
if (File::exists(public_path($db_alat->foto_alat))) {
File::delete(public_path($db_alat->foto_alat));
}
$file = $request->file('foto_alat');
$uuid = (string) Str::uuid();
$extension = $file->getClientOriginalExtension();
$filename = $uuid . '.' . $extension;
$path = $file->storeAs('public/alat', $filename);
$newpath = $filename;
$data['foto_alat'] = $newpath;
}
$db_alat->update($data);
return response()->json(['message' => 'Alat berhasil diupdate'], 200);
......@@ -119,9 +80,6 @@ class AlatController extends Controller
public function deleteAlat($id)
{
$alat = Alat::findOrFail($id);
if(File::exists($alat->foto_alat)){
File::delete($alat->foto_alat);
}
if (!$alat) {
return response()->json(['message' => 'Alat tidak ditemukan'], 404);
......
......@@ -13,52 +13,32 @@ use Illuminate\Support\Str;
class BhpController extends Controller
{
public function index()
public function showBhp()
{
$bhps = Bhp::all();
return response()->json($bhps);
}
public function store(Request $request)
public function createBhpProcess(Request $request)
{
$validator = Validator::make($request->all(), [
'nama_bhp' => 'required',
'tipe' => 'required',
'stok' => 'required',
'no_inventaris' => 'required',
'foto_bhp' => 'required',
'kondisi' => 'required',
'id_jenis_bhp' => 'required',
]);
if ($validator->fails()) {
return response()->json($validator->errors(), 400);
}
if ($request->hasFile('foto_bhp')) {
$file = $request->file('foto_bhp');
$uuid = (string) Str::uuid();
$extension = $file->getClientOriginalExtension();
$filename = $uuid . '.' . $extension;
$path = $file->storeAs('public/bhp', $filename);
$newpath = $filename;
} else {
return response()->json([
'success' => false,
'message' => 'Foto bhp tidak ditemukan'
], 400);
}
$bhp = Bhp::create([
'nama_bhp' => $request->nama_bhp,
'tipe' => $request->tipe,
'stok' => $request->stok,
'no_inventaris' => $request->no_inventaris,
'foto_bhp' => $newpath,
'kondisi' => $request->kondisi,
'id_jenis_bhp' => $request->id_jenis_bhp,
]);
return response()->json(['message' => 'Bhp berhasil ditambahkan']);
}
public function show($id)
public function editBhpForm($id)
{
$bhp = Bhp::find($id);
if ($bhp) {
......@@ -68,17 +48,14 @@ class BhpController extends Controller
}
}
public function update(Request $request, $id)
public function editBhpProcess(Request $request, $id)
{
$db_bhp = Bhp::findOrFail($id);
$validator = Validator::make($request->all(), [
'nama_bhp' => 'required',
'tipe' => 'required',
'stok' => 'required',
'no_inventaris' => 'required',
'foto_bhp' => 'image',
'kondisi' => 'required',
'id_jenis_bhp' => 'required',
]);
if ($validator->fails()) {
......@@ -86,38 +63,19 @@ class BhpController extends Controller
}
$data = [
'nama_bhp' => $request->nama_bhp,
'tipe' => $request->tipe,
'stok' => $request->stok,
'no_inventaris' => $request->no_inventaris,
'kondisi' => $request->kondisi,
'id_jenis_bhp' => $request->id_jenis_bhp,
];
if ($request->hasFile('foto_bhp')) {
if (File::exists(public_path($db_bhp->foto_bhp))) {
File::delete(public_path($db_bhp->foto_bhp));
}
$file = $request->file('foto_bhp');
$uuid = (string) Str::uuid();
$extension = $file->getClientOriginalExtension();
$filename = $uuid . '.' . $extension;
$path = $file->storeAs('public/bhp', $filename);
$newpath = $filename;
$data['foto_bhp'] = $newpath;
}
$db_bhp->update($data);
return response()->json(['message' => 'bhp berhasil diupdate'], 200);
}
public function destroy($id)
public function deleteBhp($id)
{
$bhp = Bhp::findOrFail($id);
if(File::exists($bhp->foto_bhp)){
File::delete($bhp->foto_bhp);
}
if (!$bhp) {
return response()->json(['message' => 'Bhp tidak ditemukan'], 404);
......
......@@ -2,10 +2,86 @@
namespace App\Http\Controllers\CRUD;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\Gedung;
use Illuminate\Support\Facades\Storage;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\File;
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Str;
class GedungController extends Controller
{
//
public function showGedung()
{
$gedung = Gedung::all();
return response()->json($gedung);
}
public function createGedungProcess(Request $request)
{
$validator = Validator::make($request->all(), [
'nama_gedung' => 'required',
'id_kampus' => 'required',
]);
if ($validator->fails()) {
return response()->json($validator->errors(), 400);
}
$gedung = Gedung::create([
'nama_gedung' => $request->nama_gedung,
'id_kampus' => $request->id_kampus,
]);
return response()->json(['message' => 'gedung berhasil ditambahkan']);
}
public function editGedungForm($id)
{
$gedung = Gedung::find($id);
if ($gedung) {
return response()->json($gedung);
} else {
return response()->json(['message' => 'gedung tidak ditemukan'], 404);
}
}
public function editGedungProcess(Request $request, $id)
{
$db_gedung = Gedung::findOrFail($id);
$validator = Validator::make($request->all(), [
'nama_gedung' => 'required',
'id_kampus' => 'required',
]);
if ($validator->fails()) {
return response()->json($validator->errors(), 400);
}
$data = [
'nama_gedung' => $request->nama_gedung,
'id_kampus' => $request->id_kampus,
];
$db_gedung->update($data);
return response()->json(['message' => 'gedung berhasil diupdate'], 200);
}
public function deleteGedung($id)
{
$gedung = Gedung::findOrFail($id);
if (!$gedung) {
return response()->json(['message' => 'gedung tidak ditemukan'], 404);
}
$gedung->delete();
return response()->json(['message' => 'gedung berhasil dihapus']);
}
}
......@@ -93,7 +93,6 @@ class JenisAlatController extends Controller
$db_alat->update($data);
if ($request->hasFile('foto_alat')) {
// Hapus foto lama jika diperlukan
// $db_alat->fotos()->delete();
$foto_alat = $request->file('foto_alat');
......
......@@ -2,10 +2,118 @@
namespace App\Http\Controllers\CRUD;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\JenisBhp;
use Illuminate\Support\Facades\Storage;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\File;
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Str;
class JenisBhpController extends Controller
{
//
public function showJenisBhp()
{
$jenis_bhp = JenisBhp::with('fotos')->get();
return response()->json($jenis_bhp);
}
public function createJenisBhpProcess(Request $request)
{
$validator = Validator::make($request->all(), [
'nama_bhp' => 'required',
'stok' => 'required',
]);
if ($validator->fails()) {
return response()->json($validator->errors(), 400);
}
$bhp = JenisBhp::create([
'nama_bhp' => $request->nama_bhp,
'stok' => $request->stok,
]);
if ($request->hasFile('foto_bhp')) {
$foto_bhp = $request->file('foto_bhp');
foreach ($foto_bhp as $foto) {
$uuid = Str::uuid()->toString();
$extension = $foto->getClientOriginalExtension();
$filename = $uuid . '.' . $extension;
$path = $foto->storeAs('public/bhp', $filename);
$bhp->fotos()->create([
'foto_path' => $filename,
]);
}
}
return response()->json(['message' => 'bhp berhasil ditambahkan']);
}
public function editJenisBhpForm($id)
{
$bhp = JenisBhp::find($id);
if ($bhp) {
return response()->json($bhp);
} else {
return response()->json(['message' => 'bhp tidak ditemukan'], 404);
}
}
public function editJenisBhpProcess(Request $request, $id)
{
$db_bhp = JenisBhp::findOrFail($id);
$validator = Validator::make($request->all(), [
'nama_bhp' => 'required',
'stok' => 'required',
]);
if ($validator->fails()) {
return response()->json($validator->errors(), 400);
}
$data = [
'nama_bhp' => $request->nama_bhp,
'stok' => $request->stok,
];
$db_bhp->update($data);
if ($request->hasFile('foto_bhp')) {
// $db_bhp->fotos()->delete();
$foto_bhp = $request->file('foto_bhp');
foreach ($foto_bhp as $foto) {
$uuid = Str::uuid()->toString();
$extension = $foto->getClientOriginalExtension();
$filename = $uuid . '.' . $extension;
$path = $foto->storeAs('public/bhp', $filename);
$db_bhp->fotos()->create([
'foto_path' => $filename,
]);
}
}
return response()->json(['message' => 'bhp berhasil diupdate'], 200);
}
public function deleteJenisBhp($id)
{
$bhp = JenisBhp::findOrFail($id);
if (!$bhp) {
return response()->json(['message' => 'bhp tidak ditemukan'], 404);
}
$bhp->delete();
return response()->json(['message' => 'bhp berhasil dihapus']);
}
}
......@@ -2,10 +2,86 @@
namespace App\Http\Controllers\CRUD;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\Kampus;
use Illuminate\Support\Facades\Storage;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\File;
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Str;
class KampusController extends Controller
{
//
}
public function showKampus()
{
$kampus = Kampus::all();
return response()->json($kampus);
}
public function createKampusProcess(Request $request)
{
$validator = Validator::make($request->all(), [
'nama_kampus' => 'required',
'alamat_kampus' => 'required',
]);
if ($validator->fails()) {
return response()->json($validator->errors(), 400);
}
$kampus = Kampus::create([
'nama_kampus' => $request->nama_kampus,
'alamat_kampus' => $request->alamat_kampus,
]);
return response()->json(['message' => 'kampus berhasil ditambahkan']);
}
public function editKampusForm($id)
{
$kampus = Kampus::find($id);
if ($kampus) {
return response()->json($kampus);
} else {
return response()->json(['message' => 'kampus tidak ditemukan'], 404);
}
}
public function editKampusProcess(Request $request, $id)
{
$db_kampus = Kampus::findOrFail($id);
$validator = Validator::make($request->all(), [
'nama_kampus' => 'required',
'alamat_kampus' => 'required',
]);
if ($validator->fails()) {
return response()->json($validator->errors(), 400);
}
$data = [
'nama_kampus' => $request->nama_kampus,
'alamat_kampus' => $request->alamat_kampus,
];
$db_kampus->update($data);
return response()->json(['message' => 'kampus berhasil diupdate'], 200);
}
public function deleteKampus($id)
{
$kampus = Kampus::findOrFail($id);
if (!$kampus) {
return response()->json(['message' => 'kampus tidak ditemukan'], 404);
}
$kampus->delete();
return response()->json(['message' => 'kampus berhasil dihapus']);
}
}
\ No newline at end of file
......@@ -2,10 +2,82 @@
namespace App\Http\Controllers\CRUD;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\Lantai;
use Illuminate\Support\Facades\Storage;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\File;
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Str;
class LantaiController extends Controller
{
//
}
public function showLantai()
{
$lantai = Lantai::all();
return response()->json($lantai);
}
public function createLantaiProcess(Request $request)
{
$validator = Validator::make($request->all(), [
'nama_lantai' => 'required',
]);
if ($validator->fails()) {
return response()->json($validator->errors(), 400);
}
$lantai = Lantai::create([
'nama_lantai' => $request->nama_lantai,
]);
return response()->json(['message' => 'lantai berhasil ditambahkan']);
}
public function editLantaiForm($id)
{
$lantai = Lantai::find($id);
if ($lantai) {
return response()->json($lantai);
} else {
return response()->json(['message' => 'lantai tidak ditemukan'], 404);
}
}
public function editLantaiProcess(Request $request, $id)
{
$db_lantai = Lantai::findOrFail($id);
$validator = Validator::make($request->all(), [
'nama_lantai' => 'required',
]);
if ($validator->fails()) {
return response()->json($validator->errors(), 400);
}
$data = [
'nama_lantai' => $request->nama_lantai,
];
$db_lantai->update($data);
return response()->json(['message' => 'lantai berhasil diupdate'], 200);
}
public function deleteLantai($id)
{
$lantai = Lantai::findOrFail($id);
if (!$lantai) {
return response()->json(['message' => 'lantai tidak ditemukan'], 404);
}
$lantai->delete();
return response()->json(['message' => 'lantai berhasil dihapus']);
}
}
\ No newline at end of file
......@@ -14,53 +14,56 @@ use Illuminate\Support\Str;
class RuangController extends Controller
{
public function index()
public function showRuang()
{
$ruangs = Ruang::all();
return response()->json($ruangs);
}
public function store(Request $request)
public function createRuangProcess(Request $request)
{
$validator = Validator::make($request->all(), [
'nama_ruang' => 'required',
'ketersediaan_ruang' => 'required',
'kapasitas' => 'required',
'fasilitas' => 'required',
'foto_ruang' => 'required',
'id_gedung' => 'required',
'id_lantai' => 'required',
'id_alat' => 'required',
]);
if ($validator->fails()) {
return response()->json($validator->errors(), 400);
}
if ($request->hasFile('foto_ruang')) {
$file = $request->file('foto_ruang');
$uuid = (string) Str::uuid();
$extension = $file->getClientOriginalExtension();
$filename = $uuid . '.' . $extension;
$path = $file->storeAs('public/ruang', $filename);
$newpath = $filename;
} else {
return response()->json([
'success' => false,
'message' => 'Foto ruang tidak ditemukan'
], 400);
}
$ruang = ruang::create([
'nama_ruang' => $request->nama_ruang,
'ketersediaan_ruang' => $request->ketersediaan_ruang,
'kapasitas' => $request->kapasitas,
'fasilitas' => $request->fasilitas,
'foto_ruang' => $newpath,
'id_gedung' => $request->id_gedung,
'id_lantai' => $request->id_lantai,
'id_alat' => $request->id_alat,
]);
if ($request->hasFile('foto_ruang')) {
$foto_ruang = $request->file('foto_ruang');
foreach ($foto_ruang as $foto) {
$uuid = Str::uuid()->toString();
$extension = $foto->getClientOriginalExtension();
$filename = $uuid . '.' . $extension;
$path = $foto->storeAs('public/ruang', $filename);
$ruang->fotos()->create([
'foto_path' => $filename,
]);
}
}
return response()->json(['message' => 'ruang berhasil ditambahkan']);
}
public function show($id)
public function editRuangForm($id)
{
$ruang = Ruang::find($id);
if ($ruang) {
......@@ -71,17 +74,18 @@ class RuangController extends Controller
}
public function update(Request $request, $id)
public function editRuangProcess(Request $request, $id)
{
$db_ruang = ruang::findOrFail($id);
$validator = Validator::make($request->all(), [
'nama_ruang' => 'required',
'ketersediaan_ruang' => 'required',
'kapasitas' => 'required',
'fasilitas' => 'required',
'foto_ruang' => 'image',
'id_gedung' => 'required',
'id_lantai' => 'required',
'id_alat' => 'required',
]);
if ($validator->fails()) {
......@@ -90,37 +94,39 @@ class RuangController extends Controller
$data = [
'nama_ruang' => $request->nama_ruang,
'ketersediaan_ruang' => $request->ketersediaan_ruang,
'kapasitas' => $request->kapasitas,
'fasilitas' => $request->fasilitas,
'id_gedung' => $request->id_gedung,
'id_lantai' => $request->id_lantai,
'id_alat' => $request->id_alat,
];
$db_ruang->update($data);
if ($request->hasFile('foto_ruang')) {
if (File::exists(public_path($db_ruang->foto_ruang))) {
File::delete(public_path($db_ruang->foto_ruang));
}
// $db_ruang->fotos()->delete();
$file = $request->file('foto_ruang');
$uuid = (string) Str::uuid();
$extension = $file->getClientOriginalExtension();
$filename = $uuid . '.' . $extension;
$path = $file->storeAs('public/ruang', $filename);
$newpath = $filename;
$data['foto_ruang'] = $newpath;
}
$foto_ruang = $request->file('foto_ruang');
$db_ruang->update($data);
foreach ($foto_ruang as $foto) {
$uuid = Str::uuid()->toString();
$extension = $foto->getClientOriginalExtension();
$filename = $uuid . '.' . $extension;
$path = $foto->storeAs('public/ruang', $filename);
$db_ruang->fotos()->create([
'foto_path' => $filename,
]);
}
}
return response()->json(['message' => 'ruang berhasil diupdate'], 200);
}
public function destroy($id)
public function deleteRuang($id)
{
$ruang = Ruang::findOrFail($id);
if(File::exists($ruang->foto_ruang)){
File::delete($ruang->foto_ruang);
}
if (!$ruang) {
return response()->json(['message' => 'Ruang tidak ditemukan'], 404);
......
......@@ -8,6 +8,9 @@ use App\Http\Controllers\CRUD\JenisAlatController;
use App\Http\Controllers\CRUD\JenisBhpController;
use App\Http\Controllers\CRUD\TipeController;
use App\Http\Controllers\CRUD\MerkController;
use App\Http\Controllers\CRUD\LantaiController;
use App\Http\Controllers\CRUD\GedungController;
use App\Http\Controllers\CRUD\KampusController;
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\Auth\MahasiswaLoginController;
......@@ -27,12 +30,12 @@ Route::post('/logout/mahasiswa', [MahasiswaLoginController::class, 'logout']);
//CRUD
// Routes Alat
Route::get('/alats', [AlatController::class, 'showAlat']);
Route::post('/alats/add_alats', [AlatController::class, 'createAlatProcess']);
Route::get('/alats/{id}', [AlatController::class, 'editAlatForm']);
Route::put('/alats/update/{id}', [AlatController::class, 'editAlatProcess']);
Route::delete('/alats/{id}', [AlatController::class, 'deleteAlat']);
// Alat
Route::get('/alat', [AlatController::class, 'showAlat']);
Route::post('/alat/add_alat', [AlatController::class, 'createAlatProcess']);
Route::get('/alat/{id}', [AlatController::class, 'editAlatForm']);
Route::put('/alat/update/{id}', [AlatController::class, 'editAlatProcess']);
Route::delete('/alat/{id}', [AlatController::class, 'deleteAlat']);
// Jenis Alat
Route::get('/jalat', [JenisAlatController::class, 'showJenisAlat']);
......@@ -55,25 +58,49 @@ Route::get('/merk/{id}', [MerkController::class, 'editMerkForm']);
Route::put('/merk/update/{id}', [MerkController::class, 'editMerkProcess']);
Route::delete('/merk/{id}', [MerkController::class, 'deleteMerk']);
// Bhp
Route::get('/bhp', [BhpController::class, 'showBhp']);
Route::post('/bhp/add_bhp', [BhpController::class, 'createBhpProcess']);
Route::get('/bhp/{id}', [BhpController::class, 'editBhpForm']);
Route::put('/bhp/update/{id}', [BhpController::class, 'editBhpProcess']);
Route::delete('/bhp/{id}', [BhpController::class, 'deleteBhp']);
// Routes Bhp
Route::get('/bhps', [BhpController::class, 'index']);
Route::get('/bhps/{id}', [BhpController::class, 'show']);
Route::post('/bhps/add_bhps', [BhpController::class, 'store']);
Route::put('/bhps/update/{id}', [BhpController::class, 'update']);
Route::delete('/bhps/{id}', [BhpController::class, 'destroy']);
// Jenis Bhp
Route::get('/jbhp', [JenisBhpController::class, 'showJenisBhp']);
Route::post('/jbhp/add_jbhp', [JenisBhpController::class, 'createJenisBhpProcess']);
Route::get('/jbhp/{id}', [JenisBhpController::class, 'editJenisBhpForm']);
Route::put('/jbhp/update/{id}', [JenisBhpController::class, 'editJenisBhpProcess']);
Route::delete('/jbhp/{id}', [JenisBhpController::class, 'deleteJenisBhp']);
// Ruang
Route::get('/ruangs', [RuangController::class, 'index']);
Route::get('/ruangs/{id}', [RuangController::class, 'show']);
Route::post('/ruangs/add_ruangs', [RuangController::class, 'store']);
Route::get('/ruangs/update/{id}', [RuangController::class, 'edit']);
Route::put('/ruangs/update/{id}', [RuangController::class, 'update']);
Route::get('/ruang', [RuangController::class, 'showRuang']);
Route::post('/ruang/add_ruang', [RuangController::class, 'createRuangProcess']);
Route::get('/ruang/{id}', [RuangController::class, 'editRuangForm']);
Route::put('/ruang/update/{id}', [RuangController::class, 'editRuangProcess']);
Route::delete('/ruang/{id}', [RuangController::class, 'deleteRuang']);
// Lantai
Route::get('/lantai', [LantaiController::class, 'showLantai']);
Route::post('/lantai/add_lantai', [LantaiController::class, 'createLantaiProcess']);
Route::get('/lantai/{id}', [LantaiController::class, 'editLantaiForm']);
Route::put('/lantai/update/{id}', [LantaiController::class, 'editLantaiProcess']);
Route::delete('/lantai/{id}', [LantaiController::class, 'deleteLantai']);
// Kampus
Route::get('/kampus', [KampusController::class, 'showKampus']);
Route::post('/kampus/add_kampus', [KampusController::class, 'createKampusProcess']);
Route::get('/kampus/{id}', [KampusController::class, 'editKampusForm']);
Route::put('/kampus/update/{id}', [KampusController::class, 'editKampusProcess']);
Route::delete('/kampus/{id}', [KampusController::class, 'deleteKampus']);
// Gedung
Route::get('/gedung', [GedungController::class, 'showGedung']);
Route::post('/gedung/add_gedung', [GedungController::class, 'createGedungProcess']);
Route::get('/gedung/{id}', [GedungController::class, 'editGedungForm']);
Route::put('/gedung/update/{id}', [GedungController::class, 'editGedungProcess']);
Route::delete('/gedung/{id}', [GedungController::class, 'deleteGedung']);
Route::delete('/ruangs/{id}', [RuangController::class, 'destroy']);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment