46 lines
1.2 KiB
PHP
46 lines
1.2 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace App\Http\Controllers\Dashboard;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use App\Http\Resources\MessageCollection;
|
|
use App\Http\Resources\MessageResource;
|
|
use App\Models\Message;
|
|
use Illuminate\Http\RedirectResponse;
|
|
use Inertia\Response as InertiaResponse;
|
|
|
|
class MessageController extends Controller
|
|
{
|
|
public function index() : InertiaResponse {
|
|
return inertia('Messages/Index', [
|
|
'messages' => new MessageCollection(Message::query()->orderByDesc('id')->get()),
|
|
]);
|
|
}
|
|
|
|
public function show(Message $message) : InertiaResponse
|
|
{
|
|
return inertia('Messages/Show', [
|
|
'message' => new MessageResource($message),
|
|
]);
|
|
}
|
|
|
|
public function delete(Message $message) : InertiaResponse
|
|
{
|
|
return inertia('Messages/ConfirmDelete', [
|
|
'message' => new MessageResource($message),
|
|
]);
|
|
}
|
|
|
|
public function destroy(Message $message) : RedirectResponse
|
|
{
|
|
$sender = $message->sender;
|
|
$message->delete();
|
|
|
|
return redirect()
|
|
->route('admin.message.index')
|
|
->with('info', 'Wiadomość od '. $sender .' została usunięta.');
|
|
}
|
|
}
|