diff --git a/coderd/database/dbfake/databasefake.go b/coderd/database/dbfake/databasefake.go index 45cf402a98ac3..1b8047e825210 100644 --- a/coderd/database/dbfake/databasefake.go +++ b/coderd/database/dbfake/databasefake.go @@ -936,7 +936,7 @@ func (q *fakeQuerier) GetAuthorizedWorkspaces(ctx context.Context, arg database. } if arg.TemplateName != "" { - template, err := q.GetTemplateByID(ctx, workspace.TemplateID) + template, err := q.getTemplateByIDNoLock(ctx, workspace.TemplateID) if err == nil && !strings.EqualFold(arg.TemplateName, template.Name) { continue } @@ -1617,10 +1617,14 @@ func (q *fakeQuerier) ParameterValues(_ context.Context, arg database.ParameterV return parameterValues, nil } -func (q *fakeQuerier) GetTemplateByID(_ context.Context, id uuid.UUID) (database.Template, error) { +func (q *fakeQuerier) GetTemplateByID(ctx context.Context, id uuid.UUID) (database.Template, error) { q.mutex.RLock() defer q.mutex.RUnlock() + return q.getTemplateByIDNoLock(ctx, id) +} + +func (q *fakeQuerier) getTemplateByIDNoLock(_ context.Context, id uuid.UUID) (database.Template, error) { for _, template := range q.templates { if template.ID == id { return template, nil