first commit
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Http\Requests\Event\StoreRequest;
|
||||
use App\Http\Requests\Event\UpdateRequest;
|
||||
use App\Http\Resources\EventResource;
|
||||
use App\Models\Event;
|
||||
use Illuminate\Http\Request;
|
||||
use Inertia\Inertia;
|
||||
|
||||
class EventController extends Controller
|
||||
{
|
||||
public function index()
|
||||
{
|
||||
$events = EventResource::collection(Event::query()
|
||||
->when(request()->input('search'), function ($query, $search) {
|
||||
$query->where('title', 'like', "%{$search}%");
|
||||
})
|
||||
->orderBy('id', 'desc')
|
||||
->paginate(request()->input('perPage', 9))
|
||||
->withQueryString());
|
||||
$filters = [
|
||||
'search' => request()->input('search'),
|
||||
];
|
||||
return Inertia::render('AdminPanel/Posts/Index', compact('events', 'filters'));
|
||||
}
|
||||
|
||||
public function create()
|
||||
{
|
||||
return Inertia::render('AdminPanel/Posts/Create');
|
||||
}
|
||||
|
||||
public function store(StoreRequest $request)
|
||||
{
|
||||
$data = $request->validated();
|
||||
$data['content'] = json_encode($data['content']);
|
||||
Event::create($data);
|
||||
return redirect()->route('admin.event.index');
|
||||
}
|
||||
|
||||
public function edit(Event $event)
|
||||
{
|
||||
$event = new EventResource($event);
|
||||
return Inertia::render('AdminPanel/Posts/Edit', compact('event'));
|
||||
}
|
||||
|
||||
public function update(Event $event, UpdateRequest $request)
|
||||
{
|
||||
$data = $request->validated();
|
||||
$data['content'] = json_encode($data['content']);
|
||||
$event->update($data);
|
||||
return redirect()->route('admin.event.index');
|
||||
}
|
||||
|
||||
|
||||
public function destroy(Event $event)
|
||||
{
|
||||
$event->delete();
|
||||
return redirect()->route('admin.event.index');
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user