Skip to content

Commit 96b07ac

Browse files
committed
chore: change audit type to include username
1 parent dff9a95 commit 96b07ac

File tree

4 files changed

+20
-7
lines changed

4 files changed

+20
-7
lines changed

coderd/audit/diff.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ type Auditable interface {
2323
database.OAuth2ProviderApp |
2424
database.OAuth2ProviderAppSecret |
2525
database.CustomRole |
26-
database.OrganizationMember
26+
database.AuditableOrganizationMember
2727
}
2828

2929
// Map is a map of changed fields in an audited resource. It maps field names to

coderd/audit/request.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -105,8 +105,8 @@ func ResourceTarget[T Auditable](tgt T) string {
105105
return typed.DisplaySecret
106106
case database.CustomRole:
107107
return typed.Name
108-
case database.OrganizationMember:
109-
return typed.UserID.String()
108+
case database.AuditableOrganizationMember:
109+
return typed.Username
110110
default:
111111
panic(fmt.Sprintf("unknown resource %T for ResourceTarget", tgt))
112112
}
@@ -146,7 +146,7 @@ func ResourceID[T Auditable](tgt T) uuid.UUID {
146146
return typed.ID
147147
case database.CustomRole:
148148
return typed.ID
149-
case database.OrganizationMember:
149+
case database.AuditableOrganizationMember:
150150
return typed.UserID
151151
default:
152152
panic(fmt.Sprintf("unknown resource %T for ResourceID", tgt))
@@ -185,7 +185,7 @@ func ResourceType[T Auditable](tgt T) database.ResourceType {
185185
return database.ResourceTypeOauth2ProviderAppSecret
186186
case database.CustomRole:
187187
return database.ResourceTypeCustomRole
188-
case database.OrganizationMember:
188+
case database.AuditableOrganizationMember:
189189
return database.ResourceTypeOrganizationMember
190190
default:
191191
panic(fmt.Sprintf("unknown resource %T for ResourceType", typed))
@@ -225,7 +225,7 @@ func ResourceRequiresOrgID[T Auditable]() bool {
225225
return false
226226
case database.CustomRole:
227227
return true
228-
case database.OrganizationMember:
228+
case database.AuditableOrganizationMember:
229229
return true
230230
default:
231231
panic(fmt.Sprintf("unknown resource %T for ResourceRequiresOrgID", tgt))

coderd/database/modelmethods.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,18 @@ func (s WorkspaceAgentStatus) Valid() bool {
6060
}
6161
}
6262

63+
type AuditableOrganizationMember struct {
64+
OrganizationMember
65+
Username string `json:"username"`
66+
}
67+
68+
func (m OrganizationMember) Auditable(username string) AuditableOrganizationMember {
69+
return AuditableOrganizationMember{
70+
OrganizationMember: m,
71+
Username: username,
72+
}
73+
}
74+
6375
type AuditableGroup struct {
6476
Group
6577
Members []GroupMember `json:"members"`

enterprise/audit/table.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,8 @@ type Table map[string]map[string]Action
5050
var AuditableResources = auditMap(auditableResourcesTypes)
5151

5252
var auditableResourcesTypes = map[any]map[string]Action{
53-
&database.OrganizationMember{}: {
53+
&database.AuditableOrganizationMember{}: {
54+
"username": ActionTrack,
5455
"user_id": ActionTrack,
5556
"organization_id": ActionTrack,
5657
"created_at": ActionTrack,

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy