Implement superadmin audit log for mutations
This commit is contained in:
@@ -5,6 +5,7 @@ namespace App\Filament\Clusters\DailyOps\Resources\Photos\Tables;
|
||||
use App\Models\Event;
|
||||
use App\Models\Photo;
|
||||
use App\Models\Tenant;
|
||||
use App\Services\Audit\SuperAdminAuditLogger;
|
||||
use Filament\Actions\Action;
|
||||
use Filament\Actions\BulkAction;
|
||||
use Filament\Actions\BulkActionGroup;
|
||||
@@ -208,6 +209,18 @@ class PhotosTable
|
||||
'moderated_at' => now(),
|
||||
'moderated_by' => Filament::auth()->id(),
|
||||
]);
|
||||
|
||||
app(SuperAdminAuditLogger::class)->record(
|
||||
'photo.'.$status,
|
||||
$record,
|
||||
SuperAdminAuditLogger::fieldsMetadata([
|
||||
'status',
|
||||
'moderation_notes',
|
||||
'moderated_at',
|
||||
'moderated_by',
|
||||
]),
|
||||
source: self::class
|
||||
);
|
||||
}
|
||||
|
||||
private static function applyModerationToRecords(Collection $records, string $status, ?string $notes): int
|
||||
@@ -215,7 +228,7 @@ class PhotosTable
|
||||
$moderatedAt = now();
|
||||
$moderatedBy = Filament::auth()->id();
|
||||
|
||||
return Photo::query()
|
||||
$updated = Photo::query()
|
||||
->whereIn('id', $records->pluck('id'))
|
||||
->where('status', 'pending')
|
||||
->update([
|
||||
@@ -224,6 +237,24 @@ class PhotosTable
|
||||
'moderated_at' => $moderatedAt,
|
||||
'moderated_by' => $moderatedBy,
|
||||
]);
|
||||
|
||||
$logger = app(SuperAdminAuditLogger::class);
|
||||
|
||||
foreach ($records as $record) {
|
||||
$logger->record(
|
||||
'photo.'.$status,
|
||||
$record,
|
||||
SuperAdminAuditLogger::fieldsMetadata([
|
||||
'status',
|
||||
'moderation_notes',
|
||||
'moderated_at',
|
||||
'moderated_by',
|
||||
]),
|
||||
source: self::class
|
||||
);
|
||||
}
|
||||
|
||||
return $updated;
|
||||
}
|
||||
|
||||
private static function statusLabels(): array
|
||||
|
||||
Reference in New Issue
Block a user