From a2aabd51d68994762ddfc3be8d583227848597d5 Mon Sep 17 00:00:00 2001 From: Daeng Deni Mardaeni Date: Sun, 22 Jun 2025 20:50:59 +0700 Subject: [PATCH] refactor(basicdata): optimasi middleware autentikasi dan seeder perizinan - Mengoptimalkan middleware autentikasi di controller berikut: - `BranchController`, `CurrencyController`, dan `HolidayCalendarController`. - Mengganti penggunaan `Auth::guard('web')->user()` menjadi middleware `auth`. - Menambahkan middleware closure untuk menetapkan properti `$this->user` setelah middleware `auth`. - Penyesuaian pada semua pemanggilan terkait autentikasi pengguna untuk menggunakan `$this->user`. - Refaktor `PermissionSeeder`: - Menghapus metode `crudActions` beserta logika iterasi CRUD yang tidak digunakan. - Menyederhanakan proses seeding untuk model `PermissionGroup` dengan `updateOrCreate`. - Menghilangkan logika assignment izin dari seeder untuk mempercepat proses seeding. --- app/Http/Controllers/BranchController.php | 9 ++++++++- app/Http/Controllers/CurrencyController.php | 10 +++++++++- .../Controllers/HolidayCalendarController.php | 10 +++++++++- database/seeders/PermissionSeeder.php | 20 +------------------ 4 files changed, 27 insertions(+), 22 deletions(-) diff --git a/app/Http/Controllers/BranchController.php b/app/Http/Controllers/BranchController.php index 82d6a9a..65c6885 100644 --- a/app/Http/Controllers/BranchController.php +++ b/app/Http/Controllers/BranchController.php @@ -17,7 +17,14 @@ public function __construct() { - $this->user = Auth::guard('web')->user(); + // Mengatur middleware auth + $this->middleware('auth'); + + // Mengatur user setelah middleware auth dijalankan + $this->middleware(function ($request, $next) { + $this->user = Auth::user(); + return $next($request); + }); } public function index() diff --git a/app/Http/Controllers/CurrencyController.php b/app/Http/Controllers/CurrencyController.php index c9e87ea..1cdd1fb 100644 --- a/app/Http/Controllers/CurrencyController.php +++ b/app/Http/Controllers/CurrencyController.php @@ -9,6 +9,7 @@ use Modules\Basicdata\Exports\CurrencyExport; use Modules\Basicdata\Http\Requests\CurrencyRequest; use Modules\Basicdata\Models\Currency; + use Illuminate\Support\Facades\Auth; class CurrencyController extends Controller { @@ -16,7 +17,14 @@ public function __construct() { - $this->user = Auth::guard('web')->user(); + // Mengatur middleware auth + $this->middleware('auth'); + + // Mengatur user setelah middleware auth dijalankan + $this->middleware(function ($request, $next) { + $this->user = Auth::user(); + return $next($request); + }); } public function index() diff --git a/app/Http/Controllers/HolidayCalendarController.php b/app/Http/Controllers/HolidayCalendarController.php index 5998ac4..01e5b26 100644 --- a/app/Http/Controllers/HolidayCalendarController.php +++ b/app/Http/Controllers/HolidayCalendarController.php @@ -9,6 +9,7 @@ use Modules\Basicdata\Exports\HolidayCalendarExport; use Modules\Basicdata\Http\Requests\HolidayCalendarRequest; use Modules\Basicdata\Models\HolidayCalendar; + use Illuminate\Support\Facades\Auth; class HolidayCalendarController extends Controller { @@ -16,7 +17,14 @@ public function __construct() { - $this->user = Auth::guard('web')->user(); + // Mengatur middleware auth + $this->middleware('auth'); + + // Mengatur user setelah middleware auth dijalankan + $this->middleware(function ($request, $next) { + $this->user = Auth::user(); + return $next($request); + }); } public function index() diff --git a/database/seeders/PermissionSeeder.php b/database/seeders/PermissionSeeder.php index 4d6c1fc..8ce9983 100644 --- a/database/seeders/PermissionSeeder.php +++ b/database/seeders/PermissionSeeder.php @@ -16,14 +16,10 @@ $data = $this->data(); foreach ($data as $value) { - $group = PermissionGroup::updateOrCreate([ + PermissionGroup::updateOrCreate([ 'name' => $value['name'], 'slug' => Str::slug($value['name']) ]); - - foreach ($this->crudActions($group->name) as $action) { - $data[] = ['name' => $action, 'group' => $group->id]; - } } } @@ -33,18 +29,4 @@ ['name' => 'basic-data'] ]; } - - public function crudActions($name) - { - $actions = []; - // list of permission actions - $crud = ['create', 'read', 'update', 'delete','export', 'authorize', 'report','restore']; - - - foreach ($crud as $value) { - $actions[] = $name . '.' . $value; - } - - return $actions; - } }