Files
salam e687b4437b
linter / quality (push) Canceled after 0s
tests / ci (8.3) (push) Canceled after 0s
tests / ci (8.4) (push) Canceled after 0s
tests / ci (8.5) (push) Canceled after 0s
first commit
2026-10-06 18:53:03 +02:00

56 lines
1.4 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Http\Requests\StorePostRequest;
use App\Http\Requests\UpdatePostRequest;
use App\Models\Post;
use Illuminate\Http\RedirectResponse;
use Illuminate\Routing\Attributes\Controllers\Middleware;
use Inertia\Inertia;
use Inertia\Response;
#[Middleware('auth')]
class PostController extends Controller
{
public function index(): Response
{
return Inertia::render('posts/Index', [
'posts' => Post::query()->orderByDesc('id')->paginate(10),
]);
}
public function create(): Response
{
return Inertia::render('posts/Create');
}
public function store(StorePostRequest $request): RedirectResponse
{
Post::create($request->validated());
return to_route('posts.index')->with('success', 'Post created successfully.');
}
public function edit(Post $post): Response
{
return Inertia::render('posts/Edit', [
'post' => $post,
]);
}
public function update(UpdatePostRequest $request, Post $post): RedirectResponse
{
$post->update($request->validated());
return to_route('posts.index')->with('success', 'Post updated successfully.');
}
public function destroy(Post $post): RedirectResponse
{
$post->delete();
return to_route('posts.index')->with('success', 'Post deleted successfully.');
}
}