@@ -57,11 +57,11 @@ func New() database.Store {
57
57
workspaceResources : make ([]database.WorkspaceResource , 0 ),
58
58
workspaceResourceMetadata : make ([]database.WorkspaceResourceMetadatum , 0 ),
59
59
provisionerJobs : make ([]database.ProvisionerJob , 0 ),
60
- templateVersions : make ([]database.TemplateVersion , 0 ),
60
+ templateVersions : make ([]database.TemplateVersionTable , 0 ),
61
61
templates : make ([]database.TemplateTable , 0 ),
62
62
workspaceAgentStats : make ([]database.WorkspaceAgentStat , 0 ),
63
63
workspaceAgentLogs : make ([]database.WorkspaceAgentStartupLog , 0 ),
64
- workspaceBuilds : make ([]database.WorkspaceBuild , 0 ),
64
+ workspaceBuilds : make ([]database.WorkspaceBuildTable , 0 ),
65
65
workspaceApps : make ([]database.WorkspaceApp , 0 ),
66
66
workspaces : make ([]database.Workspace , 0 ),
67
67
licenses : make ([]database.License , 0 ),
@@ -127,15 +127,15 @@ type data struct {
127
127
provisionerJobLogs []database.ProvisionerJobLog
128
128
provisionerJobs []database.ProvisionerJob
129
129
replicas []database.Replica
130
- templateVersions []database.TemplateVersion
130
+ templateVersions []database.TemplateVersionTable
131
131
templateVersionParameters []database.TemplateVersionParameter
132
132
templateVersionVariables []database.TemplateVersionVariable
133
133
templates []database.TemplateTable
134
134
workspaceAgents []database.WorkspaceAgent
135
135
workspaceAgentMetadata []database.WorkspaceAgentMetadatum
136
136
workspaceAgentLogs []database.WorkspaceAgentStartupLog
137
137
workspaceApps []database.WorkspaceApp
138
- workspaceBuilds []database.WorkspaceBuild
138
+ workspaceBuilds []database.WorkspaceBuildTable
139
139
workspaceBuildParameters []database.WorkspaceBuildParameter
140
140
workspaceResourceMetadata []database.WorkspaceResourceMetadatum
141
141
workspaceResources []database.WorkspaceResource
@@ -404,7 +404,7 @@ func (q *FakeQuerier) getWorkspaceByAgentIDNoLock(_ context.Context, agentID uui
404
404
var build database.WorkspaceBuild
405
405
for _ , _build := range q .workspaceBuilds {
406
406
if _build .JobID == resource .JobID {
407
- build = _build
407
+ build = q . workspaceBuildWithUserNoLock ( _build )
408
408
break
409
409
}
410
410
}
@@ -424,7 +424,7 @@ func (q *FakeQuerier) getWorkspaceByAgentIDNoLock(_ context.Context, agentID uui
424
424
func (q * FakeQuerier ) getWorkspaceBuildByIDNoLock (_ context.Context , id uuid.UUID ) (database.WorkspaceBuild , error ) {
425
425
for _ , history := range q .workspaceBuilds {
426
426
if history .ID == id {
427
- return history , nil
427
+ return q . workspaceBuildWithUserNoLock ( history ) , nil
428
428
}
429
429
}
430
430
return database.WorkspaceBuild {}, sql .ErrNoRows
@@ -435,7 +435,7 @@ func (q *FakeQuerier) getLatestWorkspaceBuildByWorkspaceIDNoLock(_ context.Conte
435
435
var buildNum int32 = - 1
436
436
for _ , workspaceBuild := range q .workspaceBuilds {
437
437
if workspaceBuild .WorkspaceID == workspaceID && workspaceBuild .BuildNumber > buildNum {
438
- row = workspaceBuild
438
+ row = q . workspaceBuildWithUserNoLock ( workspaceBuild )
439
439
buildNum = workspaceBuild .BuildNumber
440
440
}
441
441
}
@@ -479,12 +479,46 @@ func (q *FakeQuerier) templateWithUserNoLock(tpl database.TemplateTable) databas
479
479
return withUser
480
480
}
481
481
482
+ func (q * FakeQuerier ) templateVersionWithUserNoLock (tpl database.TemplateVersionTable ) database.TemplateVersion {
483
+ var user database.User
484
+ for _ , _user := range q .users {
485
+ if _user .ID == tpl .CreatedBy {
486
+ user = _user
487
+ break
488
+ }
489
+ }
490
+ var withUser database.TemplateVersion
491
+ // This is a cheeky way to copy the fields over without explicitly listing them all.
492
+ d , _ := json .Marshal (tpl )
493
+ _ = json .Unmarshal (d , & withUser )
494
+ withUser .CreatedByUsername = user .Username
495
+ withUser .CreatedByAvatarURL = user .AvatarURL
496
+ return withUser
497
+ }
498
+
499
+ func (q * FakeQuerier ) workspaceBuildWithUserNoLock (tpl database.WorkspaceBuildTable ) database.WorkspaceBuild {
500
+ var user database.User
501
+ for _ , _user := range q .users {
502
+ if _user .ID == tpl .InitiatorID {
503
+ user = _user
504
+ break
505
+ }
506
+ }
507
+ var withUser database.WorkspaceBuild
508
+ // This is a cheeky way to copy the fields over without explicitly listing them all.
509
+ d , _ := json .Marshal (tpl )
510
+ _ = json .Unmarshal (d , & withUser )
511
+ withUser .InitiatorByUsername = user .Username
512
+ withUser .InitiatorByAvatarUrl = user .AvatarURL
513
+ return withUser
514
+ }
515
+
482
516
func (q * FakeQuerier ) getTemplateVersionByIDNoLock (_ context.Context , templateVersionID uuid.UUID ) (database.TemplateVersion , error ) {
483
517
for _ , templateVersion := range q .templateVersions {
484
518
if templateVersion .ID != templateVersionID {
485
519
continue
486
520
}
487
- return templateVersion , nil
521
+ return q . templateVersionWithUserNoLock ( templateVersion ) , nil
488
522
}
489
523
return database.TemplateVersion {}, sql .ErrNoRows
490
524
}
@@ -1370,7 +1404,7 @@ func (q *FakeQuerier) GetLatestWorkspaceBuilds(_ context.Context) ([]database.Wo
1370
1404
for _ , workspaceBuild := range q .workspaceBuilds {
1371
1405
id := workspaceBuild .WorkspaceID
1372
1406
if workspaceBuild .BuildNumber > buildNumbers [id ] {
1373
- builds [id ] = workspaceBuild
1407
+ builds [id ] = q . workspaceBuildWithUserNoLock ( workspaceBuild )
1374
1408
buildNumbers [id ] = workspaceBuild .BuildNumber
1375
1409
}
1376
1410
}
@@ -1396,7 +1430,7 @@ func (q *FakeQuerier) GetLatestWorkspaceBuildsByWorkspaceIDs(_ context.Context,
1396
1430
for _ , workspaceBuild := range q .workspaceBuilds {
1397
1431
for _ , id := range ids {
1398
1432
if id == workspaceBuild .WorkspaceID && workspaceBuild .BuildNumber > buildNumbers [id ] {
1399
- builds [id ] = workspaceBuild
1433
+ builds [id ] = q . workspaceBuildWithUserNoLock ( workspaceBuild )
1400
1434
buildNumbers [id ] = workspaceBuild .BuildNumber
1401
1435
}
1402
1436
}
@@ -1606,7 +1640,7 @@ func (q *FakeQuerier) GetPreviousTemplateVersion(_ context.Context, arg database
1606
1640
if templateVersion .OrganizationID != arg .OrganizationID {
1607
1641
continue
1608
1642
}
1609
- currentTemplateVersion = templateVersion
1643
+ currentTemplateVersion = q . templateVersionWithUserNoLock ( templateVersion )
1610
1644
break
1611
1645
}
1612
1646
@@ -1623,7 +1657,7 @@ func (q *FakeQuerier) GetPreviousTemplateVersion(_ context.Context, arg database
1623
1657
}
1624
1658
1625
1659
if templateVersion .CreatedAt .Before (currentTemplateVersion .CreatedAt ) {
1626
- previousTemplateVersions = append (previousTemplateVersions , templateVersion )
1660
+ previousTemplateVersions = append (previousTemplateVersions , q . templateVersionWithUserNoLock ( templateVersion ) )
1627
1661
}
1628
1662
}
1629
1663
@@ -1772,7 +1806,7 @@ func (q *FakeQuerier) GetQuotaConsumedForUser(_ context.Context, userID uuid.UUI
1772
1806
continue
1773
1807
}
1774
1808
1775
- var lastBuild database.WorkspaceBuild
1809
+ var lastBuild database.WorkspaceBuildTable
1776
1810
for _ , build := range q .workspaceBuilds {
1777
1811
if build .WorkspaceID != workspace .ID {
1778
1812
continue
@@ -1959,7 +1993,7 @@ func (q *FakeQuerier) GetTemplateVersionByJobID(_ context.Context, jobID uuid.UU
1959
1993
if templateVersion .JobID != jobID {
1960
1994
continue
1961
1995
}
1962
- return templateVersion , nil
1996
+ return q . templateVersionWithUserNoLock ( templateVersion ) , nil
1963
1997
}
1964
1998
return database.TemplateVersion {}, sql .ErrNoRows
1965
1999
}
@@ -1979,7 +2013,7 @@ func (q *FakeQuerier) GetTemplateVersionByTemplateIDAndName(_ context.Context, a
1979
2013
if ! strings .EqualFold (templateVersion .Name , arg .Name ) {
1980
2014
continue
1981
2015
}
1982
- return templateVersion , nil
2016
+ return q . templateVersionWithUserNoLock ( templateVersion ) , nil
1983
2017
}
1984
2018
return database.TemplateVersion {}, sql .ErrNoRows
1985
2019
}
@@ -2026,7 +2060,7 @@ func (q *FakeQuerier) GetTemplateVersionsByIDs(_ context.Context, ids []uuid.UUI
2026
2060
for _ , version := range q .templateVersions {
2027
2061
for _ , id := range ids {
2028
2062
if id == version .ID {
2029
- versions = append (versions , version )
2063
+ versions = append (versions , q . templateVersionWithUserNoLock ( version ) )
2030
2064
break
2031
2065
}
2032
2066
}
@@ -2050,7 +2084,7 @@ func (q *FakeQuerier) GetTemplateVersionsByTemplateID(_ context.Context, arg dat
2050
2084
if templateVersion .TemplateID .UUID != arg .TemplateID {
2051
2085
continue
2052
2086
}
2053
- version = append (version , templateVersion )
2087
+ version = append (version , q . templateVersionWithUserNoLock ( templateVersion ) )
2054
2088
}
2055
2089
2056
2090
// Database orders by created_at
@@ -2108,7 +2142,7 @@ func (q *FakeQuerier) GetTemplateVersionsCreatedAfter(_ context.Context, after t
2108
2142
versions := make ([]database.TemplateVersion , 0 )
2109
2143
for _ , version := range q .templateVersions {
2110
2144
if version .CreatedAt .After (after ) {
2111
- versions = append (versions , version )
2145
+ versions = append (versions , q . templateVersionWithUserNoLock ( version ) )
2112
2146
}
2113
2147
}
2114
2148
return versions , nil
@@ -2700,16 +2734,11 @@ func (q *FakeQuerier) GetWorkspaceBuildByID(ctx context.Context, id uuid.UUID) (
2700
2734
return q .getWorkspaceBuildByIDNoLock (ctx , id )
2701
2735
}
2702
2736
2703
- func (q * FakeQuerier ) GetWorkspaceBuildByJobID (_ context.Context , jobID uuid.UUID ) (database.WorkspaceBuild , error ) {
2737
+ func (q * FakeQuerier ) GetWorkspaceBuildByJobID (ctx context.Context , jobID uuid.UUID ) (database.WorkspaceBuild , error ) {
2704
2738
q .mutex .RLock ()
2705
2739
defer q .mutex .RUnlock ()
2706
2740
2707
- for _ , build := range q .workspaceBuilds {
2708
- if build .JobID == jobID {
2709
- return build , nil
2710
- }
2711
- }
2712
- return database.WorkspaceBuild {}, sql .ErrNoRows
2741
+ return q .getWorkspaceBuildByIDNoLock (ctx , jobID )
2713
2742
}
2714
2743
2715
2744
func (q * FakeQuerier ) GetWorkspaceBuildByWorkspaceIDAndBuildNumber (_ context.Context , arg database.GetWorkspaceBuildByWorkspaceIDAndBuildNumberParams ) (database.WorkspaceBuild , error ) {
@@ -2727,7 +2756,7 @@ func (q *FakeQuerier) GetWorkspaceBuildByWorkspaceIDAndBuildNumber(_ context.Con
2727
2756
if workspaceBuild .BuildNumber != arg .BuildNumber {
2728
2757
continue
2729
2758
}
2730
- return workspaceBuild , nil
2759
+ return q . workspaceBuildWithUserNoLock ( workspaceBuild ) , nil
2731
2760
}
2732
2761
return database.WorkspaceBuild {}, sql .ErrNoRows
2733
2762
}
@@ -2762,7 +2791,7 @@ func (q *FakeQuerier) GetWorkspaceBuildsByWorkspaceID(_ context.Context,
2762
2791
continue
2763
2792
}
2764
2793
if workspaceBuild .WorkspaceID == params .WorkspaceID {
2765
- history = append (history , workspaceBuild )
2794
+ history = append (history , q . workspaceBuildWithUserNoLock ( workspaceBuild ) )
2766
2795
}
2767
2796
}
2768
2797
@@ -2816,7 +2845,7 @@ func (q *FakeQuerier) GetWorkspaceBuildsCreatedAfter(_ context.Context, after ti
2816
2845
workspaceBuilds := make ([]database.WorkspaceBuild , 0 )
2817
2846
for _ , workspaceBuild := range q .workspaceBuilds {
2818
2847
if workspaceBuild .CreatedAt .After (after ) {
2819
- workspaceBuilds = append (workspaceBuilds , workspaceBuild )
2848
+ workspaceBuilds = append (workspaceBuilds , q . workspaceBuildWithUserNoLock ( workspaceBuild ) )
2820
2849
}
2821
2850
}
2822
2851
return workspaceBuilds , nil
@@ -3504,7 +3533,7 @@ func (q *FakeQuerier) InsertTemplateVersion(_ context.Context, arg database.Inse
3504
3533
defer q .mutex .Unlock ()
3505
3534
3506
3535
//nolint:gosimple
3507
- version := database.TemplateVersion {
3536
+ version := database.TemplateVersionTable {
3508
3537
ID : arg .ID ,
3509
3538
TemplateID : arg .TemplateID ,
3510
3539
OrganizationID : arg .OrganizationID ,
@@ -3856,7 +3885,7 @@ func (q *FakeQuerier) InsertWorkspaceBuild(_ context.Context, arg database.Inser
3856
3885
q .mutex .Lock ()
3857
3886
defer q .mutex .Unlock ()
3858
3887
3859
- workspaceBuild := database.WorkspaceBuild {
3888
+ workspaceBuild := database.WorkspaceBuildTable {
3860
3889
ID : arg .ID ,
3861
3890
CreatedAt : arg .CreatedAt ,
3862
3891
UpdatedAt : arg .UpdatedAt ,
0 commit comments