This commit is contained in:
Arief Dwi Wicaksono 2025-09-02 11:23:32 +07:00
parent eae9f9fd28
commit 43168c4273
5 changed files with 118 additions and 0 deletions

View File

@ -0,0 +1,69 @@
<?php
namespace App\Http\Controllers;
use App\Models\Fitur;
use Illuminate\Http\Request;
class FiturController extends Controller
{
// Menampilkan semua fitur
public function index()
{
$fiturs = Fitur::all();
return response()->json($fiturs);
}
// Menambah fitur baru
public function store(Request $request)
{
$request->validate([
'nama_fitur' => 'required|string|max:255',
]);
$fitur = Fitur::create([
'nama_fitur' => $request->nama_fitur,
]);
return response()->json([
'message' => 'Fitur berhasil ditambahkan',
'data' => $fitur,
]);
}
// Menampilkan detail fitur
public function show($id)
{
$fitur = Fitur::findOrFail($id);
return response()->json($fitur);
}
// Edit / update fitur
public function update(Request $request, $id)
{
$request->validate([
'nama_fitur' => 'required|string|max:255',
]);
$fitur = Fitur::findOrFail($id);
$fitur->update([
'nama_fitur' => $request->nama_fitur,
]);
return response()->json([
'message' => 'Fitur berhasil diperbarui',
'data' => $fitur,
]);
}
// Hapus fitur
public function destroy($id)
{
$fitur = Fitur::findOrFail($id);
$fitur->delete();
return response()->json([
'message' => 'Fitur berhasil dihapus',
]);
}
}

View File

@ -0,0 +1,15 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Fitur extends Model
{
use HasFactory;
protected $fillable = [
'nama_fitur',
];
}

View File

@ -0,0 +1,22 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
public function up(): void
{
Schema::create('fiturs', function (Blueprint $table) {
$table->id();
$table->string('nama_fitur');
$table->timestamps();
});
}
public function down(): void
{
Schema::dropIfExists('fiturs');
}
};

View File

@ -155,6 +155,13 @@
</a>
</li>
<li>
<a href="{{ route('admin.fitur.index') }}"
class="{{ request()->is('admin/fitur*') ? 'active' : '' }}">
<i class="bi bi-diagram-3"></i> Fitur
</a>
</li>
<li><a href="javascript:void(0)"><i class="bi bi-grid"></i> Fitur</a></li>
<!-- Dropdown dummy -->

View File

@ -46,3 +46,8 @@ Route::prefix('admin')->name('admin.')->middleware('auth:admin')->group(function
})->name('reviews.destroy');
});
use App\Http\Controllers\FiturController;
Route::resource('fitur', FiturController::class);