@@ -3815,36 +3815,50 @@ func (q *FakeQuerier) GetProvisionerDaemonsWithStatusByOrganization(ctx context.
3815
3815
}
3816
3816
3817
3817
var status database.ProvisionerDaemonStatus
3818
- if daemon .LastSeenAt .Valid || daemon .LastSeenAt .Time .Before (time .Now ().Add (- time .Duration (arg .StaleIntervalMS )* time .Millisecond )) {
3818
+ if ! daemon .LastSeenAt .Valid || daemon .LastSeenAt .Time .Before (time .Now ().Add (- time .Duration (arg .StaleIntervalMS )* time .Millisecond )) {
3819
3819
status = database .ProvisionerDaemonStatusOffline
3820
3820
} else {
3821
+ var currentJob * database.ProvisionerJob
3821
3822
for _ , job := range q .provisionerJobs {
3822
- if job .WorkerID .Valid && job .WorkerID .UUID == daemon .ID {
3823
- if ! job .CompletedAt .Valid {
3824
- status = database .ProvisionerDaemonStatusIdle
3825
- } else {
3826
- status = database .ProvisionerDaemonStatusBusy
3827
- }
3823
+ if job .WorkerID .Valid && job .WorkerID .UUID == daemon .ID && ! job .CompletedAt .Valid {
3824
+ currentJob = & job
3828
3825
break
3829
3826
}
3830
3827
}
3828
+
3829
+ if currentJob != nil {
3830
+ status = database .ProvisionerDaemonStatusBusy
3831
+ } else {
3832
+ status = database .ProvisionerDaemonStatusIdle
3833
+ }
3831
3834
}
3832
3835
3833
3836
var currentJob , previousJob database.ProvisionerJob
3834
3837
for _ , job := range q .provisionerJobs {
3835
- if job .WorkerID .Valid && job .WorkerID .UUID == daemon .ID {
3836
- if currentJob .ID == uuid .Nil || ! job .CompletedAt .Valid {
3837
- currentJob = job
3838
- }
3839
- if job .CompletedAt .Valid && job .CompletedAt .Time .After (previousJob .CompletedAt .Time ) {
3840
- previousJob = job
3841
- }
3838
+ if job .WorkerID .Valid && job .WorkerID .UUID != daemon .ID {
3839
+ continue
3840
+ }
3841
+
3842
+ if ! job .CompletedAt .Valid {
3843
+ currentJob = job
3844
+ } else if job .CompletedAt .Time .After (previousJob .CompletedAt .Time ) {
3845
+ previousJob = job
3846
+ }
3847
+ }
3848
+
3849
+ // Get the provisioner key name
3850
+ var keyName string
3851
+ for _ , key := range q .provisionerKeys {
3852
+ if key .ID == daemon .KeyID {
3853
+ keyName = key .Name
3854
+ break
3842
3855
}
3843
3856
}
3844
3857
3845
3858
rows = append (rows , database.GetProvisionerDaemonsWithStatusByOrganizationRow {
3846
3859
ProvisionerDaemon : daemon ,
3847
3860
Status : status ,
3861
+ KeyName : keyName ,
3848
3862
CurrentJobID : uuid.NullUUID {UUID : currentJob .ID , Valid : currentJob .ID != uuid .Nil },
3849
3863
CurrentJobStatus : database.NullProvisionerJobStatus {ProvisionerJobStatus : currentJob .JobStatus , Valid : currentJob .ID != uuid .Nil },
3850
3864
PreviousJobID : uuid.NullUUID {UUID : previousJob .ID , Valid : previousJob .ID != uuid .Nil },
@@ -4009,7 +4023,7 @@ func (q *FakeQuerier) GetProvisionerJobsByOrganizationAndStatusWithQueuePosition
4009
4023
defer q .mutex .RUnlock ()
4010
4024
4011
4025
/*
4012
- -- name: GetProvisionerJobsByOrganizationAndStatusWithQueuePositionAndProvisioner :many
4026
+ -- name: GetProvisionerJobsByOrganizationAndStatusWithQueuePositionAndProvisioner :many
4013
4027
WITH unstarted_jobs AS (
4014
4028
SELECT
4015
4029
id, created_at
0 commit comments