Skip to content

Commit ddc0dc0

Browse files
committed
added support for group, template, user links
1 parent b101417 commit ddc0dc0

File tree

2 files changed

+19
-18
lines changed

2 files changed

+19
-18
lines changed

coderd/audit.go

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -212,14 +212,12 @@ type AdditionalFields struct {
212212

213213
func (api *API) auditLogResourceLink(ctx context.Context, alog database.GetAuditLogsOffsetRow) string {
214214
switch alog.ResourceType {
215-
case database.ResourceTypeOrganization:
216-
return ""
217215
case database.ResourceTypeTemplate:
218-
return ""
219-
case database.ResourceTypeTemplateVersion:
220-
return ""
216+
return fmt.Sprintf("/templates/%s",
217+
alog.ResourceTarget)
221218
case database.ResourceTypeUser:
222-
return ""
219+
return fmt.Sprintf("/users?filter=%s",
220+
alog.ResourceTarget)
223221
case database.ResourceTypeWorkspace:
224222
return fmt.Sprintf("/@%s/%s",
225223
alog.UserUsername.String, alog.ResourceTarget)
@@ -232,12 +230,9 @@ func (api *API) auditLogResourceLink(ctx context.Context, alog database.GetAudit
232230
}
233231
return fmt.Sprintf("/@%s/%s/builds/%s",
234232
alog.UserUsername.String, additionalFields.WorkspaceName, additionalFields.BuildNumber)
235-
case database.ResourceTypeGitSshKey:
236-
return ""
237-
case database.ResourceTypeApiKey:
238-
return ""
239233
case database.ResourceTypeGroup:
240-
return ""
234+
return fmt.Sprintf("/groups/%s",
235+
alog.ResourceID)
241236
default:
242237
return ""
243238
}

site/src/components/AuditLogRow/AuditLogRow.tsx

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,17 @@ import { Link as RouterLink } from "react-router-dom"
1919
import i18next from "i18next"
2020
import Link from "@material-ui/core/Link"
2121

22-
const determineResourceLink = (auditLog: AuditLog): string => {
22+
const determineResourceLink = (auditLog: AuditLog): JSX.Element | undefined => {
2323
const { t } = i18next
24-
let linkTarget = auditLog.resource_target.trim()
24+
const linkTarget = auditLog.resource_target.trim()
2525

2626
if (auditLog.resource_type === "workspace_build") {
27-
linkTarget = t("auditLog:table.logRow.buildTarget")
27+
return <>{t("auditLog:table.logRow.buildTarget")}</>
28+
} else if (auditLog.resource_type === "git_ssh_key") {
29+
return
30+
} else {
31+
return <strong>{linkTarget}</strong>
2832
}
29-
30-
return linkTarget
3133
}
3234

3335
export const readableActionMessage = (auditLog: AuditLog): string => {
@@ -125,16 +127,20 @@ export const AuditLogRow: React.FC<AuditLogRowProps> = ({
125127
>
126128
<span>
127129
{readableActionMessage(auditLog)}{" "}
128-
{auditLog.resource_link && (
130+
{auditLog.resource_link ? (
129131
<Link component={RouterLink} to={auditLog.resource_link}>
130132
{determineResourceLink(auditLog)}
131133
</Link>
134+
) : (
135+
<strong>{determineResourceLink(auditLog)}</strong>
132136
)}
133137
{auditLog.resource_type === "workspace_build" &&
134138
auditLog.additional_fields.workspaceName && (
135139
<>
136140
{t("auditLog:table.logRow.buildFriendlyString")}
137-
{auditLog.additional_fields.workspaceName}
141+
<strong>
142+
{auditLog.additional_fields.workspaceName}
143+
</strong>
138144
</>
139145
)}
140146
</span>

0 commit comments

Comments
 (0)