feat: enhance audit log display in OrganizationSettings by adding Log ID and improving actor identification with email fallback
This commit is contained in:
@@ -849,21 +849,25 @@ export default function OrganizationSettings() {
|
|||||||
<table className="w-full text-sm">
|
<table className="w-full text-sm">
|
||||||
<thead>
|
<thead>
|
||||||
<tr className="border-b border-neutral-200 dark:border-neutral-800 bg-neutral-50 dark:bg-neutral-800/50">
|
<tr className="border-b border-neutral-200 dark:border-neutral-800 bg-neutral-50 dark:bg-neutral-800/50">
|
||||||
|
<th className="text-left px-4 py-3 font-medium text-neutral-700 dark:text-neutral-300">Log ID</th>
|
||||||
<th className="text-left px-4 py-3 font-medium text-neutral-700 dark:text-neutral-300">Time</th>
|
<th className="text-left px-4 py-3 font-medium text-neutral-700 dark:text-neutral-300">Time</th>
|
||||||
<th className="text-left px-4 py-3 font-medium text-neutral-700 dark:text-neutral-300">Actor</th>
|
<th className="text-left px-4 py-3 font-medium text-neutral-700 dark:text-neutral-300">Actor</th>
|
||||||
<th className="text-left px-4 py-3 font-medium text-neutral-700 dark:text-neutral-300">Action</th>
|
<th className="text-left px-4 py-3 font-medium text-neutral-700 dark:text-neutral-300">Action</th>
|
||||||
<th className="text-left px-4 py-3 font-medium text-neutral-700 dark:text-neutral-300">Resource</th>
|
<th className="text-left px-4 py-3 font-medium text-neutral-700 dark:text-neutral-300">Resource</th>
|
||||||
<th className="text-left px-4 py-3 font-medium text-neutral-700 dark:text-neutral-300">ID</th>
|
<th className="text-left px-4 py-3 font-medium text-neutral-700 dark:text-neutral-300">Resource ID</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
{(auditEntries ?? []).map((entry) => (
|
{(auditEntries ?? []).map((entry) => (
|
||||||
<tr key={entry.id} className="border-b border-neutral-100 dark:border-neutral-800 hover:bg-neutral-50 dark:hover:bg-neutral-800/30">
|
<tr key={entry.id} className="border-b border-neutral-100 dark:border-neutral-800 hover:bg-neutral-50 dark:hover:bg-neutral-800/30">
|
||||||
|
<td className="px-4 py-3 text-neutral-500 dark:text-neutral-500 font-mono text-xs" title={entry.id}>
|
||||||
|
{entry.id.slice(0, 8)}…
|
||||||
|
</td>
|
||||||
<td className="px-4 py-3 text-neutral-600 dark:text-neutral-400 whitespace-nowrap">
|
<td className="px-4 py-3 text-neutral-600 dark:text-neutral-400 whitespace-nowrap">
|
||||||
{new Date(entry.occurred_at).toLocaleString()}
|
{new Date(entry.occurred_at).toLocaleString()}
|
||||||
</td>
|
</td>
|
||||||
<td className="px-4 py-3 text-neutral-900 dark:text-white">
|
<td className="px-4 py-3 text-neutral-900 dark:text-white">
|
||||||
{entry.actor_id ? entry.actor_id : 'System'}
|
{entry.actor_email || entry.actor_id || 'System'}
|
||||||
</td>
|
</td>
|
||||||
<td className="px-4 py-3 font-medium text-neutral-900 dark:text-white">{entry.action}</td>
|
<td className="px-4 py-3 font-medium text-neutral-900 dark:text-white">{entry.action}</td>
|
||||||
<td className="px-4 py-3 text-neutral-600 dark:text-neutral-400">{entry.resource_type}</td>
|
<td className="px-4 py-3 text-neutral-600 dark:text-neutral-400">{entry.resource_type}</td>
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ export interface AuditLogEntry {
|
|||||||
id: string
|
id: string
|
||||||
org_id: string
|
org_id: string
|
||||||
actor_id?: string
|
actor_id?: string
|
||||||
|
actor_email?: string
|
||||||
action: string
|
action: string
|
||||||
resource_type: string
|
resource_type: string
|
||||||
resource_id?: string
|
resource_id?: string
|
||||||
|
|||||||
Reference in New Issue
Block a user