Files
law-api/app/Http/Controllers/Admin/SubscribePlanController.php

65 lines
1.8 KiB
PHP

<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use App\Http\Requests\admin\SubscribePlan\CreateRequest;
use App\Http\Requests\admin\SubscribePlan\UpdateRequest;
use App\Models\SubscribePlan;
use Illuminate\Http\Request;
class SubscribePlanController extends Controller
{
public function index(Request $request)
{
$query = SubscribePlan::query();
if ($request->filled('q')) {
$q = $request->q;
$query->where('name', 'like', "%{$q}%");
}
$perPage = min(max((int) $request->input('per_page', 15), 10), 100);
$subscribePlans = $query->paginate($perPage)->withQueryString();
return view('admin.subscribe-plans.index', compact('subscribePlans'));
}
public function create()
{
return view('admin.subscribe-plans.create');
}
public function store(CreateRequest $request)
{
$validated = $request->validated();
$validated['is_active'] = $request->has('is_active');
$validated['is_free'] = $request->has('is_free');
SubscribePlan::create($validated);
return redirect()->route('subscribe-plans.index');
}
public function edit(SubscribePlan $subscribePlan)
{
return view('admin.subscribe-plans.update', compact('subscribePlan'));
}
public function update(UpdateRequest $request, SubscribePlan $subscribePlan)
{
$validated = $request->validated();
$validated['is_active'] = $request->has('is_active');
$validated['is_free'] = $request->has('is_free');
$subscribePlan->update($validated);
return redirect()->route('subscribe-plans.index');
}
public function destroy(SubscribePlan $subscribePlan)
{
$subscribePlan->delete();
return redirect()->route('subscribe-plans.index');
}
}