Skip to content

Commit 90380f7

Browse files
chore: changes
1 parent 32adc00 commit 90380f7

File tree

1 file changed

+16
-11
lines changed

1 file changed

+16
-11
lines changed

coderd/workspacebuilds.go

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -385,7 +385,17 @@ func (api *API) postWorkspaceBuilds(rw http.ResponseWriter, r *http.Request) {
385385
},
386386
audit.WorkspaceBuildBaggageFromRequest(r),
387387
)
388-
return err
388+
if err != nil {
389+
return err
390+
}
391+
392+
// If this workspace build has a different template version ID to the previous build
393+
// we can assume it has just been updated.
394+
if createBuild.TemplateVersionID != uuid.Nil && createBuild.TemplateVersionID != previousWorkspaceBuild.TemplateVersionID {
395+
api.notifyWorkspaceUpdated(ctx, tx, apiKey.UserID, workspace, createBuild.RichParameterValues)
396+
}
397+
398+
return nil
389399
}, nil)
390400
var buildErr wsbuilder.BuildError
391401
if xerrors.As(err, &buildErr) {
@@ -443,12 +453,6 @@ func (api *API) postWorkspaceBuilds(rw http.ResponseWriter, r *http.Request) {
443453
return
444454
}
445455

446-
// If this workspace build has a different template version ID to the previous build
447-
// we can assume it has just been updated.
448-
if createBuild.TemplateVersionID != uuid.Nil && createBuild.TemplateVersionID != previousWorkspaceBuild.TemplateVersionID {
449-
api.notifyWorkspaceUpdated(ctx, apiKey.UserID, workspace, createBuild.RichParameterValues)
450-
}
451-
452456
api.publishWorkspaceUpdate(ctx, workspace.OwnerID, wspubsub.WorkspaceEvent{
453457
Kind: wspubsub.WorkspaceEventKindStateChange,
454458
WorkspaceID: workspace.ID,
@@ -459,31 +463,32 @@ func (api *API) postWorkspaceBuilds(rw http.ResponseWriter, r *http.Request) {
459463

460464
func (api *API) notifyWorkspaceUpdated(
461465
ctx context.Context,
466+
db database.Store,
462467
initiatorID uuid.UUID,
463468
workspace database.Workspace,
464469
parameters []codersdk.WorkspaceBuildParameter,
465470
) {
466471
log := api.Logger.With(slog.F("workspace_id", workspace.ID))
467472

468-
template, err := api.Database.GetTemplateByID(ctx, workspace.TemplateID)
473+
template, err := db.GetTemplateByID(ctx, workspace.TemplateID)
469474
if err != nil {
470475
log.Warn(ctx, "failed to fetch template for workspace creation notification", slog.F("template_id", workspace.TemplateID), slog.Error(err))
471476
return
472477
}
473478

474-
version, err := api.Database.GetTemplateVersionByID(ctx, template.ActiveVersionID)
479+
version, err := db.GetTemplateVersionByID(ctx, template.ActiveVersionID)
475480
if err != nil {
476481
log.Warn(ctx, "failed to fetch template version for workspace creation notification", slog.F("template_id", workspace.TemplateID), slog.Error(err))
477482
return
478483
}
479484

480-
initiator, err := api.Database.GetUserByID(ctx, initiatorID)
485+
initiator, err := db.GetUserByID(ctx, initiatorID)
481486
if err != nil {
482487
log.Warn(ctx, "failed to fetch user for workspace update notification", slog.F("initiator_id", initiatorID), slog.Error(err))
483488
return
484489
}
485490

486-
owner, err := api.Database.GetUserByID(ctx, workspace.OwnerID)
491+
owner, err := db.GetUserByID(ctx, workspace.OwnerID)
487492
if err != nil {
488493
log.Warn(ctx, "failed to fetch user for workspace update notification", slog.F("owner_id", workspace.OwnerID), slog.Error(err))
489494
return

0 commit comments

Comments
 (0)