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)