feat(logs): optimalkan middleware dan seeder izin log

- Memperbarui `AuditLogsController`:
  - Menambahkan middleware `auth` untuk melindungi akses kontrol.
  - Menggunakan closure pada middleware untuk menetapkan properti `$user` setelah otentikasi berhasil.
- Memperbarui `SystemLogsController`:
  - Menambahkan middleware `auth` untuk melindungi akses kontrol sistem log.
  - Menggunakan closure pada middleware untuk menetapkan properti `$user` setelah otentikasi berhasil.
- Memperbarui `PermissionSeeder`:
  - Menghapus logika pembuatan izin `crudActions` agar kode lebih sederhana dan efisien.
  - Menghapus metode `crudActions` untuk tindakan CRUD spesifik.
  - Menyederhanakan pembuatan grup izin hanya menggunakan daftar utama (`audit-logs`, `system-logs`).
This commit is contained in:
Daeng Deni Mardaeni
2025-06-22 20:54:51 +07:00
parent cf120c035e
commit db364c5877
3 changed files with 19 additions and 21 deletions

View File

@@ -6,6 +6,7 @@
use Illuminate\Http\Request;
use Modules\Usermanagement\Models\User;
use Spatie\Activitylog\Models\Activity;
use Illuminate\Support\Facades\Auth;
class AuditLogsController extends Controller
{
@@ -13,7 +14,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);
});
}
/**

View File

@@ -6,6 +6,7 @@ use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Jackiedo\LogReader\Exceptions\UnableToRetrieveLogFilesException;
use Jackiedo\LogReader\LogReader;
use Illuminate\Support\Facades\Auth;
class SystemLogsController extends Controller
{
@@ -15,7 +16,14 @@ class SystemLogsController extends Controller
public function __construct(LogReader $reader)
{
$this->reader = $reader;
$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);
});
}
/**

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];
}
}
}
@@ -34,18 +30,4 @@
['name' => 'audit-logs'],
];
}
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;
}
}