Skip to content

Commit b424e48

Browse files
committed
use avatar URL from org member httpmw
1 parent e94a0e1 commit b424e48

File tree

3 files changed

+34
-28
lines changed

3 files changed

+34
-28
lines changed

coderd/workspacebuilds.go

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,8 @@ func (api *API) workspaceBuild(rw http.ResponseWriter, r *http.Request) {
8282
workspaceBuild,
8383
workspace,
8484
data.jobs[0],
85-
owner,
85+
owner.Username,
86+
owner.AvatarURL,
8687
data.resources,
8788
data.metadata,
8889
data.agents,
@@ -296,7 +297,8 @@ func (api *API) workspaceBuildByBuildNumber(rw http.ResponseWriter, r *http.Requ
296297
workspaceBuild,
297298
workspace,
298299
data.jobs[0],
299-
owner,
300+
owner.Username,
301+
owner.AvatarURL,
300302
data.resources,
301303
data.metadata,
302304
data.agents,
@@ -432,7 +434,8 @@ func (api *API) postWorkspaceBuilds(rw http.ResponseWriter, r *http.Request) {
432434
ProvisionerJob: *provisionerJob,
433435
QueuePosition: 0,
434436
},
435-
owner,
437+
owner.Username,
438+
owner.AvatarURL,
436439
[]database.WorkspaceResource{},
437440
[]database.WorkspaceResourceMetadatum{},
438441
[]database.WorkspaceAgent{},
@@ -842,7 +845,8 @@ func (api *API) convertWorkspaceBuilds(
842845
build,
843846
workspace,
844847
job,
845-
owner,
848+
owner.Username,
849+
owner.AvatarURL,
846850
workspaceResources,
847851
resourceMetadata,
848852
resourceAgents,
@@ -865,7 +869,7 @@ func (api *API) convertWorkspaceBuild(
865869
build database.WorkspaceBuild,
866870
workspace database.Workspace,
867871
job database.GetProvisionerJobsByIDsWithQueuePositionRow,
868-
owner database.User,
872+
username, avatarURL string,
869873
workspaceResources []database.WorkspaceResource,
870874
resourceMetadata []database.WorkspaceResourceMetadatum,
871875
resourceAgents []database.WorkspaceAgent,
@@ -909,7 +913,7 @@ func (api *API) convertWorkspaceBuild(
909913
scripts := scriptsByAgentID[agent.ID]
910914
logSources := logSourcesByAgentID[agent.ID]
911915
apiAgent, err := db2sdk.WorkspaceAgent(
912-
api.DERPMap(), *api.TailnetCoordinator.Load(), agent, db2sdk.Apps(apps, agent, owner.Username, workspace), convertScripts(scripts), convertLogSources(logSources), api.AgentInactiveDisconnectTimeout,
916+
api.DERPMap(), *api.TailnetCoordinator.Load(), agent, db2sdk.Apps(apps, agent, username, workspace), convertScripts(scripts), convertLogSources(logSources), api.AgentInactiveDisconnectTimeout,
913917
api.DeploymentValues.AgentFallbackTroubleshootingURL.String(),
914918
)
915919
if err != nil {
@@ -927,8 +931,8 @@ func (api *API) convertWorkspaceBuild(
927931
CreatedAt: build.CreatedAt,
928932
UpdatedAt: build.UpdatedAt,
929933
WorkspaceOwnerID: workspace.OwnerID,
930-
WorkspaceOwnerName: owner.Username,
931-
WorkspaceOwnerAvatarURL: owner.AvatarURL,
934+
WorkspaceOwnerName: username,
935+
WorkspaceOwnerAvatarURL: avatarURL,
932936
WorkspaceID: build.WorkspaceID,
933937
WorkspaceName: workspace.Name,
934938
TemplateVersionID: build.TemplateVersionID,

coderd/workspacebuilds_test.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,9 @@ func TestWorkspaceBuild(t *testing.T) {
5757
assert.Equal(t, logs[0].Ip.IPNet.IP.String(), "127.0.0.1") &&
5858
assert.Equal(t, logs[1].Ip.IPNet.IP.String(), "127.0.0.1")
5959
}, testutil.WaitShort, testutil.IntervalFast)
60+
wb, err := client.WorkspaceBuild(testutil.Context(t, testutil.WaitShort), workspace.LatestBuild.ID)
61+
require.NoError(t, err)
62+
require.NotEmpty(t, wb.WorkspaceOwnerName) // note: we sadly cannot set avatar URL through client.
6063
}
6164

6265
func TestWorkspaceBuildByBuildNumber(t *testing.T) {

coderd/workspaces.go

Lines changed: 19 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,8 @@ func (api *API) workspace(rw http.ResponseWriter, r *http.Request) {
108108
workspace,
109109
data.builds[0],
110110
data.templates[0],
111-
owner,
111+
owner.Username,
112+
owner.AvatarURL,
112113
api.Options.AllowWorkspaceRenames,
113114
)
114115
if err != nil {
@@ -294,7 +295,8 @@ func (api *API) workspaceByOwnerAndName(rw http.ResponseWriter, r *http.Request)
294295
workspace,
295296
data.builds[0],
296297
data.templates[0],
297-
owner,
298+
owner.Username,
299+
owner.AvatarURL,
298300
api.Options.AllowWorkspaceRenames,
299301
)
300302
if err != nil {
@@ -354,15 +356,6 @@ func (api *API) postWorkspacesByOrganization(rw http.ResponseWriter, r *http.Req
354356
return
355357
}
356358

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-
366359
var createWorkspace codersdk.CreateWorkspaceRequest
367360
if !httpapi.Read(ctx, rw, r, &createWorkspace) {
368361
return
@@ -531,7 +524,7 @@ func (api *API) postWorkspacesByOrganization(rw http.ResponseWriter, r *http.Req
531524
ID: uuid.New(),
532525
CreatedAt: now,
533526
UpdatedAt: now,
534-
OwnerID: wsOwner.ID,
527+
OwnerID: member.UserID,
535528
OrganizationID: template.OrganizationID,
536529
TemplateID: template.ID,
537530
Name: createWorkspace.Name,
@@ -599,7 +592,8 @@ func (api *API) postWorkspacesByOrganization(rw http.ResponseWriter, r *http.Req
599592
ProvisionerJob: *provisionerJob,
600593
QueuePosition: 0,
601594
},
602-
wsOwner,
595+
member.Username,
596+
member.AvatarURL,
603597
[]database.WorkspaceResource{},
604598
[]database.WorkspaceResourceMetadatum{},
605599
[]database.WorkspaceAgent{},
@@ -621,7 +615,8 @@ func (api *API) postWorkspacesByOrganization(rw http.ResponseWriter, r *http.Req
621615
workspace,
622616
apiBuild,
623617
template,
624-
wsOwner,
618+
member.Username,
619+
member.AvatarURL,
625620
api.Options.AllowWorkspaceRenames,
626621
)
627622
if err != nil {
@@ -971,7 +966,8 @@ func (api *API) putWorkspaceDormant(rw http.ResponseWriter, r *http.Request) {
971966
workspace,
972967
data.builds[0],
973968
data.templates[0],
974-
owner,
969+
owner.Username,
970+
owner.AvatarURL,
975971
api.Options.AllowWorkspaceRenames,
976972
)
977973
if err != nil {
@@ -1398,7 +1394,8 @@ func (api *API) watchWorkspace(rw http.ResponseWriter, r *http.Request) {
13981394
workspace,
13991395
data.builds[0],
14001396
data.templates[0],
1401-
owner,
1397+
owner.Username,
1398+
owner.AvatarURL,
14021399
api.Options.AllowWorkspaceRenames,
14031400
)
14041401
if err != nil {
@@ -1564,7 +1561,8 @@ func convertWorkspaces(requesterID uuid.UUID, workspaces []database.Workspace, d
15641561
workspace,
15651562
build,
15661563
template,
1567-
owner,
1564+
owner.Username,
1565+
owner.AvatarURL,
15681566
data.allowRenames,
15691567
)
15701568
if err != nil {
@@ -1581,7 +1579,8 @@ func convertWorkspace(
15811579
workspace database.Workspace,
15821580
workspaceBuild codersdk.WorkspaceBuild,
15831581
template database.Template,
1584-
owner database.User,
1582+
username string,
1583+
avatarURL string,
15851584
allowRenames bool,
15861585
) (codersdk.Workspace, error) {
15871586
if requesterID == uuid.Nil {
@@ -1621,8 +1620,8 @@ func convertWorkspace(
16211620
CreatedAt: workspace.CreatedAt,
16221621
UpdatedAt: workspace.UpdatedAt,
16231622
OwnerID: workspace.OwnerID,
1624-
OwnerName: owner.Username,
1625-
OwnerAvatarURL: owner.AvatarURL,
1623+
OwnerName: username,
1624+
OwnerAvatarURL: avatarURL,
16261625
OrganizationID: workspace.OrganizationID,
16271626
TemplateID: workspace.TemplateID,
16281627
LatestBuild: workspaceBuild,

0 commit comments

Comments
 (0)