chore: include organization id in workspace build audit log (#9905)

* chore: include organization id in workspace build audit log
* rename 'BuildAudit' to 'WorkspaceBuildAudit'
This commit is contained in:
Steven Masley 2023-09-28 11:29:12 -05:00 committed by GitHub
parent 305556f655
commit 9e845213f5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 4 deletions

View File

@ -53,6 +53,7 @@ type BuildAuditParams[T Auditable] struct {
JobID uuid.UUID
Status int
Action database.AuditAction
OrganizationID uuid.UUID
AdditionalFields json.RawMessage
New T
@ -244,9 +245,9 @@ func InitRequest[T Auditable](w http.ResponseWriter, p *RequestParams) (*Request
}
}
// BuildAudit creates an audit log for a workspace build.
// WorkspaceBuildAudit creates an audit log for a workspace build.
// The audit log is committed upon invocation.
func BuildAudit[T Auditable](ctx context.Context, p *BuildAuditParams[T]) {
func WorkspaceBuildAudit[T Auditable](ctx context.Context, p *BuildAuditParams[T]) {
// As the audit request has not been initiated directly by a user, we omit
// certain user details.
ip := parseIP("")
@ -267,6 +268,7 @@ func BuildAudit[T Auditable](ctx context.Context, p *BuildAuditParams[T]) {
ID: uuid.New(),
Time: dbtime.Now(),
UserID: p.UserID,
OrganizationID: p.OrganizationID,
Ip: ip,
UserAgent: sql.NullString{},
ResourceType: either(p.Old, p.New, ResourceType[T], p.Action),

View File

@ -898,10 +898,11 @@ func (s *server) FailJob(ctx context.Context, failJob *proto.FailedJob) (*proto.
s.Logger.Error(ctx, "marshal workspace resource info for failed job", slog.Error(err))
}
audit.BuildAudit(ctx, &audit.BuildAuditParams[database.WorkspaceBuild]{
audit.WorkspaceBuildAudit(ctx, &audit.BuildAuditParams[database.WorkspaceBuild]{
Audit: *auditor,
Log: s.Logger,
UserID: job.InitiatorID,
OrganizationID: workspace.OrganizationID,
JobID: job.ID,
Action: auditAction,
Old: previousBuild,
@ -1236,10 +1237,11 @@ func (s *server) CompleteJob(ctx context.Context, completed *proto.CompletedJob)
s.Logger.Error(ctx, "marshal resource info for successful job", slog.Error(err))
}
audit.BuildAudit(ctx, &audit.BuildAuditParams[database.WorkspaceBuild]{
audit.WorkspaceBuildAudit(ctx, &audit.BuildAuditParams[database.WorkspaceBuild]{
Audit: *auditor,
Log: s.Logger,
UserID: job.InitiatorID,
OrganizationID: workspace.OrganizationID,
JobID: job.ID,
Action: auditAction,
Old: previousBuild,