From 7f981f05fb6400aee0bc2f90494bd714a128ce93 Mon Sep 17 00:00:00 2001 From: Owen Date: Wed, 22 Oct 2025 14:58:18 -0700 Subject: [PATCH] Show resource link in table for requests --- .../routers/auditLogs/queryRequstAuditLog.ts | 7 +++++-- server/routers/auditLogs/types.ts | 2 ++ .../[orgId]/settings/logs/request/page.tsx | 20 +++++++++++++++++-- 3 files changed, 25 insertions(+), 4 deletions(-) diff --git a/server/routers/auditLogs/queryRequstAuditLog.ts b/server/routers/auditLogs/queryRequstAuditLog.ts index 3f5d7f43..cadda1d7 100644 --- a/server/routers/auditLogs/queryRequstAuditLog.ts +++ b/server/routers/auditLogs/queryRequstAuditLog.ts @@ -1,4 +1,4 @@ -import { db, requestAuditLog } from "@server/db"; +import { db, requestAuditLog, resources } from "@server/db"; import { registry } from "@server/openApi"; import { NextFunction } from "express"; import { Request, Response } from "express"; @@ -68,9 +68,12 @@ export function querySites(timeStart: number, timeEnd: number, orgId: string) { host: requestAuditLog.host, path: requestAuditLog.path, method: requestAuditLog.method, - tls: requestAuditLog.tls, + tls: requestAuditLog.tls, + resourceName: resources.name, + resourceNiceId: resources.niceId }) .from(requestAuditLog) + .leftJoin(resources, eq(requestAuditLog.resourceId, resources.resourceId)) // TODO: Is this efficient? .where( and( gt(requestAuditLog.timestamp, timeStart), diff --git a/server/routers/auditLogs/types.ts b/server/routers/auditLogs/types.ts index f0b1a224..38617f44 100644 --- a/server/routers/auditLogs/types.ts +++ b/server/routers/auditLogs/types.ts @@ -24,6 +24,8 @@ export type QueryRequestAuditLogResponse = { actor: string | null; actorId: string | null; resourceId: number | null; + resourceNiceId: string | null; + resourceName: string | null; ip: string | null; location: string | null; userAgent: string | null; diff --git a/src/app/[orgId]/settings/logs/request/page.tsx b/src/app/[orgId]/settings/logs/request/page.tsx index de1a2099..3dba67d0 100644 --- a/src/app/[orgId]/settings/logs/request/page.tsx +++ b/src/app/[orgId]/settings/logs/request/page.tsx @@ -9,7 +9,8 @@ import { useTranslations } from "next-intl"; import { LogDataTable } from "@app/components/LogDataTable"; import { ColumnDef } from "@tanstack/react-table"; import { DateTimeValue } from "@app/components/DateTimePicker"; -import { Key, RouteOff, User, Lock, Unlock } from "lucide-react"; +import { Key, RouteOff, User, Lock, Unlock, ArrowUpRight } from "lucide-react"; +import Link from "next/link"; export default function GeneralPage() { const [isDeleteModalOpen, setIsDeleteModalOpen] = useState(false); @@ -294,7 +295,22 @@ export default function GeneralPage() { ); } }, - + { + accessorKey: "resourceName", + header: t("resource"), + cell: ({ row }) => { + return ( + + + + ); + } + }, { accessorKey: "host", header: ({ column }) => {