Skip to content

Commit 9353342

Browse files
committed
PR feedback pt 1
1 parent d1ba2b9 commit 9353342

File tree

1 file changed

+27
-6
lines changed

1 file changed

+27
-6
lines changed

coderd/audit.go

Lines changed: 27 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import (
1414

1515
"github.com/google/uuid"
1616
"github.com/tabbed/pqtype"
17+
"golang.org/x/xerrors"
1718

1819
"cdr.dev/slog"
1920
"github.com/coder/coder/coderd/database"
@@ -240,30 +241,50 @@ func (api *API) auditLogIsResourceDeleted(ctx context.Context, alog database.Get
240241
case database.ResourceTypeTemplate:
241242
template, err := api.Database.GetTemplateByID(ctx, alog.ResourceID)
242243
if err != nil {
243-
api.Logger.Error(ctx, "could not fetch template", slog.Error(err))
244+
if xerrors.Is(err, sql.ErrNoRows) {
245+
return true
246+
} else {
247+
api.Logger.Error(ctx, "fetch template", slog.Error(err))
248+
}
244249
}
245250
return template.Deleted
246251
case database.ResourceTypeUser:
247252
user, err := api.Database.GetUserByID(ctx, alog.ResourceID)
248253
if err != nil {
249-
api.Logger.Error(ctx, "could not fetch user", slog.Error(err))
254+
if xerrors.Is(err, sql.ErrNoRows) {
255+
return true
256+
} else {
257+
api.Logger.Error(ctx, "fetch user", slog.Error(err))
258+
}
250259
}
251260
return user.Deleted
252261
case database.ResourceTypeWorkspace:
253262
workspace, err := api.Database.GetWorkspaceByID(ctx, alog.ResourceID)
254263
if err != nil {
255-
api.Logger.Error(ctx, "could not fetch workspace", slog.Error(err))
264+
if xerrors.Is(err, sql.ErrNoRows) {
265+
return true
266+
} else {
267+
api.Logger.Error(ctx, "fetch workspace", slog.Error(err))
268+
}
256269
}
257270
return workspace.Deleted
258271
case database.ResourceTypeWorkspaceBuild:
259272
workspaceBuild, err := api.Database.GetWorkspaceBuildByID(ctx, alog.ResourceID)
260273
if err != nil {
261-
api.Logger.Error(ctx, "could not fetch workspace build", slog.Error(err))
274+
if xerrors.Is(err, sql.ErrNoRows) {
275+
return true
276+
} else {
277+
api.Logger.Error(ctx, "fetch workspace build", slog.Error(err))
278+
}
262279
}
263280
// We use workspace as a proxy for workspace build here
264281
workspace, err := api.Database.GetWorkspaceByID(ctx, workspaceBuild.WorkspaceID)
265282
if err != nil {
266-
api.Logger.Error(ctx, "could not fetch workspace", slog.Error(err))
283+
if xerrors.Is(err, sql.ErrNoRows) {
284+
return true
285+
} else {
286+
api.Logger.Error(ctx, "fetch workspace", slog.Error(err))
287+
}
267288
}
268289
return workspace.Deleted
269290
default:
@@ -296,7 +317,7 @@ func (api *API) auditLogResourceLink(ctx context.Context, alog database.GetAudit
296317
var additionalFields AdditionalFields
297318
err := json.Unmarshal(additionalFieldsBytes, &additionalFields)
298319
if err != nil {
299-
api.Logger.Error(ctx, "could not unmarshal workspace name", slog.Error(err))
320+
api.Logger.Error(ctx, "unmarshal workspace name", slog.Error(err))
300321
}
301322
return fmt.Sprintf("/@%s/%s/builds/%s",
302323
alog.UserUsername.String, additionalFields.WorkspaceName, additionalFields.BuildNumber)

0 commit comments

Comments
 (0)