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()
{
$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()

View File

@@ -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()

View File

@@ -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()

View File

@@ -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;
}
}