From d863e463cb6ee3496bb32a718a9948153f832d58 Mon Sep 17 00:00:00 2001 From: Windows Store Date: Wed, 19 Aug 2026 15:33:55 +0330 Subject: [PATCH] feat: add the admin controller and update the model --- .../Controllers/Admin/AdminController.php | 56 +++++++++++++++++++ app/Http/Requests/Admins/AdminPostRequest.php | 1 + app/Models/Admin.php | 3 +- 3 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 app/Http/Controllers/Admin/AdminController.php diff --git a/app/Http/Controllers/Admin/AdminController.php b/app/Http/Controllers/Admin/AdminController.php new file mode 100644 index 0000000..b4f36c9 --- /dev/null +++ b/app/Http/Controllers/Admin/AdminController.php @@ -0,0 +1,56 @@ +select([ + 'id', + 'first_name', + 'last_name', + 'email', + ]) + ->when($request->search, function ($query) use ($request) { + $query->whereAny([ + 'first_name', + 'last_name', + 'email', + ], 'like', '%' . $request->search . '%'); + }) + ->latest() + ->paginate(2) + ->withQueryString(); + + return view('admin.admins.index', compact('admins')); + } + public function edit(Admin $admin) + { + return view('admin.admins.edit', compact('admin')); + } + + public function update(AdminEditPostRequest $request, Admin $admin) + { + $admin->update($request->validated()); + + return redirect() + ->route('admin.admins.index') + ->with('success', 'اطلاعات مدیر با موفقیت ویرایش شد.'); + } + public function destroy(Admin $admin) + { + $admin->delete(); + + return redirect() + ->route('admin.admins.index') + ->with('success', 'ادمین با موفقیت حذف شد.'); + } +} diff --git a/app/Http/Requests/Admins/AdminPostRequest.php b/app/Http/Requests/Admins/AdminPostRequest.php index 2f5571f..d7c3d2b 100644 --- a/app/Http/Requests/Admins/AdminPostRequest.php +++ b/app/Http/Requests/Admins/AdminPostRequest.php @@ -23,6 +23,7 @@ class AdminPostRequest extends FormRequest public function rules(): array { return [ + 'email' => [ 'required', 'email', diff --git a/app/Models/Admin.php b/app/Models/Admin.php index d8d0c14..92c9d90 100644 --- a/app/Models/Admin.php +++ b/app/Models/Admin.php @@ -9,7 +9,7 @@ namespace App\Models; use Carbon\Carbon; use Illuminate\Database\Eloquent\Model; use Illuminate\Foundation\Auth\User as Authenticatable; - +use Illuminate\Database\Eloquent\SoftDeletes; /** * Class Admin * @@ -26,6 +26,7 @@ use Illuminate\Foundation\Auth\User as Authenticatable; */ class Admin extends Authenticatable { + use SoftDeletes; protected $table = 'admins'; protected $hidden = [