Skip to content

Commit ef9d63b

Browse files
committed
avoid initializing database.User struct with zero-valued fields
1 parent 47cc1c7 commit ef9d63b

File tree

1 file changed

+12
-7
lines changed

1 file changed

+12
-7
lines changed

coderd/workspaces.go

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -354,6 +354,15 @@ func (api *API) postWorkspacesByOrganization(rw http.ResponseWriter, r *http.Req
354354
return
355355
}
356356

357+
wsOwner, err := api.Database.GetUserByID(ctx, member.UserID)
358+
if err != nil {
359+
httpapi.Write(ctx, rw, http.StatusInternalServerError, codersdk.Response{
360+
Message: "Requested workspace owner %q does not exist.",
361+
Detail: err.Error(),
362+
})
363+
return
364+
}
365+
357366
var createWorkspace codersdk.CreateWorkspaceRequest
358367
if !httpapi.Read(ctx, rw, r, &createWorkspace) {
359368
return
@@ -522,7 +531,7 @@ func (api *API) postWorkspacesByOrganization(rw http.ResponseWriter, r *http.Req
522531
ID: uuid.New(),
523532
CreatedAt: now,
524533
UpdatedAt: now,
525-
OwnerID: member.UserID,
534+
OwnerID: wsOwner.ID,
526535
OrganizationID: template.OrganizationID,
527536
TemplateID: template.ID,
528537
Name: createWorkspace.Name,
@@ -590,9 +599,7 @@ func (api *API) postWorkspacesByOrganization(rw http.ResponseWriter, r *http.Req
590599
ProvisionerJob: *provisionerJob,
591600
QueuePosition: 0,
592601
},
593-
database.User{
594-
Username: member.Username,
595-
},
602+
wsOwner,
596603
[]database.WorkspaceResource{},
597604
[]database.WorkspaceResourceMetadatum{},
598605
[]database.WorkspaceAgent{},
@@ -614,9 +621,7 @@ func (api *API) postWorkspacesByOrganization(rw http.ResponseWriter, r *http.Req
614621
workspace,
615622
apiBuild,
616623
template,
617-
database.User{
618-
Username: member.Username,
619-
},
624+
wsOwner,
620625
api.Options.AllowWorkspaceRenames,
621626
)
622627
if err != nil {

0 commit comments

Comments
 (0)