mirror of
https://github.com/coder/coder.git
synced 2026-09-24 15:04:27 +08:00
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:
@@ -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),
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user