Files
compras/app/Services/RequisitionAuditTrail.php
2026-11-03 11:51:44 +02:00

28 lines
888 B
PHP

<?php
namespace App\Services;
use App\Models\AuditLog;
use App\Models\Requisition;
use Illuminate\Database\Eloquent\Builder;
/** Only metadata already displayed in the authorised requisition detail. */
class RequisitionAuditTrail
{
/** @return Builder<AuditLog> */
public function query(Requisition $request): Builder
{
return AuditLog::query()->where('tenant_id', $request->tenant_id)->where('requisition_id', $request->id)
->select(['id', 'action', 'user_id', 'created_at', 'after']);
}
/** @return array<string,mixed> */
public function row(AuditLog $record): array
{
$mode = $record->after['execution']['mode'] ?? null;
return ['id' => $record->id, 'action' => $record->action, 'user_id' => $record->user_id, 'created_at' => $record->created_at,
'execution' => is_string($mode) ? $mode : null];
}
}