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.
This commit is contained in:
Daeng Deni Mardaeni
2025-06-22 20:50:59 +07:00
parent c168634c3a
commit a2aabd51d6
4 changed files with 27 additions and 22 deletions

View File

@@ -17,7 +17,14 @@
public function __construct() 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() public function index()

View File

@@ -9,6 +9,7 @@
use Modules\Basicdata\Exports\CurrencyExport; use Modules\Basicdata\Exports\CurrencyExport;
use Modules\Basicdata\Http\Requests\CurrencyRequest; use Modules\Basicdata\Http\Requests\CurrencyRequest;
use Modules\Basicdata\Models\Currency; use Modules\Basicdata\Models\Currency;
use Illuminate\Support\Facades\Auth;
class CurrencyController extends Controller class CurrencyController extends Controller
{ {
@@ -16,7 +17,14 @@
public function __construct() 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() public function index()

View File

@@ -9,6 +9,7 @@
use Modules\Basicdata\Exports\HolidayCalendarExport; use Modules\Basicdata\Exports\HolidayCalendarExport;
use Modules\Basicdata\Http\Requests\HolidayCalendarRequest; use Modules\Basicdata\Http\Requests\HolidayCalendarRequest;
use Modules\Basicdata\Models\HolidayCalendar; use Modules\Basicdata\Models\HolidayCalendar;
use Illuminate\Support\Facades\Auth;
class HolidayCalendarController extends Controller class HolidayCalendarController extends Controller
{ {
@@ -16,7 +17,14 @@
public function __construct() 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() public function index()

View File

@@ -16,14 +16,10 @@
$data = $this->data(); $data = $this->data();
foreach ($data as $value) { foreach ($data as $value) {
$group = PermissionGroup::updateOrCreate([ PermissionGroup::updateOrCreate([
'name' => $value['name'], 'name' => $value['name'],
'slug' => Str::slug($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'] ['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;
}
} }