Files
eatvio-infra/app/Http/Controllers/PlanController.php
2023-12-29 10:59:20 +03:00

47 lines
1.1 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Models\Plan;
use App\Models\User;
use Illuminate\Http\Request;
use Illuminate\Contracts\View\View;
use Illuminate\Contracts\View\Factory as ViewFactory;
class PlanController extends Controller
{
public function index(Request $request): View|ViewFactory
{
if ($request->has('author')) {
$author = $request->get('author');
$user = User::find($author);
$plans = $user ? $user->author_of_plans : [];
} else {
$plans = Plan::all();
}
return view('plan/index', ['plans' => $plans]);
}
public function create(): View|ViewFactory
{
return view('plan/edit_form');
}
public function show(Plan $plan): View|ViewFactory
{
$expiresAt = now()->addHours(24);
views($plan)
->cooldown($expiresAt)
->record();
return view('plan/show', ['plan' => $plan]);
}
public function edit(Plan $plan): View|ViewFactory
{
return view('plan/edit_form', ['plan' => $plan]);
}
}