@@ -476,63 +476,63 @@ func (q *fakeQuerier) GetWorkspaceOwnerCountsByTemplateIDs(_ context.Context, te
476476return res ,nil
477477}
478478
479- func (q * fakeQuerier )GetWorkspaceBuildByID (_ context.Context ,id uuid.UUID ) (database.WorkspaceBuild ,error ) {
479+ func (q * fakeQuerier )GetWorkspaceBuildByID (_ context.Context ,id uuid.UUID ) (database.WorkspaceBuildsWithInitiator ,error ) {
480480q .mutex .RLock ()
481481defer q .mutex .RUnlock ()
482482
483483for _ ,history := range q .workspaceBuilds {
484484if history .ID .String ()== id .String () {
485- return history ,nil
485+ return q . workspaceBuildWithInitiator ( history ) ,nil
486486}
487487}
488- return database.WorkspaceBuild {},sql .ErrNoRows
488+ return database.WorkspaceBuildsWithInitiator {},sql .ErrNoRows
489489}
490490
491- func (q * fakeQuerier )GetWorkspaceBuildByJobID (_ context.Context ,jobID uuid.UUID ) (database.WorkspaceBuild ,error ) {
491+ func (q * fakeQuerier )GetWorkspaceBuildByJobID (_ context.Context ,jobID uuid.UUID ) (database.WorkspaceBuildsWithInitiator ,error ) {
492492q .mutex .RLock ()
493493defer q .mutex .RUnlock ()
494494
495495for _ ,build := range q .workspaceBuilds {
496496if build .JobID .String ()== jobID .String () {
497- return build ,nil
497+ return q . workspaceBuildWithInitiator ( build ) ,nil
498498}
499499}
500- return database.WorkspaceBuild {},sql .ErrNoRows
500+ return database.WorkspaceBuildsWithInitiator {},sql .ErrNoRows
501501}
502502
503- func (q * fakeQuerier )GetLatestWorkspaceBuildByWorkspaceID (_ context.Context ,workspaceID uuid.UUID ) (database.WorkspaceBuild ,error ) {
503+ func (q * fakeQuerier )GetLatestWorkspaceBuildByWorkspaceID (_ context.Context ,workspaceID uuid.UUID ) (database.WorkspaceBuildsWithInitiator ,error ) {
504504q .mutex .RLock ()
505505defer q .mutex .RUnlock ()
506506
507- var row database.WorkspaceBuild
507+ var row database.WorkspaceBuildsWithInitiator
508508var buildNum int32
509509for _ ,workspaceBuild := range q .workspaceBuilds {
510510if workspaceBuild .WorkspaceID .String ()== workspaceID .String ()&& workspaceBuild .BuildNumber > buildNum {
511- row = workspaceBuild
511+ row = q . workspaceBuildWithInitiator ( workspaceBuild )
512512buildNum = workspaceBuild .BuildNumber
513513}
514514}
515515if buildNum == 0 {
516- return database.WorkspaceBuild {},sql .ErrNoRows
516+ return database.WorkspaceBuildsWithInitiator {},sql .ErrNoRows
517517}
518518return row ,nil
519519}
520520
521- func (q * fakeQuerier )GetLatestWorkspaceBuildsByWorkspaceIDs (_ context.Context ,ids []uuid.UUID ) ([]database.WorkspaceBuild ,error ) {
521+ func (q * fakeQuerier )GetLatestWorkspaceBuildsByWorkspaceIDs (_ context.Context ,ids []uuid.UUID ) ([]database.WorkspaceBuildsWithInitiator ,error ) {
522522q .mutex .RLock ()
523523defer q .mutex .RUnlock ()
524524
525- builds := make (map [uuid.UUID ]database.WorkspaceBuild )
525+ builds := make (map [uuid.UUID ]database.WorkspaceBuildsWithInitiator )
526526buildNumbers := make (map [uuid.UUID ]int32 )
527527for _ ,workspaceBuild := range q .workspaceBuilds {
528528for _ ,id := range ids {
529529if id .String ()== workspaceBuild .WorkspaceID .String ()&& workspaceBuild .BuildNumber > buildNumbers [id ] {
530- builds [id ]= workspaceBuild
530+ builds [id ]= q . workspaceBuildWithInitiator ( workspaceBuild )
531531buildNumbers [id ]= workspaceBuild .BuildNumber
532532}
533533}
534534}
535- var returnBuilds []database.WorkspaceBuild
535+ var returnBuilds []database.WorkspaceBuildsWithInitiator
536536for i ,n := range buildNumbers {
537537if n > 0 {
538538b := builds [i ]
@@ -546,19 +546,19 @@ func (q *fakeQuerier) GetLatestWorkspaceBuildsByWorkspaceIDs(_ context.Context,
546546}
547547
548548func (q * fakeQuerier )GetWorkspaceBuildByWorkspaceID (_ context.Context ,
549- params database.GetWorkspaceBuildByWorkspaceIDParams ) ([]database.WorkspaceBuild ,error ) {
549+ params database.GetWorkspaceBuildByWorkspaceIDParams ) ([]database.WorkspaceBuildsWithInitiator ,error ) {
550550q .mutex .RLock ()
551551defer q .mutex .RUnlock ()
552552
553- history := make ([]database.WorkspaceBuild ,0 )
553+ history := make ([]database.WorkspaceBuildsWithInitiator ,0 )
554554for _ ,workspaceBuild := range q .workspaceBuilds {
555555if workspaceBuild .WorkspaceID .String ()== params .WorkspaceID .String () {
556- history = append (history ,workspaceBuild )
556+ history = append (history ,q . workspaceBuildWithInitiator ( workspaceBuild ) )
557557}
558558}
559559
560560// Order by build_number
561- slices .SortFunc (history ,func (a ,b database.WorkspaceBuild )bool {
561+ slices .SortFunc (history ,func (a ,b database.WorkspaceBuildsWithInitiator )bool {
562562// use greater than since we want descending order
563563return a .BuildNumber > b .BuildNumber
564564})
@@ -600,7 +600,7 @@ func (q *fakeQuerier) GetWorkspaceBuildByWorkspaceID(_ context.Context,
600600return history ,nil
601601}
602602
603- func (q * fakeQuerier )GetWorkspaceBuildByWorkspaceIDAndName (_ context.Context ,arg database.GetWorkspaceBuildByWorkspaceIDAndNameParams ) (database.WorkspaceBuild ,error ) {
603+ func (q * fakeQuerier )GetWorkspaceBuildByWorkspaceIDAndName (_ context.Context ,arg database.GetWorkspaceBuildByWorkspaceIDAndNameParams ) (database.WorkspaceBuildsWithInitiator ,error ) {
604604q .mutex .RLock ()
605605defer q .mutex .RUnlock ()
606606
@@ -611,9 +611,33 @@ func (q *fakeQuerier) GetWorkspaceBuildByWorkspaceIDAndName(_ context.Context, a
611611if ! strings .EqualFold (workspaceBuild .Name ,arg .Name ) {
612612continue
613613}
614- return workspaceBuild ,nil
614+
615+ return q .workspaceBuildWithInitiator (workspaceBuild ),nil
616+ }
617+ return database.WorkspaceBuildsWithInitiator {},sql .ErrNoRows
618+ }
619+
620+ func (q * fakeQuerier )workspaceBuildWithInitiator (build database.WorkspaceBuild ) database.WorkspaceBuildsWithInitiator {
621+ username := "unknown"
622+ usr ,err := q .GetUserByID (context .Background (),build .InitiatorID )
623+ if err == nil {
624+ username = usr .Username
625+ }
626+ return database.WorkspaceBuildsWithInitiator {
627+ ID :build .ID ,
628+ CreatedAt :build .CreatedAt ,
629+ UpdatedAt :build .UpdatedAt ,
630+ WorkspaceID :build .WorkspaceID ,
631+ TemplateVersionID :build .TemplateVersionID ,
632+ Name :build .Name ,
633+ BuildNumber :build .BuildNumber ,
634+ Transition :build .Transition ,
635+ InitiatorID :build .InitiatorID ,
636+ ProvisionerState :build .ProvisionerState ,
637+ JobID :build .JobID ,
638+ Deadline :build .Deadline ,
639+ InitiatorUsername :username ,
615640}
616- return database.WorkspaceBuild {},sql .ErrNoRows
617641}
618642
619643func (q * fakeQuerier )GetWorkspacesByOrganizationIDs (_ context.Context ,req database.GetWorkspacesByOrganizationIDsParams ) ([]database.Workspace ,error ) {