<?php

namespace App\Http\Controllers\Concerns;

use App\Models\AdminAuditLog;

trait LogsAdminActions
{
    protected function auditLog(string $action, ?object $target = null, array $meta = []): void
    {
        AdminAuditLog::create([
            'admin_id'    => auth()->id(),
            'action'      => $action,
            'target_type' => $target ? class_basename($target) : null,
            'target_id'   => $target?->id,
            'meta'        => $meta ?: null,
            'ip_address'  => request()->ip(),
        ]);
    }
}
